- Ruby / Rails以外の開発一般
- 勉強会
READ MORE
※ 「Ruby/Rails界隈ウォッチ」は2016年12月より週刊Railsウォッチにタイトルを改めました。
こんにちは、hachi8833です。昨日のTechRachoでお知らせしたとおり、RailsチュートリアルがRails 5に完全対応しました。それでは今週のRailsウォッチです。
11月21日に2.3.3がリリースされました。
このリリースには Refinements と Module#prepend に関する不具合の修正が含まれています。 同じ Class に対して Module#refine と Module#prepend を併用すると意図しない NoMethodError が発生することがありました。 これは先日の Ruby 2.3.2 のリリースで入り込んだ不具合です。 詳しくは [Bug #12920] を参照してください。
ruby-lang.orgニュースより
統合後はRailsのテストフレームワークがActionSystemTestと呼ばれるようになるそうですが、また変わるかもしれませんね。最初Capybaraの名前が変わるのかと空目してしまいましたが、違いました。
なおBona fideはラテン語で「本物の」「真正の」といった意味です。
System tests have finally taken strong hold at @Basecamp. Can't wait for us to level-up @Rails with great defaults for it in 5.1! pic.twitter.com/eptnu8OcAc
— DHH (@dhh) 2016年11月10日
morimorihoge: サウンド関係など、リアルタイム処理やりたいときや特殊なドライバをRubyからつつきたいときは必要になるかもしれないですね。
Kubernetesは自前でクラウドを構築するレベルのソフトウェアなので、強烈に難しそうです。morimorihogeさんの解説では、live migrationひとつとっても膨大な問題をクリアする必要があるそうです。
morimorihoge: 今ならDocker SwarmがDocker Engineに統合されたし、AWS ECSやGCPなどにも類似コンテナサービスがあるはずなので、そっちを使いたいですね。
Kubernetesはギリシャ語由来だそうで、発音は「クーベルネイテス」が近そうですね。きぐしねいです。
多くの人がSprocketsやAsset Pipelineを何とかしようとして頑張っていますね。早く決定打が登場して欲しいです。
morimorihoge: 7.について、PostgreSQLは型についてかなり厳格だけどMySQLは逆にユルいので、Active RecordでMySQLを使っている人ほど型を正しく指定することに気をつけることをおすすめします。
計算量のO(n)記法をRubyのコードで解説してくれているのがありがたいですね。
現時点では以下のSQLインジェクション例が紹介されています。再現用のGitHubリポジトリもあります。
Calculations#calculate
メソッドdelete_all
メソッドdestroy_all
メソッドexists?
メソッドfind_by
、find_by!
メソッドfrom
メソッドgroup
メソッドhaving
メソッドjoins
メソッドlock
メソッド、find
の:lock
オプションorder
メソッドpluck
メソッドreorder
メソッドselect
メソッドwhere
メソッドupdate_all
メソッド提供元はBrakeman Proのスタッフです。すべてを網羅しているわけではないので、新しいパターンを見つけたらぜひ貢献して欲しいとのことです。
morimorihogeさんの解説によると、衛星経由のインターネット接続は広帯域ではあるが遅延(レイテンシ)が大きいという特性があるそうです。TCP 3-wayハンドシェイクとかいかにも苦しそうですね。
SpaceX社は、高度715〜823マイルの低軌道衛星を4,425機打ち上げ、現行のHugesNet衛星(高度22,000マイル)の600ms程度の遅延を25〜35msに短縮する計画であるとのことです。
なお715マイルは約1150km、22,000マイルは約35400kmなので、SpaceX社の衛星は低軌道とは言っても国際宇宙ステーションより高高度になりそうです。
Quick, Drawより(Quick, DrawはGoogleのサービスです)
指定の絵を20秒以内に描いてGoogleのニューラルネットワークに判定させるという遊びです。先週からBPSでも密かに流行っています。
これ本当に、子どもの英語学習教材として非常に強力なんじゃないでしょうか。
Google公式ブログ(英語)でも、.NET FrameworkをGoogle Cloud Platform(GCP)で優先サポートすると発表されています。ついこの間のマイクロソフトのLinux Foundation加入に答えるかのようなタイミングです。
もしかするとGoogleは本気でJavaからC#に乗り換えるのかもしれません。ご存じのとおり、既に.NET FrameworkやC#などがオープンソース化され、Macでも開発・実行可能な環境が急速に整いつつありますが、それにしても動きが早くなってきました。
MSDNブログでの発表です。Windows側からLinuxファイルを変更するとデータが破損、最悪の場合ディストリの再インストールが必要になるかもしれないとのことです。
最近のGitHub Trendingは何とかAwesomeといった単なるまとめ情報が上位にあがってきて邪魔ですね。それも機械学習系のまとめ情報が目立っています。
http://devdocs.io/は、複数のAPIドキュメントを串刺し検索できます。Dashのオンライン版のようなおもむきですね。私は一発で気に入ってしまいました。
使いたいドキュメントの[Enable]をクリックすることで、検索窓で検索できるようになります。
morimorihoge: GitHubでソースが公開されているのが良いですね。
Googleドライブのコマンドライン版クライアントです。ファイルリビジョンまで扱えます。これを使ってちょっとしたアプリケーションすら作れそうです。
今週は以上です。