公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
公式ドキュメント
https://www.rust-lang.org/learn
Web上の実行環境
https://play.rust-lang.org
※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/
※次スレは原則>>980が立てること
前スレ
Rust part20
https://mevius.2ch.net/test/read.cgi/tech/1677771928/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
探検
Rust part21
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2023/08/15(火) 22:24:39.45ID:xzxy4cgp19デフォルトの名無しさん
2023/08/16(水) 10:47:04.56ID:tgyEZLGb2023/08/16(水) 14:44:41.59ID:1NDN9ysp
>>17
rustupがリンクが使えるファイルシステム?じゃないと動かないっぽい
ノートPCでNTFSパーティションがカツカツなのでSDカード(FAT32)上にインストールしたいがリンクできないとか怒られる
rustcやcargoはリンクできないから動かないようには見えないしよくわからない制限
この現象は公式フォーラムにも書かれていたがパーティションを変更するみたいな回答しかなかった
現状はネイティブビルド環境は公式からプレビルドのバイナリを落としてきて解凍すれば構築できるが
そのような代替手段がない?クロスビルド環境は構築できない状態
rustupがリンクが使えるファイルシステム?じゃないと動かないっぽい
ノートPCでNTFSパーティションがカツカツなのでSDカード(FAT32)上にインストールしたいがリンクできないとか怒られる
rustcやcargoはリンクできないから動かないようには見えないしよくわからない制限
この現象は公式フォーラムにも書かれていたがパーティションを変更するみたいな回答しかなかった
現状はネイティブビルド環境は公式からプレビルドのバイナリを落としてきて解凍すれば構築できるが
そのような代替手段がない?クロスビルド環境は構築できない状態
21デフォルトの名無しさん
2023/08/16(水) 15:31:51.82ID:Qm23kCGE ここは素人相手のサポートセンターじゃないんだから「動かない」とか「動かないっぽい」とかじゃよっぽどの暇人以外には相手にされないぞ
2023/08/16(水) 15:45:31.11ID:1NDN9ysp
現象は
ttps://users.rust-lang.org/t/can-t-install-rust/56019/15 ←exFATパーティションにインストールしようとして失敗している
これと同じだと思う
ttps://users.rust-lang.org/t/can-t-install-rust/56019/15 ←exFATパーティションにインストールしようとして失敗している
これと同じだと思う
2023/08/16(水) 18:15:04.82ID:Wd6XOYTc
ワッチョイスレに書いといたんでよろしゃっす
2023/08/16(水) 18:52:12.16ID:tBfVLS+Q
>>20
rustupをターゲット先で動かす必要ある?
例えばターゲット先がWasmだとそこにrustupもcargoもないけど
それらがある手元でWasmバイナリを生成できるよね
リンクが使えるファイルシステムでコンパイルできない状況がわからないので教えて
rustupをターゲット先で動かす必要ある?
例えばターゲット先がWasmだとそこにrustupもcargoもないけど
それらがある手元でWasmバイナリを生成できるよね
リンクが使えるファイルシステムでコンパイルできない状況がわからないので教えて
2023/08/16(水) 22:31:03.77ID:o5ZiEkHD
2023/08/16(水) 23:07:47.05ID:tBfVLS+Q
2023/08/17(木) 00:30:25.16ID:IFnR6C6t
ポータブルメディアだとFATをつかうのはそれなりにあることだからなあ。
買った時点でフォーマット済みなのも普通だし。
さすがにSDカードに開発環境を構築するのは想定外と言えるにしても外付けハードディスクくらいなら事情によっては無いこともないんじゃないか。
買った時点でフォーマット済みなのも普通だし。
さすがにSDカードに開発環境を構築するのは想定外と言えるにしても外付けハードディスクくらいなら事情によっては無いこともないんじゃないか。
28デフォルトの名無しさん
2023/08/23(水) 15:46:36.91ID:89z/H8g7 let hoge = "もとの文字列";
let hoge = hoge.replace("なんか1を", "別のなんか1に変換");
let hoge = hoge.replace("なんか2を", "別のなんか2に変換");
let hoge = hoge.replace("なんか3を", "別のなんか3に変換");
...
みたいなのが連続して実行したいとき
まとめてやってくれるような関数とかありますか?
また変換表がVecとかMapとかDBみたいなのに対応してるものもありますか?
let hoge = hoge.replace("なんか1を", "別のなんか1に変換");
let hoge = hoge.replace("なんか2を", "別のなんか2に変換");
let hoge = hoge.replace("なんか3を", "別のなんか3に変換");
...
みたいなのが連続して実行したいとき
まとめてやってくれるような関数とかありますか?
また変換表がVecとかMapとかDBみたいなのに対応してるものもありますか?
2023/08/23(水) 17:55:57.94ID:JDxfEBUZ
>>28
単に連続して実行したいだけなら自分でループさせる関数作れば十分だと思う
効率的なアルゴリズム実装を探してるならとりあえずaho-corasick
regexを使ってるようなプロジェクトならregexでもいいと思う
単に連続して実行したいだけなら自分でループさせる関数作れば十分だと思う
効率的なアルゴリズム実装を探してるならとりあえずaho-corasick
regexを使ってるようなプロジェクトならregexでもいいと思う
2023/08/23(水) 18:02:34.00ID:JDxfEBUZ
もとの文字列が大きくなればなるほどstr::replaceを繰り返し実行する方法は効率が悪くなる
もとの文字列が小さいならあんまり気にする必要無い
少なくともベンチマークとってから考えるべき
もとの文字列が小さいならあんまり気にする必要無い
少なくともベンチマークとってから考えるべき
2023/08/23(水) 23:32:44.32ID:J9iaXSyF
その前に変換された部分を後続の変換の対象にするのかしないのかを決めないと
「まとめてやる」だから対象にしないっぽいけど
文字列リテラルのエスケープを本来の文字に置換するイメージでいいのかな
変換前の文字列を簡単なパターンで表現できるなら正規表現のライブラリがいいと思う
余分にひっかけた場合は変換せずにそのまま通す感じで
マッチした文字列→変換する文字列の処理を自前の関数で書くとよさそう
「まとめてやる」だから対象にしないっぽいけど
文字列リテラルのエスケープを本来の文字に置換するイメージでいいのかな
変換前の文字列を簡単なパターンで表現できるなら正規表現のライブラリがいいと思う
余分にひっかけた場合は変換せずにそのまま通す感じで
マッチした文字列→変換する文字列の処理を自前の関数で書くとよさそう
2023/08/23(水) 23:46:47.50ID:1keD1dOe
aho使うのが楽
入力がimpl std::io::Readで出力がimpl std::io::Writeを指定できるからファイルでもなんでも楽
入力がimpl std::io::Readで出力がimpl std::io::Writeを指定できるからファイルでもなんでも楽
33デフォルトの名無しさん
2023/08/24(木) 07:02:22.08ID:2mbJt/0N thx
2023/08/26(土) 21:30:29.95ID:gjVHse6A
constな再帰関数で以下のエラーが出てその対処方法を知りたいのですが
error[E0080]: evaluation of constant value failed
| foo(n)
| ^^^^^^ exceeded interpreter step limit (see `#[const_eval_limit]`)
const_eval_limitで検索しても削除された(?)らしい情報しかわかりませんでした
どう指定するとリミットを増やせますか?
error[E0080]: evaluation of constant value failed
| foo(n)
| ^^^^^^ exceeded interpreter step limit (see `#[const_eval_limit]`)
const_eval_limitで検索しても削除された(?)らしい情報しかわかりませんでした
どう指定するとリミットを増やせますか?
2023/08/26(土) 22:02:13.69ID:ONdb/hN6
>>34
古いバージョン使ってない?
古いバージョン使ってない?
2023/08/26(土) 22:23:39.67ID:hWWrh3fN
1.72での変更みたいだね
2023/08/27(日) 08:31:30.86ID:lrONLN4Y
一昨日リリースの1.72にこう書いてあるな
https://blog.rust-lang.org/2023/08/24/Rust-1.72.0.html
you can allow(const_eval_long_running) to permit especially long const evaluation.
ところがこう指定してもエラーになる
#[allow(const_eval_long_running)]
正解はこれ
#[allow(long_running_const_eval)]
https://blog.rust-lang.org/2023/08/24/Rust-1.72.0.html
you can allow(const_eval_long_running) to permit especially long const evaluation.
ところがこう指定してもエラーになる
#[allow(const_eval_long_running)]
正解はこれ
#[allow(long_running_const_eval)]
2023/08/27(日) 19:53:52.23ID:Aks4ymi6
2023/08/27(日) 21:39:30.30ID:/o9fKn5S
コンパイルエラーで正しいほうが表示されるから問題ないわな
const_eval_limitのほうは↓
#![feature(const_eval_limit)]
#![const_eval_limit = “10000000”]
const_eval_limitのほうは↓
#![feature(const_eval_limit)]
#![const_eval_limit = “10000000”]
2023/08/27(日) 23:07:34.85ID:F9w6FdF5
レビューすり抜けちゃったんだな
PRでも出してあげたら
PRでも出してあげたら
41デフォルトの名無しさん
2023/08/28(月) 03:13:40.15ID:gISZWwhM 英単語のスペルチェックはしなくて良いから
関数や変数のスペルチェックに力を入れてくれ > Codeエディタさん
関数や変数のスペルチェックに力を入れてくれ > Codeエディタさん
2023/08/29(火) 03:19:51.47ID:UVGH3K1M
VSCodeの余計なお世話機能外しのサイトないかな?とにかく邪魔
2023/08/29(火) 09:29:50.39ID:ud/hz0aH
let hoge = "hoge".to_string();
let v = hoge.as_bytes().to_vec(); // ← ここでデータのコピーは発生しますか?
let v = hoge.as_bytes().to_vec(); // ← ここでデータのコピーは発生しますか?
2023/08/29(火) 09:40:59.22ID:ud/hz0aH
あー
let v = hoge.into_bytes(); // これか
let v = hoge.into_bytes(); // これか
45デフォルトの名無しさん
2023/08/29(火) 10:07:33.54ID:ud/hz0aH let v = hoge.as_bytes().into(); // これも等価なんか?
2023/08/29(火) 10:28:52.72ID:hbocgPIY
>>43
コピーを発生せずに別の型へ変換するには「消費してxxxへ変換」(into_xxx)するしかないため元が所有権を持たなければならない
つまり単なるスライス参照&[T]をto_vec()するのはコピーが発生する
一方で所有権を持つスライスBox<[T]>ならばinto_vec()でコピーを発生させずにVecにできる
このto_xxxとinto_xxxに注意
>>44
互いに消費してコピーを発生せずに行き来できる
let vec = string.into_bytes();
let string = String::from_utf8(vec).unwrap();
前者は特にVec<u8>になるためinto_vecではなくinto_bytesと名付けられている
後者はutf8保証チェックが入るためResultが返る
その保証を人が与えるならチェックを省略できる
let string = unsafe { String::from_utf8_unchecked(vec) };
コピーを発生せずに別の型へ変換するには「消費してxxxへ変換」(into_xxx)するしかないため元が所有権を持たなければならない
つまり単なるスライス参照&[T]をto_vec()するのはコピーが発生する
一方で所有権を持つスライスBox<[T]>ならばinto_vec()でコピーを発生させずにVecにできる
このto_xxxとinto_xxxに注意
>>44
互いに消費してコピーを発生せずに行き来できる
let vec = string.into_bytes();
let string = String::from_utf8(vec).unwrap();
前者は特にVec<u8>になるためinto_vecではなくinto_bytesと名付けられている
後者はutf8保証チェックが入るためResultが返る
その保証を人が与えるならチェックを省略できる
let string = unsafe { String::from_utf8_unchecked(vec) };
2023/08/29(火) 11:53:16.22ID:j8lLGaij
2023/08/29(火) 14:58:40.58ID:0ZJbGVqi
>>42
VSCodeの邪魔な機能で最初に思い浮かぶのはinlay hintsだな
[File > Preferences > Settings]の[Editor › Inlay Hints: Enabled]を
offかoffUnlessPressedに変えると消える
offUnlessPressedだとCtrl + Altを押してる間だけ表示される
VSCodeの邪魔な機能で最初に思い浮かぶのはinlay hintsだな
[File > Preferences > Settings]の[Editor › Inlay Hints: Enabled]を
offかoffUnlessPressedに変えると消える
offUnlessPressedだとCtrl + Altを押してる間だけ表示される
2023/08/30(水) 11:49:10.17ID:2xM9XyZu
unsafeを使ったコードで
有効な参照ではないことを確認する方法はありますか?
有効な参照ではないことを確認する方法はありますか?
2023/08/30(水) 15:30:33.41ID:OpkUn9pD
miriやaddress sanitizerやloomのようなツールとテストの組み合わせで検知するくらいじゃないかな
もちろん100%の検知は不可能
もちろん100%の検知は不可能
52デフォルトの名無しさん
2023/08/30(水) 15:37:47.00ID:jEaVNaFL 日本人は100%とか完璧とか絶対とか求めるの好きだよね。
やる側が志すのはいいんだけど、たいていはやらない側が求めてくる。
やる側が志すのはいいんだけど、たいていはやらない側が求めてくる。
2023/08/30(水) 17:42:42.30ID:Pm5h7iVu
そういう理にかなわないことをしているから原発がぶっ飛ぶんやで
2023/08/30(水) 17:57:48.34ID:DO1AbTsl
address sanitizerじゃなくてmemory sanitizerだった
2023/08/30(水) 20:21:44.39ID:y+HDByBG
無効な参照は即UBじゃなかったけ
なので正しく書かれたRustプログラムの参照はすべて有効
なので正しく書かれたRustプログラムの参照はすべて有効
2023/08/30(水) 21:05:03.06ID:7wIq4Piv
正しく書かれてるかどうかを確かめる方法を聞いてるんだろ
57デフォルトの名無しさん
2023/08/30(水) 22:02:55.54ID:zbgAoZ7n rustでdll造ってCから使うとき
rust側で勝手に捨てられるのは困るな
rust側で勝手に捨てられるのは困るな
2023/08/30(水) 22:17:03.68ID:kn7H0YN4
そのためにforgetとかleakみたいな謎関数がある
存在は知ってるけどまだ使う機会に恵まれない
存在は知ってるけどまだ使う機会に恵まれない
2023/08/31(木) 00:43:59.43ID:gbA1Jwq2
Cに所有権ごと渡すなら使うのはinto_rawかfrom_rawじゃね
60デフォルトの名無しさん
2023/08/31(木) 11:31:08.47ID:qE8kvwKZ Rustしばらく使ってるとC/C++描けなくなってくる
2023/09/01(金) 16:56:03.45ID:8Q6o7DlX
sqlite3 用の crate って sqlite3 という名前のがあるけど
rusqlite 使うのとどっちが良い?
rusqlite 使うのとどっちが良い?
62デフォルトの名無しさん
2023/09/02(土) 07:37:58.97ID:v3EBZAej 失礼します
Rustは制約の厳しい言語だから(環境さえ整えば)他言語にトランスパイルしやすい言語
という認識は合ってるでしょうか?
Rustは制約の厳しい言語だから(環境さえ整えば)他言語にトランスパイルしやすい言語
という認識は合ってるでしょうか?
2023/09/02(土) 08:12:23.91ID:bvTG+KAn
Rustは制約がほとんどなく自由な裁量の大きな言語の一つ
楽に書ける方法の一方で色んな観点を極めることにより書き手によってメモリ利用法や実行速度もピンキリになりうる
色んな環境で動かせることもできてOSの無い環境やstdライブラリを使わない方法など自由が大きい
プログラミングパラダイムやスタイル指向の見地からも書き手によって様々な方針をとることができる
楽に書ける方法の一方で色んな観点を極めることにより書き手によってメモリ利用法や実行速度もピンキリになりうる
色んな環境で動かせることもできてOSの無い環境やstdライブラリを使わない方法など自由が大きい
プログラミングパラダイムやスタイル指向の見地からも書き手によって様々な方針をとることができる
2023/09/02(土) 08:29:19.99ID:bvTG+KAn
ランタイムが必須かどうかも制約として重要になってくる
C/C++やRustはそのような制約がないため他の言語のライブラリ作成にも用いることができる
WebAssemblyでの実行についても同様でそのような制約のないRustが有利なため最も使われている
C/C++やRustはそのような制約がないため他の言語のライブラリ作成にも用いることができる
WebAssemblyでの実行についても同様でそのような制約のないRustが有利なため最も使われている
2023/09/02(土) 11:00:44.98ID:YkB2gBn6
>>62
トランスパイル先言語との機能的互換性の高さやや元言語のコンパイラが単純なほうがトランスパイルしやすいと思う
例えばOwnership/Borrow/Lifetimeあたりのトランスパイルが楽かどうか
トランスパイル先言語との機能的互換性の高さやや元言語のコンパイラが単純なほうがトランスパイルしやすいと思う
例えばOwnership/Borrow/Lifetimeあたりのトランスパイルが楽かどうか
2023/09/02(土) 11:44:04.91ID:g76m2OPt
2023/09/02(土) 11:48:36.47ID:l2r0UsPx
2023/09/02(土) 11:50:40.77ID:l2r0UsPx
一口にトランスパイルといっても、元言語にあった属性をどこまで先言語に引き継ぐかは目的に応じた取捨選択がなされるものです
前例がないので>>62に対する答えは「未知数」としか言えないですね
あるいは言語自体に「トランスパイルのしやすさ」という属性があるとすれば、それは「言語自体がトランスパイルされることを前提として設計されているか」と同義でしょう
その側面から言えば答えは「いいえ」です
前例がないので>>62に対する答えは「未知数」としか言えないですね
あるいは言語自体に「トランスパイルのしやすさ」という属性があるとすれば、それは「言語自体がトランスパイルされることを前提として設計されているか」と同義でしょう
その側面から言えば答えは「いいえ」です
69デフォルトの名無しさん
2023/09/02(土) 12:05:15.52ID:f2x52juV ライフタイムは妥当かどうかの静的なチェックに使われるもの
トランスパイル先に持ち込まれることはない
トランスパイル先に持ち込まれることはない
2023/09/02(土) 13:06:33.37ID:euHMK3ab
短絡思考 + 自己弁護 = 複オジ
2023/09/02(土) 13:21:18.64ID:gZ7bGKIm
トランスパイルというとTypeScript→JavaScriptみたいにシンタックスをほぼ保ったまま変換することを意図してる?
それともRustで書いたコードをトランスパイル先のランタイムなり処理系なりで動かせれば良い?
後者ならトランスパイル先言語でWASMランタイム用意すればRustで書いたコードは動かせるよね
それともRustで書いたコードをトランスパイル先のランタイムなり処理系なりで動かせれば良い?
後者ならトランスパイル先言語でWASMランタイム用意すればRustで書いたコードは動かせるよね
72デフォルトの名無しさん
2023/09/02(土) 14:30:38.26ID:mCX3wjBN NimはCにトランスパイルされる
2023/09/02(土) 14:59:18.30ID:dPTTZbJb
コンパイルする話じゃなくトランスパイルする話をしてるのにその区別すらできないオジ
2023/09/02(土) 15:01:52.18ID:Ng1Dtdjk
一般にトランスパイルは同程度に高級な言語の間で
(なるべく)変換後の言語として自然な形で変換するものを言う。
コードジェネレータ、または実行エンジンとして他言語を
経由するものは含んだり含まなかったりするけど
表面上は同じことをやってるので境界が曖昧なんだよ。
(なるべく)変換後の言語として自然な形で変換するものを言う。
コードジェネレータ、または実行エンジンとして他言語を
経由するものは含んだり含まなかったりするけど
表面上は同じことをやってるので境界が曖昧なんだよ。
2023/09/02(土) 16:08:00.76ID:LNeShMZN
境界があいまいだからRustコードからWASMバイナリを生成することをトランスパイルと呼んでもおかしくないと?
2023/09/02(土) 16:25:56.23ID:Ng1Dtdjk
77デフォルトの名無しさん
2023/09/02(土) 16:37:50.73ID:aKZIxXWD >>65 がトランスパイル先にまでOwnership/Borrow/Lifetimeあたりの機能あったほうが良さそうなこと匂わすトンチンカンなこと書いてるからだろ
2023/09/02(土) 17:46:31.63ID:3Onl8i9L
>>77
そんな頓珍漢な勘違いをするのはおまえだけだろw
そんな頓珍漢な勘違いをするのはおまえだけだろw
2023/09/02(土) 18:52:34.01ID:l2r0UsPx
80デフォルトの名無しさん
2023/09/02(土) 19:16:20.22ID:v3EBZAej >>62です。ぼんやりとした質問ですみませんでした
例えばRustが読めない人向けにPython等に変換してPython読める人ならなんとか読めるものに変換できないかなという想定でした。
あとはLLVM以外の環境で動かしたいとか。それなら確かにWASMで良かったみたいですね。
Rustは型が厳格とかデフォでimmutableだったりムーブだったり制約が強いイメージでしたが前提からして間違ってたみたいですね
皆さま事細かにありがとうございました
例えばRustが読めない人向けにPython等に変換してPython読める人ならなんとか読めるものに変換できないかなという想定でした。
あとはLLVM以外の環境で動かしたいとか。それなら確かにWASMで良かったみたいですね。
Rustは型が厳格とかデフォでimmutableだったりムーブだったり制約が強いイメージでしたが前提からして間違ってたみたいですね
皆さま事細かにありがとうございました
81デフォルトの名無しさん
2023/09/02(土) 19:32:06.11ID:aKZIxXWD だから言っただろうがよ
2023/09/02(土) 19:33:02.08ID:EvLWL1zC
これは違うな
疑って失礼しました
疑って失礼しました
2023/09/02(土) 19:34:44.69ID:GzMi3EqG
>>67
お前が勘違いしてんだろガイジ
実行時に所有権やライフタイムは出てこないからこそトランスパイル先の言語にもこれらの機能が言語機能として備える必要がないわけでこのスレでお前だけが1人だけ勘違いしている
頭悪そう
お前が勘違いしてんだろガイジ
実行時に所有権やライフタイムは出てこないからこそトランスパイル先の言語にもこれらの機能が言語機能として備える必要がないわけでこのスレでお前だけが1人だけ勘違いしている
頭悪そう
2023/09/02(土) 19:51:23.24ID:Wl+8+V5g
おじ、キレた!!
2023/09/02(土) 20:07:34.22ID:x+ZOYO9b
複数ID全員おじとか糖質患者やろ
お前のたった1人だけの発言の方がすべておじに似つかわしいんやけど自覚できない?
お前のたった1人だけの発言の方がすべておじに似つかわしいんやけど自覚できない?
86デフォルトの名無しさん
2023/09/02(土) 20:45:16.67ID:f2x52juV おじ使いはいつも病気
2023/09/02(土) 23:40:40.30ID:lMQqG2Zb
2023/09/02(土) 23:56:54.98ID:v0MnUUsV
オジオジ言ってる人は書き込みに中身がなくて全方位叩きだからスレ荒しが目的なのかな
反応せず無視するのがいいんだろうけど反応しちゃった失礼
反応せず無視するのがいいんだろうけど反応しちゃった失礼
2023/09/03(日) 00:03:56.01ID:cm8T2pY+
どうでもいいし面倒だしもうここ潰してワッチョイありスレに一本化してほしいんだけど
2023/09/03(日) 00:09:50.96ID:HRiHoELW
「自演認定は頭おかしい」論法
「おじ連呼厨」の強調
いつものやつですね
自演認定糖質論法は久しぶりに聞いた気がする
「おじ連呼厨」の強調
いつものやつですね
自演認定糖質論法は久しぶりに聞いた気がする
2023/09/03(日) 00:16:07.67ID:HRiHoELW
ID:bvTG+KAn
ID:g76m2OPt
ID:f2x52juV
ID:GzMi3EqG
ID:x+ZOYO9b
ID:v0MnUUsV
ID:g76m2OPt
ID:f2x52juV
ID:GzMi3EqG
ID:x+ZOYO9b
ID:v0MnUUsV
2023/09/03(日) 00:20:28.54ID:cZTMAPOv
議論でバトルが盛り上がるのは歓迎
オジおじ連投がいる時は議論がなく荒れるだけでつまらん
オジおじ連投がいる時は議論がなく荒れるだけでつまらん
2023/09/03(日) 00:35:38.11ID:HRiHoELW
歓迎するわけねーだろアホか
2023/09/03(日) 00:38:35.94ID:cCJ59BhE
2023/09/03(日) 00:45:48.36ID:HRiHoELW
2023/09/03(日) 00:53:25.84ID:roP/qgKi
2023/09/03(日) 01:20:25.77ID:YZAPuv0W
気に食わない意見があるけど反論できないで次々とおじさん認定して叩くだけのゲスがいるな
libsqlite3の上に構築したRusqliteでもいいが
Rustで構築したSQLxがSQLiteもサポートするようになり出来が良いので急上昇で逆転する見込み
libsqlite3の上に構築したRusqliteでもいいが
Rustで構築したSQLxがSQLiteもサポートするようになり出来が良いので急上昇で逆転する見込み
2023/09/03(日) 01:41:47.18ID:mceEf04V
sqlxのsqliteドライバもlibsqlite3の上に構築されてるぞ
SQLiteはCのAPIしか提供してないんだから他のものを使う理由がない
SQLiteはCのAPIしか提供してないんだから他のものを使う理由がない
2023/09/03(日) 07:28:12.23ID:x92ht6sx
また知ったかぶりして恥かいてるww
100デフォルトの名無しさん
2023/09/03(日) 08:37:05.08ID:WZFIWsZX sqlx以外はasync/await使えない?
101デフォルトの名無しさん
2023/09/03(日) 13:35:31.95ID:mxOeoCcq 自分でspawn_blockingすればいい
102デフォルトの名無しさん
2023/09/03(日) 13:45:08.16ID:yQjRA1Qa 安定感や性能に差があるのでsqlite限定ならFirefoxでも使ってるrusqliteがベター
103デフォルトの名無しさん
2023/09/03(日) 13:48:17.25ID:jFAGdbdC ■購入目的(達成されました)
・Rustで動くプログラムの写経
・映像表現的な出力結果はモチベーションを維持できる気がした
・RustについてはWeb上に素晴らしいテキストがたくさんあるので簡単な実践的なプログラムを読みたい
■自分のレベル
私は数カ月前にRustを勉強し始めました。
これまで高校でc、Javaの基礎、大学でc++基礎、ObjectiveC、社会人になってPythonやc#と触れてきました。たくさん触れてきていますが結局自分が作りたい少し大きい物をプログラミングで何かを作りきるということをしてきませんでした。いつもチュートリアルで終わりです。永遠に世界に挨拶でもしてろと言われそうなタイプです。
ここ数年で映像制作から転職してインフラエンジニア関係に勤めています。
ネットワークやサーバ周りの知識に加えて一つ言語を修めたいと思いRustをはじめました。
・Rustで動くプログラムの写経
・映像表現的な出力結果はモチベーションを維持できる気がした
・RustについてはWeb上に素晴らしいテキストがたくさんあるので簡単な実践的なプログラムを読みたい
■自分のレベル
私は数カ月前にRustを勉強し始めました。
これまで高校でc、Javaの基礎、大学でc++基礎、ObjectiveC、社会人になってPythonやc#と触れてきました。たくさん触れてきていますが結局自分が作りたい少し大きい物をプログラミングで何かを作りきるということをしてきませんでした。いつもチュートリアルで終わりです。永遠に世界に挨拶でもしてろと言われそうなタイプです。
ここ数年で映像制作から転職してインフラエンジニア関係に勤めています。
ネットワークやサーバ周りの知識に加えて一つ言語を修めたいと思いRustをはじめました。
104デフォルトの名無しさん
2023/09/03(日) 23:37:22.86ID:IkMULQX5 >>101
spawn_blockingは別OSスレッドを立ててそこで実行するだけだから根本的な解決にならない
spawn_blockingは別OSスレッドを立ててそこで実行するだけだから根本的な解決にならない
105デフォルトの名無しさん
2023/09/04(月) 01:10:37.74ID:Ev35rGw5 >>104
別OSスレッドを立ててそこで実行する以外の解決方法はないよ
別OSスレッドを立ててそこで実行する以外の解決方法はないよ
106デフォルトの名無しさん
2023/09/04(月) 02:53:02.64ID:IXHvJiGY 君たちは何を問題と定義しているのか
107デフォルトの名無しさん
2023/09/04(月) 06:58:20.37ID:HktKZ7k9 昔と違って今はFutureを返すcrateを選べるのだからそこで困ることはないな
糖衣のasync関数を含めてFutureさえ返してくれればいい
自分側はawaitもしくはspawnしてもいいしFutureUnorderedなどで早い者勝ち処理など自由な方針を取れるのだから
糖衣のasync関数を含めてFutureさえ返してくれればいい
自分側はawaitもしくはspawnしてもいいしFutureUnorderedなどで早い者勝ち処理など自由な方針を取れるのだから
108デフォルトの名無しさん
2023/09/04(月) 09:56:10.80ID:NSmwDj9w >>107
そこで困るとは?
そこで困るとは?
109デフォルトの名無しさん
2023/09/04(月) 10:17:13.25ID:/ASAZOX6 困ってない人は一生気付かない
これが理想郷
これが理想郷
110デフォルトの名無しさん
2023/09/04(月) 13:01:49.77ID:9feyj9k/ いつものストローマンオジ
111デフォルトの名無しさん
2023/09/04(月) 18:54:13.07ID:UIsGravq 困ったことが無い香具師には何で困るかわからんマジ
112デフォルトの名無しさん
2023/09/04(月) 20:11:06.59ID:pWElWRNz Futureもawaitして同期のみで困っていない人もいる
Futureすら使わず別スレッドにしちゃって困っていない人もいる
ただしベターな方法を知らないために困っていないだけかも知れない
理解した上で選んでいるなら問題ない
Futureすら使わず別スレッドにしちゃって困っていない人もいる
ただしベターな方法を知らないために困っていないだけかも知れない
理解した上で選んでいるなら問題ない
113デフォルトの名無しさん
2023/09/04(月) 20:41:40.87ID:0aDTsPbB114デフォルトの名無しさん
2023/09/04(月) 20:57:24.92ID:IXHvJiGY よく分からんが誰も困っていないらしいのでヨシ!
115デフォルトの名無しさん
2023/09/04(月) 21:18:46.15ID:xwtgk4fq116デフォルトの名無しさん
2023/09/04(月) 21:28:55.91ID:bE42d19a117デフォルトの名無しさん
2023/09/04(月) 21:58:02.43ID:dk25eEP4 そういう状況なら非同期とか言う前にsqliteやめよう複くん!
118デフォルトの名無しさん
2023/09/04(月) 22:16:10.47ID:Ts5EvUDj SQL関係ない一般的な話がされてると思ってたらSQLにこだわる人もいてよくわからんな
SQLにしてもサーバーに繋ぎにいくなら同期はありえんな
SQLにしてもサーバーに繋ぎにいくなら同期はありえんな
119デフォルトの名無しさん
2023/09/04(月) 22:29:51.49ID:fWqFM9pZ >>116
スレッド消費せずにSQLiteへの接続を同時にさばくことが出来ないからね
複オジおすすめのsqlxも当然接続ごとに別OSスレッド立ち上げてるからクライアント接続が多数来たら同じように詰むんだよ
スレッド消費せずにSQLiteへの接続を同時にさばくことが出来ないからね
複オジおすすめのsqlxも当然接続ごとに別OSスレッド立ち上げてるからクライアント接続が多数来たら同じように詰むんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★2 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【街の声】高市人気爆発!野党に怒りの声!! [237216734]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★5
- エッヂ落ちた?
- 【中抜き】高市、本当にお米券をバラまく模様!バカな無駄遣い [219241683]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 【ぺこ専🐰】なんG 兎田ぺこら実況スレ🏡【ホロライブ▶】
