開発– tag –
-
PR TIMESシステムのクラウドジャーニーのもう一ステップ、PR TIMES TVサービスのAWS移行の話
開発こんにちは、PR TIMESのバックエンドエンジニアのズンです。今回は担当していたPR TIMES TVサービスのAWS移行について話したいと思います。 前回のPR TIMESのAWS移行の話の記事もありますので、ぜひご覧ください。 PR TIMES TVとは PR TIMES TVは、PR TIMESが提供する動画PRサービスであり、ニュース動画やドキュメンタリー動画、ライブ配信を手掛けています。 データセンターを撤退するためには、PR TIMES TVの移行が不可欠でした。PR TIMES TVは、データベースやロードバランサーなどを過去のオンプレミスのPR T... -
“Logs in Context + Infinite Tracing + カスタム属性”でNew RelicのObservabilityを爆上げする
開発こんにちは、インフラチーム テックリードの櫻井です。 今回はアプリケーションモニタリングのために導入しているNew RelicにLogs in ContextとInfinite Tracingとカスタム属性を導入して、システムのObservabilityを向上させたことについて紹介したいと思います。 【Observability(可観測性)とは】 まずObservability(可観測性)とは処理時間やエラーなどシステム内部の状態がどれだけ可視化されているかを示す指標です。 Observabilityが高ければボトルネック解消や障害発生時の迅速な対応が可能になり、より... -
PR TIMES初のQAインターン 3ヶ月半の軌跡
開発こんにちは!開発本部でQAエンジニアとしてインターンをしている嵩原(@BkNkbot)です。PR TIMESで初めてのQAエンジニアインターン生として3ヶ月半の間お世話になったので、今回は実際にどんなことに取り組んだのかお話ししていきます! 【】 これまで私は複数の企業でQAとして業務していた経験があり、その際に執筆した技術記事などを読んだ社員さんから「弊社のインターンに興味ないですか?」と声を掛けられました。その後、QAチームのリーダーと1度だけ軽く面談を行いインターンを行うことが決定しました。 私... -
JWTに用いる署名アルゴリズムは何が適切かPHPで検証してみた
開発こんにちは、PR TIMESで学生インターンをしている田中湧大です。 今回は、PHPでパフォーマンスの観点から署名アルゴリズムについて検証してみたのでその紹介をしたいと思います。 【検証しようと思った背景】 現在、PR TIMESでは各マイクロサービスが独自のsessionを発行しており、様々な問題が発生しているため、認証基盤をJWTを用いたものに置き換えようと改善を進めています。 その過程でJWTに署名するアルゴリズムを選択する必要がありました。 PR TIMESのサービスはPHPで実装されています。なのでPHP上で候補... -
インターン生がSmartyのバージョンアップに取り組んだ話
開発こんにちは、PR TIMESの開発本部でインターンをしている三宅です。インターンではレガシーなPHPのコードと向き合い続けながらプロダクト開発とそれを支える技術について学んでいます。今回は、インターン中に取り組んだPR TIMESで使われているSmartyのバージョンアップを行ったことについて書いていきます。 【なぜ、Smartyのバージョンアップを行ったのか】 当時PR TIMESで使われていたSmartyのバージョンが2系が使用されていました。しかし、Smarty2.xのメンテナンスは終了しており、PR TIMES全体で取り組んでい... -
AVIF・WebPでサムネイル画像を配信して、ブラウザでのパフォーマンスを大幅に改善した話
開発こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はSTORYのサムネイル画像の配信フォーマットを変更することによるパフォーマンス改善を行ったので、そちらについて書いていこうと思います。 【現状の問題点】 STORYでは配信のサムネイルにユーザーからアップロードした画像を3サイズ(width800, 400, 200)にリサイズした画像を使用していました。 リサイズした画像は表示する箇所ごとに適したサイズのサムネイルを選択して、画像を配信していました。 そのような状況... -
SendGridとAWSを使って、メールを送信するアプリケーションを作成しました
開発こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はSQS とLambdaを使って、AWS Fargate上で動作しているLaravelからメールを送信する基盤を作成したことについて書いていきます。 【なぜ作るのか】 2/21にPR TIMES Webクリッピングの正式版がリリースされました。 https://prtimes.jp/main/html/rd/p/000001256.000000112.html 正式版をリリースするにあたって、ユーザーにメールを送信したいという要件が生じました。PR TIMES WebクリッピングはFargate上にデプ... -
日本語機械学習開発環境の作成
開発PR TIMES開発本部インターンの土屋です。私は現在データ分析インターンとしてプレスリリースデータをはじめとする社内のデータ解析を行なっています。 今回は、機械学習関連の開発環境を構築したいと思います。後述しますが、日本語の機械学習の開発環境には複数のソフトウェアをセットアップする必要があります。これらの設定をDockerやShell Scriptで実行することにより、セットアップのスピードを向上させます。また、日本語の前処理である正規化は主に正規表現を用いますが、中には文字コードを指定する必要が... -
デジタル創作同好会traPさんと社内ISUCONイベントを開催しました
開発こんにちは、22新卒で、PR TIMES開発本部でバックエンド開発をしている宮崎です。 先日、デジタル創作同好会traPさんと、社内ISUCONイベントを開催しました。今回は、その準備で作成したLambda関数の紹介をします。 「ISUCON」は、LINE株式会社の商標または登録商標です。 【当日の様子】 会社にtraPの方々をお招きし、オフラインで行いました。traPからは20名以上参加いただきました。今回使用した問題はこちらです。 https://github.com/catatsuy/private-isu 最終的に30万点を超えたチームが2つあり、398,912点... -
GitHub Actions上でPHPUnitを並列に動作させて、CI実行時間を1/4にしました
開発こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回は年末のコードフリーズ期間中に、CI実行時間の改善に取り組んだ件について話していこうと思います。 【背景】 STORYではバックエンドのPull Request作成をトリガーにして、CircleCi上でTestを実行していました。Testの実行時間は11〜13分ほどでした。 常々、このTestの実行時間が長すぎて開発体験の質が落ちているような気がしていました。 Testの実行時間が長すぎると何が問題になるのでしょうか? 以下がSTORY...