컴퓨터와 인터넷
-
skip list 소개
William Pugh의 Skip list 논문을 참조해서 Skip list를 구현하고 있다. 이 논문에서는 max level이 대략적인 원소의 갯수에 따라 미리 정해져야 한다고 나와 있는데, 이것을 동적으로 증가하는 방식으로 구현하려니까 조금 복잡해지고 있다. 또한 template을…
-
전산학과 S/W 개발
통계학과 경제학의 비교에 이어 전산학을 다뤄보자. 전산학은 순수과학이고 컴퓨터공학은 공학이다? 이게 아니고… 전산학과 컴퓨터공학은 순수과학(수학)에서 출발해서 공학에 이르렀지만, S/W 개발은 과학도 공학도 뭐도 아니다. 인간과 기술에 대한 관리이다. 여기서 말하는 ‘관리’가 감독과 착취가…
-
유용한 자료구조와 알고리듬
Bloom Filter: 확률적으로 멤버십을 테스트하는 자료 구조, 실시간 탐지에 유용하다. Dancing Link: NP-complete 문제의 하나인 exact cover(subset의 collection이 다시 set을 정확하게 구성하는 조합)를 풀기 위해 알고리듬 X의 기반이 되는 자료구조이다. Trie: prefix가 일치하는…
-
정규표현식(Regular Expression) Library 모음
정규표현식을 주로 다루는 긴급한 사안이 생기면 Perl로 해결한다. 그러나 가끔은 컴파일 언어에서도 필요할 때가 있는데, 이럴 때 필요한 정규표현식 라이브러리를 모아봤다. 요즘은 C++로 프로그램을 개발하는 편이어서 Boost Regex를 주로 사용한다. 어지간한 개발자들보다는 정규표현식을…
-
coLinux를 이용하여 Ubuntu를 Windows 7에 설치하기
1. coLinux를 받아서 설치한다. http://www.colinux.org/의 Download 링크를 클릭하면 SourceForge에 올려져 있는 파일을 다운로드할 수 있다. 직접 받는 링크: Ubuntu-9.04-1gb.7z, coLinux-0.7.4.exe 2. Ubuntu file system 파일을 받아서 압축을 풀고 적당한 위치에 놓는다. C:\Users\terzeron\Documents\My Virtual…