読者です 読者をやめる 読者になる 読者になる

作りたいものの構想と妄想

技術

現状を晒してみますよ。とりあえず、発表資料を置いておきます。

発表資料: youth_audition.pdf

資料にあるように、コードを集約して利用できるようなサービスという形で考案しました。ただ、そこで指摘されたのですが、中央集権的にサービスを提供すると、そのサービスをずっと運用し続けることになってしまう。それは、まぁ、個人の範囲では難しいよね、と。

とすると、まず、コード管理システムがあって、それがいろんなとこに分散しているのだけれど、そのシステム内のコードを簡単に外部からも利用できる仕組みがあれば良いのではないかなー、という感じで今考えています。

以下、いま考えている所のメモというかブレインストームの残骸です。とりあえずやりたいなーという妄想とか、どっちが良いかなーという迷いとか、いろいろ詰まってます。ちょっと、風呂敷広げすぎですが、まぁ、どこまでつくるはまた別と言うことで。

いろいろといい加減だわ。ここからどんどんブラッシュアップしていかないと。

できそうなこと

  • これまで忘れられがちだったブログ上のコード片達を再利用
  • コード片の間にできる関係を活用
  • 転載機能、参照機能、それをもとにしたコードのランキング(id:adamrockerさんthx!)
  • コード書く -> ブログにアップロードのプロセスをいっぱつで
  • ブログ上のコードのバージョン管理、変更履歴の閲覧
  • メタデータの付与と利用
    • だれそれの書いたコードをいつでもwatch
    • あるタグのついてるコードをsvnっぽくごっそり落としてくる
    • あるモジュールを使ってるコードをsvnっぽくごっそり落としてくる
    • 似ているコードを見つける
  • ブログ画面上でのコードの実行(JavaScriptはともかく、ほかは…)
  • コード自体や、コードの行に対してのコメント -> コードへの反映
  • ソースコードのブックマーク(http://d.hatena.ne.jp/sirouto2/20070207/1170767422より id:sirouto2さんthx!)

問題になりそうなこと

  • 複数ファイルで構成されるプログラムはどう扱うのか?
  • コード管理システム間の連携をどうとるのか?
  • そもそも何を管理すべきか?
  • はてダのような直接コードをいじれないブログとはどう連携をとるか?

考える/作るべきもの

  • ブログ向けコード管理システム
    • ブロガーとのインターフェースは?
      • FlickrっぽいWebアプリから
      • svnのようにコマンドラインから
      • 既存のブログツールと組み合わせる
    • 軽量なサーバとして動作
    • 内部でどうコードを扱うか?
      • Subversion?
      • Subversion+DB?
    • どうやってコードを外部に公開?
      • RSS?
      • Webサービス?
    • 公開時のコードひとつひとつのの形式は?
      • ブログ本文や他のコードとの関連を含める必要あり
      • YAML?
      • XML…
  • ブロガーとコードのインターフェース
    • 既存のブログ+コードよりも良い使い勝手を
    • FlickrっぽいWebアプリは手軽だけど、これまでと同様にコピペが必要
    • CUIはプログラマ向けだけどちょっと敷居たかい
    • 二つあると良い -> コアを作ってWebアプリ、CUIから利用
    • コアのAPIを公開していろいろできるように
  • コードへのメタデータの付与
    • 人による付与
      • タグ
      • ブログ本文
      • コメント(コード行に対してコメント?)
      • レーティング
    • ソフトウェア解析による付与
      • 使っているモジュール
      • 似ているコード
  • プラガブルなシステム
    • いろんな機能をいつでも追加できるように、なるべくプラガブルにつくる
    • 多くのプログラミング言語に対応
    • コアさえできれば、あとづけあとづけが容易
    • まず、コアだけつくれる(むしろ、コア以外の機能大杉)
    • コア以外はすべて疎結合で?