전체보기 238

[Pattern]State Pattern과 Strategy Pattern

프로젝트 네이버 개발자센터 URL : http://developer.naver.com/projects/dpviedorental State Pattern과 Strategy Pattern을 이용하여 기존의 코드는 최대한 건드리지 않고 클라이언트 코드만 수정하여 구현하도록 만들었다. 아직 디자인패턴을 배우는 단계이지만 최대한 OCP를 지키면서 구현하려고 노력했다. 객체지향에서는 모든 변화의 단위를 클래스로 표현한다. 그렇게 작성해야 차후에 변경(유지/보수)이 편리하기 때문이다. 변화의 단위 중에 상태와 전략(알고리즘)을 구현하는 설계패턴에 대해서 알아보자. State Pattern스테이트 패턴은 상태를 클래스로 표현한다. 상태를 클래스로 표현하면 상태의 변화를 클래스의 교체를 통해서 나타낼 수 있다. 새로운 ..

[스티브 잡스 1주기]잡스와 애플

잡스가 세상을 떠난지 벌써 1년이 지났다. 잡스가 남긴 유산 위에서 애플은 계속해서 지속적인 성장과 발전을 이루고 있다. 물론 '혁신'이라는 평가는 더이상 받지는 못하지만 아직도 애플은 시장을 선도하는 기업으로 굳건히 자리를 지키고 있다. 이 글에서는 지금의 애플을 있게 만들고 인류의 삶을 윤택하게 만든 잡스의 생애에 대해 얘기를 하려고 한다. 물론 아주 세세한 부분까지는 다룰 수 없다. 자서전과 영화, 위키백과를 통한 필자의 지식으로 채워 넣을 예정이기 때문에 정확하지 않을 수 있다. 혹시 잘못된 부분이 있다면 댓글을 남겨주기 바란다. 잡스가 공학에 관심을 갖기 시작한것은 그의 아버지가 '히스키트'라는 전자공학 키트를 선물하면서부터 이다. 잡스의 양아버지 '폴 라인홀트 잡스'는 기계공이었다. 잡스는 아..

Engineering/Issue 2012.10.05

[Guitar] Love - John Lennon

난 비틀즈가 좋다. 그리고 비틀즈의 존 레논과 폴 메카트니의 노래를 듣고 있자면 감성에 젖고는한다. 첨에 들을 때는 무슨 말인지 전혀 몰랐지만 와닿았고 지금은 가사의 의미를 조금씩 알아가는것 같다. 하지만 아직 존 레논과 폴 메카트니의 감수성을 따라가려면 멀은 것 같다. 존 레논의 LOVE는 코드도 쉽고 부르기도 쉬운 편의 노래이다. 그리고 가사에 담긴 의미가 깊다. 기타 연습하기 쉬운 곡이다. 필자도 이 곡을 너무 좋아한다. 상투적이지도 않고 편히 부르는 듯한 창법이 진심이 느껴지는 듯하다.

Guitar 2012.10.03

[Eclipse] 이클립스 단축키

소스단축키1. 클래스나 메소드,멤버를 상세하게 검색하고자 할때 : ctrl + 마우스커서(F3) 2. 해당클래스의 Hierarchy를 보려고 할때 : 클래스명 선택하고 F4 이동 단축키 1. 열린 파일 모두 닫기 : CTRL + SHIFT + F4 2. 한줄 삭제 : CTRL + D 3. 현재 줄 이동 : ALT + UP or DOWN 4. Editor 로 커서 이동(컴파일 중 에러등으로 포커스가 다른데로 갔을 때) : F12 5. 특정 줄번호로 가기 : CTRL + L 6. 다음 문제(오류부분으로 가기) : CTRL + .(점) 7. 이전 문제(오류부분으로 가기) : CTRL + ,(콤마) 8. 다음(이전) 편집창으로 이동(윈도우에서의 Ctrl+Tab 과 같은 기능) : CTRL + (Shift) + ..

Programming/Tool 2012.09.29

[tortoiseSVN] Windows에서 tortoiseSVN을 이용한 SVN 사용하기

SVN은 프로젝트를 공동으로 수행함에 있어서 없어서는 안 될 정도로 무지하게 편리한 개발툴이다. 여러 사람이 공동의 레파지토리에 소스코드를 등록하고 빼올 수 있을 뿐만아니라 코멘트도 달 수 있고 자동으로 버전관리도 해준다. 히스토리를 이용하면 자신이 원하는 리비전으로 되돌릴 수도 있으며 각 리비전 사이의 소스코드의 변화도 한눈에 알 수 있다. 그러면 이렇게 편리한 SVN을 사용하려면 어떻게 해야하는가?? 필자는 Windows에서는 tortoiseSVN을 애용하고 Mac OS에서는 SVNX를 애용한다. 여기서는 tortoiseSVN에 대해서 배워보자!! tortoiseSVN 다운로드 URL : http://tortoisesvn.net/downloads.html 일단 tortoiseSVN을 다운 받는다. 그..

Programming/Tool 2012.09.27

[Breaking Jobs]PhoneGap을 이용한 LG스마트TV, 스마트폰 통신 프레임워크

기존의 SOD프로젝트를 LG스마트TV에서 작동할 수 있도록 수정하는 프로젝트이다. 프로젝트 구글코드 URL : http://code.google.com/p/sod-lg-smart-tv-project/데모 동영상 : http://youtu.be/j7NfMcUrGu8 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Project description// Name: sod-lg-smart-tv-project// Description: This system can connect between smart phone..

[C/C++]C를 이용한 이진탐색트리 라이브러리

과제로 이진탐색트리를 구현하였다. 이진탐색트리를 다음에 이용할 때는 이 라이브러리를 이용하여 구현한다면 다음부터 이진탐색트리의 구현이 매우 편리해질 것같다. 1. BSTError.h 이진탐색트리에서 발생하는 에러 중에 필자가 직접 확인한 에러들에 관한 에러코드들을 규정했다. //에러 코드 #define BST_OK 0x00000000 #define BST_MALLOC_FAIL 0xff000001 #define BST_KEY_ALREADY_EXIST 0xff000002 #define BST_KEY_NOT_EXIST 0xff000003 #define BST_NODE_IS_NULL 0xff000004 2. BST.h 이진탐색트리에 관한 소스이다. 이진탐색트리의 노드와 삽입, 삭제, 순회에 관한 코드들이 구현되..

Programming/C, C++ 2012.09.26

[Breaking Jobs]PhoneGap을 이용한 구글TV, 스마트폰 통신 프레임워크

장소에 기반한 서비스를 제공하기 위하여 스마트TV를 중심으로 스마트폰을 대상으로한 서비스를 제공하는 프레임워크 개발 프로젝트이다. ///////////////////////////////////////////////////////////////////////////////////////////////// 2012 공개소프트웨어 경진대회 동상 6th Open Source Software World Challenge 2012Bronze Prize : http://project.oss.kr///////////////////////////////////////////////////////////////////////////////////////////////// 프로젝트 구글코드 URL : http://code..

[iPhone4] 아이폰4에서도 파노라마 기능을 이용하자!!

아이폰5, 아이폰4S는 iOS6로 업그레이드 되면서 파노라마 기능을 제공해준다. 하지만 아이폰4는 iOS6로 업그레이드를 해도 파노라마 기능을 제공하지 않는다. 하지만 파노라마기능을 이용할 수 없는것은 아니다. 필자는 iOS6가 나오기 전부터 파노라마기능을 이용했다. Panorama 360이라는 앱을 이용하면 아이폰4에서도 퀄리티있는 파노라마 사진을 이용할 수 있다. Panorama 360 : http://itunes.apple.com/kr/app/360-panorama/id377342622?mt=8

Tips/iPhone 2012.09.23