-
PR TIMESにおけるフロントエンド開発基盤の構築
開発
こんにちは、21新卒エンジニアの柳(@apple_yagi)です。今月から新卒2年目となり、一年早かったなとしみじみしています。 昨年PR TIMESでは企業ページをフルスクラッチでReactにリプレイスするプロジェクトを行い、モダンなフロントエンド技術を導入することができました。 https://developers.prtimes.jp/2021/11/10/replace-react/ また現在、別プロジェクト(リポジトリ)でもReactを用いてフロントエンドを実装するようになり始め、PR TIMES全体のフロントエンドのReact化が進行しています。 しかし、現状のフ... -
企業ページの表示速度を改善しました
開発
こんにちは、バックエンドエンジニアの江間です。 ある日、一通のメッセージが届きました。 ネタバレをすると、ある API が実行している SQL がスロークエリになっており、そのレスポンスが返ってくるまで DOM のレンダリングが行われていない事が原因でした。 この記事では、 New Relic Application Performance Monitoring (APM) を使ったスロークエリの特定と、それを実際にどうやって解決したのか、更に速度改善を行ってAPIの平均レスポンスタイムを約5.78倍にした話についてを書いていきます。 【まずは当た... -
プレスリリース公開前にシェアイメージを確認できる機能を実装しました!
プロダクト
こんにちは、プロダクトチームのマネージャーの鈴木です。今回は公開前にプレスリリース公開前にOGPを確認できる機能を実装したので、この機能の開発背景や実装に至るまでを書きたいと思います。サブタイトルとしては「制約条件が多い時にどうしても機能を追加したい時はどうしたらいいの?」という内容を書きます。 【機能の企画背景】 まずはじめに、機能のご紹介から。今回は、プレスリリースをシェアする時にOGPとして表示される画像とその状態をプレビューできる機能を追加しました。PR TIMESでは画像アップ... -
PR TIMESにおけるAMPの削除を行いました
開発
はじめまして、PR TIMESの開発本部でインターンをさせていただいている宮崎と申します。 これまでは新規サービス開発に従事していたため、実際に動いているサービスの開発に関わるのは今回が初めてです。 今回はAMP削除を行った話について書きたいと思います。 【AMPとは】 AMPとはAccelerated Mobile Pagesの略で、主にモバイルページを高速に表示させるためのプロジェクト、または、そのフレームワークのことを指します。 https://developers.google.com/amp?hl=ja 通常のページとは別にAMPページを作成すること... -
PHPの改善 !== PHPのバージョンアップ
開発
こんにちは、今日もがんばってるuzullaです。PR TIMESでPHP等と向き合い続け、色々なことを日々やっています。 さて、PHPコードの改善というと新しいバージョンのPHP対応と言われて久しいですが(私の感想)、今日のエントリのオチからいえば「PHP5でもよいプログラムは書ける」です。 【】 PR TIMESに入った当初「PHPのバージョンが古いからダメだ」というムードがありました(まあ、良くはないのだが)。それに対して私は「なぜ?」となったのを覚えています。 PHP7や8になって増えた機能は非常に多岐にわたり魅力... -
ReactでリッチなUIの管理画面を開発した話
開発
こんにちは。PR TIMES の開発本部でフロントエンドエンジニアをしている鈴木雄大(@szkyudi)です。2022年2月、企業ページにプレスキット機能を追加するリリースしたので、そのお話をしようと思います。 企業ページおよびプレスキットについては下記の PR TIMES MAGAZINE の記事をご覧ください https://prtimes.jp/magazine/corporate/ https://prtimes.jp/magazine/prtimes-press-kit/ 【新機能「プレスキット」とは】 「プレスキット(または、メディアキット)」とは、メディア関係者向けに作成する、企業や事業... -
フォロワーを個人ユーザーへマイグレーションする処理を実装した話
開発
こんにちは!開発本部・バックエンドエンジニアのSongです。 2月の下旬に個人ユーザー・フォロワー統合プロジェクトをリリースできました。 このプロジェクトでは以下の機能を提供しています ユーザーが自身の操作でFacebookフォロワーアカウントを個人ユーザーアカウントへマイグレーションできるユーザーがFacebook認証で個人ユーザーとして新規登録・ログインできるFacebookフォロワーユーザーは新規登録できなくなった。ただし、ログインはできる 最も重要なのはFacebookフォロワーが自身の操作でアカウントを... -
S3 を活用して工数を削減させた、ファイルアップロード機能の設計と実装
開発
こんにちは、開発本部・バックエンドエンジニアの江間です。 先日、 PR TIMES の新規機能としてプレスキット機能の提供が開始されました。 プレスキット機能では、画像コンテンツや PDF などのファイルのアップロード・ダウンロード、サムネイル画像の自動生成など機能を提供しています。 PR TIMES のソースコードはレガシーな PHP で書かれており、少しの機能追加であっても工数が増大したり、これまで通りに実装していくと技術的負債が増えてしまう恐れがありました。また、アップロードされるファイルの容量が... -
Reach UIを利用してPR TIMESのフロントエンドを実装した話
開発
こんにちは、21新卒のフロントエンドのTepy(テッピー)です。 お読み頂いた方がいるかもしれませんが、先日こちらのReactの便利なライブラリーを紹介する記事を書きました。今回もReact業界での良いライブラリーをもう一つ紹介したいと思います。 本記事で紹介したいのは Reach UI という UI ライブラリーです。PR TIMESの企業詳細ページリプレイスプロジェクトにReach UIを利用していくつかのコンポーネントを作成しました。利用するきっかけや実装中の感想などの経験をお伝えらればと思います。 【Reach UIとは... -
AuroraからBigQueryへデータ転送する際のシステム構成
開発
こんにちは、21新卒の岩下です。 今回は私が普段開発を担当しているPR TIMES STORYのDBデータをBigQueryへ転送したので、そちらについての話を書いていきたいと思います! 【はじめに】 PR TIMES STORY(以下、STORY) では、データベースにMySQL互換のAmazon Auroraを使用しています。 本記事の目標はAuroraに蓄積されているデータをBigQueryへ転送して、データ分析に使用できる状態にすることです。その過程で、AWS Glueを使ったETL処理や、RDSのシステムスナップショットなど色々と学ぶことがありました。 やり...
