블로그 이미지
JEEN

서울에 사는 꽃청년의 IT찌질모험기

Rss feed Tistory
IT 2013.02.26 10:56

돌아보는 소소한 HTML / Git 의 역사적인 순간

 하루를 시작하려고 맥북을 열었더니 @yuni_kim 님께서 메신저로 아래의 링크를 던져주더랍니다.

 - WWW-Talk Jan-Mar 1993 : proposed new tag : IMG

 그러니 네, 20년전에 HTML IMG 태그가 Marc Andreessen 에 의해 제안되었습니다. 네, 그러니까 아시는 분은 익히 아시는 그 Marc Andreessen 입니다. 할려는 얘기는 이 사람 얘기는 아니었으니... 일단 패스 =3

 지금의 현란하고 복잡해지는 웹과는 달리 20년전 이미지 태그 제안이 올라가는 그런 시절의 웹이라니... 하긴 저도 뭐 97년쯤에 비싼돈(분당 요금 20원인가)에 웹에 접속하곤 했던 기억이... 하지만 뭐 있는 게 없으니... 2002년까지 나우누리 VT모드에서 주로 놀았었죠.

 마침 Github CEO 인 @defunkt 도 똑같은 내용의 트윗을 했더군요.

 더 재미있는 건...

 2092일 전, 2007년 6월 5일 @defunkt 는 git 을 배우고 있다고 트위터에 트윗을 했더라는 것입니다. :-) 그리고 2013년 지금은 Github 는 사무실 하나 없이 시작해서 지금은 관련기술을 선도하는 유명한 IT회사가 되어 있네요.

 전 그때 쯤에 아마 Google Tech Video 에서 Randal Schwartz 아저씨가 Git 에 대해서 강연하는 동영상을 본 기억이 있습니다. 이때까지는 SVN 을 쓰다가 SVK 를 써보려는 즈음 이었던 것 같네요.

 10년쯤 후에는 지금 또다른 누군가가 또 큰 조류를 끌고 올 지...


신고
IT 2013.02.06 21:03

[ Github 티셔츠 ] 를 얻었습니다.

http://shop.github.com/products/arctocat

 오늘 사장(@y0ngbin)으로부터 티셔츠를 받았습니다. Github 티셔츠인데... 보시다시피 아이언맨류... 

 날씨가 싸늘싸늘해서 아직 입고다니지는 못하겠지만... :-)

 요즘 작년말부터 뭔가 이것저것 받고만 사는 인생이 되어버린 것 같습니다. 베푸는 근성도 보여줘야 될 텐데 말이죠.

 아무튼 @y0ngbin++


Apple | iPhone 4 | 1/15sec


신고
이빨까기 2012.01.04 00:15

코드 이야기를 하는 블로그를 별도로 만들었습니다.

  사실 티스토리 너무 쓰기 불편합니다. 코드를 붙여넣고 이래저래 하려면 번거롭기도 하구요. 블로깅된 글 조차도 코드 보기에 적합한 테마를 찾아보기도 힘듭니다. 코드 좀 이쁘게 보이게 하기 위해서 많은 번거로움이 필요하지요.

  결정적으로 DISQUS 가 갑자기 티스토리에서 안되기도 하구요.

  그래서 Markdown 으로 글을 쉽게 쓰고, 코드도 쉽게쉽게 그냥 쓸 수도 있는 곳을 하나 더 만들었습니다.

  - Jeen's techlog

  이 블로그의 존재는 ... 뭐 어차피 코드 얘기도 요즘 잘 안했고... 그냥 하던대로 하겠습니다. :-) 
신고
IT/Tips 2011.02.15 01:39

[ git / git-ssh-create ] 회사에서 git 쓰시나요?

http://bit.ly/e0zl3q git-ssh-create rocks!Wed Feb 09 03:25:27 via Echofon



 작년부터 회사에 git 을 도입해서 요즘 새로운 일들은 대개 git repository 를 두고 있습니다.
 뭐 매번 새로운 repository 초기화를 위해서 자주자주 하는 일은 아니지만...
 repo server 에 들어가서 bare repository 만들어주고 그걸 또 작업공간에서 clone 떠서 이래저래 슥샥슥샥 하며 오가기도 합니다. ... 회사마다 어떨지는 몰라도 사실 bare repository 는 그렇게 자주 만들지는 않습니다만...

  @aanoaa 님 회사같은 경우처럼 아주 그냥 github 에 돈주고 private 계정 끊어버리는 경우도 요즘은 제법 보이기도 하구요.

  아무튼 위의 저런 일련의 과정들을 어느정도 수준까지 단소화시킬 수 있는 툴을 발견해서 소개할까 합니다.



  아무튼 그렇게 자주 사용하지는 않지만, 예전부터 이런 게 있었으면 하는 그런 툴이어서 :-)
신고
IT/Perl 2009.10.11 01:03

[ Perl & Delicious Library 2 ] 그럼 이제 웹 브라우저에서 DL2 로!


  3연속 Delicious Library 2 에 대한 이야기로 계속되는 군요.
  이번에는 웹 브라우저 상에서 DL2 에 등록하는 이야기를 해보고자 합니다.

  2009/03/03 - [IT/Perl] - [ HTML5 & Perl ] HTML5 Drag And Drop API 를 건드려보기

  예전에 HTML 5 이야기를 하면서 간단하게 Drag And Drop 으로 TTB 링크를 만드는 이야기를 했었습니다. 이번에도 지난번 소스를 그대로 활용하도록 했습니다.

  방법은 로컬 웹서버를 띄웁니다. 그리고 알라딘 페이지를 iframe 으로 띄워놓고, 그 위에는 드롭존을 만들어놓습니다. wproduct.aspx?ISBN= 으로 시작하는 링크(주로 상품페이지로 가는 링크)를 끌어다가 회색 드롭존에 집어넣으면, AJAX 로 로컬 서버에 isbn 값을 넘겨주고, 서버에서는 DL2 에 추가해주는 것입니다.
 

  위의 그림은 간단한 프로토타입입니다. 생각하고 있는 기능은 많은 데, 디자인을 먼저 생각하니 답이 안나와서 그냥 드래그앤드롭으로만 가능하게 해놨습니다. 하지만 아무리 생각해봐도 뭔가 아름다운 방법은 아닙니다. Safari 는 애초 고려도 안하고 만들었으니까요.
  GreaseMonkey 나 Jetpack 같은 것도 생각해봤지만.. 이것도 브라우저 의존이 있는 얘기입니다.  FF 애드온도 생각해보고... 이래저래 아무래도 방법은 많겠지요.
  그래서 그 많은 방법들 중에서 가장 간단하게 내놓은 방법이 저것이었습니다. 사파리야 나중에 지원하면 되는 것이고...

  http://github.com/JEEN/Delicious-Library-2-for-Korean

  아무튼 소스는 이곳에 있구요. server.pl 로 로컬 섭을 띄우고 http://localhost:8080/ 으로 접속하실 수 있습니다. 나머지는 위에 설명대로 입니다.
  아무래도 디자인 공부도 좀 하고 해야겠습니다. ;ㅁ;

* 추기
- 사용을 위해서는 추가로 세가지 모듈을 추가해야합니다.
$ sudo cpan Template
$ sudo cpan HTTP::Engine
$ sudo cpan HTTP::Engine::Middleware
신고
IT/Mac 2009.10.09 11:36

[ Delicious Library 2 ] Loves Perl! 안되면 되게 하라!

  Delicious Library 2 라는 아주 멋진 Mac App 이 있습니다.
  자세한 소개를 해놓은 블로그는 아래와 같습니다.

  http://techblog.tistory.com/entry/DeliciousLibrary
  http://drzekil.tistory.com/380
  http://chateau.tistory.com/143

  하지만 공통적으로 Delicious Library 2 의 문제점을 말하는 것은 "한국 도서 등록시의 수작업" 입니다.
  저도 그래서 Bookpedia 를 사용하고 있었습니다. 바로 알라딘 API 를 이용한 검색 플러그인을 지원하기 때문이죠. -- 하지만 스캐닝은 제대로 안됩니다. Bookpedia 는 ISBN 형식의 바코드를 인식하지 못하는 것은 아닐까 생각해봅니다. 그렇지만 Delicious Library 2 는 ISBN 형식의 바코드를 읽을 수 있습니다. 그리고 뽀대면에서도 Delicious Library 2 는 더 좋아보입니다.

  현재 한국도서를 자동으로 Delicious Library 2 에 등록할 수는 없다.
  하지만  Delicious Library 2 에서 한국 도서를 자동으로 등록하게 하고 싶다! 는 욕심은 제게 계속되는 생각을 요구했습니다.

  http://twitter.com/JEEN_LEE/status/4705505506
  http://twitter.com/JEEN_LEE/status/4705521324
  http://twitter.com/JEEN_LEE/status/4706267445

  트위터에서 설레발을 떨었지만, 제가 생각한 방법은 두가지 였습니다.
 
  첫번째는 Amazon WebService 로 가는 것을 제 서버로 보내게 해서, 해당 바코드 정보를 이용해 알라딘 API 로 검색, Amazon WebService 와 같은 결과(json 이든 xml 이든) 를 반환해주는 것이었습니다. 
  문제는 네트워크 지식이 전무이사 라서... 몇번 구글해보다가 그냥 포기했습니다. 하지만 이 방법이 가장 깔끔할 것 같다고 지금도 생각하고 있습니다. (된다면 말이죠...)

  제가 채택한 두번째 방법은 의외로 간단합니다. Delicious Library 2 에서는 스캔시의 바코드 정보를 특정 파일에 계속 추가해놓고 있다는 것을 알았습니다. 그 파일을 잡아놓고 추가되는 정보가 있다면 그것은 바코드 정보이니 그 정보를 집어서 알라딘 API를 사용, 결과를 받아서 Delicious Library 2 에 등록하는 것이었습니다.
  그럼 어떻게 등록하느냐...

  첫번째는, Bookpedia 도 마찬가지 였지만 Delicious Library 2 는 SQLite 로 데이터베이스 접근이 가능합니다. 거기에서 일일이 쿼리를 날려가면서 책 정보를 추가하는 방법이 있었습니다.
 
  두번째는, AppleScript 입니다. Delicious Library 2 의 환경설정에서는 AppleScript 예제에 대한 항목이 있었습니다. 여기에서 새책 정보를 등록하는 AppleScript 를 발견하고는 이거다! 싶었습니다. 하지만 AppleScript 는 제대로 해본 적이 별로 없어서, 예제를 보고 하나하나 보고 나가기로 했습니다.

  여기서 첫번째 방법인 DB 구조를 파악하는 것과, 두번째 AppleScript 의 예제 샘플을 좀 더 만져서 작업하는 것에서... 두번째가 더 빨리 끝날 것 같아서 이걸 채택하고 작업에 들어갔습니다.

  마침 예전에 WebService::Aladdin 이라는 Perl 의 CPAN 모듈을 만든 적이 있었기 때문에, 알라딘 API 를 따로 파싱하거나 하는 추가작업은 필요없었습니다.

  * http://search.cpan.org/perldoc?WebService::Aladdin

  마침내 작업은 끝났습니다.

  http://twitter.com/JEEN_LEE/status/4711215750
  http://twitter.com/JEEN_LEE/status/4711467095

  하지만 한국책을 바코드로 찍었을 때, 그 바코드 정보로 세계 각국의 아마존 서버를 들락거리는 Delicious Library 2 의 자체적인 처리의 결과는 "해당 아이템을 찾을 수 없다" 라는 경고창이 나오는 것이 좀 거시기 하기는 합니다.
  그래도  한국 책은 제대로 슉슉 들어갑니다.

  이렇게 말이죠.
 
  소스는 공개되어 있습니다.

  http://github.com/JEEN/Delicious-Library-2-for-Korean

  github 를 사용하고 있으며, 현재 Perl 스크립트 하나로 만들어져 있으며, 간단한 프로토타입입니다.
  나중에 기능을 더해감에 따라서 세분화시켜나갈 생각입니다.
  코코아 개발이 가능하신 분이라면 어떻게 좀 더 세련되게 만들어 주실 수 있지 않을까 생각해봅니다.
  (어디까지나 이 프로젝트의 유효기간은 아름다운 맥 어플이 나와서 제가 봉착한 문제들을 다 풀어줄 때까지 입니다.)

  그리고 설치를 말하자면...
  일단 프로그래머 경험이 없으신 분들에게 설치는 약간 번거로울지도 모르겠습니다.
 
$ sudo cpan WebService::Aladdin
$ sudo cpan AnyEvent
$ sudo cpan Mac::AppleScript

  터미널에서 이 세가지 커맨드를 입력하시고.. 나오는 모든 선택지에서 엔터를 눌러주시면 됩니다.
  그리고

  http://github.com/JEEN/Delicious-Library-2-for-Korean/zipball/master

  에서 zip 파일을 다운로드, 압축 해제후에 나오는 delicious_lib_ko.pl을 실행합니다.

$  perl delicious_lib_ko.pl

  그리고 Delicious Library 2 에서 바코드 스캐닝 후에 제대로 책정보가 들어갔는지 확인하시면 됩니다.

  피드백은 트위터: @JEEN_LEE 로 부탁드리겠습니다. :-)

** 추기
 - Delicious Library 2 자체의 도서 검색을 통한 책 정보 등록을 불가능합니다.
 -- 방법이 있다면 다른 인터페이스를 통해서 Delicious Library 2 로 책정보를 등록할 수 있습니다.
 -- 현재 Yes24 / Aladdin 웹 페이지에서 바로 Delicous Library 2 로 등록하는 기능을 생각하고 있습니다.
신고
IT/Perl 2009.10.02 18:05

[CPAN] 거저 먹는 CPAN 모듈 만들기 - WWW::Shorten::Durl

  Daum 에서 만든 Durl 이라는 서비스가 있습니다. Twitter 하시는 분이라면 누구나 알고 있는 흔하디 흔한 짧은 URL 로 바꿔주는 서비스입니다. Durl 의 경우는 여기에 지정한 url 을 캡쳐뜨는 기능을 덧붙여서 다른 서비스들과 차별화를 뒀는데요.
  최근에 커뮤니티 부흥을 위한 웹 서비스 개발을 위해서 TinyURL 을 써야되는데... 캡쳐도 된다고 하니.. 이번기회에 Durl 을 써보기로 했습니다(왠지 캡쳐된 이미지를 따로 보여줄 수 있다면 좀 짱일 것 같다는 생각때문에)..

  Durl 의 OpenAPI 문서는 아주 요점만 간단하게 설명되어 있습니다.

  http://durl.me/doc/OpenAPI.html

  XML이 뭔지 JSON이 뭔지 알고 있으며, API 를 어떻게 쓰는 지 알고, 간단한 프로그래밍 언어만 알면 누구나 구현할 수 있는 모듈을 CPAN 에 올렸습니다.

  이름하야 WWW::Shorten::Durl.

  http://search.cpan.org/perldoc?WWW::Shorten::Durl

  대개의 URL 을 줄여주는 서비스들의 네임스페이스가 WWW::Shorten 을 기반으로 하고 있기 때문에 저도 이것을 사용했습니다. WWW::Shorten 자체가 확장성을 고려된 형태였었지요.  Durl 뿐만 아니라 십수가지 서비스들의 모듈이 저 네임스페이스(WWW::Shorten::*) 을 쓰고 있습니다.

  사용법도 간단합니다.

  makealongerlink(URL), makeashorterlink(URL)

  이걸로 끝이죠.
  이런 간단한 기능에 객체지향이니 뭐니 하기도 그렇고...

  아, github 를 레포지트리로 놔두고 작업했습니다. 사실 펄 커뮤니티용 git repository 가 있기는 한데... 뭐 외부에서는 접근하기는 힘들기도 하고, 공개하기 쉬운 방향으로 가기 위해서!

  http://github.com/JEEN/WWW-Shorten-Durl

  이상으로 아무튼 쉽게쉽게 물타기 해서 만들 수 있는 CPAN 모듈의 얘기였습니다.

  이번 CPAN 모듈 작성에 있어서 도움이 된 ShipIt 등에 대한 이야기는 별도로 포스팅하도록 하겠습니다.
신고
TOTAL 488,697 TODAY 411

티스토리 툴바