Passion 454

MetaWeblog를 이용한 포스팅

테터툴즈는 metaWeblogAPI를 지원한다. 이는 metaWeblogAPI를 지원하는 클라이언트에서 블로그에 포스팅을 하거나 읽어오는 기능을 할 수 있게 해 준다. 이 API 를 이용하여 간단하게 Python에서 TatterTools에 포스팅하는 기능을 개발해 보았다. 사용되는 시나리오를 생각해 보면 나의 웹서버에서는 매일 아침 9시 네이버 OpenAPI 를 이용하여 내가 원하는 키워드를 검색한다. 예를 들어 OpenAPI를 이용하여 "신영밸류고배당" 이라는 글자가 들어가는 뉴스를 리턴받는다. 이를 html로 만든 다음 metaWeblogAPI를 이용하여 내 홈페이지에 포스팅을 하는 것이다. 우하하 이작업을 매일 아침 9시마다 돌리면 매일하면 내 펀드와 관련된 뉴스를 자동으로 블로그에 기록하게 되는 ..

Passion/Python 2007.06.29

PLY - Lex에 대한 이해

3. Lex Lex는 lexical analyzer의 줄임말입니다. 우리가 생각을 글로 표현하면 문장이 나오죠. 예를 들어 "나는 일을 한다" 라는 문장이 있을 때 "나", "는", "일", "을", "한다" 가 각각의 의미를 가지는 단어가 되죠. 이렇게 하나하나의 단어를 Token이라고 합니다. Lex의 역할을 긴 문장을 입력받아서 의미있는 단어들을 하나하나씩 추출하는 것이라고 보면 됩니다. 위의 예를 좀더 보면 우리는 명사, 조사, 동사 등으로 구분을 할 수 있습니다. "나","일" 등은 명사로, "는","을" 은 조사로 "한다" 는 동사로... 이와 같이 Token은 Type과 Value로 정의할 수 있습니다. 즉 "나" 라는 Token은 (type, value)의 쌍이 되는거죠. 예를 들어 (ty..

Passion/Python 2007.06.27

책신청-Great Code(하드웨어의 이해)

연구소에서 R&D 분야에 필요한 책을 마음대로 신청할 수 있다. 그래서 웹질을 하다가 추천 책이어서 회사에 신청을 했다. 회사가 좋은 점은 책을 신청하면 우선 대여자가 되는데 다음 사람이 예약하지 않는한 계속 가지고 있을 수 있다. (계속 연체중인데 도서관 서기가 반납하라고 안하니 ~ ㅋㅋ) 오늘 신청한 책은 Randall Hyde가 지은 Great Code의 한글판이다. 교보 문고에서 나온 책 정보를 기록해 보면 1. 책소개 유능한 프로그래머가 되기 위해 닦아야 할 개념 원리를 학습해서 프로그래머의 내공을 높여주는 원리학습 가이드 시리즈인 GREAT CODE 제1권. 이 시리즈는 더 빠르고 훌륭한 최고의 코드를 짤 수 있도록 전 4권에 걸쳐 프로그래밍의 근본원리를 쉽게 가르쳐준다. 제1권 '하드웨어 이..

Passion/My Idea 2007.06.27

Python 패키지 만들기

파이슨을 여러모로 유용하게 사용하면서 개인적으로 좀더 발전시켜서 사용하고 있다. 이렇게 쓰다 보면 간단하게 나도 패키지를 만들어서 나눠주면 좋을거 같은데 정확하게 어떻게 패키지를 만들어야 할지 감이 오지 않는다. 좀더 솔직하게 말하면 귀찮아서 문서를 보지 않고 있다가 맞을거 같지만 ^^; 그래서 큰 맘먹고 원문을 읽지는 않고 자료는 찾고 잘 만든 샘플을 바탕으로 정리를 할려고 한다. 일단 패키지를 풀면 있는 파일 setup.py 이 놈을 열어보면 너무나 간단하여서 실망을 할거 같다. 안에 어떤 것을 넣어야 하는지는 이게 가이드라인인가 보다

Passion/Python 2007.06.27

PLY - 개요

내용의 정리는 Document 를 기반으로 하는데 내 기준으로 정리합니다. 1. Introduction PLY는 기존의 C에서 사용하는 Lex와 Yacc을 Pure Python으로 구현한 것으로 보면 된다. LALR(1) 파싱을 한다. 설명의 기준의 기본적인 컴파일러에 대한 이해를 하고 있다고 가정한다. 2. PLY Overview PLY는 크게 두개의 모듈 lex.py 와 yacc.py로 구성되어 있다. 둘다 ply라는 Python 패키지에 포함되어 있다. 간단하게 설명하면 lex.py는 입력 파일을 받아서 토큰으로 잘라서 잘 저장하는 기능을 한다.(일반적인 lex를 유치원 수준으로 설명하면) yacc.py는 구분된 토큰을 바탕으로 문법(context free grammar)에 맞는지를 확인한다. 이를..

Passion/Python 2007.06.26