公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
日本語の情報
https://rust-jp.rs/
※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/
※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust
※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/
※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
※次スレは原則>>980が立てること
前スレ
Rust part14
https://mevius.5ch.net/test/read.cgi/tech/1644596656/
探検
Rust part15
■ このスレッドは過去ログ倉庫に格納されています
2022/05/12(木) 18:28:20.99ID:cuIcFT6k
720デフォルトの名無しさん
2022/06/19(日) 14:55:53.98ID:8/kH/R2d 自転車置き場の議論
721デフォルトの名無しさん
2022/06/19(日) 15:31:58.19ID:N+aRTDUf >>719
英語じゃなくてラテン語を
英語じゃなくてラテン語を
722デフォルトの名無しさん
2022/06/19(日) 17:52:40.64ID:fArfwr+a723デフォルトの名無しさん
2022/06/19(日) 18:18:54.31ID:lfAX8IzG724デフォルトの名無しさん
2022/06/19(日) 18:25:22.30ID:ZgRIQXP3 >>723
なぜRuby?
なぜRuby?
725デフォルトの名無しさん
2022/06/19(日) 19:22:19.06ID:xSCrTfK1 高階関数の解説を読むたびに出てくるカリー化がそれオーバーロードでよくね?って思うんだが誰か納得感ある説明頼む
726デフォルトの名無しさん
2022/06/19(日) 19:29:05.73ID:YciZ0/bi >>725
カリー化は、ElmとかF#みたいなパイプライン演算子を多用する言語じゃないとありがたみを感じない
カリー化は、ElmとかF#みたいなパイプライン演算子を多用する言語じゃないとありがたみを感じない
727デフォルトの名無しさん
2022/06/19(日) 19:43:10.79ID:Iqvgk6im なんとRustには関数オーバーロードが存在しないのだ!
だからトレイトでクソ面倒臭い実装でむにゃむにゃしないと実現できない!
でもそんなことして何が嬉しいのかわからない!
Rustは可変長引数もないしC++と比較してまだまだ機能的にはぜんぜん追いついてないよ
だからトレイトでクソ面倒臭い実装でむにゃむにゃしないと実現できない!
でもそんなことして何が嬉しいのかわからない!
Rustは可変長引数もないしC++と比較してまだまだ機能的にはぜんぜん追いついてないよ
728デフォルトの名無しさん
2022/06/19(日) 19:47:20.02ID:WtnMKA9r そうですね
あなたはRustではなくC++を使い続けてください
あなたはRustではなくC++を使い続けてください
729デフォルトの名無しさん
2022/06/19(日) 20:02:56.72ID:61bWOpc5 カリー化ってオーバーロードで代替できるのか?
730デフォルトの名無しさん
2022/06/19(日) 21:29:31.34ID:10dVJy7y // 引数2つの関数 (例としてたまたま足し算)
let add_x_y = |x, y| x + y;
assert_eq!(5, add_x_y(2, 3));
// 引数1つの関数をそこから作り出す (カリー化)
let add_x = |x| move |y| add_x_y(x, y);
// 段階適用
let add_2 = add_x(2);
assert_eq!(5, add_2(3));
// 一気適用
assert_eq!(5, add_x(2)(3));
let add_x_y = |x, y| x + y;
assert_eq!(5, add_x_y(2, 3));
// 引数1つの関数をそこから作り出す (カリー化)
let add_x = |x| move |y| add_x_y(x, y);
// 段階適用
let add_2 = add_x(2);
assert_eq!(5, add_2(3));
// 一気適用
assert_eq!(5, add_x(2)(3));
731デフォルトの名無しさん
2022/06/19(日) 22:04:00.15ID:gGrS7GAs >>725
関数を書くたびにカリー化のためのオーバーロード書いていくのは面倒くさすぎるでしょ
関数を書くたびにカリー化のためのオーバーロード書いていくのは面倒くさすぎるでしょ
732デフォルトの名無しさん
2022/06/19(日) 22:26:44.97ID:fArfwr+a カリー化なあ……
rust だとライフタイムの管理がちょっと複雑になると手におえんだろ
理屈はともかくとして、普通のプログラマにとっては割に合わない
rust だとライフタイムの管理がちょっと複雑になると手におえんだろ
理屈はともかくとして、普通のプログラマにとっては割に合わない
733デフォルトの名無しさん
2022/06/19(日) 22:32:20.86ID:8/kH/R2d https://ja.cppreference.com/w/cpp/language/overload_resolution
これを少しでも理解しようとしたことがあるなら、RustにC++並の無制約なオーバーロードが欲しいとは思わないだろうよ
これを少しでも理解しようとしたことがあるなら、RustにC++並の無制約なオーバーロードが欲しいとは思わないだろうよ
734デフォルトの名無しさん
2022/06/20(月) 06:57:08.63ID:E2oosySA 安直に引数個分のダミーパラメータを与えるカリー化マクロcurry!を用意してみた
macro_rules! curry (
($func_name:path, $first_arg:ident $(, $arg:ident )*) => {
|$first_arg| $(move |$arg|)* $func_name($first_arg $(, $arg)*)
};
);
引数が2つの例
let add = |x, y| x + y;
let curry_add = curry!(add, a, b);
assert_eq!(curry_add(1)(2), add(1, 2));
引数が5つの例
let func = |p, q, r, s, t| p + q * r - s / t;
let curry_func = curry!(func, a, b, c, d, e);
assert_eq!(curry_func(5)(4)(3)(2)(1), func(5, 4, 3, 2, 1));
標準ライブラリの文字列replace関数をカリー化
let curry_str_replace = curry!(str::replace, src, old, new);
assert_eq!(curry_str_replace("abcdefg")("cde")("CDE"), "abCDEfg");
let 自己紹介 = curry_str_replace("私の名前は_NAME_です")("_NAME_");
assert_eq!(自己紹介("名無し"), "私の名前は名無しです");
意外にそこそこ使えた
macro_rules! curry (
($func_name:path, $first_arg:ident $(, $arg:ident )*) => {
|$first_arg| $(move |$arg|)* $func_name($first_arg $(, $arg)*)
};
);
引数が2つの例
let add = |x, y| x + y;
let curry_add = curry!(add, a, b);
assert_eq!(curry_add(1)(2), add(1, 2));
引数が5つの例
let func = |p, q, r, s, t| p + q * r - s / t;
let curry_func = curry!(func, a, b, c, d, e);
assert_eq!(curry_func(5)(4)(3)(2)(1), func(5, 4, 3, 2, 1));
標準ライブラリの文字列replace関数をカリー化
let curry_str_replace = curry!(str::replace, src, old, new);
assert_eq!(curry_str_replace("abcdefg")("cde")("CDE"), "abCDEfg");
let 自己紹介 = curry_str_replace("私の名前は_NAME_です")("_NAME_");
assert_eq!(自己紹介("名無し"), "私の名前は名無しです");
意外にそこそこ使えた
735デフォルトの名無しさん
2022/06/20(月) 07:08:36.46ID:10Lmd2dP736デフォルトの名無しさん
2022/06/20(月) 07:31:28.70ID:iAqd5FsI シャドーイングは許容できて関数のオーバーロードが許容できない理由ってなんだろう
737デフォルトの名無しさん
2022/06/20(月) 07:34:05.79ID:E2oosySA738デフォルトの名無しさん
2022/06/20(月) 07:44:20.63ID:E2oosySA >>736
シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果
オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果
シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果
オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果
739デフォルトの名無しさん
2022/06/20(月) 10:29:58.07ID:anfwvwwH >>735
読む時にはどのオーバーロードが呼ばれるのかを確認するのが面倒
RustだとT, &T, &mut T違いもあるから他の言語よりもさらに面倒
メリットよりデメリットのほうが大きいと感じる人が多いんじゃないかな
デフォルト引数/オプション引数/キーワード引数はいずれ導入して欲しい
乱用されるとAPIが汚くなるがオーバーロードほどのデメリットはないと思ってる
読む時にはどのオーバーロードが呼ばれるのかを確認するのが面倒
RustだとT, &T, &mut T違いもあるから他の言語よりもさらに面倒
メリットよりデメリットのほうが大きいと感じる人が多いんじゃないかな
デフォルト引数/オプション引数/キーワード引数はいずれ導入して欲しい
乱用されるとAPIが汚くなるがオーバーロードほどのデメリットはないと思ってる
740デフォルトの名無しさん
2022/06/20(月) 10:47:53.81ID:1agQsnkM 真理値なんてどんなアホが訳してんだ
741デフォルトの名無しさん
2022/06/20(月) 11:11:29.76ID:G0GSIi1k 元の英語から違うので訳の問題ではありません (truth value)
742デフォルトの名無しさん
2022/06/20(月) 11:17:59.13ID:c9A58FBc logical values 論理値
truth values 真理値
true or false values 真偽値
Boolean values ブール値
ブール値じゃ分かりにくいと仮定して論理値、真理値、真偽値のどれを選ぶかってこと
the book日本語訳の人はRustの文脈での分かりやすさよりも土台となってる分野で広く使われてる訳語がいいと判断することが多い印象
truth values 真理値
true or false values 真偽値
Boolean values ブール値
ブール値じゃ分かりにくいと仮定して論理値、真理値、真偽値のどれを選ぶかってこと
the book日本語訳の人はRustの文脈での分かりやすさよりも土台となってる分野で広く使われてる訳語がいいと判断することが多い印象
743デフォルトの名無しさん
2022/06/20(月) 11:29:41.63ID:qsA991ej まぁプログラマーでござい(ドヤッ!な勘違いの陰キャチー牛の癖に英語読めないポンコツなの日本人くらいだからなwww
744はちみつ餃子 ◆8X2XSCHEME
2022/06/20(月) 12:24:24.66ID:6BcBi/VL 同じ意味とされることもあるが、若干のニュアンスの差もあると思うんだよな。
ブールはブール代数から取ってるんだから当然に代数的な操作に使うという感覚があるし、
真理値は論理学の方面で抽象的な概念 (命題とか集合とか) に対応付く場合もある気がする。
個人的には論理値が最も中立というか、ただ真と偽の値を持つものという雰囲気を感じる。
ブール ⊂ 真理値 ⊂ 論理値 な感じ。
ブールはブール代数から取ってるんだから当然に代数的な操作に使うという感覚があるし、
真理値は論理学の方面で抽象的な概念 (命題とか集合とか) に対応付く場合もある気がする。
個人的には論理値が最も中立というか、ただ真と偽の値を持つものという雰囲気を感じる。
ブール ⊂ 真理値 ⊂ 論理値 な感じ。
745デフォルトの名無しさん
2022/06/20(月) 12:43:05.08ID:G0GSIi1k たかが二値論理の値の型でしかないものを誰がboolだのbooleanだの呼び始めたのかと思って調べたらALGOL60だった
746デフォルトの名無しさん
2022/06/20(月) 12:43:22.11ID:zDrv1zgC 真理値だけは3値以上の場合も含むからちょっと意味が広い感じはする
747デフォルトの名無しさん
2022/06/20(月) 13:11:27.43ID:bsAvnwWF 関数オーバーロードをありがたがってるのはジャバの連中だけ
748デフォルトの名無しさん
2022/06/20(月) 15:32:26.58ID:nUFjxYTv 論理値は非古典論理の値も含むからさらに広いな。
749デフォルトの名無しさん
2022/06/20(月) 15:34:13.37ID:rudBfZT/750デフォルトの名無しさん
2022/06/20(月) 16:12:28.65ID:Wp6+mQEy751デフォルトの名無しさん
2022/06/20(月) 16:33:57.18ID:vXHoc6MR どうでもいいけどwasmerがaarch64 完全対応したということで、rust+wasm+wasmerでcliを試してみたけど完全にただのjavaで草生えた
752はちみつ餃子 ◆8X2XSCHEME
2022/06/20(月) 16:55:48.44ID:6BcBi/VL Wasm は JVM より低レイヤ寄りだから設計思想は違うんだが……。
でも Java がやってた領域をかなり奪うとは思う。
Android で JVM を使っている部分を Wasm に置き換えたような OS とかもその内に出てくるんじゃないかね?
でも Java がやってた領域をかなり奪うとは思う。
Android で JVM を使っている部分を Wasm に置き換えたような OS とかもその内に出てくるんじゃないかね?
753デフォルトの名無しさん
2022/06/20(月) 17:33:23.64ID:ib2o9qWW 個人的にWasmよりもTauriの方が開発環境構築がめちゃ楽でシンプルだから好き
クロプラの一番の課題って今も昔も設定の煩わしさだよね俺はconfigマスターになりたいわけじゃねーんだよ!
モバイル対応がまだだけどちゃんと予定はあるからTauriが流行ってほしいな
クロプラの一番の課題って今も昔も設定の煩わしさだよね俺はconfigマスターになりたいわけじゃねーんだよ!
モバイル対応がまだだけどちゃんと予定はあるからTauriが流行ってほしいな
754デフォルトの名無しさん
2022/06/20(月) 17:52:06.79ID:cgMFd80D wasmとtauriって別にそういう競合するポジションとかじゃなくね?
755デフォルトの名無しさん
2022/06/20(月) 17:55:14.20ID:JDT/MbKD Tauriはただのwasmのレンダラーだよ。Chromium内蔵をやめて実装をRustにしたElectron。
wasmerはレンダラーしないwasm実行環境。
wasmerはレンダラーしないwasm実行環境。
756デフォルトの名無しさん
2022/06/20(月) 17:56:48.16ID:E2oosySA757はちみつ餃子 ◆8X2XSCHEME
2022/06/20(月) 18:19:59.87ID:6BcBi/VL >>756
論理和・論理積に対応する英語は logical disjunction / logical conjunction であって、 logical or / logical and ではない。
(でも演算子として OR / AND を使った表記をすることはよくあるし……。 カジュアルな場面では曖昧だったりするのかな?)
logical or / logical and は bitwise or / bitwise and と区別するために新しく作られたプログラミング用語として考えるべきで、
もちろん過去からの様々な分野の用語を踏襲してはいるにしてもあまり対応づけて考える必要はないと思う。
bool は人名 (固有名詞) に由来するんだからそのままブール値と訳すのに一票。
論理和・論理積に対応する英語は logical disjunction / logical conjunction であって、 logical or / logical and ではない。
(でも演算子として OR / AND を使った表記をすることはよくあるし……。 カジュアルな場面では曖昧だったりするのかな?)
logical or / logical and は bitwise or / bitwise and と区別するために新しく作られたプログラミング用語として考えるべきで、
もちろん過去からの様々な分野の用語を踏襲してはいるにしてもあまり対応づけて考える必要はないと思う。
bool は人名 (固有名詞) に由来するんだからそのままブール値と訳すのに一票。
758デフォルトの名無しさん
2022/06/20(月) 18:37:04.96ID:E2oosySA >>757
まずRustを含めてプログラミング用語の話においてのみboolが出てくるのだから他へ話を広げる必要なし
次にbitwise andに対してboolean andと言わずにlogical andと用いられているのはlogicalが説明としても用語としても妥当であるため
日本語としてもカタカナ訳語を使う必要はなく論理値や論理演算子でよいのではないかな
まずRustを含めてプログラミング用語の話においてのみboolが出てくるのだから他へ話を広げる必要なし
次にbitwise andに対してboolean andと言わずにlogical andと用いられているのはlogicalが説明としても用語としても妥当であるため
日本語としてもカタカナ訳語を使う必要はなく論理値や論理演算子でよいのではないかな
759デフォルトの名無しさん
2022/06/20(月) 18:41:04.35ID:cgMFd80D 自転車置き場の議論楽しいんんねええええ
760デフォルトの名無しさん
2022/06/20(月) 18:45:53.95ID:fDP2JAl4 Tauriのモバイル対応はwasmのUIフレームワークの整備が進んでいないから、まだいいかな
このままモバイル対応しても、せいぜいReact Native アプリのバックエンドがwasmになって実行速度を少し改善するくらい
全てはWASM実装可能なUIフレームワークの成長次第だから、Yewは頑張ってくれ!
このままモバイル対応しても、せいぜいReact Native アプリのバックエンドがwasmになって実行速度を少し改善するくらい
全てはWASM実装可能なUIフレームワークの成長次第だから、Yewは頑張ってくれ!
761デフォルトの名無しさん
2022/06/20(月) 18:51:29.68ID:vXHoc6MR もしreact 自体をウェブアセンブリとしてビルドできたら、、革命起きそう
762デフォルトの名無しさん
2022/06/20(月) 19:08:40.42ID:MJF5Q/rm763デフォルトの名無しさん
2022/06/20(月) 19:10:28.51ID:Lqu2R1w+ Reactはもういいよウェブベースのクロプラフロントエンドフレームワークの問題を凝縮した実装だから早く消えてほしい
ライフサイクルと状態管理を開発者に丸投げすることを正当化させた罪は重い
MSのオールインワンな開発環境がエンタープライズ分野で今でも支持される理由ってここだと思う
ライフサイクルと状態管理を開発者に丸投げすることを正当化させた罪は重い
MSのオールインワンな開発環境がエンタープライズ分野で今でも支持される理由ってここだと思う
764デフォルトの名無しさん
2022/06/20(月) 19:13:28.43ID:j7veV6LL MSのweb開発フレームワークとプラットフォームはくそじゃん
765デフォルトの名無しさん
2022/06/20(月) 19:27:45.70ID:JN5oCIkY766デフォルトの名無しさん
2022/06/20(月) 21:40:21.97ID:W1rh1Xym >>755
ん?言ってる意味がわからないんだけどTauriのUIレンダリングプロセスはJS/TS/ReactなんかのウェブベースのフロントエンドFWだが?
Chromiumやnode.jsをバイナリに含めずプラットフォームのWebView(WenKit)を使うからサイズが小さいのだが?
レンダラーがWasmってどういうこと?具体的かつ納得できる説明よろ
ん?言ってる意味がわからないんだけどTauriのUIレンダリングプロセスはJS/TS/ReactなんかのウェブベースのフロントエンドFWだが?
Chromiumやnode.jsをバイナリに含めずプラットフォームのWebView(WenKit)を使うからサイズが小さいのだが?
レンダラーがWasmってどういうこと?具体的かつ納得できる説明よろ
767はちみつ餃子 ◆8X2XSCHEME
2022/06/20(月) 21:43:08.29ID:6BcBi/VL DOM (またはそれの元になる html や JavaScript とかも含むのかも?) を生成することをレンダリングと呼ぶ界隈が存在するぞい。
768デフォルトの名無しさん
2022/06/20(月) 22:04:16.75ID:x7QB4AuO769デフォルトの名無しさん
2022/06/20(月) 22:08:03.20ID:j7veV6LL その前に
> レンダラーがWasmってどういうこと?
誰もこんなこと言って無くね?
> レンダラーがWasmってどういうこと?
誰もこんなこと言って無くね?
770デフォルトの名無しさん
2022/06/20(月) 22:20:30.26ID:G0GSIi1k 「wasmのレンダラー」の意味不明度が高すぎて混乱しているのだろう……
771デフォルトの名無しさん
2022/06/20(月) 22:33:21.69ID:vXHoc6MR wasmのレンダラーっていうのはtauri+yewの組み合わせなら間違ってないよ
彼はtauriがreactやvueもレンダリングできるってことを言いたいんじゃないの?
tauriはwebviewのrustやjavascriptのバインディングを提供するフレームワークだと自分は解釈してる
彼はtauriがreactやvueもレンダリングできるってことを言いたいんじゃないの?
tauriはwebviewのrustやjavascriptのバインディングを提供するフレームワークだと自分は解釈してる
772デフォルトの名無しさん
2022/06/20(月) 22:43:18.28ID:vXHoc6MR ちなみにjavascriptバインディングの無い既出の"web-view"ってのがcrate.ioにある
こっちは正真正銘wasmのレンダラーよ
https://crates.io/crates/web-view
こっちは正真正銘wasmのレンダラーよ
https://crates.io/crates/web-view
773デフォルトの名無しさん
2022/06/20(月) 22:49:34.14ID:RTpsTrZi だからwasmのレンダラーっていう書き方が悪いだろうよ
頭の悪いひとたちのために「wasmをレンダーするひと」って書け
頭の悪いひとたちのために「wasmをレンダーするひと」って書け
774デフォルトの名無しさん
2022/06/20(月) 22:54:18.58ID:X5CbdNui Tauri can render JavaScript and WASM and more.
ほら、これでいいか?
ほら、これでいいか?
775デフォルトの名無しさん
2022/06/20(月) 22:57:56.00ID:nM7DxFpE UIフレームワークの話なんか何が面白いの?
776デフォルトの名無しさん
2022/06/20(月) 23:01:44.97ID:DwXFtGxu さあ?
777デフォルトの名無しさん
2022/06/20(月) 23:01:47.43ID:FYZjQUUW778デフォルトの名無しさん
2022/06/20(月) 23:06:38.97ID:FiNSG1Db まあフロントやらずにバックだけ開発の人には関係ない話だな
779デフォルトの名無しさん
2022/06/20(月) 23:12:11.87ID:2JvwDfXO 違う話題って事で
「Rust for Rustaseans」って本めっちゃいいぞ
オライリー本やThe Bookの入門レベルを終えてある程度Rustでプログラム書いた後に読むといい
「Rust for Rustaseans」って本めっちゃいいぞ
オライリー本やThe Bookの入門レベルを終えてある程度Rustでプログラム書いた後に読むといい
780デフォルトの名無しさん
2022/06/20(月) 23:14:12.29ID:2JvwDfXO スペル間違ってた
恥ずい
恥ずい
781デフォルトの名無しさん
2022/06/20(月) 23:19:15.21ID:j7veV6LL >>779
なかなかそのレベルまで遠いんだろうな
なかなかそのレベルまで遠いんだろうな
782デフォルトの名無しさん
2022/06/21(火) 01:19:44.55ID:rZ1ZoU3X >>773 >>774
二人ともおかしい
wasmをレンダーすることはない
一般的にレンダリングとは抽象データから実データを生成すること
今回はTauriの話のようだからレンダリングは2階層あって
1つはTauri上で作るアプリが自分のデータからDOM(HTML)を生成するレンダリング
もう1つはTauri自体がそのDOM(HTML)からコンピューター画面へ描画生成するレンダリング
wasmが関係するとしたら前者
つまりwasm上で動くアプリがDOMを生成するレンダリング
wasmを使わない昔からのやり方ではJavaScript上で動くアプリがレンダリング
つまり対比点はwasmがレンダーするかJavaScriptがレンダーするか、とも言えることから
>>766
> レンダラーがWasmってどういうこと?
ここへ繋がるのではないかと推測
つまりRustコードを書くだけでアプリ作成を完結できるか否かの話にみえる
二人ともおかしい
wasmをレンダーすることはない
一般的にレンダリングとは抽象データから実データを生成すること
今回はTauriの話のようだからレンダリングは2階層あって
1つはTauri上で作るアプリが自分のデータからDOM(HTML)を生成するレンダリング
もう1つはTauri自体がそのDOM(HTML)からコンピューター画面へ描画生成するレンダリング
wasmが関係するとしたら前者
つまりwasm上で動くアプリがDOMを生成するレンダリング
wasmを使わない昔からのやり方ではJavaScript上で動くアプリがレンダリング
つまり対比点はwasmがレンダーするかJavaScriptがレンダーするか、とも言えることから
>>766
> レンダラーがWasmってどういうこと?
ここへ繋がるのではないかと推測
つまりRustコードを書くだけでアプリ作成を完結できるか否かの話にみえる
783デフォルトの名無しさん
2022/06/21(火) 01:28:03.75ID:rVN8NDnU784デフォルトの名無しさん
2022/06/21(火) 01:29:27.34ID:l/hCBOZ3 今スレの怪文書頂上決戦
52 デフォルトの名無しさん sage 2022/05/16(月) 19:06:18.85 ID:78bNbDCr
>>49
デタラメすぎ
ムーブでビットパターンのコピーは発生しない
ビットパターンのコピーが発生するのは引数の値渡し等であってムーブとは関係ない
さらに引数の値渡しでのでビットパターンのコピーとCopyのコピーも全く異なる
Copyのコピーはディープであって高コスト
755 デフォルトの名無しさん sage 2022/06/20(月) 17:55:14.20 ID:JDT/MbKD
Tauriはただのwasmのレンダラーだよ。Chromium内蔵をやめて実装をRustにしたElectron。
wasmerはレンダラーしないwasm実行環境。
52 デフォルトの名無しさん sage 2022/05/16(月) 19:06:18.85 ID:78bNbDCr
>>49
デタラメすぎ
ムーブでビットパターンのコピーは発生しない
ビットパターンのコピーが発生するのは引数の値渡し等であってムーブとは関係ない
さらに引数の値渡しでのでビットパターンのコピーとCopyのコピーも全く異なる
Copyのコピーはディープであって高コスト
755 デフォルトの名無しさん sage 2022/06/20(月) 17:55:14.20 ID:JDT/MbKD
Tauriはただのwasmのレンダラーだよ。Chromium内蔵をやめて実装をRustにしたElectron。
wasmerはレンダラーしないwasm実行環境。
785デフォルトの名無しさん
2022/06/21(火) 08:26:51.74ID:82ugTJay TauriはJavaScriptやWebAssemblyをWebViewが理解できる機械語に変換するライブラリじゃないの?
786デフォルトの名無しさん
2022/06/21(火) 08:42:00.86ID:X7xq+hMN オーバーロードがなぜ出来ないかって、型推論の完全性が失われるからじゃないの?
787デフォルトの名無しさん
2022/06/21(火) 08:56:29.88ID:TERGIQkG taui+webview==web rendererであってtaui≠=web rendererだから。
だからtauiがwasmやjavascript のrendererというのは間違い。
tauiを媒介したwebviewがwasmやjavascriptのrendererだから。
だからtauiがwasmやjavascript のrendererというのは間違い。
tauiを媒介したwebviewがwasmやjavascriptのrendererだから。
788デフォルトの名無しさん
2022/06/21(火) 08:59:28.38ID:vO+TReRM 俺はフロントエンドやらないからこのスレでTauriの話をしないでくれ
789デフォルトの名無しさん
2022/06/21(火) 09:03:37.95ID:E/HTpvzq renderやらrendererやら、レンダーやらレンダラーやら、ややこしいなおい
790デフォルトの名無しさん
2022/06/21(火) 09:08:13.67ID:OsotcMPi オーバーロードは無くていい派
791デフォルトの名無しさん
2022/06/21(火) 09:17:14.76ID:rK2P992k ジェネリクスで表現できるくらいの自明なものはオーバーロードしてもいいけど
それ以上に挙動が変わるなら名前変えたほうがいいと思ってるから
結局オーバーロードは無くていいかな
それ以上に挙動が変わるなら名前変えたほうがいいと思ってるから
結局オーバーロードは無くていいかな
792デフォルトの名無しさん
2022/06/21(火) 09:18:38.16ID:LcZeBWSd オーバーロードできないのは違和感あるけどすぐ慣れるぞ。頑張れ。
793デフォルトの名無しさん
2022/06/21(火) 09:27:48.90ID:e1jAZPeO >>784
言ってる本人が理解してないだけでwasmレンダラーって言い方はあるよ
言ってる本人が理解してないだけでwasmレンダラーって言い方はあるよ
794デフォルトの名無しさん
2022/06/21(火) 09:38:22.89ID:TERGIQkG TauriがElectronみたいにWebViewを内蔵してないから、TauriがWASMのレンダラーって勘違いしちゃったってことだな
よし解決したなUIの話はもう十分だろ
よし解決したなUIの話はもう十分だろ
795デフォルトの名無しさん
2022/06/21(火) 09:48:41.18ID:aUxUUrSq 古今東西ウェブのレンダラーってレンダリングエンジンのことじゃん
んで歴史あるASPを例にMS公式の解説を引用するならDSLのようにHTMLコードに変換(=レンダリング)する処理系ってことだよ
wasmモジュール(バイナリ)に変換するためのレンダラーはEmscriptenだからwasmがレンダラーって認識は間違い
んで歴史あるASPを例にMS公式の解説を引用するならDSLのようにHTMLコードに変換(=レンダリング)する処理系ってことだよ
wasmモジュール(バイナリ)に変換するためのレンダラーはEmscriptenだからwasmがレンダラーって認識は間違い
796デフォルトの名無しさん
2022/06/21(火) 09:58:17.91ID:4fSeXEQO なぜそこでemscriptenが出てくるんだ?
797デフォルトの名無しさん
2022/06/21(火) 10:01:09.64ID:4fSeXEQO いい加減「wasmのレンダラー」を「wasmがレンダラー」と読むのやめたら?
798デフォルトの名無しさん
2022/06/21(火) 10:03:06.58ID:4fSeXEQO 「wasmのレンダラー」は、wasmでビルドされたレンダラーじゃなくて、wasmバイナリを読み込むことができるレンダラーってことじゃないの?
799デフォルトの名無しさん
2022/06/21(火) 10:04:20.02ID:lcATvJP3 >>795
それは視野が狭い
例えばウェブ業界でCSR(client side rendering)やSSR(server side rendering)と言うときのレンダリングとはHTML/DOMを生成することを指す
CSRはブラウザ等の中でそれを行なうのでReact等ではJavaScriptでレンダリングをするしYew等ではWasm/Rustでレンダリングする
つまりWasmでレンダリングするということはTauriでは全てのコードをRustで書けることになる
それは視野が狭い
例えばウェブ業界でCSR(client side rendering)やSSR(server side rendering)と言うときのレンダリングとはHTML/DOMを生成することを指す
CSRはブラウザ等の中でそれを行なうのでReact等ではJavaScriptでレンダリングをするしYew等ではWasm/Rustでレンダリングする
つまりWasmでレンダリングするということはTauriでは全てのコードをRustで書けることになる
800デフォルトの名無しさん
2022/06/21(火) 10:09:54.89ID:l/hCBOZ3 cssを読み込んで適用できるからってわざわざそのレンダリングエンジンのことをcssレンダラーって呼ぶことがあるか?
801デフォルトの名無しさん
2022/06/21(火) 10:11:12.61ID:5vOFCGpG >>797
Rust使いはASTまでは構築できてもそこから意味理解が弱いんだろうな
Rust使いはASTまでは構築できてもそこから意味理解が弱いんだろうな
802デフォルトの名無しさん
2022/06/21(火) 10:12:25.82ID:D95D9dWE きみたちは一度これを読んだほうがいい
Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう
Chapter 03 Tauri の概要
https://zenn.dev/kumassy/books/6e518fe09a86b2/viewer/168468
より
アーキテクチャ
Tauri のアーキテクチャを図示すると、次のようになります
https://storage.googleapis.com/zenn-user-upload/e215aef57b0a-20220610.png
Core Process はアプリケーション全体のライフサイクル管理を行ったり、 OS のインターフェース(メニューや通知など)の操作、 WebView Process の管理などを行います。
Core Process のコードは Rust で記述されるので、標準ライブラリも crate.io で公開されているライブラリも利用できます。 Tauri は非同期ランタイムとして tokio を利用しているので、非同期 Rust も使えます! Rust のコードはアプリケーションのビルド時にネイティブコードにコンパイルされるので、高速に動作します
WebView Process は Web コンテンツのレンダリングを行うプロセスです。通常の Web ページと同様に、 index.html, JavaScript, CSS から構成されて、 wry にラップされた WebView で動作します。
Tauri の JavaScript API を利用することで、 Core Process と通信したり、ファイルシステムにアクセスしたり、通知を表示する、などの操作が可能です。
WebView Process から WebView のサンドボックスを超えていろいろな操作できてしまうとセキュリティ上問題になることがあります。そこで、 tauri では JavaScript API で利用する API を allowlist に明示的に記述する必要があります。 Electron では preload スクリプトによって Renderer Process に公開する API を制限できましたが、同様の仕組みは allowlist で実現できます。
Tauri でアプリケーションを作ると Electron とは違い、 Chromium と Node.js 実行環境をバンドルする必要がないので、アプリケーションのサイズを小さく保つことができます
Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう
Chapter 03 Tauri の概要
https://zenn.dev/kumassy/books/6e518fe09a86b2/viewer/168468
より
アーキテクチャ
Tauri のアーキテクチャを図示すると、次のようになります
https://storage.googleapis.com/zenn-user-upload/e215aef57b0a-20220610.png
Core Process はアプリケーション全体のライフサイクル管理を行ったり、 OS のインターフェース(メニューや通知など)の操作、 WebView Process の管理などを行います。
Core Process のコードは Rust で記述されるので、標準ライブラリも crate.io で公開されているライブラリも利用できます。 Tauri は非同期ランタイムとして tokio を利用しているので、非同期 Rust も使えます! Rust のコードはアプリケーションのビルド時にネイティブコードにコンパイルされるので、高速に動作します
WebView Process は Web コンテンツのレンダリングを行うプロセスです。通常の Web ページと同様に、 index.html, JavaScript, CSS から構成されて、 wry にラップされた WebView で動作します。
Tauri の JavaScript API を利用することで、 Core Process と通信したり、ファイルシステムにアクセスしたり、通知を表示する、などの操作が可能です。
WebView Process から WebView のサンドボックスを超えていろいろな操作できてしまうとセキュリティ上問題になることがあります。そこで、 tauri では JavaScript API で利用する API を allowlist に明示的に記述する必要があります。 Electron では preload スクリプトによって Renderer Process に公開する API を制限できましたが、同様の仕組みは allowlist で実現できます。
Tauri でアプリケーションを作ると Electron とは違い、 Chromium と Node.js 実行環境をバンドルする必要がないので、アプリケーションのサイズを小さく保つことができます
803デフォルトの名無しさん
2022/06/21(火) 10:30:52.39ID:ZcKPa2VS >>751 の、WASI実装のwasmerによるrustのVM言語化の話は興味深いけど、GUIフレームワークTauriの話はいい加減スレチ
Electronスレにでも行って議論してくれ
Electronスレにでも行って議論してくれ
804デフォルトの名無しさん
2022/06/21(火) 10:39:20.05ID:lcATvJP3 >>802にあるようにHTML/DOMから画面へのレンダリングはWebViewがしてくれるからアプリ開発者は関与しない
アプリ開発者が関与するのはアプリデータからHTML/DOMへのレンダリング部分のコードを書くこと
この点はWeb開発でもTauriでも同じ
アプリ開発者が関与するのはアプリデータからHTML/DOMへのレンダリング部分のコードを書くこと
この点はWeb開発でもTauriでも同じ
805デフォルトの名無しさん
2022/06/21(火) 11:04:51.42ID:uvaWF54t 結局怪文書の出どころはいつものオジだったww
いい加減聞きかじりで知ったかぶりするのやめたら?
いい加減聞きかじりで知ったかぶりするのやめたら?
806デフォルトの名無しさん
2022/06/21(火) 11:08:08.11ID:g+0qioKO 間違いを指摘してくれる人が周りにいないんだろうな
807デフォルトの名無しさん
2022/06/21(火) 11:11:56.32ID:RyNZqEbO IDコロコロしないでほしいわせめて
コテハンつけてくれたらNG捗るのになあ
「所有権の複製」のときから思ってたけど
コテハンつけてくれたらNG捗るのになあ
「所有権の複製」のときから思ってたけど
808デフォルトの名無しさん
2022/06/21(火) 11:13:49.44ID:7sQPW1UK tauriでNGすればおけ
809デフォルトの名無しさん
2022/06/21(火) 11:26:02.71ID:l/hCBOZ3 じゃあ次スレこそはワッチョイつけようか
810デフォルトの名無しさん
2022/06/21(火) 11:28:36.35ID:pS+FR3pl811デフォルトの名無しさん
2022/06/21(火) 11:38:04.80ID:mlYOyxJ9812デフォルトの名無しさん
2022/06/21(火) 11:49:09.87ID:GSNSCBV0 論理構成が薄弱で常に自己正当化するためだけにレスを重ねる人は相手にしちゃダメなんだよ
特にほぼすべてのレスで相手を否定する言葉から始める人はある種の病気だと思って対処した方がいい
論理的な批判に耳を貸す相手じゃないから
特にほぼすべてのレスで相手を否定する言葉から始める人はある種の病気だと思って対処した方がいい
論理的な批判に耳を貸す相手じゃないから
813デフォルトの名無しさん
2022/06/21(火) 11:55:22.58ID:RyNZqEbO コテハンつけてくれるんなら
俺は今後一切複製クンを馬鹿にしないし
むしろ尊敬するから頼むからつけてほしい
俺は今後一切複製クンを馬鹿にしないし
むしろ尊敬するから頼むからつけてほしい
814デフォルトの名無しさん
2022/06/21(火) 12:14:34.84ID:l/hCBOZ3 >>980
ワッチョイついでで思い出したけどvs C++へのリンクは落ちてるから消しといてくれ
ワッチョイついでで思い出したけどvs C++へのリンクは落ちてるから消しといてくれ
815デフォルトの名無しさん
2022/06/22(水) 07:37:30.53ID:EdrHrSzx >>719
これ和製英語もそうだが和製発音も相当やばいよ
今ホットなウクライナがバリバリの和製発音でUkraineって本来ユークレインて発音するからな
英語できないでボランティア行ったやつウクライナ!ウクライナ!って全く通じない発音を連呼してたかと思うとはこっちが恥ずかしくてまさにもう見てらんない!
いい加減に読みも発音もグローバルスタンダードにしろっつーの何でもかんでもガラパゴスなの頭悪すぎる
これ和製英語もそうだが和製発音も相当やばいよ
今ホットなウクライナがバリバリの和製発音でUkraineって本来ユークレインて発音するからな
英語できないでボランティア行ったやつウクライナ!ウクライナ!って全く通じない発音を連呼してたかと思うとはこっちが恥ずかしくてまさにもう見てらんない!
いい加減に読みも発音もグローバルスタンダードにしろっつーの何でもかんでもガラパゴスなの頭悪すぎる
816デフォルトの名無しさん
2022/06/22(水) 07:45:18.19ID:qSL2YnBO だからなに
817デフォルトの名無しさん
2022/06/22(水) 08:24:23.86ID:s09CCxIL >>815
ウィーンをヴィエナって言えってか?
ウィーンをヴィエナって言えってか?
818デフォルトの名無しさん
2022/06/22(水) 08:24:47.41ID:48p4Di1y 頭悪くても使えりゃいい
819デフォルトの名無しさん
2022/06/22(水) 10:01:54.69ID:U3SsHgc3 >>815
強いて言えばウクライーナってくらいで和製発音じゃないから通じるよ
日本は英米と違って中華系の地名・名前以外は現地発音に寄せてるものが多い
中華系は日本語漢字読みだと外国人には全く通じない(中国人・台湾人なら漢字で書けば通じる)
Rustも最初はルーストって発音してる人いたよね
Scalaをスケイラとかも
強いて言えばウクライーナってくらいで和製発音じゃないから通じるよ
日本は英米と違って中華系の地名・名前以外は現地発音に寄せてるものが多い
中華系は日本語漢字読みだと外国人には全く通じない(中国人・台湾人なら漢字で書けば通じる)
Rustも最初はルーストって発音してる人いたよね
Scalaをスケイラとかも
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 「タワマン天国」に飛びつく若者…SNSに転がる「成功体験」に続けるのか 湾岸エリアの業者が語った現実 [蚤の市★]
- 【カブス】今永昇太 1年約34億円で残留へ QO受諾 米メディア報じる [鉄チーズ烏★]
- 【悲報】おこめ券、9.5億円配布分のうち2.4億が経費、うちJAが1億円中抜き🤗高市ありがとう [359965264]
- 【悲報】高市有事で日本に同調する国、1つも現れないwwwwwwwwwwwwwww [603416639]
- 【雑談】暇人集会所part19
- 不知火フレア、尾丸ポルカ、星街すいせい、さくらみこ、白銀ノエル「「「「「お前くんっ!結婚して!」」」」」←誰を選ぶ?
- 自閉症が「んなっしょい」と連呼するお🏡
- ブラックフライデーでダークソウル買って初プレイしてみようかなと思うけどどうかな
