Technology

Row Polymorphism in C++20

Summary This post is my hobby and has nothing to do with work. I have wanted Extensible Records (a library in Haskell) for a long time. The time has finally come. The language features we need to implement it are there in C++20! Therefore,…

Rust Cookbook for Beginners

こんにちは @ryokotmngです。 今日は社内ドキュメントの、Rust初心者向けのクックブックを公開しようと思います。 私自身コードを書くのに四苦八苦していた頃にとても助けられたので、Rustをはじめたばかりの方の参考になれば嬉しいです。 目次 [toc] はじめ…

キャディのエンジニアの開発環境、ぜんぶ見せます

こんにちは!@ryokotmngです。本記事は、キャディ Advent Calendar 2020 – Qiita の4日目の記事です。昨日の記事はagate-prisさんの Orphan Ruleよありがとう ~Rustを採用したおかげでリファクタリングが捗った話~ でした。 キャディのエンジニアがどんな…

マッチ式の末尾にカンマで終わるコメントがあるとrustfmtがフォーマットに失敗する話

業務でRustのコードを書いていて、rustfmtが失敗する事象に遭遇した。 少し調べたところ、MatchArmsの後にカンマを含むコメントがあると、うまく動かないことが分かった。 以下は2つの連続した改行が1つの改行に詰められることを期待したコードである。rustf…

cargo workspaceを使ってRustのビルド時間を改善する

キャディのバックエンドエンジニアをして働いている高藤です。 キャディではRustを使ったAPIサーバを開発しています。今回はその開発の過程で導入したcargo workspaceを使ったプロジェクト構成についてまとめました。 今回のアプリケーションについて Rustで…

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

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

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

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