2015년 7월 28일 화요일

brew install python


아니, pip도 설치 안되어 있었네. 놀라며 brew install python. 따라 오는 것들이 많다.

➜  UI git:(2.5_dev) brew install python
==> Installing dependencies for python: readline, sqlite, gdbm, openssl
==> Installing python dependency: readline
==> Downloading https://homebrew.bintray.com/bottles/readline-6.3.8.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring readline-6.3.8.yosemite.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

OS X provides similar software, and installing this software in
parallel can cause all kinds of trouble.

OS X provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/readline/lib
    CPPFLAGS: -I/usr/local/opt/readline/include

==> Summary
🍺  /usr/local/Cellar/readline/6.3.8: 40 files, 2.1M
==> Installing python dependency: sqlite
==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.8.10.2.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring sqlite-3.8.10.2.yosemite.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

OS X provides an older sqlite3.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/sqlite/lib
    CPPFLAGS: -I/usr/local/opt/sqlite/include

==> Summary
🍺  /usr/local/Cellar/sqlite/3.8.10.2: 9 files, 2.8M
==> Installing python dependency: gdbm
==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.11.yosemite.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring gdbm-1.11.yosemite.bottle.2.tar.gz
🍺  /usr/local/Cellar/gdbm/1.11: 17 files, 532K
==> Installing python dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2d_1.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2d_1.yosemite.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2d_1: 464 files, 18M
==> Installing python
==> Downloading https://homebrew.bintray.com/bottles/python-2.7.10_2.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring python-2.7.10_2.yosemite.bottle.tar.gz
==> Caveats
Pip and setuptools have been installed. To update them
  pip install --upgrade pip setuptools

You can install Python packages with
  pip install <package>

They will install into the site-package directory
  /usr/local/lib/python2.7/site-packages

See: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Homebrew-and-Python.md

.app bundles were installed.
Run `brew linkapps python` to symlink these to /Applications.
==> /usr/local/Cellar/python/2.7.10_2/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-mana
==> /usr/local/Cellar/python/2.7.10_2/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-mana
==> /usr/local/Cellar/python/2.7.10_2/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-mana
==> Summary
🍺  /usr/local/Cellar/python/2.7.10_2: 4866 files, 76M

2015년 7월 15일 수요일

읽은 횟수에 따른 마킹 색상

책을 처음 읽을 때는 노란색.
두번째 읽을 때는 녹색.
세번째 읽을 때는 파란색.
네번째 읽을 때는 분홍색.
다섯번째 읽을 때는 검은색으로 아예 가려 버린다.

2015년 5월 16일 토요일

부러운 커뮤니티. Julia issue #8839 closed

https://github.com/julialang/julia/issues/8839

Julie 이슈 8839의 이름은 Jeff Bezanson PhD.

Jeff는 Julia의 핵심 개발자인데, MIT 박사과정 졸업을 해야 하는 문제로, problematic 개발자가 되었다는데 :)

이슈의 내용도 재미있고, 1년 가까이 달린 댓글들도 재밌다.

부러운 개발 커뮤니티.


Defense.

이슈를 closing하는 ceremony도 하고.

2015년 5월 5일 화요일

파주 출판단지에 있는 지지향 게스트 하우스


5월 5일에 출판단지에 사람들이 이렇게 많을 줄은 몰랐다. 아이들과 함께 할 수 있는 행사가 많이 열리고 있었다. 책도 할인 판매를 하는데, 온라인보다 싸지는 않다.

게스트하우스는 아이들 때문에 침대가 없는 방으로 했는데, 이불들이 너무 저렴하시다. 깔고 잘 요는 스폰지. 게다가 스폰지가 이불호청 보다 커서 안에서 접혀있는데, 펴지지 않는다. 바닥에는 전기장판 2개가 깔려 있다. TV는 원래 안보니 없어도 상관없는데, 화장실은 너무 작다. 출입구는 밀폐가 잘 안되어서 문을 닫아도 아래쪽으로 빛이 샌다. 207호가 그랬는데, 다른 호실은 모르겠다. 혹시나 다음에 가게 된다면 침대방으로 해야겠다.

출판단지 내에 영화관이 있는 것이 의외였다. 그리고, 식사를 할 곳이 적어서 선택의 여지가 얼마 없다. 상가들은 들어왔다가 장사가 안되어서 나간 곳도 많아 보이고.

2015년 4월 9일 목요일

오랜만에 맥 OS로 부팅을

언제가 마지막이었는지 기억도 안난다. 오랜만에 맥 OS로 부팅.

그런데, 부팅하다가 복구 화면으로 넘어간다. 뭐지. 다시 부팅을 해봐도 당연히, 마찬가지.

타임머신에서 복구 하자. 백업 목록이 뜨는데, 최종 백업이 3월 10일. 딱 한 달만이군.


오랜만에 부팅하지만, 역시 맥의 UI가 마음에 든다. 안정된 느낌.

윈도우와 오가며 사용할 일이 많으니, 맥의 한영 전환키와 스크롤 방향을 윈도우와 맞춰야 겠다.

한영 전환키 변경 방법은 여기를 참고해서 변경. 스크롤 방향은 시스템 설정/마우스에서.

2015년 4월 4일 토요일

새벽까지의 코딩

새벽 네시을 넘어까지 코딩을 하다가, 결국 원하는 결과를 보고 잠을 잤다. 오랜만에 자바 스크립트를 읽고 수정했다. 내가 원하는 방식으로 동작하도록 하기 위해 고치면서 또한번 몹쓸(?) 자바스크립트의 매력(?)을 느낀다.ㅎㅎ

최근에는 C++로 주로 코딩을 해서 그런지, 더 심하게 이질감이 느껴졌다.

Meteor나 React에 관심은 두고 있으면서 실무에 사용할 기회가 없다. 장난감 프로젝트라도 하나 만들어서 해볼까 싶다.


Windows에서 Jenkins 사용하기

일단 설치. 설치 경로는 C:\Jenkins 등 공백 문자가 없는 곳으로 지정한다. C:\Program Files (x86)\Jenkins에 설치하면 ruby-runtime plugin 등이 설치되지 않는다.

설치 완료 후 자동으로 로컬호스트:8080을 브라우저가 연다.

포트 번호를 바꾸고 싶다.

C:\\Jenkins\Jenkins.xml을 수정해서 8080을 다른 번호로 변경.

CMD창에서 jenkins.exe stop 하고, jenkins.exe start로 재시작한다.

브라우저로 변경된 주소를 연다.

기본 설정은 누구나 접근이 가능하고, 어떤 작업도 할 수 있게 되어 있다.

Manange Jenkins 메뉴에 들어간다.
먼저 사용자를 하나 만든다. Manage Users 클릭.

사용자 등록.

다시 Manage Jenkins > Configure Global Security로 간다.

Enable security 체크.

Security Realm에서 Jenkin's own user database 선택.

Allow users to sign up은 체크 해제.

위에서 사용자를 먼저 만든 이유는 아무나 등록할 수 없도록 하기 위해서다. 사용자를 먼저 만들어 놓지 않으면 설정을 변경하고 저장한 순간. 로그인도 못하고, 사용자 계정 등록도 못한다. 그런 경우에는 이 곳 참고.

Authorization에서 Matrix-based security를 선택했다. 원하는 것을 선택해서 설정하자.

그리고 Save.

다시 로그인을 해야 한다.

이후, Bitbucket plugin, Build Authorization Token Root Plugin, Batch Task Plugin, Yammer Plugin을 설치했다. 설치에 필요한 선결조건들은 알아서 설치된다.

Bitbucket plugin은 너무 간단해서 별 쓸모가 없었다. 사용자 인증을 해야 사용할 수 있게 해놓았기 때문에 Build trigger URL을 token으로 외부에서 인증없이 호출하기 위해 Build Authorization Token Root Plugin을 설치.

Yammer Plugin을 설치할 때 선결조건인 ruby-runtime이 설치가 안되어서 한참 헤맸다. 문제는 Jenkins의 설치 경로 때문인데, 처음에는 기본 설치 경로인 C:\Program File (x86)\Jenkins에 설치를 했었다.

Yammer Plugin을 사용하려면, 앱 등록, 토큰 생성 등을 해야 한다.

오늘 몇시간 삽질한 결과 Bitbucket에 특정 모듈에 변경이 생기면 빌드를 하고, 그 결과를 Yammer에 포스팅하도록 했다.

권한 문제로 빌드시 git checkout이 제대로 안되는 경우 여기를 참고해서 설정한다. 귀찮으면 Service 관리도구를 열어서 Jenkins의 실행 계정을 사용하고 있는, git이 문제 없이 정상 동작하는 로컬 사용자 계정으로 설정해도 된다.