#action Blog 블로그 더하기 ##Blog {{{#!blog hyacinth 2014-02-20T05:32:23 Moniwiki fake crtime 모니위키 하단에서는 보통 페이지 수정 시간을 찾을 수 있다. 나는 페이지 생성 시간도 보여주고 싶었다. 그 전에, 많은 *nix 환경(ext4 이전 파일 시스템을 사용하는)에서는 파일 생성 시간을 제공하지 않는다. (ctime이 생성시간(creation time)이 아니라는 걸 처음 알았을 때는 놀랐는데─웃기게도 ctime은 원래 creation time을 뜻했다[[footnote(http://en.wikipedia.org/wiki/Stat_(system_call)#ctime)]]. 이건 언젠가 이야기하고 싶은 주제인데 다음으로 미룬다.) 이게 모니위키와 관련이 있는 이유는 모니위키는 페이지 관리를 DB가 아닌 파일 시스템을 사용하기 때문인데, 그래서 페이지 수정 시간은 {{{ filemtime() \}}} 으로 쉽게 구할 수 있지만(페이지 하단의 `Modified on 2:32 pm, February 20, 2014' 와 같은) 페이지 생성 시간은 쉽게 구할 수가 없다! 모니위키에서 페이지(파일) 수정 시간을 구하는 방법은 두 가지가 있는데 하나는 페이지 파일의 mtime을 직접 얻는 방법과 모니위키에서 관리하는 수정 이력(editlog)으로부터 fake mtime을 구하는 방법이다. (이는 config.php의 $use_fakemtime=1 또는 0 옵션으로 선택된다.) editlog 형식은 다음처럼 되어 있다. {{{ FrontPage 59.15.101.153 1178892564 59.15.101.153 hyacinth SAVE FrontPage_2f2007_2d05 59.15.101.153 1178893017 59.15.101.153 hyacinth Blog entry "테스트" added SAVE FrontPage_2f2007_2d05 59.15.101.153 1178893030 59.15.101.153 hyacinth SAVE FrontPage 59.15.101.153 1178893517 59.15.101.153 Anonymous SAVE ... ... \}}} 공공 위키위키에서 페이지 생성시간은 그렇게 중요한 정보가 아니다. 하지만 개인 위키에선 Published date를 보여주고 싶을 수 있다. '''editlog 내용을 보고 이로부터 fake crtime을 구할 수 있겠다고 생각했다.''' editlog를 처음부터 읽어 그 페이지의 가장 처음 나온 기록이 바로 생성 시간일 것이다. 여기까지 생각이 들었을 때 바로 모니위키 엔진에 추가했다. {{{#!php function crtime($pagename) { if (!$this->use_crtime) return; $pagename=$this->pageToKeyname($pagename); $fp_editlog = fopen($this->editlog_name, 'r'); while(!feof($fp_editlog)) { $buffer=fgets($fp_editlog); if (strlen($buffer)>0 && preg_match("/^$pagename\t.[^\t]*\t(.[^\t]*)/",$buffer,$matches)) return $matches[1]; } fclose($fp_editlog); return; } \}}} 이제 페이지 아래 Published on 5:22 am, February 2, 2014. 를 표시할 수 있게 되었다. :) }}} [[HTML(
)]] http://hyacinth.byus.net/img/flower.jpg [[HTML(
)]] {{{#!blog hyacinth 2014-02-01T20:22:20 좋아하는 노랫말을 적어보자 ##blog-keywords 린진,자이토카인,동프,어레인지,REMEMBRANCE 최근 린진/자이토카인이 내는 앨범은 모두 마음에 든다. 활동도 적지 않다. 큰 행사마다 새 앨범을 내는데 항상 마음에 드는 노래가 있다. 작곡가도 보컬도 지금이 전성기다(I've의 2000년대 초중반을 보는 듯하다). 꽃이 활짝 피어있는 시기는 매우 짧다. 지금을 즐기자. 예대제든 코미케든 요즘 반드시 체크해야 할 서클이다. 자이토카인이 다른 서클과 다르게 인상적인 건, 어레인지임에도 원곡을 알기 힘들 정도로 자기 노래를 만든다. 곡 수준은 흔한 동프 어레인지와는 비교할 바가 안 되게 좋다. 오리지널러티가 충분한 데도 동프 원곡을 가진 어레인지라는 관계도 좋다. 유튜브에 올라온 자이토카인 곡 중 기억에 남는 코멘트, Every time I think about touhou music evolution (or even vocaloid for that matter) during tens of comikets, how people has improved over the years, how some simple sparks of midi files, or images, or words boosted up people's creativness, makes me wanna cry, and I'm proud being part of the community. Awesome piece. (오덕주의) [[HTML()]] 03:13 다정함의 의미를 優しさの意味を 누구보다도 알고 있었어 誰より知っていた 상처입히는 것을 傷つける事を 몇 번이고 몇 번이고 단념하면서 何度も何度も諦めて 나는 여기에 있고, 너도 여기에 있어 僕はここにいて 君もここにいる 하지만 알고 있었어 だけど分かってた 이 소리는 더는 닿지 않는다는 걸 この声は もう届かない事 ''(해질녘 찾았던 처음 뜨는 별 夕暮れ時 探していた 一番星'' ''다가오는 달 끌어 안는 별 너의 곁에) 寄り添う月 引き合う星 君のそばに'' 네가 불렀던 君が奏でてた 노래를 찾고 있었어 歌を探してた 잊어버리지 않도록 忘れないように 몇 번이고 몇 번이고 손을 휘두르며 何度も何度も手を振って 나는 여기에 있고, 너도 여기에 있어 僕はここにいて 君もここにいる 하지만 알고 있었어 だけど知っていた 이 순간은 두번 다시 오지 않으리란 걸 この瞬間 もう二度とない事 }}} [[HTML(
)]] http://hyacinth.byus.net/img/flower.jpg [[HTML(
)]]