2012년 8월 24일 금요일

구글 플러스의 url 주소를 닉네임을 이용한 단축 url 주소로 만들기

<구글 플러스 사용자를 위한 유용한 팁>

구글 플러스 계정을 만들면, 상당히 긴 url 계정을 사용한다. 이를 닉네임을 이용하여 단축 url을 만들 수 있다.

http://gplus.to/ 를 방문해 보자.

아래 그림처럼 Nick Name와 구글 플러스의 url에서 아이디를 입력하고 add 버튼을 누르면, 녹색 바탕화면에 단축 url이 나온다. 구글 플러스 아이디는 긴 url에서, 아래 그림처럼 파란색 바탕의 숫자를 입력하면 된다.


* Nick Name : asurada0320
* google + ID : 116780068~
를 입력했더니, http://gplus.to/asurada0320 이라는 단축 url이 나왔다.

다른 사람들에게 알려줄 때, 유용해 보인다.

참고 사이트를 보니, 작년 7월에 작성된 글이다. 쩝... 뒷북인 듯...

< 참고 사이트 >
* 러브드웹의 인터넷이야기 : http://loved.pe.kr/entry/Make-short-URL-for-Googleplus

2012년 8월 23일 목요일

좋은 프로그래머가 되는 24가지 방법(출처 : Tech It!)

자주 들어가는 Tech It! 사이트에 이런 글이 있어서, 계속 보려고 내용을 써본다.
출처 : http://techit.co.kr/9411

좋은 프로그래머가 되는 24가지 방법

BY 2012년 8월 23일 

평생 개발자로 일하기 위해서 가져야 할 좋은 습관들을 알아보자. 추가로 의견이 있으면 댓글로 달아서 같이 공유를 하면 어떨까?

1. 프로그래밍에 열정이 있어야 한다. 열정이 없고 즐기지 못하면 평생 지속하기 어려운 일이다. 지금 환경이 있는 열정도 꺾어버릴 만큼 열악하다면 심각하게 변화를 생각해야 한다.

2. 프로그래밍 기초 원리를 이해해야 한다. 원리를 모르면 근본적인 해결능력이 떨어지고 수준 높은 개발을 하기 어렵다.

3. 문제 해결 능력을 키워야 한다. 개발자의 가장 중요한 핵심 역량이다.

4. 창의적인 사람이 되라. 대부분의 좋은 해결책은 창의력에서 나온다.

5. 다른 사람의 소스코드를 이해할 수 있는 능력을 키워야 한다. 다른 사람의 소스코드에서 많은 것을 배울 수 있다.

6. 수학을 잘 해야 한다. 수학을 못하면 값싼 쉬운 개발 밖에 못한다. 수학에 관심을 가지고 재미를 느껴보는 것도 한 방법이다.

7. 좋은 커뮤니케이션 스킬을 갖도록 노력해야 한다. 프로그래밍은 컴퓨터와 얘기하는 것이 아니고 사람들과 얘기하는 것이다.

8. 협업 능력을 키워라. 다른 사람과 일을 나눠서 할 수 있어야 내 몸값이 비싸진다. 혼자 일하는 것만 잘하면 평생 혼자 일해야 한다.

9. 논쟁(debate) 능력을 키워야 한다. 고급 개발자가 될 수록 토론하는 일이 늘어날 것이며, 좋은 토론이 좋은 소프트웨어를 만든다.

10. OOP를 완전히 이해해야 한다. OOP는 좋은 Architecture의 핵심이고, 협업능력을 키울 수 있게 해준다.

11. 남이 이해할 수 있는 문서를 작성할 수 있어야 한다. 문서 작성은 평생 따라다니는 중요한 업무이다. 문서작성을 못하는 개발자는 값싼 개발밖에 못한다.

12. 적어도 한가지의 개발언어는 완전히 마스터를 해야 한다. 마스터한 개발언어로는 어떠한 문제도 풀 수 있어야 한다. 모든 개발언어는 원리가 비슷하므로 다른 개발언어도 쉽게 배울 수 있다.

13. 적어도 한가지의 스크립트 언어를 구사할 수 있어야 한다. 간단한 툴은 쉽게 만들어 쓸 수 있다. 스크립트 언어로 쉽게 할 수 있는 일을 C언어로 작성하고 있다면 당장 Python을 공부해라.

14. 비즈니스를 이해해야 한다. 훌륭한 아키텍트가 될 것이다. 좋은 Architect는 비즈니스 전략에서 나온다. 비즈니스에 관심이 없다면 당장 돌아가는 Software는 만들 수 있어도 좋은 Architecture는 못 만든다.

15. 주변에 나보다 훨씬 뛰어난 프로그래머를 둬라. 끊임 없이 배울 수 있다. 주위의 뛰어난 개발자를 경쟁상대라고 생각하지 말고 스승으로 생각해라. 그도 나를 스승으로 생각할 것이다.

16. 끊임 없이 새로운 기술을 익혀라. 전쟁에서 쓸 무기가 많아질 것이다. 몇 가지 소수의 익숙한 기술만 고집하면 도태될 수 있다.

17. 습관적으로 주석을 달아야 한다. 주석은 남을 위해서 다는 것이 아니고 프로그래밍의 일부이다. 주석이 없어도 이해가 가능한 코드를 작성하는 것이 좋지만 그래도 주석은 꼭 필요하고 Doxygen등의 주석을 꼭 이용해라.

18. 남이 이해하기 쉬운 코드를 작성해야 한다. 나중에 내 발목을 잡지 않을 것이다. 내가 좀더 위로 올라가기 위해서는 아래가 자유로워야 한다.

19. 리뷰와 친해져야 한다. 평생 리뷰를 하며 사는 것이 프로그래머의 인생이다. 리뷰를 하지 않으면 발전하기 어렵다. 리뷰는 지금 프로젝트의 문제도 해결해줄 뿐만 아니라 내 프로그래머 인생의 가장 좋은 스승이다.

20. 건강을 유지해라. 건강을 잃으면 실력이고 뭐고 다 필요 없다. 야근도 좋지만 좋은 음식을 먹고 꾸준히 운동도 하자.

21. 좋은 의자를 사라. 건강을 지켜주고 효율을 높여준다. 프로그래머에게 의자는 침대보다 오래 머무르는 곳이다. 비싸고 좋은 의자일수록 좋다.

22. 인생을 즐길 줄 알아야 한다. 프로그래머로 오래 지속하고 싶으면 인생 자체를 즐기는 다양한 방법을 익혀야 한다.

23. 소프트웨어 공학을 익혀라. 주먹구구식 개발에서 벗어나게 해주고 프로그래밍이 더 이상 노동이 아니고 즐겁게 개발을 하게 해준다. 스펙과 설계문서를 작성하고 좋은 개발시스템하에서 적절한 프로세스를 적용해서 개발하는 것이 가장 빠르게 소프트웨어를 개발할 수 있는 방법이라는 것을 경험하고 깨달아야 한다.

24. 높은 연봉을 받을 수 있도록 꾸준히 노력하라. 위의 23가지 방법들을 따라 한다면 저절로 연봉이 높아질 것이다.

좋은 프로그래머가 되기 위해서는 주변의 환경도 중요하지만 본인의 의지나 습관도 매우 중요하다. 주어진 환경에 수동적으로 적응하기 보다는 좋은 프로그래머가 되기 위한 자신만의 방법들을 만들어 나가면 좋겠다.

[Android] Android NDK 빌드 환경 꾸미기

Android NDK Build 환경을 세팅할 일이 생겼다. 하나씩 하면서 진행해보자.

1. Android NDK 다운로드

 * http://developer.android.com/tools/sdk/ndk/index.html
 * 여기에서 Windows 용으로 다운로드 한다.
  - Revision 8b (July 2012) 버전이다.

 * 적당한 폴더를 지정하여 압축을 푼다.

 * 환경 변수 설정

  <Windows 경우>

   - ANDROID_NDK 라는 이름으로, 압축 푼 root 폴더를 지정해주자.

  <Linux 경우>

   - $HOME 경로에 보면 .bashrc 파일이 있다. 여기에 path를 설정해 주자.
    i. export PATH=${PATH}:/home/압축푼폴더/android-ndk-r8b
   - 입력 후 나와서, source .bashrc 라고 하면 적용된다.

2. Cygwin 다운로드(Windows만 해당)

 * http://cygwin.com/install.html
 * 여기에서 setup.exe 라고 되어 있는 link를 클릭하면, setup.exe 파일이 다운로드 된다.
 * 설치를 시작한 후, next 버튼을 눌러가며 진행한다.
 * 설치할 package를 묻는 창이 나오면, 아래 4개의 package를 선택하자.
  - Devel category
   i. devel/gcc-core
   i. devel/gcc-g++
   i. devel/make
  - editor category
   i. editor/gvim
   i. editor/vim 관련(2개 있음)
 * 설치를 마치는데까지 시간이 좀 걸린다.

3. 빌드를 해보자.

<Windows 경우>

 * 압축을 푼 NDK 폴더로 가서, ndk-build 를 실행해보자.
  - hello-jni 폴더로 들어가서, ndk-build 를 치면 잘 빌드되어, so파일도 잘 생긴다.
  - 1번에서 이미, ANDROID_NDK 라는 이름의 환경 변수를 만들어서, path에 등록을 해줬으니, 프로젝트 파일이 있는 곳(정확히는 /jni/Android.mk 파일이 있는 root 폴더)에서 ndk-build라고 하면 되는 것이다.
 * D:\~~~\hello-jni\libs\armeabi 폴더에 가면, libhello-jni.so 파일이 생성됨을 알 수 있다.

<Linux 경우>

 * 역시 마찬가지다. 1번에서 PATH를 설정해줬기 때문에, 실제 빌드할 폴더로 가서 ndk-build 만 입력하면 잘된다.
  - samples에 있는 hello-jni 폴더로 가서 하면 바로 libhello-jni.so 파일이 만들어짐을 알 수 있다.

4. 이클립스에서 hello-jni 프로젝트 생성해 보자.

 * 이클립스 화면

 * 설정 등을 해주고, application을 빌드하면 화면에 "Hello from JNI!" 라는 문구가 나오는 화면을 볼 수 있다.

5. Next 단계


 * Android NDK 예제를 만들어 보자.
  -  [Android] Android NDK를 이용한 예제 작성

6. 참고 사이트

 * android 공식 사이트 (NDK 다운로드 및 사용법)
  - http://developer.android.com/tools/sdk/ndk/index.html
 * cygwin 공식 사이트 ( install page)
  - http://cygwin.com/install.html
 * 기타 블로그
  - http://ninako21.tistory.com/487
  - http://mytv.pe.kr/tc/536
  - http://omen666.tistory.com/463
  - http://kottodat.com/xe/811 (Linux)

2012년 8월 20일 월요일

go 언어 개발환경(2) : syntax file - go.vim

go 언어의 개발 환경을 구성해보자.

<2번째> : go 언어를 위한 vim 에디터의 syntax file 설정

1. go 개발 환경에서 editor는 vim을 주로 이용한다(다른 editor를 사용해도 문제는 없다).
Linux에서는 vim을 설치하면 될 것이고, Windows 환경에서는 gvim(gvim73_46.exe)을 설치한다.
아래 경로에서 go.vim 파일을 받아서, 각 개발환경에서 필요한 경로에 파일을 복사를 하고, vimrc 파일에서 경로를 설정하자.
go.vim 파일 경로 : http://www.vim.org/scripts/script.php?script_id=2854

2. 개발 환경에 따른 설정.
 1) Linux 환경
   * $GOROOT\.vim\go.vim 을 복사한다.
   * etc\vim\vimrc 파일을 열어, 맨 밑에 아래와 같이 입력한다.
       if filereadable ("$GOROOT\.vim\go.vim")
           source $GOROOT\.vim\go.vim
      endif

 2) Windows 환경
  * gvim73_46.exe 파일(Vim의 Windows용)을 다운로드 받아서 설치한다.
   i. 다운로드 페이지 : http://www.vim.org/download.php
  * Vim 이 설치된 폴더에 go.vim 파일을 복사한다.
   i. C:\Program Files (x86)\Vim <- 여기에 복사
  * vim이 설치된 폴더에 보면 _vimrc 파일이 있다. _vimrc 파일을 열어 아래와 같이 입력한다.
   i. 아래 부분의 colorscheme은 원하는 색상으로 하면 될 듯...

2번에 걸쳐 go 언어 개발환경을 꾸며 보았다. 다음엔 뭘 할까?

3. 추가 환경 설정
 1) 한글 주석 깨짐 현상을 피하는 방법
  * C:\Program Files (x86)\Vim\vim73\mswin.vim 파일에 아래와 같이 추가를 하자.
      set encoding=cp949
      set fileencodings=utf-8,cp949
  * 이렇게 써주니, 주석으로 한글을 쓰고, 보는데에 문제가 없어보인다.
 2) 참조 사이트
  * KLDP : 윈도우용 GVIM에서 UTF-8문제.. http://kldp.org/node/85494 
 



<EOF>

go 언어 개발환경(1) : 기본 설정

go 언어의 개발 환경을 구성해보자.

<1번째> : go 개발환경 설정.
  • go 개발 환경 구성
이 페이지에서는 go 개발 환경 구성을 적어보도록 하자. Linux와 Windows에 대해서 작성해보자.

1. 관련 사이트
 1) 공식 사이트 : http://golang.org/
 2) 한국 모임
  * go 개발언어 관련 자료를 한국어로 번역하는 프로젝트 : http://code.google.com/p/golang-korea/

2. Getting Started
 위의 관련 사이트의 내용을 보고, 하나씩 따라하면서 정리를 해보자. 대부분 위의 사이트의 내용들이 될 것이다.

 1) 소개
  * Go는 BSD형태 라이센스인 오픈 소스 프로젝트이다.
  * Go를 컴파일하는 방법은 2가지가 있다.
   - gc Go 컴파일러
    i. 2개의 컴파일러 모두 잘 동작하지만, gc 컴파일러가 좀더 완성도가 높다.
    i. gc 컴파일러의 설치에 대한 더 많은 정보는 Installing Go from Source를 보자.
   - gccgo 컴파일러 : GNU C Compiler(GCC)를 이용함.
    i. gccgo 컴파일러의 설치에 대한 더 많은 정보는 Setting up and using gccgo를 보자.

 2) Go Tool-chain : C관련
  * Go 툴체인은 C로 작성이 되어있다. 아래와 같은 프로그램이 필요하다.
   - GCC
   - 표준 C 라이브러리
   - GNU make (3.81 버전 이후)
   - awk(오크) : Wikipedia(한글 , 영문)
   - 텍스트 에디터 ed : Wikipedia(영문)
    i. 텍스트 에디터는 여러 가지 취향에 맞게 사용하면 될 듯 함.
  * [Linux] 우분투/데비안에서 install하기
   - sudo apt-get install bison ed gawk gcc libc6-dev mak
   - 64bit 시스템에서 32bit 바이너리를 빌드하려면, libc6-dev-i386 패키지를 설치해야한다.
  * [Windows] 에 install하기
   - Windows에서 gcc 컴파일을 하기 위해 필요한 도구는 MinGW이다.
   - 다운로드는 여기서 MinGW를 받자.

 3) Go 소스 다운로드 및 설치
  * Go 소스를 가져오는 방법은 2가지가 있다. 하나는 다운로드 페이지에서 각 OS에 맞게 소스 및 installer를 다운 받아서 설치를 하면 된다. 다른 하나는 go 소스의 저장소에서 소스를 가져와서 빌드를 하면 되겠다.
  * 다운로드 페이지에서 가져오기
   - 다운로드 페이지에 보면 각 OS(Mac OS X, FreeBSD, Linux, Windows - 32bit/64bit)에 맞는 압축 파일 및 installer가 있다.
   - 각 환경에 맞게 다운로드 하여 원하는 폴더에 복사하여 사용하면 된다.
  * Mercurial 저장소에서 가져오기
   - Mercurial 로 소스를 가져오기 위해선 먼저 Mercurial을 설치하자.
    [Linux]
     i. apt-get install python-setuptools python-dev build-essential
     i. sudo easy_install mercurial (hg --version으로 확인해보니, 2.1.1 버전이네)
    [Windows]
     i. tortoiseHg 를 찾아서 설치한다. tortoiseSVN과 사용법이 비슷하여 좀 더 익숙하다.
     i. 다운로드 페이지 : http://tortoisehg.bitbucket.org/
   - Mercurial 로 소스 가져오는 명령어
    [Linux]
     i. hg clone -u release https://go.googlecode.com/hg/ go : 릴리즈 버전을 go 폴더에 가져온다.
     i. 릴리즈 버전이 아닌 소스를 받을 땐, release 단어를 빼면 된다.
    [Windows]
     i. tortoiseHg의 clone 기능을 이용하여 가져온다.Context Menu에 clone 메뉴가 있다.
     
 4) Go 설치 및 빌드
  * 샘플 소스 빌드하기
   - 소스를 받아서, src 폴더로 들어간다.
    i. [Linux]의 경우 all.bash파일을 실행하고, [Windows]의 경우 all.bat 파일을 실행하면 된다.
   - 빌드가 잘 된 경우에는 아래 화면 같이 나온다.

 5) 환경 변수 설정하기
  [Linux]
   * $HOME/.bashrc 파일에 다음처럼 추가하자.
  [Windows]
   * 환경 변수에 path에 C:\go\bin 폴더까지 설정하자. 또한, gcc 빌드를 위해 아까 설치한 MinGW의 bin 폴더도 환경 변수에 추가(C:\MinGW\bin)한다.

 6) 참고 사이트
  - GNU Operating System : http://www.gnu.org/
  - MinGW 사이트 : http://www.mingw.org/

블로그를 만들며...

google의 블로거를 이용하여, 개인용 블로그를 만들어 보았다.
이런 일을 하다니... 하~
인터넷에서 이런 저런 자료를 찾다보니, 정말 개인적인 블로그들에서 유용한 내용들을 접하게 되었다. 그렇다고 내가 남들에게 알려줄 수 있는 대단한 지식의 소유자도 아니라 알려줄 만한 것이 있지도 않다. 다만, 혼자 이것 저것 해보면서 정리하는 수준의 글들이 될 것이리라...

항상 pc의 파일로 저장되어 어디 있는지 찾기도 힘들고, 혼자만의 생각을 정리하는 것도 이렇게 글을 쓰면서 하면 좀 더 좋기에... 블로그를 해보기로 하였다.

이 블로그가 얼마나 오래 지속될 지, 어떤 내용으로 채워질지는 아직 모르겠다.
혼자서 뭐라도 할 때, 그냥 적게 될 것이리라...

2012년 8월 20일.
새벽에...