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, […]

계속 읽기

스프링노트

싸이오형님이 오픈마루에 계셔서 스프링노트 초대장을 받을 수 있었다. 보고 처음 느낀것은 ‘정말  편리하겠다’ 라는 생각과, 저기에 뭘 채울까 하는 고민이  들었다. 주된 메모들은 블로그에 하는 편이고, 게다가 논문 세미나 정리는 wiki에 하는편인데… 생각해보니까, wiki의 문서 작성 형식의 자유로움과 블로그의 다이내믹한 사용성 사이에서 많은 고민을 한 흔적이 있는 툴인거 같다. 사용성 측면에서 가깝다면 wiki에 가깝다고 해도 […]

계속 읽기

goto문에 대한 Dijkstra의 논문을 보며.

리눅스 커널을 공부하다가 커널단에서 goto문이 쓰이는걸 보고, 예전에 모듈을 작성할때 에러처리 부분에서 goto문을 쓰다가 팀장님에게 혼났던 기억이 나서 책에서 소개하는 논문을 한번 봤다. Go To Statement Considered Harmful 최단경로 알고리즘으로 알려진 유명한 다익스트라(Dijkstra)의 논문이다. 이  논문과 관련자료검색을 해보면서 느낀거지만, goto문 자체에 대해서 완전 부정이 아니라는것을 알았다. 내가 이해한 바로는 사람이 코드를 작성할때 절차에 중점을 두고 […]

계속 읽기

심심해서 풀어본 알고리즘 문제 하나.

You’re given an array containing both positive and negative integers and required to find the subarray with the largest sum (O(N) a la KBL). Write a routine in C for the above. 한번 훓어서 가장 크기가 큰 Subarray의 인덱스를 찾아내면 될거 같다. 아래 포스팅이 너무 눈에 거슬려서 문제하나  풀어봤다.풀어본다음에 구글 검색을 해보니 비슷한 방법으로 C++로 […]

계속 읽기