전체 글

전체 글

    프로그래밍 Design Pattern 이해하기 - 11 프록시 패턴

    오브젝트에 대한 접근을 컨트롤한다 - 프록시 패턴 프록시 패턴을 줄여 이야기하면 "어떤 객체에 대한 접근을 제어하기 위한 용도로 대리인이나 대변인에게 해당하는 객체를 제공하는 패턴"이다. 지난 시간에 검볼 머신에 대해 예제를 통해 구현을 했다. 이번엔, 검볼 회사 CEO 인 마이티 검볼이 우리에게 요청했다. 검볼 머신에 대한 프로그래밍은 했으니 검볼의 상태나 액션에 대한 모니터링을 하고 싶다고! 우리는 이미 검볼의 숫자를 가져오는 함수(getCount())와 현재 상태를 가져오는 함수(getState())를 구현해놓았다. 우리는 굉장히 빠르게 CEO의 요구에 대응할 수 있다! "Monitor"를 코딩해보자 public class GumballMachine {String location; public Gu..

    윈도우에서 한영 전환을 Shift-Space로 바꾸기

    맥을 쓰다가 윈도우를 사용할 때 한영키가 자꾸 헷갈린다면, 차라리 쉬프트 - 스페이스로 한영전환을 바꿔보자 메모리 상에서 한영 전환키를 바꿀 수도 있지만, 귀찮으니 레지스트리를 수정하는 걸로 시작메뉴 - regedit 실행 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesi8042prtParametersLayerDriver KOR 의 값을 kbd101a.dll 에서 kbd101c.dll 으로 변경하고 재부팅하면 적용된다.

    정전용량무접점 키보드 fc660c 사용기

    지난 "기계식 키보드의 끝판왕 마제스터치2 이탈리안 레드 사용기" 에 이어 회사에서 사용하고 있는 fc660c의 사용기입니다. fc660c는 레오폴드가 만든, 정전용량 무접점 키보드입니다. 기계식 키보드의 스위치축을 사용하지 않고 키를 눌렀을 때 측전량 변화를 통해 키가 눌렸는지 감지를 하는 키보드입니다 :) 기계식 접촉부가 없으므로 당연히 기계식 키보드보다 소음이 훨씬 덜합니다! 분명 기계식 키보드의 매력과는 또 다른 매력을 가지고 있습니다. (전 둘다 좋긴한데 개인적으로는 기계식 키보드의 키감에 한표!) fc660c 는 해피해킹이나 리얼포스에 비해 저렴합니다. 일본이 아닌 중국에서 생산을 했기 때문이라는 추측을... (정확한 이유는 모르겠습니다) 해피해킹 프로페셔널은 지인분이 빌려주셔서 약 2주간 쳐..

    프로그래밍 Design Pattern 이해하기 - 10 스테이트 패턴

    스테이트 패턴 오늘은 실제로 사람들이 쓰는 기계를 자바로 만들어보려고 한다. gumball machine(우스꽝스러운 기기)를 생각보다 높은 기술력을 가지고 있다. gumball machine 이란 동전넣고 돌리면 껌이 나오는 기기다. 아래 다이어그램을 보자! 한글로 번역하면, 이것은 검볼머신 컨트롤로가 필요로 하는 다어그램이다. 우리는 미래에 어떤 행동이 추가 될것인지 미리 생각을 해야 한다. 그래서 최대한 유동적이고 유지가 쉽도록 구조를 만들어야 한다. 위를 잘보면 동전을 투입한 후, 손잡이를 돌린다. 돌리면, 알맹이가 있으면 판매를 하고 알맹이의 갯수를 확인한다. 알맹이의 갯수가 0이라면, 매진처리가 된다. 이 다이어그램은 스테이트 다이어그램으로 볼 수 있다. 각각의 동그라미가 State가 된다. ..

    크롬(윈도우, 맥)에서 안드로이드 앱 실행시키기!

    작년 크롬의 수장이였던 선다피차이가 안드로이드의 수장이 되면서(그리고 픽셀크롬북을 보면서) 안드로이드가 크롬OS로 통합되지 않을까란 이야기가 있었는데, 크롬북에서 안드로이드 앱을 손쉽게 돌릴 수 있게 되었습니다. 그리고 크롬북뿐만 아니라 크롬 익스텐션을 이용해 맥과 윈도우에서도 역시 동일하게 안드로이드 앱을 실행시킬 수 있게 되었습니다! 이런 걸 보면, 이전에 있었던 루머가 진실인지 여부는 알 수 없지만 오히려 안드로이드를 중심으로 흘러가는 느낌이네요 :) 정확한 구동 방법은 알 수 없지만, Archon Runtime을 통해 안드로이드 앱을 구동시키는 듯 합니다. 가상 머신에 안드로이드를 띄워서 앱을 동작시킬 수 있지만, 보다 원활하게 시스템 자원을 사용하면서 구동이 됩니다. APK를 Chromeos-a..

    기계식 키보드의 끝판왕 "마제스터치2 이탈리안 레드 청축" 사용기

    개발자를 업으로 삼으면서도 키보드에 전혀 관심이 없었다. 그러던 차에 덱 키보드 87 (불빛 들어오는 거에 반함) 을 보고 우연찮게 키보드에 관심을 가지게 되었다. 처음엔 덱키보드에서 시작해서 지인분께 해피해킹 프로페셔널2 를 처음으로 쳐보게 된다. 쭉 써오던 키보드들이 저렴한 (3만원 이하짜리) 기계식 키보드나 애플의 블루투스 키보드였기에 첫 해피해킹의 키감은 황홀하기 짝이 없었다. 그 황홀함에 물들어 한 일주일을 키보드에 대한 정보를 엄청 탐닉했다. 해피해킹 2 프로페셔널은 써본 결과 키감은 너무 좋으나, 화살표에 익숙해지기가 너무 힘들었다. 굳이 이렇게까지 익혀야 하나 라는 생각에 리얼포스쪽을 둘러보았다. 타건은 해보지 못했으나 해피해킹의 키감에 비해 치는 느낌이 적다는 평을 보고 조금 시야를 넓혔..

    프로그래밍 Design Pattern 이해하기 - 9 이터레이터 패턴 & 컴포지트 패턴 <2>

    저번 Iterator pattern에 이어 이번엔 컴포지트 패턴(Composite Pattern)이다. 맞다. 다른 패턴으로 문제를 푸는 방법에 대해 알아보려고 한다. Iterator도 문제법 중 하나이지만, 이제 이야기할 '컴포넌트 패턴'도 또다른 문제를 푸는 하나의 방법이다. 복합 패턴은 부분 - 전체 계층을 표현하기 위해 트리 구조로 개체를 구성 할 수 있습니다. 복합 클라이언트가 균일 개별 개체와 개체의 조성물을 처리 할 수 있습니다. The composite pattern allows you to compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individua..