Islands in the byte stream

Technical notes by a software engineer

railsdmでマルチテナント・ウェブアプリの話をしました

railsdm.github.io 発表:「マルチテナント・ウェブアプリケーションの実践」 一文でまとめると「HTTPのリクエストごと、あるいはjobの実行ごとにストレージの名前空間違うから気をつけような!!」ってのを常に意識する必要がありますって話でした。 なおEl…

DroidKaigi Prelude というイベントでDroidKaigiのセッションを徹底解説します!

DroidKaigi 2018 (2/8-2/9)の関連イベント*1としてDroidKaigi Preludeというイベントを企画しました。現在、参加者&LTを募集中です。 connpass.com メインセッションの「DroidKaigiセッション解説」を @shiraj_i さんと @muumuumuumuu さんといっしょにやり…

ISUCON7本戦で5位でした

ISUCON7 にチーム「スギャブロエックス」で参加して5位でした。 ベストスコアが29944点なので、せめてこれを最終スコアにしたかった…! チームメイト ISUCON7 勝てなかった - すぎゃーんメモ リポジトリ github.com 所感 今回は "Chair Constructor Online" …

ES modulesのexport defaultは使わないほうがよい

ES modulesにexport defaultってのがあるんですが、default exportのexport対象に名前が必須でないため、IDEによるコード補完と相性が悪いです。 他のところはどうしてるのかなと思って調べてみると、GoogleのTypeScript Style Guideでは禁止されてました。 …

nodejsの標準モジュールzlibはworker threadを使うらしく

Zlib | Node.js v9.2.0 Documentation Note that all zlib APIs except those that are explicitly synchronous use libuv's threadpool, which can have surprising and negative performance implications for some applications. スレッドプール数は UV_T…

WebAssemblyをNodeJS Native Addonの配布形式として使う

三行まとめ 高い圧縮率をほこる gzipライブラリ zopfliをwasmにビルドして npmjs.org にリリースしてみた wasmはネイティブコードと比較してだいたい50%くらいの性能を期待できる emscriptenは N-API と比べると出来ることが少なすぎるのが課題 背景 WebAsse…

はてなブログのエントリにPlantUMLを埋め込む方法

PlantUML、便利ですよね。はてなブログでも使いたいですよね。ということでやってみました。 まずエントリの最後にこのスニペットを置きます: <script> var a = Array.from(document.querySelectorAll("pre.code")); a.forEach(function (pre) { if (pre.attributes[…

AssemblyScriptでHello, world!してみた

github.com AssemblyScriptという、TypeScriptのサブセットでありWebAssemblyにコンパイルできる言語があります。 ※ WebAssemblyについては WebAssembly の基礎 - nmi.jp などをどうぞ TSのサブセットとはいえ、WebAssemblyにコンパイルしやすくするために若…

ISUCON7 予選通過した!

スギャブロエックス(id:sugyan, id:kazeburo, id:gfx) で予選に出場して2日目2位でした。去年は予選敗退だったので2年ぶりの本戦出場です。 バランスの良い良問で大変楽しかったです。ISUCON運営チームに於かれましては大変おつかれさまでした&ありがとう…

compression-webpack-plugin + zopfli でgzip圧縮ファイルを用意する

sprocketsを使っているアセットは半ば自動的にgzip圧縮版ファイルが用意されるのでそれをnginxのgzip_staticなどでサーブすればいいわけですが、JSのビルドをwebpck化したときにそういえばgzipされたファイルを用意しなくなったなと。それでもまあ、nginxが…