概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Running Rails System Tests with Playwright instead of Selenium | justin․searls․co 原文公開日: 2024/06/18 原著者: Justin Searls -- Test Doubleの共同創業者です 日本語タイトルは内容に即したものにしました。 先週、DHHが「システムテストの導入は失敗だった」と宣言したとき、私の最初の心の声は「まあそうだろうね」でした。UIテストはもろいうえに、テスト件数がある程度以上になると、アプリが動作しているという確信をもたらしてくれるUIテストのありがたみよりも、UIテストをメンテナンスするコストの方が上回ってしまう可能性があります。 しかし、私の次なる心の声は「考えてみれば、Turboに強く依存した複雑なUIに対して
こんにちは!ROUTE06 でソフトウェアエンジニアをしている @sasamukuです。 Kaigi on Rails 2024 に参加してきましたのでレポートをお届けします! 前回に引き続き、ROUTE06 は Silver Sponsors として協賛させていただきました。 弊社からは4人のメンバーが現地参加しました! ROUTE06は4名でおじゃましてます🙌 #kaigionrails @hoppiestar @sasamuku @MH4GF @ynndino88 pic.twitter.com/n7BRei0djt— ヤノ | ROUTE06 (@ynndino88) 2024年10月25日 参加レポート セッションレポート Keynote: Rails Way, or the highway Capybara+生成AIでどこまで本当に自然言語のテストを書けるか? モノリスでも使
ファインディ株式会社でフロントエンドのリードをしている新福(@puku0x)です。 弊社では Nx を活用してCIを高速化しています。この記事では、最近導入した Nx Agents でフロントエンドのCIをさらに高速化した事例を紹介します。 Nxについては以前の記事で紹介しておりますので、気になる方は是非ご覧ください。 tech.findy.co.jp フロントエンドのCIの課題 Nx Agents Nx Agents導入の結果 Nx Agents利用上の工夫 プロジェクトを細かく分割する Node.jsのバージョンを揃える キャッシュの活用 特定のステップの省略 高度なエージェント割り当て まとめ フロントエンドのCIの課題 これまで「キャッシュの活用」や「並列化」「マシンスペックの向上」といった工夫により、フロントエンドのCIを高速化してきました。 しかし、コードベースの増大により時間
HotwireとNext.jsをちゃんと見て比較しよう#本サイトでは、React/Next.jsに詳しいフロントエンドエンジニアを対象に、実際に動くコードと実際に動くデモを体感しながら HotwireとReact/Next.jsを比較します。 各技術でのUIの作り方を伝えるだけでなく、さまざまな状況での動きを確認していただくために、仕組みや限界も紹介します。そのため、かなり細部の議論もしています。 HotwireでもNext.jsと同等か、それ以上のUI/UXが実現できます。「Hotwireは簡単だけど、React/Next.jsの方が優れたUI/UXが作れる」というのは、かなり特殊なものでない限りは誤解ですHotwireはバックエンド非依存です。Rails, Laravel, Django, Go, Nodeでも関係なく動きます。実際、本サイトのHotwireコードはNext.js AP
Rails 7.2 で rails new した際に搭載される rubocop-rails-omakase について、それがどのようなもので、どのように使うことを期待されているかを書き記しておきます。 github.com rubocop-rails-omakase は DHH が著者となる Ruby コーディングスタイルルールです。 一次情報はあくまで作者である DHH 発信のものとしてもらいたいですが、私自身も rubocop-rails-omakase や Rails 7.2 の RuboCop 関連機能にコントリビューションしていることもあり、比較的オリジンに近いことを述べることができると思います。また RuboCop のコミッターをしているため、たぶん RuboCop の世界にちょっと詳しい方でしょう。 とはいえ、いろいろな考え方がある領域であることも承知しているため、ひとつの考
This talk has been re-edited. Please find the new version here: https://youtu.be/mhqf2uK0doU In 2019, Justin Searls gave a talk, "The Selfish Programmer" all about building a Rails 5 app as a one-man show. Now, he is back to share how he made a new app that's twice the size but felt like half the work. You'll learn how Rails includes more batteries than ever, when sticking with omakase pays off,
Dead code = Unused / Unreachable codeRecently I had the opportunity to work on a legacy Ruby on Rails application (~8 years old). An application running for this long comes with its own problems. More than 20 different developers had worked on the application. Around 10 were still actively working on it. In these circumstances, it was not a surprise that it was filled will dead code. The task to c
軽いネタです。 database.build (formerly postgres.new) とは database.build(旧称:postgres.new) は、PostgreSQL データベースを簡単に構築・管理するためのプラットフォームです。 GitHubアカウントでログインすると、ブラウザ上でPostgreSQLが立ち上がり(!)、playground的にいろいろ遊べます。 立ち上がるPostgreSQLは、WASMに移植した PGlite を活用して実装しているとのこと。データは、ブラウザ内のIndexedDBに保存されるとのことです [1]。 よくある使い方: 対話的にDB設計ができる たとえばチャット欄に「メルカリみたいなやつ」といれると、そんな感じのものをLLMが作ってくれます。 対話の様子はこんな感じ。animation gif: 画面上の主な機能としては E-R図が
ROUTE06 では GitHub の管理に Terraform を導入しました。今回はその導入の背景、実際に導入してどう変わったのか、導入方法について紹介したいと思います。 Terraform とは Terraform は、IaC(Infrastructure as Code)ツールの一種です。 インフラの設定をコードとして管理することで、設定の変更履歴が明確になり、誤った設定によるトラブルを防ぐことができます。 なぜ GitHub を Terraform で管理するのか ROUTE06 では、全社的に GitHub を使用しています。そのため、GitHub の管理は非常に重要です。 Terraform 導入前には、以下のような課題がありました。 手動での設定変更時にミスが発生する 設定変更の履歴が追いにくい 重要な変更(リポジトリの作成や Organization へのユーザー招待など
Cloudflareが@opennextjs/cloudflareを発表 2024年9月末に開催された「Builder Day 2024」でNext.jsアプリをCloudflare Workersにデプロイする新たな方法が公開された。 この方法は、@opennextjs/cloudflareを使ってビルドする。既存の@cloudflare/next-on-pages方式を置き換える可能性があり、現在は実験的な段階だ。 以下に新旧の開発手順のドキュメントがある。 新(opennextjs): Next.js | Cloudflare Workers docs 旧(next-on-pages): Get started | Full-stack (SSR) | Next.js apps OpenNextの概要 OpenNextは、Next.jsアプリをVercel以外のインフラにデプロイでき
「TypeScriptではじめる型システム」という記事をn月刊ラムダノートに寄稿しました。 新刊を発売しました "『n月刊ラムダノート』Vol.4 No.3(2024)発行のお知らせ https://t.co/PGppk1aRRA— lambdanote (@lambdanote) 2024年10月4日 どんな内容? TypeScriptの極小サブセットに対する型検査器を書き、それを通して型システムを体感してみよう、という内容です。 詳しく言うと、boolean型とnumber型と関数型しかないTypeScriptサブセット言語がターゲットです。 型検査器の実装言語にもTypeScript(処理系はDeno)を使います。 TypeScriptづくしの一品です。 わかる人向けに言うと、「型システム入門」という本(通称TAPL)の単純型付きラムダ計算に相当する内容をTypeScriptで説明し
今回のクレジッドカード情報漏えいに関して気になったのですが、ECSのようなものの上でjsファイルを含むWebアプリをホスティングしている場合でも同様の事象は起こり得るのでしょうか。 個人的な理解として、フレームワーク等にRCEなどが存在する場合は例えばコンテナ内部のファイルがjsファイルが改ざんされることはあり得ると思っています。ただ、デプロイが頻繁に起こる環境の場合、ファイル改ざんが行われたとしてもすぐに正常なファイルに上書きされ得るため、(もし脆弱性が修正されなかった場合)攻撃者はスクリプトなどを用いて同様の脆弱性を継続的に突く必要があると思うのですが、そのような攻撃は実際に発生しているのでしょうか。
タリーズの件、CSPが設置されていたら防げていたという話がありますが、それは正しいでしょうか? CSPを設定していなかったとしても、想定していない外部へのリクエストが発生していないか、定期的にチェックすることも大事ですよね? タリーズのサイトからのクレジットカード情報漏えいについて、CSP(Content Security Policy)やintegrity属性(サブリソース完全性)の重要性がよくわかったという意見をX(Twitter)上で目にしましたが、これらでの緩和は難しいと思います。 まず、CSPの方ですが、今回の件では元々読み込んでいたスクリプトが改ざんされたと考えられるので、オリジンとしては正規のものです。evalが使われていたのでCSPで制限されると考えている人が多いですが、evalは難読化のために使われているので、evalを使わないことは可能です。個人的には、難読化しない方が
こんにちは。情シスの @kaze3desu です。 このたびROUTE06では、ゼロトラストセキュリティを実現するために、IdPとしてOktaを導入しました。 Oktaの導入を検討している方向けに、ポイントをまとめようと思います。 Oktaとは Oktaは、クラウドベースのアイデンティティプロバイダー(IdP)で、企業や組織がアイデンティティとアクセス管理を行うためのプラットフォームです。 その高い機能性、セキュリティ、そして世界中の企業に利用されている実績から、Oktaはアイデンティティとアクセス管理の分野でグローバルスタンダードとして認識されています。 なぜOktaを選んだのか? 以下の理由で、当社にとってOktaが最適であると判断しました。 創業時からフルリモートワーク前提の会社である 取引先は大企業中心で高いセキュリティレベルが求められる 将来的な負債になる恐れのある製品は選定せず
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く