Ruby5をひたすら翻訳する日記

海外で働きたい欲が高まった海山はついに強硬手段に出た。自分だけのためにRuby5(http://ruby5.envylabs.com/)翻訳し続けます。おかしなところは、適宜指摘大歓迎です!><

Episode #293 - July 31st, 2012

ActiveRecord loves blocks

http://blog.plataformatec.com.br/2012/07/active-record-loves-blocks/

  • ActiveRecordのオブジェクトを作成するときにblockを使って書くのは簡単!

has_manyやbelogs_toの関係もblockを使って書ける!

コード例が分かりやすく載ってるので、読みやすい!

Rails 4.0 Live Streaming

  • Rails 4.0に最近追加された機能
    • その機能のデモとか使いかたの紹介サイト
  • ビデオのストリーミング的なものではなくて、ライブストリーミング
  • 技術としてはServer-Sent Eventsが使われている

Team Dashboard Released

http://fdietz.github.com/team_dashboard/

Heroku上のデモ
http://team-dashboard.herokuapp.com/

Always define respond_to_missing? when overriding method_missing

http://robots.thoughtbot.com/post/28335346416/always-define-respond-to-missing-when-overriding

  • method_missingをoverrideするときにrespond_to?もoverrideするのはいいことだが…
  • Ruby 1.9.3でmethod_missingをoverrideするときは、respond_to?ではなくrespond_to_missing?を定義するべき

詳しい挙動については↑のブログ記事参照

  • respond_to?をoverrideした場合
    • respond_to?でtrueを返していても、methodで呼びだそうとするとundefined methodエラーが出てしまう。
  • respond_to_missing?をoverrideした場合
    • 正しくmethodのオブジェクト?が返されているみたい

ActiveRecord Deep Dive

http://schneems.com/ut-rails

  • テキサス大学でRichard Schneems氏がDatabases & Railsの授業をしている
    • その内容を記事にしている

今週の記事がActiveRecordの基本の話

    • スクリーンキャスト有り
    • 初心者にとても良い
  • find, where, include, order, offset, joins, group, havingの話

Synack

https://github.com/Bantik/synack

  • Moutain Lionの通知センターに通知を送れるgem
    • 自分のコードから通知を送ることが出来る
  • UNIXのパイプでも送れる

Master Space and Time with JavaScript

http://www.noelrappin.com/mstjs-faq/
Noel Rappin氏が“Master Space and Time with JavaScript”という本を出した

  • the Rails Test Prescriptionsの著者
  • JSの基本的な知識があって、新しいツールややり方について学びたい人向け。 not 初心者向け
  • TDD、jQuery→JSでのオブジェクト指向→backbone.js(9月刊行)→Ember.js(今年の終わり刊行予定)で全4巻構成

Try iOS

http://www.kickstarter.com/projects/eallam/try-ios-iphone-app-development-course
Kickstarterキャンペーン
CodeSchoolの講座

  • すごくお高いのでKickstarterのページを見たほうがいいとのこと…
    • 桁がぜんぜん違うような…





頑張りたい!

Episode #294 - August 3rd, 2012

http://ruby5.envylabs.com/episodes/298-episode-294-august-3rd-2012

Rails 3.2.8

http://www.ruby-forum.com/topic/4404523
3.2.7がリリースされた。
3.2.7のバージョンで紹介されたRSpecの問題の修正が含まれている。
細かい内容は↑に書いてあります

Passenger Enterprise

https://www.phusionpassenger.com/enterprise
PassengerにCommunity版とEnterprise版がでた
Community版が今までと同じ物

  • Enterprise版で追加されている機能
    • rolling restarts
    • error resistant deploys
    • monitoring resource usage
    • support for live debugging
    • mass deploying several virtual hosts at once

wongi-engine

https://github.com/ulfurinn/wongi-engine
Rubyで書かれたrules engine
Rete algorithmを基本にしている

mousetrap

https://github.com/ccampbell/mousetrap

  • JSとjQueryのライブラリ
  • キーボードショートカットをアプリケーションに導入できる

http://craig.is/killing/mice

easy-pie-chart

https://github.com/rendro/easy-pie-chart
jQueryのプラグイン
HTMLのエレメントや%が書いてあるエレメントの表示をチャートを表示してくれる

rivets

https://github.com/mikeric/rivets
JSのライブラリ
JSのModelにDOM要素をbindingする
自動でフォームの値をチェックするとかが出来る

Terminal Progress

http://joshorourke.com/2012/08/01/how-to-create-terminal-progress-indicators-in-ruby.html
ターミナル上でのプログレスバーの実現

  • GitやHomebrewを利用したときに出てくるようなやつ

コードがあるので、irb上で実行してみると面白い!!!


Ruby5で投稿されている記事からかなりすっ飛ばして、最新版のみ聞きました…
久しぶりに聞けた感じですが、聞きにくい・難しく感じる度合いは一緒… ということは退化出来るレベルの成長さえしていなかったということ…(´・ω・`)

Episode #280 - June 12th, 2012

http://ruby5.envylabs.com/episodes/284-episode-280-june-12th-2012
CodeSchoolでnode.jsのコースが出たらしい?

Techniques to Secure your Rails app

http://rubysource.com/techniques-to-secure-your-website-with-ruby-on-rails-part-1/

  • Railsにおけるセキュリティの話(全3話)

Savon 1.0

http://savonrb.com/
gem
SOAPのサービスを出すために使える(?)

  • Savon→フランス語で石鹸という意味

Tokaido Status Update

http://yehudakatz.com/2012/06/05/tokaido-status-update-implementation-details/
「トカイドーウ!!!!!!!」wwwww

Ruby Study Hall

Rubyの勉強ができる、オンラインビデオ教材

  • RSpecやCapybaraの話もある

Episode #277 - June 1st, 2012

http://ruby5.envylabs.com/episodes/281-episode-277-june-1st-2012

Beats

http://beatsdrummachine.com/
Rubyで書かれた、シーケンサ/ドラム演奏ソフト

  • 演奏の仕方はymlで記述する

ドラムの1回叩いた音とかDLして、そのリズムとかテンポをymlに記述するみたい!
サンプルがある↑。面白い!

ruby-noise

https://github.com/awwaiid/ruby-noise
http://thelackthereof.org/NoiseGen
プログラムのコードを音楽にする?
PerlPython向けのもあるみたい

representable

https://rubygems.org/gems/representable

  • Representable gemが1.2にアップデートした
  • as_jsonやto_xmlを使っていて、もっとわかりやすく出力させたい時に使える

annotator

http://www.tech-angels.com/post/23920439951/annotate-them-all
モデルのファイルでコメントでスキーマの構成など載せようという内容

  • コメントとして、そのカラムの意味や目的を載せる

rake annotateで実行されて、コメントが挿入される。
※カラムの削除・追加・型の変更があった時だけ実行される。

money-rails

https://github.com/RubyMoney/money-rails

  • 通貨の変換をしてくれる
  • レートを登録しておけば、それも考慮して変換してくれる?

Episode #276 - May 29th, 2012

http://ruby5.envylabs.com/episodes/280-episode-276-may-29th-2012

Claws for AWS

https://github.com/wbailey/claws
AWSのウェブコンソールみたいにな表示を、ターミナル上で実現してくれる

  • リンク先に画像がある。自分のAWSのhost一覧表示!かっこいい!

Kill stuck Resque workers

http://vitobotta.com/resque-automatically-kill-stuck-workers-retry-failed-jobs/

  • Bash Script
    • スタックの Resque workerをkillして、リトライする

Little Classes out of Big Ones

https://vimeo.com/42622511
ActiveRecordモデルやそのリファクタリングに関するビデオ+スライド資料

Heroku Cedar becomes "Generally Available"

http://blog.heroku.com/archives/2012/5/24/cedar_goes_ga/
Cedar stack

heroku run

Dokuen, your own little Heroku

http://bugsplat.info/2012-05-17-dokuen-a-personal-app-platform.html
自分のマシンやローカルにアプリケーションをデプロイできる、個人アプリケーションプラットフォーム

  • Herokuにデプロイしている感覚で使える

Episode #275 - May 25th, 2012

http://ruby5.envylabs.com/episodes/279-episode-275-may-25th-2012

Rake-rails, use rake all the time

https://github.com/alindeman/rake-rails

Three quick Rails console tips

http://37signals.com/svn/posts/3176-three-quick-rails-console-tips

Dive into your app

  • rails consoleを使うと、セッションインスタンスが作成される
  • それを通常のインテグレーションテストの時と同じように利用出来る
>> app.project_path(Project.first)
=> "/projects/130349783-with-attachments"
>> app.get "/735644780/projects/605816632-bcx.atom" 
=> 200

>> app.response.body
=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<feed xml:lang=\"en-US\"  ...
  • ActionDispatch::Integration::SessionやActionDispatch::Integration::RequestHelpersの話

Try out a helper

HTMLタグを作成するときに使える

>> helper.truncate("Testing", length: 4)
=> "T..." 

>> helper.link_to "Home", app.root_path
=> "<a href=\"/\">Home</a>"

等々
幾つもの例が↑リンクに有り

Where does that method come from?

Method#source_location
そのメソッドのファイルや何行目か分かる
Pryを使ってるならいいけど、irbを使ってるなら役立つ(ちゃんと聞き取れていないが、そういう内容に感じた)

Getting started with Jasmine

http://www.ihid.co.uk/blog/backbone-js-coffeescript-jasmine-haml-and-rails-working-together
今がJSを始めるチャンスかもね〜
Backbone.jsみたいなフレームワークを使うとか
Rubyの文化ではテストをしっかり書くというものがある

  • ツールも文化もある

JSはツールはあっても文化はない
↑のブログ記事で、JSでJasmineを使ってユニットテストをする方法が書かれている

Episode #274 - May 22th, 2012

A ruby lbrary for reading the dimensions of an image

http://elia.github.com/dimensions-rails/

  • Rubyのライブラリ

Gif, PNG, JPEG, や TIFFの縦横の長さ・回転角度を取得できる。
自動でimage_tagのwidthやheightを上書きできる。

  • 画像が読み込まれる前にレイアウトされるので効率的

Ruby Under a Microscope

http://patshaughnessy.net/2012/5/9/one-chapter-from-my-upcoming-ebook-ruby-under-a-microscope
Ruby Under a Microscope”という本がリリースされた。(↑リンクから無料で公開されています)

  • Rubyハッキングガイド的なものより高度な内容
    • Rubyが内部でどのような処理が行われているのか
  • 例コードも載っている

第1章タイトル ‘How Hashes Scale From One To One Million Elements’

OpenStruct2

https://github.com/rubyworks/ostruct2
OpenStructの2がリリースされた。
Hashみたいなデータ構造
githubのdemoフォルダに使い方の説明がある

ActiveRecord Reputation System

https://github.com/twitter/activerecord-reputation-system
ActiveRecordの評価システム?
作成しているRailsアプリケーションのActiveRecord部分がより良くなるような、提案システム???

assignable_values

https://github.com/makandra/assignable_values

  • Formを作るときに使えるgem

attributeに入力できる値や、作成したActiveRecordモデルの関連も制限できる。

FigLeaf

http://devblog.avdi.org/2012/05/14/figleaf-gem-now-available/
他のクラスやモジュールで継承されたモデルのprotectメソッドにアクセスできるようにしてくれるgem