2011年11月27日日曜日

rails認証プラグイン:Devise導入:その2

Devise導入の条件を満たす作業を継続していきます。
1.ログイン時にパスワード認証 (5文字以上英数字)
2.認証は暗号化認証を実施。
3.パスワードの有効期限は設定せず。
4.ユーザーがパスワードを更新できる。
5.ユーザーがパスワードを忘れた場合は再発行メールを送れる。
6.一般ユーザがユーザを追加できる。
7.ユーザーはコントロールのアクション毎のロール許可
8.Deviseのデフォルトmodelを拡張し、作成したいアプリに必要なカラムにDML発行することが出来る。
9.保存するパス自体が暗号化されている事。
Deviseを導入した時点で、2.の暗号化認証はされている様子。但し、どのような暗号化通信がされているか不明の為、詳細はまた後ほど。
また、Devise自体は3.パスワード有効期限の管理機能は搭載されていない。これもクリア。
残りは1.パスワード5文字以上チェックのみ。
config/initializers/devise.rbに以下の行を追加。

 config.password_length = 5..128


















登録パスワードに「test」と入力してユーザ登録

















こうするとパスワード部分にバリデーションチェックがかかる。
これでひとまず成功。
Sign in とForgot your passwordを日本語に切り替える作業が残っているw

2011年11月22日火曜日

今日の575実装 セッションIDとreferences

1.Deviseのセッションからidを抜く
current_user.idでOK。簡単。
この実装によって、作品を登録する時の登録者IDをセッションから拾ってこれる事になった。

2.モデル作成時に既存エンティティと1:nの関連をもたせる。
$ rails generate model 新規モデル名 関連させたいモデル名:references でOK。簡単。
明日は作品に対するコメント機能の実装に入ろう!

jQueryのお勉強

多摩美の田所先生の公開資料にてお勉強。ほんとお世話になる。

2011年11月14日月曜日

rails認証プラグイン:Devise導入:その1(インスコ)

認証機能はDeviseより先にmaigo@sekai氏のエントリーを参考にして、プラグインでパスワードの暗号化とsign_inまで実装することに成功(といっても動くだけのサンプルだが)した。
現場ではお客様のシステムに関する問題解決の旗振りや、案件提案を行う役回りばかりなので、こうして認証のイロハを学べるという事は正直なところ楽しい

さて、認証機能もちょっとだけ触った所で、現在Rails認証プラグインで一番人気のDeviseにチャレンジする事にする。
ASCIIcastsというページと13さいの備忘録を参考に導入を実施。一筋縄で行かないので数回に分けて実施する。

...13さいの備忘録に、氏が目指す認証の条件が書かれている。見習って私も書くことにする。(参考に氏の導入条件を斜体文字で表現)
1.ログイン時にパスワード認証 (7文字以上英数混在)
...6文字以上でOK。英数混合は条件にいれず。
2.ベーシック認証はイヤ!
...同意、暗号化認証を実施する。
3.パスワードの有効期限180日
...これは採用を見送る。但し採用できる拡張性は持たせる。
4.ユーザーがパスワードを更新できる。
...必須事項。もちろん。
5.ユーザーがパスワードを忘れた場合は再発行メールを送れる。
...これも必要な機能。
6.管理者のみユーザーを追加できる。
...これは「管理者は、他のユーザを追加できる。他のユーザは自分のみを追加できる」に変更。
7.ユーザーはコントロールのアクション毎のロール許可
...これも採用、ロール管理できなければ認証の意味なし。

8.(新)Deviseのデフォルトmodelを拡張し、作成したいアプリに必要なカラムにDML発行することが出来る。
9.(新)保存するパス自体が暗号化されている事。

よし、これで導入をしてみる。今日は下準備。
・gemfileに以下を追記
$ gem 'devise'
・bundleインストール
$ bundle install
・generateインストール
$ rails generate devise:install
config/environmentsのdevelopment.rb と production.rb と test.rbに以下を追加
 config.action_mailer.default_url_options = { :host => 'localhost:3000'
config/routes.rbに以下を追加
root :to => "welcome#index"

まずはここまで


2011年11月12日土曜日

涅槃(ねはん)の威力

575のアプリを開発するにあたり、機能として必要なのが縦書き。
探してみると縦書き文庫氏の涅槃(ねはん)というエンジンに出会う。
ページの<head>タグに、以下のエンジン定義を書く

<link charset="utf-8" rel="stylesheet" type="text/css"
 href="http://nehan.googlecode.com/hg/nehan2.css" />
<script charset="utf-8" type="text/javascript
 src="http://nehan.googlecode.com/hg/nehan2-min.js"></script>
<script type="text/javascript">
  window.onload = function(){
    Nehan.LayoutMapper.start();
  };
</script>

その後、縦書きしたい箇所を以下のように囲う。
<pre class="lp-vertical lp-width-80 lp-height-400 lp-font-size-20">
縦書きにしたい文章
</pre>
lp-vertical(縦書きの宣言)
lp-width-400(横サイズ)
lp-height-300(縦サイズ)
lp-font-size-16 (フォントサイズ)

これを実装するとこうなる。



























凄い。思わず笑ってしまった程の威力!

2011年11月10日木曜日

rails3 PaperClipで大苦戦

Paperclipは2011/11/1現在、比較的人気のあるファイルアップロードプラグインで使いやすいはずなのだが、問題が発生した際のドキュメントがEnglishが多く、日本語が少ない。(導入資料や試してみたメモは沢山日本語も存在。)

2個のエラーが鳴り響く。
Photo/var/folders/rA/rAc9q6yUFES79pX7bGGAPU+++TI/-Tmp-/stream20111110-1205-trvpd7-0.jpg is not recognized by the 'identify' command.

Photo/var/folders/rA/rAc9q6yUFES79pX7bGGAPU+++TI/-Tmp-/stream20111110-1205-trvpd7-0.jpg is not recognized by the 'identify' command.

どうやら「identigyコマンドが見つからんわ、無いわ」と文句を言っている様子。
早速identifyを探す。
$ which identify
/opt/local/bin/identify

whichの結果をもって、(railsプロジェクトのルート)/config/development.rbに以下を追加

Paperclip.options[:command_path] = "/opt/local/bin/"
これでOKか......あれ、同じエラーが発生する。3日位、これはハマった。

もっとrailsログの見方と英語を勉強しないと、これから待ち受けるエラーもハマるんだろうなと不安になる始末。

悩んでいるうちにようやく同様の事象で悩む先人を発見。この方は、ImageMagickを再インストールしようとして、更にハマる悪循環にいらっしゃる...でも物は試しと実行。
$ sudo port -d selfupdate
$ sudo port install ImageMagick
....!!

























ようやく上手く行った。
参考:
http://d.hatena.ne.jp/hichiriki/20081130
http://matatabi-on-rails.blogspot.com/2010/08/paperclip-rails-3-windows.html
http://d.hatena.ne.jp/ken73/20110608/1307516163

2011年11月5日土曜日

HTML5のお勉強

HTML5やCSS3とは何ぞや、と疑問を抱く私が今見ているのは以下のサイト
http://yoppa.org/taumedia11/3232.html



















slideshare(PowerPoint版Youtubeみたいなもの)に講義で使わたと思われるスライドがあり、私みたいな学費を払っていない他人であっても閲覧が可能。これは有難いのです。

2011年11月3日木曜日

ImageMagicとRMagickのインストール

railsの写真等ファイルアップロードプラグインで、今一番人気なのがPaperClip.
今日はインストールを実施。
1.ImageMagickのインストール
ImageMagickは100種類以上の画像ファイルフォーマットに対応しているソフトウェアスイート。C言語で書かれている。
各種ライブラリのインストール
$ sudo port install jpeg
$ sudo port install libpng
$ sudo port install libwmf
$ sudo port install tiff
$ sudo port install lcms
$ sudo port install freetype
$ sudo port install ghostscript(このAdobe提供のライブラリだけやたらとCPUパワーを食う。)
ImageMagickのインストール
$ sudo port install ImageMagick
2.RMagicのインストール
RMagicはImageMagicのRubyバインディング版。これを入れないとImageMagicがrailsで使えない。迷わずインストール
$ sudo gem install rmagick

3.PaperClipのインストール
その後、いよいよPaperClipをインストール
プロジェクトのディレクトリに移動し、gemfileに「gem "paperclip"」を追記し、以下を実行。
$ bundle install
Installing paperclip (2.4.5) 
おー、導入完了。週末に使ってみよう。

2011年10月31日月曜日

ruby1.8.Xから1.9.xへの更新

macでMacPortsを使ってrubyをインストールする際
$ sudo port install ruby19 
しかし、これだと$ ruby -vをすると1.8.X系が現在のバージョンだと言われる。
代わりに$ ruby1.9 -vとすると1.9.X系が出てくる。


通常使われるrubyのバージョンを上げるには
$ sudo port install ruby19 +nosuffix
が正解。
以下のサイトを参考。ありがとうございます。
http://d.hatena.ne.jp/deeeki/20101030/mac_ruby19_rails3

2011年10月30日日曜日

email_fieldは便利だが

ユーザー情報の1つにE-mailがある。
Railsはemail入力ヘルパーemail_fieldがあり、

railsのview::<%= f.email_field :MAIL %>

出力結果::<input id="muser_MAIL" name="muser[MAIL]" size="30" type="email" />







と、HTML5の機能を用いてsubmit時にバリデーションを有効にさせることができる。
が、望む機能はフォーカスアウトした際に有効になる仕組み。どうすればいいのだろう。調査調査。

2011年10月27日木曜日

Time.nowの実装

生年月日のセレクトボックスを作る際以下の実装をする。
<%= f.date_select :BIRTHDAY, :use_month_numbers => true, :start_year => Time.now.year - 80,:end_year => Time.now.year %>
Time.now.yearと実装すると、”2011”と返してくれる。







生年が1930-2011まで指定されている(絵では表現できていませんが)。
このTime.nowだが、今回はレコードの更新日付に使おうと思い
def createメソッドに以下の実装を施した。

 @usr = Muser.new(params[:muser])
 #新規登録時間を登録
 @usr.INS_DATE = Time.now
 @usr.save

すると想定通り、INS_DATEには現在日付が入っている。結果は以下の通り。
2011-10-27 13:12:44
ん?何故昼時間が登録...あ!これ米国時間だ(この間数秒)。
なのでTimeZoneをTokyoにして再度実行。
application.rbに以下の行を追記


#TimeZone変更のため

config.time_zone = 'Tokyo'
config.active_record.default_timezone = :local








3回目のチャレンジでうまくいきました。今は夜。

2011年10月23日日曜日

Railsは自らの開発環境との戦いが大きなリスク

いきなりrakeコマンドが打てなくなったのですね。
こまったな、ともう一回プロジェクトを作成
$rails new photo575 -d mysql
このへんで気づいたのですが、railのバージョンが3.0系から3.1系に上がってたようです。
railsのバージョンが3.1になるとrailsのmysql2の設定も異なるようです。

ActiveRecord 3.0系 最新:3.0.10 mysql2 最新:0.2.13
ActiveRecord 3.1系 最新:3.1.0.rc6 mysql2 最新:0.3.7

知らずにmysql2:0.2.13を使っていると、サーバ起動時に以下のエラー

WARNING: This version of mysql2 (0.2.13) isn't compatible with Rails 3.1 as the ActiveRecord adapter was pulled into Rails itself.
WARNING: Please use the 0.3.x (or greater) releases if you plan on using it in Rails >= 3.1.x


サーバは上がれど、検索ができない状態になるのです。はい。
rails3.1はいささか勝手が異なり難しいです。悪戦苦途中...

2011年10月19日水曜日

エンティティに存在しない「受諾」カラムを追加。

今日は「利用規約に同意する」の機能を追加。
new.html.erb  
<div class="field">
    <b>利用規約に同意する</b>(同意する場合チェック)。<br>
    <%= f.check_box :agreement %>
</div>


modelクラス
  validates :agreement,
    :acceptance =>true

実装完了。さてチェックをせずに登録ボタンを押す。
・01.Agreementがカラム名そのまんま
・02.受諾してください、とは強制しているようでイケてない。
 まずは02の方を訂正
ja.yml
  errors:
    format: "%{attribute}%{message}"

    messages: &errors_messages
      inclusion: "は一覧にありません。"
      exclusion: "は予約されています。"
      invalid: "は不正な値です。"
      confirmation: "が一致しません。"
      accepted: "を受諾してください"

      accepted: "を同意するにチェックがありません。"
しかしこの受諾検証のメッセージを変えてしまった事は、他の受諾検証もこれに倣う事になる。後々後悔しそうだが、ひとまずこれで。

さて試してみる。
メッセージが変化。あと一息。 
ja.yml
  activerecord:
    attributes:
     muser:
      USER_ID: "ユーザID"
      DISP_NAME: "表示名"
      agreement: "利用規約"

これは一瞬迷った。muserエンティティには存在しないカラムを、muserのカラム名定義部に入れていいのか、ということについてだが、他に方法も思いつかないのでコレで行く。
完成。意外とすんなり行った。
情報源は以下の書籍。






バリデーションによる入力規制02 ローカライズ(日本語化

なんとか日本語化に成功。今回は調査から動作確認まで3hの工数を消費。
何が難しいといえば、railsのバージョンによって推奨される方法が異なる事で、どの情報をもってローカライズすればよいのか非常に迷った事、必要とする情報だけをフィルタリング出来なかった事が反映。あれもこれも、では駄目。

今回調査したrailsのローカライズの推移は
1.エラーを扱うクラスをオーバーライドしたり、ActiveHeartでゴリゴリ書く「力技」
2.ruby-gettextを使う。
3.i18nを使う。

私が一番最初に「これはいける」と思ったのは1.のゴリゴリ型。最初はいいと思ったが、工数がかかって仕方がない。また日本語が、各modelに散ってしまうのもメンテナンス性が悪い。

結果、2はやらず、3のi18nに到達。参考にした資料は
http://www.st.rim.or.jp/~sakisan/rails3_ja.html(Rails3 エラーメッセージ日本語化のメモ)
上記リンク先にも書いてあるとおり。ステップは以下の通り

イ.ja.ymlをネット上からダウンロードし、config/localesに配置

ロ.config/locales/ja.yml に以下の行を追加(サンプルは私の環境に最適化。
activerecord:

 attributes:
   muser:#エンティティ名
    USER_ID: "ユーザID"#カラム名
    DISP_NAME: "表示名"#カラム名
helpers:
 label:
  muser:
   USER_ID: "ユーザID"
   DISP_NAME: "表示名"#カラム名

ハ.config/application.rbのどこかに以下を追記
config.i18n.default_locale = :ja

二.webサーバ再起動
これで終了。簡単。但し、i18nを最初から使うという結論に最初から辿りつけていればの話。でも目標が達成できてよかった。

2011年10月17日月曜日

バリデーションによる入力規制01 事始め

Railsのバリデーションは非常に簡単。modelクラスに以下のように実装する。
  validates :USER_ID,#入力制限を加えたいカラム
    :presence => true,#Not Null制約
    :uniqueness => true,#一意性制約
    :length => { :minimum => 3, :maximum =>30 }#桁数範囲制約
viewに以下を実装する。
<% if @usr.errors.any? %>
 <div is ="error_explanation">
  <h2><%= pluralize(@usr.errors.count, "個") %> のエラーが存在します。</h2>
  <ul>
   <% @usr.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
   <% end %>
  </ul>
 </div>
<% end %>

以上で上の絵のようなチェックを走らせる事が出来る。簡単。
但し以下の問題点がある。
1.エラーメッセージが英語
2.カラム付近へエラーが出ていない。
3.エラーのカラムが分かりにくい(カラム周囲が色が変われば良い)
4.規約に同意、などといった新規のみチェック等が制御できていない。
明日からは、上記の問題を解決していこうと思う。

2011年10月15日土曜日

いきなりrailsが消えた??

朝から本職の会社で「伸び悩むゴルファー練習会」が開かれたり、午後は家族サービス+夕飯のポークシチューの準備で忙しく、疲れ果て集中力も切れたので近所のマックで気分転換も兼ねて出向く。

さすがマック、土曜の夜21時を超えているのに混んでいる。
勉強する高校生やら、13インチのmacbook proで作業する方やら、vaio pの小さな画面で何やら一生懸命に文字入力している方とか...うん、疲れているけど頑張らねば、という気分になる。いい場所。

というわけでホットコーヒーを片手に席につき、今日もrails sとWEBrickを動かそうとすると

$ rails s
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.
「あんたのMacからRailsは逃げ出しました(異訳)」と書いてある青天の霹靂的なエラー。え、おかしい、一昨日まで動いていたrailsがトンズラするとは。なんか変なさよならコマンドでも打ったかな...
と迷っても仕方がない、再インストールするしかないな、とさっさと諦め帰宅、情けないことにモバイル回線は無契約。トホホ。でもやる気をもらったから無収穫ではなかった。また来よう。

2011年10月11日火曜日

確認画面の必要性

アプリを開発する上で、ユーザが何らかの登録アクションを行う際に必要になる「確認画面」。

Webアプリを使用していると、この確認画面にまでたどり着くまでに様々なチェックに引っかかり四苦八苦した事は1度はあると思われる。

開発者からすると、どうしても入れてもらいたいnot null制約がある項目については厳しくチェックしたいところはわかるが、ユーザからすれば、こんなん要らないだろ、という項目もある。しっかりと設計して、必要最低限の入力項目にするのが目指すべきところ。

その確認画面をこれからrails上で機能として開発しようと思う。confirmが鍵のようだ。

2011年10月4日火曜日

"完成したら出す"位で良い、「個人開発のスケジュール」

システムを開発する人間は、皆エンジニアである。自動車を作る人は、どの工程にいる方でもエンジニアであるように、システムを開発する方も最上流のコンサルさんを除けば、皆エンジニアである。横文字にするから分かりにくいのであれば、自動車を作る方もシステムを作る方も皆「技術者」である、といえば分かりいいかもしれない。

エンジニアとして、他のメンバーと共同で1つの作業をする為に、進捗を確認するための「スケジュール」は不可欠である。これがなければ、メンバーはいつ迄に何を作らなければならないか分からない、都度リーダーに質問する。リーダーはクリティカルパスが遅れているのかどうか把握出来ない。チームとしての進捗を把握するためのツールとして重要。私も本業の現場では、スケジュール線を引く任にある。

ただ、こうして個人で、それも既婚子持ちの人間が、少ないプライベートの時間を削って開発していると、すぐに気づくことがある。スケジュールは守れない、というか作ってられない。裕福な親元にいる学生さんなら時間を潤沢に使えるだろうが、こちらは本業も多少の責任を持つポジションであるので、少し残業してしまえば開発の時間なんぞ消し飛んでしまう。
スケジュールを作れない、という訳ではないが、スケジュールを守れないという事は、リカバリプラ員を考えることになる。本業でスケジュールが遅延するのであれば、スケジュールに余裕があれば負荷崩しをしたり、余剰リソースを探したりして対応を考える思考になるが、プライベートは1人であり、余剰時間も限られている。つまり簡単に自分というステークホルダーに対する納期遅延が発生する。この納期遅延はやる気ダウンに直結する
プライベートの開発は納期死守のためのリカバリは睡眠時間や家族とのコミュニケーションを犠牲とする事になる。これはNGである。身が持たない。

「私は個人で趣味の開発をしていて、スケジュールもばっちり日単位で引いてオンスケですわガハハ」という人に出会えば尊敬してしまう。よっぽど意志の強いタフネスな方なのだろう。私は三下の為、これをすれば本業も家庭も疎かになる。だからどうせ守れないスケジュールなんぞ要らないだろという結論に達している。

但し誤解して欲しくないのは、全くのノースケジュールノープランが良い、と言っているわけではない。私は一次リリースを来年4月1日に定めている。これは目標である。
そのリリース目標に向けて月単位で、何をすればよいかのグランドスケジュールぐらいは引いている。それぐらいでいいと思っている。お客様から急なゴルフやツーリングのお誘いが来れば週末が吹っ飛ぶわけだから、週に落としこむのも危険だと思っている。

ということで、言いたいことは、私の好きなゲーム、米Blizzard社の「Diablo」の責任者の言葉を流用する。「完成したら出す」と。
これぐらいの気分で肩の力抜いた方が、継続すると思う。

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書き
・その他開発日記書き
・自分の人生振り返り書き
等々を記していくブログとします。よろしくお願いします。