2.4.1リリース、GAEがついにRubyに対応、このgemがないと生きていけない27選ほか|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。2.4.1リリース、GAEがついにRubyに対応、このgemがないと生きていけない27選ほかhachi8833&シェアツイートブックマークLINEこんにちは、hachi8833です。́・ω・`)今回は珍しくRails公式が先週から更新されていません。ウォッチがすっかり先回りしてしまったので、他のニュースを多めにします。今回はRubyWeeklyの健闘が目につきます。乗りニュースはあまりありませんが、セレクトが効いているのがいいですね。Releasedおめでとうございます。RubyFlowがいち早く察知しました。Changed」が現時点でもっともよくまとまっていて助かります。Changedを見る方が早いと思います。transformという用語が目に止まりました。transformは日本語では「シュワルツ変換」や「シュウォーツ変換」などと呼ばれ、Rubyでおなじみの「比較ベースのソート」において、オブジェクトを効率よくソートする手法です。RubyではComparableモジュールを使い、<=>などの比較演算子を元にソートするのが主流ですね。Transform)」に非常に簡潔にまとまっていて助かりました。先日の大江戸Ruby会議のプレゼンでRubyコミッターtadさんがさらっと明かしたのが「2.4.0リリース後にRationalクラスのバグが見つかった」という話でした。tadさんによると、バグ発見後たった9時間で修正してもらったそうで、ご本人も驚いていました。一同であれこれ探して、morimorihogeさんが該当の#13242とテストコードを掘り当てました。2.4.0では、4r**40000000のような巨大なRationalを食べさせるとSEGVで落ちます。2.4.1では無事Infinityが返ります。これはクラスではなく定数です。ついでに、Infinityで%で剰余を取るとNaNが返ることも知りました。ついでながら、ゼロを1つ減らした4r**4000000をpryで実行すると、warningが出ない代わりに巨大な数値が正常に出力されるので、逆にpryの方がシェルを巻き添えにしてまいってしまいます。Rationalがビジネスユースで直接使われることはめったになさそうですが、Timeオブジェクト周りで使われているそうなので、重要なクラスであるのは確かですね。ハイスゴイスゴイ記事ではNode.JSはまだベータだそうです。Functionへの移行にともない、追加の表記の言語が既存の言語と同じ方法で扱えるようになったという点でした。お詫びして訂正いたします。公式サイトにもエントリ増えています。8080で起動するのでgemは当然使えますね。PlatformよりGAE特有の注意点や容量・ファイル数の制限やアセットの保存方法などノウハウの蓄積は必要だと思いますが、巨大なVMやDockerコンテナをぶん回さずに、軽いRubyソースコードのみを直接デプロイしてリリースできるというのは大きいと思います。私自身はGo言語とGAEで細々とデプロイしてみた程度ですが、Rubyのクイックスタートをざざっと見た限りでは、Go言語を含む他の言語用ツール(Python)の使い方が同じようなので、1つ覚えれば他に応用が効くと推測できます。2.xで動かす必要があります。今のうちに自分の環境にpyenvとかVirtualenvとかをインストールしておくことをおすすめします。pyenvの場合、使い方はrbenvと同じなのでRubyist向けだと思います。rbenvはもう皆さんもお使いですよね。rbenvでRubyをインストールして新規Rails開発環境を準備するRailsアプリをまるごと、というよりは、もっと軽いRackベースの薄いアプリを想定するのがよさそうな気がします。先のことは鬼に聞かないとわかりませんが、期待を込めて⭐を贈りたいと思います。おめでとうございます。自分の書いた正規表現の効率をチェックできるサイトhttps://regex101.com/#pcrehttps://regex101.com/#pcreよりよくある正規表現の解析サイトですが、バックトレースの量を表示してくれるので、自分の書いた正規表現がどのぐらいパフォーマンスが悪いかをチェックするのに便利です。残念ながら対応ライブラリは今のところPCRE/Python/JavaScript/Golangだけで、Ruby(Onigmo)とJavaがないのが惜しまれます。皆でサイトをつっつきながら、morimorihogeさんがふとPHPの不遇な正規表現ライブラリeregのことを思い出しました。PHPの標準ライブラリであったにもかかわらず、バグが多いとか日本語が不自由など欠点だらけだったためにほとんど使ってもらえず、pregに負けっぱなしだったそうです。その場でeregを見てみると見事にディスコンになっていました。お役に立つかどうかわかりませんが、正規表現を英語っぽい表現に変換するサイトもあります。Deprecationsこれ、一度眺めておくと後できっと役に立つと思います。単なるリストなので、英語とか関係なく読めます。pixielabs/letsencrypt-rails-heroku文字どおりのgemです。Encrypt証明書ユーザーにはありがたいと思います。私はHerokuのCloudFlare証明書です。projecthttps://hackernoon.com/よりよりこの定番gemリストも非常に有用ですね。定番gemはたいてい網羅していますし、日本であまり知られてないようないいgemも見つかります。私はその中でaasmというステートマシンgemに惹かれてしまいました。aasmを何度も使っているmorimorihogeさんがその場で詳しく解説してくれました。aasmは以下のような感じで状態遷移を宣言的に記述することで、ワークフローを読みやすく表記できます。コールバックを追加して拡張することもできます。フックを掛けて処理を拡張できる処理の書き忘れを防げる宣言自体が仕様にもなるのでドキュメント量を減らせる決済処理など、フローが複雑かつ重要なアプリで重宝しそうです。他にはgriddlerというメール受信gemもよさそうです。送信系はいろいろありますが、受信に使えるものもあるんですね。sendgridとも連携できるようです。premailer-railsは、HTMLメールに使うテンプレートからcssなどの外部参照を置き換えてRailsでプレビューできるgemです。rack-corsはRackミドルウェアで、Ajaxをクロスオリジンリソース共有(CORS)で使えるようにできるgemです。newするときに入れておきたい定番gemリスト(2017年版)もどうぞ。tilo/smarter_csvインポート専用ですが、巨大なCSVでも飲み干してさまざまに加工できるようです。同種のgemに、Ruby標準のCSVライブラリの元になったfaster_csvというgemがあると教えてもらいました。faster_csvはもう5年も更新されてません。vizvamitra/patme実験用に作ってみたgemだけあり、「これはキモい」という反応多数でした。深くは追求していませんが、同名のメソッドが複数ある状態で、メソッドをパターンマッチングして引数などを調べ、適切なメソッドを呼べるというもののようです。Rubyのキーワードを何やら裏でごっそり置き換えている様子。Elixirってこんな感じだったのか。Explain忙しいRubyist向けのPostgreSQLのExplainの読み方講座です。長くないのですぐ読めます。ところで最近のWebチームではPostgreSQLの利用率が以前よりも高まっています。JSONサポートなどの楽しい機能もさることながら、morimorihogeさんが「ExplainがMySQLよりも断然読みやすい」ことを挙げていました。Gemデータベースのスケーリングgemであるoctopusの使い方解説です。以前もRailsウォッチで取り上げましたね。Crystal割りと長い記事です。Crystal言語の見た目↓がかなりRubyっぽいことを知りました。似ていれば移植が容易というわけではないと思いますが、まったく取っ掛かりがないのとはやはり大違いですね。endend最近はCrystalやElixirなど、後発のコンパイラ系言語にRubyの文法から影響を受けたものが多いのが面白いですね。Corners王道を行く良記事です。クセ球狙いではないのが昨今逆に新鮮ですね。Scopesfluent-plugin系gemの多さ今さらですが、ニュースをクロールしていてRubyGemsのfluent-plugin系gemの多さがただごとでないのに気づきました。property(知的財産)のことだったんですね。3/23の時点でダントツでした。algebraより世に線形代数の教科書は山ほどありますが、これは強烈です。登場するありとあらゆる図形をインタラクティブに触って確かめられます。表紙の図形からしていきなりつまんでいじくり回せます。JavaScriptがかなり重いので、ブラウザの余分なタブは閉じたほうがよいかもです。機械学習ブームのおかげで線形代数への関心がどえらく高まっているせいか、HackerNewsでも上位に食い込んでました。機械学習専門ジャーナルDistill(HackerNewsより)http://distill.pub/中立を売りにしているジャーナルだそうです。ここには到底書けませんが、morimorihogeさんから学術界の立ち入った話をいろいろ聞くことができました。http://sarabander.github.io/sicp/書式が美しく整っています。Unofficialだそうです。SICPの全文が公開されたのはたしか数年前だったでしょうか。Webチームtazuさんが学部1年生のときの教科書がSICPだったそうです。惜しくも日本語版だったそうです。problemよくある記事ですが、実体験ベースなので使える情報があるかもしれません。http://animista.net/http://animista.net/よりCSSのアニメーション効果とプロパティ値をビジュアル表示で確認できます。最近こうしたサイトが増えてきていて助かりますね。problems」の件数も含めてコントみたいです。できすぎかなという気もします。週刊Railsウォッチ(20160913)MySQLの脆弱性ほか今週の主なニュースソースソースの表記されていない項目は独自ルート(TwitterやRSSなど)です。コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。enno.jpを運営。実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。Storageを使ってはいけない(翻訳)#Tags#会社紹介#自社サービス#勉強会#Rails#PHP#デザイン#実績#週刊RailsウオッチCONTACTお気軽にご相談ください。(翻訳)CONTACTTechRachoでは、パートナーシップをご検討いただける方からのご連絡をお待ちしております。お気軽にご意見・ご相談ください。