본문 바로가기
반응형

전체 글195

[파이썬] python pyautogui, 두 지점을 키보드로 저장하여 자동으로 클릭하기 특정한 위치에 마우스를 가져다 놓고, ctrl + 1 을 눌러서 position 1 을 저장하고 다시 두번째 위치에 마우스를 가져다 놓고 ctrl + 2 를 눌러서 position 2를 저장한다. 그리고 저장이 끝나면 [5초 sleep > 현재 위치 저장 > position1 클릭 > position2 클릭 > 현재 위치로 돌아옴] 을 반복하는 프로그램이다. import threading import keyboard import pyautogui global scr_width global scr_height global position1_cur_x global position1_cur_y global position2_cur_x global position2_cur_y # 마우스가 화면 끝까지 가도 프로.. 2023. 1. 31.
[C언어] 문자열, string 사용하는 방법 embedded C 를 하다보면 자연스럽게 하드코딩으로 시스템의 정보를 입력하는 문자열을 만들게 된다. 두가지 방법으로 할 수 있고, 때에 맞추어 적절히 사용하면 된다. char string1[] = {'A', 'B', 'C', 'D', '\0'}; char* string2 = "EFGH"; 첫번째 방법은 배열로 만들것이고 (마지막에 '\0' 가 꼭 들어가야 한다. 문자열의 마지막이라는 의미) 두번째 방법은 사용하기 쉬운 문법이지만, const 상수 처리가 되어 이후에 수정이 불가능 하다. printf("%s\n", string1); // ABCD printf("%s\n", string2); // EFGH printf("%c\n", string1[1]); //B printf("%c\n", string2[.. 2023. 1. 31.
[C언어] 함수 포인터 배열, 실제 코드로 알아보자 C언어에서 사용하는 가장 어려운 것 중에 하나인 함수 포인터 배열, 실제 코드를 보면서 분석을 해보려고 한다. 3개의 파일로 구성되어 있고, function_test.c 에서 실제 코드를 실행하고 func.c 와 func.h 에서 코드가 구현 되어 있다. /* func.c */ #include "func.h" void print1(void){ printf("function name : %s\n", __func__); } void print2(void){ printf("function name : %s\n", __func__); } void print3(void){ printf("function name : %s\n", __func__); } void print4(void){ printf("function.. 2023. 1. 31.
[C언어] 함수포인터, function pointer 사용법 C언어를 공부하다보면 처음에 직면하는 난관이 바로 포인터의 사용이다. 심지어 프로그래밍을 몇년한 사람도 C언어를 한동안 안하다가 다시 하면 포인터에서 어지러움을 겪는다. 포인터에 조금씩 지쳐갈 무렵 쉬지도 않고 한번 더 난관이 나온다. 바로 함수 포인터 (function pointer) 일단 사용하는 함수가 여러개 있고, 비슷한 기능을 가지고 있는 경우가 좋습니다. 그리고 상황에 따라 1, 2, 3번의 함수를 골라서 사용할 수있는 코드를 1줄로 만드는 경우에 함수 포인터사용이 필요합니다. if response == 1, do command_1(); else if response == 2, do command_2(); else if response == 3, do command_3(); 위와 같은 경우에 .. 2023. 1. 27.
[엑셀] Raw 데이터의 데이터를 보여주는 표 만들기 (vlookup, match) 아래와 같은 Raw 데이터가 있다고 가정을 하자. 이때 아래와 같은 쿼리 표를 만들었다. 이 상태에서 Name 을 변경하면 그에 맞는 Date, Score, Num, Money 의 데이터가 변경되도록 표를 만들려고 한다. 즉, Name 을 B로 바꾸면 그에 맞는 데이터를 끌어오는 것이다. 아래와 같이 query 에 입력하면 된다. 이 것이 C6~F6의 셀에 들어가는 동일 코드다. =VLOOKUP($B$6, $B$10:$F$14, MATCH(C5, $B$9:$F$9, 0), 0) vlookup 으로 B6을 절대좌표로 정해놓고, Match 함수로 원하는 인덱스를 정해준다. (자리 위칸) B6에 B를 입력하면 그에 맞는 값으로 변경된다. 보다 큰 데이터를 다루면서 필요한 내용을 찾아볼때 유용하다. 2023. 1. 24.
[엑셀] 자동으로 칸 맞춤이 되도록 만드는 법 엑셀에 문서를 작성하다 보면 셀의 영역을 벗어하는 글을 쓰는 경우가 많습니다. 예를 들어 한칸에 "컴퓨터수리비용" 이나 "비용은 얼마인가요?" 등의 긴 문장을 쓰면 아래와 같이 가려지거나, 다른 셀로 벗어나도록 표시가 됩니다. 가장 쉬운 방법은 Ctrl + A 로 전체 영역을 잡고 위쪽 경계선을 더블 클릭하면 됩니다. 빨간색 표시된 부분을 더블 클릭해도 현재 있는 컨텐츠가 잘 표시되도록 변경이 됩니다만, 이 방법으로는 이후에 더 긴 문장이 들어왔을때는 다시 셀을 늘려야 한다는 불편함이 있죠. 그래서 어떻게 하면 자동으로 할 수 있을까요? 비주얼 베이직 코드를 이용하면 됩니다. alt + F11 을 눌러서 코드를 수정해봅시다. (또는 worksheet 오른쪽 클릭 후 "코드보기" 를 눌러도 됩니다.) 비주.. 2023. 1. 24.
CCTV 요구에 대한 사유 (경찰관이 같이 와야 한다?) 일상생활을 하다보면 자주는 아니지만, 길거리나 개인소유의 CCTV 를 봐야할 경우가 생긴다. 나같은 경우는 지하철역사에서 의자에 잠시 두었던 짐을 누가 가져가 버려서 경찰서에 가서 CCTV 를 확인 했던 적이 있었는데, 보통은 귀찮아서, 무언가 관리에 대한 책임을 지게 될까봐, 그리고 법을 잘 몰라서 안보여줄려고 하는 경우가 많다. 일단 개인정보보호법 제35조에 따라서, "법률에 따라 열람이 금지되거나 제한되는 경우", "다른사람의 생명 신체를 해할 우려가 있거나 다른 사람의 재산과 그 밖의 이익을 부당하게 침해할 우려가 있는 경우" 가 아니라면 그 CCTV 의 열람을 제한하거나 거절할 수 없다. 거절하면 안되는 것이다. 단순히 말해서 다른 사람들이 나와서 정보가 노출된다는 가정으로 열람을 제한하거나 거.. 2023. 1. 20.
[python] list, 배열, array 선언하는 법 python 처음에 공부할때 C언어에서 사용하는 array 를 만들려고 하는 부분에서 조금 달라서 헤맸던 기억이 있다. python 에서는 list 를 가장 많이 쓰고, 크기도 미리 정할 필요도 없고 (C언어에서는 크기를 미리 정해놓는 경우가 많다.) python list 의 가장 큰 특징은 collection 의 한종류이며, 순서가 있고 (순서로 접근가능), 데이터 변경이 가능하다. 그리고 중복된 데이터를 가질 수 있다. list 의 선언 alist = [] blist = [1] clist = list() print(type(alist)) print(type(blist)) print(type(clist)) 위와 같은 3가지 방법으로 list 를 선언할 수 있다. print(type(listname)) .. 2023. 1. 14.
반응형