API 3

Gradle의 라이브러리 의존성 옵션 정리

익숙함 문득 웹 프로젝트 관련 내용들을 정리해나가면서, gradle 파일을 보니까 다음과 같은 부분이 눈에 들어왔다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' } 언제부턴가 기존 프로젝트를 따라가는 방식으로 라이브러리 의존성을 작성하다 보니까, 이것들에 대한 이해하고 있..

API] 다음 우편번호 API 사용하기

필자가 대학을 다니는 동안 데이터베이스 과목을 수강을 했고,그 과목에서는 PHP와 MySQL을 이용해서 자신만의 쇼핑몰을 만드는 것을 목적으로 했다.사용자 모드와 관리자 모드가 존재하는,서버에 올리면 즉시 활용 가능한 수준의 쇼핑몰이 기말 프로젝트로 평가 받았다. 당시 필자가 들었던 수업에서는,우편번호 DB를 직접 서버에 저장해놓고 끌어다 쓰는 방식으로 우편번호 검색 기능을 넣도록 배웠다.요즘 조금만 찾으면 무료 API를 활용할 수 있다는 걸 지난날의 경험을 통해 깨달은 필자한테,MySQL 작업도 이제 좀 다뤄보는 학생들한테 넣기도 불편하고, 넣는 과정도 복잡하고,심지어는 구식의 데이터를(사용하라는 우편번호 DB는 6자리, 현행 우편번호는 5자리) 활용한다는 것이그리 좋은 소리로 들리지 않았다. 찾아보니..

API] SetWindowsHookExA 함수

SetWindowsHookExA function 123456HHOOK WINAPI SetWindowsHookEx( _In_ int idHook, _In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD dwThreadId);cs user32.dll에 있는 해당 함수를 통해 훅을 설정할 수 있음.대표적인 함수로, MSDN에서 해당 함수의 구조와 사용법에 대해서 알 수 있음. 첫번째 인자, 훅 타입으로 어떤 종류의 메세지를 후킹할 것인지 선택하는 것두번째 인자, Hook Procedure세번째 인자, 후킹할 스레드가 속해 있는 DLL의 핸들네번째 인자, 후킹할 스레드 아이디 첫번째 인자에 들어갈 훅 타입은 구글링으로 체크 가능두번째 인자로 사용할 훅 프로시저, 파이썬의 경..