笹山雷雅– Author –
インターンとしてバックエンドを担当しています
-
git worktree × Docker Composeによる並行開発環境の改善
開発
笹山雷雅こんにちは、PR TIMESでインターンをしている笹山雷雅です。 レビュー中や検証中に、いま触っているブランチをそのまま残したまま、別ブランチの挙動を確認したくなる場面は少なくありません。 ただ、git switch を繰り返す運用では、未コミット変更を気にしたり、作業の文脈が途切れたりしやすく、修正前後を見比べるにも手間がかかります。 そこで今回は、git worktree と Docker Compose を組み合わせて、作業中ブランチを切り替えずに別ブランチを https://<slug>.app.dev.local で並行確認できるように... -
Google Cloud Functions + BigQueryでFastly Next-Gen WAFのログを収集する
開発
笹山雷雅こんにちは。PR TIMESでインターンをしている笹山雷雅です。 この記事では、Fastly Next-Gen WAFのログをBigQueryで分析するためにGoogle Cloud Functionsでサーバーレスアプリケーションを実装したので、紹介します。 【この記事で話すこと】 Next-Gen WAFのログを取得する実装(Go) サーバーレスな分析サービスの構築例 【背景・実現したいこと】 PR TIMESでは、データ分析にBigQueryを用いています。BigQueryを用いた他の活用事例は以下の開発者ブログにてご覧いただけます。 https://developers.prtimes.jp/2... -
New Relicに転送されるエラーをバックエンドチームで協力して約7割減らした話
開発
笹山雷雅こんにちは、PR TIMESでインターンをしている笹山雷雅です。 この記事では、バックエンドエンジニアを中心にNew Relicに転送されるエラーを減らす活動を行い、転送されるエラーをバックエンドチームで協力し、約7割減少させた経験について紹介します。 【背景】 PR TIMESでは、運営しているサービスのログやエラーをNew Relicに転送して監視を行っています。 https://newrelic.com/jp New Relic内には、サービスで発生するエラーや例外が転送される「Errors(エラーインボックス)」がありますが、これまでのPR TI... -
BigQueryでCIDRを処理した話
開発
笹山雷雅こんにちは、PR TIMESでインターンをしている笹山です。 この記事ではBigQueryでCIDRを処理する方法について解説します。 【背景】 インターンシップ中にアクセスログの分析を担当することになり、その過程でIPアドレスに関連するデータ処理を実施することになりました。 しかし、生のアクセスログをBigQueryで分析する際に問題に直面しました。BigQueryはIPアドレスはサポートしていますが、CIDR表記はサポートしていません。 公式ドキュメントによると: This function does not support CIDR notation, such as... -
PHPUnitを用いたDBテストを改善した話
開発
笹山雷雅こんにちは。PR TIMES開発本部でインターンをしている笹山雷雅です。 PHPUnitを用いたDBテストを改善したのでブログにします。 【改善前のDBテストについて】 新規コードに関してはSQL呼び出しのルールが決まっています。しかし、過去の問題があるコードを全部新しいルールで書き直すのは現実的ではありません。 そこで、過去のSQLの呼び出しのコードだけを書き換える目的で、LegacyDAOというシンプルな仕組みに移行している最中です。 LegacyDAOを追加するときにUnit Testを追加するルールにしていますが、元々Un... -
PHPStanのカスタムルールを導入しました
開発
笹山雷雅こんにちは。開発本部でインターンをしている笹山 雷雅です。 今回はPHPStanを用いて独自のLintRuleを導入したので紹介します。 【PHPStanとは】 PHPStanとはPHPのLinterの一つで、静的解析ツールです。 コードの書き方を分析し、潜在的なバグのある書き方を検知できます。 導入がしやすく、Zero Configでもかなり高度な解析ができるのが特徴です。 https://phpstan.org なぜLintが必要なのか エラーだけでは検出できない脆弱性の潜む「疑わしい」コードを検知するために、Lintが必要です。PHPのような書き方の自...
1
