開発– tag –
-
Amazon ECS のデプロイをCloudWatch Alarm で自動ロールバックする
開発
こんにちは、PR TIMESでインターンをしている河野拓真です。 今回は、PR TIMESのサービスで一部使用しているAmazon ECS on Fargateに、CloudWatch Alarmと連携した自動ロールバックと、ロールバックに気づくためのSlack通知を導入したので、その仕組みと実際にハマったポイントを紹介します。 【背景】 PR TIMESでは、一部のサービスをAmazon ECS on Fargate上で運用しています。 これまでの運用には課題がありました。ECSのデプロイが確認するのは「新しいタスクが起動し、ヘルスチェックに通ること」までであり... -
Visual Regression TestのスナップショットにWebPを導入し、容量を削減する
開発
こんにちは、フロントエンドエンジニアのやなぎ(@apple_yagi)です。 PR TIMESでは、2023年からPlaywrightを用いたVisual Regression Test(VRT)を運用しています。VRTの運用方法については以下のエントリーで紹介していますので、ぜひあわせてご覧ください。 https://developers.prtimes.com/2024/04/26/visual-regression-test-using-playwright-in-prtimes/ 先日リリースされたPlaywright v1.62.0では、スナップショットの生成・比較を行うtoHaveScreenshotがWebP形式をサポートしました。PR TIMESではVRTの... -
Google API 認証を Service Account キーから WIF に移行した話
未分類
こんにちは!PR TIMES 開発本部のエンジニア、トゥ(codyzard)です。 今回は、AWS 上で動くバッチから利用している複数の Google API の認証を、Service Account キーから WIF(Workload Identity Federation) へ移行した話を紹介します。対象となる API は、BigQuery、Retail API、Google Analytics Data API(以下、GA4 Data API)です。 このうち、GA4 Data API の移行では、次の2つの理由により追加対応が必要になりました。 Google Analytics 固有の権限モデルにより、Service Account impersonation が必... -
Gmail送信前確認用Chrome拡張の内製化
開発
こんにちは、PR TIMESでインターンをしている工藤(@k8035004287922)です。 今回は、社内の一部部署で必須運用されていたGmail送信前の誤送信確認用Chrome拡張を、社内要件に合わせて内製した取り組みを紹介します。 【背景】 社内の一部部署では、誤送信を防ぐChrome拡張を必須インストールして運用していました。一方で、Chrome拡張はブラウザ上で強い権限を取り得るため、社外製の拡張機能を業務上必須にすること自体が、セキュリティ上の懸念になり得ます。 そこで今回は、誤送信防止という目的は維持したま... -
git worktree × Docker Composeによる並行開発環境の改善
開発
こんにちは、PR TIMESでインターンをしている笹山雷雅です。 レビュー中や検証中に、いま触っているブランチをそのまま残したまま、別ブランチの挙動を確認したくなる場面は少なくありません。 ただ、git switch を繰り返す運用では、未コミット変更を気にしたり、作業の文脈が途切れたりしやすく、修正前後を見比べるにも手間がかかります。 そこで今回は、git worktree と Docker Compose を組み合わせて、作業中ブランチを切り替えずに別ブランチを https://<slug>.app.dev.local で並行確認できるように... -
PR TIMESでのインターンで学んだこと
開発
こんにちは!第一開発部でエンジニアとしてインターンをしていた三宅(@pure_notchman)です。PR TIMESのインターンを卒業することになったため、これまで取り組んできた開発や学びについて振り返りたいと思います。 【はじめに】 PR TIMESのインターンでは、実際のプロダクトや社内業務に直接影響する開発に携わることができました。いわゆる「練習用のタスク」ではなく、日々の運用やユーザー体験に関わる機能を任せてもらえたのが印象的です。私が取り組んだ主なタスクは以下の通りです。 FAX送信業務の自動化AP... -
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi
開発
こんにちは!PR TIMES の河瀨翔吾(@shogogg)です。エンジニアリングマネージャーとして、プレスリリース配信サービス PR TIMES の開発や開発チームのマネジメント、業務改善、採用などを行っています。好きな春の味覚はたらの芽です。 この記事では、先日開催された PHPerKaigi 2026 でお話させていただいたトークの内容について解説をしたいと思います。 【PHPerKaigi 2026 について】 PHPerKaigi 2026 は2026年3月20日(金)から22日(日)の3日間、中野セントラルパークカンファレンスにて開催された技術カン... -
axe-coreの検出レベルを全深刻度に引き上げ、a11yを継続的に担保できるようにしました
開発
こんにちは、PR TIMESでインターンをしている勝間田(@Sho_26_ts)です。 今回は、フロントエンドにおけるアクセシビリティ向上の一環として、axe-coreを用いた改善と、それを継続的に担保するための方法を紹介します。 【これまでのアクセシビリティの取り組み】 PR TIMESではMarkuplintとPlaywright、Storybookでアクセシビリティ(a11y)テストを行ってきました。 MarkuplintとPlaywrightでのアクセシビリティ品質のチェック方法はこちらの記事をご覧ください。 https://developers.prtimes.com/2025/03/10/mar... -
Autify上のE2EテストをPlaywrightに移行しました
QA
こんにちは、フロントエンドエンジニアの小張(@kobari41257)です。 今回、肥大化していたE2Eテストのシナリオを整理し、Playwrightを使った実行基盤に移行したことで、Flaky率や実行時間を改善した取り組みについてご紹介します。 【背景】 これまでPR TIMESではAutify NoCode(以下Autify)を用いたE2Eテストを行ってきました。 https://autify.jp/products/nocode https://developers.prtimes.com/2022/05/12/test-automation-refactoring/ しかし、機能追加に伴い新しいテストケースが追加されシナリオ数が肥... -
データで見る、24卒×25卒のUIリニューアルふりかえり対談
未分類
こんにちは、バックエンドエンジニアの中山です。 PR TIMESは今年、企業向け管理画面のUIリニューアルを行いました。リニューアルと並行して他の開発も進める中で、立ち上がりのつまずきや、レビュー・AI活用の変化、直近の技術課題など、現場で得た学びをざっくばらんに振り返ります。 UIリニューアルやその他の動きについて、詳細は以下の記事に書かれています。 https://developers.prtimes.com/2025/12/24/cto_activities_2025/ 【参加者】 中山(進行・24卒) チャノックナン(25卒) 田中(24卒) 筒井(24...
