-
PR TIMESにおけるPlaywrightを用いたVisual Regression Test
開発こんにちは、フロントエンドエンジニアのやなぎ( @apple_yagi )です。 昨年、Integration TestツールをCypressからPlaywrightに移行しました。その際、Visual Regression Test(以下、VRT)を始め、1年ほど経ったので弊社で行っているPlaywrightを用いたVRTの運用方法についてご紹介します。 https://developers.prtimes.jp/2023/04/10/migrate-from-cypress-to-playwright 【前提】 PR TIMESは、React + Vite製のアプリケーション(主に企業様の管理画面)とNext.js製のアプリケーション(SEOが重要... -
PR TIMESはPHPカンファレンス小田原2024に協賛・登壇します!
カンファレンスこんにちは、 PHPerの宮崎(@sucalul)です。 PR TIMES は PHPカンファレンス小田原2024に梅スポンサーとして協賛します。 そして、社内から2名のエンジニアが登壇します! 【】 小田原で開催されるPHPのイベントです。詳細は公式ホームページをご覧ください。 日程:2024年4月13日(土) 10:00〜18:30 会場:おだわら市民交流センター「UMECO」 https://phpcon-odawara.jp 【】 私たち PR TIMES が運営するサービスの多くは PHP で動いています。 PR TIMES のサービスが今日まで成長し、今後も価値あるプロダクト... -
Fluentdプラグインの暴走でストレージが枯渇しかけた話
開発こんにちは、インフラチームテックリードの櫻井です。 今回はFluentdプラグインの暴走によってサーバーのストレージが枯渇しかけた話について紹介したいと思います。 【アラート通知は突然に】 とある土曜日の夕方ごろ、1件のアラート通知がスマホに届きました。 “Filesystem % 90.19% > 90%” どうやら本番環境のバッチサーバーのストレージ使用率が90%を超えてしまったようです。 直近のストレージ使用量の推移を見てみると、朝の10時ごろからものすごいペースで増え続けており、あと30分ほどでストレージが枯... -
PHPerKaigi2024のブース企画を担当しました!
カンファレンスこんにちは、開発本部の松浦です。先日開催されたPHPerKaigi2024にてPR TIMESはプラチナプランとして協賛し、イベントスポンサーブースとして出展しました。 今回はブース企画について掘り下げて行こうと思います。 【企画の制作過程】 以前参加したPHPカンファレンス2023では、「PHPのコードを印刷した問題用紙を配り、そのコード上にあるバグを見つける」といった企画を行い、160人以上の方が企画に参加しました。(PHPカンファレンス2023: https://developers.prtimes.jp/2023/10/23/phpcon2023-booth/) 企画... -
PHPUnitを用いたDBテストを改善した話
開発こんにちは。PR TIMES開発本部でインターンをしている笹山雷雅です。 PHPUnitを用いたDBテストを改善したのでブログにします。 【改善前のDBテストについて】 新規コードに関してはSQL呼び出しのルールが決まっています。しかし、過去の問題があるコードを全部新しいルールで書き直すのは現実的ではありません。 そこで、過去のSQLの呼び出しのコードだけを書き換える目的で、LegacyDAOというシンプルな仕組みに移行している最中です。 LegacyDAOを追加するときにUnit Testを追加するルールにしていますが、元々Un... -
うるう日に特定の条件下で起こったバグ事例
開発こんにちは。開発本部で主にバックエンドの開発をしている 宮崎(@sucalul) です。 今回は2024年2月29日に発生したバグ事例について紹介します。 【実際のバグ事例】 社内のソースコード上で、ある機能を判定する条件の1つである「会社設立年月から2年以内であること」を判定するロジックにうるう日のパターンが考慮されていなかったためバグが発生しました。 実際の関数内のコードがこちら。(一部省略・値を直接入力しています。) list($current_date_year, $current_date_month, $current_date_day) = explod... -
株式会社 PR TIMESはPHPerKaigi 2024に協賛・登壇しました!
カンファレンスPR TIMESは、PHPerKaigi 2024にプラチナスポンサーとして協賛いたしました。また、同イベントに社内から3人のエンジニアが登壇・社内のエンジニアの記事がパンフレットに掲載されました。 【PHPerKaigiの紹介】 PHPerKaigi(ペチパーカイギ)は、PHPer、つまり、現在PHPを使用している方、過去にPHPを使用していた方、これからPHPを使いたいと思っている方、そしてPHPが大好きな方たちが、技術的なノウハウとPHP愛を共有するためのイベントです。今年は、中野セントラルパークカンファレンスで3月7日から3月9日の... -
Amazon EC2 で構築された MongoDB を DocumentDB へ移行しました!
開発こんにちは。開発本部で主にバックエンドの開発をしている ueeda です。 PR TIMES Webクリッピングというサービスで使用していた MongoDB を AWS のマネージドサービスである Amazon DocumentDB(以降 DocumentDB) に移行させるプロジェクトを進めていたのですが、先日移行が終了したので、紹介したいと思います。 PR TIMES Webクリッピング(以降クリッピング)とは様々なサイトから記事をクロールし、その記事にユーザーが設定したキーワードが含まれていればクリップしたりなど、メディア露出の調査・分析など... -
合同会社DMM.com ✖️ 株式会社PR TIMES 合同勉強会を開催しました
勉強会こんにちは、フロントエンドエンジニアの桐澤(@kiririLee)です。先日、合同会社DMM.comとの合同勉強会を行いました。 【経緯】 今回の合同勉強会は先日開催されたPHPカンファレンス北海道2024がきっかけとなり開催される運びとなりました。 これまでの合同勉強会ではWebアプリケーションに付随する様々な内容のLTが発表されてきましたが、各社フロントエンドの知見を共有したいという思いがあり、今回はフロントエンドがテーマの勉強会を開催しました。 【弊社メンバーの発表内容】 今回もLTの発表順は当日その... -
PHPStanのカスタムルールを導入しました
開発こんにちは。開発本部でインターンをしている笹山 雷雅です。 今回はPHPStanを用いて独自のLintRuleを導入したので紹介します。 【PHPStanとは】 PHPStanとはPHPのLinterの一つで、静的解析ツールです。 コードの書き方を分析し、潜在的なバグのある書き方を検知できます。 導入がしやすく、Zero Configでもかなり高度な解析ができるのが特徴です。 https://phpstan.org なぜLintが必要なのか エラーだけでは検出できない脆弱性の潜む「疑わしい」コードを検知するために、Lintが必要です。PHPのような書き方の自...