Hamamatsu.rb #10

ついに10回目!
今月も参加してきました!
http://atnd.org/events/21943

今回から、新しい本が教科書です。

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)


全レシピ232個からランダムで選んで、その場でやってみて、疑問点議論という流れです。
今回選ばれたレシピは、

  • 38「2つのハッシュをマージしたい」
  • 77「既存のクラスのインターフェースを別の形に変換して提供したい」
  • 128「RESTfulなWeb APIクライアントを簡単に作りたい」

です。


その後、LTがありました!
今回はとても多く、私を入れて5人だったため、LT大会のような感じでした!
内容がすごく濃く、どれもとても勉強になります…!

LT資料

@mackato 様 「Twitter bootstrap on rails

@toshi0328t 様「Rubyでデスクトップアプリケーション構築」

@ke_tachibana 様「Fabrication!」

@sea_mountain 「Ruby on Rails Tutorial翻訳してみたChap8-10」

次回、11-12章で最終回のはず…!

【感想】「ウェブオペレーション」

Hamamatsu.rbで譲り受けさせていただきました…!ありがとうございます!><

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)


少し遅くなりましたが、感想を書きたいと思います!


この本は、「メタプログラミングRuby」の訳者でおなじみの角征典さんが翻訳した本です。
メタプログラミングRubyに続き、翻訳にも関わらず、大変読みやすいです!


ウェブオペレーション-サイト運用管理の実践テクニック-という副題にもあるように、色々な会社の方々が、ウェブオペレーションに関しての体験談やノウハウを紹介しています。
全18章構成で、1人(共著の場合も有り)1章担当で、日本語版のみ18章が追加されています。


まずは、訳者まえがきで、「ウェブオペレーションという言葉」として説明があります。

英語版のWikipedia(http://en.wikipedia.org/wiki/Web_operations)によると、「ITシステム管理の専門分野で、ウェブアプリケーションの開発・運用・保守・調整・修理を含む」ものだそうだ。

意味が幅広くあるため、他の本などのように状況に合わせて「運用者」や「システム管理者」という意味を使うのではなく、そのまま「ウェブオペレーション」という言葉を使うと書かれています。

実際の本の内容としては、

  • どうやってユーザのアクセスを監視するのか
  • どんなツールを使っているのか
  • サーバの構成はどうしているのか

といったような話題から、「〇〇という事をしていたら、××という事態になってしまい、△△して解決した」という実際の体験談も多くあります。


インフラよりの話はあまり詳しくなかったので、「実際にこういうツールを使っているのか」という事が分かったり、このような仕事をしている人の考え方・感じ方が分かりました。詳しくなくとも、実際的な話が含まれていたりすることによって、分かりやすい内容ですごくいいと思いました!
また、実際の現場の様子などもわかり勉強になりました!


角さんの翻訳だと、にやりとするネタがうまく翻訳に混ぜられていたり、そもそもすごく読みやすいので、他の本も漁ってみたいです…^q^

ワードリスト

以下、本に出てきたワードで知らなかったものをまとめます!

KPI(key performance indicator)

http://www.atmarkit.co.jp/aig/04biz/kpi.html

経営戦略では、まず命題となる「目標」を定め、次にその目標を具体的に実現するための「手段」を策定し、その手段がきちんと遂行されているかどうかを定量的に測定する「指標」を決める。この目標を「戦略目標」、手段を「CSF(主要成功要因)」、指標を「KGI(重要目標達成指標)」、「KPI」と呼ぶ

シャーディングアーキテクチャ

本文中P158

シャーディング(あるいは水平分割)とは、論理的なデータを複数の要素(シャード)に分割し、サーバに分割させるというものである。シャードのデータは内容的には違うものだが、論理的・機能的には同じものが含まれている。

  • 利点
    • 書き込みのスケールが可能
    • データの成長に合わせてキャパシティ追加ができる

Hamamatsu.rb #9

メタプログラミングRuby読書会としては最終回になります!

メタプログラミングRuby

メタプログラミングRuby


メタプログラミングしたのをどうやってテストするか…という話でしたが、なかなか難しい…
もうちょっと成長したあとに、またもう一度読んでみたいです。


次回からの方針

多数決の結果、次回からの新しい方針が決まりました!
この本をみんなでやって行くという形です!

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)


次回は、とりあえずは本は入手できた人が持ってくる+予習はなしという感じです。
pdf版がなさそうなので、書籍を買うしかなさそうな…
このタイミングで、丁度新しい版が出たり、電子書籍化すると嬉しいのですが…あと1ヶ月の間に…。

今月のLT

Factory Girl入門(such様)

テストデータを作りたい!という時に使えるツール、Factory GirlについてのLTがありました!
使ってみたいと思いつつ、まだ手を出せていない状況だったので、大変ありがたかったです。
参考させていただいて、使ってみたいと思います!


Ruby on Rails Tutorial

今回は5章~7章をLTしてきました!
前回の反省を活かして、かなりざっくり削ったりしました!
3章突っ込んだ割に、スライド数は少ないです。

そのかわり、スライドの流れ・話がかなりブツ切れになっています…。
「こうこうことが出来るんだ」程度に思って頂けたり、「Ruby on Railsを読んでなるほど〜と思ったところ」と捉えてもらえるとありがたいです。

Google Developer Day 2011に行ってきました!


Google Developer Dayに今年も参加させていただくことができ、行ってきました〜!

セッションの一覧はこんな感じ

http://www.google.com/intl/ja/events/developerday/2011/tokyo/agenda.html
です。

以下、参加してきたセッションのメモです。

Androidの最新情報(Tim Bray氏)

Ice Cream SandwichでActionBar等の変わった部分を、ひと通り紹介という感じでした。

Google+ Hangout アプリを作ろう(Wolff Dobson氏)

  • Hangoutアプリとは
    • アクティビティの共有
    • Youtubeの例だと、ネット上で同じ動画を一緒に見る
      • iframeに挿入したものをHangoutに入れるとか
  • デモされていたのは、テレビ電話のようなFlashのアプリ
    • Flashを使ったのは、Wolff Dobson氏がゲーム作成時にFlashでつくっていて、慣れているからとのこと
    • 相手が喋っているとき(マイクの状態)を取得して、相手のアバターが動く等
  • 基本的にはiframeを使う
    • webのスタンダード技術を使って作られていて、XMLシンタックスで定義を行う
  • APIコンソールを使って作成する(https://code.google.com/apis/console/)


軽いまとめがありました
http://togetter.com/li/208175



今までにないサイトを作る:HTML5 による最新ウェブアプリ(Eric Bidelman氏)

  • クラウドの力を使う
    • クラウドの力とデスクトップが持つ能力を組み合わせると99%はカバーできると思っている
  • レイアウトやビジュアルは、すでにユーザが知っているものを使う
    • HTML5が出て、見た目がリッチなサービスを作れるようになった。デスクトップアプリと変わりないようなものを作れる。だから、今までユーザが使ってきたデスクトップアプリと同じようなレイアウトにして、ユーザがより使いやすいようにすべき
  • 全てにおいて、素晴らしいユーザエクスペリエンスをつくるということに尽きる
    • 試してみたいだけの人もいる為、参入障壁を下げる。OpenIDみたいなものを積極的に利用する

HTML5 のオフライン機能(北村英志氏)

発表資料
http://gdd11-html5-offline.googlecode.com/git/japanese.html#1

  • IndexedDB
    • ChromeFirefox のみが実装。ただし他のメジャーブラウザ、IE10等では実装すると宣言されているらしい
  • WebSQL DB
    • 今後の仕様が発展することが無いため、非推奨
    • しかし、モバイルに限った場合、モバイルのブラウザはwebkitベースなためWebSQLしか寧ろ選択肢がなくなる

この後、PCのバッテリーが危うくなったため、給電所に駆けこんでしまい、途中退室となってしまいました…とても残念…(´;ω;`)



Google クラウド技術を駆使した統合アプリケーションの構築(Andrew Gerrand氏)

発表資料
https://docs.google.com/present/view?id=dcchm9m3_27dxcqxdkk

HTML5 と Flash を比較する: YouTube 動画を高速化するテクノロジー(Greg Schechter氏, Phil Harnish氏)

  • HTML5とFlashの動画再生についての比較がされました
Flash
  • いい点
    • コンテンツ保護
    • ビデオフォーマット等、すでに昔からある分安定している
  • 悪い点
    • iOSでの再生ができない
HTML5
  • いい点
    • Tabを使ったカーソル移動で、再生・ミュート等のボタンに辿りつける
    • これからどんどん進化していく。期待大
  • 悪い点
    • コンテンツ保護が難しい
    • ビデオフォーマットについて現在策定中

これからHTML5がどう進化していくかに期待が高まる!という感じでした。




余談

Bar Androidなるところが出来ていました!
くじを引きましたが、残念!はずれです…

渋谷に店舗があるとのことなので、ぜひ行ってみたいと思います!
Doroid君可愛い…もふもふ…すごくもふもふ可愛い…!(*´ω`*)

余談2

途中から、各所でChrome飴が配られていました!可愛い!



来年から社会人(予定)のため、出られるか(クイズ解けるか or 抽選当たるのか or 休み取れるのか)分からないため、実質今年最後の可能性もあると感じると、とても名残り惜しかったです…
来年こそは、クイズボーダー超えのsuper hacker枠(?)で参加出来るように頑張りたいと思います!
とても楽しかったです! 素敵な機会をありがとうございました!

Hamamatsu.rb #8

http://atnd.org/events/20189
もうあとちょっとでメタプログラミングRubyが終わりそうです。


LTしてきました〜
前回に引き続いて、Ruby on Rails Tutorial翻訳LTです。
3章分進めようと思ったのですが…


分量的に無理でした…\(^o^)/
読めても、pptにまとめるのに時間が足りない+本をどの程度pptにするのが最適かつかめず…
すごく中途半端になってしまったのですが、なんとなーくこんな内容だったのか程度が伝わると嬉しいです…。


変換の関係で、見えない部分も出てしまいましたが… 本家参照ということでお願いします…!><

フォント変えたところ…ここまで崩れるとはぐぬぬ…


うまくまとめられなかったのを、来月は何とかしたいです…

他の方のLT

mackatoさんのRails道場は前回最終回でしたが、今回はFacebookアプリの作り方という内容のLTが有りました!!
いつもいつもとても勉強になります…!



メタプログラミングRuby

メタプログラミングRuby


紙版(有料)
Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series)

Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series)

【Ruby】グラフ描画用gem Gruffのインストール

Rubyを使ってグラフ描画が出来るGruff
http://nubyonrails.com/pages/gruff


公式サイトには

gem install gruff

と記述されていますが… はまりました!/(^o^)\


gem install gruffをすると…

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.13.1. Can't find Magick-config in /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:~/bin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/pear/bin

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

GruffにはRMagickが必要となるのですが、そのために必要なImageMagickを入れる所がうまく行っていませんでした…
そこで、ソースからではなく、MacPortsから入れよう!としたところ…

公式サイトのやり方

sudo port install tiff -macosx imagemagick +q8 +gs +wmf


でも、エラーが出てしまいます…

"+q8+wmf" do not match original selection "+q16"


調べても、よい解決法が見つからなかったときに…「Homebrewなら簡単だよ!」というコメントを発見。
せっかくなので、MacPortsからHomebrewに移行しました!

MacPortsからHomebrewに移行手順

参考サイトはこちら
http://d.hatena.ne.jp/jitsu102/20101106/1289004240

同じ手順で、Homebrewに移行しました!簡単に出来ました!(*´ω`*)
(/opt/local/share/macportsや他にもmacportsの残骸が残っている気がするのですが…これでいいのか…不安を残しつつ…)

.bashrcなどにpathの設定はいらないので、MacPortsの為に記述していた部分を削除しておきましょう。

HomebrewでImageMagickインストール

brew install ImageMagick

あっさり成功!/(^o^)\


続いて…

gem install rmagick
Fetching: rmagick-2.13.1.gem (100%)
Building native extensions.  This could take a while...
Successfully installed rmagick-2.13.1
1 gem installed
Installing ri documentation for rmagick-2.13.1...
Installing RDoc documentation for rmagick-2.13.1...

こちらもあっさり成功/(^o^)\

MacPortsを消した関係で、元々いれていたMercurialや等消えてしまったため、幾つか追加は必要でしたが…
Homebrewで最低限、

  • libiconv
  • gs

を入れたら、ちゃんとRMagickが動きました!!
(↑が必要だったのはnokogiriを使っていた関係もありそうです)

Gruffでグラフを描画する!

いよいよGruffですが、公式サイトなどに例があったりします。分かりやすいです。

公式サイトのサンプル
#!/usr/bin/ruby

require 'rubygems'
require 'gruff'

g = Gruff::Line.new
g.title = "My Graph" 

g.data("Apples", [1, 2, 3, 4, 4, 3])
g.data("Oranges", [4, 8, 7, 9, 8, 9])
g.data("Watermelon", [2, 3, 1, 5, 6, 8])
g.data("Peaches", [9, 9, 10, 8, 7, 9])

g.labels = {0 => '2003', 2 => '2004', 4 => '2005'}

g.write('my_fruity_graph.png')


ただし、1つ問題が。
グラフのタイトル部分が日本語だと文字化けします。
force_encoding("utf-8")で強制的に変えてみてもだめでした。


「デフォルトのフォントだと日本語が文字化けする」
(http://d.hatena.ne.jp/osakanas/20060926/p1)
という事で、設定します。


さっきのサンプルに追加で

g.font = "/Library/Fonts/<適当なフォント>.ttf"

とすると、文字化けが治りました!


こんな感じのグラフで、意外に綺麗にできます!
http://topfunky.com/clients/rails/gruff/line_theme_odeo_400.png

やっと使えるようになった…(=_=)

Hamamatsu.rb#7

今月も参加してきました!
http://atnd.org/events/19051


今回は、場所を変えてみようということで、駅近くの場所でした!畳!


メタプログラミングRuby 5章の読書会です。

LTしてきました

その時の資料です!


Rails3 Tutorialの日本語訳をしてみました!今回は1章です。 次回から3章ずつぐらい…いけたらいいなーという願望です…。


Rails道場

mackatoさんのLTとして続いていたRails道場は今回が最終回でした…(´・ω・`)

余談:その後…

こっちも出てきました!!

http://atnd.org/events/19646

JSではなくCSS3の発表をかる〜くしてきました…!
お邪魔しました…!
色んなお話を聞けて大変勉強になりました!
次の機会があれば、もっと濃い内容の発表をしたいとおもいます!(`・ω・´)