Hamamatsu.rb #31

### 遅刻した遅刻した

すみません(・ω≦) テヘペロ

もくもく

3~4人がD3.jsいじってましたね。

僕はD3.jsかVagrant+Chefのどっちかやろうと思ってたのですが、2つともチュートリアルは消化してしまっており(あまりに楽しみすぎてフラDevしたなんて言わないけど)、

またモバイル用マシンであるMacBookProのスペックがしょぼいことや、そもそもMacなのでわざわざVirtualBox入れる必要もないよなぁってことで別のお題に。

TwitterBootstrap用のCSSを配布している[Bootswatch](http://bootswatch.com/)というサイトがあるのですが、

ここで配布されているテンプレートをTwitter-Bootstrap-Railsを仕込んだRailsアプリで使おうというものです。

反省

時間足りないっすわ。。。

感想

Hamamatsu.rbの開催時間は19:00~21:00。

そのうち、

  • 自己紹介

  • 前回の反省

  • LT

  • KPT

  • 次回の役割分担

などをもくもくの前後で行うので、実質もくもく時間は1時間ちょいです。

短いっちゃ短いですが、持ち時間はこれと割り切って、それくらいの時間で決着できるネタを具体的に考えるべきだったかなぁと。

例えば、

  • ドットインストール

  • 誰かのBlogのやってみた的な記事

  • LT資料作成

などですかね。

今回はRailsCast視聴してる方も居ました。あーいうのもアリだよなー。

第2回OS自作友の回

さて、ハマルビが開催されたその週末。

同じ鴨江別館にて開催されました第2回OS自作友の回。OS自作と謳っていますが、主催者の@langurくん曰く、もくもくするならなんでもOKとのことだったので、お菓子持参で参加してきました。

集まったのは5人。

タイトル通り自作OSを開発する者、CSSでスライドショーを作る者、Subversion用のプラグインを書く者、何やるかを考えてボーッとする者。

最後が僕です。

たまたま見つけたMashupAwards9の推奨APIを眺めてみました。あるとあることあること、知らないAPIが。

いろいろと面白そうなのだけど、いざ腰を据えて何か降ってこないかなーと思っていると、やっぱり何も降ってきません。

とりあえず、一番アプリの投稿数の多い美女検索APIを使ってみました。

といってもAPI叩いてViewに表示するようなものはもので。

ただ今回は、以前Ruby中級入門で見かけたHashieを継承したデータ格納用クラスの設計を取り入れてみました。

今までこんな風にやっていたものを、、、

# クラスの定義
class Bijo
    attr_accessor :thumb,:category,:link
end

# 宣言
bijo = Bijo.new
bijo.thumb = bijin["thumb"]
bijo.category = bijin["category"]
bijo.link = bijin["link"]

# 使うとき
puts bijo.thumb

Hashie::Mashを継承して、こんな感じに書けます。

# クラスの定義
class Bijo < Hashie::Mash
end

# 宣言
bijo = Bijo.new(
    :thumb => bijin["thumb"],
        :category => bijin["category"],
        :link => bijin["link"]
)

# 使うとき
puts bijo.thumb

クラス定義と宣言するときのコードが読みやすくなった気がしませんか?

Hashieを継承しているので、クラスにattr_accessorをわざわざ指定しなくてもハッシュと同じ要領で宣言することができます。

また、値を取り出すときもイニシャライザを使うのではなく(使うことも可能ですけど)クラスのメンバへアクセスする要領でハッシュの中身を使うことができます。

Hashieのこういう使い方を知ったときはへぇ〜と思いました。

C#とかの静的な言語であれば、こういうクラスを用意する場合は、メンバが参照できるようにハッシュではなく、ちゃんとプロパティとして定義すると思います。けど、

動的言語だし、コード数も少ないからこういう実装もアリなのですね。面白い。

さーて、来月のHamamatsu.rbはー?

10/09

です。

Hamamatsu.rb #32