AWS S3의 저가버전(?) Backblaze의 B2

https://www.backblaze.com/b2/cloud-storage.html

선택한 이유

  1. 아직(?) AWS에 의존적인 서비스들을 구성 한 것이 아니고,
  2. 래이턴시에 그다지 민감한 자료들이 아니어서
  3. 가격적으로 우수하다고 광고 하고 있음. 다운로드 기가당 0.05$
  4. 그리고 업무 특성상 그다지 다운로드가 많을 것 같지 않음
  5. 회사에 마땅한 스토리지와 그것을 운영 할만한 인적/물적 자원이 없음
  6. ruby로 되어 있는 fake s3 같은 솔루션 사용에 불만족

이 중에서 5, 3, 1 의 순으로 우선 순위가 있 것 같다.

일단은 회사의 솔루션들 업데이트 등의 업무로 내부적으로 활용 해 볼꺼고 두번째로는 개인 NAS의 대체, 나중에는 다운로드 트레픽이 생길만한 상황이면 과금을 하고 사용하는 것으로 계획

 

gitlab 7-14-stable to 8-3-stable

처음 설치 했을때가 2013년 1월인가 그때 부터여서 유지보수가 힘들고 문서도 많이 봐야 하고 그럴 때에도(나름 애정을 가지고) 꼬박꼬박 업그레이드를 해 오다가 몇 달 전 7-14에서 8-0으로 메이저 업그레이드 때 아무 생각 없이 기계적으로 메뉴얼 보고 했다가 정상적으로 작동 안 되서 원복 시키고 한동안 방치 해 두었었다

이번에 맘잡고(각잡고) redis-server 를 업그레이드 하고 nginx 의 gitlab 쪽 설정 수정 해서 정상적으로 작동 되는 것 확인 완료.

처음 설치 할 때에는 docker 같은 것도 없었고 bitnami 같은데서 관리되는 이미지도 없어서 손으로 일일히 하나하나 입력해 가면서 설정 했는데 이제 이런 식으로 관리 하는데 한계가 온 것 같다.
ubuntu 12.04 가 (LTS 끝나는 시점) 이 2017년 이기는 하지만 redis-server 가 2.2 에 머물러 있다든지, 커널이 3.2 에서 바꿔야 할 시점이 온다든지 할 때 백업 잘 해 놓고 OS 부터 싹 다 갈아 엎는 작업을 해 봐야 겠다. 그리고 그때는 부디 이 회사에 나 말고 이 작업을 할 수 있는 직원이 있어서 믿고(…) 맡길 수 있게 되면 좋겠다.

ps. 기껏 gitlab-git-http-server 연동 때문에 nginx 설정하는데 난리를 쳤더니만, 8-2에서 바로 gitlab-workhorse 로 프로젝트 명이 바뀌어서 다시 똑같이 설정해야 했음. 그 이후엔, 8-3 까지는 아무 문제 없이 업그레이드 완료.

첫 시도 tmux on cygwin


OSX 에서 iTerm 을 주로 써 와서, 화면을 split 하는 기능을 편하게 썼는데, 윈도에서 putty로 CLI 작업을 하려니 창들을 배열하는게 계속 신경 쓰였다. 그러다가 예전부터 그냥 있는 줄은 알았는데 어떻게 써먹어야 할지 모르겠던 screen 과 tmux 중에 tmux를 한번 도입 해 봤다.
단축키(http://unix.stackexchange.com/a/25655)가 많이 어색하기는 한데.. 그럭저럭 iTerm 쓸때 처럼 쓸 수 있게 된 것 같다.

putty가 0.66 이후로 진행이 없게 된 지가 거의 10년이 다 지난 것 같은데 conemu 등 cmd 를 대체 하는 것들이 주로 보이고 윈도우용 터미널 개발쪽은 누가 선듯 나서는 기미가 없어 보인다. putty 세션관리와 다국어 지원 쪽으로 조금만 더 보완해주고.. 내가 원래 원했던 창 split 기능까지 들어가면 더 편하게 될 수 있을 것 같은데

첫 크롬 확장 제작

https://chrome.google.com/webstore/detail/large-screen-slideshare-p/clnemnkekbncoepcnakoaojpinpljgnp

슬라이드쉐어 보는데, 풀스크린으로 보기 애매 할 때 유튜브처럼 창 크기로 볼 수 있게 해 주는 간단한 익스텐션
당장 내가 쓸려고 만들었는데, 사용자가 늘어나면 천천히 업그레이드를.. 인스턴트 on/off 라든지, 스크린샷, 프로모션 이미지 등..

FizzBuzz 문제

내가 너무 쉽게 생각하고 있는건가? 시간은 따로 안 재 봤지만, 나도 2분 정도 걸림

문제에 각 조건마다 간단한 출력만 들어가 있어서 이렇게 했지만, 만약 블록이 좀 더 커질 필요가 있거나 중복/반복해서 일해야 하는 부분이 생긴다면, 3배수, 5배수 각각에 대한 flag를 붙여서 조건문은 아래쪽에 따로 출력하도록 아래와 같이 했을 듯

아 근데 이렇게 하면 FizzBuzz 라고 안나오고 Fizz Buzz 라고 나오겠구나.. 그건 sys.stdout.write() 으로 처리 하면 되긴 할테고..

pip install psycopg2

후.. 윈도에서 python 프로그래밍 하기 힘들다.
그나마 cygwin을 써서 개발환경 만들기가 조금 편해지나 싶었는데, pgsql 연동을 위해 pip install psycopg2 를 하니

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

에러가 난다. 30일 짜리 비주얼 스투디오를 설치 할 수도 있지만 이 컴퓨터로 개발을 하나만 하는 것도 아니고 지저분하게 이것 저것 깔아 쓰고 싶지 않았는데 마침

https://github.com/nwcell/psycopg2-windows

에서 pip 로 설치 할 수 있는 제대로 된 패키지를 제공한다.

$ pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py34#egg=psycopg2
Collecting psycopg2 from git+https://github.com/nwcell/psycopg2-windows.git@win64-py34#egg=psycopg2
Cloning https://github.com/nwcell/psycopg2-windows.git (to win64-py34) to c:\cygwin64\tmp\pip-build-dq69haws\psycopg2
Installing collected packages: psycopg2
Running setup.py install for psycopg2
Successfully installed psycopg2-2.5.2

리눅스의 yum이나 apt 처럼 바이너리 수준으로 설치하거나 아에 pypy 로 가는건 아직 먼 걸까.

근황

발등에 불이 떨어지는대로 일을 하기에도 벅차도록 바쁜 상태라 어떻게든 정리가 필요한 시점(휴)

  • 고객 모니터링. 설치, 전달이 되었으면 검수가 제대로 되어야 하는데 현재는 고객이 열심히 테스트 해서 결과를 알려주기만을 기다려야 하는 지루하고 떨린 상황.
  • 어플리케이션 개발. 희귀할 꺼라고 생각했는데 모르는게 있어서 검색 할 때 마다 보면 python windows 개발자가 생각보다 많은 듯?
  • 테스트. 새 어플라이언스가 거의 런칭 단계. 제대로 테스트 하기 위해서는 lab을 잘 만들어야 하는데, 생각 할 짬을 못 내고 있다. 암튼 테스트 과정에서 발생하는 내용들을 이슈트레커에 기록 하고 정리해서 이메일로 전달하고…
  • 문서작업. 회사가 KnowledgeBase를 구축해서(이제야) 기존에 사방팔방에 널려져 있던 문서들을 한군데에 모아두고 싶은데, 이것도 혼자 하려니 끝이 안보인다.
  • 커뮤니티. 이것도 회사가… 예전에 간단하게 있던 기술블로그를 따로 커뮤니티로 분리해서 고객들과 우리회사 장비를 다루는 엔지니어들 피드백 받고 답변해 주는 건데.. 어쨋든 지금은 할 사람이 나 밖에 없어서 이것저것 기능들 설명하고 문서 정리. 여기에서의 문제는 한국에서 익숙치 않은 직원들이 실명으로 활동을 할 것인가? 힘들 것 같나.
  • 그리고 블로그… 이 글 작성

메모 – 윈도app 개발하면서 간간히 잘 써먹는 서비스

이런 것들 만들어서 서비스 해주시는 분 정말 감사드립니다.

python win32 – netstat

참조 : https://pypi.python.org/pypi/psutil