manywaypark's Blog
개발, 검색, 함수

todo list 관리(GTD tool)

tips & tricks 2013. 5. 11. 16:32 by manywaypark

할일 관리를 위해서 쓰는 도구는? 사실 "GTD tools" 정도로 구글링하면 많은 도구와 기법이 나오는데, 내가 지금까지 써봤던 것들을 정리하고자 한다.

  • emacs org-mode 이건 최강이다. 이론의 여지가 없다. 일상적인 다이어리 수준에서부터 개발 프로젝트 관리까지 쓸 수 있다. 그러나 vi를 선호하는 개발자나 개발자가 아닌 일반 사용자들은 emacs 자체를 익숙하게 다루기가 힘들다.
  • orkanizer  근자에 뽀모도로(pomodoro) 테크닉이라는 시간관리 기법을 알게되었는데, 그 방법을 적용할 수 있게 해주는 서비스이다. 기본 기능에 충실하고 잘 동작하긴 하는데, time zone 문제가 있다 (버그리포트 했는데 아직도 안고쳐졌음).
  • todo.txt 간단한 텍스트 파일로 관리한다 (어떻게 보면 org-mode의 단순화된 형태로 보인다. 사실 plain text로 구성하려면 비슷할 수 밖에 없을 것같긴하다). CLI, iOS, Android 등을 지원하는듯... CLI의 경우 "t ls"등 명령행에서 접두사를 포함한 유닉스스타일로 관리할 수 있는건 장점이지만 기능이 조금 제한적인 것같은 느낌도 든다.


happy hackin'


ps. RedToDo는 todo.txt의 CLI와 비슷한 인터페이스를 제공하는데, Redmine용이다.

개발 관련 지원 서비스

tips & tricks 2013. 5. 11. 14:47 by manywaypark

지속적인 통합, 코드 검사, 의존성 분석, 코드 커버리지 등을 간편한 설정으로 할 수 있는 서비스들이 있다.

오픈 소스의 경우 그냥 쓰면 되는 듯...

inspection의 경우 지원 되는 언어에 한계가 있긴하지만 활용하면 좋을듯...

github를 쓴다면 간단히 설정해서 쓸 수 있을 것으로 생각됨.


gitlabhq라는 프로젝트의 경우 다음과 같다.

Continuous Integration - http://ci.gitlab.org/projects/1?ref=master

Continuous Integration - https://travis-ci.org/gitlabhq/gitlabhq

Inspection - https://codeclimate.com/github/gitlabhq/gitlabhq

Dependency - https://gemnasium.com/gitlabhq/gitlabhq

Coverage - https://coveralls.io/r/gitlabhq/gitlabhq


happy hackin'

github 사용하기

tips & tricks 2013. 5. 11. 09:10 by manywaypark

자주 쓰지 않아서 그런지 매번 쓸 때마다 구글링하곤 했었는데, 우연히 잘 정리된 페이지를 만났다.

요지는 내 repo로 fork한 다음 clone하고, 원저자의 repo를 remote add upstream으로 추가해서 관리하는 것이다.

ref: https://github.com/ginatrapani/todo.txt-cli/wiki/developer-documentation


happy hackin'

[TIP] Beamer 사용

tips & tricks 2013. 5. 8. 17:50 by manywaypark

quickstart - http://www.math.umbc.edu/~rouben/beamer/

theme matrix - http://www.hartwork.org/beamer-theme-matrix/ (theme * color theme 나열되어 있음)


happy hackin'

문제:

eclipse에서 m2eclipse를 쓸때,

project를 import(일반적으로 쓰는 Import > General > Existing Projects into Workspace)한 후에 right click project > Configure > Convert to Maven Project를 선택하면 다음과 같은 오류가 나면서 제대로 동작하지 않는 경우가 있다.

An internal error occurred during: "Enabling Maven Dependency Management".

Unsupported IClasspathEntry kind=4

해결:

  1. rightclick project, remove maven nature
  2. mvn eclipse:clean (with project open in eclipse/STS)
  3. delete the project in eclipse (but do not delete the sources)
  4. Import existing Maven project

ref: http://stackoverflow.com/questions/15065093/an-internal-error-occurred-during-updating-maven-project-unsupported-iclassp


happy hackin'

OpenLDAP(slapd)의 설치 및 설정에 관해서 간단히 알아본다.
언제나 그렇듯 Ubuntu (12.04.2 LTS) 기준이다.
Ubutu 10.04부터 OpenLDAP 기본 패키지 설치는 RTC(RunTime Configuration)를 사용한다.
(예전에 내가 알던 그 slapd.conf 방식이 아닌 것이다. 한참 삽질한 후에 알았다. Orz)
ldap-utils에 포함된 도구를 사용해서 그냥 일반적인 레코드 수정하듯이 cn=config의 엔트리를 조작하면 된다. 이름대로 변경하면 반영된다고 한다.

준비:
먼저 테스트 접속을 위해 Apache Directory Studio(이하 ADS)를 다운 받아 설치한다.

설치:

$ sudo apt-get install slapd ldap-utils

설치 과정에서는 admin password만 입력하면 된다.

설정: (dc 등이 제대로 설정되지 않을 때만 필요. hostname 설정이 제대로 되어 있다면 설치 과정에서 dc도 제대로 설정되었을 것이다.)

$ sudo dpkg-reconfigure slapd

주의 깊게 설명을 읽고 답변을 선택하거나 값을 입력한다 (내 경우에는 dc를 입력하는 것 말고는 별달리 할 것이 없다). DB 지우는 것을 물어보는 부분이 조금은 혼란을 일으키지만, Yes로 답하면 된다 (방금 설치했는데 뭘...)

여기서부터 편의 상 dc설정을 "dc=foo,dc=bar"로 가정한다.
확인하려면 대충 이렇게 해보자;

$ sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config | grep cn=admin


시험:
ADS에서 새로운 연결을 만든다.
왼쪽 아래에 보면 Connections pane이 있고 LDAP+ 아이콘이 있다. 클릭!
Network Parameter 입력:

Connection name: 연결이름 아무거나
Hostname: 호스트의 FQDN 또는 IP 주소
Port: 389 (기본값)
Encryption method: No encryption (기본값)
Provider: Apache Directory LDAP Client API (기본값)

입력후 Check Network Parameter 버튼을 눌러서 확인.
성공했다면 Next로 가서 인증정보를 입력한다.

Authentication 입력:

Authentication Method: Simple Authentication
Bind DN or user: cn=admin,dc=foo,dc=bar
Bind password: [package 설치시 입력했던 password]

입력후 Check Authentication 버튼을 눌러서 확인.

TLS 설정:
참조링크에 자세히 나오는데, 그대로 발췌했다.

Here, we will be our own Certificate Authority and then create and sign our LDAP server certificate as that CA. Since slapd is compiled using the gnutls library, we will use the certtool utility to complete these tasks.

  1. Install the gnutls-bin and ssl-cert packages:

    sudo apt-get install gnutls-bin ssl-cert
    
  2. Create a private key for the Certificate Authority:

    sudo sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"
    
  3. Create the template/file /etc/ssl/ca.info to define the CA:

    cn = Example Company
    ca
    cert_signing_key
    
  4. Create the self-signed CA certificate:

    sudo certtool --generate-self-signed \
    --load-privkey /etc/ssl/private/cakey.pem \ 
    --template /etc/ssl/ca.info \
    --outfile /etc/ssl/certs/cacert.pem
    
  5. Make a private key for the server:

    sudo certtool --generate-privkey \
    --bits 1024 \
    --outfile /etc/ssl/private/ldap01_slapd_key.pem
    

    Replace ldap01 in the filename with your server's hostname. Naming the certificate and key for the host and service that will be using them will help keep things clear.

  6. Create the /etc/ssl/ldap01.info info file containing:

    organization = Example Company
    cn = ldap01.example.com
    tls_www_server
    encryption_key
    signing_key
    expiration_days = 3650
    

    The above certificate is good for 10 years. Adjust accordingly.

  7. Create the server's certificate:

    sudo certtool --generate-certificate \
    --load-privkey /etc/ssl/private/ldap01_slapd_key.pem \
    --load-ca-certificate /etc/ssl/certs/cacert.pem \
    --load-ca-privkey /etc/ssl/private/cakey.pem \
    --template /etc/ssl/ldap01.info \
    --outfile /etc/ssl/certs/ldap01_slapd_cert.pem
    

Create the file certinfo.ldif with the following contents (adjust accordingly, our example assumes we created certs using https://www.cacert.org):

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem

Use the ldapmodify command to tell slapd about our TLS work via the slapd-config database:

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif

Contratry to popular belief, you do not need ldaps:// in /etc/default/slapd in order to use encryption. You should have just:

SLAPD_SERVICES="ldap:/// ldapi:///"

LDAP over TLS/SSL (ldaps://) is deprecated in favour of StartTLS. The latter refers to an existing LDAP session (listening on TCP port 389) becoming protected by TLS/SSL whereas LDAPS, like HTTPS, is a distinct encrypted-from-the-start protocol that operates over TCP port 636.

Tighten up ownership and permissions:

sudo adduser openldap ssl-cert
sudo chgrp ssl-cert /etc/ssl/private/ldap01_slapd_key.pem
sudo chmod g+r /etc/ssl/private/ldap01_slapd_key.pem
sudo chmod o-r /etc/ssl/private/ldap01_slapd_key.pem

Restart OpenLDAP:

sudo service slapd restart

Check your host's logs (/var/log/syslog) to see if the server has started properly.


TLS 시험:
ADS에서 새로운 연결을 하나 만들어서 테스트한다. 연결설정에서 다른 설정들은 모두 이전과 같이 하고 Encryption methodUse StartTLS extension으로 선택한다.
연결시 인증서 관련 경고 비슷한게 나오는데, 사설(self-signed) 인증서라 그런 것이므로 무시하고, trust하는 것으로....

refs:
https://help.ubuntu.com/12.10/serverguide/openldap-server.html

https://help.ubuntu.com/community/OpenLDAPServer

http://www.openldap.org/faq/data/cache/185.html

happy hackin'

VirtualBox 4.2.x에서 Ubuntu 12.10을 guest os로 쓸때 아예 WM이 제대로 올라오지 않거나

비정상적으로 느린 경우가 발생한다 (Compiz가 죽었다는 메시지가 나오는 경우도 있다).


3D 가속 관련 문제인듯하다. 자세한건 링크 참조.


내가 해결한 방법만 간추림:

$ sudo apt-get install linux-headers-$(uname -r) build-essential

$ cd /path/to/cd     # 아마도 /media/[login_id]/VBOXADDITIONS_...

$ sudo ./VBoxLinuxAdditions.run

$ sudo bash -c 'echo vboxvideo >> /etc/modules'

$ sudo reboot


refs:

http://askubuntu.com/questions/219655/ubuntu-12-10-on-virtualbox-compiz-error

http://askubuntu.com/questions/207813/why-does-an-ubuntu-12-10-guest-in-virtualbox-run-very-very-slowly/214968#214968


happy hackin'

새 윈도우 박스에 cygwin을 깔고 github에서 소스를 받으려고 했는데 에러가 났다.

인증서는 제대로 등록되어있는 상태.

문제:

$ git clone https://github.com/foo/bar.git

Cloning into 'bar'...

error: error setting certificate verify locations:

  CAfile: /usr/ssl/certs/ca-bundle.crt

  CApath: none while accessing https://github.com/namjae/rebar.git/info/refs

fatal: HTTP request failed


해결:

아래 참고 페이지에 보면 여러 해결 방법이 있으나, 그 중에 ca-certificates 패키지를 설치하는 방법이 제일 간단하다 (내경우 잘 해결되었다는 말)



ref:

http://stackoverflow.com/questions/3777075/ssl-certificate-rejected-trying-to-access-github-over-https-behind-firewall


happy hackin'

미완 프로젝트

잡담 2013. 4. 10. 15:10 by manywaypark

Erlang Internet Framework 

https://code.google.com/p/eif/

뭔가 야심차게 시작했던것 같으나 지금은 중단된 상태...


happy hackin'

erlang web frameworks

함수형 언어/Erlang 2013. 4. 10. 14:54 by manywaypark

erlang의 주요한 web framework들을 소개하는 좋은 자료가 있어 링크를 남김.

(저자는 yaws의 commiter임)

http://cufp.org/conference/sessions/2012/t2-erlang-web-frameworks-steve-vinoski-basho-techn


happy hackin'


1 ··· 11 12 13 14 15 16 17 ··· 31 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

02-10 09:07