レバテック開発部のフィード
https://zenn.dev/p/levtech
レバテック開発部の公式テックブログです!
フィード

本当は怖くない?CVSSスコアに惑わされない脆弱性との付き合い方
25

レバテック開発部のフィード
レバテック開発部の松浪です。先日、 multipart/form-data形式のHTTPリクエストを生成できるnpmパッケージ form-data にCVSSスコア9.4(Critical)の脆弱性が見つかりました。CVE-2025-7783CVSSスコア9.4(Critical)とあれば、非常に危険!即時対応!と考える方もいるかもしれません。本当にそうでしょうか?脆弱性対応において重要なのは、スコアの高さだけでなく、その脆弱性が、自分たちのプロダクトで実際に悪用される可能性があるのか? 、悪用された場合にどのような影響があるのか? を判断することです。たとえスコアが高くても、...
2日前

EventBridge と API Destination で実現する ECS タスク失敗イベントの New Relic 連携
レバテック開発部のフィード
はじめにコンテナ化されたアプリケーションを Amazon Elastic Container Service (Amazon ECS) にて運用する際、ECS タスクの異常終了を迅速に検知することは安定運用の鍵となります。本記事では、Amazon EventBridge と API Destination を活用して ECS タスクの失敗イベントを New Relic に送信する Terraform モジュールを紹介します。このモジュールの最大の特徴は、AWS Lambda を使用せずに実装している点です。 これにより、ランタイムの更新やコード保守といった運用負荷を最小限に抑える...
24日前

PHPで関数型プログラミング!Result型を使ってクリーンで予測可能なコードへ
レバテック開発部のフィード
こんにちは🐈!みなさん、いろんなところで「関数型はいいぞ」「関数型にせねば」という声をよく耳にしませんか?今回は関数型プログラミングの簡単な解説と、PHPにおける関数型プログラミングへのアプローチについて書いてみました。参考にさせていただいたのは、「なっとく!関数型プログラミング」という書籍です。 関数型プログラミングと純粋関数まずは関数型プログラミングとはなんぞや、について解説します。書籍によると、関数型プログラミングは以下を満たす関数を使ったプログラミングのことです。シグネチャ(関数名、引数の型や数、戻り値の型)が嘘をつかない本体が極力宣言的であるシグネチ...
1ヶ月前

Hono でリモート MCP サーバーを構築して Mastra エージェントから呼び出す on Docker
レバテック開発部のフィード
レバテック開発部の瀬尾です✌Zenn にダークモードが来て喜んでいます。今回は掲題のものを実装してみたら結構簡単だったので、その備忘録を残します。 やったことDB にあるデータを取得して返す MCP サーバーを実装するその MCP サーバーを Hono を使って Streamable HTTP Transport で利用可能にするMastra で作ったエージェントで、その リモート MCP サーバーを使ってデータ取得する 技術スタックMCP ServerBun, TypeScriptHono v4.8AgentBun, TypeScript...
1ヶ月前

DB Tech Showcase 2025(1日目)に参加してきたよ
レバテック開発部のフィード
これはなにこんにちは、レバテック開発部のもりたです。今日は7/10, 11に開催のDB Tech Showcaseに参加してきたので、その参加レポートです。https://www.db-tech-showcase.com/2025/?utm_campaign=db tech showcase&utm_source=note&utm_medium=note DB Tech Showcaseとは?DBTechShowcaseとは、インサイトテクノロジー社が主催する国内最大級のデータ技術系カンファレンスです。毎年夏場に開催されており、今回は7/10(木), 7/...
1ヶ月前

Terraformのmoduleを使ってソースコードの重複をなくすぞ〜
レバテック開発部のフィード
おつかれさまです。水谷です。最近Terraformのソースコードを触る機会が増えて、moduleを覚えたのでその備忘録です。 TL;DR以前はこんな感じで内容がほとんど同じtfファイルを環境ごとに用意していたが、module化することで同一ソースコードを参照できるようになった!moved を使って管理するリソースを引き継ぐことでterraform差分を作らずに移行できた!before(repository root)└── src ├── dev │ ├── ecs.tf │ ├── main.tf │ └── sqs....
1ヶ月前

レイヤードアーキテクチャでは入力検証をどのレイヤーで行うべきか考えてみた
レバテック開発部のフィード
はじめに昨今はクリーンアーキテクチャやオニオンアーキテクチャといった、レイヤードアーキテクチャを採用するプロジェクトが増えています。その中で、「ユーザーからの入力に対する検証をどのレイヤーで行うべきか?」という議論は、設計方針を左右する問題です。今回はこの問題について考えてみました。 この記事の要約「ドメイン層」に入力検証を実装するのは避けた方がいい。「コントローラ層」または「ユースケース層」に実装するのがいい。どちらを選ぶかは、拡張性と開発効率のトレードオフである。 入力検証とは?システムにおける「検証」には、主に以下の三種類があります:入力検証(Inp...
1ヶ月前

レバテック開発部に転職しました
レバテック開発部のフィード
はじめに2025年5月より、レバテック開発部にエンジニアとして入社しました。本記事では、入社して約2ヶ月が経過した現時点で感じているレバテック開発部の魅力や特徴そして現在の業務内容についてお話しします。転職を検討されているエンジニアの方にとって、一つの参考情報となれば幸いです。 自己紹介と転職の経緯 これまでの経歴と転職理由前職では、主にTypeScriptやJavaを用いてバックエンド開発に従事していました。一人で担当する領域が広く、裁量を持って開発を進められた一方で、よりチームでの一体感を持ちながらプロダクト開発に取り組みたいという思いが強くなり、転職を決意し...
1ヶ月前

新規システムのプロジェクトが一段落したので内容と反省点を書いてみる
レバテック開発部のフィード
TL;DR新規プロジェクトに業務委託として参加して、開発・リリース・追加開発をしたので反省点などを書いていく。 開発するシステムの目的バックオフィスの作業負荷軽減のため社内システムを構築して作業が円滑に進むようにしたい。すでに作業負荷がパンクに近くなっており、このまま行くと完全にパンクが見えているため、2025年3月末リリースを死守して開発してほしいとのこと。背景について同僚が詳しく書いた記事があるので、興味があれば下記を参照して下さい。https://zenn.dev/levtech/articles/5fb5373fccec47 開発期間など2024年12月...
2ヶ月前

レバテック開発部にもDevinを導入しました!活用事例と組織で管理するつらみ
レバテック開発部のフィード
はじめにこんにちは、レバテック開発部の塚原です。昨今、さまざまな企業で各種 AI エージェントの活用が進んでいますが、レバテック開発部でも4月から自律型 AI エージェントである Devin を導入しています。そこで、2ヶ月半ほど組織で Devin を運用してわかったことを共有していきます。 利用状況6月時点では14チーム (計30人ほど) が利用しており、Devin が作成してマージした PR 数は177になっています。Devin に依頼したタスクの種別ごとの割合は以下の通りで、さまざまなタスクに Devin を利用してきました。タスク種別ごとの Devin の利...
2ヶ月前

脆弱性(CVE)って何?
レバテック開発部のフィード
レバテック開発部の松浪です。エンジニアの皆さん、日々の脆弱性への対応お疲れ様です。え?脆弱性の対応してないって?以前、「システムをメンテナンスしてますか?」というタイトルでZenn記事を書きました。https://zenn.dev/levtech/articles/fc8992fa45f020そこでライブラリのバージョンアップを怠ってはいけない理由の1つとして、セキュリティ上の脆弱性を突かれて攻撃されるというのを挙げました。脆弱性は個人情報の漏洩やサービス停止に陥るきっかけとなる非常に危険な存在ですが、一方で脆弱性があってもシステムは正常に動作するので、放置されがちな...
2ヶ月前

リプレイス1年の現場で見えた、やって良かった7つのこと
レバテック開発部のフィード
TL;DR具体的な数値や実例を用いた事前準備で、“説得力” のある合意形成を実現リプレイス専任チーム体制の構築で、“推進力” を確保段階的リリースで “影響を局所化” し、リスクを最小化不要コードの早期削除によって、“既存仕様の調査コスト” を削減プロセス標準化により、“品質と速度” を両立リプレイス目的の達成基準を明確にし、“曖昧さ” を排除改善タスクを定期的に実施し、“技術負債” を着実に解消 はじめにこんにちは、リプレイスチームでバックエンドをメインに担当している内藤です!私は、これまで1年ほど Web アプリケーションのリプレイスプロジェクトに携わっ...
2ヶ月前

命令型プログラミング言語のPHPで、宣言的なコードを書く
レバテック開発部のフィード
こんにちは!レバテック開発部のきょうかです。今回は「PHPにおける宣言的コード」がテーマです。私は最近Reactに触れ始めたのですが、そこで「宣言型」という言葉に出会いました。Reactは宣言的にUIを記述できるライブラリで、それが大きな特徴のひとつにもなっています。一方で、私が普段から主に使用しているPHPは、一般的に命令型プログラミング言語として認識されています。そのため、PHPは宣言的に書くことはできないと思い込んでいました。しかし色々と調べていくうちに、PHPも書き方を工夫することで宣言的なスタイルを取り入れられると知りました。この違いや、PHPで宣言的にコードを書...
2ヶ月前

初心者向け!宣言的にコンポーネントを実装するために心がけていること
レバテック開発部のフィード
はじめにこんにちは〜 レバテック開発部のせおです。バックエンドをメインにしてきましたが、最近はフロントエンドで React を書くことも増えてきました。そして「React は宣言的にかけるって聞いてたけど、僕のコードめちゃめちゃ手続きに見えるんじゃが…」みたいなことを思ってました。最近それを少し脱せたかもと感じたので、得られた気づきについて共有できればと思います。すでに書けてる人にとっては物足りない話かもしれない! 対象読者初心者の方!僕と同じような境遇の、バックエンド書いてたけど最近フロントも触り始めた方! 心がけていること ロジックとそれにまつわる状態...
2ヶ月前

AI コードレビュアーを"育てる"。GitHub で作るナレッジベース
レバテック開発部のフィード
はじめにこんにちは!レバテックでリードエンジニアを務める山川です。私たちの開発部では、AI エージェントによるコードレビューを導入し、開発の品質とスピードの両立を目指しています。AI のレビューは非常に強力ですが、次のような課題を感じることはないでしょうか?「もっと私たちのチーム独自のルールを反映させたい」「新しい知見が溜まるたびに、長大なプロンプトを更新するのが大変…」本記事では、こうした課題を解決するために私たちが実践している 「プロンプトとルールを分離して運用する」 AI コードレビューの手法 をご紹介します。 設計思想: プロンプトはシンプルに、ルールは...
2ヶ月前

コードの複雑さを可視化して可読性を上げる方法
レバテック開発部のフィード
コードを読んでいるときに「なんかよく分からんが複雑でわかりにくいな...」と感じることはありませんか?私は既存のコードを読んでいるときはもちろん、自分が書いたコードを読むときもそう感じることがあります。複雑さの要因を理解していないと、適切な改善ができませんよね。今回は、「脳に収まるコードの書き方」という書籍を参考に、コードの複雑さの可視化とその複雑度を軽減させる方法を解説していきます。 前提当たり前ですが、コードは書く回数よりも読まれる回数の方が多いです。コードの価値には、アプリケーションが動くことだけではなく可読性も大きく関係しています。目先のリリースを優先して「とり...
3ヶ月前

言語化ニガテ民にはZettelkastenがおすすめ
レバテック開発部のフィード
これはなにこんにちは、LT開発部のもりたです。今回はもりたが最近はじめたZettelkastenのご紹介をします。これは知識管理の手法で、アウトプットの敷居がめっちゃ下がるやつなんですが、ま〜〜よくわからん単語すぎて困ると思うので、今日はサクッと本編に入りますね。 Zettelkastenとは?Zettelkasten(ツェッテルカステン)は、学びを小さなメモにして保管する方法論です。やっていることはそれだけで、ただただ学んだことを小さくメモにまとめて貯めていきます。その際に大切な点があり、それは「自分の言葉で書く」ことと、「情報をなるべく小さく保つ」ことです。Zett...
4ヶ月前

GitHub Repository Management as Code ありかも
レバテック開発部のフィード
普段の業務で扱うリポジトリが10個前後あるため、GitHubのリポジトリの設定をterraformで管理しちゃう選択肢もありだなと思った今日この頃です。(組織全体では200個以上のリポジトリがあって手に負えません) GitHubのリポジトリの設定を管理するのって大変リポジトリの設定項目ってたくさんありますよね。↓の記事などを見たりして、完璧な設定にしたいなーと常々思っています。https://speakerdeck.com/dzeyelid/20230805-github-useful-hidden-repository-settingshttps://zenn.dev/k...
4ヶ月前

PHPカンファレンス小田原2025でスポンサーセッションした感想を書くよ
レバテック開発部のフィード
はじめにこんにちは。レバテックのひがきです。PHPカンファレンス小田原2025のレバテック開発部のスポンサーセッションで「古き良き Laravel のシステムは関数型スタイルでリファクタできるのか」を発表しました。PHPカンファレンス小田原2025では最高に素敵なメンバーと一緒にコアスタッフもやっていたのもあり、自分にとってもすごく特別なカンファレンスで登壇できて幸せでした!!スタッフとしてのブログはまた別で書くとして、今回はスポンサーセッションについて振り返りたいと思います。!後日アーカイブ動画が出る予定なので、所感多めに書きます。 所感登壇するの楽しかったで...
4ヶ月前

[DDD] 戦術的設計パターン Part 4 整合性
レバテック開発部のフィード
1年以上前になりますが、 DDD の戦術的設計パターンについて記事を書きました。ドメインレイヤーアプリケーションレイヤープレゼンテーション / インフラストラクチャー レイヤー整合性 (本記事)本記事では、 データ整合性を保つための設計パターンについてまとめます。 リポジトリhttps://github.com/minericefield/ddd-onion-litその他、採用アーキテクチャーやテーマについては Part 1 冒頭をご参照ください。 トランザクション制御IDDD を参考にトランザクション制御の設計方針を確認します。大前提として集約は強整合...
4ヶ月前