2019-01-01から1年間の記事一覧
以前 Microsoft が出した Mison という JSON の高速なパーサに関する論文を読んだ。 Mison は普通のパーサと違って1文字ずつ読んで構造を解釈するのでなく、bitmap をフィールドの位置の特定を高速化し、さらにある程度パターンが読めてきたらフィールド位置…
備忘録。 Go の io.Reader の使い方について。
備忘録。 Ruby の trunk に入った新機能を試す過程で ruby-build のスクリプトを調べたので、その概略についてのメモを残す。 ruby-build のコミット ca85eba に基づいた情報です。
RubyKaigi 2019 3日目のメモです。 1日目 autopp-tech.hatenablog.com 2日目 autopp-tech.hatenablog.com
RubyKaigi 2019 2日目のメモ 1日目 autopp-tech.hatenablog.com
4/18 - 4/20 に福岡で開催中の RubyKaigi 2019 に参加しています。 1日目に聞いたセッションについて忘れないように雑にメモっておきます。 本当に雑です。
備忘録。 C の文字列配列(char**)を返す関数を fiddle 経由で呼び出し、String の Array に変換する方法について。
備忘録。 GCC や Clang で利用できる C の拡張機能 __COUNTER__ マクロについて。
備忘録。 Nuxt.js を使っている時にファイルシステムの仕様で Mac と Linux でビルドの成否が変わる問題に当たった。
備忘録。 少し前に Fiddle を使って C 関数を呼び出す Ruby プログラムを書いた時にやらかした時のメモ。 Fiddle とは とてもざっくりというと dlopen/dlsym のラッパー。以下は C の strlen を Ruby から呼び出す例がドキュメントにある。 起きたこと 以下…
Ruby の trunk に Numbered parameters なる新機能が入ったようなのでどんな挙動をするのか触ってみた。 動作確認に使っているバージョンはこちら $ ruby -v ruby 2.7.0dev (2019-03-18 trunk 67294) [x86_64-darwin17]
備忘録。 Ruby での子プロセスの終了ステータスの取得方法について、定期的に自分でやらかしたり他の人がやらかしているのを目撃するので書き残す。
2/28 の Rails/OSS パッチ会に参加してきた。 行く前はもくもく会のようなものかと思っていたが、むしろせっかく他の人もいるので対面で相談する方が推奨されている感じだった。(自分も今抱えている issue について相談させてもらった) この会自体は OSS …
備忘録。 Ruby の例外クラスのインタフェース、とりわけコンストラクタと生成後に取得できるメッセージについて考えることがあったので、いくつかの事例をまとめる。
備忘録。 Settings Sync は複数の PC で各種設定を同期するためのプラグイン。settings.json や keybindings.json だけでなく独自スニペットも管理できる。 キーマップなどは同期するだけでどうにかなるが、一部の設定は PC 毎に変えたくなることもある。こ…
OpenAPI のコードジェネレータである OpenAPI Generator に Ruby クライアント生成周りでいくつかの PR を出した。 ↓の記事の続き。
プルリクエストに関する定形作業を自動化するツール Danger のプラグインを書く機会があったので、プラグインの構造について簡単にメモ。v5.13.0 を参照している。
読んだ。とてもいい本だった。まとめと感想を簡単に。
swagger-codegen で API の Ruby クライアントライブラリの生成を試していたところ色々な問題を見つけたメモ。すべて以下のバージョンを対象にしています。 $ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar version 2.4.2-SNAPSHOT…
VSCode における Ruby の do - end の補完には endwise という拡張がすでにあるがブロックパラメータなどの補完はできない。そこで公式ドキュメントに従って、Atom と同じような補完ができるスニペットを定義した。 { "Do block": { "prefix": "do", "body":…
最近使ってみている VSCode で、 Markdown を書いていると " を入力したら自動で "" まで入力されないことがわかったのでなんとかしてみたメモ。