週刊Railsウォッチ(20161012)RubyのHashの詳細、RethinkDBの会社が終業ほか

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

こんにちは、hachi8833です。10月2週目のRailsウォッチいってみましょう。

SitePoint

161012_1024_D7bjhM

RubyのHashの詳細を理解する

RubyのHashの仕組みをかなり詳しく解説し、わざとダメなハッシュアルゴリズムを使ってよいアルゴリズムとのベンチマークと比較して見せてくれています。ダメなアルゴリズムではHashの項目数が増大するとてきめんに遅くなっています。

161012_1124_FHVhid

SitePointより

RubyFlow

160928_1638_XvIP4h

Cells gemTrailbrazer

161012_1638_wI46WP

Cellsは、最近のJavaScriptフレームワークでよく使われる「ビューコンポーネント」をRuby on Railsでも使えるようにするgemです。Githubリポジトリでも☆が2,600を超えていて勢いを感じさせます。

Cellsは、Trailbrazerというハイレベルアーキテクチャのオプションでもあります。こちらも☆が2,000近く付いています。詳しく見ていませんが、ビジネスロジックの分離などいろんなことができるようです。

Trb-Stack

http://trailblazer.to/より

テスト駆動開発で時間を無題にしないために

テスト駆動開発(TDD)の是非はすぐ宗教論争になってしまいますが、ここでは是非ではなく、TDDをボトムアップではなくトップダウン設計に沿って行うことを勧めています。詳しくは参考リンクを見て欲しいとのことです。

Ruby Weekly

160928_1641_BubfCD

Let The Asset Pipeline Die

とりとめのないエッセイなのでお暇な方向け。ただこのエッセイで言及されていた議論をきっかけに、Code of Conduct(CoC)の一種であるContributor Covenantの導入がRubyをはじめ多くのオープンソースコミュニティで議論されていることを知りました。Code of Conductは日本語にしにくい用語ですが、いわゆる「綱領」とか「何とか宣言」のような、契約書やライセンスなどとは別の文書です。

CoCの例としてRubyKaigi Anti Harassment Policyを見ていただくと雰囲気を掴めるかと思います。ソフトウェア開発に直接関連するわけではありませんが、プロジェクトのコードや企業のサイトなどにこうしたCoCを配置したりする事例が増えているようなので、知っておくとよいと思います。

参考: Contributor Code of Conductのメモ

Ruby trunk

160928_1649_IkaWyb

Onigmoの書記素クラスタ「/\X/」がunicode.orgのテストをパスしない

extended grapheme clusterというメタ文字列を初めて知りました。「書記素クラスタ」と訳されることもあるようです。Ruby 2.3.0: 正規表現の解説によると、\Xは複数の文字がひと続きになって初めて意味のある文字列(Unicode結合シーケンス)にマッチする、特殊なメタ文字であるとのことです。

Hacker News

160928_1654_q6srdR

RethinkDBの会社が営業終了

9月のRailsウォッチで紹介した記事でも使われていたRethinkDBの開発会社から営業終了のお知らせが出されました。今後はオープンソース化し、同じサイトで引き続き入手できるとのことです。Hacker Newsのトップでした。

App StoreからDashが外された

dash-256@2x

私も使っているMac用のドキュメント検索&スニペットアプリ「Dash」の作者のアカウントを個人用から会社用に移行したところ、アプリがApp Store上でClosedになってしまったとのことです。このためiOS版をApp Storeで配付できなくなってしまい、MacOS版はApp Storeの外で引き続きサポートするものの、できるだけ早く手順に沿ってライセンスを更新して欲しいとのことです。

hackernoon.com

hackernoon

最近登場したhackernoon.comは、Hacker Newsの写真が豊富になったような塩梅です。

Facebookが新しいJavaScriptパッケージマネージャ「Yarn」を公開

161012_1628_HsYHd6

既に日本語のニュースにも出始めていますが、表題のとおりです。他のコードを参照して実行しないようにしてあるなど、セキュリティにも配慮されているようです。動作にはNode.jsがインストールされている必要があります。yarnpkg/yarnリポジトリを見ると早くも☆が8,000近くになっており、期待のほどがうかがえます。

ブログにはnpm install -g yarnでインストールするのが簡単と書かれていますが、パッケージマネージャでパッケージマネージャをインストールするのは何となく気持ち悪いので、私の場合は公式のインストール方法でインストールしてみました。

Github Trending

160928_1701_Q9dJIU

Discourse: 掲示板・メーリングリスト

discourse

Ruby on Railsで開発された掲示板・チャット・メーリングソフトウェア「Discourse」です。☆が20,000件近くあり、非常に人気があります。著名なニュースサイトboingboing.netの掲示板でも使われています。

今週は以上です。

関連記事

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の書いた記事

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ