Code Metaphor

Programming, Writing, Reading, Thoughts…

이 블로그는 더이상 운영되고 있지 않습니다. 단지 예전 URL을 유지하는 용도로만 남아 있습니다. 새 블로그의 주소는 blog.dahlia.kr입니다.

Archive for August, 2007

한국 Io 사용자 모임 부활!

Sunday, August 19th, 2007

거의 보름 정도를 죽어있던 우리의 한국 Io 사용자 모임이 오늘 복구되었습니다. 이제 많이들 찾아주세요.

덧. 한 서버에 있던 선린인터넷고등학교 프로그래밍 동아리 0PEN 홈페이지도 복구되었습니다.

디시인사이드 갤러리 Atom 피드

Monday, August 13th, 2007

디시인사이드 갤러리는 인터넷 쓰는 사람이면 누구나 알만큼 유명한 곳이라 RSS가 어딘가에 분명 있을 것 같은데(또, 기억으로는 누군가 만들었던 것도 봤었는데) 아무리 찾아봐도 없길래 직접 만들었다.

PHP 5.2로 제작되었으며, SPLHTTP_Request 패키지를 사용한다. 해당 PEAR 패키지를 설치하기 힘들다면, 내가 최소한으로 구성한 것을 받아서 써도 된다.

내 구린 회선과 서버에 부하가 갈 수 있기 때문에, 주소를 공개하지는 못하고 대신 소스 코드를 공개한다. 쓰고 싶은 사람은 자신의 서버에 설치해서 나처럼 FeedBurner로 연결해놓고 쓰면 쓸만하다.

소스 코드는 아래 GitHub 프로젝트 URL에서 구할 수 있다.

http://github.com/dahlia/dc-feed/

일단 내가 보는 아래 갤러리들은 이미 FeedBurner에 연결해놓고 쓰고 있으니, 저 아래의 갤러리가 필요한 경우는 저 주소를 쓰면 된다.

오전 11시 15분 추가: 업로드된 이미지가 리퍼러(Referer) 체크를 해서 외부 RSS 등에서는 이미지가 나오지 않았는데, 자체 이미지 프록시(image-proxy.php)를 덧붙여서 잘 나올 수 있도록 수정했다.

14일 추가: 자체 이미지 프록시(image-proxy.php)만 쓰면 한쪽으로만 트래픽이 몰릴 수 있어서, 미러링 리스트(image-proxies)에 다른 이미지 프록시 URL을 추가해서 쓸 수 있도록 했다.

2009년 3월 17일 추가: 이동근 선배가 몇가지 갤러리를 새로 요청해서 오랜만에 만져봤는데, 아직도 작동한다는 사실이 신기해서 내 개인 Subversion 리파지토리에 있던 것을 GitHub 쪽으로 옮겼다.

Template.js: String Interpolation in JavaScript with MooTools

Friday, August 10th, 2007

Prototype에도 Ruby 문자열의 내삽법(interpolation)을 조악하게 따라한 Template 클래스가 있길래, 내가 MooTools로 제대로 구현해봤다.

사용법은 간단하다.

"string interpolation".interpolate(context, options)

위와 같이 사용하면 된다. options 인자는 없어도 그만인데, 없을 경우 내삽할(to interpolate) 표현식을 감싸는 문자열은 #()가 된다. 아래는 간단한 예시.

'<code>${name}</code> class by <a href="${author.url.trim()}">${author.name}</a>'.interpolate({
    name: 'Template',
    author: {
        name: 'Hong, MinHee',
        url: 'http://dahlia.pe.kr/'
    }
}, {
    begin: '${',
    end: '}'
})

보다시피 메서드나 함수를 평가하는 등의 복잡한 모든 종류의 표현식을 사용할 수 있는 것이 Prototype 버전의 Template과 다른 점이다(Prototype 내장 Template은 JavaScript 표현식 코드를 평가하는 것이 아니라, 오직 식별자만을 단순 치환하는 형식이다).

저 코드는 아래의 문자열을 반환한다.

<code>Template</code> class by <a href="http://dahlia.pe.kr/">Hong, MinHee</a>

MIT 스타일 라이센스이고, 소스는 아래에서 받을 수 있다.

덧. 좀더 극적인 예제: "#(file): #((function() { return 'String Interpolation in #(language) with #(framework)' })().interpolate({language: 'JavaScript', framework: 'MooTools'}))".interpolate({file: 'Template.js'})

한국 Io 사용자 모임 서버 점검중

Friday, August 3rd, 2007

현재 한국 Io 사용자 모임 서버 점검중이라 몇일째 접속이 되지 않고 있습니다. 곧 복구하도록 하겠습니다.

덧. 같은 서버에 올라가 있는 선린인터넷고등학교 프로그래밍 동아리 0PEN 홈페이지 역시 같은 이유로 접속이 안되고 있습니다.

Powered by WordPress. Styled by Hong, MinHee. XML Feed, Comments XML Feed.