Islands in the byte stream

Technical notes by a software engineer

nodejsをリビルドすることなくIntl APIをfull-icu相当のデータで使う

gfx.hatenablog.com 上記エントリの続きです。 その後調べた結果、 full-icu というNPM moduleでfull-icu相当のデータをインストールできることがわかりました。 https://github.com/unicode-org/full-icu-npm 中身については精査していませんが、 unicode-o…

HTC U11 は安心して人におすすめできるシムフリーAndroid端末だ!

www.htc.com 発売日に買って2週間ほど使ってますが、非常に快適です。 ここ1年で Android Z4 ⇢ Huawei P9 Lite ⇢ HTC U11 と変えてきましたが、一番ストレスフリーかもしれないです。シムフリーだし*1、変なビルトインアプリはあまり入ってないし*2、指紋認…

NodeJSのIntlサポートを調べた

IntlというのはECMAScript Internationalization APIのこと ECMA-402 として標準化 Intl - JavaScript | MDN NodeJSでも利用可能だが、ビルドオプションによって様子が変わる NodeJSのICUサポートは none, system-icu, small-icu, full-icu というオプション…

発表資料: Elasticsearchによる 全文検索の実装

Rails Developers Meetup 2018 (#railsdm) で話した資料です。Railsの話はほとんどなくて、全文検索の仕組みとスコアリングについてのまとめが主です。 Q&Aシステムでの質問もここで回答します。 Q. データの同期はどうされていますか? 同期はActiveRecord…

elasticsearch-rails から返るモデルが同値比較できなくてテストで困る問題

elasticsearch-rails はElasticsearchとRails / ActiveRecordのインテグレーションをしてくれるgemです。 こいつを使っているとき、 特定条件下でモデル同士を比較するテストがコケるようになる という現象に悩まされてきました。pryなどで確認しても、たと…

Elasticsearchのドキュメントの直し方

Elastic社の @johtani さんに教えてもらったんですが、たとえば Elasticsearchのドキュメント(たとえばFunction Score Query )をみて不足があるなーと思ったとき、Edit リンクからGitHubの該当ページを直接開けるので即pull-reqを作れます。 あとはCLAにサ…

DroidKaigi 2018で『すばらしきGraphQLのSEKAIへようこそ』という発表をしました

DroidKaigi 2018 に参加して発表してきました。 今回はDroidKaigiということでクライアントサイドの視点から解説しています。よって、サーバーサイドの実装についてはまったく触れていません。サーバーサイドの実装については以前発表をしたことがあるのでそ…

DroidKaigi PreludeのKPT

DroidKaigi Prelude - connpass DroidKaigi Prelude というイベントでDroidKaigiのセッションを徹底解説します! - Islands in the byte stream やりました。 運営の @okoysm さん、tarappo さん、および会場提供のDeNA様、ありがとうございました。また、一…

JavaScript Quiz: (new Array(2)).map($ => 'hello') === ?

タイトルの式を一瞬考えてから本文を読んでください ;)

Ruby 2.5未満でRuby 2.5のStructのkeyword_initを使う

追記: backports v3.11.0の時点ではstruct/new.rbの冒頭に変なputsがあるなど使われている形跡がありません。またフィールド名を予約語にすると使えないという問題もありました。一旦自前のmonkey patchを使うことにしてます。 NEWS-2.5.0 - Documentation f…