2020-03-01から1ヶ月間の記事一覧

CI/CDでもはじまるOSS化の波 ~ Orbを使って楽にCI/CDを実装しよう ~

はじめに Orbって何? どうやって使うの? 調べて選ぶ ドキュメントを読む Usage Examples JobとCommandの違い JobとCommandの呼び出し方 Executors リソースクラスとは Orb Source 実装する 最後に はじめに キャディでバックエンドエンジニア兼DevOpsエン…

FirebaseとCloudFunctionで作るサーバレスなファイル処理

はじめに テクノロジー本部バックエンド開発グループの狭間です。所属はバックエンドですが、フロントエンドやインフラなど色んなことをやらせてもらってます。 今回はファイルの処理について書こうと思います。それなりに大きなファイルをオンラインで処理…

突貫工事な Firebase Functions の負債を返していこう!まずは宣言的バリデーションと機能テストを導入した話

はじめまして。むらみんです。CADDi に入って最初に着手したコードを書く仕事で色々とハマったのでまとめておこうかと思います。 コンテキスト CADDi では、顧客から受注した製品の製作フロー管理 (サプライチェーン管理といいます) を営業系 SaaS を用いて…

陰関数による形状表現 (1)

半径 $r$ の円の式を考えましょう。パラメトリック表現はこうです。 \left(\begin{array}{c}x(t) \\ y(t) \end{array}\right) = r\left(\begin{array}{c} \cos(t) \\ \sin(t) \end{array}\right) 対して、陰関数表現はこうです。 f(x, y) = \sqrt{x^2 + y^2}…

高速フーリエ変換の実装を難しそうかなと思っている方が、なんだ簡単じゃないですか!! となるための実装講座です

対象読者さんはどのような方ですか? FFT(高速フーリエ変換)の定義を知っているものの、その実装が難しそうだと感じて困っている方々です。逆に原理や有用性、理論的な子細にご興味のある方のご期待には応えられないと思います。 目標 FFT に苦手意識のあ…

最低限のtoolchainでRustとWebAssembly

Overview 最低限のtoolchainでWebAssemblyを活用してみました。cargo web, wasm pack, wasm-bindgen 等色々と便利なツールがありますが、あえて使わずに全部自分でゴリゴリ。便利なツール使う前に苦しさを自分で実感しないと、ツールの仕様でハマった時に自…

RustでWebアプリケーションを作る

はじめに はじめまして、キャディでバックエンドエンジニアとして働いている高藤です。 キャディではRustを使ったバックエンドAPIを実装しています。業務ではgRPCサーバを実装していますが、今回はRustを利用した簡単なWebアプリケーションを作成し意外と簡…

immer で簡単 Apollo Client キャッシュ更新

こんにちは、CADDi でフロントエンドエンジニアをしている桐生です。 弊社では バックエンドとの通信に GraphQL を採用し、そのクライアントライブラリとして Apollo Client を使用しています。 今回は Apollo Client と immer を使った Tips を紹介したいと…

Rust未経験者が業務でRustを使えるようになるまで

1. はじめに こんばんは、キャディでバックエンドエンジニアをしている kuwana-kb(@kuwana_kb_)と申します。 キャディでは Rust を用いたプロダクト開発をしています。Rust は安全性・速度・並行性に秀でた言語ですが、まだ国内での採用事例は少なくWeb アプ…

Kustomizeを利用してk8sの構成管理をシンプルにやってみる

目次 [toc] はじめに キャディでバックエンドエンジニアとCI/CDやIaC、自動テストなどDevOps的な仕事を兼務している山下です。 k8sを実際にサービスの運用に使おうとすると確実にぶつかる壁があります。それは構成管理です。 具体的にいうと、基本は設定を共…

TypeScriptにおけるgRPC関連ライブラリの比較とプロダクト開発で採用した方法の紹介

こんにちは、テクノロジー本部バックエンド開発グループの山田です。 弊社のプロダクト開発では、以下の図のようにフロントエンド <-> BFF <-> バックエンドの構成をとっており、Node.js上で稼働しているBFFと、Rustで作成しているバックエンドの間をgRPCで…