開発– category –
-
PR TIMESはYAPC::Kyoto 2023でGold Sponsorsとして協賛します
PR TIMESでCTOをやっている金子 (@catatsuy) です。 PR TIMESが2023/3/19に開催されるYAPC::Kyoto 2023のGold Sponsorsとして協賛することになりました。 当日は私も登壇します。よろしくお願いします。 【YAPCとは】 YAPCはYet Another Perl Conferenceの略で、Perlを軸としたITに関わる全ての人のためのカンファレンスです。 Perlだけにとどまらない技術者たちが、好きな技術の話をし交流するカンファレンスで、技術者であれば誰でも楽しめるお祭りです! https://yapcjapan.org/2023kyoto/ YAPCはPerlを軸とし... -
AVIF・WebPでサムネイル画像を配信して、ブラウザでのパフォーマンスを大幅に改善した話
こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はSTORYのサムネイル画像の配信フォーマットを変更することによるパフォーマンス改善を行ったので、そちらについて書いていこうと思います。 【現状の問題点】 STORYでは配信のサムネイルにユーザーからアップロードした画像を3サイズ(width800, 400, 200)にリサイズした画像を使用していました。 リサイズした画像は表示する箇所ごとに適したサイズのサムネイルを選択して、画像を配信していました。 そのような状況... -
PR TIMES は PHPerKaigi 2023 に協賛・登壇します。
こんにちは、 PHPer の江間です。 PR TIMES は PHPerKaigi 2023 にプラチナスポンサー(&スポンサーブース)として協賛します。 そして、社内から1名のエンジニアが登壇します。 【PHPerKaigi(ペチパーカイギ)とは】 PHPerKaigi(ペチパーカイギ)は、現在 PHP を使用している、過去にPHPを使用していた、これから PHP を使いたいと思っている参加者が、技術的なノウハウを共有するためのイベントです。 開催: 2023年3月23日(木)〜 3月25日(土)会場: ハイブリッド(練馬区立区民・産業プラザ Coconeriホー... -
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上にデプ... -
Webpack から Vite に段階的に移行しました
こんにちは。PR TIMES フロントエンドエンジニアの岩元 (@yoiwamoto) です。 PR TIMES ではいくつかのページが React で実装されており、Webpack でビルドを行っていました。 今回は、一部のページを除いてこの Webpack を Vite へ置き換えたので、その経緯や結果を共有します。 【まとめ】 ビルド時間が長いことが課題で移行を行い、結果として開発体験・デプロイ時間等が大幅に改善されました。 開発環境のみの移行 → フィーチャートグルでの本番試験 → リリース → Webpack の廃止と、移行は段階的に進めました... -
PR TIMES フロントエンドにおけるプレビュー環境の自動生成
こんにちは。PR TIMES のフロントエンドエンジニアをしています岩元 (@yoiwamoto) です。 今回は、先日改善を行ったフロントエンドのプレビュー環境の自動生成の構成について紹介します。 【PR TIMES のフロントエンド構成】 本稿での「フロントエンド」は、React 実装にリプレイスして現在進行形で機能追加・改修が行われているページのことを指しており、これらのページはどれも SPA 構成をとっています。 https://developers.prtimes.jp/2021/11/10/replace-react/ そのため、ここでいう「環境」の実態はバンド... -
E2EテストのAPIリクエストを全てモックした話
こんにちは。開発本部でインターンをしている桐澤(@kiririLee)です。今回、「PR TIMES Webクリッピングβ版」 というプロジェクトのフロントエンドで実装されていたE2Eテストに対して、APIリクエストを全てモックするように修正を行ったためその取り組みを紹介したいと思います。 【Webクリッピングβ版 について】 Webクリッピングβ版とは、WEB上の記事を調査してくれる機能です。キーワードを指定するだけで調査結果を報告をしてくれるため自社の記事掲載状況や社会動向の分析に役立てられます。 【フロントエン... -
日本語機械学習開発環境の作成
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...