Enviar búsqueda
Cargar
Cargo makeを使ってみた話
•
0 recomendaciones
•
2,176 vistas
E
emakryo
Seguir
11/19 RustのLT会 Shinjuku.rs #7 @FORCIA での資料になります
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 15
Descargar ahora
Descargar para leer sin conexión
Recomendados
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
catupper
Marp Tutorial
Marp Tutorial
Rui Watanabe
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Teppei Sato
Recomendados
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
catupper
Marp Tutorial
Marp Tutorial
Rui Watanabe
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Teppei Sato
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
t-kihira
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
ksk_ha
Lockfree Queue
Lockfree Queue
Kumazaki Hiroki
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
こわくない Git
こわくない Git
Kota Saito
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
Takaaki Suzuki
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Building document with the Sphinx public edtion
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
Más contenido relacionado
La actualidad más candente
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
t-kihira
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
Koichi Sakata
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
ksk_ha
Lockfree Queue
Lockfree Queue
Kumazaki Hiroki
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
Takuya Akiba
関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
こわくない Git
こわくない Git
Kota Saito
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
C#でわかる こわくないMonad
C#でわかる こわくないMonad
Kouji Matsui
冬のLock free祭り safe
冬のLock free祭り safe
Kumazaki Hiroki
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
Takaaki Suzuki
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
La actualidad más candente
(20)
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
Postgres Playground で pgbench を走らせよう!(第35回PostgreSQLアンカンファレンス@オンライン 発表資料)
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
Lockfree Queue
Lockfree Queue
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
プログラミングコンテストでの動的計画法
プログラミングコンテストでの動的計画法
関数プログラミング入門
関数プログラミング入門
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
こわくない Git
こわくない Git
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
C#でわかる こわくないMonad
C#でわかる こわくないMonad
冬のLock free祭り safe
冬のLock free祭り safe
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Similar a Cargo makeを使ってみた話
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Building document with the Sphinx public edtion
Building document with the Sphinx public edtion
Yukihiko SAWANOBORI
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
知己 久保
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
Terui Masashi
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
Akihiro Suda
PHP懇親会
PHP懇親会
kaz_29
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
Yukiya Hayashi
Gorilla.vim#6
Gorilla.vim#6
MasatakaHigashijima
個人で作っているgoのプロダクト by zchee編
個人で作っているgoのプロダクト by zchee編
Koichi Shiraishi
Sakura no-yuube-20140327
Sakura no-yuube-20140327
Kunihiro TANAKA
Sphinxでドキュメントを書こう
Sphinxでドキュメントを書こう
Kazufumi Ohkawa
Arduino を PHP で制御する
Arduino を PHP で制御する
Kenichi Ahagon
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
Ansible quickstart
Ansible quickstart
Hideki Saito
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
VMを改めて学んで見る
VMを改めて学んで見る
kishima7
Ansible2.0と実用例
Ansible2.0と実用例
OSSラボ株式会社
Similar a Cargo makeを使ってみた話
(20)
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Building document with the Sphinx public edtion
Building document with the Sphinx public edtion
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
PHP懇親会
PHP懇親会
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
Gorilla.vim#6
Gorilla.vim#6
個人で作っているgoのプロダクト by zchee編
個人で作っているgoのプロダクト by zchee編
Sakura no-yuube-20140327
Sakura no-yuube-20140327
Sphinxでドキュメントを書こう
Sphinxでドキュメントを書こう
Arduino を PHP で制御する
Arduino を PHP で制御する
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Ansible quickstart
Ansible quickstart
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
VMを改めて学んで見る
VMを改めて学んで見る
Ansible2.0と実用例
Ansible2.0と実用例
Más de emakryo
MediaPipeの紹介
MediaPipeの紹介
emakryo
Customizing cargo for cross compiling
Customizing cargo for cross compiling
emakryo
Feature Store in DRIVE CHART
Feature Store in DRIVE CHART
emakryo
Feature StoreをRustで実装した話
Feature StoreをRustで実装した話
emakryo
なぜRustか?
なぜRustか?
emakryo
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
emakryo
Machine Learning on Graph Data @ ICML 2019
Machine Learning on Graph Data @ ICML 2019
emakryo
Neural networks for Graph Data NeurIPS2018読み会@PFN
Neural networks for Graph Data NeurIPS2018読み会@PFN
emakryo
Más de emakryo
(8)
MediaPipeの紹介
MediaPipeの紹介
Customizing cargo for cross compiling
Customizing cargo for cross compiling
Feature Store in DRIVE CHART
Feature Store in DRIVE CHART
Feature StoreをRustで実装した話
Feature StoreをRustで実装した話
なぜRustか?
なぜRustか?
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
Machine Learning on Graph Data @ ICML 2019
Machine Learning on Graph Data @ ICML 2019
Neural networks for Graph Data NeurIPS2018読み会@PFN
Neural networks for Graph Data NeurIPS2018読み会@PFN
Cargo makeを使ってみた話
1.
cargo-makeを 使ってみた話 Ryosuke Kamesawa
2.
自己紹介 - 亀澤諒亮, Ryosuke
Kamesawa - Twitter: @cruelturtle - 仕事でrustを触り始めた - 10月〜 - 競プロ・機械学習
3.
Build tool 何使ってます?
4.
Cargo https://doc.rust-lang.org/cargo/
5.
GNU make https://www.gnu.org/graphics/heckert_gnu.html
6.
Build tools - Cargo -
Rust標準 - ビルド作業は一通りできる - lint, compile, link, test, ..etc - GNU Make - 言語に縛られないビルドツールのデファクト - 大抵なんでもできる - 目的のファイルの生成 - PHONYターゲット
7.
Cargo + Make? -
Rust projectでも簡単に複雑なタスクを実行したい - makeでいうPHONYターゲット - e.g. - 自動生成されたコードのclean - CIとして実行される一連のタスク - Cargoがあるのにmakeを使うのも…
8.
Cargo-make???
9.
cargo-make https://sagiegurari.github.io/cargo-make/ Rust task runner
and build tool. - Rustに特化したタスクランナー - Makefile.toml - 様々なタスクの書き方 - Shell command - Shell script - Rust - etc…
10.
Makefile.toml [tasks.all] dependencies = [ "clippy", "test", "reformat", ] [tasks.reformat] script
= ["cargo fmt -- --emit files"]
11.
ここが便利 - Predefined tasks -
CIがラク - clippy, coverage, doc, … - これだけでそれっぽいタスクが走る $ cargo make ci-flow - 自動インストール - e.g. cargo-audit, cargo-tarpaulin, kcov, …
12.
その他の機能 - Profile - 環境変数の切り替え -
Platform override - Linux, Mac, Windowsで切り替え - Conditional execution - Profile, 環境変数等による条件実行 - Watch changes - ファイルの変更を検知して実行 - etc...
13.
ハマりポイント - Predefined task -
意図せずpredefined taskに上書かれてしまう - Dependencies - (基本的に)上から順に実行 - 依存しているタスクの中で さらに依存関係がある場合は要注意 - Workspaces - デフォルトではworkspaceごとに 別のタスクとして実行される
14.
欠点 - Timestampに応じたビルドはできない - rustのビルドはあくまでcargoの仕事 -
Contributeしましょう!(自分でやれ
15.
最後に - 深入りしすぎなければ便利 - cargo-make
是非使ってみてください - 他にいいツールがあったら教えてください
Descargar ahora