-
“Logs in Context + Infinite Tracing + カスタム属性”でNew RelicのObservabilityを爆上げする
こんにちは、インフラチーム テックリードの櫻井です。 今回はアプリケーションモニタリングのために導入しているNew RelicにLogs in ContextとInfinite Tracingとカスタム属性を導入して、システムのObservabilityを向上させたことについて紹介したいと思います。 【Observability(可観測性)とは】 まずObservability(可観測性)とは処理時間やエラーなどシステム内部の状態がどれだけ可視化されているかを示す指標です。 Observabilityが高ければボトルネック解消や障害発生時の迅速な対応が可能になり、より... -
ピクシブ、ディップ、WED、PR TIMESの4社で合同LT大会を行いました
こんにちは江間です。先日、ピクシブ株式会社、ディップ株式会社、WED株式会社、株式会社PR TIMESの4社合同で、LT大会を行いました。 【テーマは「夏っぽい」】 夏だから夏っぽいスライド背景 夏だから草を生やす 夏だから公式ドキュメントで殴り合え! 夏だから炎上したい(!?) などなど。夏らしく、おもしろいテーマのLTが聞けました。 【PR TIMESからの参加者】 正規表現と友達になろう @shunsock 「燃えそうな内容」と自称して発表していました。しかし、ちゃんと学ぶものも有りました。 正規表現は難読に... -
チームに問い合わせ対応へのエンジニア担当ルールを導入した話
こんにちは、PR TIMESでエンジニアリングマネージャーを務めている田中宏基です。 【はじめに】 PR TIMESにはユーザから直接、お問い合わせを頂きPR TIMESサポート&サクセスデスクを担っているカスタマーリレーション本部(以下、CR)があります。エンジニアは日々、CRを経由してユーザからのお問い合わせ対応を行っています。 今回はCRからのお問い合わせに対して、PJの開発チーム内で曜日毎の問い合わせ担当エンジニアを設定するルールを導入したことについて話していきます。 ※注:本記事ではCRメンバーで... -
proc_open()の標準入出力を使ってコンテナ上でコマンドを実行する
新卒1年目、バックエンドを担当している永井です。最近色々学ぶことができたのでここに共有したいと思います。また、このブログで少しでも誰かの役に立てたら嬉しいです。 (本ブログに出てくるコードは正しく動かないです。説明用に伝えたいことしか書いていないのでご了承ください。) 【背景】 SSRF対策の一環でコンテナ上でコマンドを実行するようにしていました。そこで、コンテナ経由で実行したコマンドの標準入出力を扱ったので、その手法を紹介します。 https://developers.prtimes.jp/2023/06/13/prevent... -
並列で実行していたGitHub ActionsのJobをまとめ、Billable timeを削減した話
こんにちは、フロントエンドエンジニアのやなぎ( @apple_yagi )です。 GitHub ActionsのBillable timeの削減のために、複数に分けて実行していたJobを、ある程度の粒度でまとめて実行するようにしたので紹介します。 【経緯】 弊社ではGitHub Enterpriseプランを契約しており、GitHub Actionsを月50,000分使用することができますが、先月(2023/07)使用時間の上限に達したため、一時的にGitHub Actionsが使用できない状況が発生しました。 その月は追加で課金を行なったため、すぐに使えるようになりましたが、... -
日本CTO協会の勉強会でPR TIMESの新卒メンバー全員がLTをしました!
【若手エンジニア交流会 supported by 日本CTO協会とは】 新卒やインターン、もしくはソフトウェアエンジニアとしてキャリアチェンジしたもののまだ経験が浅い方、その他若手と自認する方が参加する集まりです。今回の勉強会は第三回目の開催となっています。 今回の勉強会について詳細は以下のリンクを参考にしてください。 https://ctoa-wakate-lt-3.peatix.com/view (ちなみに、第二回目はPR TIMESのオフィスにて開催しています!) 【勉強会までの発表練習】 LT枠は8人なのですが、なんとPR TIMESからは新卒1... -
PR TIMES初のQAインターン 3ヶ月半の軌跡
こんにちは!開発本部でQAエンジニアとしてインターンをしている嵩原(@BkNkbot)です。PR TIMESで初めてのQAエンジニアインターン生として3ヶ月半の間お世話になったので、今回は実際にどんなことに取り組んだのかお話ししていきます! 【】 これまで私は複数の企業でQAとして業務していた経験があり、その際に執筆した技術記事などを読んだ社員さんから「弊社のインターンに興味ないですか?」と声を掛けられました。その後、QAチームのリーダーと1度だけ軽く面談を行いインターンを行うことが決定しました。 私... -
PR TIMESはPHPカンファレンス福岡2023にブロンズスポンサーとして参加・登壇しました!
こんにちは、バックエンドエンジニアの宮崎(@sucalul)です。6月24日に開催されたPHPカンファレンス福岡2023にブロンズスポンサーとして参加しました。 カンファレンスでは、当社の岩下(@iwashi623)、meihei(@app1e_s)の2名が登壇しました。スポンサーとして参加したイベントの模様をご報告させていただきます。 【】 福岡をはじめ九州地方のIT業界を盛り上げたい、九州のPHPerと全国のPHPerが交流できる場を提供したい、もっと福岡のPHPに力を入れている会社を知って欲しい、そんな想いで開催されているカン... -
JWTに用いる署名アルゴリズムは何が適切かPHPで検証してみた
こんにちは、PR TIMESで学生インターンをしている田中湧大です。 今回は、PHPでパフォーマンスの観点から署名アルゴリズムについて検証してみたのでその紹介をしたいと思います。 【検証しようと思った背景】 現在、PR TIMESでは各マイクロサービスが独自のsessionを発行しており、様々な問題が発生しているため、認証基盤をJWTを用いたものに置き換えようと改善を進めています。 その過程でJWTに署名するアルゴリズムを選択する必要がありました。 PR TIMESのサービスはPHPで実装されています。なのでPHP上で候補... -
Docker+firewalldを使ってSSRF攻撃を防ぐ
こんにちは、インフラチームテックリードの櫻井です。 今回はDockerとfirewalldを使って内部ネットワークへのアクセスを制限し、SSRF攻撃を防ぐ方法について紹介します。 【SSRF攻撃とは】 SSRF(Server Side Request Forgery)攻撃はWebアプリケーションに対する攻撃の一種で、公開されたサーバーを経由して公開されていない内部ネットワークのサーバーにアクセスする手法です。 SSRFの概略図 【具体例】 例えば以下のように外部から指定されたURLにcurlでリクエストを行い、その結果を出力するプログラムがある...