ブックマーク / caddi.tech (9)

  • cargo workspaceを使ってRustのビルド時間を改善する - CADDi Tech Blog

    キャディのバックエンドエンジニアをして働いている高藤です。 キャディではRustを使ったAPIサーバを開発しています。今回はその開発の過程で導入したcargo workspaceを使ったプロジェクト構成についてまとめました。 今回のアプリケーションについて Rustで記述 ドメイン駆動設計を用いて設計をしており、ドメイン層を明確に分離している アプリケーションの役割はgRPCAPIを提供したり、MessageQueueからくるメッセージの処理を行う 実装しているアプリケーションで使っている技術や設計手法などは弊社エンジニアが書いた別の記事もご参照下さい。 DDDのパターンをRustで表現する ~ Value Object編 ~ TypeScriptにおけるgRPC関連ライブラリの比較とプロダクト開発で採用した方法の紹介 workspaceを使うようになるまでの経緯 開発初期、cargo

    cargo workspaceを使ってRustのビルド時間を改善する - CADDi Tech Blog
    NineGates
    NineGates 2021/11/16
  • KleinというProductについて - CADDi Tech Blog

    えこんにちは!CADDiでプロダクトマネージャーとしている @yskeee000 です。 もうそろそろ仕事納めしたい 記事は、キャディ Advent Calendar 2020 – Qiita の16日目の記事です。昨日の記事は松田さんの「Rust入門者がrust-analyzerへのコントリビュートを達成するまで」でした。 この記事では、私がプロダクトマネージャーとしてCADDiで携わっているプロダクトについて素朴に紹介したいと思います。 私はCADDiに入社して約1年半となりますが、ほぼ一貫して記事で紹介するKleinというプロダクト開発に、スクラッチの段階から関わってきました。 現状では、内部に閉じたProductであり外部の方になかなか知られることがないですが、CADDiの根幹をなす重要なProductですので、出来るだけ平易に紹介できればと思います。 プロダクトの背景となるC

    KleinというProductについて - CADDi Tech Blog
    NineGates
    NineGates 2020/12/16
  • async/awaitで躓いて学んだ、「オレは雰囲気でRustをしている!」からの脱し方。 - CADDi Tech Blog

    こんにちは。テクノロジー部バックエンド開発グループの小倉です。 この記事は キャディ Advent Calendar 2020 の9日目です。前日は山田さんの protobuf v3 の optional について でした。 Rustはイカしたエコシステムが充実していて、型が厳しい言語の割にはコンパイラやリンターに従うだけで動くコードが書けたりします。その結果「オレは雰囲気でRustをしている!」という気持ちになったりするんですよね〜。 記事では、巷にあふれる入門記事を読んで実務に挑み、その結果でてきたよくわからない点を調べた結果得た知識を紹介します。 巷にあふれているRustのasync/awaitの記事。 これらを読みました Rustの非同期プログラミングをマスターする 2019 年の非同期 Rust の動向調査 Rustのasync/awaitとスケジューラの話 / rust-a

    async/awaitで躓いて学んだ、「オレは雰囲気でRustをしている!」からの脱し方。 - CADDi Tech Blog
    NineGates
    NineGates 2020/12/13
  • DDD のパターンを Rust で表現する ~ Entity 編 ~ - CADDi Tech Blog

    こんにちは。CADDi でバックエンドエンジニアをしている @kuwana-kb です。 この記事は CADDi Advent Calendar 12日目の記事です。昨日は、山下さんによる GitOpsの概要と実践例 〜Kustomize + CircleCI編〜 でした! 日は「DDD のパターンを Rust で表現する ~ Entity 編 ~」と題しまして、 Rust で DDD のパターンを表現してみたいと思います。 目次 [toc] はじめに DDDとは、 Domain-Driven Design(ドメイン駆動設計)の略です。アプリケーションの扱う業務領域に焦点をあてた設計手法であり、エリック・エヴァンスが提唱しました。詳細については、以下の記事で紹介していますので、そちらをご覧ください。 DDDのパターンをRustで表現する ~ Value Object編 ~ また、今回の記

    DDD のパターンを Rust で表現する ~ Entity 編 ~ - CADDi Tech Blog
    NineGates
    NineGates 2020/12/13
  • Rustでパラメーター化テスト - CADDi Tech Blog

    こんにちは!@ryokotmngです🙋🏻‍♀️ 記事は、キャディ Advent Calendar 2020 – Qiita の13日目の記事です。昨日の記事は@kuwana-kbさんの、DDD のパターンを Rust で表現する ~ Entity 編 ~ でした。 今日は主に、rstestというcrateを使い、Rustでパラメーター化テストをするときに便利な書き方について説明します。 パラメーター化テストとは パラメーター化テストとは、検証対象のソースコードが想定した挙動になることを保証できるような入力パラメーターの値と結果を設定し、同じロジックのテストをそれぞれのパラメーターに対して行うテストのことです。通常、関数やメソッドに対して行われます。 ある関数をテストするとき、定義域 (インプットの取り得る値の範囲) も値域 (アウトプットが取り得る値の範囲) も非常に限定されていると

    Rustでパラメーター化テスト - CADDi Tech Blog
    NineGates
    NineGates 2020/12/13
  • あえてケイスケ・ホンダのようなデザイナーになるには - CADDi Tech Blog

    こんにちは、キャディでUI/UXデザインを担当しているモリです。 この記事は CADDi Advent Calendar 6日目の記事です。昨日はマリアンヌによるキャディのエンジニアの開発環境、ぜんぶ見せますです!とっても面白いのでぜひご覧になってみてください! 僕は田選手のように?幅広く活躍できるデザイナーになるには、について書いていきたいと思います。 ケイスケ・ホンダ=プロフェッショナル "そもそも"を考え、自分の真ん中を決めることで、迷わず進むことができるんです 田思考 - 田圭佑 デザイナーも”そもそも”をよく考える職業だと思います。(え?) 最近のデザイン、特にテック領域では、作家性や審美性に重きをおいたデザインから、ユーザー体験やシステム設計・開発効率性に重きをおいたデザインに重心が変わってきました。 またそういった変化に合わせて、デザイナーであってもビジネスやテクノロジ

    あえてケイスケ・ホンダのようなデザイナーになるには - CADDi Tech Blog
    NineGates
    NineGates 2020/12/07
  • tailwindcss のコンセプトとメリットについての考察 - CADDi Tech Blog

    目次 こんにちは、CADDi でフロントエンド エンジニアをやっている桐生です。この記事は CADDi Advent Calendar 2020 の7日目の記事になります。 昨日の記事はモリさんの あえてケイスケ・ホンダのようなデザイナーになるには でした!まだご覧になっていない方はぜひ目を通してみてください! 日は、最近触っている tailwindcss についてお話できればと思います。 [toc] tailwindcss とは tailwindcss は数あるCSSフレームワークの1つですが、Utility first というアプローチでスタイルを組み上げていく点がユニークで、OOCSS, BEM, SMACSS など、これまでのCSS設計アプローチとは考え方が大きく異なります。 tailwindcss では p-6, max-w-sm などの CSS class を utility

    tailwindcss のコンセプトとメリットについての考察 - CADDi Tech Blog
    NineGates
    NineGates 2020/12/07
  • Argo Rollouts で Blue-Green Deployment - CADDi Tech Blog

    こんにちは。CADDi SWE の飯迫です。この記事は キャディ Advent Calendar 2020 の3日目です。昨日は、村上さんによる「良いチーム開発」を実現するための「組織的学習」と「自己組織化」の話でした! 今Q は Rust で Backend を書いているのですが、前Q は主に DevOps 周りの改善をしていました。そのときにやったことのひとつ「Argo Rollouts を使った Blue-Green Deployment 移行」について紹介します。 背景と概要 まず前提として、弊社の生産管理システムは GKE 上で運用しており、大まかな Tech Stack はこのようになっています。 https://caddi.tech/tech_stack 上記の Frontend/BFF/Backend は、今回移行するまでは、Deployment リソースとして管理されてい

    Argo Rollouts で Blue-Green Deployment - CADDi Tech Blog
    NineGates
    NineGates 2020/12/03
  • アルゴリズムで事業の非連続を創りたい - CADDi アルゴリズムチームへの招待 - CADDi Tech Blog

    CADDi でアルゴリズム系の開発を担当している寺田です。ぜひ一緒にアルゴリズム開発に携わってくれる仲間を募集したいと思い、筆を執りました。通常の Tech Blog よりPR色の強い内容となりますことをご容赦ください。 そこに課題があるから アルゴリズムが好きな方であれば、「解くに値する面白い課題」を欲しているのではないでしょうか。 教科書を読めば、様々なアルゴリズムの技法を学ぶことが出来ます。その技法を使えばどんな問題が解けるかも分かるし、身近なライブラリの背後で使われている理論的背景を知ることが出来ます。 しかし、教科書の例にドンピシャに当てはまる仕事に巡り会う機会はそうあるものではありません。多くのアルゴリズムは既にライブラリとして実装済みであり、自分で実装する機会は多くありません。また、現実の問題は教科書のように整理や定式化がされていませんし、場合によっては問題と認識すらされてい

    アルゴリズムで事業の非連続を創りたい - CADDi アルゴリズムチームへの招待 - CADDi Tech Blog
    NineGates
    NineGates 2020/11/18
  • 1