프로젝트 수행을 하다보면 많은 Know-How가 쌓이게 됩니다. 그래서인지 가끔 이런 이야기를 듣기도 합니다. 이 부분은 지난번에 만든 것과 비슷하잖아. 그대로 가져다가 사용하면 금방 하겠네!소프트웨어공학적으로는 분명히 맞는 이야기이지만 현실적으로는 쉽지 않은 것이 사실입니다. 바로 소프트웨어의 재사용성(Re-Use)에 대한 고려 없이 프로젝트를 진행하기 때문인데요. 프로젝트 수행 기간의 단축에 따른 충분한 설계 없이 개발에 들어가는 현실 때문인 것 같기도 합니다. 소프트웨어 3R의 정의 - 완성된 소프트웨어 프로그램을 기반으로 역공학(Reverse-Engineering), 재공학(Re-Engineering), 재사용(Re-Use)를 통해 소프트웨어의 생산성을 극대화 하는 기법 소프트웨어 3R의 필요성 ..
지난번에는 안드로이드 옵션 메뉴에 대해서 살펴봤는데요. 2011/09/29 - [프로그래밍/안드로이드] - 안드로이드 옵션 메뉴 만들기 이번에는 컨텍스트 메뉴를 만들어 보도록 하겠습니다. 컨텍스트 메뉴는 해당 뷰를 길게 누르고 있으면 나타나는 메뉴입니다. 기본적인 개념은 옵션메뉴와 크게 다르지는 않지만, 특정한 뷰를 기반으로 하고 있다는 점이 큰 차이라고 할 수 있습니다. 컨텍스트 메뉴와 관련된 메소드는 다음과 같습니다. 컨텍스트 메뉴 생성 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) 컨텍스트 메뉴 선택 public boolean onContextItemSelected(MenuI..
안드로이드 관련 기본적인 사항들을 나중에 찾기 쉽도록 하니씩 정리해 볼 계획입니다. 첫 번째로 옵션 메뉴에 대한 내용입니다. 안드로이드와 아이폰의 가장 큰 차이는 바로 이 옵션 메뉴가 별도로 있다는 건데요. 옵션 메뉴는 다음 그림과 같이 기본적으로 6개까지 나타낼 수 있습니다. 6개가 넘어게 만들 수도 있는데요.. 이런 경우, 마지막 항목에 "More.." 가 나타나게 되지요. 옵션 메뉴를 만들기 위해 필요한 메소드들을 먼저 정리해 봤습니다. 옵션메뉴 생성 public boolean onCreateOptionsMenu(Menu menu) 실행 중 옵션메뉴 변경 public boolean onPrepareOptionsMenu(Menu menu) 메뉴항목 선택 public boolean onOptionsIt..
아이폰 App을 만들고 나면 AppStore에 등록해야 합니다. 이때 누구나 App 이름과 설명을 어떻게 작성해야 사용자들에게 효율적일 수 있을까 하는 고민을 하게 됩니다. 보통 이런 문제에 있어서 어떤 방식이 낫다고 할 수는 없습니다. 그래서 사용자의 관점에서 바라봤을 때 보다 효율적인 방법을 제 나름대로 정리해 보려고 합니다. 1. 제목 제목은 제작한 어플의 이름이기도 하고 검색에서 주로 활용되기 때문에 매우 중요합니다. 어떤 곳에서는 제목을 아래와 같이 매우 길게 하기도 합니다. 꽃배달 OOO - OO OOO 무료전화, 할인쿠폰, 기념일 계산기 대리운전 퀵서비스 꽃배달 - OOOO 이 경우, 다양한 검색어에 어플이 나올 수 있다는 장점은 있으나 왠지 어플 자체가 좀 고급스러워 보이지 않다는 점이 있..
RSS 리더를 구현하거나 웹과 관련된 프로그램을 구성할 때, URL을 입력해서 해당 글을 가져오는 루틴이 필요한 경우가 종종 있습니다. 이 경우, 항상 문제가 되는 것이 바로 인코딩 문제인데요. 웹사이트의 경우, 인코딩을 주로 UTF-8과 EUC-KR의 두 가지를 사용해서 처리하고 있습니다. 제가 처음 RSS 리더인 RSSNym을 개발할 때 사용한 방식은 먼저 해당 URL의 텍스트를 한번 읽어온 후 인코딩 정보를 검색했습니다. 그래서 UTF-8인지 EUC-KR인지 확인하고, 인코딩을 설정해서 해당 URL의 글을 가져오는 방식을 사용했습니다. 어떤 인코딩으로 처리하든지 영문으로 된 텍스트는 깨지지 않는다는 점을 활용한 것이죠.. 하지만 이 방식은 같은 URL을 두번씩 읽어오게 되므로 효율성에 문제가 있었습..
미래는 꿈꾸는 사람들의 것이다. - 엘리노어 루즈벨트 나폴레온 힐의 "불멸의 어록"에 보면 다음과 같은 문구가 나온다. "지구상의 모든 성취와 부는 아이디어와 꿈에서 시작된 것이다." "우리는 머리로 생각할 수 있는 것이라면 무엇이든 그리고 가슴으로 믿을 수 있는 것이라면 무엇이든 성취할 수 있다." - 꿈은 우리로 하여금 낙담으로부터 벗어나게 해주는 힘을 지니고 있다. - 꿈은 우리로 하여금 역경을 헤쳐 나갈 수 있도록 해주는 힘을 지니고 있다. - 꿈은 우리로 하여금 목표를 설정하여 삶을 활력과 열정으로 채우도록 하는 힘을 지니고 있다. - 꿈은 우리로 하여금 역량을 최대로 발휘하도록 하고 부정적인 생각으로부터 우리를 보호해주는 힘을 지니고 있다. - 무엇보다도 꿈은 우리로 하여금 최고의 성취는 가장..
올해 TED Global 2011년에 발표된 영상입니다. 비행할 수 있는 로봇은 많지만 새처럼 나는 로봇은 이것이 처음이라고 하네요. 영상을 보면, 다른 TED 동영상과 달리 직접 발표장에서 두번이나 날으는 로봇의 시연을 합니다. 청중들의 반응이 정말 좋습니다. ^^ 실제 설계한 내용에 대해서도 간략하게 설명하는데요. 초경량에 날개 구조에 대한 물리학적인 간단한 이야기 등 어쨌든 흥미롭습니다. 이걸 보면서 든 생각은 저런 형태의 날개와 엔진을 사람에게 탈부착한다면 어떨까 하는 생각이 들었습니다. 무게도 450g 정도밖에 안되니 충분히 가능할 것 같은데요.. 영화에서 보던 날아다니는 사람도 곧 가능하지 않을까 하는 생각을 해봅니다. 영상을 첨부하니 관심있는 분들은 살펴보세요.. 참고로 아래는 이전에 올린 ..
이번에는 Apache를 설치한 후 init.d에 자동실행 설정하는 내용을 정리해 보도록 하겠습니다. install 버전으로 설치한 분은 이전 글을 참고하면 좀 더 쉽게 등록할 수 있습니다. 2011/08/19 - [프로그래밍/리눅스] - 우분투에서 아파치 서버 설치 1. 실행 스크립트 복사 Apache 실행 스크립트인 apachectl을 /etc/init.d에 httpd라는 파일명으로 복사합니다. > cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 2. chkconfig를 이용해 자동실행을 등록 > chkconfig --add httpd 이 명령어를 실행해보면 "httpd 서비스는 chkconfig를 지원하지 않습니다."라는 오류가 납니다. 3. chkcon..
프로그래밍에서 Tool을 사용할 때 단축키가 왜 많이 쓰일까요? 바로 조금이라도 코딩등의 시간을 단축시켜 주기 때문이 아닐까 합니다. 꼭 단축키를 잘 써야 프로그래밍을 잘하는 것은 아니지만. 그래도 필수적인 몇가지 단축키는 알고 있어야 하지 않을까 합니다. 제가 자주 사용하는 것은 파란색으로 표시해봤습니다. 특히 Ctrl + Shift + O와 같은 것은 생각보다 자주 쓰게 되니 꼭 알아 두시면 좋겠네요. 단축키 설명 F3 에디터에서 메소드, 필드, 클래스의 정의를 검색 [Ctrl + 마우스클릭과 동일한 기능] F4 에디터에서 Hierarchy 뷰 상속 구조 표시 F5 디버그에서 메소드 안으로 진행 (Step Into) F6 디버그에서 한 스텝 진행 (Step Over) F7 디버그에서 현재 메소드 리턴..
요즘 기사들을 보면 4G LTE 관련 내용들이 정말 많은 것 같습니다. 3G의 답답한 속도에 지친 사용자들의 Needs에 따라 등장하는 4G LTE는 정말 기대가 많이 되기는 합니다. 제가 예전에 4G 통신으로 LTE와 WiMAX(Wibro)가 경쟁할 것이라는 글을 올린 적이 있는데.. 이제는 4G 통신의 기본으로 LTE가 정해져 가는 것 같습니다. 2010/01/10 - [컴퓨터공학/디지털서비스] - IP기반 4세대 표준이동통신망 4G 개념 위 글에는 4G의 주요 기술인 MIMO, Smart Antenna, UWB, OFDM 등의 내용도 포함되어 있으니 관심있는 분들은 한번 살펴보시기 바랍니다. 현재 4G LTE와 관련된 이슈들이 많이 나와서 한번 정리해 보려고 합니다. 1. 현재 LTE폰의 속도는 얼..