インプット、アウトプットをもっと効率的で楽しくやるにはどうしたらいいかということで、取るに足らないものでも記録していこうと思います。絵が必要な物は画像、一連の端末動作はttyrecを共有して再生出来るサービスTTyShareを使って行こうと思ったんですが、、、

http://ttyshare.com/

これはcapistranoのmaintenance.html?

素敵なサービスだったと記憶しているが、どうなったんだろう。まえからこの状態?

復活求む!

プロアカウント

Flickrはフリーアカウントだとphoto streamに200件しか表示されないことがまれによくあるらしい。(消えるわけじゃない)

なのでプロ入ってみました。$25/yearぐらい。

ソフトウェア・アップデート

アップデートしたら何か動かなくなりそうで怖くて出来ないと思った浅はかは愚かしい

ターミナル — ssh — 80×24

今度はWordPressのテーマ実装はどうなってるのか調べてみました。

% tree wp-content/themes/default
wp-content/themes/default
|-- images
|   |-- audio.jpg
|   `-- kubrickheader.jpg
|-- index.php
`-- style.css

ほう、テーマディレクトリ自体がDocumentRoot以下にあると・・・。

あ…ありのまま 今 起こった事を話すぜ!

「おれはテーマを晒さない方法を調べていたと思ったら、 いつのまにか問題にすらなってなかった」

AA略

なるほど・・・これは、頭に無かったな・・・いや、しかし・・・。

ResponseCache

ブログツールのテーマ実装の参考にRadiantを調べてみた。

テーマ以外の部分でもrailsのOSSアプリを作るために参考になる仕掛けが一杯あって参考になりました。

しかし、全体的にソースがとても綺麗・・・。

「CMSの実装ってのはよぅ、こう、もっとドロドロした・・・おっさんの内臓みたいなものであるべきだろう?」

などとつぶやいてみたが駄目。

RadiantはそもそもCMSってこともあって、テンプレはDBにもってプログラムで出す形。

要はroutesの一番下に

map.with_options(:controller => 'site') do |site|
  (...)
  # Everything else
  site.connect '*url', :action => 'show_page'
end

みたいなこじゃれた事が書いてあって管理画面とか以外のurlは全てSiteControllerが捕まえるようです。そしてResponseCacheという自前のキャッシュのためのモデルを使ってる。(ARじゃなくてファイルに保存する)

キャッシュファイルは/style.css.(data|yml)/みたいになってて、dataがcssやhtmlの中身で、ymlにはLast-Modifiedみたいなヘッダのメタデータが入ってる。ETagやX-Sendfileもちゃんと処理してあって、なんだか真似して実装するのは大変そうだなぁ、といった感じ。

そもそもサンプルのテンプレ見ると”“画像とjavascriptは外部から読み込んでる”“んだよね。

キャッシュはrailsのpage cacheで済ませられないものかと考え中です・・・。

前回までのあらすじ:

今時自作のブログでやっていたが、Potageの方が全てにおいて良さそうなのでやる気がダウン。

参照:俺のブログより – p0t

軸がブレながらもやっていくしかない・・・。取りあえず見た目をかえられるテーマの機能を実装しようと思いました。

RailsのAPIをみると、ActionController::Base.prepend_view_path(path) なんていうのがある。(view_path=viewのLOAD_PATHみたいなもん)

テーマ名(例えばplain)という名前を入れて、

cd $RAILS_ROOT
tree theme
theme
`-- plain
    |-- images
    |-- javascripts
    |-- stylesheets
    |   `-- application.css
    `-- views
        |-- docs
        |   |-- _doc.html.erb
        |   |-- index.html.erb
        |   `-- show.html.erb
        |-- layouts
        |   `-- application.html.erb
        `-- settings
            `-- edit.html.erb

というようなディレクトリ構成にすれば終了か?と思ったら、imagesやstylesheets、javascriptsはpublic以下に無いから見えない。

パッと考えられるのは下記2点。

  • テーマを指定したときにpublic下にコピーする。(typoがこの方法をとっていた)
  • 静的ファイルを表示するactionを用意する。(無駄っぽくてやりたくない・・・)

どっちも嫌だなぁ・・・。

RadientCMSやRedmine、WordPressなどはどうやってるのか見てみようと思います。皆様はどうすればいいと思いますか?

アプリケーションの強制終了

option + command + esc でアプリケーションの強制終了できたのか〜。いちいちkillしてて面倒だと思ってたんだよ!

自戒の意味を込めて。

kent-beck

参照:いやな法則

生産性

  • 前任者のコードは思っているほど汚くない。
  • テストコードがたまった頃にもっと良いテストスイーツがでる。
  • フレームワークのバージョンアップはうまく行かない。

勉強

  • 習得に苦労した知識に固執する。
  • 副業だけ評価される。
  • 無駄な知識ほどのめりこむ。
  • 軽視していた知識が評価される。

決断

  • MSオフィス購入数はエンジニアが決めると失敗する。