Unix 732

OpenVPN

https://wiki.archlinux.org/index.php/OpenVPN 서버 세팅하기가 그렇게 어렵진 않은 편이다. 가장 어려운 부분은 certificate 만드는 부분인데.. 으휴.저 글에서 포인트는 ta.key, ca.crt 는 서버와 클라이언트가 같은 것을 공유한다는 점이다. 말하자면 클라이언트가 서버에 로그온 하기위한 비밀번호로 사용된다는 뜻이다. 서버쪽에선 # openvpn /etc/openvpn/server.conf로 실행을 해보고 클라이언트 쪽에선 # openvpn /etc/openvpn/client.conf 정도로 접속을 시도해본다. 에러메시지가 안 나오면 일단 성공.그리고 $ ip addr 명령어를 클라이언트에 쳐봤을 때 10.8.x.x IP주소를 부여받았고, 서버의 IP주소인 ..

Unix/Arch Linux 2016.11.30

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

vim 플러그인의 세계로 ㅋㅋ

크으...진작 쓸걸.물론 아무 플러그인도 없는 vim/neovim 다 좋긴 한데, 플러그인이 있으면 더 좋은 것이다. 플러그인이 없을 땐단어 일부를 친 다음 컨트롤+p 를 눌러서, 한 텍스트 파일 내에서 등장하는 단어를 자동완성 (?) 할 수 있었다. 말 그대로 단어단위로 자동완성이다. AUR에서 vim-youcompleteme-git 를 설치한다.그러면 vim에서는 그냥 되기 시작할 것이다.(플러그인 이름에서 조커 팬 티가 나네?;; 조커가 배트맨 보고 "넌 날 완성해"라고 하는 다크나이트의 장면...) neovim에서는 조금 까다롭다.dein 과 같은 플러그인 관리 프로그램으로는 설치가 까다롭기 때문에 vim과 플러그인을 공유하는 편이 이롭다. vi ~/.config/nvim/init.vim(neov..

Unix/Arch Linux 2016.11.13

ZSH 로 이사했다.

https://github.com/robbyrussell/oh-my-zsh 그냥 쓰다보니 쓰게 된 bash를 뒤로 하고 zsh 설치함. https://nolboo.kim/blog/2015/08/21/oh-my-zsh/위 블로그에 사용법이나 설명이 나옴. 테마가 예뻐서 끌린다.그리고 Kill 같은 것도,kill 띄고 탭을 팍팍 누르면 뭘 죽일지 메뉴가 나온다 오오오오kill inkscape 하고 탭을 팍팍 누르면 process id로 자동 변환됨 오오오오.같은 이름을 가진게 여러개 있으면 어떤 것인지 고를 수 있게 해준다.이것만 해도 쓸만하지 않겠는고 ㅋㅋ cd cd 해서 여기저기 왔다갔다 하다가popd 엔터를 하면자동으로 원래 있던 곳에 간다.일일이 pushd 안 해도 된다는 것... bash와 별 차이..

Unix 2016.11.12

WAF build system

가끔 보면 빌드 시스템이 짜증날 때가 있다. make는 작은 프로젝트에서 출발할 땐 좋음. 그러나 프로젝트가 커지기 시작하면 dependency를 계속 추적하기가 어렵기 때문에 GG. cmake는... C/C++엔 좋긴 한데 LaTeX나 Pelican이나... 아니면 뭐 커스텀으로 이거저거 하는 것엔 별로인듯. WAF는 빌드 스크립트 자체가 파이썬 스크립트다 ㅎㄷㄷㄷ;;; 내가 이런걸 찾았는데 말이지. 일단 여긴 메모를 하고 나중에 소감이나 사용법을 정리해봐야겠다.

Unix 2016.10.27

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

Davmail - Outlook 없이 Exchange mail 편히 보기

리눅스에 Exchange를 지원하는 메일 클라이언트가 있기는 하다. Evolution mail이라고... 있는데, 문제가 있다. protobuf에 dependent하단 것이다. Tensorflow를 쓰러면 protobuf3을 설치해야 하는데 그러면 Exchange가 실행이 안 된다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 후 여기 대학교는 Exchange mail을 지원하고, Imap, pop3, smtp도 지원은 한다. 문제는 SMTP로 보내기는 불허했단 것이다. 스팸메일 보내지 못하게 하려고. 그러면... 아웃룩을 쓰면 되지 -,.-;;; 아웃룩 좋지... 그러나 개인적 취향으로 선더버드가 더 좋다. Gmail처럼 Archive 기능도 있고, 오피스에 구애되지도 않고... 이 때 Davmail 을 쓰면 된다. [Excha..

Unix 2016.10.13