2017년 9월 30일 토요일

라즈베리 파이 번역서 예제 테스트

라즈베리 파이 번역서의 교정이 진행 중이고, 나는 예제 코드 중에 아직 테스트를 하지 못했거나 실패했던 것들을 들여다보고 있다. 그 중에는 모듈이 없어서 테스트를 못한 것이 있어, 간단히 쇼핑을 했다. (지난 겨울의 쇼핑리스트)

쇼핑 리스트

가치창조기술



테스트

스테핑 모터(코드 10.2, 10.3)

지난번에 테스트했을 땐 EasyDriver에 모터 전원 공급하는 걸 빼먹었던 듯하다. 라즈베리 파이의 GPIO 5V 핀을 사용했더니 잘 된다.



8자리수 7 세그먼트 디스플레이 - MAX7219(코드 10.7)

알리에 주문한 것을 못 받아서 이번에 다시 샀다. 예제가 돌아가기는 하지만, 밝기 조절할 때 숫자가 제멋대로 바뀌어버리고, 100000회 카운트 결과가 100260으로 찍히는 문제가 있다. 전에 원고 검토해주신 분들과 상의해봤지만 정확한 원인은 모르겠고, 모듈의 하드웨어 버그로 짐작할 만한 특징이 보인다.


2017년 8월 30일 수요일

CRT 모니터

버려진 CRT 모니터(LGX17FS)를 주워왔다. 확인해보니 잘 작동한다.


책상에 올려두고, 넷북(S10-2)에 연결해서 사용하기로 했다. 화면 해상도는 1152 x 864가 적당하다.


화면비 4:3인 옛날 영상물을 틀어두니 잘 어울린다.



화면이 들어오지 않을 때 삐익소리가 나서 거슬리는데, 전원을 완전히 차단해야 소리가 나지 않는다. 그래서, 이 모니터와 넷북 전용으로 멀티탭을 하나 구입했다.

윈도우 미디어 플레이어는 자막을 표시할 때 영상의 크기가 줄어드는 문제가 있어서, 동영상 재생 프로그램을 추가로 설치하기로 했다. 몇 가지를 다운로드해서 테스트해보니 KMPlayer의 꽤 오래된 버전(2.9.3 1214)이 가볍게 잘 돌아간다.

2017년 8월 11일 금요일

Python에서 Switch Case

Python 언어에는 switch case 구문이 없다. 그와 관련한 질문이 올라온 것을 보고 궁금증이 생겨서 찾아보았다.

Proposal


집어 넣으려는 시도가 없지는 않았으나, 필요하지 않다고 생각하는 사람이 많은 모양이다.

DSL


꼭 필요하다면 Domain Specific Language를 만들 수도 있지 않을까하는 생각이 들긴 했지만, 너무 멀리 나가는 것 같다.


Package


혹시나 해서 찾아보니, 역시나 패키지가 있다.
간단히 테스트해보았다.

% pip3 install switch
% python3
>>> from switch import Switch
>>> x = 1
>>> with Switch(x) as case:
...     if case(1):
...         print('일')
...     if case(2):
...         print('이')
... 
일