ブックマーク / zenn.dev/levtech (12)

  • システムで扱うステータスの分解と変換

    初めに レバテック開発部の今井です。 ソフトウェア開発において、データの状態管理は非常に重要です。注文の状態、ユーザーの認証状態、プロジェクトの進行状態など、多岐にわたる状況で、適切な状態管理が求められます。しかし、ビジネス要件の変化や新機能の追加に伴い、状態管理が複雑化し、保守が難しくなることがあります。 この記事では、データの状態管理を簡単にするためにMECEを初めとした方法で分析を提案します。これによって、柔軟で効率的なシステム設計が可能になることを目指します。 TL;DR MECEの原則を使ってenum型ステータスを分解する方法を解説する MECEによる分解から一次情報と二次情報という区分を提案し、分析の高度化を目指す 一次情報と二次情報の区分とシステム間のデータ連係の関係性について考察する 対象読者 システムの保守性・拡張性に興味関心のあるエンジニア enumをMECEに分解する

    システムで扱うステータスの分解と変換
  • Datadog→New Relicの移行を決めた際のADRを公開します!

    はじめに レバテック開発部、SREチームに所属している金澤です。 弊社開発部では、Datadogで行っていた監視からNewrelicを用いたオブザーバビリティへの移行を行う決定をしました。 そして、なぜオブザーバビリティを採用したのか、DatadogからNewrelicへ移行したのかといった意思決定をADRとして記録し、社内に展開しています。 今回はこのADRの内容を公開します! ※記事はNewrelic、Datadogを肯定、否定するものではございません。 ADR コンテキスト 事業軸 レバテックの事業戦略は事業ポートフォリオ構想に従っている 既存の事業を拡大させながら新規サービスを生み出し続ける 事業ポートフォリオ構想 開発軸 事業領域の大きさ、深さが拡大し必要なドメイン知識が肥大化 スケーラビリティとアジリティの担保が困難になってきた バグ、障害の発生 レビュー工数の増加 新規参画

    Datadog→New Relicの移行を決めた際のADRを公開します!
  • 認定スクラムマスターになったので学んだことをまとめる!

    はじめに どうも、認定スクラムマスターの瀬尾です。 弊社ではエンジニアの支援制度として認定スクラムマスター取得の補助があります。これを利用して Certified ScrumMaster (CSM) を取得したので、その研修で学んだスクラムの基礎をまとめ、更にふ〜んとなったことや疑問に思ったことについて書いていけたらと思います! 私が受講したのは、Joe Justice 先生の認定スクラムマスター講座です。2日間の研修があったのち、Webテストを受けて合格しました。ちなみに合格すると合格証と下のバッジがもらえます。Linkedin にも資格を登録してもらえました。 受講の背景を簡単にまとめてみる 受講前の知識量は「開発部に参画してから1年くらいスクラムの開発メンバーとして働いた」程度のものだった 3ヶ月くらい、見様見真似でスクラムマスターのような動きをしてはいた スクラムアジャイルの具体

    認定スクラムマスターになったので学んだことをまとめる!
  • ふりかえりあるある早く言いたい

    はじめに はじめまして。レバテック開発部ITSプロダクト開発グループ所属の池永です。 私は現在スクラムマスターとしてチームに参画しており、日々チームが強く、楽しくなれるように試行錯誤しております。 かれこれ一年半ほどスクラムマスターを経験させていただいてきましたが、色んな壁にぶつかってきました。 特にスクラムにおける「ふりかえり(レトロスペクティブ)」において生じた壁について色んなエンジニアと話しているうちに、あるあるなんだなぁ〜と感じたため、この記事を書いております。 この記事では自身のぶつかってきた壁と、そこに対してどのようなアプローチを取ったか、そしてどうなったかを少しだけ共有しようと思います。 何かしらの参考になったら幸いです。 話すこと スクラムにおけるふりかえりのあるある あるあるに対して自分がやったこと そのアプローチをとってどうなったか 話さないこと 色んなふりかえり手法に

    ふりかえりあるある早く言いたい
  • サブクエリの書き方を2万文字弱かけてすべて解説する

    これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

    サブクエリの書き方を2万文字弱かけてすべて解説する
  • スロークエリを改善したらECSの負荷が爆下がりした話(TypeORM)

    TL;DR TypeORMで発生していたスロークエリを改善 スロークエリを改善したらECSの負荷も減少 はじめに スロークエリを改善したら、ECSコンテナ側の負荷も下がってなんでだろ?と思ったので記事にしようと思います。 環境 TypeORM v0.3.20 Node.js v18.x バックエンドインフラ ECS on Fargate => Amazon Aurora MySQL 負荷改善の前と後 まずはどのくらい改善したのかを示します。 この時ECSコンテナ8台動いてました。(4vCPU 8GBMem) 改善前 改善後 改善前と改善後は一日前の同じ時間帯のものです。 ちゃんと動いてるのか不安になるくらい下がってました笑 どのような対応をしたのか スロークエリの出ていたクエリでMySQLの実行計画を確認しました。 TypeALL,index, Using Filesort等はなかったので

    スロークエリを改善したらECSの負荷が爆下がりした話(TypeORM)
  • VSCodeでGitのコミットを楽に整理して、レビュワーに「コイツできる」と思わせよう。

    はじめに Git Graphという拡張機能を使います。 Git GraphとGitLensという拡張機能を使います。[1] また、gitから開かれるエディタをvscodeにしておきます。 コミットのまとめかた(1分未満でできるよ) ステータスバーのGit Graphのボタンをクリックして、Git Graphの画面を開きます。 まとめたいコミットの一つ前のコミット(今回だとinit)を右クリックして、「Rebase current branch on this Commit...」を選択します。 「Launch Interactive Rebase in new Terminal」にチェックを入れて「Yes, rebase」をクリックします。 こんな画面が開きます。 まとめたいコミットを上から順にpickからsquashに変更します。最後の一つはpickのままにしておきます。そして「STAR

    VSCodeでGitのコミットを楽に整理して、レビュワーに「コイツできる」と思わせよう。
  • TiDBにおけるパフォーマンス検証の進め方とつまづきポイント

    TL;DR TiDBにおけるパフォーマンス検証をどうやって行ったか パフォーマンス検証を行ったときにつまづいた問題とその対応策 TiDBの仕様やアーキテクチャなどの話はありません 前提 対象のDBAmazon Auroraで稼働中 DBエンジンはMySQL TiDBに移行できないかPoCを実施 DB周りにいろんな課題があり、TiDBで解決できないか検証 TiDB Cloudで検証 番運用を想定してTiDB Dedicatedを利用 先にお伝えしたいこと TiDB導入したいとか言う前に、今使っているRDBで発生しているスロークエリとかIndex設計を見直した方が良いです笑 理由はこの記事を見てもらえるとわかると思いますw パフォーマンス検証の進め方 1. パフォーマンス検証に利用するクエリを洗い出す 観点としては以下の2つ 実行される頻度が高いSQL 実行速度が遅いSQL(スロークエリ)

    TiDBにおけるパフォーマンス検証の進め方とつまづきポイント
  • 荒廃したテックブログの再生

    これは『2023年度を数字で振り返る「技術広報LT大会」』の登壇内容について、 口頭で話したことを補足しつつ、その他話せなかったこと含めてドキュメントにまとめたものです。 LT大会は楽しいですね、各社の発表も有益情報が多かったので、また行こうと思います。 TL;DR テックブログの投稿数が94倍、PV数が39倍に。 まずは、定石に則りアンチパターンを潰す。 自社の風土に合わせてローカライズしてアウトプットを継続する工夫を。 書きたいものを書いてもらった上で、「できる限り読まれる努力」は運営の責任。 当ドキュメントは色々私が書いてますが、全て編集長がやったことです。 荒廃したテックブログの再生 荒廃してました! レバテック開発部としては、年2しかテックブログを書いていませんでした。 荒廃の定義にもよりますが、私はこれを荒廃と見てました。 技術広報を促進していくタイミングで、まずはここから

    荒廃したテックブログの再生
  • 愛してやまないAWSで展開するセキュリティ対策戦略

    TL;DR セキュリティ対策には予防的統制と発見的統制の2つの観点が欠かせない AWSが提供するセキュリティサービスが予防的・発見的統制にどう寄与するかを解説 セキュリティ対策は、リスクの特定と可視化、リスク分析と優先度付け、施策費用の算出、経営層への報告とサポートの獲得で進めるべし セキュリティは、単に技術やツールを導入するだけではなく、組織全体の意識や文化、そして継続的な改善が求められる はじめに レバテック開発部レバテックプラットフォーム開発チームに所属している内藤です。 普段は、バックエンドの設計や実装、さらにインフラの構築まで幅広く担当しています。 最近、私は弊社開発部を代表して(色々な方面から怒られそう笑)、AWSセキュリティインシデント擬似体験GameDayに参加する機会に恵まれました。このイベントでは、セキュリティインシデントへの対応方法や予防策など、実際のインシデント調査

    愛してやまないAWSで展開するセキュリティ対策戦略
  • Next.js + Hono + AWS でイベント駆動なプロフィール交換アプリを開発!

    TL;DR スマホでQRコードを読み込むプロフィール交換アプリを開発した。 イベントソーシングだったり Hono だったり、気になる技術を試せた。 アプリのレスポンスが速く、懇親会も盛り上がったのでよかった! はじめに レバテック開発部で基盤システムグループに所属している瀬尾です。 普段はマイクロサービスのつらみを味わったりしています。 昨年末に弊社で大規模な懇親会があり、そこでの交流を増やす目的として、互いの QR コードを読み取りプロフィールを交換するアプリを作りました。 この記事では、そのアプリをどんな技術でどのように開発していったかをご紹介しようと思います! 技術スタック 言語 Typescript GoLambdaで使用) フロントエンド Node.js Next.js, TailwindCSS バックエンド Bun Hono, Prisma イベントソーシング インフラ AW

    Next.js + Hono + AWS でイベント駆動なプロフィール交換アプリを開発!
  • データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)

    これはなに ども、レバテック開発部のもりたです。最近めっちゃ元気!! 今回は『データベースについて勉強したいあなたに送る技術書17冊(+11冊1講義7link)』として、もりたがここ半年くらいでわーっと集めたデータベース周りの書籍(とか)を紹介していきます。アプリケーションって結局はデータベースみたいなところがあると思うんですが、おれは長いことデータベースをどう学んだら良いのか分かりませんでした。同じような気持ちを抱えているITエンジニアの人もいると思うので、学習ロードマップと合わせて紹介していきます。 なお具体的な対象読者は業務でなんとなくSQL書いてるけど、ウィンドウ関数とか言われると分からんな……くらいの人です。 扱う領域と扱わない領域 扱う領域としてはだいたい以下 再入門 SQL 内部構造 論理設計 周辺知識 データベース理論 その他高度なもの モデリング、NoSQL、分散データ

    データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
  • 1