Spring STS를 이용한 웹 서비스 구축 1. 소개 Spring Tool Suite(STS)를 이용하여 웹 서비스를 구축하는 과정을 설명합니다. 해당 내용은 지속적으로 업데이트 될 예정입니다. 2. STS란? STS는 스프링 프레임워크를 지원하는 IDE 개발 툴로 JAVA 기반 웹 서비스를 쉽게 구축하도록 도와줍니다. 3. STS 개발환경 구축 https://spring.io/tools 에서 설치 파일을 다운로드 받습니다. 압축을 해제 하면 sts-bundle 폴더 내부에 3개의 폴더가 생성되는데 RELEASE 폴더가 실행파일이 존재하는 폴더입니다. STS.exe를 실행하면 개발윈도우가 표시 됩니다. STS 구동화면 입니다. JDK를 설치해줍니다. JDK를 STS 설치 위치에 복사해줍니다. Sprin..
Node.js MS-SQL Database REST API Server 구축 1. 소개 Node.js를 이용하여 MS-SQL Database에 URI로 접근하여 CRUD(Create, Read, Update, Delete) 기능을 수행하는 REST API Server 를 구축해보도록 합니다.해당 내용은 지속적으로 업데이트 될 예정입니다. 2. 왜 REST API Server를 구축하여야 하는가? 일단 저는 보안 이슈와 Front-end 단에서 직접 쿼리를 짜지 않아도 된다는 장점 때문에 이용 하려고 합니다. 3. 환경구축 - Node : 최신 버전으로 설치해주세요... - NPM : 최신 버전으로 설치해주세요... - Dependecy (본 기능을 구현하기 위하여 필요한 모듈 정리) body-parser..
누가(nougat)버전에서 Invalid DT_NEEDED Entries 오류창이 뜰 경우... jni에서 사용하는 so 파일의 이름이 지정되지 않았기 때문입니다.makefile의 빌드 파라메터에 wl,-soname,[지정할이름.so] 항목을 추가합니다. ([ ] 는 입력하지 않음) 확인 방법...jni로 생성된 wrapper so파일에 아래 명령어를 입력해봅니다. (리눅스에서)아래 처럼 라이브러리 이름 앞에 경로가 없어야 됩니다. $ readelf --dynamic libSample.so | grep NEEDED 0x00000001 (NEEDED) Shared library: [libm.so] 0x00000001 (NEEDED) Shared library: [libc.so] 0x00000001 (NEE..
JNI 에서 파라메터로 받은 변수들은 내용을 수정하여도 안드로이드에서 넘겨주는 변수에는 영향을 주지 않는다. 리턴으로 넘기면 가능하긴 하나 여러개의 정보들을 돌려주어야 할 경우에는 파라메터를 클래스로 받아 내용을 Set 하면 된다. 필요파일들... MainActivity.java -> JNI 라이브러리를 사용할 파일 CResponse.java -> JNI 라이브러리에 인자로 넘길 클래스 정의 파일 TestLib.java -> JNI 라이브러리를 안드로이드에서 사용하기 위한 파일 (swig에서 생성) TestLibJNI.java -> JNI 네이티브 함수가 정의된 파일 (swig에서 생성) java 쪽에 파라메터로 넘길 클래스를 만든다. (Set / Get 만들어놓음) CResponse .javapacka..
Digest Authentication 구현 방법은 다음과 같습니다.(출처 : https://en.wikipedia.org/wiki/Digest_access_authentication) 1. 클라이언트 일반적인 접속 요청 GET /dir/index.html HTTP/1.0 Host: localhost 2. 서버는 인증을 요청 (HTTP/1.1 401 Unauthorized) - 이때 클라이언트에게 인증에 필요한 정보들을 제공합니다. - Digest realm, nonce, qop - 이 값들은 Header 데이터에 포함되어 있으므로 Response Header를 파싱하여 해당 정보를 추출해야합니다.HTTP/1.0 401 Unauthorized Server: HTTPd/0.9 Date: Sun, 10 Ap..
Android에서 JNI를 이용하여 C 또는 C++ 코드를 사용해야 할 경우 연동 방법입니다. 해야할일1. 리눅스 컴파일 환경 구축 2. Android SDK, NDK 다운로드 3. 환경 설정 등록 : ~/.bashrc 에 Path 및 선언 추가 - ANDROID_NDK_ROOT, ANDROID_SDK_ROOT, TOOLCHAIN, CC 4. make-standalone-toolchain.sh 을 이용해서 toolchain 생성 5. 생성된 toolchain을 이용하여 armlinux 용 빌드 (so 파일 생성) 6. Android 에서 사용하기 위한 JNI Wrapper Class 빌드 - 기존 so 파일을 포함하는 Wrapper Class, Android.mk, Application.mk 작성 필요 ..
CWinThread 클래스로 쓰레드를 생성한 경우... 메인 쓰레드의 윈도우와 통신을 할 수 있는데... 메인쓰레드 -> 쓰레드로 메시지를 보낼때는 PostThreadMessage() 를 사용한다//////////////////////////////////////////////////////////////////////////////////////////메인쓰레드 메시지 전송 부분//////////////////////////////////////////////////////////////////////////////////////////원형PostThreadMessage(메시지를 받을 쓰레드 핸들,미리 선언해둔 메시지,(WPARAM)넘길파라미터1,(LPARAM)넘길파라미터2); 예제//.cppPostT..