2011年9月29日木曜日

地域マスタと場所マスタ

もともと場所マスタというエンティティに都道府県データを保持しておき、作品の要素
として使用する予定だった。

但し、RORのビューヘルパーに「grauped_collection_select」メソッドが存在する。グループ化されたプルダウンメニュー。これは見やすいな。但しこれを使うには、都道府県情報を地域ごとにまとめるエリアマスタの存在が不可欠。緊急でDB設計をした。

RORには何故外部キーの設定がmodelにできないんだ、と不満に思っていたが、結果アソシエーションという関連を設定することが出来る。これが事実上の外部キーみたいな動きが出来る(本当の意味での外部キーには遠いが)。
明日は週末はアソシエーションからか。

2011年9月27日火曜日

Ruby on Railsの所感 開発合宿を終えて

ここ2日は「滑り込み夏休み」で、市内のとあるところへ「1人開発合宿」を実施していた。

その場所は「1.電気タダ」「2.冷暖房あり」「3.簡単な図書館もあり(Ruby書籍2冊有り)」「4.ネットワークフリー(しかし混んでる)」「5.空いている」と非常に恵まれた環境にある。

その環境の中で感じたRubyとRailsを、普段Javaとその派生言語、PL/SQL、C#辺の技術者でもある私の視点から記してみる。
良い点
1.アジャイル的な開発が軽快
動きが軽快というわけではない、大したコードや複雑な処理もなく、サーバ群もすべてローカルにある状態ではスピードについてあれこれ言える段階ではない。なんてったってインタプリタ型言語という部分に軽快さを感じた。ビルドという作業はcommand + sでハイ終了。これは良い。generateコマンドも強力、DB設計さえできていればCRUD機能はあっという間、それはscaffoldでは無くても、である。普段コンパイラ言語と付き合う技術者から見ると、これは魅力である。
2.データの受け渡しが軽快
サーバサイドのjavaWebアプリだと、どうしてもsetter/getterのParameter Class定義が必要となる。その世界に生きている私にとって、controllerでインスタンス化(java的ですいません)したParameter変数が、そのままviewオブジェクトに渡ってしまうというのは隔世の感がある(言い過ぎかw)。CRADの指示もfindとかsave、updateとparameter変数にくっつけるだけで、あとは勝手にRailsが良くしてくれる。便利すぎる。

困る点(問題点ではない)
3.やっぱり慣れていないから...
言語やフレームワークに不慣れなのだから仕方ないが、どうしても突っかかる箇所がしばしば。今日困ったのはDBのエンティティ名にT_XXX_111_XXXと、アンスコをたくさんつけたものをgenerateをしてみると、どうもRouting Errorが取れない。これも慣れの問題と片付けてしまえばそれまでだが、どうも慣れていないと勘所が働かないのがストレス。

Railsでスタイルシート

個人で開発していると困るのがデザインの無さ

技術書のサンプルを使って勉強している時は特に感じるもので、諸兄のアプリ開発のやる気を削ぐ原因の1つになっているのではなかろうか。少なくとも私は該当する。

頭の中にある素晴らしいアプリのイメージと、目の前にあるスケルトン的なただ動くもののギャップには、本業では気にならないのに、趣味の開発では非常に気になる。

その結果、飽きてしまう。よくある事。仕事では粘り強い人も、趣味の領域では簡単に結果を求めてしまう事はありがち。便利さを求めてしまう。

ちょっと脱線したが、私がCSSの1歩を踏み出すにあたってよかったサイトがある。
http://yoppa.org/taumedia10/1695.html

個人の開発、つまりアジャイル開発

私の稼業は、大学を卒業してから一貫してシステムエンジニア(以下SE)である。
最近は、コンサル寄りの案件見積もりの仕事もこなしつつ、運用保守問題を一人で解決する保守系SEとしての本業もこなす現状、結構何でも屋あり、重宝される、逆にいうと中途半端である。

キャリアの中では、比較的大規模な開発に従事している事が多く、組織として開発に向かうにはウォーターフォール型の開発が採用される。設計 開発 テストと区切りつつ成果物をまとめていく手法。最近の開発現場はスピード優先なので、各フェーズがラップしていることが一般的。困ったことです。

運用保守の現場でも、たまに見積もりの成果が実って小規模案件開発がある。
その際は最低「1人」のプロジェクトとなる。その場合1人で設計 開発 テストとやるのはちょっと微妙である。はっきり言って煩わしい。私の場合、技術的障害を予め回避する為、調査段階でササッと動く画面を作ってしまう。プロトタイプを先に作る。

ここ数年流行っている「アジャイル開発」、開発成果物の中で、1機能として成り立つ最小限の単位で一気に開発してしまう。機能単位での開発手法であるが、まあ昔からやっていたこと。こんだけ駄文長文を書いて言いたかったことはこれである。

今趣味で開発しているPhoto575も無論アジャイル開発っぽいことになっている。
個人でシステム開発すれば、自然とそうなる。ただそれだけ。

2011年9月26日月曜日

form_forの使い方で悩む事3時間

どうも新規登録画面のフォーム表示(new.html.erb)で
<% form_for(@コントローラで宣言した変数名) do |f| %>
がエラーが出て上手くいかない、と3時間ほど悩んで以下のページにたどり着く。
http://blogs.yahoo.co.jp/katashiyo515/338322.html
結果、もう少し書いて解決。
<%= form_for :エンティティ名, @コントローラで宣言した変数名, :url => { :action => "create" } do |f| %>
次はredirect。

Macタグエディタ「Kod」のフォントサイズを大きくする

KodはMacのタグエディタとしては優秀だが、フォントが小さい。
アプリでフォントサイズの制御はβ版なので、どうやら出来ない。視力が強くない私にとっては致命的。なので調査してみると、意外と同じ悩みを抱えて解決した方がいらっしゃる。これは助かるので、以下に記しておく。

http://veadardiary.blog29.fc2.com/blog-entry-3449.html

photo575開発ブログとして

はじめまして。管理人です。
このブログは
・photo575アプリ開発時の覚え書き
・photo575アプリのアイディアをなぐり書き
・Ruby on Rails開発初心者のmemo書き
・その他開発日記書き
・自分の人生振り返り書き
等々を記していくブログとします。よろしくお願いします。