Skyscraper

Introduction

当サイトは、Mozillafirefox2.0、Opera9以降のブラウザ、Safariの最新版でJavaScriptオンを推奨しています。

IE7はかろうじて対応、IE6は非対応です。

Web関連技術。映像技術関連を中心にやっています。

News & Infomation

ブログを…

移行したい移行したいと常々考えているのですが
最近のMovableTypeの凋落ぶりを考えると他のシステムにデータを移動させる手間を考えないといけないので二の足を踏み続けている感じです

自宅鯖を転がしているので、そこに投げればいろいろ自由が効くんだろうなぁ…と思っているのですけどね

Rails Plug-in Flextures更新

Rails Plug-in Flextures更新

とりあえず当初予定した機能をひと通り実装し終わったので

ver1.0ということにして、以降これを安定版としてバグフィックスのみをすることにします

ただ、作っているうちに良いアイデアが浮かんできたので、ここらへんで一度ブランチを切って

  1. オプションの充実
  2. FactoryGirl並のhas_many周辺の生成能力
  3. RSpec中でのより柔軟なロード機能を追加
  4. Paradinoへの対応

あたりを追加してver2.0に仕上げていこうかと思っています

Rails Plug-in Flextures更新

ゴメンナサイ、バグっていたのでspec継ぎ足してから、テストし直してみました

目玉機能2つめということで、spec中でfixtureを読み込むための関数を追加しました

flextures :users

とすれば users.csv か users.ymlを読み込みます

あと、テストケースごとに、フィクスチャを切り替えるために、書式の拡張をしています

fixtures :users => :users_for_item_controller

とすると、users_for_item_controller.csvをusersテーブルに反映します
RSpec中では動作確認しています

置き場

Google新言語「Dart」を軽く見た感想

「Dart」の言語仕様が発表されました。

巷では、JavaScriptの速度の遅さに辟易したGoogleがクラスベースの言語仕様で速度重視の言語を作るという情報が漏れていましたが

まったくの、噂通りの言語仕様になっていました

はっきり言おう!

これは外れる!

JavaScriptの用途が広がるにつれて、速度が重要になっているところまでは認めるとしても、正直大半のWebプログラマは、本当に速度が必要な仕事はしていない訳で

Canvasタグにガンガン描画を行って、ブラウザの上で弾幕シューティングでも作らない限り、そこまで言語本体の速度は必要ないと言えるでしょう。そう考えれば、そいういう狭い需要の人しかメリットのない言語はまず広がることはないでしょう

しかも、覚えてもChrome上でしか動かないとなれば、かなりの資金を投下してマーケティングをしても広げることは難しいとしか言いようがありません!


JSには速度が重要だという主張自体は、正しいとしても、仮にJavaScriptを置き換える言語が出るとしたら以下の3条件を満たしているものになるのではと思います

  • JavaScript並の、手軽さを失わない
  • 高速化のための情報付加は、後付で出来る
  • 出来るだけ、JS(ECMAScript1.5)と後方互換性を持っている

最近は、どのJavaScriptエンジンも中間コンパイルすることが当たり前になってきたので、JavaScriptのボトルネックはすべてのデータ構造がハッシュである事なんですよね

そうであれば、本当は配列や構造体とした方が高速な場合に、データ構造をちゃっちゃと切り替えられる用に、既存のJavaScriptにデータ型を後付できるような「JavaScript++」的な言語は私の見立てでは本命に一番近いような気がします

Rails Plug-in Flextures更新

そろそろ、他のPlug-inの真似じゃなくて、それっぽい機能がついてないといけないので

Flexturesって付けたなりの利点を出していこうと思う


とりあえず、CSVやYAMLでファイルをロードするときにテーブルのカラムと比較をして

  • 存在しないカラムの値は無視してテーブルに入れない
  • ファイルに存在しないデータは勝手にデフォルト値を設定して代入

をするようにしました!

これで、開発途中で「テーブルの構成が変わって、Fixtureが読み込めなくなったぁぁぁl!」と嘆かないでも良くなりました

構成の変わったテーブルを


rake db:flextures:csvload TABLE=users
rake db:flextures:csvdump TABLE=users

としてやれば、消えたり増えたりしたカラムの内容を勝手に補完してくれるので、一瞬でデータの整合性が戻るようになりました

ただ、速度が遅くなったので、後で最適化してやら無いといけなくなった・・・orz