티스토리 툴바


IT/applications2012/01/28 16:50
7 zip 을 이전에 소개한 적이 있다. 원래 freeware 인 파일 압축 및 해제 프로그램이다. 그런데 이 tool 의 또 하나의 쓸만한 점이 있다. ISO 파일을 mount 하지 않고 압축 파일처럼 7-zip 으로 압축해제해서 사용할 수 있는 것이다. ISO 파일은 보통 Daemon 같은 image mount tool 을 이용해서 가상 drive 로 mount 을 해서 사용한다.

즉, 가상 드라이브로 mount 하는 방식을 7 zip 으로 하나의 폴더로 보이게 하는 방식이므로 실제 사용하는데 있어서 차이가 없다. 7 zip 을 이용해서 ISO 파일을 압축해제해서 사용하면 별도의 image mount tool 을 사용하지 않고 쉽게 ISO 파일을 이용할 수 있다. 
저작자 표시 비영리 변경 금지
Posted by SHL SHL
Diary2012/01/25 21:29
살면서 고민 없는 사람이 있겠느냐만은 작년보다 올해 더 고민이 늘어난 거 같다. 이래저래 두려움과 걱정이 앞서는 성격이지만 정말 올해에는 많은 것을 생각하게 된다. 나를 믿어주는 사람들에게 내가 얼마만큼 기대를 저버리지 않고 잘 해낼 수 있을까 또, 하고 싶은 일이 있어서 나를 믿어주는 이들을 등지고 그냥 가버릴 수 있을까

아니면 하고자 하는 것에 그 기대가 두려워 도망가듯이 등지고 그냥 피하는 것은 아닐까. 결정해야 할 것들을 미루고 미루어 올해까지 온 느낌이다. 과감하게 결정하고 나를 과장하고 있는 껍질들을 벗기고 용기있게 현실에 마주해야 하는데 미루고 미뤄서 포장을 하고 나태해지고 회피하면서 올해까지 온 것 같다.
 
다시 미룰 수 있겠지. 좀 더 기다리면 나아질거야 라는 말로 자신을 위로하고 지금도 그러고 있다. 어떨 때는 예상보다 좋은 성과를 얻거나 믿음을 얻고 반대로 미움을 받고 멀어지기도 하고. 내가 가진 것보다 더 가진 것처럼 보여서 혹은 실제 능력보다 더 잘난 것처럼 보여서 과대포장되었을 때 그것을 아니라고 용기있게 밝히고 실제의 나를 보여주지 못하는 것 같다.

Overreaction 일수도 있겠지. 그렇지만 그러기엔 한 없이 부족하다. 뒤돌아 보면 뭐하나 내 힘으로 이룩한 것이 없다. 온전히 하나의 과제를 완성시켜본 일도 내 힘으로 무언가를 제대로 된 값을 주고 얻어본 적이 있지를 않다. 아무런 도움 없이 모든게 없어진다면 나는 한없이 초라한 인간일 것이다.

이제 결정을 할 때가 된 것 같다. 실제 내가 어느정도 위치인지, 지금 과장된 껍데기를 쓰고 울타리 속에서 인정받는 척 의기 양양하게 회사나 집에서 안주하면서 산 내가 실제 그러한 것들을 탈피하고 밖으로 발을 내딛었을 때 얼마나 혼자서 성취하고 이루어나갈 것인지. 실패할 수도 있고 기대를 저버릴수도 있다. 그래도 나를 끝까지 믿어주는 이들이 있기에 이제 결정을 하고 나아갈 때라 믿는다. 
저작자 표시 비영리 변경 금지
Posted by SHL SHL
IT/MacOS2012/01/15 20:21
Mac app store 에서 쓸만한 구글 리더 앱들은 대부분 유료이다. 가장 유명한 것으로는 역시 iOS 에서도 높은 인지도를 가진 Reeder 라고 할 수 있겠다. 그런데 꽤 괜찮은 Google Reader Viewer(?) 가 공짜로 app store 에 등장헀다. 물론 Mac 용이다. iOS 에서는 요새 Flipboard 에 꽂혀서 다른 RSS reader app 은 아예 쓰지도 않는데, 맥에서는 쓸만한 것이 없다가 마침 잘 되었다 해서 냉큼 깔아보았다.

Mac app store 에서 Cappuccino 로 검색하면 아래와 같이 해당 앱을 확인할 수 있다. 아직 문제가 있는지 최초 Google Reader account 을 입력하면 RSS feed 를 잘 긁어오나 그 이후로 제대로 긁어오지 못한다. 무엇이 문제인지 아직 모르겠다.
머 하지만 다음에는 고쳐질 것으로 기대하며...

깔끔한 UI 를 가진 Cappuccino

 
설치를 하고 실행을 하면 아래 그림과 같이 Google account 을 입력하도록 되어 있다. Google account 를 입력하면 Google Reader 에 등록된 RSS feed 정보들을 이용해 정보들을 긁어와서 Cappuccino 에 업데이트를 수행한다.


앱을 실행하면 Google Reader Account 를 요청한다.

 

Cappuccino 에서 실행되는 구글 리더의 뉴스들. 깔끔하고 읽기가 좋다. 무엇보다 영어 폰트가 맘에 듬.


당연히 Cappuccino 를 통해서 Facebook, Twitter 와 SNS 를 통한 기사를 sharing 을 할 수 있다. 그러나 바로 되는 것은 아니고 Twitter, Facebook에 등록하기 위해 Cappuccino 의 오른쪽 상단의 share 를 수행하면, 실제 웹 (Safari, Chrome) 에서 해당 SNS 사이트가 실행되며 거기에 해당 기사의 헤드라인과 link 가 자동으로 적히게 된다.

상당히 깔끔하고 쓸만해서 사용하려고 했으나 Google Reader 와 연동 문제인지 앱 자체의 문제인지 update 를 해도 제대로 Google Reader 에서 RSS feed 의 최신 news 들을 가져오지 못하고 있다. 좀 더 안정화가 되면 꽤나 쓸만한 Reeder app 이 될 것으로 보인다. 

저작자 표시 비영리 변경 금지
Posted by SHL SHL
IT/Google Chrome Story2012/01/12 23:06
Chrome Extension 중에서 Recent History 라는 확장 프로그램이 있다. 구글 크롬에서 방문했던 페이지를 기본적으로 확인할 수 있지만 이 프로그램을 쓰면 날짜별로 다양한 view mode 로 확인할 수 있다.

Recent History - Chrome Extension

 
해당 확장 프로그램을 설치하면 크롬 URL 의 오른쪽 편에 시계 모양 아이콘이 생긴다. 해당 아이콘을 클릭하면 방문 목록이 나오고 검색도 할 수 있다. 맨 밑쪽의 모든 방문 목록 표시를 누르면 아래 그림과 같이 날짜별로 다양한 view mode 로 방문 목록을 확인할 수도 있다.

Recent History

 
우연히 발견한 좋은 사이트를 history 목록에서 찾을 때 꽤나 유용하게 사용할 수 있을 것으로 생각된다. 
저작자 표시 비영리 변경 금지
Posted by SHL SHL
Diary2012/01/06 12:00
카톡으로 날라온 bug report. 휴가 중인데 생각을 안할수가 없다. 그래서 머리속으로 찬찬히 debugging 해보니 원인을 찾았다. 분명 다음 주에 회사 가면 잊어버리니 여기다 적어놔야지.

data 의 위치 정보를 가지고 있는 meta 정보를 이동하는 경우가 있는데 이 때 meta 위치 정보도 바뀌게 되는데 해당 정보를 update 하지 않고 이동시켜서 문제가 발생한다. 즉, meta 정보를 이동할 때 meta 위치 정보도 갱신해줘야 한다. 왜냐하면 meta 정보에 meta 위치 정보가 같이 들어있기 때문이다.

월요일날 가서 고쳐야지. 
저작자 표시 비영리 변경 금지
Posted by SHL SHL
Diary2012/01/01 00:42
개인적으로 다사다난하고 빨리 지나가기를 바랬던 2011년이 지나갔다. 게으르고 별 감흥없이 시작된 2011년이지만, 많은 갈등과 또 다른 즐거움과 행복이 찾아오기도 하며 다시 어려움도 있었지만 비교적 잘 마무리가 된 것 같다. 회사에서 올해 하반기에 했던 project 가 12월 31일에 무사히 demo 를 할 수 있을 정도로 매듭지어졌다.
2012년의 시작이 순탄하지만은 않지만 그래도 심심하고 재미없었던 2011년의 시작과는 다른 도전적이고 설레임을 갖고 또 다른 인연을 찾을 수 있는 계기가 되는 한해가 될 것 같다. 지난 1년의 절반이상을 정체되어 있다가 많은 자극을 받고 다시 이전의 모습으로 계속 앞으로 나아가려고 노력하는 모습을 찾기 시작할 때 즈음 맞이한 2012년에 정말 좋은 일들이 가득하길 바래본다.  
저작자 표시 비영리 변경 금지
Posted by SHL SHL
IT/MacOS2011/12/23 00:16
Mac OS 에 대한 기본적인 확장 프로그램을 사용하면 tiff 확장자로 저장이 된다. 이럴 경우 tiff 확장자를 jpg, png 로 바꿔야만 블로그를 작성하거나 다른 곳에 사용할 수 있는 경우가 있으므로 번거롭다.
SnapNDrag 는 이러한 고민을 해결해주는 캡쳐 프로그램이다. 실행시키면 아래와 같이 화면이 뜨는데 확장자를 지정할 수 있고 Mac OS 의 기본 화면 캡쳐 프로그램같이 캡쳐 방법을 설정할 수 있다.

캡쳐 이미지의 퀄리티 등 세세한 면을 지정할 수 있고 파일 이름도 미리 지정할 수 있다.


 SnapNDrag 프로그램을 이용해서 캡쳐를 하면 아래와 같이 파일 변환 없이 png 파일로 바로 저장할 수 있는 것을 확인할 수 있다. 저장을 상단의 SnapNDrag menu 에서 File -> Save as... 을 이용하면 된다. Filename 을 미리 지정해놓으면 그 이름이 저장할 파일이름으로 나온다.

 
저작자 표시 비영리 변경 금지
Posted by SHL SHL
IT/Windows 72011/12/06 21:20
많고도 많은 Windows OS 최적화 Tool 이 있다. 그 중에서도 쓸만한 건 CCleaner 였다. 최척화 툴은 많지만 쓰면서 그렇게까지 맘에 드는 것도 없었꼬 CCleaner 역시 그냥 한번씩 정리할 때만 쓰는 정도였다. 그러던 와중에 TOOLWIZ 라는 툴을 발견했다. 일단 아래 그림과 같이 예쁜 GUI 가 맘에 들었고 무엇보다 one click 으로 registry 정리 및 조각모음까지 한번에 진행되는 것이 맘에 든다.

해당 프로그램에 plug-in 을 이용해 security 부분까지 좀 더 면밀하게 검사 및 수정이 가능하고 기분 툴로써도 system performance monitoring 이나 성능, 공간 최적화가 가능하다. 

"Check Up" 버튼을 누르면 위와 같이 검사를 시작한다. 잘못된 registry 정보를 scanning 한다.

 

check up 이 끝나면 위와 같이 결과가 나온다. "Fix Issues" 를 클릭하면 registry 수정 및 조각모음이 시작된다.


전반적으로 PC 를 최적화시켜준다. 항목에서 볼 수 있듯이 잘못된 shortcut 을 삭제하거나 dump file 도 확인한다.


원클릭으로 최적화가 가능한 TOOL WIZ. 가장 간편하고 쓰기 편한 괜찮은 최적화 툴로 생각된다.

저작자 표시 비영리 변경 금지
Posted by SHL SHL
IT/MacOS2011/12/01 22:22
Mac OS 에서 Eclipse CDT 를 설치하고 잘 쓰다가 Lion 으로 upgrade 하고 gcc compile이 터미널이나 Eclipse 에서 동작하지 않는 문제가 발생했다. 예상대로 OS upgrade 를 하고 gcc path 가 잡히지 않는 문제였다. 해결 방법으로 path 를 설정할까 했는데 구글링을 하다가 아주 쉬운 방법을 찾게 되었다.

Xcode (Mac, iOS 개발 tool)을 설치하면 gcc path 가 잡히게 되는데 OS upgrade 를 하면 OS version 이랑 Xcode 가 구버전일 때 맞지 않는 경우가 있다. 이 때 Xcode 를 업데이트하면 gcc path 가 다시 제대로 잡혀 compile 이 정상적으로 수행되는 것을 확인할 수 있다. 
저작자 표시 비영리 변경 금지
Posted by SHL SHL
C & C++2011/11/15 23:22
회사에 입사해서 C language 를 기반으로 개발을 한 것이 6년이 되어가는데 가끔은 정말 기본적인 것들을 잊어버리게 된다. 그 중 하나가 최근에 한 실수인 dereferencing pointer address 이다. 이것은 type casting 과 엮여서 문법적으로 문제가 없어보여도 실제로는 defect 을 야기하게 되는 부분들이다.

Source Code


위의 코드는 매우 간단하다. 사실 작성하기 조차 민망할정도로 초급인데, 변수를 출력해주는 것이다. print_out 함수에서 인자를 value 로 받지 않고 address (pointer) 로 받는다. 이 때 nVal 변수는 unsigned short type 이므로 unsigned int * 로 다른 pointer type 으로 casting 하게 되면 해당 주소값이 바뀌게 되므로 값이 garbage value 가 들어가게 된다.  (오늘 휼륭한 개발자와 얘기한 결과 내가 잘못 알았다) pointer 는 4 byte 이므로 address 가 변하지 않고 단지 2 byte 에서 4 byte 로 casting 되어서 앞의 2 byte 의 값이 의도하지 않은 값 (즉, 다른 값)이 들어갈 수 있게 된다.

The Result

결과를 보면 알 수 있듯이 컴파일 자체가 불가능한 가운데 print_out 을 제외하고는 (type casting 한 값의 pointer address 를 얻으려고 하면 lvalue error 가 발생함) 위와 같이 결과값이 나온다. 즉, 실수로 위와 같이 pointer address 를 type casting 한다면 실제 해당 address 의 값이 전혀 엉뚱하게 들어가게 되어 문제를 야기하게 된다.
그러므로 함수의 변수에 pointer type 을 쓸 때 이러한 점을 유의해야 할 것이다.

저작자 표시 비영리 변경 금지
Posted by SHL SHL