2018-01-01から1年間の記事一覧

rui312/9ccを写経する-その5

https://github.com/rui314/9cc/commit/e89595ac2097981b55e4e287d07f8a3e62a6b02c map_existsの実装。次への布石か。 https://github.com/rui314/9cc/commit/42e403e3de0c6457bc11ab14c55a9dad27ed82be 変数の追加。よし、これも自分でやってみよう。 ...(1…

rui312/9ccを写経する-その4

https://github.com/rui314/9cc/commit/b8b3ab51ad9372a2b9f963650bbf14e714b87b85 Add Map data structure. お、みんな大好きMapさん。これは楽しみだ。 hash関数を使うのか、open addressなのかlinked-list方式なのか!? typedef struct { Vector *keys; …

rui312/9ccを写経する-その3

https://github.com/rui314/9cc/commit/9d4e20421f140f9ad7a1d161daab088008aa5760 Fix warnings. とのことなので大した変更ではなさそうだが、stdnoreturn.hやnoreturnは知らなかった。 返り値のないvoidな関数にreturn;があってもコンパイラは特に何も言わ…

rui312/9ccを写経する-その2

https://github.com/rui314/9cc/commit/2f62e5267a1c2874dcfa674cf8654e0cb3f189d6 コミットコメントが仰々しい感じがする。 test.sh とりあえずここを見れば次に実装することがわかる。 コードを見る限り、そこまで追加機能はないようだが……? int pos = 0;…

rui314/9ccを写経する-その1

8ccという有名なCコンパイラがあるが、これを書いたrui314さんが新たに9ccというリポジトリを上げていた。 https://note.mu/ruiu/n/n00ebc977fd60 を読むに、これは8ccをさらにわかりやすく、Cコンパイラ自作の教材として作っているものに違いないと勝手に判…

embulk-decoder-execつくった

github.com 経緯 現在fluentdからlzoファイル形式で圧縮して定期的に溜めてるJSONデータが既にある。 これを別のストレージにサッと移せたらできること広がりそうだなーと考えた。 問題点 bulk処理といえばembulk、ということでembulkを触ってみて、どうやら…

RubyKaigi2018 in 仙台に行ってきた

rubykaigi.org RubyKaigiは京都も広島も行っていなくて、仙台で3年ぶりの参加だった。 どのセッションも裏番組が面白そうすぎて、血涙を流しながら見にいっていた。 セッションを聞いて「こんな事ができたんだ」「それならこんな事もできるかな」みたいにア…

はじめてfluent-pluginを書いた

ようするに github.com fluentdでちょっと溜めて、postgresにbulk insertするやつです。 そもそも fluentdが何をするやつなのかいまいちよく分かっていなかった。 「ログを転送する……。それで??」みたいな。ふわっとした理解だった。 いろいろ調べていくう…

RejectKaigi2018でMVPを取った結果www

はい、というわけでね、RejectKaigi2018に行って話してきたわけですけどもね。 なんと、MVPとして選ばれ、見事(?)乾杯の音頭を取らせていただきました というわけで今回はYouTuber風を意識して発表してみた。 伝わったかどうかは微妙だけど、自分もテンショ…

スピコラ考察

最近スピコラを全ルール全ステージで使ってS前後をウロウロしている。(A+は適当にやっても勝てるが、S+0にはボコボコにされる程度のウデマエ) スピコラの特徴を整理する。 立ち回り 最大の特徴は万能性にあると思う。 塗りをやらせても前衛をやらせても、そ…

Shinjuku.rb #57で、"mrubykaigi"というタイトルの発表をした。

少し時間が立ってしまいましたが、Shinjuku.rb #57で話させていただきました。 shinjukurb.connpass.com 発端 弊社Repro, Inc.で定期開催している新宿.rbという地域コミュニティで、 「mrubyについて話しませんか」と人生初の登壇オファーを頂いたので快諾し…

地味すぎて誰も気がついていないCRuby 2.5の新機能

did_you_mean gemがKeyErrorにも効くようになったよ KeyErrorは指定したkeyに対するvalueが見つからなかったときに起こる例外で、IndexErrorから派生したものです。 KeyErrorが起こり得るのはHash#fetch Hash#fetch_values ENV.fetch Kernel.sprintf String#…

mruby本体にmruby-methodを移管したよ

「mrubyにmethodメソッドはないのかな?」とおググりの皆さんに朗報です。 ksss/mruby-methodというライブラリでmethodメソッドは使えてはいたのですが、この度*1mruby本体にmergeしてもらいました。 github.com 理由としては、 ksss/mruby-methodを作ってか…