開発– category –
-
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... -
PR TIMESがPHPを使い続ける判断軸
開発
PR TIMESでCTOをやっている金子 (@catatsuy) です。 たまに「なぜPR TIMESはPHPなんですか? 今後もPHPを利用するんですか?」と聞かれることがあります。開発者ブログの記事として、考え方を明文化しておきます。 なお、先日以下の記事も公開しました。本記事はその補足として、技術選定(特にバックエンドの言語)について、判断軸をまとめます。 https://developers.prtimes.com/2025/12/24/cto_activities_2025/ 【言語は目的ではなく手段】 まず大前提として、なぜ私達がPR TIMESの開発をしているのかという... -
Autify上のE2EテストをPlaywrightに移行しました
開発
こんにちは、フロントエンドエンジニアの小張(@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... -
RDS の CPU 使用率上昇に対する原因調査と改善対応
開発
【はじめに】 こんにちは、バックエンドエンジニアの田中 湧大 (@Romira915)です。 近頃、PR TIMESのバックエンド基盤においてAmazon RDS for PostgreSQLのCPU使用率が継続的に上昇していることが観測されるようになりました。 以前は20%前後→現在は40%前後に上昇しており、ピークタイムには90%を超えてアラートが発報される状況も発生しています。 このまま放置した場合、以下のようなリスクが顕在化する恐れがあります。 API レスポンスの悪化によるユーザー体験の低下 重要なデータ操作失敗によるサービス全体... -
変わらないサービスから、変えていけるサービスへ ──「そのままにしない」を続けてきた4年半
開発
PR TIMESでCTOをやっている金子 (@catatsuy) です。 2021年4月にPR TIMESに入社してから、4年半が過ぎました。 入社当時のPR TIMESは、2016年のリニューアルリリース以降、ユーザー向けの画面や機能に大きな変更がほとんどない状態が続いていました。プロダクトの裏側も同様で、2016年当時の前提を大きく見直せないまま運用が続く中、データベースのディスク逼迫や古いミドルウェアなど、安定した運用を続けるうえで無視できないリスクを抱えていました。そのため、まずはそこに優先的に取り組む必要がありました...
