-
PR TIMES のコーポレートチームをご紹介
社内IT
開発本部 コーポレートチームの大村です。 この記事では、PR TIMESの情シス部門であるコーポレートチームの役割や、私たちがどのように社内ITを支えているかについてご紹介します。 PR TIMESの開発本部は、開発チーム、プロダクトチーム、QAチーム、インフラチーム、コーポレートチームの5つのチームがあります。 「PR TIMES、組織変更および人事異動を発表(2023年9月8日付)」より https://prtimes.jp/main/html/rd/p/000001335.000000112.html コーポレートチームは、PR TIMES社内の情報システム部門を担うチーム... -
PR TIMES開発本部2023年振り返り
開発
PR TIMESでCTOをやっている金子 (@catatsuy) です。 私がCTOとして入社してからもうすぐ3年になります。過去2年で開発が進むようになり、組織として大きめのリリースもできるようになってきました。 年末にはエディター・プレスリリースページのリニューアルという会社にとって重要な一歩を踏み出すことができています。 まだ通過点ではありますが、年末なので今年やったことを振り返ってみようと思います。ちなみに過去の振り返りは以下の記事です。 PR TIMES開発本部2022年振り返り 挑戦する組織にするためにCTO... -
PR TIMESはPHPカンファレンス北海道 2024に協賛・登壇します
カンファレンス
サーバーサイドエンジニアのshun (@shunsock)です。いよいよ、PHPカンファレンス北海道2024まであと二週間となりました。私shunは、本編最後に登壇予定ですので、準備を進めております。本日は、PR TIMESのPHPカンファレンス北海道2024への協賛と登壇についてお伝えします。 PR TIMESは、PHPカンファレンス北海道2024にGold Sponsorとして協賛いたします。また、同イベントに社内から過去最多の4人のエンジニアが登壇予定です。 【PHPカンファレンス北海道2024の紹介】 北海道から発信するPHPやWeb技術等に関心の... -
PR TIMES のフロントエンドを支える技術 2023
開発
こんにちは。PR TIMES でエンジニアをしている岩元 (@yoiwamoto) です! プレスリリース配信サイト PR TIMES のフロントエンドは、一昨年ごろまでほぼ全てのページが Smarty + jQuery on PHP で実装されており、直近1、2年は機能追加・改修に合わせてこれらを順次 React 実装にリプレイスを進めています。 このような取り組みをどのような技術構成で行っているか、2023年の振り返りの意味も込めてざっくりと紹介します! 【リポジトリ構成】 React 実装は、これまでメインのバックエンドサーバーとのモノリスで構... -
プレスリリースのエディタにサニタイザーを導入した話
開発
こんにちは。フロントエンドエンジニアの桐澤(@kiririLee)です。PHPのアプリケーションから配信されるプレスリリースがサニタイザーを通るようにしたため、導入するまでに取り組んだことを書きます。 【サニタイザーとは】 HTMLにスクリプトを埋め込んでユーザーのブラウザ上で実行する方法としてまず思い浮かぶのはscriptタグを使用する方法かと思います。ですがこれ以外にもimgタグのonerror属性を使用する方法などHTMLでスクリプト実行する方法は意外と多く存在しています。 悪意のあるスクリプトや不正な HT... -
MySQLのCharsetをutf8mb3からutf8mb4に移行した話
開発
こんにちは。開発本部の23卒の松浦です。今回は、WebClippingで使用しているテーブルの一部のカラムのCharsetをutf8mb3からutf8mb4に移行した話について書こうと思います。 【何が問題か】 前提として移行前の多くのテーブル構成は下記の通りでした。 Charset: utf8mb3 Collation: utf8mb3_general_ci 上記の構成では絵文字(🍣、😭、🍺など)や、特殊文字(𠀋、𠮷など)のUTF-8で1文字4バイトになる文字を保存することができません。上記の設定で保存できるのは1文字3バイト以下の文字のみです。 WebClippingでは... -
PR TIMESのログインシステムにJWTを導入しました
開発
こんにちは、開発本部でインターンをしている田中 湧大です。 今回は認証機能をPR TIMES上で実装し、企業・事業主ユーザーとメディアユーザーでログインするときにJWTを発行するようにしたのでその紹介をします。 【JWT(JSON Web Token)とは】 JSON Web Tokenは以下のようなドットで結合された文字列です。${HEADER}.${PAYLOAD}.${SIGNATURE}で構成されており、それぞれbase64エンコードされています。 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlRhbmFrYSIsInVybCI6InBydGl... -
AWSとGo言語を活用して、プレスキット一括ダウンロードを構築しました
開発
こんにちは!開発本部のエンジニアのトゥ(codyzard)です。 今回は数ヶ月前にリリースされたプレスキット一括ダウンロードの機能を話したいと思います。 【背景】 2022年2月にプレスキット機能をリリースしました。興味があれば以下の記事を参考してください。 https://developers.prtimes.com/2022/03/09/react-presskit/ https://developers.prtimes.com/2022/03/04/upload-files-using-s3-and-lambda/ しかし、それまでのプレスキットでは1つ1つの素材しかダウンロードできませんでした。いくつも欲しい素材が... -
New Relic CodeStream を使ってエラーを迅速に改修しよう
開発
この記事は、New Relic Advent Calendar 2023 シリーズ3の20日目の記事となります。 こんにちは、バックエンドエンジニアで PHPer の江間です。 この記事では、New Relic は導入されていて使ったことがあるけど、普段インフラをあまり触らないアプリケーションエンジニアに向けて「New Relic CodeStream」を使った開発(特にエラーの改修)について紹介します。 【New Relic CodeStreamとは】 New Relic CodeStream は、New Relic のメトリクスやエラーなどの機能をコードレベルで確認できる IDE の拡張機能です。... -
未経験入社のPdMがBiz側の長期研修に参加した話〜営業本部編〜
プロダクト
こんにちは。PR TIMES開発本部プロダクトチームでプロダクトマネージャー(PdM)をやっている渡邉です。 私は2023年2月に初の中途採用PdMとして入社しました。 以前にPdMとしての実務経験は無く、未経験枠で採用して頂きました。仕様書やSQLを触ったのはPR TIMESに入社してからになります。 今回研修を行うこととなった背景ですが、各プロジェクトのPdMを務めるためには、PR TIMESのビジネス全体を把握する必要があったためです。 普段はPdMとしてお客様からの技術的な問い合わせに対応したり、各プロジェクトのア...
