요즘 PHP

우리나라에 2000년도 쯤에 APM(apache+PHP+mysql)+제로보드가 번들로 유행처럼 퍼지면서 나도 웹 언어로써 php를 처음 접했다. 지금은 django+python 그리고 CGI(fast cgi)로 웹개발을 하지만 최근에 HHVM이나 php7이 나오면서 상당히 많은 부분(특히 속도)를 개선했다고 들었는데, 이것들이 아직도 사람들을 실망 시키고 있는 것일까? 커뮤니티와 운영자 성향 상 미래가 없다고 보는 것일까? legacy를 고집하는 그들을 더이상 볼 수 없어서일까?

 

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를 구축해서(이제야) 기존에 사방팔방에 널려져 있던 문서들을 한군데에 모아두고 싶은데, 이것도 혼자 하려니 끝이 안보인다.
  • 커뮤니티. 이것도 회사가… 예전에 간단하게 있던 기술블로그를 따로 커뮤니티로 분리해서 고객들과 우리회사 장비를 다루는 엔지니어들 피드백 받고 답변해 주는 건데.. 어쨋든 지금은 할 사람이 나 밖에 없어서 이것저것 기능들 설명하고 문서 정리. 여기에서의 문제는 한국에서 익숙치 않은 직원들이 실명으로 활동을 할 것인가? 힘들 것 같나.
  • 그리고 블로그… 이 글 작성

python win32 – netstat

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

python win32 – process 목록 확인 예제

perl Digest:SHA without CPAN

임베디드 장비에서 perl을 쓰다보니, CPAN을 쓸 수 없는 경우가 종종 생긴다. 대부분 pure perl 로 모듈을 재코딩하지만, 번거로운 부분이 많다.

/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/auto/Digest/SHA/SHA.so
/usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/Digest/SHA.pm
/usr/lib/perl5/5.8.1/Digest.pm
/usr/lib/perl5/5.8.1/Digest/base.pm
/usr/lib/perl5/5.8.1/Digest/file.pm

#!/usr/bin/perl
use Digest::SHA qw(sha256_hex);
print sha256_hex(‘1234567890@gmail.com’);
print “\n”; # EOL

# ./test.pl
42e3fdce10bc335b4f5870af3d6585b1932e3f9dccf2010b5d10f6e436f379fc

python 검증

import hashlib
h = hashlib.sha256(b’1234567890@gmail.com’).hexdigest()
print(h)

$ python sha.py
42e3fdce10bc335b4f5870af3d6585b1932e3f9dccf2010b5d10f6e436f379fc

운영이란?

직원들과 개똥 같은 업무 철학에 대해 이야기 해 보았다. 운영이란 뭐지 ?

고객 응대, 전화 질문에 대한 기술적 조언 및 사전 문제 가능성 점검 등등 말이 되는게 많은데 결론적으로 이야기 하면 “자동화 시스템 설계”가 답이 아닐까 한다고 했다.

개발팀이 존재하는 이유는 운영팀, 마케팅기획팀이 자료를 꺼낼 수 있도록 도구를 제공하는 거라고 했고..  서로 이쪽에 다양한 경험이랄게 없어서 더 길게 이야기 할 수는 없었지만

1. 언어를 배울 것. python 추천
2. 반복된 업무를 할 때는 자동화 시킬 것을 감안해서 절차를 만들어 볼 것

이정도 조언을 해 주었는데, 업무절차서도 따로 없어서 어디서 부터 시작해야 할지 솔직히 난감한 부분 ..