週刊Railsウォッチ(20161102)HTML 5.1正式勧告、CSS中央揃えに便利なサイトほか

※ 「Ruby/Rails界隈ウォッチ」は2016年12月より週刊Railsウォッチにタイトルを改めました。

こんにちは、hachi8833です。実はようやくTechRachoのWordPress記事をMarkdownで書けるようになって、うれしくてたまりませんです。

11月最初のRailsウォッチです。明日はどっちだ。

(11/3追加)臨時ニュース: 「HTTP Headers」Chrome拡張にマルウェアの疑い

HTTP Headers という 5万人が使っている Chrome 拡張のマルウェア疑惑。セッション盗まれて BTC も盗まれそうになった話。をご覧ください。

161103_0926_tqhhfo

松江出張中のmorimorihogeさんからのお知らせにより、本項を緊急で追加いたしました。

161103_0928_zs6pyh

臨時ニュース

ここで臨時ニュースです。

11/1付でHTML 5.1が正式に「勧告(Recommendation)」になりました。詳しくはリンク先か、勧告前の参考記事をどうぞ。

変更点についてはChangeLogを見ていただくとして、ざっと目についたものを。

requestAnimationFrame

161102_1623_lmnfl6

History.scrollRestoration

161102_1628_kqnag9

臨時ニュース2

引き続き臨時ニュースです。クラウド開発環境で知られているhttps://www.nitrous.io/の閉鎖が決まったそうです。

161102_1638_v7niaj

Googleトレンドが無情にCloud9との明暗を示しています。

Ruby Facets

ruby_facets

CDNミラー化でRubyGems.orgが倍速に

タイトル通りです。

161102_1630_lpgcfq

RubyFlow

160928_1638_XvIP4h

Rubyのdecoratorパターン

先週の週刊Railsウォッチでもdecoratorパターンの記事をいくつか取り上げましたが、流行ってるんでしょうか。

この記事では、シンプルで使いやすいという理由でSimpleDelegagorというRubyの標準ライブラリを推しています。SimpleDelegatorのドキュメントだけではなく、親クラスであるDelegateクラスのドキュメントも読むことをすすめています。どちらも短いのですぐ読めそうです。

Rubyには他にもforwardable.rbやdelegate.rbといったライブラリがあります。

161102_1632_el4vsx

morimorihogeさんも指摘するように、デザインパターンとしてのdecoratorと、RailsのView presenterを指すときのdecoratorは同じではないので、今更ながら注意が必要ですね。後者は文字通り「デコレーションする」に寄った意味と考える方がよさそうです。正直、私もこのあたりで迷っておりました。

参考: Rubyの委譲標準ライブラリのまとめ

RubyプロジェクトのCIとデプロイをBitbucket Pipelinesで

これについては既にAtlassianの日本語公式サイトが立ち上がっているのでそっちを見るのが早いですね。

161102_1635_quzrmu

rowフラグメンテーションでデータベースロックのパフォーマンスを向上させる

データベースチューニングの記事です。割と込み入ってます。


Row Fragmentation: Share the Mutexより

ダメなテストを書く5つの方法

良記事。著者はMiniTestで説明していますが、RSpecにも通じる内容だとのことです。

  • 運が悪いとランダムなファクトリが重複してuniquenessが損なわれる
  • Orderを指定しないデータベースレコード
  • グローバルな環境を汚して次回のテスト結果に影響してしまう
  • 時間的な再現性のないテスト
  • requireしすぎて他のテストに影響してしまったり、順序で結果が違ったりする

161102_1655_sdaolb

Web Push APIをVAPIDとRubyで

Wevサーバーからクライアントに通知をプッシュする技術のひとつであるWeb Pushで、Pushサーバーの認証に使われるのがVAPID(Voluntary Application Server Identification for Web Push)ということのようです。VAPIDの利用は現在必須ではありませんが、今後は必須化が進むかもしれません。

161102_1657_e2ms3e

Rubyで自然な英文を自動生成する

正確にはJRubyとSimpleNLGも使っています。英語でも日本語でもこの種のお遊び研究は昔からありますね。

Ruby Weekly

160928_1641_BubfCD

HexaPDF: PDFの作成と操作

161102_1709_1vzggj

PDFマニピュレーションができるのはかなり有望かもしれません。GitHub TrendingのRuby部門でいきなりトップに躍り出ていました。

RubyでのPDF生成というとPrawnなどいくつかありますが、GitHubのREADMEによると「HexaPDFはまだPrawnほど機能は多くないが、PDF標準に沿っているのでずっと拡張しやすい」だそうです。

PDFレポート生成と言えば以前morimorihogeさんが日本製のThinReportsを推していたのを思い出しました。この種のソフトは英語圏ではよくても日本語を通そうとした途端に詰まることがよくあるので、日本語での実績があるソフトウェアはその意味で安心度が高い気がします。

RedisMonitor

RedisMonitorは、Redisのメモリ使用状況をビジュアル表示してくれるパフォーマンスモニタです。お役立ち度高そうです。
無料とありますが、他のところでどうやって費用を回収しているのか気になるところです。

AWS LambdaとSlackでSidekiqを監視

バックグラウンド処理でよく使われるSidekiqの監視をAWS LambdaとSlackでやってみたという記事です。

Hacker News

160928_1654_q6srdR

人間優先のプログラミング言語: Eve

言語とIDEで、ビジュアルプログラミングとも違う環境を作ろうとしている感じなのでしょうか。Hacker NewsでMacbook記事を押さえて圧勝しています。

JSONのパースは地雷だらけ

JSONの仕様をがっつり読み込んでますね。これよさそう。

161102_1738_4wlpof

GoogleのAIが暗号アルゴリズムを考案

生成された暗号アルゴリズムの原理がどうなっているのか皆目わからないそうです。

そういえば最近自分の子ども用に買ったスパイ学とか何とかいう絵本に「古代中国では暗号がほとんど発達しなかった」みたいな記述を見つけたのですが、信じていいのかなそれ。

そもそも漢字だけの文章は、アルファベット圏の人どころか日本人にとってすら、文章のどの部分が暗号っぽいのかを見分けるだけでめちゃくちゃ骨が折れそうな気がします。実はちょっと縦読みならぬ横読みするだけでも隠しメッセージがざくざく出てきたりするんじゃないかしら。

Github Trending

160928_1701_Q9dJIU

LinuxBrew

MacでおなじみHomeBrewのLinux版です。Rubyで書かれてます。HomeBrewがroot権限なしでもパッケージを導入できるのが羨ましかったのかな?

161102_1743_geskba

cuttlefish

Cuttlefishは「甲イカ」のことですが、こちらはれっきとしたメールサーバーソフトです。内部ではPostfix使ってるそうです。
GUIがかわいくてピチピチしてて、メールサーバーとはなかなか思えないほどです。

メールサーバーとかapacheとか、この手のソフトは無骨かつ無愛想でなければ本物とは呼びたくないという先入観が私にもあったのかも。

161102_1744_6ogxtx

無印枠

golanglibs.com

Go言語の伸びざかりなパッケージをチェックできます。Github trendingとまた違うランキングですね。しかも頻繁に変動してます。

CSON

カンマが不要でコメントもできるポストJSON(元)候補。ニュースと言うほど新しくないですね。失礼しました。

JSONはケツカンマと融通の効かなさが残念な点で、私もSublime Textの設定ファイルをいじるたびにいらいらしていました。JSONを追う者としては他にJSON5もありますが、カンマなんてそもそもいらないっしょと思ってしまう私はCSONの方に思い入れてしまいます。

しかしながらGoogle Trendsではグラフが下でぺしゃんこになっててどう見ても惨敗です。無念です。たぶんCoffeeScriptという名前が悪かったんです。ECMAあたりをもじってESONにしときゃよかったんです。もう遅いんです。

howtocenterincss.com

161102_1750_eqonrj

Hacker Newsにあがってたそうですが、yamasita情報なので無印枠にエントリーしました。名前のとおり、ボタンをポチポチするだけで中央揃えするCSSを生成してくれます。

ウケ狙いと思いきや、かなり実用的な内容。

どう思われますか。いかに多くのフロントエンド開発者がCSSの中央揃えで泣かされているかよくわかります。CSSはカスケードや継承が災いして途方もなく複雑な代物になってしまいました。

GoogleがSPDYをこっそりChromeに忍ばせて実地テストを重ね、いつの間にかHTTP/2を成立させてしまったみたいに、Flexboxを中心に次世代スタイルシートを1から作り直してまたこっそりChromeに忍ばせてしまえばいいと思います。

joshbuchea/HEAD

HTMLの<head>に書けるタグがずらりとリストアップされています。

☆17,000超えです。どう思われますか。いかに多くの開発者がHTMLの<head>で泣かされているかよくわかります。下手をすると本文よりヘッダーの方がはるかに饒舌で、本末転倒感を感じさせます。

日本語版もあるそうですが、訳すところほとんどないと思います。

今週は以上です。

おまけ

ニュースではありませんが、BPS Webチーム部長のmorimorihogeさんが松江から送ってきた写真です。

rubyworldconference

いよいよ明日からRuby World Conferenceですね。Enjoy!

関連記事

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833

コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。
これまでにRuby on Rails チュートリアル第2版の半分ほど、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れてそれぞれ一部を翻訳。
かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。
実は最近Go言語が好き。
仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

BPSアドベントカレンダー

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ