Home

Born Neet

rubyでCMS(blogツール)を作ってみようかと思う

  • 2010-05-06 (Thu)
  • Ruby

ようやく本腰をいれてサーバサイドスクリプト(ruby)を勉強しています。

で、レベルアップのためにはオープンソースのコード読むのがいいかな、
と思ってCMSを漁ってみました。(CMSとかWikiクローンとか昔から好きなんです)

興味を持ったのは以下のもの。

  • sakura
    かなり古いblosxomクローン
  • lily
    こちらもかなり前のblosxomクローン
    昔聞いたことがあるし、わりと有名だったはず。
  • The Bilbo Diary
    2009年製、新しい。1.8.7、1.9対応。DB不要。
    コンセプトは大好きだけどSinatraにコミットする気にまだなれないんだよなぁ。
  • stream-of-consciousness
    2010年製。生のRubyで1ファイル。1.8.7&1.91対応でDB不要。
    これはかなり好き。名前長いけど。
  • bliki
    これもいいんだけど、Sinatraベース。
    rubyをある程度マスターした後、フレームワークを手を出す時には是非パクリたい。

触るとしたらStream of consciousnesかなー。
ただある程度ソースいじらないと動かなかったんだよなぁ。

なんていろいろ悩んでたんだけど…だったら「自分で作ればいいじゃん!」
という結論にいたった。

そんで躓くことがあったらオープンソースを参考にすればいいと。

ってことでまずはコンセプト(?)を殴り書き。

  • cgi 1ファイル構成。置くだけで使える。
    ただ、設定ファイルは別ファイルで。
  • storageはまずファイル。日付はtimestampで。
    ゆくゆくはSQLiteに対応したい?
  • 記事はFTPアップじゃなく、GUIで。
    ただWYSIWYGは絶対やらん。
  • installが必要なライブラリは極力使用しない
  • テンプレートはVicunaベースで。
    ただ変更できるようにもしたい。
  • blogdataを置くディレクトリがなければ勝手に作る。
  • コメント機能ぐらいはつけたいなー(Twitter or はてぶで代替?)

カテゴリをどうやって管理するかがぱっと考えた感じ大変そう…。
※ ディレクトリで分けちゃうと、全記事を日付で取得するとき面倒?
  Dir.glob('*/.html')とか??

そんな感じでプロトタイプがこちら。
名前はLiary(Lightweight Diary)で決まり。
※ リンク先がlocalhostになってたので直しました。(2010/05/16 13:42)

Liary Test

まだ、「?p=ページ番号」で記事を表示する機能だけ。

よし、やるぞー!

「開発コンテスト XX」公開!

  • 2010-05-04 (Tue)
  • Ruby

一部の人達の間ではかなり評判だった「開発コンテスト 24」
非常に面白い試みで、毎週どこかでこんなコンテストが行われていれば、
この日本からでもイノベーションが生まれるんじゃないか、という気さえしました。

僕と同じく影響されまくった人達の為に、コンテスト開催サービスを作ってみました。

開発コンテスト「XX」

例えば、このサービスで#24contestをやるとこうなります。

朝起きてから学校や会社に行くまでの時間をより便利にするためには- 開発コンテスト「XX」

コンテストへの参加で浮き彫りになったサーバサイドスクリプトが書けないという弱点を克服すべく、
Rubyで書きました。
※ なんとか24時間以内でできましたが、(事前の勉強時間を除く)
 やっぱりレンタルサーバ対応とか、DBとか大変ですね…。

勉強の為にRailsは使用せず、生のCGI,SQLを叩いています。

また、とりあえずβ版ということでユーザ登録とかは実装してませんが、
必要そうであればOpenIDぐらいには対応したいです。

…というわけで、皆さん是非使ってみて下さい!

さて、早くも直したいとこだらけだなー。
もっと勉強しなきゃ!

開発コンテスト24に参加して落選した

  • 2010-04-26 (Mon)
  • Web

エンジニア向け「開発コンテスト 24」開催 | クックパッド株式会社
に参加しました。

結果は…落選でした。完敗です。

応募作品

乗車両案内(東京メトロ版)


メトロの「のりかえ・出口案内」に誘導するだけのリンク集です。
作品としてはあまりにもひどいですが、便利な人には便利かもしれません。

collects - COLor seLECT canvaS


服のカラーコーディネートをポチポチと選べます。
え?見た目?CanvasのlineTo()で地道に書いたので^^
決してセンスがないわけじゃありません。

反省

  1. 金曜日の夜寝てしまった(!)
    さらにいつも通り昼ごろまで起きなかったという失態。
  2. 自由に操れるサーバサイド言語がない。
    前々から漠然と思っていたけど今回痛感した。Ruby頑張ろう。
  3. ライバル達の気合いをなめていた。
    これにつきますね、うん。

まとめ

何はともあれとても楽しかったです。
クックパッドの皆さん、参加者の皆さん、ありがとうございました!

念願のブログリニューアル!

前々から口では言いながら結局できていなかった、ブログのデザイン変更を強行しました。
ただ、完成まで一気に持っていく元気はなかったので、
これから運用しつつ徐々に調整していこうと思います。

細かいデザイン崩れや、過去のエントリに不具合が発生しているところ等ありましたら、
ご連絡いただけると助かります。

テンプレートは、Vicunaを忍者ブログに移植したshino.VicunaのXHTMLと、
Wikunaのstyle-vegaスキンを利用しています。

やっぱりVicunaは綺麗でいいですねー。

それでは引き続きBorn Neetを宜しくお願い致します。

TinySegmenter.mをRegexKitLiteに対応させてみた

思ったより需要があったらしいので、
調子にのってRegexKitLiteにも対応させてみました。

tnantoka's TinySegmenter.m at master - GitHub

CocoaOnigurumaよりRegexKitLiteの方が慣れてるって方は、
forRegexKitLite内のファイルをお使い下さい。
※ フレームワークの種類を自動判断するやり方がわからなかったので、
  ファイルを別にしました…。

Home

Page Top