RubyVM::AST を便利に使いたいので gem を作った

github.com さっと作りました。 rubygems には登録してません(名前が重複してるかすら調べてないや) 経緯 Ruby 2.6.0preview2 から RubyVM::AST モジュールが使えるようになりました。 Ruby 2.6.0-preview2 Released RubyVM::AST [Experimental] Ruby 2.6 in…

追試

hkdnet.hatenablog.com ~/.g/g/h/m/y/E22 ❯❯❯ ruby -v ruby 2.6.0preview2 (2018-05-31 trunk 63539) [x86_64-darwin17] ~/.g/g/h/m/y/E22 ❯❯❯ time ruby --jit test.rb 略 NG: 0 ruby --jit test.rb 711.81s user 95.96s system 27% cpu 48:08.82 total は…

オフラインリアルタイムどう書く E24 の回答

負けました。ほっとんどのテストケースは通るが4つほど通らない、というのがあるというのが時間内の回答です。 が、終わったあとの懇親会でぼーっと考えてたらあそこじゃね?というところに気づいて解けました。そしてその diff がしょーもない。 とりあえず…

Swift製webアプリケーションフレームワーク Vapor を読むやつ #3

hkdnet.hatenablog.com boot 以降にいくか、と思っていたのですが boot 以降よりも middleware まわりのほうがよさそうなのでそちらを読むことにします。 さて、 middleware ですが、とりあえず既存の middleware を読めばいいでしょう。 ErrorMiddleware を…

Re: Rubyのdefの後に何を書けるか調べる実験

sinsoku.hatenablog.com 最後のHashが印象的。以下引用。 # no error def ({}).foo puts "foo" end # 別インスタンスなのでメソッドは呼べない {}.foo #=> (NoMethodError) 引用終了。 さて、別インスタンスなので呼べないというが、まあ呼びたいじゃん?オ…

Swift製webアプリケーションフレームワーク Vapor を読むやつ #2

hkdnet.hatenablog.com 前回テンプレートの configure まで読んだので boot 以降を読もうかと思いましたが、routesのところを読み損ねていたことに気づいた ので読みます。 https://github.com/vapor/api-template/blob/3df9b5518b510f5959c75ad04c1b51996a7…

Swift製webアプリケーションフレームワーク Vapor を読むやつ #1

Vapor とは SSS(Server Side Swift) のwebアプリケーションフレームワークです。 docs: https://docs.vapor.codes/3.0/ セットアップ CLI ツールの使用を推奨しているので brew でいれておく。プロジェクトの作成は vapor new で。Swift 初心者過ぎてよくわ…

THE IDOLM@STER MR ST@GE!! MUSIC♪GROOVE☆ 5/6 我那覇響主演 第三部 を見てきました

idolmaster.jp はい、というわけで感想というか日記エントリです。 以下セトリや公演内容などのネタバレを含みます。

macOS 10.13.3 -> 10.13.4 のアップデートをするとSEGVするやつ

概要 朝起きたら macOS のアプデがかかったらしくログインを要求された。 いつも通りユーザーを選択しパスワードをいれて FileVault の解除を待つと見たことない画面へ。 「アプデ適用に失敗しちゃったっぽいよてへぺろ とりあえず再起動する?」と聞かれた…

Python3 script を雑に heroku で動かせるようにする

手元で動かしてた python スクリプトを web サービス化したときの備忘録です。

TaPL読書録 #4

前回: hkdnet.hatenablog.com 今回は5章終わりまで、と思っていたが 5.2. の最後まででいい時間になってしまったので終わり。 今回は記憶がおぼろげなのでおぼろげに書きます。 ラムダ計算におけるリストの表現などについて Scott encoding, Church encoding…

『わかばちゃんと学ぶ Googleアナリティクス』の献本をいただきました

はいどうも、 ハイクオリティ神レビューア のはくどーです。 頂いたの3月末なのですが……。遅くなりましてすみません。 感想 ざっくりGAの使い方が紹介されていてよいんじゃないでしょうか。アクセス解析にまつわる諸概念についてもざっと紹介され、各概念を…

草活1周年、に失敗した話

3/31なんですけど、とあるレポジトリにコミットしてたのが、とある事情によりレポジトリごと消えたので草も一緒に消えてしまいましたとさ……。 これ private repo のも含めていて(= 会社のも含んでいる)、OSSっぽいことをしているわけではないのでアレなんで…

『現場で役立つシステム設計の原則』感想

読んだ。 雑多に感想を書く。 いわゆる Rails Way において到達できるところと、実際にシステムが要求するところの水準に乖離があるような現場はそこそこあると思っていて、Rails から入ったけどそういうところに困っている人(= つまり僕だ)にいい本だと思っ…

秒速でサイト作ったら反響がよかったので振り返り

github.com きっかけは、隣に座ってた人がいきなりやり始めたんだけど、検索ロジックとかが ガバそう 改善の余地がありそうだったので口出ししてたところから。 やったことは主にこんな感じです。 (PRになってないけど) 検索ロジックに口出しした とりあえず…

その rescue_from ほんとに必要ですか

だいたい必要ないと思ってますよ、という話。 Rails アプリケーションの開発において rescue_from を追加することが正しいことは少ないと思っています。 rescue_from とは実際にはアクションおよびコントローラをまたいだ begin - rescue ( try - catch )で…

jewel polisher

最近自分たちのプロジェクトが依存する gem 関連で何かが起きて対応が必要だったことが続いたのでメモっておく。 rails-html-sanitizer 0.4.0 CVE-2018-3741 対応。これは依存が多いので追うのがちょっとめんどかった。情報としては以下の issue が非常によ…

TaPL読書録 #3

前回: hkdnet.hatenablog.com 今回は4章終わりまで。 私物ノートPCのエンターキーがぶっ壊れているため今回のメモは控えめ。 定理3.5.12. 整礎集合の1要素へとマッピングできる関数 f を用いて無限降下列にならないことを示す論法は他の箇所でも見た気がする…

どうかくE22とjit

問題: 辞書順に数を並べる 2018.3.3 実装: github.com とりあえずナイーブに解いたやつ。鍋谷さんは「Rubyでは解けないくらいの計算量にしたつもりだった」と言っていたが案外解けている。 $ ruby -v ruby 2.6.0preview1 (2018-02-24 trunk 62554) [x86_64-d…

Ruby の ! について

はいどうも ! メソッド Ruby における ! ってご存知ですか? Ruby は演算子っぽいようなものもメソッドとして実装されているという話があったりします。 1 + 1 # Integer の + メソッドが呼ばれている class Integer # 上書き def +(other) 42 end end 1 + 1…

ランダム性は心の弱さ -- Rails においてテストデータをランダムに作ることについて

お気持ち やめよう 何がおきたか 単純化するとこんな感じのコードがあって爆死した1。 describe Foo do let(:left_foo) { Foo.new(value: 1000, bar: left_bar) } let(:left_bar) { BarMaster.all.sample } let(:right_foo) { Foo.new(value: 100, bar: righ…

TaPL読書録 #2

hkdnet.hatenablog.com 引き続きTaPL読書録です。今回は3.4.まで。 この項の構文は succ true や if 0 then 0 else 0 のような怪しげな項の形成を許すことに注意されたい(p.18) 怪しげw 「型なし算術式」なのでこの手のものを許可せざるを得ない。 評価のと…

入社していくらか経ったので自分がどんな価値を出してたのか確認したよ

はいどうも。入社してから7ヶ月くらい経ってるんですが、俺って何したんだっけ?どういう価値を提供したんだっけ?というのをふと確認したくなったので確認しました。今回はそれを外に出せる部分だけ出しておこうと思います。 業務中にメインで使っているレ…

オフラインリアルタイムどう書くE21 に参加して負けてきました

yhpg.doorkeeper.jp 負けました。敗因はなんだろ……。方針が定まりきらなかったのが敗因なのかなー。 プレイヤーベースで考えると打ったときに、そのタイミングでアタリを引いたのか、次のターンでアタリを引いたのかの場合分けがめんどくさそうだなーと思い…

gitコミットしぐさ

はいどうも。最近気をつけているコミットのやり方について備忘録的に書きます。1 前提として、現在はある程度成熟しているアプリケーションについての話です。新アプリの新画面ばーんってつくっていくぞみたいなときはもっと雑にコミットしてもいいんじゃな…

TaPL読書録 #1

2018年はmediumで記事を投稿しようと思っていたのですが、はてなブログのほうがなんだかんだ流入がいい気がしたので戻ってくることにしました。乗り換えのきっかけは、ブログのエディタの使い勝手があまりよくないことによっていたのですが、 kibela で書い…

2017年を振り返って

定量的な振り返りとしてGitHubの草を置いてみる。 3331 contributions 仕事とプライベート両方見えてるので結構すくなめかも。 一応草活は続いてる。 言語別のコーディング時間 定性的な振り返りとして隔月のことを思い出して適当に書く。 ……予定だったんだ…

chrome拡張 OneTab が便利

Firefox 57が出た後、しばらく浮気をしていたもののなんだかんだあって結局 Google Chrome に戻ってきました。 思えば IE で育ったあとに unDonut を使い始め数年、10年くらい前にchromeの存在を知ったあとはずっと使い続けてきた一番のお気に入りソフトであ…

Speee×Asakusa.rb Ruby2.5リリースパーティー に参加してきました

speee.connpass.com 行ってきました。 twitter に適当に投稿はしましたがだいぶはしょっているのでそれの補完を。 「突然CentOSが落ちるコードをコミットする人はちょっと」とか聞こえた— はくどー (@HKDnet) 2017年12月26日 なんか別方面にささったらしく妙…

#しがないラジオ とキャラ付け

この記事は しがないラジオAdventCalendar 5日目の記事です。 adventar.org すでに2回もゲストとして出演させていただきまして、自分のキャリアについては話しきった感覚があります。そのため今回はしがないラジオに出会って何が起きたのか、何を考えること…