- 開発
週刊Railsウォッチ(20161117)DockerホスティングのHyper.sh、accepts_nested_attributes_for殺すほか
※ 「Ruby/Rails界隈ウォッチ」は2016年12月より週刊Railsウォッチにタイトルを改めました。
こんにちは、hachi8833です。以下のツィートで果たして何人がずっこけたでしょうか。その後正式なアナウンスがありましたが、いろいろ入れ違いでしたね。
Google 翻訳がニューラルネットを使う版に切り替わって、かなり自然な翻訳になるようになったと話題ですが、日→英はそうなってて、英→日はまだニューラルネット版ではないそう。向こう数ヶ月には英→日もそうなるらしいです。昨日北海道での講演でGoogleの人が言ってました。
— Naoya Ito (@naoya_ito) 2016年11月11日
ところで、Google翻訳の品質が向上したのかそうでないのかについて、実は数値で判断する客観的な手段がないことにお気づきになりましたでしょうか?減点法が効かない段階に到達してしまえば、翻訳の品質は今のところ(もしかすると永遠に)眼力で判断するしかないんです。
臨時ニュース
早速ですが臨時ニュースを連続でお送りいたします。
[速報]マイクロソフトがThe Linux Foundationへ加盟、プラチナメンバーとして。Connect();//2016
日本語ですが、割と大ニュースですね。
Ruby 2.3.2リリース
詳しくはChangeLogをどうぞ。
私も昨晩アップグレードしようとしましたが、HomeBrewのruby-build.rbがなかなか更新されなかったのでGitHubのrbenvリポジトリからのgit pull
方式に切り替えてインストールしました(現在は更新されています)。
DHH先生が「頃合い見計らってaccepts_nested_attributes_for殺す」って言っとる
DHH先生が「頃合い見計らってaccepts_nested_attributes_for殺す」って言っとるhttps://t.co/eT7n6AZfSZ
— itkrt2y (@itkrt2y) 2016年11月15日
@itkrt2y あれ使ってるコードはそもそも負債である確率が高いので、何とかする or dieですよ。
— joker1007 (@joker1007) 2016年11月15日
参考
Hacker News
今週のトップは予想どおり「トランプ当選」ですね。
?Dockerホスティングサービスhyper.sh?
「5秒でデプロイ」を謳っています。
- Hyper.shクラウド全体が単一サーバーとして動作
- シンプルなワークフロー
- 豊富なリソース
- Dockerイメージをpullして
hyper run
で5秒で起動 - 終了も1秒
- 秒単位の課金モデル
記事ではありませんが、今週の金星を進呈いたします。おめでとうございます。
この企画、きっと公式なんでしょうね。
ダメなエンジニアを見分けるたったひとつの方法
こちらが2位でした。方法は1つですがルールは6つぐらいありますねw。いいのかそれで。
ブラウザでのメディア自動再生を即刻やめていただきたい
開発者のための機械学習入門
研究者ではなく開発者のための、がポイントのようです。同じような記事はもう腐るほどありますが、短くまとまっていたのがウケたようです。今さらですが、機械学習のsupervised/unsupervisedはそれぞれ「教師あり」「教師なし」と訳されています。
morimorihogeさんが、この種の情報収集にナツメ社の図解雑学シリーズをおすすめしていました。「見開き2ページで1テーマ」という構成のおかげで実に読みやすいです。
追伸
中井悦司さんによるWebアプリケーションにおける機械学習活用の基礎──HTML5 Conference 2016セッションレポートも良記事ですね。
Ruby 公式
Ruby 2.4.0 preview 3リリース
いくつかのニュースはRailsウォッチで報道済みなので、それ以外のものをピックアップします。
Martin先生(@duerst)のお仕事ですね(RubyKaigi 2016のプレゼン)。
Ruby Facets
Bundler 1.13リリース
実は9月のニュースですが、bundle doctor
コマンドが便利そうなので取り上げました。homebrewのbrew doctor
と同じ感覚で使えます。
Rails公式ニュース
2週分のニュースになっています。
11月11日分
Active Recordのコネクションプールにstatメソッドを追加
少し便利になった感ですね。
countクエリにlimit_valueを指定したときにunscope(:order)
しないようにする
このコミットがどんなときにパフォーマンス上有効なのかが当初私どもで読み取れなかったので、まずコミッターの@kamipoさんの当時のツイートをmorimorihogeさんが掘り当ててくれました。
絶妙なバランスで性能を保ってるクエリの ORDER BY 削られて COUNT 飛ばしてこられてスロークエリなる問題をなおすPR https://t.co/dd5oeKRmHT
— Ryuta Kamizono (@kamipo) 2016年11月5日
その後morimorihogeさんが@kamipoさんにTwitterで質問したところ、1時間もしないうちに詳しい回答をいただきました。ありがとうございます!以下のリンクを開けば続きのやりとりも見ることができます。
@kamipo 早速ありがとうございます!ものすごく分かりやすい例で助かります。rows_examinedが明らかに違いますね。なぜこんな挙動になるかは自力で勉強してみます :bow:
— Masato Mori (@morimorihoge) 2016年11月16日
技術的な問題を解決するよいプロセスを目の当たりにすることができました。@kamipoさんによるgistの解説は自分で動かして確認できます。
#26990 JRubyでRails 5が動き出す
テストにパスしたそうです。
#26909 チェックイン時にコールバックせずにクエリキャッシュをクリア
#26978 コネクションプールでスレッドごとのクエリキャッシュを設定可能に
11月4日分
#25337 コールバック時のActiveRecord::Dirtyの動作が非推奨化
#26838 ActiveRecord::Core#sliceの引数で配列を使えるように
夏時間による期間変動問題の修正
いわゆる夏時間(サマータイム)は、米国では一般にDST(Daylight Saving Time)と表記します。
#26950 Active Recordを使ってない場合にはbinスクリプトにdb:migrate
とdb:setup
を含めないようにする
RailsでActive Recordを使わない場合というのがすぐには思い付きませんが、それなりに事例があるのでしょうね。
RubyFlow
Ruby 2.4で正規表現マッチのキャプチャデータ取り出し方法を改良
キャプチャの名前とデータを#named_captures
メソッドで一度に取れるようになりました。
ElasticSearchで位置情報を検索する
cells gemでApplicationコントローラからbefore_filterを追放
ViewModelは、以前Railsウォッチでもご紹介したTrailBrazerのcells gemが提供しています。
Ruby Weekly
MVCリファクタリングに役立つ7つのデザインパターン
ここで列挙されているのは以下のデザパタです。Techrachoの以前の記事『肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)』に通じる内容です。
- Service Objects(およびInteractor Objects)
- Value Objects
- Form Objects
- Query Objects
- View Objects(Serializer/Presenter)
- Policy Objects
- Decorators
Github Trending
監視エージェントHuginn
GitHubの☆が15,00超えの人気Railsアプリです。GUIとビジュアル表示が洗練されている印象です。ネーミングは北欧神話の原型とされるギュルヴィたぶらかし: Gylfaginningに登場する2羽のカラスHuginnとMuninnが由来だそうです。
SQL脆弱性スキャナwhitewidow
新登場ですが期待できそうです。Rubyで書かれているので動作の検証もしやすいかと思います。
コードレビュー支援ツールDanger
CIサーバーに組み込んで、「ChangeLogに記入させる」「バグ管理やMRへのリンクを貼らせる」「よくあるアンチパターンを示す」などコードレビューの定番指示を自動化します。これもRubyで書かれています。ネーミングはあんまりですがw
Goの間
gops
Go言語専用のps
コマンドのようなものですが、デバッグ・診断機能を持っているところがポイントです。
無印枠
BigChainDB
オープンソースのブロックチェーンデータベースだそうです。
ddollar/foreman
新しくはありませんが、Procfileでプロセスを管理するソフトウェアで、Rubyで書かれています。詳しくはこちらのサイトを。
以前のRailsウォッチでも言及したgod gemなどの監視ツールにも通じますね。
今週は以上です。
関連記事
- 週刊Railsウォッチ(20161109)bundler audit gemは超おすすめ、CIAのFactbook gemほか
- 週刊Railsウォッチ(20161102)HTML 5.1正式勧告、CSS中央揃えに便利なサイトほか
- 週刊Railsウォッチ(20161027)LinuxカーネルのDirty COW脆弱性、DeviseはWikiを読めほか
- 週刊Railsウォッチ(20161019)ObjectSpaceモジュール活用法、Capybara統合、コミッターを撮影するソフト
- 週刊Railsウォッチ(20161012)RubyのHashの詳細、RethinkDBの会社が終業ほか
- 週刊Railsウォッチ(20161005)Mac OS SierraとRubyの問題、Learning Gitほか
- 週刊Railsウォッチ(20160928)constantizeの注意点、GoのGUI “gallium”登場ほか
- 週刊Railsウォッチ(20160921)クールなHTMLエディタ「Mozilla Thimble」他
- 週刊Railsウォッチ(20160913)MySQLの脆弱性ほか