映画HELLO WORLD感想(ネタバレあり)

見るか〜って言って見てなかったので見ることにしました。以下ネタバレありの感想です。

Rails 5.2.4 で autosave: true な関連が invalid なときに元レコードの valid? の振る舞いが変わっている件

rack の脆弱性対応があり1、それに対応した Rails を使おうとすると 5.2.4.1 を使う必要がある。のでアプデを試みた。5.2.3 -> 5.2.4.1 マイナーバージョンだし、大丈夫やろw と思いながらとりあえずCIを回してみたところテストが落ちた。はい。 原因を気合…

平成Ruby会議01 に参加してきました #heiseirubykaigi

めちゃくちゃ楽しかったです。 トーク感想 What is expected? かねこさんのキーノート。パーザーの話。トーク前に expectってかいときゃ rspec だと思われるでしょ、などと邪悪な発言をしており治安が悪いなと思いました。 僕はスライドのチェックを依頼され…

読んだ作品の備忘録

酒を飲んでいたらシャーマンキング展の話になり、誘われたのでいくかーと思ったのですが。 飲み会のメンツ6人のうち3人しかマンキンに興味がなさそうだった。 僕は当時かなり好きで(と言っても読み始めたのが2002年くらいなのでそこそこ後ろのほうだが)思…

ダブルスの試合を2コートでまわすときにプレイヤーの重複のない組み合わせを探す

問題設定 ダブルスの試合をたくさんやることになりました。試合組はすでに決まっています。 2面を使って試合をし、2つとも終わった段階で次の2試合を始める方式とします。これを1ターンと呼びます。 全部で20試合あるので理論上10ターンで終わるはずです。し…

Rack で transfer-encoding: chunked なレスポンスを返す

each を実装したオブジェクトを body として返してやるといい感じになる。 -> ならないかも。末尾参照(2019-10-28 17:25追記) Streaming::Stream のように each を実装したオブジェクトを call の戻り値に詰めている。 実際のレスポンスをみると Transfer-E…

Amazon SQSでFIFOだからってシステム全体が Exactly-Once になると思ったら大間違いだっていう話

TL; DR - Amazon SQS で Exactly-Once なキューを使おうとも冪等な処理を書くべき - Designing Data-Intensive Applications (邦訳: データ指向アプリケーションデザイン) が良書でした

TokyuRuby会議13で『現場のRunyVM::AbstractSyntaxTree』というLTをしました

TokyuRuby会議13 - Regional RubyKaigi 初参加でした。 speakerdeck.com LTあるあるですが完走できませんでしたね。よくお酒を飲みました。非常に楽しかったです。

『Scalaスケーラブルプログラミング第3版』読了

Scalaスケーラブルプログラミング第3版作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘出版社/メーカー: インプレス発売日: 2016/09/20メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 読了しました。いわゆ…

C拡張のある gem を作れるようになる

はじめに fukuokarb.connpass.com この記事は上記イベント会場で書いています。 Speee さん、 Fukuoka.rb の皆様ありがとうございます。 そういえばC拡張のgemって作ったことないなと思ったので作りました。RubyKaigi いくとなんかこういうことやりたくなり…

GitHub の PullRequest でもう使ってない外部サービスがチェックに出てきて邪魔なとき

レポジトリ側の Settings > Branches のブランチルールに残っているケースが多い。 ブランチ側のルールの Require status checks to pass before merging から該当のサービスを抜いてやればよい。

TaPL読書録 #10

前回: hkdnet.hatenablog.com 番号がやたらとんでるのは、勉強会はつつがなく開催されていたのですが僕が書くのをめんどくさがっていたら書かれなかったという回がたくさんあるからです。 今回は chap13最初-13.3まで。勉強会の slack があるのですが、TaPL…

オフラインリアルタイムどう書く E29 の誤回答 (Ruby)

タイトルどおり爆死しました yhpg.doorkeeper.jp 問題 : http://nabetani.sakura.ne.jp/hena/orde30sumt/ 実装リンク集 : https://qiita.com/Nabetani/items/725e09cc5913a8569c04 以下考えたこと。 ざっくりいうと、最終行の必要な幅からどんどん上にいくに…

gowrtr で名前付き戻り値を扱う

先日リリースされた gowrtr が非常に便利でめちゃくちゃ助かってます。buf に自分で fmt.Fprintf とかしてたのが懐かしいです。 お気に入りポイントは、immutable なつくりになっているところと、goimports とかをかけた状態で出力できるところです。マジで…

gocode での補完をやめるが vim-go は使う

どうも vim 界隈でも lsp の機運が高まっており gocode ではなく golsp などを使うことを推奨されているっぽい。 一方で今はもうすでに vim-go に手が馴染んでいるわけだが、と思って腰が重かったのだけど、補完部分だけを golsp にすることができた(気がす…

低レイヤを知りたい人のための Cコンパイラを Rust で作っている

hkdnet.hatenablog.com ↑の続きというわけで Rust 版を作っている github.com Rust 化して気づいたのは Vec なる tokens を consume していくような形にすると毎回食べ終わった Vec を返す必要がありそこそこだるいということだった。これは Vec は固定的な…

『低レイヤを知りたい人のための Cコンパイラ作成入門』感想

低レイヤを知りたい人のための Cコンパイラ作成入門 インターネット上で公開されている範囲については実装が終わりました。 github.com 内容について 非常によかったです。わかりやすかったです。僕は技術書の場合、だいたい冒頭だけ読んで、実装してみて、…

signal.Notify したチャンネルを close すると死ぬ(可能性がある)

TL; DR signal.Stop しよう https://golang.org/pkg/os/signal/#Stop 検証 ダメな例 package main import ( "fmt" "os" "os/signal" "syscall" "time" ) func main() { c := make(chan os.Signal, 1) signal.Notify(c, syscall.SIGINT, syscall.SIGTERM) clo…

オフラインリアルタイムどう書く E29 の回答 (Golang)

yhpg.doorkeeper.jp 問題 : http://nabetani.sakura.ne.jp/hena/orde29unes/ 実装リンク集 : https://qiita.com/Nabetani/items/f2db9b916c0a301b744f 勝ちました。珍しく Golang で。 なんかかっこいいやり方あんのかなーと思ったけど、1文字ずつ素直に読ん…

Rails で全部のモデルについて何かの処理をしたい

eager_load = true にした上で ↓ のスクリプトを bundle exec rails r する ar_classes = [] ObjectSpace.each_object do |obj| next if obj.class.name.to_s != 'Class' if obj.ancestors.include?(ActiveRecord::Base) && obj != ActiveRecord::Base ar_cl…

読了: 『ドラゴンクエストXを支える技術ーー 大規模オンラインRPGの舞台裏』

読み終えました。ざっと俯瞰する感じで面白かった。とても深いところがあったりとかめっちゃ参考になる〜みたいな本ではないです。タイトルどおり、まさに舞台裏を教えてくれる本という感想でした。 自分のバックグラウンドとしてはweb系の業務システムをや…

macOS Mojave + nasm の Hello world

nasm の Hello world 記事はそこそこあるもののコピペで動かなかったのでメモ。 TL;DR エントリポイントは start ではなくて _main という名前にしておく ld コマンドに -lSystem と -macosx_version_min 10.13 を指定しておく 前提 macOS Mojave 10.14.1 un…

オフラインリアルタイムどう書くE28の実装例 ( Ruby )

オフラインリアルタイムどう書くE28の問題「増築の果ての隣室」の実装例を、Ruby で。 問題 : http://nabetani.sakura.ne.jp/hena/orde28sqst/ 実装リンク集 : https://qiita.com/Nabetani/items/4e3fac2746ca05a93165 イベント : https://yhpg.doorkeeper.j…

読了: 『Go言語による並行処理』

読みました。ちょっと駆け足気味だけど。 全体的に良書でこういったことが知りたかったんだということが書いてあってよかったです。一方で悪い点もほんのちょっとありました。先に悪いと思っている点について書いておこうと思います。 悪かったと思った点 ま…

go のパッケージで特定の型のメンバをもった構造体が定義されていないことを確認したい

モチベ swagger 定義から go client を生成するときに、 type: "number" はデフォルトでは float32 型として定義される。これは type: "number", format: "double" とすることにより float64 型に変更可能である。 該当プロジェクトでは精度的な観点から flo…

Ruby でリファクタリングをした際にテスト要否を判断したい

TL; DR rubocop の自動修正とかが正しいのか不安になる Ruby なら ISeq に差分があるか調べればよい line number, column number 問題は本体に手をいれておけばある程度乗り越えられる 前提 tech-blog.monotaro.com qiita.com $ ruby -v ruby 2.5.1p57 (2018…

オフラインリアルタイムどう書く E27 の解答例

問題 : http://nabetani.sakura.ne.jp/hena/orde27cardgame/ 実装リンク集 : https://qiita.com/Nabetani/items/cdc102d186faaf542574 久々に勝ちました。 割と素直な実装です。計算量的に大丈夫かかなり不安だったけど結構すぐだった。 8枚のうち、ストーリ…

TaPL読書録 #6

前回: hkdnet.hatenablog.com 今回は7章、8章。 7章は実装章である。個人的には小ステップの実装をするところまでで終わり。大ステップには変換しなかった。もうひとり書いてきた人のと小ステップ・大ステップでの差異をかるく比較して終わり。実装したのは2…

読了: Clean Architecture 達人に学ぶソフトウェアの構造と設計

『Clean Architecture 達人に学ぶソフトウェアの構造と設計』を読み終えたので感想です。 なにか新しいことが書いているというわけではなく、ちゃんと依存関係について考えようねという本だと捉えている。ソフトウェア設計の原則を、クラスなどの細かい粒度…

Rails におけるパフォーマンス検証パターン: action 抜けた後が遅いケース

TL; DR アクション抜けたあとは action の callback, rendering, rack middleware の世界 おもそうなものを特定して抜こう bullet は重いぞ 事象 新機能開発中に、大量データ突っ込むか〜と思って突っ込んで開いたらまあ全然返ってこない。 はあ、まあそうい…