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

入力フォームや設定画面をつくるときのデータ構造アンチパターン

「なんで?」と聞かれるとうまく言語化できてない部分が多いけど、経験的に不吉な香りがするやつ。 デフォルトがtrueの選択肢 デフォルトtrueの選択肢は、falseとNULLを厳密に区別しないといけなくなる。 item.value || true なんて書いた瞬間にバグる ユー…

Kaigi on Rails 2021で「Railsのシステムテスト解剖学」の話をした

10/22(金)に、Kaigi on Rails 2021に登壇した。登壇者としての回想日記。

なんだかんだで1年半くらいRuby向けにブラウザの自動操作ライブラリを作っている

かれこれ1年半くらい、Ruby向けのブラウザオートメーションツールをいろいろ趣味で開発している。IEがほぼ滅んだ今となってはRubyでもPlaywrightはSeleniumと同様に使っていけるはずで、そろそろ「Seleniumが唯一無二の選択肢」みたいな状況には終止符を打…

PlaywrightをRailsのsystem specから使いたくてCapybaraドライバを作った

RailsからPlaywrightでの自動操作をするには少しハードルが高い。Playwrightは自分が起動したブラウザじゃないと自動操作できないので、CapybaraがSeleniumドライバ経由でブラウザを起動しているところをごっそり置き換えたカスタムドライバを作った。 capyb…

糸島のパン屋 "のたり" のネット通販を利用してみた

糸島の桜井にある"のたり"のパンをネットで買えるなんて、素晴らしい時代である。 pic.twitter.com/AejJLujWRf— Yusuke Iwaki (@yi01imagination) 2021年4月24日 久々に、エンジニアリングじゃないネタ。 のたりのパン 過去にパンを自分で焼く重要性を説いて…

いよいよPuppeteerを使う理由がなくなってきた

Playwright 1.9.0で browserType.connectOverCDP というAPIが追加されて、まさに puppeteer.connect 相当のことをやってくれるようになった。つまり、「Seleniumの補強として使う」ということが、PuppeteerのみならずPlaywrightでもできてしまうようになった…

スキマ時間は意外とある

昨年の暮れに12インチMacbookを入手してからというもの、肌身離さず12インチMacbookを持ち歩くようになった。 yusukeiwaki.hatenablog.com こいつはとても優秀で、本当にどこにいてもコーディングが可能なのだ。スタバでドヤるという意味ではなく、エレベー…

第13回フクオカRuby大賞で入賞!その振り返り。

第13回フクオカruby大賞っていう、Rubyをネタにしたビジネスコンテストてきなものに参加した。puppeteer-rubyを発表して優秀賞とマネーフォワード賞の2つをいただけた。(わーい!)

ブラウザ自動操作のPlaywrightはRubyからでも使える?

Playwrightには爆速の多言語展開スピードを支える何かがあるらしいことはわかるが、ドキュメントには一切書かれていない。なので、いろいろソースを読んで調べた&実際にRubyからPlaywrightを使うPoCを作ってみた。