본문 바로가기

Wisdoms131

원격 LDAP 서버 자바에서 연결하기 LDAP은 시스템의 사용자의 계정 이름, 암호, 주소, 전화 번호 등등 시스템 사용자의 정보를 담고 있는 저장소 이다. 그리고, 자바에서 이런 LDAP 서버에 접근해서 사용자 정보를 찾으려는 경우가 있다. 그 때 필요한 내용을 정리해 둔다. 자바에서 LDAP 서버에 접근을 해서 정보를 가져오려면 가장 먼저 인증서를 가지고 있어야 한다. 그래서 다음의 자바 파일을 컴파일하고 실행한다. 파일을 실행하면, jssecacerts 라는 파일이 사용자 home 폴더에 생성될 것이다.jssecacerts 파일을 $JAVA_HOME/jre/lib/security에 복사한다. 이제 LDAP 서버에 연결할 준비는 모두 완료되었다. 이제 다음과 같이 테스트 해볼 수 있다. package myutil; import java... 2013. 1. 18.
병렬 비트 카운팅(Parallel Bit Counting) 본 문서는 다음의 내용을 번역한 것이다. http://bits.stephan-brumme.com/countBits.html 001: unsigned int countBits(unsigned int x) 02: { 03: // count bits of each 2-bit chunk 04: x = x - ((x >> 1) & 0x55555555); 05: // count bits of each 4-bit chunk 06: x = (x & 0x33333333) + ((x >> 2) & 0x33333333); 07: // count bits of each 8-bit chunk 08: x = x + (x >> 4); 09: // mask out junk 10: x &= 0xF0F0F0F; 11: // add al.. 2013. 1. 12.
두 양수를 유일한 양수키로 변경하기(캔터 쌍짓기 함수) 해시함수를 정의할 때, 두 양의 정수를 하나의 유일한 양의 정수로 변경하여 키값으로 사용을 하려고 할 때가 있다. 이 때 사용할 수 있는 것이 캔터 쌍짓기 함수(Cantor Pairing Function)이다. 이것은 다음과 같이 정의된다. 두 정수값 k1, k2를 입력하면 유일한 값이 결과로 나온다. public int cantorPairing(int k1, int k2) {return 1/2*(k1 + k2)*(k1 + k2 + 1) + k2;} 위와 같이 정의할 수 있을 것이다. 2013. 1. 8.
문자열 차이점 발견 전략(Diff Strategies) 본 문서는 http://neil.fraser.name/writing/diff/의 내용을 번역한 것입니다. 2006년 4월에 네일 프레서(Neil Fraser)에 의해서 두 문자열 간의 차이점을 계산하는 것은 많은 응용 프로그램의 중요 연산이다. 아래는 두 문자열 간의 차이점에 대한 간단한 예제이다. Text 1: Apples are a fruit.Text 2: Bananas are also fruit.Diff: AppleBananas are also fruit. 이 글은 차이 발견 알고리즘에 대한 문헌들을 조사하고, 그것들을 비교하고, 실제 활용엣 그들의 유용성을 증대시키기 위한 여러 기술들을 설명한다. 특별히, 우리는 선행 처리 최적화, 특정 작업을 위한 최적의 차이 발견 알고리즘의 선택, 그리고 사후.. 2012. 12. 29.