Goとmrubyを使ってitamae-goを作った github.com Pokemon Goが流行っていたので流行に乗じてItamae Goを作った。 というのは冗談で、手元の開発環境のセットアップにitamaeを使っているのだけど、まっさらな環境でitamaeを実行したい時にRubyやitamaeをどう…
お借りしています pic.twitter.com/zzwmj2QEjp— k0kubun (@k0kubun) 2016年7月5日 Kinesis Contoured Keyboardをお借りしている id:ursm さんがKinesis Contoured Keyboardの2週間無料貸し出しをやっていて、Kinesisはずっと気になっていたキーボードだった…
TokyuRuby会議10でLTしてきた 去年に引き続き、今年もTokyuRuby会議10のLTに応募したら通ったので最近railsにマージされた僕のパッチで思い入れのある3つについて喋ってきた。今年はCookpad TechConfとかRails Upgrade Casual TalksでもRailsの話をしていて…
ErgoDox始めました pic.twitter.com/lm2kCCwj3K— 体調悪太郎 (@k0kubun) 2016年5月2日 なぜErgoDoxを2枚買ったのか 直近で使っていたキーボードは1300円で買える奴で、金に余裕ができたらいい奴を買おうと思っていた。HHKBとRealforceは以前所持していたこと…
ElectronベースのTwitterクライアント: Nocturn ElectronでYoruFukurou風のTwitterクライアントを作った - k0kubun's blog の時にCoffeeScriptとjQueryで作っていたNocturnというTwitterクライアントがあり、これをES6, React, Reduxを使って書き直した。こ…
クックパッドの社員が発表するCookpad TechConfというイベントの第一回が今日行われ、「Railsアプリ開発環境の高速化」というテーマで話してきた。 開発環境の改善について 僕が技術部に入る前、サービス開発をやる中で一番不満だったのが開発環境のパフォー…
今年は卒論を書いて大学卒業後社会人になり、新卒研修を3ヶ月やり、部署に配属されて6ヶ月働いた。 以下、2015年にやったことをまとめる。 発表 2014年はどの勉強会にいっても誰にも知られてなくて寂しかったので、2015年はたくさん外部で発表するというのが…
FamlとHamlitがなぜ高速かについて話しました RubyKaigi 2015の1日目に、「High Performance Template Engine」というタイトルで発表しました。 @eagletmtさんが作ったFamlと、僕が作ったHamlitがなぜオリジナルのHamlに比べ高速か話しました。 発表は以下の…
Itamae meetup #1 で発表した 趣味でちょくちょくコミットしているItamaeという構成管理ツールの第一回Meetupがあり、Itamaeについてどこかで話したいな〜とずっと思ってたので話してきた。個人的には、僕が作った機能のうち特に最近実装した以下のものを各…
Slimより高速なHaml実装「Hamlit」 RubyでHTMLを生成するのにERB以外でよく使われるテンプレート言語にHamlやSlimがあります。haml *1 をやめて高速なslimに移行する人が多かったのですが、私はHamlのシンタックスの方が好きなので、slimが用意したベンチマ…
byebugとpry-byebugのbundle updateをしましょう byebugはRails標準でインストールされるRuby 2.1, 2.2向けのデバッガで、pry-byebugはpry *1 にデバッガの機能を追加するpryのプラグインです。 一昨日から今日にかけて、以下のパフォーマンス改善を含む bye…
学生枠で出場した去年に引き続き、今年は新卒社員になった@cnosukeと@rkmathiと僕@k0kubunの3人でISUCON5予選に出場した。 僕らが最後に確認できたスコアは11045で、その時のスクショだと2日目の16位という感じで、予選通過はなりませんでした。 id:rkmathi…
TokyuRuby会議09でLTした あんまり外部でRubyについて話したことなくて、こないだshibuya.rbでactiverecord-precountについてLTしたけど、それ以外にもまだ紹介したいgemがあったのでTokyuRuby会議にLT応募したら通ったので話してきた。 rebuild gem k0kubun…
最強のTwitterクライアント戦争 なんか戦争をやってる人たちがいたので乱入することにした。 日記書いた / 最強のTwitterクライアント作り始めた - 9mのブログ http://t.co/ecq7nT40qp— 友緒利奈 (@9m) August 22, 2015 最強のTwitterクライアント戦争参戦し…
社会人になって経済的に余裕ができてきたので、はじめての自作PCに挑戦することにした。 入社直後に生活が苦しすぎてヤフオクでiMacを売ってしまったのでデスクトップPCが欲しかった。 材料 種類 型番 値段 CPU Intel Core i7 4790K (4 core / 8 threads, 4.…
markdownからkeynoteを生成する奴作った LT資料作るのがめんどくさすぎてmarkdownからkeynote生成するやつ作ってた https://t.co/sK8XaBcj2T— ᴋᴏᴋᴜʙᴜɴ (@k0kubun) 2015, 8月 6 なんか昨日社内でLT頼まれててLTしたんだけど、前日に資料を作るモチベが沸かな…
追記: 2017/09/06 少しAPIが冗長なもののActiveRecordへのモンキーパッチが少ないバージョン activerecord-precounter というのを作りました。こちらの方がバグりにくいはずなので、現在はactiverecord-precounterの方を使うことが推奨されます。 github.com…
#gocon でLTしてきた GoCon、LTしたかったけど特に発表することないなあと思ってたら同僚に「ppとかあるじゃん」って言われて、確かにppについて話したことないなと思ったので申し込んでみたら通った。 話した内容について k0kubun/pp ppはGo Advent Calenda…
Hamlのパーサぶっ壊れてる問題 本家のHamlは以下の入力を与えるとSyntaxErrorになる。 %div{ foo: "}" } これはHamlが単に{と}の数だけ合わせてパースしているからである。 *1 通常この問題を解決するには字句解析器を使い、現在パースしているのが何のトー…
3月末に、Hamlit v0.1.0を作りSlimやErubisより高速なHaml実装「Hamlit」をリリースしましたという記事を書いた。 haml-specを通しているのでHamlと高い互換性と持っていてかつ速いという宣言をしたものの、実際にリリースしてみると随所からバグ報告が上が…
slim-template/slimのcompiled benchでオリジナルのhamlに比べ8倍高速に動作するhaml実装をリリースしました。 github.com なぜ高速なHaml実装を作ったのか 個人的にhamlのシンタックスのほうが好きなので、「hamlは遅いからslimを使う」みたいな人を減らし…
LTしてきた 勉強会に参加するよりひたすら家にこもってプルリ書いてるほうが好きなので去年はそういう生活をしていたけど、今年はもうちょっとアウトプットしようと年の始めに考えていた。そこで、とりあえず一発目としてhikarie.go #4というGoの勉強会でLT…
卒研終わった 2/17に卒研発表をした。 何研究してたの モデル検査とfault injectionを行うためのモデリング言語Sandalのコンパイラの拡張を行った。 いろんな人に何研究してるのか聞かれたんだけど、そのたびに一言で説明できなくて困った。自分がモデル検査…
追記: 2017/09/06 少しAPIが冗長なもののActiveRecordへのモンキーパッチが少ないバージョン activerecord-precounter というのを作りました。こちらの方がバグりにくいはずなので、現在はactiverecord-precounterの方を使うことが推奨されます。 github.com…
1〜3月 楽しい人生を送っていたのでコードを書いていなかった 4〜6月 社内のLTのネタのためにGoを始めた。Schemeの処理系とかTwitterクライアントとか書いた。 この影響で今は研究でもGoで言語処理系を書いている。 Goでテトリスを書いてDeNAでLTをした。 初…
Goでは、reflectパッケージを使うとリフレクションを行うことができる。 そこで、以下のことを任意のstringによる動的な指定で行うことができるかを調べた。 send (関数, メソッド呼び出し) define_method (関数, メソッドの定義) const_get (任意の型のオブ…
僕は主にRubyとGoを書く。この2つを使っていると、「(Rubyに比べて)Go辛いなあ」と思うことがあるのだが、なんで辛いのかはよくわかってなかった。 最近仕事にGoを使い始めたRubyistが社内ブログでGoのPros/Consを書いていたんだけど、そのConsも自分が辛…
rack-user_agent を作った rack-user_agentという、User-Agentに応じていろいろな判定ができるメソッドを生やすRack::Request拡張を作った。 tagomorisさんのWootheeを使ってRack middlewareでUser-Agentをパースしておいて、 その結果に応じてrequestから簡…
@cnosukeと@rkmathiと僕で学生枠で予選通っていたので、ISUCON4本戦出てきた。 予選で反省して直した点 悲惨な前回の記録 予選の時は常に精神的に余裕がなかった上にチームワークが全く成立していなかったので、@cnosukeに指揮をとってもらってお互いの作業…
去年ISUCON3予選に参加していた id:cnosuke と id:rkmathii のチームが一人欠けたので、 そこに初出場の僕が入り「railsへの執着はもはや煩悩の域であり、開発者一同は瞑想したほうがいいと思います。」というチーム名でISUCON4予選に出場しました。1日目の…