一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

RailsでCustom FormBuilderのSpecってみんなどう書いているんだろう

RailsでFormBuilderを独自拡張した場合のSpecってあまり言及されていないよなと思う。

例えば、こんな感じで独自FormBuilderを書いたとする。

app/forms/application_form_builder.rb

するとSpecはこんな感じかなあと思っているのだけど・・・。

spec/forms/application_form_builder_spec.rb

なんかしっくりこない。 ActionView::Helpers::FormBuilderのコミットログを見ると、initializeメソッドの引数が変更になることもあるので、form_forを呼んでから書くというのがいいかなとか考えてる。 コードとしてはこんな感じ。 form_forから書いた方がClassを直で呼ぶより保守性が楽かな?

参考URL

ジェットウォッシャードルツを購入

前から気になっていたジェットウォッシャードルツを買いました!

迷ってたけど、据え置きタイプでなくて携帯タイプを買いました。

据え置きタイプと違って水はここに入れます。ここに入る水が少ないのが残念だった。

実際に使ってみて

自分の場合、普段からデンタルフロスを使っているので、よく言われる食べかす等が大量に取れたとかいう事は無かった。ただ、歯医者でブラッシングして貰った後のようなスッキリした感覚にはなるので、使っていきたいと思う。暫く使えば歯茎も下がってきそう。

週刊少年マガジン2015年6号を電子書籍で買ってみた

週刊少年マガジン2015年6号 [2015年1月7日発売] [雑誌]

週刊少年マガジン2015年6号 [2015年1月7日発売] [雑誌]

自分が唯一「紙」で買っている雑誌の週刊少年マガジン電子書籍として販売開始したのでKindleで買ってみた。

いつもは水曜日の仕事帰りに買って読んでいたけど、電子書籍なので日付が変わった瞬間である、24:00丁度に家にいながら買えてしまう。iPadで読んだのだけど、特に不便に思うところは無かった。

漫画なので、iPhoneの小さい画面だと見開きは流石に厳しかったが、ラッシュ時だったら許せる感じはする。元の紙媒体だと印刷が汚いけど、iPhoneだったら綺麗だし。

というわけで今後もマガジンはKindleで買っていくことにした。技術書などはPCで閲覧できないのが不便でKindleでは買わずにPDFで買っているんだけど、これどうにかならないかなぁ。ていうかあれですね。どのプラットフォームで買っても統一したUIで電子書籍を読めるサービス欲しいですね。電子書籍版IFTTTみたいな。

[追記] と思ったけど、来週は「はじめの一歩」だけ掲載されないみたいですね。。作者さんの都合ぽいけどまだ検討中みたいなので、掲載が待ち遠しいです。

2014年購入した筋トレグッズ

去年はほぼ自重のみでやっていたけど、今年はダンベルをもう一本買ったり、プレートを増やしたりした。 高い値段の物で失敗したことは無かったですね。

プッシュアップバー

GOLD'S GYM(ゴールドジム) プッシュアップバー T5000

GOLD'S GYM(ゴールドジム) プッシュアップバー T5000

プッシュアップバーというのはプッシュアップ(腕立て伏せ)をする時に使う台みたいなものです。 これを掴んでプッシュアップをすると可動域が増え、より負荷をかけられるわけです。 これ以外にも2つほど使ってみたけど、一番ガタツキが少なかった。 さすがはゴールドジムといったところでしょうか。

フラットベンチ

リーディングエッジ フラットベンチ LEFB-005 [耐荷重200kg ダンベル トレーニング]

リーディングエッジ フラットベンチ LEFB-005 [耐荷重200kg ダンベル トレーニング]

200kgまで耐えられるということなので、殆どの人にとって問題がない強度ではないでしょうか。 この値段でこのスペックはコスパ最強のフラットベンチな気がする。

ダンベルシャフト/プレート

IVANKO(イヴァンコ)ラバープレート5kg RUBK-5

IVANKO(イヴァンコ)ラバープレート5kg RUBK-5

IVANKO(イヴァンコ) スクリューダンベルバー SDB-1

IVANKO(イヴァンコ) スクリューダンベルバー SDB-1

今までダンベルは一本だったので二本目を購入。 トレーニング時間を短縮できた。 後から知ったんだけど、ダンベルはイヴァンコが一番高いらしい。何が違うのかな。

ラバーチューブ

サクライ(SAKURAI) プロマーク トレーニングバンド レベル5 立花龍司監修 TPT0114

サクライ(SAKURAI) プロマーク トレーニングバンド レベル5 立花龍司監修 TPT0114

ハムストリングを鍛えるために買ったのだけど、どうも自分には合わなかった。とりあえずランジをやってるけど、ハムストリングの為にジムに通うのもどうかと思っているところ。

トレーニンググローブ

やっすいんだけど、ある程度使ったら買い換えるというスタンスで使ってます。 値段の割には品質がいいので結構気に入っている。

アンクルウェイト

最初に1kgを買ったのは間違いで、すぐに2kgを買いました。結局ダンベルと同じで重さを調整できるタイプを買うのを推奨します。

サプリメント

ザバス(SAVAS) アクア ホエイプロテイン100 グレープフルーツ風味 800g

ザバス(SAVAS) アクア ホエイプロテイン100 グレープフルーツ風味 800g

今年のプロテインはずっとこれ。 清涼飲料水並みの味だし、クエン酸まで入っているのでこれでいいやってなってる。

ファイン L-シトルリン 240粒

ファイン L-シトルリン 240粒

血流の量が増えると聞いて飲んでみた。 確かに汗の量が増えました。ダイエット目的の人は飲んでもいいのかもしれない。

DNS クレアチン 300g

DNS クレアチン 300g

これは本当に効果が実感できた! 普段より重いウェイトでも上がるし、レップ数も増える。ただ、水分を多めに取ったりするのが面倒かな。

読む筋トレ 扶桑社新書

読む筋トレ 扶桑社新書

内容をよく調べないでポチったのですが、これは筋トレが続かない人が読む本でした。 筋トレをすることのメリットが親切丁寧に書かれており、実際のトレーニング内容は基本的なものが書かれている程度です。 自分にはいらなかったな。

振り返ってみて

思ったより色々買ったなーという感じだけど、ジムに通うよりは安上がりかなと感じた。 最終的には全トレーニングを自重でできるようになりたいのだけど、いつになることやら。

Validation Nightに行ってきた

ページャNight <[1]>が想像以上にクオリティが高かったので、今回も参加しました! 登壇者が徳丸さん奥野さんなどとても豪華だったなぁ。

で、個人的にはサーバサイドとクライアントサイドのバリデーションが分離してしまう問題を解決している人がいるかなと期待したのですが、これって方法はないですねやっぱり・・・。 RailsだってDRYとか言ってもJSを考えるとDRYになりきれないし。 ただ、懇談会で「うちはサーバサイドとクライアントサイドのバリデーション部分を動的に生成している」って話は聞いた。やっぱりそういう感じで解決するしかないのだろうか。バリデーションは全部サーバサイドに寄せてAPIを叩く感じにしてもいいんだろうけど、サーバに負荷かけたくない時とかはそれじゃダメだったりするだろうし。やっぱりページャーと同じでこれが正解ってのは無いのかもしれない。

InputMan

自分が20代の頃、1次受けの会社に常駐という形で某業務系システム開発にJOINした時の話。

その会社は汎用機の開発経験があるエンジニアしかいないのだが、オープン系の受託開発を受注して開発を開始。しかし今のままでは不安なのでオープン系の開発経験者を入れようか?そんなところに入ったのが自分と他社の2人のエンジニアだった。

開発言語はVB6.0で、最初にコードを書いていたのはプロパーのエンジニアだった。業務の説明の後にとりあえずコードを見ることになり、 ああ勉強しながら書いてる感じだなーとか思いつつコードを流し読みしていて、おや?と思った。「InputManを使っていない」のだ。ま、VBでの開発自体初めてなのだから知らなかったのだろう。

どんなソフトかWebエンジニア向けに簡単に説明すると、Datepickerのようなもので、日付だけでなく電話番号や金額など業務系のシステムでよくつかう様々な入力フォームを実装しているミドルウェアといった感じだ。業務システムの開発で、開発言語にVBを使っているプロジェクトなら、当時はどこに行ってもほぼ100%採用されていたソフトウェアだ。

InputManを使っていれば必要のないコードを自前でゴリゴリと書いているので、その為に無駄な工数を使っているのは明らか。 一緒に働いていた他社のエンジニアも気がついてPMにInputManを紹介したのだが、採用は却下された。理由は以下のとおり。

  1. 今まで作ったコードを修正しないといけないので時間がかかるのでは?
  2. 学習コストがかかるのでは?
  3. ライセンス代が30〜50万円(当時)で高い

だけど、1に関しては実装を見る限りさほど時間はかからず、2に関してはVBができる人なら学習って言うほど学習がいらない。3に関しては使わない方が稼働時間が増えたり、人出が足りなくなって人件費の方がかかってしまう。この点をPMに説明したのだが、彼は汎用機の開発経験しかないという事もあり、ピンとこなかったんだろう。説明しても納得してくれなかった。 それ以上は誰も突っ込まなかったが、自分が所属している会社ならもう少し頑張ったのだと思う。まあ下請けではそこまで深入りしないですからね。

で、結局その後工数が膨らんでしまってエンジニアを2人増員することになりました。1ヶ月あたり人件費に100万以上払うことになったわけですね。エンドユーザーは人が増えた分だけ予算を増やしてくれるわけではないので、人が増えれば増えるほど1次受けの会社の利益は減ります。。。結局、InputManのライセンス代を払うより高くついてプロジェクトは終了しました。

ソフトウェア開発だけに限らず、あらゆる状況で「InputMan」のような存在はあるのだろう。 自分に知見が無い分野のInputManを、うまく使いこなせるようになりたい。

PowerToolsシリーズ InputMan Pro 6.5J

PowerToolsシリーズ InputMan Pro 6.5J

今月から

実は複数あった会社が事業統合しただけで、勤務先や周りの環境は全く変わってません。 職務経歴上は転職した扱いだけど。 つまり例の画像を貼ってみたかっただけです。