Python 16

MessagePack (json like + binary)

http://msgpack.org/ JSON 은 나에게 신세계였다. Parser를 짜지 않고 대충 파이썬 같아보이는 것으로 input을 쉽게 임의로 손으로 만들 수도 있고, 로딩, 저장도 쉽고... 그러나 저장할 데이터 용량이 커지기 시작하면 조금 더 압축적인 것이 좋지 않을까. 아예 binary로 저장하는 것이 좋을 듯. bson 이란게 있는데 (binary json) 이것도 비슷한 컨셉이다. http://stackoverflow.com/questions/6355497/performant-entity-serialization-bson-vs-messagepack-vs-json 이 글에 의하면 bson 보다 빠르고 안정적이라는 듯. C++, C, Python 등 여러가지 언어에서 지원되는 것도 장점이다.

Unix 2016.11.23

Python + C++ 시행착오

아핳핳핳... C++로 파서를 짜기는 매우 귀찮고 힘든 일이다.입력 형식이 들쭉날쭉해서 이거 지원하고 저거 지원해야 할 때 특히 파이썬이 절실하다. 그래서? 코어 자료구조는 C++, 파서 부분은 Python으로 짜고 Swig/Python 으로 wrapping 했다. 작동은 잘 한다. 거기까진 좋은데, Memory Leak이 있나 없나 도통 모르겠다.GDB, valgrind 를 이런 경우에도 돌릴 수 있다고는 한다만 글쎄. 그냥 C++로 짠 것 보단 사용이 쉽지 않다. valgrind의 경우 Python 에서 권장하는 error suppression을 써도 화면에 이거저거 지저분한거 나와서 사용이 힘듦. 그래서 내 생각엔, 다음엔,(입력형식 --> json) (Python)(json --> 로딩) (C++..

Unix 2016.10.22

윈도우에서 펠리칸 돌려서 위키 비슷한 홈페이지 만들자..? (4)

전 글에선 딴 길로 샜다. 이제 진짜로, 테마를 만들어보자. http://docs.getpelican.com/en/3.6.3/themes.html?highlight=theme 이렇게 만드는 것이군. 설정 파일 (pelicanconf.py)에 THEME항목을 넣으란다. 넣지 뭐.THEME='red2' 한 줄 추가. https://github.com/getpelican/pelican/tree/master/pelican/themes/simplesimple 폴더를 받아서 (zip으로 pelican을 몽땅 받은 다음에, 해당 폴더만 추려내면 된다) red2로 이름 변경했다. 그리고 홈페이지 git 폴더에, Makefile 있는 곳에, themes폴더를 만들고 그 안으로 이동.하고 나면 red2\themes\red..

윈도우 2016.08.13

윈도우에서 펠리칸 돌려서 위키 비슷한 홈페이지 만들자..? (3)

사이트 모양이 개떡 같으므로 테마를 만들어줘야 겠다. 만든다기 보다는 이미 있는 사이트 테마를 번역해 온다고 생각하면 된다. 근데 테마를 만들기 전에 글이 좀 더 많아야겠다 싶기도 하고, "위키" 때문에 이 짓을 한다는 것을 기억하고, 위키로 만들만한 것들을 몇 개 .md 파일로 번역했다: contents\wiki\tesla_coil.mdcontents\wiki\obelisk.md 그림 넣는 방법은 똑같다. 그런데 위키처럼 상호 참조를 넣으려면... [링크 글]({filename}/md파일명) 예를 들면, Title: 테슬라 코일Date: 2016-08-13 20:37Category: C&C 백과사전Tags: 테슬라 코일, 소련, 소비에트Authors: 크래커 # 테슬라 코일(Tesla Coil) 엄청난..

윈도우 2016.08.13

윈도우에서 펠리칸 돌려서 위키 비슷한 홈페이지 만들자..? (1)

Pelican 은 Python으로 된 static HTML generator다. 블로깅도되고 article 작성도 됨. 리눅스에선 설치/이용이 쉽지만 그런 환경을 모두가 가진건 아니니까... 우리나라 웹 호스팅에서 여러가지 python이나 기타 엔진 (?) 을 쓰는건 쉽진 않다. PHP도 버전이 매우 낡은 곳이 아주 많음. 그러면... 차라리 내 컴퓨터에서 만들어서 올리자. 그리고 요새는 여러 사람이 홈페이지에 기여하게 하면 어떨까... 그런건 위키가 있긴 한데, 아무래도 홈페이지다보니까 그게 꼭 좋지많은 않다. git처럼 내용 변경을 모두 통제할 수 있는 게 좋을 것이다. 뜬구름 잡는 소리는 그만 하고, 무엇을 염두에 두고 있냐면...http://red2.net/여기 홈페이지를 보면 http://red..

윈도우 2016.08.13

비주얼 스튜디오에서 파이썬 Azure Web App 개발시, env 관리

M$ Azure 에 발을 들였다. 모든게 낯선데 익숙해지면 꽤 좋을거 같긴 하다. M$의 드림스팍이 아니면 대체 어디서 공짜로 파이썬 되는 호스팅을 얻을 수 있겠는가 ㅋㅋ 문젠, 파이썬 모듈을 관리하는 것이다. Visual Studio에서 작업할 때, 프로젝트 생성시 파이썬 모듈 관리를 어떻게 할거냐고 묻는다. 서버에서 커스텀 모듈을 설치할 때에는 서버차원에서 pip를 돌릴 수 없으니 당연히 virtualenv를 써야 한다. 그러나... VirtualEnv 관리에 대해 모르면 몇 시간 삽질해야 할 것이다. requirements.txt 를 수정해서 안에다 쓰고 싶은 패키지를 적고, 프로젝트 Solution Explorer의 Python Environments의 env에 우클릭을 한다. Install fr..

Embedding python shell in GUI applications

wxWidgets 3.0, Python 3.3 기준이다. http://docs.python.org/3.4/faq/extending.html여기 나온 코드를 기반으로 개조해서 만들었다. #pragma once#ifndef PYTHONCONSOLE_H#define PYTHONCONSOLE_H #include #include class PythonConsole{public:PythonConsole();virtual ~PythonConsole(); public :void feed_line( const char *line );const char *get_output(); // Public varspublic :const char *prompt;const char *error_msg; private:const ch..

Unix 2014.03.07

파이선의 좋은 점 +_+ : 입력파일 로드 / 설정파일 로드

프로그래밍에서 어떤의미로, 알고리즘 자체보다도 in/out이 시간도 많이 먹고 매번 새로 짜야 하고 정말 귀찮다... 특히나 입력 파일을 직접 짜야하는 경우, 그것을 파싱하는 모듈도 자꾸 만들어야지 되고. 하지만 파이선에선 그런 문제를 좀 덜 느껴도 된다... 다른 스크립팅 언어도 마찬가지겠지만. 아래처럼 설정파일/입력파일을 짠다. 파이선으로 (!!!!!!!) #!/usr/bin/python3# Unlike other inputs, mode inputs are hand generated by me!# If you decide to do it with ICC, many people have to design a circuit# for months! As long as you don't do your exp..

Unix 2012.04.14