田中 湧大– Author –
PR TIMESの開発本部でバックエンドエンジニアをしています。
-
PR TIMES は Laravel Live Japan に協賛・登壇します!
カンファレンス
田中 湧大こんにちは!PR TIMESの田中 湧大(@Romira915)です。普段はエンジニアとして、プレスリリース配信サービス PR TIMES の開発を行っています。 PR TIMES は Laravel Live Japan にスポンサーとして協賛します。また、所属エンジニアによる登壇についてもお知らせします。 【Laravel Live Japan について】 Laravel Live Japan は日本で初めて開催される Laravel 公式カンファレンスです。 「日本と世界の開発者が共に学び、つながり、共につくる2日間」をコンセプトに、Laravel / PHP / フロントエンド ... -
RDS の CPU 使用率上昇に対する原因調査と改善対応
開発
田中 湧大【はじめに】 こんにちは、バックエンドエンジニアの田中 湧大 (@Romira915)です。 近頃、PR TIMESのバックエンド基盤においてAmazon RDS for PostgreSQLのCPU使用率が継続的に上昇していることが観測されるようになりました。 以前は20%前後→現在は40%前後に上昇しており、ピークタイムには90%を超えてアラートが発報される状況も発生しています。 このまま放置した場合、以下のようなリスクが顕在化する恐れがあります。 API レスポンスの悪化によるユーザー体験の低下 重要なデータ操作失敗によるサービス全体... -
Fastlyの設定を手動操作してTerraform Stateが壊れた話と復旧方法
開発
田中 湧大こんにちは、バックエンドエンジニアの田中 湧大 (@Romira915)です。 今回は、Terraformで管理しているFastlyの設定をコンソールから直接変更したことがきっかけで、TerraformのStateが壊れてしまった事例を紹介します。 この記事では、実際にどう復旧したのか、何を学んだのかを共有します。 【】 PR TIMESでは、Fastlyの設定をすべてTerraformでコード化して管理しています。 運用フローは以下のとおりです。 Pull Requestを作成 → GitHub Actionsが terraform plan を実行 問題なければmainにマージ → terrafor... -
PR TIMESはPHPerKaigi 2025に協賛・登壇しました!
カンファレンス
田中 湧大こんにちは、田中 湧大(@Romira915)です。 今回はPHPerKaigi 2025に協賛・登壇してきたことの振り返りブログです。 【】 PHPerKaigi(ペチパーカイギ)は、PHPを愛するすべての人々が集うイベントです。PHPを現在使用している方はもちろん、過去にPHPを使用していた方や、これから学んでみたいと思っている方まで、幅広い参加者が技術的なノウハウとPHPへの情熱を共有するための貴重な機会となっています。 2025年のPHPerKaigiは、3月21日(金)から3月23日(日)にかけて、中野セントラルパークカンファレンスで... -
PR TIMESはPHPerKaigi 2025に協賛・登壇します
カンファレンス
田中 湧大バックエンドエンジニアをしている田中 湧大(@Romira915)です。 本日は、PR TIMESのPHPerKaigi 2025への協賛と登壇についてお伝えします。 PR TIMESは、PHPerKaigi 2025にゴールドスポンサーとして協賛いたします。また、同イベントに社内から2人のエンジニアが登壇予定です。 ※ PHPerKaigi 2025のロゴは運営公式から提供されているロゴを使用しています 【】 PHPerKaigi(ペチパーカイギ)は、PHPを愛するすべての人々が集うイベントです。PHPを現在使用している方はもちろん、過去にPHPを使用していた方や、これ... -
LibreChatをセルフホスティングして社内利用できるようにしました
開発
田中 湧大こんにちは、開発部でバックエンドエンジニアをしている田中 湧大(@Romira915)です。 今回は社内向けのAIチャットボットツールとしてOSSのLibreChatをセルフホストして公開したのでその紹介をします。 【LibreChatを新たにセルフホストした理由】 弊社では以前からOSSのchatbot-uiをCloud Runにセルフホストしていました。 https://developers.prtimes.com/2023/04/05/use-chatbot-ui/ しかしchatbot-uiはいくつかの課題がありました。 運用していたバージョン(ver1系)ではGPT-4oやGPT-4o miniなどの最新のモ... -
PR TIMESのログインシステムにJWTを導入しました
開発
田中 湧大こんにちは、開発本部でインターンをしている田中 湧大です。 今回は認証機能をPR TIMES上で実装し、企業・事業主ユーザーとメディアユーザーでログインするときにJWTを発行するようにしたのでその紹介をします。 【JWT(JSON Web Token)とは】 JSON Web Tokenは以下のようなドットで結合された文字列です。${HEADER}.${PAYLOAD}.${SIGNATURE}で構成されており、それぞれbase64エンコードされています。 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlRhbmFrYSIsInVybCI6InBydGl... -
認証プロバイダーのパスワードカラムマイグレーション: MySQLからPostgreSQLへの移行の記録
開発
田中 湧大こんにちは、開発本部でインターンをしている田中です。 今回は企業ユーザーの認証を担っている認証プロバイダーのMySQLから、PR TIMESのPostgreSQLにパスワードカラムをマイグレーションしたので紹介します。 【経緯】 PR TIMESでは企業ユーザーの認証を行う認証プロバイダー(auth.prtimes.jp)が独自のMySQLを持っており、一部のデータがMySQLに保存されていました。 この認証プロバイダーはいくつかの問題から廃止を予定しています。 なのでまず認証プロバイダーのMySQLからPR TIMESのPostgreSQLにデータをマ... -
JWTに用いる署名アルゴリズムは何が適切かPHPで検証してみた
開発
田中 湧大こんにちは、PR TIMESで学生インターンをしている田中湧大です。 今回は、PHPでパフォーマンスの観点から署名アルゴリズムについて検証してみたのでその紹介をしたいと思います。 【検証しようと思った背景】 現在、PR TIMESでは各マイクロサービスが独自のsessionを発行しており、様々な問題が発生しているため、認証基盤をJWTを用いたものに置き換えようと改善を進めています。 その過程でJWTに署名するアルゴリズムを選択する必要がありました。 PR TIMESのサービスはPHPで実装されています。なのでPHP上で候補...
1
