푸코의 진자에서 순열 문제가….

어제 오늘 그동안 시간이 없어 미뤄두었던 움베르트 에코의 “푸코의 진자“를 정말 흥미롭게 보고 있다. 보면서 카소봉라는 주인공으로 사료되는 인물이 벨보의 컴퓨터의 암호를 알아맞추는 과정에서 프로그래밍을 해서 순열을 구하고 그 순열의 나열 순서에 따른 답을 입력하는 부분이 나온다. 책에서는 Basic프로그램으로 4개의 char의 경우에 대한 프로그래밍 예제가 나오고 그것을 이용해서 카소보가 permutation 프로그래밍을 하는 대목으로 이어지는 것이다. […]

계속 읽기

D language community에서 어떤 고수가 쓴 글

어떤 D Language user가 D community에서 D language로 밥벌어먹을 수 있느냐? 하는 질문에 어느 고수 개발자가 답글을 달았다. 읽어보는데 구구절절 개발자의 특정 언어 선호에 대한 따끔한 질책을 느낄 수 있었다. …..Don’t become a D programmer.  Don’t become a C++ programmer.  Don’t become a C# or a Java programmer.  You really don’t want to become a […]

계속 읽기

endian 변환 모듈

주말에 서버를 개발하다가 아래와 같은 메서드가 없어서 고민을 하다가 만들어 버렸다. uint32_t htonl(uint32_t hostlong); uint32_t ntohl(uint32_t netlong); D language에서는 위와 같은 메서드를 찾아볼수 없고, 유저 게시판에서도 못찾아서 만들어 버렸는데, 꽤 쓸만하다. 네트워크상에서는 Big-endian을 쓰니 LittleEndian에서만 문제가 생기더라. 그래서 아래와 같은 모듈로 두 메서드를 대체해 버렸다. [CODE c]import std.system; uint htonl(uint hostlong){    ubyte[4] retbyte;    […]

계속 읽기

D 2.0이 나왔나?

D language 2.0에 대한 소식이 들려오기 시작한다. 1.0 정식 버전이 올해 출범하고 얼마전에 1.015 버전에 대한 발표를 했는데 1.016버전에 대한 발표를 하면서 2.0버전에 대한 이야기를 하고 있다. (2.0에 대한 링크가 있었구나.) char[]의 alias로 string형을 지원한다는 이야기를 하고 있고, 여러 wide char를 지원하는 string 형을 또한 제공하고 있다. 현재로서는 단순한 alias 그 이상도 그 이하도 아닌거 […]

계속 읽기

스팸 필터 중간 결과

블로그나 게시판의 덧글의 스팸성을 판단하는 스팸 필터를 개발하고 있다. 물론 개인적으로 개발하고 있고, 이것을 이용해서 이번 Machine Learning 수업의 프로젝트 자료로 제출을 했고, 계속 여러 펙터를 바꾸고 다른 알고리즘을 집어넣으면서 테스트 하고 있다. 개발 환경은  OS : Linux Language : D Languagelibrary : iconv, ham(형태소 분석기) 쓴 알고리즘은 2만건의 사람이 분류한 덧글 training set을 사용했고, […]

계속 읽기

D Language 인코딩 변환하기 위해.

토요일부터 D Language의 인코딩 변화를 위해서 무엇을 쓸까 고민하다가, 결국 iconv모듈로 가게 되었다. 실제적으로 기본 라이브러리인 phobos에서 인코딩 변환을 utf 인코딩간만 지원하기 때문에 나처럼 한글 형태소 분석기를 utf-8기반으로 돌려야 하는 사람에게는 인코딩 변환이 필수이다. 그런데, iconv모듈을 엊을라면 뭘 어떻게 해야할까? 언어 자체적으로 지원하는 다이내믹 라이브러리 로딩 방법을 써서 함수 포인터를 연결해 주면 될것이다. 뭐 몇시간 […]

계속 읽기

D language로 Backpropagation algorithm 구현

토요일부터 어제까지 근근하게 개발했던 Backpropagation Algorithm을 올려본다 개발 언어는 D Language를 사용해서 개발했다.(D Language 연습용.) 사실 레포트 제출용으로 시작하게 되었다. 실제 레포트는 아무 툴을 사용해서 데이터와 실행 순서를 분석하라는것이였는데, 어째 하다보니 답답해서 구현해 봤다. 예전에 Decision Tree 구현할때처럼 일단 이런 러닝 알고리즘은 구현해보는게 가장 좋은 방법이다. 책을 쳐다보고만 있으면 이해하기 쉽지 않은 알고리즘중에 하나이다. 명확하게 […]

계속 읽기

D Language.

요즘 D Language에 빠져 있다. 엇그제 새벽에 처음 접하고 어제 오늘 퇴근후에 Language Spec을 열심히 보구, 코딩 몇줄 해보고 하면서 뭔가 임펙트를 받고 있다. 코드 자체가 C, C++언어와 유사하고, 어찌보면 Java와도 유사하게 보이기도 한다.(자바가 C, C++과 유사하긴 하지만)  무엇보다 가장 좋은건, 내가 좋아하는 C 스타일의 코딩이 가능하고, 게다가  C에서 불편하게만 생각했던 부분에 대한 개선이 많이 […]

계속 읽기

간단한 블로그 덧글 스팸 필터 만들기

드뎌 기계학습 시간에 주제로 선정한 스팸 필터를 제작하는 초기화 작업을 시작했다.아니 이미 시작했구나.. ㅡㅡ; 쉬는동안 이미 C로 구현한 스레드 기반 서버는 거의 만들었고, 클라이언트를 구현하고 스팸필터를 만드는 일이 남았다. 게다가 stemmer를 구현해야 하는데. 이것은 강승식 교수님 라이브러리를 사용해서 간단하게 사용해야 겠다. 학습용이니 사용해도 될듯하다. 폴 그래이험이 스팸필터 알고리즘으로 사용했던 나이브 베이지언 룰을 이용해서 일단 구현해서 […]

계속 읽기

printf를 쓰지 않고 숫자 출력하기.

“printf를 쓰지 않고 숫자(int형)를 출력하시오!” 얼마전에 모 기업 필기 입사 시험에 나온 코딩 문제다. 그때 이 문제를 딱 보고 ASCII코드 관련 문제구나 하고 생각만하고 다른 문제 푸는데 시간이 많이 소요되었기도 하고 putchar라는 함수명이 정확히 기억이 안나서 그냥 넘어갔던 문제였다. 갑자기 생각이 나서 한번 코드로 구현해봤다. [CODE c]#include <stdio.h>#include <stdlib.h> int powi(int, int); int main(int argc, […]

계속 읽기