review

[키보드] Filco – Minila

약 3개월 전에 구매한 키보드입니다. 저는 미니키보드에 대한 약간의 애정이 있습니다.

이번에 키보드를 검색하다 Filco Minila 키보드에 빠져 결국은 지르게 되었습니다.

3개월정도 열심히 쓰니 손에 너무 익어 불편함을 모르고 있습니다. 해피해킹DELETE 키 위치가 서로 달라 고생은 하지만 충분히 사용해볼 가치가 있는 키보드인거 같습니다.

그리고 최근 키캡만 AliExpress에서 구매하여 변경했습니다.

제가 여러가지 미니 키보드를 써보고 느낀점은

키가 적으면 적을수록 익히기가 어렵다.

이상입니다.

사진상에 나오는 키보드는 해피해킹Filco Minila입니다.

이 슬라이드 쇼에는 JavaScript가 필요합니다.

기본
read

[후기] 테스트 주도 개발

  • 지은이: 켄트 백
  • 옮긴이: 김창준, 강규영
  • 출판사: 인사이트
  • 출간일: 2014년 2월

중요
– 1. 오직 자동화된 테스트가 실패할 경우에만 새로운 코드를 작성한다.
– 2. 중복을 제거한다.

프로그래밍 순서

  • 빨강 – 실패하는 작은 테스트를 작성한다.
  • 초록 – 빨리 테스트가 통과하게끔 만든다.
  • 리팩토링 – 일단 테스트를 통과하게만 하는 와중에 생겨난 모든 중복을 제거한다.

매크로를 이용하여 테스트를 작성한 후 얻은 교훈

  • 테스트가 충분히 빨라서 내가 직접, 자주 실행할 수 있게끔 만들자.
  • 많은 오류가 반드시 어머어마한 양의 문제는 아니다.

TDD가 XP의 어떤 부분을 향상 시키는가?

  1. 짝 프로그래밍
    TDD를 하면서 작성하게 되는 테스트는 짝 프로그래밍 과정에서 뛰어난 의사소통 수단이 된다.
  2. 활기차게 일하기
    XP에서는 기운이 있을 때 일을 시작해서 지치면 그만할 것을 권유한다. 테스트를 통과하지 못하겠거나, 어떤 테스트 두 개를 동시에 통과하도록 만들 방법을 모르겠다면 쉬어라.
  3. 지속적인 통합
    테스트를 좀더 자주 통할할 수 있게 해주기 때문에 아주 훌륭한 자원이 된다. 새로운 테스트를 통과시킨 후 중복을 제거했다면 커밋한다. 그렇게 되면 체크인 간격이 15~30분 정도로 단축된다.
  4. 단순 설계
    테스트를 통과하기 위해 필요한 만큼만 코딩하고 모든 중복을 제거한다면 요구사항에 딱 들어맞는 설계를 얻게 될 것이다.
  5. 리팩토링
    중복 제거 규칙은 리팩토링의 또 다른 이름이다. 테스트가 있다면 더 큰 리팩토링을 수행하더라도 시스템의 행위가 변하지 않았다는 자신감을 얻을 수 있게 된다.
  6. 지속적인 전달
    TDD 테스트들이 정말 당신 시스템의 MTBF(Mean Time Between Failure)를 개선한다면, 고개을 혼란시키지 않으면서도 훨씬 더 자주 코드를 출시할 수 있을 것이다.

추천 도서

  • Smalltalk Best Practice Patterns
기본
read

[후기] 열혈강의 TCP/IP 소켓 프로그래밍

열혈 TCP / IP 프로그래밍

  • 저자: 윤성우
  • 출판사: 오렌지 미디어
  • 기간: 2016.07.13 ~2016.07.15

키워드

네트워크 프로그래밍

  1. TCP / IP
  2. Socket Options
  3. Linux 기반의 네트워크 프로그래밍
  4. Windows 기반의 네트워크 프로그래밍

본것

네트워크 프로그래밍의 기초에 대한 설명이 단계별로 잘 되어 있는 책이라는 생각이듭니다.
소켓(Socket), 주소체계, TCP, UDP, Gracefull Shutdown, 소켓 옵션, 서버 아키텍쳐등 많은 내용이 아주 체계적으로 잘 되어 있습니다.

그리고 Linux와 Windows에서 다르게 구현 되는 부분을 잘 설명해 놨기 때문에 두가지 환경에서 모두 구현하는데 도움이 될 만한 책인 것 같습니다.

책 중간에 나오는 잠시 JAVA 얘기를: 열려있는 사고를 지니자! 는 간략하지만 제가 느끼는 부분과 비슷한 내용인 것 같습니다.

예전에 학원 강좌에서 Java 네트워크 부분에서 Java에서는 소켓을 연결하지 아주 쉽습니다.

Socket s = new Socket("192.168.10.1", 8888);

위와 같이만 하면 연결 끝입니다. 이런 내용을 듣고 네트워크 프로그래밍 뭐 별거 아니네... 이런 생각을 했는데 프로그래밍을 하면 할 수록 네트워크 부분은 점점 어려워 지는 것 같습니다.

깨달은것

멀티 프로세스 방식은 Java로 서버 개발을 하면서 사용한 적이 없고 멀티 플렉싱 방식은 Java NIO 패키지의 비동기 소켓으로 예제 정도만 구현을 해봤는데 이전 보다 조금 더 알게 된 것 같습니다.

그리고 Windows IOCP는 예전 한국 리눅스 유저 그룹 에서 EPOLL과 열딘 토론의 글을 본적이 있어서 관심은 있었지만 실제로 사용해 본적이 없어 어떤 시스템이라는 막연한 부분이 있었는데 대략적으로 어떤 흐름이다라는 것은 알게 되었습니다.

적용할 것

  • 멀티프로세스 방식, 멀티플렉싱 방식 그리고 멀티 스레드 방식의 서버를 각각 구현해 성능 테스트를 해보자.
  • Windows IOCP 서버를 구현해보자.
  • 네트워크프로그래밍 강좌에서 받은 Windows IOCP 배틀넷 서버 소스를 분석해보자.
기본
read

[후기] 리눅스 그냥 재미로(Just for fun)

리눅스 그냥 재미로

  • 제목: 리눅스 그냥 재미로(Just for fun)
  • 저자: 리누스 토발즈, 데이비드 다이아몬트(안진환 역)
  • 출판사: 한겨례신문사
  • 기간: 2016.07.19~2016.07.19

본것

  • 리눅스를 만들게 된 동기와 오픈소스에 대한 철학을 볼 수 있다.
  • 과학 스스로는 돈을 벌어주지 못한다. 부를 창출하는 것은 과학의 부차적 효과이다. 오픈 소스도 마찬가지다.
  • 유닉스는 “작은 것이 아름답다” 라는 철학을 가지고 있다.

외에 전반적인 리누스가 왜 운영체제 개발을 시작했고 어떤식으로 오픈소스 프로젝트를 시작했는지 그리고 현재까지 유지할 수 있었던 방법은 어떤 것인지에 대한 이야기가 나와있다.

그리고 대학 연구조교를 나와 기업에 취직할 때도 비리눅스 기업에 취직하는 내용은 정말 대단한 사람이라는 생각이 들었다. 이익 보다는 소신을 지키는 내용이 멋있었다.

깨달은것

리누스는 컴퓨터를 처음 사용하면서 프로그래밍을 접하고 그것을 보다 효율적으로 사용하기 위한 방법을 많이 생각했던 것 같다. 나의 어린 시절과 비교를 하면 나는 대부분의 학생들과 마찬가지로 컴퓨터를 가지고 게임을 할 생각만 했지 컴퓨터를 가지고 프로그래밍을 할 생각은 못했던 것 같다.

물론 베이직(GW Basic) 언어를 이용하는 프로그래밍을 배우기는 했지만 그것은 단순 컴퓨터 학원의 커리큘럼 이었을 뿐 집에서 그것을 가지고 내가 원하는 기능을 직접 만들어 본다는 것은 생각조차 하지 않았던 것 같다.

Java라는 언어를 내 기반으로 두고 사용하기에 하드웨어에 대해 모른다는 것을 별로 민감하게 받아들이지 않았지만 좋은 개발자가 되기 위해서는 하드웨어에 대한 지식도 이제는 필수라고 생각한다.

적용할 것

  1. DOS와 같은 운영체제를 만들기(?)

솔직히 위의 운영체제 만들기는 어려울 것 같다는 생각이 들지만 한번 시도를 해보면 정말 많은 도움이 될 것 같다는 생각이 든다. 그렇기 때문에 적용할 것 에 추가해본다.

기본
travel

[여행후기] 오크밸리 리조트

오크밸리 리조트 & 수영장


  • 일정: 2016. 07. 01 ~ 2016. 07. 03 (2박 3일)
  • 누구랑: 안지기 아는 사람 가족(지우, 지호)과
  • 장점: 아름다운 풍경과 울창한 숲
  • 단점: 유아가 놀기에는 다소 차가운 수영장.

일본 출장 때문에 아이들과 못놀아줘서 기분도 낼겸해서 금요일 연차를 쓰고 오크밸리에 다녀왔습니다.
어디로 갈지 딱히 정하지 못했는데 쿠팡을 통해 저렴한 객실과 7/1일이 성수기로 포함되지 않았다는 점 때문에 오크밸리로 다녀왔습니다.

리조트는 평범했지만 주변 경관 및 진입로가 너무 잘되어 있어 깜짝 놀랬습니다.

겨울에 스키장으로 간다면 잘 못 느낄거 같은 풍경들이 여름이 가니 보여서 좋았습니다.

기본
Life, review

[키보드] Fujitsu – Libertouch

후지츠 리버터치

  • 장점: 부드러운 키감.
  • 단점: 87키가 아닌점.

후지츠 리버터치(출처: 아마존재팬)

 

 

일본 IT 전시회를 관람하기 위해 방문 한 김에 한국에서는 판매하지 않는 리버터치 를 구매했습니다. 리버터치는 중고나라에서 봐도 아직도 찾는 사람이 있을 정도로 키보드에 대한 평이 좋습니다.

한가지 키보드를 너무 오래 사용한 느낌이 있어 출장비를 아껴 키보드를 구매했습니다. 원래는 87키를 구매하려고 했으나 제가 착오를 한건지 오프라인 매장에서 판매를 안하는 건지 요도바시 카메라 아키하바라 점에서 찾질 못하고 어쩔수 없이 103키를 구매했습니다.

출장후에 쭉 사용하고 있는데 느낌이 아주 부드러운게 미끄러지는 듯한 타이핑이 가능합니다.  이 키보드를 쓰다가 다른 키보드를 못쓸정도로요..^^

작업환경이 여러개라 Mac에는 해피해킹 Windows에는 Libertouch 를 연결해서 사용하는데 해피해킹 으로 가서 타이핑을 하면 묵찍하다는 느낌이 듭니다. 그만큼 Libertouch 가 부드럽다는 것이겠죠..

기본
Life, review

[키보드] Truly Ergonomic

키보드 후기


 

  • 장점:  타이핑이 정말 편안하다.
  • 단점
    • 키 배열에 익숙해지는데 시간이 많이 걸린다. (처음치는 순간 멘붕)
    • 조합이 필요한 키를 사용하기가 어려울때가 있다.
    • Tab 키가 가운데 있어 shell 에서 자동완성 기능을 사용할 때 불편하다.

The only Truly Ergonomic Keyboard with mechanical keyswitches

2년전쯤에 키보드 타이핑중에 손목 통증이 있어 인체공학 디자인의 키보드를 찾고 있었습니다. 인체공학 키보드는 대학교때 사용하던 MS Natural keyboard 를 마지막으로 써보고 다른 제품은 아직 못써보고 있었습니다.
그렇지만 중고나라 눈팅중에 Truly Ergonomic 키보드를 발견하고는 직거래로 바로 받아왔습니다.

6개월 정도 사용했는데 단점도 많지만 손목 통증은 조금 완화되는 느낌입니다. 정확하게 제가 병원에서 진단을 받은 것도 아니기 때문에 어느정도 좋다라는 객관적인 증거는 없습니다. ^^

지금은 키보드 스위치가 몇개 고장나서 수리를 해야해서 못쓰고 있지만 조만간 사용할 예정입니다.

기본