golang의 sort패키지 사용해보기

golang에 sort라는 패키지가 있을 것이다라는 생각은 했지만, 잘 되어 있을거라는 생각은 못했는데,왠걸 내가 구현한것 보다 훨씬 잘 되어 있어서 내가만든거는 버리기로 했다. 내가 원하는 기능의 리스트는 아래와 같았다. 구조체 안에 있는 점수를 비교해서 구조체 리스트를 정렬하고 싶다. 점수가 같은 경우에는 나중에 업데이트된 녀석에게 상위 등급을 주고 싶다. 역순으로 정렬 하면 좋겠다. 결론적으로는 내가 원하는 기능보다… Read More »

[install] powerdns 설치하기

Private DNS? POWERDNS! DB를 마스터/슬레이브로 운영하고 있을 경우, 마스터 디비가 죽으면 슬레이브 디비를 마스터로 승격시켜주는 녀석들이 있다.(MMM, MHA등등) 그런데, 보통 디비를 바라보고 있는 클라이언트는 보통 아이피나 도메인을 통해서 디비를 바라보고 있을 것이다. 그런 상황에서 슬레이브가 마스터로 승격되어 봤자 클라이언트들은 죽어있는 마스터를 바라보게 마련이다. 이런경우 슬레이브를 마스터로 승격 시켜주는 것과 별개로 아이피나 도메인도 같이 바꿔줘야 하는데,… Read More »

docker registry로 도커 컨테이너 관리하기

보통은 서버의 형상관리를 chef로 관리하지만, 소스를 배포할 때에 하나의 이미지로 뭉쳐서 배포를 해보고 싶어서 docker를 도입해보려고 공부중이다. 그런데 내가 생성한 이미지를 docker hub라는 열린 docker registry에 올릴 수는 없어서, 찾아본것이 docker registry였다. 책이나 블로그에서 그다지 심도있게 다루고 있지 않아서, 쉬운가보다 했는데, 왠걸 설치가 생각보다 까다로웠다. 디지털오션의 글이 정말 많이 도움이 됐는데, 거기 있는 글을 보고… Read More »

Chef Server 12으로 인프라 자동화하기

Chef Server 12를 사용해보기 2년전에 chef-server로 게임서버들을 잘 구성해서 사용했었다. knife-solo로 하면 10대 정도까지는 그냥 관리가 가능하긴 한데, role이나 databag같은 메타데이터를 다루게 되면, 그때부터는 chef-server를 사용하는 것도 좋은 것 같다. 2년 전에도 쉐프 서버 구축할 때 이리저리 고생을 했던 기억이 나는데, 정리를 제대로 안해놨더니, 했던 삽질을 다시하면서 나의 멍청함을 뇌로 되새기고 있다. 아무튼 다시는 그런일이… Read More »

docker 명령어들

docker 명령어들 도커로 apache php mysql환경을 구성중이다. apache와 php를 하나의 환경으로 묶기로 했고, mysql은 따로 하나더 묶을 예정이다. 이 글은 위의 환경을 구축중에 공부하고 있는 것들을 정리하는 글인데, 위의 환경 구축이 완료되면 관련해서 글을 하나 더 쓸 수 있을 것 같다. 도커가 간단하네 심플하네 빠르네, 이런 것들로 홍보를 하고 있지만, 알아야 될 것 들이 생각보다… Read More »

Docker machine에 대하여

Mac에서 도커를 쓸려면 docker-machine 이라는 녀석을 무조건 써야되는데, 그냥 도커를 돌릴 수 있는 가상머신이라고 생각하니 마음이 편해졌다. 더 알고 싶으면, 밑에 글도 읽어보자. 아래 그림에서 Docker가 돌아가는 Linux VM이 docker-machine이라는 것이드아~ Docker machine 도커 호스트가 설치된 VM이라고 생각하면 됨. VM이므로 개발PC, 클라우드, 데이터센터등 아무데나 설치가능 클라우드 서비스의 경우는 해당 클라우드의 서비스에 특성에 맞춰주는 driver가 존재함.… Read More »

도커 아키텍쳐

서버의 소스를 배포하려고 하는 중인데, 내가 알고 있는 방식은 파일을 동기화 시키는 방식이었다. docker를 사용하면, 여러개의 파일을 동기화 안하고 그냥 이미지로 구워서 할 수 있는 것 같아서, 소스 배포할 때 편할것 같은 느낌이 들었기 때문에 조사해보기로 했다. 아무래도 잘 모르는 기술을 잘 파악하기 위해서는 아키텍쳐를 알면 좋기 때문에 시간을 내서 아래의 페이지를 요약 번역 해보았다. https://docs.docker.com/engine/introduction/understanding-docker/ 마음대로… Read More »

[알고리즘] 소수 구하기

요즘 코딩 감각이 좀 둔해진 것 같아서, 다시 프로젝트 오일러 정주행중인데, 예전에 처음 풀었을 때에는 그냥 뺑뺑이 돌려서 소수를 구했었다. 이번에는 두번째 하는거라서 자료를 조금 찾아보기도 하고, 나름 생각해서 이렇게 하면 빠르겠다 싶은 것도 만들어보기도 하였다… 결과적으로는 수학을 이용한 것이 제일 빨랐다.. 첫번째 메서드 실행결과 elapsed time : 0:03:00.578463 method1 DONE! 두번째 메서드 실행결과 elapsed time… Read More »

파이썬 실행환경 설정하기 with pyenv

virtualenv를 사용하는 법을 올렸었는데, pyenv라는 녀석을 추천해주셔서 실제로 설치해보고 경험해보려고 정리해보았다. 아래의 링크들을 참고하여 작성했음을 밝혀드립니다. pyenv pyenv-virtualenv pyenv-installer pyenv + virtualenv + autoenv 를 통한 Python 개발 환경 구축하기 pyenv 설치하기 ( mac OSX ) 의존성 패키지 설치 일반적인 빌드 문제들에 나와있는데, mac OSX에 미리 설치해야하는 의존성 패키지가 있으니 한번 확인해보도록 하자. 설치 스크립트… Read More »

파이썬 가상 환경 설정 및 장고 설치하기

갑자기 회사의 동료가 나에게 장고스터디를 해달라고 했다. 마침 장고를 보고있었던 나는 쥐뿔도 모르지만, 이제부터 준비하려고 장고를 열심히 보고 있다.  근데, 나쁜버릇이 나와서 설치부터 잘하고 싶은 마음이 드는 것이다. 남들은 그냥 sudo pip install django 이렇게 하고 넘어갔을 것을 괜시리 깔끔떨며 가상환경이라는 것을 만들어보기로 한다. 그럼 같이 한삽을 같이 퍼보도록 하자. 아래에서 실행한 스크립트들은 virtualbox에 새로… Read More »