キャディ株式会社 の技術ブログ

会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~

はじめに こんにちは。 バックエンドエンジニアの松本です。今回は、会計システムの開発を通じて、 CADDi におけるプロダクト開発の様子を紹介します。 2024年3月現在、CADDiでは2つのサービスを提供しています。1つは図面データ活用クラウド「CADDi Drawer」で、もう1つは加工品製造サービス「CADDi Manufacturing」です。 今回、後者の加工品製造サービス「CADDi Manufacturing」向け

RustでWeb APIを作る際のエラーハンドリング

TL;DR エラーハンドリングを行う目的 エラーハンドリングが適切に行われているとどう嬉しいか 1. エラーの発生原因が分かる 2. レスポンスステータスを型安全に出し分けることが可能になる どうエラーハンドリングを行うのか 実装方法 エラー型の定義で気を付けるべきポイント なぜanyhowを利用しないのか エラーハンドリングを行う上で持っている課題感 Drawer Growth グル

大量のSeedデータの管理基盤としてAirtableを活用したら開発体験が素晴らしかった話

はじめに こんにちは。CADDiでバックエンドエンジニアとして働いている中山です。 今日は、プロダクト開発において大量Seedデータの管理基盤としてAirtableを使ったら開発体験が素晴らしかったのでご紹介しようと思います。 ※ 以下の内容はAirtableの契約プランによって機能が異なること、執筆時にはできないが今後機能が追加されてできるようになっている可能性がある

第10回:Cloudflareの紹介と運用のポイント

※本記事は、技術評論社 「Software Design」(2024年1月号) に寄稿した連載記事「Google Cloudを軸に実践するSREプラクティス」からの転載 1 です。発行元からの許可を得て掲載しております。 はじめに 前回はDatadogによるクラウド横断のモニタリング基盤について解説しました。 今回は Cloudflare とは何か、なぜ使っているのか、各サービスとポイント、キャディでの活用例を紹介

Kubeflow Pipelines の local 実行で開発効率を上げる

はじめに AI Team MLOps エンジニアの西原です。2024 年 1 月にローカル環境で Kubeflow Pipelines を実行するドキュメントが公式から 公開 されました。今回はそのドキュメントを参考にローカル環境で Kubeflow Pipelines を実行する方法を紹介します。 はじめに Kubeflow Pipelines とは kfp を使った開発の課題 kfp を手元の開発環境で実行する ローカル環境でコンポーネント実行 アーティフ

第9回: Datadogによるクラウド横断のモニタリング基盤

※本記事は、 技術評論社 「Software Design」(2023年12月号) に寄稿した連載記事「 Google Cloudで実践するSREプ ラク ティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに 前回 は、 Google Cloudが提供するAnthos Service Meshを導入して、GKEで動くアプリケーションに可観測性やセキュリティなどの機能を追加する方法について紹介しました。今回はDatadog 1 を利

第8回: Anthos Service Mesh 入門

※本記事は、 技術評論社 「Software Design」(2023年11月号) に寄稿した連載記事「 Google Cloudで実践するSREプ ラク ティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに 前回 はArgo CDによる Kubernetes への継続的デリバリについて紹介しました。今回は、 Google Cloudが提供するAnthos Service Meshを導入して、GKEで動くアプリケーションに可観測性やセキュリテ

第7回: Argo CDによるKubernetesへの継続的デリバリ

※本記事は、 技術評論社 「Software Design」(2023年10月号) に寄稿した連載記事「 Google Cloudで実践するSREプ ラク ティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに 前回 はRenovateによる依存関係の更新について解説しました。今回はArgo CD 1 を利用した、 Kubernetes への継続的デリバリ(Continuous Delivery、CD)について紹介します。Argo CDとは何か、なぜ使

第6回: Renovateによる依存関係の更新

※本記事は、技術評論社 「Software Design」(2023年9月号) に寄稿した連載記事「Google Cloudで実践するSREプラクティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに 前回 はTerraformとGitHub Actionsで実践するインフラCI/CDについて解説しました。 今回はRenovate 1 を利用した、ツールやライブラリの依存関係更新について紹介します(図1)。 なぜ依存関係を更

チームワークショップで採用面接を見直した話

こんにちは。CADDi DRAWERでMLOpsチームのチームリードをしている中村遵介です。 チームリードは技術に関して多方面の意思決定を行ってチームの成果に貢献するテッ クリード と異なり、チームのメンバーや組織に関する意思決定を行ってチームの成長に貢献します。貢献したいです。頑張ります。 最近では、 機械学習 メンバー/MLOpsメンバーの採用を積極的に行っています

Cloud Data FusionをIaCで構築し、データパイプラインのマイグレーションを行いました

はじめまして。CADDiでバックエンドエンジニアとして働いている中野です。 この記事では、Cloud Data Fusionを利用して作成したデータパイプラインについてご紹介します。 TL;DR Salesforce とBigQuery間のデータ連携にHeroku Connectをこれまで利用していたのですが、Cloud Data Fusionに乗り換えることでダウンタイムなしで約1/8までコストダウンができました。 モチベーション 弊社では

第5回:TerraformとGitHub Actionsで構築するインフラCD

※本記事は、 技術評論社 「Software Design」(2023年8月号) に寄稿した連載記事「 Google Cloudで実践するSREプ ラク ティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに 前回 はTerraformと GitHub Actionsで実践するインフラCI/CDのCI部分について解説しました。今回はその続きとなるCD部分、デプロイについて扱います。また、運用をよりスケールさせるため

CADDiで4年間働いたエンジニアがプロダクトの変遷について話してみる

こんにちは、キャディでエンジニアやエンジニア リングマ ネージャをやっている高藤です。 久しぶりのTechブログへの投稿です。 今回はタイトルにあるようにCADDiで4年働く上で起きた事をエンジニア視点でまとめつつ、これから何をしようとしているのか私自身の思いを込めて書いてみようかなと思います。 4年前のあのころ 私は2019年2月に入社し、4年強の期間CADDiで働

Pantsモノレポの改善~テスト時間短縮・依存の集約管理・pex~

MLOps Team Tech Lead の西原です。以前の Tech Blog で Pants を使った Python モノレポ移行への取り組みについて紹介しました。日々の業務で得た知見を Python コミュニティに共有できるといいなと思い、 PyCon APAC 2023 に「Pants ではじめる Python モノレポ」というタイトルで CfP を提出し採択されました。この記事では、PyCon APAC 発表に向けての整理も兼ねて、Pants を使ったモノレポの

第4回:TerraformとGitHub Actionsで構築するインフラCI

※本記事は、 技術評論社 「Software Design」(2023年7月号) に寄稿した連載記事「 Google Cloudで実践するSREプ ラク ティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに 前回 はTerraformの基本的な概念とステート管理について解説しました。 今回からは 2 回にわたり、Infrastructure as Code(IaC)のCI/CD( 継続的インテグレーション /継続的デリバリ)パイプライ
1234