公式
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 part21
https://mevius.5ch.net/test/read.cgi/tech/1692105879/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
Rust part22
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2024/01/20(土) 23:21:40.08ID:wyzQTwgG2024/02/02(金) 12:27:55.82ID:ndCfDt6c
2024/02/02(金) 13:20:50.14ID:ujySZ5KU
Webアプリ用途でもAxumやActixがフレームワークとして十分使いやすいから、もっとRustは普及していい
73デフォルトの名無しさん
2024/02/02(金) 13:32:21.68ID:gukHO/4I c++ から rust に移すなら、その前に c++ コードのリファクタリングとしてmove使用コードに直すだろうし、
それやったらもうそれで良くね?ってなると思うわな。
それやったらもうそれで良くね?ってなると思うわな。
2024/02/02(金) 15:02:39.89ID:SOk2CQ22
言語移植はそのうちAIがなんとかしてくれるんじゃなかろうか
2024/02/02(金) 17:43:40.65ID:wsXMOW5f
所有権があるから GC 言語からの移行でも安全になる恩恵はあるんだよなぁ。
ほんとエポックメイキングな言語だよ。
ほんとエポックメイキングな言語だよ。
76デフォルトの名無しさん
2024/02/02(金) 19:12:44.91ID:6TGLHO8E rustの最大のメリットは、絶対では無いけどコンパイルさえ通ってれば他人のクソコードに悩まされずに済む点じゃないかね。
77デフォルトの名無しさん
2024/02/02(金) 21:11:58.02ID:K0BmHg5g >>76
なんで悩まされないの?
なんで悩まされないの?
2024/02/02(金) 21:33:43.48ID:ya0nDY0I
Rustでも糞コード見かける
たとえば非常に単純な例でいうと元の部分strを返せば済むのにString作っちゃうなど無駄にヒープ使ってしまうケース
でも見抜きやすく手直しもしやすい
たとえば非常に単純な例でいうと元の部分strを返せば済むのにString作っちゃうなど無駄にヒープ使ってしまうケース
でも見抜きやすく手直しもしやすい
2024/02/02(金) 21:34:56.76ID:ya0nDY0I
Rust以外でよく見かけるのはど
こで書き換わっているかわかりにくく副作用や競合が心配なケース
Rustではデータ競合が起きないしグローバル変数も制限があるためこの手の類には悩まされない
こで書き換わっているかわかりにくく副作用や競合が心配なケース
Rustではデータ競合が起きないしグローバル変数も制限があるためこの手の類には悩まされない
2024/02/02(金) 22:24:30.77ID:BZlEVlBD
メリットが欲しいと思ったことはないな
新しいジャンルで唯一の選択肢なのでメリットの大きさを比較する必要がない
異なるジャンルでは比較する意味がわからない
新しいジャンルで唯一の選択肢なのでメリットの大きさを比較する必要がない
異なるジャンルでは比較する意味がわからない
2024/02/02(金) 22:27:27.20ID:ASeaHMD6
>>78
1周回ってString返したほうが良くなる状況もあるからそんなに単純じゃないよ
1周回ってString返したほうが良くなる状況もあるからそんなに単純じゃないよ
2024/02/02(金) 22:29:00.17ID:ASeaHMD6
>メリットが欲しいと思ったことはないな
誰もメリットが欲しいかどうかについては話してないよw
誰もメリットが欲しいかどうかについては話してないよw
2024/02/02(金) 22:34:00.04ID:ya0nDY0I
2024/02/02(金) 22:36:34.16ID:BZlEVlBD
欲しくないものを供給している可能性を誰も想定していないのか
2024/02/02(金) 22:47:15.09ID:P1ceRtbI
わかりやすいのがstr.trim()かな
前後のスペースを取り除く関数だけど当然Stringではなくstrの一部分を返す
Stringがほしい人はstr.trim().to_string()
前後のスペースを取り除く関数だけど当然Stringではなくstrの一部分を返す
Stringがほしい人はstr.trim().to_string()
2024/02/02(金) 22:52:35.98ID:SRUTe3RO
>>85
欲しい人にもそうでない人にも対応できるように&strがベストとは思わんか?
欲しい人にもそうでない人にも対応できるように&strがベストとは思わんか?
2024/02/02(金) 22:55:20.18ID:P1ceRtbI
2024/02/02(金) 23:19:45.92ID:BZlEVlBD
上書きされる前に別の場所にコピーした方が比較的安全というメリットが消えた
Rustが消した
Rustが消した
2024/02/02(金) 23:26:54.37ID:ya0nDY0I
>>88
Rust以外ではいつ書き換えられたりor解放されたりするかわからないから
安全なプログラミングということで(無駄になる恐れもあるけど)コピーしておく安全策をとることがあった
Rustでは知らぬ間に書き換えられたりor解放されたりすることはないので
安全策を保ったままで無駄なコピーが不要となった
Rust以外ではいつ書き換えられたりor解放されたりするかわからないから
安全なプログラミングということで(無駄になる恐れもあるけど)コピーしておく安全策をとることがあった
Rustでは知らぬ間に書き換えられたりor解放されたりすることはないので
安全策を保ったままで無駄なコピーが不要となった
2024/02/02(金) 23:26:59.82ID:9Dc3A0qD
Stringを使うことで無駄に専有されるヒープメモリはそこまで悪に感じないわ
カーネル作ってるわけでも競技やってるわけでもないんだったらね
可読性のために型を統一させるほうを優先する
カーネル作ってるわけでも競技やってるわけでもないんだったらね
可読性のために型を統一させるほうを優先する
2024/02/02(金) 23:34:55.21ID:v5+jJWMk
2024/02/03(土) 00:06:15.17ID:zqTPQxFe
>>90
そのためにムダにto_string()やそのclone()をするのは間違い
他の言語やスクリプト言語ですらそんな酷いことは行われずにコピーオンライトやインターン化でムダを防いでいる
Rustではまずは&strで行ける範囲は&strで行き次にCow併用そして同じ中身のStringが複数できるならstring_cacheなどでインターン化など
そのためにムダにto_string()やそのclone()をするのは間違い
他の言語やスクリプト言語ですらそんな酷いことは行われずにコピーオンライトやインターン化でムダを防いでいる
Rustではまずは&strで行ける範囲は&strで行き次にCow併用そして同じ中身のStringが複数できるならstring_cacheなどでインターン化など
2024/02/03(土) 00:06:54.99ID:26gTKyDM
C++でもstring_viewとstringは使い分けるぞ
2024/02/03(土) 00:39:47.95ID:x4y7pcy2
&strでいいなら&strで返すのが基本だけどプログラム全体を見たときにStringで返したほうがものすごくコードを単純にできる場合がある
アロケーションコストが全く問題にならない状況であれば&strに固執する必要はない
無駄なヒープアロケーションは増えるけど違う観点の無駄を削減してる
トレードオフだよ
型を統一するって話はよくわからんけど
アロケーションコストが全く問題にならない状況であれば&strに固執する必要はない
無駄なヒープアロケーションは増えるけど違う観点の無駄を削減してる
トレードオフだよ
型を統一するって話はよくわからんけど
2024/02/03(土) 00:41:39.18ID:26gTKyDM
そこ気にしないなら普通にスクリプト言語でも使っとけば良いと思うよ
2024/02/03(土) 00:44:03.79ID:zqTPQxFe
2024/02/03(土) 05:44:40.82ID:/t14gmUC
>>96
そりゃベストはそうだろうけどさ…
c++で言うchar型で良いところをわざわざstdのStringを使うなって話でしょ?
動的メモリ確保になってようがその程度の誤差くらい動けばどっちでもいいわ…
そりゃベストはそうだろうけどさ…
c++で言うchar型で良いところをわざわざstdのStringを使うなって話でしょ?
動的メモリ確保になってようがその程度の誤差くらい動けばどっちでもいいわ…
2024/02/03(土) 06:03:57.16ID:HSW3HPjS
2024/02/03(土) 06:28:46.54ID:zqTPQxFe
100デフォルトの名無しさん
2024/02/03(土) 06:58:55.64ID:SxNvW1DJ こだわりの強い人がおるなあ
101デフォルトの名無しさん
2024/02/03(土) 07:31:56.62ID:0zMBHAmc sliceやstrですむのにVecやStringを使ってしまう人はlifetime parameterを習得できていなくて使えこなせないからだと思うよ
structやfnでlifetime parameterを付けたことのない初心者に多いね
structやfnでlifetime parameterを付けたことのない初心者に多いね
102デフォルトの名無しさん
2024/02/03(土) 07:36:46.05ID:Sa0HPxlU こういうふうに面倒くさい人がRust使いには多いから普及しないんだろうなあ
アルゴリズムとデータ構造の分野からみてもクッソどうでもいい議論だよ
アルゴリズムとデータ構造の分野からみてもクッソどうでもいい議論だよ
103デフォルトの名無しさん
2024/02/03(土) 07:41:20.05ID:0zMBHAmc >>102
アルゴリズムとデータ構造の一番の基本が無駄なコピーをしないこと
アルゴリズムとデータ構造の一番の基本が無駄なコピーをしないこと
104デフォルトの名無しさん
2024/02/03(土) 09:16:17.07ID:EvhZrc0+ strで返せるがあえてStringで返すと良い具体例を出せばいいのではと思った。
105デフォルトの名無しさん
2024/02/03(土) 11:13:51.22ID:26gTKyDM 富豪的プログラミングしたいならrustは向いてないよ
普通にpythonで十分
普通にpythonで十分
106デフォルトの名無しさん
2024/02/03(土) 11:17:22.51ID:3G/0wdmC でもPythonのDjangoは遅くてゴミじゃん
省メモリ最速のWebアプリ作るならRust一択だわ
省メモリ最速のWebアプリ作るならRust一択だわ
107デフォルトの名無しさん
2024/02/03(土) 11:17:53.18ID:JbxU5Bja 例えばsplitみたいなのはstrで返せるけど、それを大量に呼んで受け側でto_stringをつける場合、
コードがto_stringだらけで見づらくなるとかはあるかな
そういう時にsplit_to_stringみたいな名前でString返すようにしたりはするけど
自分の場合、どっちかっていうとパフォーマンス云々より関数名から内部でアロケーションが連想されるかどうかを重視してる気はする
コードがto_stringだらけで見づらくなるとかはあるかな
そういう時にsplit_to_stringみたいな名前でString返すようにしたりはするけど
自分の場合、どっちかっていうとパフォーマンス云々より関数名から内部でアロケーションが連想されるかどうかを重視してる気はする
108デフォルトの名無しさん
2024/02/03(土) 11:24:32.59ID:e0i4PPZm rustでwebアプリなんてコストかかりすぎでは?ふつーにgoかjava/kotlinかc#で作ればいいじゃん
109デフォルトの名無しさん
2024/02/03(土) 11:28:03.29ID:26gTKyDM >>104
ないでしょ
少なくともその関数側で判断できるものではない
帰ってきた文字列をどうするかは使う側が決める
これはrustに限った話ではなくプログラミングのお作法の話
文字列を変更したいという意図で所有権を持った文字列を作りたいならto_ownedすべきだし
そうでないならライフタイムを意識してそのまま使えばよろしい
C/C++でも全く同じ話よ
C++ならstring_viewを返す
そこであえてstringを返す意味はライブラリ提供者側にはない
例えば10000回のループの中でそのような関数が呼ばれたらどうなるか?
恐ろしいことになる
C/C++だと常にそういうことを考えてる
pythonとかだと全部stringだから意識してないのだろうけどさ
本来は意味のないアロケーションであることが多い
ないでしょ
少なくともその関数側で判断できるものではない
帰ってきた文字列をどうするかは使う側が決める
これはrustに限った話ではなくプログラミングのお作法の話
文字列を変更したいという意図で所有権を持った文字列を作りたいならto_ownedすべきだし
そうでないならライフタイムを意識してそのまま使えばよろしい
C/C++でも全く同じ話よ
C++ならstring_viewを返す
そこであえてstringを返す意味はライブラリ提供者側にはない
例えば10000回のループの中でそのような関数が呼ばれたらどうなるか?
恐ろしいことになる
C/C++だと常にそういうことを考えてる
pythonとかだと全部stringだから意識してないのだろうけどさ
本来は意味のないアロケーションであることが多い
110デフォルトの名無しさん
2024/02/03(土) 11:32:33.77ID:XsYnyWq4 >>107
大量であっても&strのままでよいものはString化しない
String化が避けられない場合でも大量ならばイテレータで処理してるはずなので.into()の数は少ないはず
いずれの場合でも関数は&strを返せばすむ
大量であっても&strのままでよいものはString化しない
String化が避けられない場合でも大量ならばイテレータで処理してるはずなので.into()の数は少ないはず
いずれの場合でも関数は&strを返せばすむ
111デフォルトの名無しさん
2024/02/03(土) 11:33:55.72ID:AHA4uyfa 正しいことが必ずしも正義とはならない、とだけ言っとくわ
112デフォルトの名無しさん
2024/02/03(土) 11:36:04.38ID:XsYnyWq4113デフォルトの名無しさん
2024/02/03(土) 11:47:22.41ID:TZcb9n30 rustあんま使ってない人だけど、strはImmutableでstringはMutableなんでしょ?
文字列配列を柔軟に扱いたいときだけstringで色々して、データを受け渡しするときは当然strを使うのがモラルってもんでしょ
immutable_stringはよく知らん
文字列配列を柔軟に扱いたいときだけstringで色々して、データを受け渡しするときは当然strを使うのがモラルってもんでしょ
immutable_stringはよく知らん
114デフォルトの名無しさん
2024/02/03(土) 11:50:08.77ID:3gDommQf 今現在Rustが実際に多く使われてる分野って、スクリプト言語の下まわり、ライブラリ高速化だよね
だからそれはWeb用だと言われたらまぁそう
だからそれはWeb用だと言われたらまぁそう
115デフォルトの名無しさん
2024/02/03(土) 11:51:38.36ID:gN1hlXLs116デフォルトの名無しさん
2024/02/03(土) 11:53:33.66ID:gN1hlXLs 単なるWebサイトの演算処理の補助用途とWebアプリ用途を一緒にしてほしくない
全然違うねん
全然違うねん
117デフォルトの名無しさん
2024/02/03(土) 12:03:32.16ID:XsYnyWq4 >>114>>115
Rustの利用で最も多いのは
Webサーバーサイド・バックエンド・クラウド
https://gihyo.jp/assets/images/article/2022/09/rust-monthly-topics/in_what_technology_domain_is_Rust_used_at_your_company.png
>>116
Webアプリのサーバーサイドとして使われています
Rustの利用で最も多いのは
Webサーバーサイド・バックエンド・クラウド
https://gihyo.jp/assets/images/article/2022/09/rust-monthly-topics/in_what_technology_domain_is_Rust_used_at_your_company.png
>>116
Webアプリのサーバーサイドとして使われています
118デフォルトの名無しさん
2024/02/03(土) 12:09:03.48ID:3gDommQf119デフォルトの名無しさん
2024/02/03(土) 12:13:31.67ID:KLdOqrmk120デフォルトの名無しさん
2024/02/03(土) 12:17:34.02ID:XsYnyWq4 >>118
Rustで何を開発しているか?だからそれら別言語の人は関係ない
PythonやJavaScriptなどのライブラリが最近はRustで書かれることが増えたが
その開発者たちもRust利用者全体から見れば少数
一番多いのはWebのサーバーサイド・バックエンド・クラウド
Rustで何を開発しているか?だからそれら別言語の人は関係ない
PythonやJavaScriptなどのライブラリが最近はRustで書かれることが増えたが
その開発者たちもRust利用者全体から見れば少数
一番多いのはWebのサーバーサイド・バックエンド・クラウド
121デフォルトの名無しさん
2024/02/03(土) 12:35:09.79ID:VMbwu+xF WASMはRustに限らずそんなに大っぴらに普及しないと思う
ゲームエンジンかエンコーダーデコーダーくらいにしか需要がない
GUIとしてのWASMはDOM操作を直接できない時点でゲーム操作用途にしか使えないゴミ、終わっとる
ゲームエンジンかエンコーダーデコーダーくらいにしか需要がない
GUIとしてのWASMはDOM操作を直接できない時点でゲーム操作用途にしか使えないゴミ、終わっとる
122デフォルトの名無しさん
2024/02/03(土) 12:55:06.68ID:S1lIKTmM wasmは触ってみりゃ分かるけどjavascriptの演算処理を単にrustで書いてコンパイルしてみると、rustのstdがバイナリに同梱されるせいで移植前のスクリプト状態よりファイルサイズが増加するんだよね
wasmテキスト形式で書くかstdレスなrustで書かなくちゃ本末転倒になる
まあファイルサイズが増加してでも演算処理を高速化したいならいいんだろうけど俺は吐いた
wasmテキスト形式で書くかstdレスなrustで書かなくちゃ本末転倒になる
まあファイルサイズが増加してでも演算処理を高速化したいならいいんだろうけど俺は吐いた
123デフォルトの名無しさん
2024/02/03(土) 13:12:09.54ID:py1fYTT7124デフォルトの名無しさん
2024/02/03(土) 13:17:12.24ID:5inMqUOs125デフォルトの名無しさん
2024/02/03(土) 13:45:54.96ID:KLdOqrmk WASIはモバイルOSあるいはデスクトップOS業界がどう動くかだね
wasmerみたいなWASIランタイムをOSが標準装備してくれるなら、WASIの注目度が上がるし、OSに依らないアプリを手軽に作れる
特にモバイルOSではランタイム同梱によるアプリの肥大化を阻止できる
WASIは今のままではJVMのようにマルチプラットフォームなランタイムの上で動くアプリでしかないから、どっかの有名なプラットフォームが積極的に土台として採用しないと忘れ去られる
UnityでもAndroidでもどこでもいい
wasmerみたいなWASIランタイムをOSが標準装備してくれるなら、WASIの注目度が上がるし、OSに依らないアプリを手軽に作れる
特にモバイルOSではランタイム同梱によるアプリの肥大化を阻止できる
WASIは今のままではJVMのようにマルチプラットフォームなランタイムの上で動くアプリでしかないから、どっかの有名なプラットフォームが積極的に土台として採用しないと忘れ去られる
UnityでもAndroidでもどこでもいい
126デフォルトの名無しさん
2024/02/03(土) 14:00:52.18ID:KLdOqrmk まあ数日前にWASI 0.2.0の仕様が確定したばっかだから時期尚早と言われればそのとおりなんだが
WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現
https://www.publickey1.jp/blog/24/webassemblywasi_preview_2os.html
WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現
https://www.publickey1.jp/blog/24/webassemblywasi_preview_2os.html
127デフォルトの名無しさん
2024/02/03(土) 14:54:43.97ID:Xm89AN74 wasm,wasiはコンテナ界隈とかも期待はしてるようだけど確かにまだ早い。
128デフォルトの名無しさん
2024/02/03(土) 15:14:19.35ID:nibYeb0/ あ、俺みたいに用意されたものを使う的な人間の場合ね。
129デフォルトの名無しさん
2024/02/03(土) 15:32:51.57ID:8/wI1v6d 重さが気になるほどの人気サイト作ってから言えよな。。クソしょーもねーわ。
130デフォルトの名無しさん
2024/02/03(土) 18:14:49.92ID:X6BgdPzu wasmはブラウザでffmpeg動かすときに使ったことある
131デフォルトの名無しさん
2024/02/03(土) 20:39:34.60ID:em0HMTKL rustはもっとC#みたいなクラスの書き方が出来れば最高なのになー
132デフォルトの名無しさん
2024/02/03(土) 20:58:14.42ID:JrVgBiwL >>131
クラスはプログラミング言語の歴史では大失敗作と言われていて
モダンな新言語(Rust, Go, Zig, Nim, etc.)ではいずれもクラスを排除している
既存のクラスのある言語でもカプセル化以外のクラスの機能は使わずにインターフェース等を使うことが推奨されている
Rustのtraitはその中でも最も優れたものなのでRustで困ることはないよ
クラスはプログラミング言語の歴史では大失敗作と言われていて
モダンな新言語(Rust, Go, Zig, Nim, etc.)ではいずれもクラスを排除している
既存のクラスのある言語でもカプセル化以外のクラスの機能は使わずにインターフェース等を使うことが推奨されている
Rustのtraitはその中でも最も優れたものなのでRustで困ることはないよ
133デフォルトの名無しさん
2024/02/03(土) 21:06:51.84ID:93RdYvh2 Rustはtraitのドキュメント見た時に
とっ散らかって見えるんだよなぁ
とっ散らかって見えるんだよなぁ
134デフォルトの名無しさん
2024/02/03(土) 21:20:55.82ID:Uoo5j+2b 何事もタダでは手に入らない
良い面だけしか見ない人はいつまで経っても素人
良い面だけしか見ない人はいつまで経っても素人
135デフォルトの名無しさん
2024/02/03(土) 21:29:31.74ID:W4j87Z5e 本当にいいの?僕は…黒人だよ?
136デフォルトの名無しさん
2024/02/03(土) 22:04:08.76ID:OoEMTWx+ クラス排除はJavaの生みの親ですら主張しているほどプログラミング言語界での共通認識
>以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
>すばらしいQ&Aセッションの途中に、こんな質問が出ました。
>「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
>答えは「クラスを除外するでしょうね」というものでした。
>笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
>インターフェースによる継承(implementsの関係)のほうが望ましいのです。
>できる限り実装継承は避けたほうがよいでしょう。
>以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
>すばらしいQ&Aセッションの途中に、こんな質問が出ました。
>「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
>答えは「クラスを除外するでしょうね」というものでした。
>笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
>インターフェースによる継承(implementsの関係)のほうが望ましいのです。
>できる限り実装継承は避けたほうがよいでしょう。
137デフォルトの名無しさん
2024/02/03(土) 23:17:23.21ID:g7D12qls クラスを排除した代わりにRustでは実装継承の実現に4種類もの異なる方法が導入されている
もちろんGoでもNimでもクラスとは違う形で実装継承が実現されている
にもかかわらず物事の表面しか見ない人はそれに気づけないし今でも実装継承が絶対悪だと信じて疑わない
これが所謂バカの壁
もちろんGoでもNimでもクラスとは違う形で実装継承が実現されている
にもかかわらず物事の表面しか見ない人はそれに気づけないし今でも実装継承が絶対悪だと信じて疑わない
これが所謂バカの壁
138デフォルトの名無しさん
2024/02/03(土) 23:26:38.80ID:9NPgrYKr139デフォルトの名無しさん
2024/02/03(土) 23:35:45.23ID:EvhZrc0+ クラスが悪いのか継承とかの機能が悪いのか
140デフォルトの名無しさん
2024/02/03(土) 23:45:39.46ID:1FnNRIIs 大雑把に クラス=カプセル化+実装継承
よくないのは実装継承
カプセル化だけなら構造体の範囲内
つまり実装継承を伴うクラス自体が要らないというのがモダン言語
よくないのは実装継承
カプセル化だけなら構造体の範囲内
つまり実装継承を伴うクラス自体が要らないというのがモダン言語
141デフォルトの名無しさん
2024/02/04(日) 00:25:24.84ID:gRgK5+vi Kotlinのsealed interfaceはマジで超使いやすい
142デフォルトの名無しさん
2024/02/04(日) 00:27:54.98ID:woXOEkq4 Rocketってフレームワーク試してみたんだけどこれホストを127.0.0.1以外にできないんかな
なんかハードコーディングでlocalhost指定になってる気がしないでもない
なんかハードコーディングでlocalhost指定になってる気がしないでもない
143デフォルトの名無しさん
2024/02/04(日) 00:33:31.21ID:iIxOCdCp そのRocketというフレームワークは使ったことないが、GitHubレポジトリで「127.0.0.1」で検索したら、
https://github.com/search?q=repo%3Arwf2%2FRocket%20127.0.0.1&type=code
exampleでなんか設定ファイルでadressを指定してるけどこれは違うの?
https://github.com/rwf2/Rocket/blob/master/examples/config/Rocket.toml
繰り返すがRocketというフレームワークは使ったことないので悪しからず
https://github.com/search?q=repo%3Arwf2%2FRocket%20127.0.0.1&type=code
exampleでなんか設定ファイルでadressを指定してるけどこれは違うの?
https://github.com/rwf2/Rocket/blob/master/examples/config/Rocket.toml
繰り返すがRocketというフレームワークは使ったことないので悪しからず
144デフォルトの名無しさん
2024/02/04(日) 00:59:56.12ID:woXOEkq4 その辺grep置換で全部置き換えたけどダメだった
core\lib\src\listener\endpoint.rs にある
Endpoint::Tcp(TcpAddr::new(Ipv4Addr::LOCALHOST.into(), 8000))
がそれっぽくはあるけどどう書き換えたもんか
core\lib\src\listener\endpoint.rs にある
Endpoint::Tcp(TcpAddr::new(Ipv4Addr::LOCALHOST.into(), 8000))
がそれっぽくはあるけどどう書き換えたもんか
145デフォルトの名無しさん
2024/02/04(日) 02:04:25.32ID:1c78Jpm9 https://rocket.rs/v0.5/guide/configuration/
読んだ感じだとRocket.tomlって設定ファイルで指定するのが簡単みたい
下の方にプログラムで設定する方法も書いてあるけど
こういうフレームワーク系はプロキシサーバーの裏側で動かすのが理想かもしれない
読んだ感じだとRocket.tomlって設定ファイルで指定するのが簡単みたい
下の方にプログラムで設定する方法も書いてあるけど
こういうフレームワーク系はプロキシサーバーの裏側で動かすのが理想かもしれない
146デフォルトの名無しさん
2024/02/04(日) 03:52:57.49ID:58NiwoAK Rustを書けるようになると、C/C++でも行儀よく実装できるようになるから
するとドキュメントの充実しているC/ C++でいいかとなりそう
するとドキュメントの充実しているC/ C++でいいかとなりそう
147デフォルトの名無しさん
2024/02/04(日) 05:28:12.54ID:Qwt1SmMN >>105
Python信者か? 富豪プログラミングでもRustの方が書きやすいが
Python信者か? 富豪プログラミングでもRustの方が書きやすいが
148デフォルトの名無しさん
2024/02/04(日) 07:20:12.68ID:IOFBpciC 動的型付けのPythonは論外でプログラミングには向いておらずスクリプトを書く程度に使う言語
静的型付けの言語の中では過去の様々な問題点を踏まえて洗練された設計となっているRustがプログラミングに最適
>>146
それはない
例えば今では必須な非同期プログラミングでもC++は出遅れていて使いにくいだけでなくRustのtokioに相当する基盤もない
静的型付けの言語の中では過去の様々な問題点を踏まえて洗練された設計となっているRustがプログラミングに最適
>>146
それはない
例えば今では必須な非同期プログラミングでもC++は出遅れていて使いにくいだけでなくRustのtokioに相当する基盤もない
149デフォルトの名無しさん
2024/02/04(日) 08:23:06.79ID:Iky4lKs4 >>146
ドキュメントの数は多いけど、自動生成もない時代のが多くてソースコードと乖離してたり
古いLinuxディストリ前提だったりして役に立たない率がめちゃ高いんだよな
ドキュメンテーションテストとかdocs.rsとかそういう仕組がちゃんとしてるのに慣れると
わざわざ古代の遺物的なのを発掘しに行く気にはなれない
ドキュメントの数は多いけど、自動生成もない時代のが多くてソースコードと乖離してたり
古いLinuxディストリ前提だったりして役に立たない率がめちゃ高いんだよな
ドキュメンテーションテストとかdocs.rsとかそういう仕組がちゃんとしてるのに慣れると
わざわざ古代の遺物的なのを発掘しに行く気にはなれない
150デフォルトの名無しさん
2024/02/04(日) 08:29:53.11ID:qR3d7cra Cは構わないけど、C++はあり得ない
絶対に二度と触りたくないし、積極的に見たくもない
絶対に二度と触りたくないし、積極的に見たくもない
151デフォルトの名無しさん
2024/02/04(日) 08:46:56.47ID:gRgK5+vi Cにdeferが来たら、もうC++を触らなくてよくなるんだ🥰
…C23でのdeferの実装、見送られたけどね
…C23でのdeferの実装、見送られたけどね
152デフォルトの名無しさん
2024/02/04(日) 09:04:42.24ID:gRgK5+vi ああ、zigを本番環境で使いたいなあ
153デフォルトの名無しさん
2024/02/04(日) 10:02:40.29ID:woXOEkq4154デフォルトの名無しさん
2024/02/04(日) 10:56:28.64ID:Iky4lKs4 >>153
これでなんの問題もなく動いたけど…
#[launch]
fn rocket() -> _ {
let config = rocket::Config {
port: 7777,
address: std::net::Ipv4Addr::new(0, 0, 0, 0).into(),
..rocket::Config::default()
};
rocket::custom(&config).mount("/", routes![index])
}
これでなんの問題もなく動いたけど…
#[launch]
fn rocket() -> _ {
let config = rocket::Config {
port: 7777,
address: std::net::Ipv4Addr::new(0, 0, 0, 0).into(),
..rocket::Config::default()
};
rocket::custom(&config).mount("/", routes![index])
}
155デフォルトの名無しさん
2024/02/04(日) 11:21:21.48ID:lyxub88e156デフォルトの名無しさん
2024/02/04(日) 11:36:41.94ID:BT7dzCU3 >>153
rocketを使う理由が特にあるわけではないならば
一番ダウンロード数も多くRustで本流のaxumを使うといいよ
https://github.com/tokio-rs/axum
このURLを見てもわかるようにtokio開発チームが直接手掛けているWebアプリフレームワーク
rocketを使う理由が特にあるわけではないならば
一番ダウンロード数も多くRustで本流のaxumを使うといいよ
https://github.com/tokio-rs/axum
このURLを見てもわかるようにtokio開発チームが直接手掛けているWebアプリフレームワーク
157デフォルトの名無しさん
2024/02/04(日) 12:24:56.19ID:RfkvOVf2158デフォルトの名無しさん
2024/02/04(日) 12:55:23.59ID:twXVw8X/ >>157
前にも書いたけど例えばPythonのDjangoは遅い
PythonがRustに勝ってる点はローコストでコーディングできる、それのみ
学習コスト、開発時間などを投資できるならRustのようなlow-levelな言語を用いた製品のほうがコンピュータに優しいのは既知の事実
前にも書いたけど例えばPythonのDjangoは遅い
PythonがRustに勝ってる点はローコストでコーディングできる、それのみ
学習コスト、開発時間などを投資できるならRustのようなlow-levelな言語を用いた製品のほうがコンピュータに優しいのは既知の事実
159デフォルトの名無しさん
2024/02/04(日) 13:07:03.82ID:BT7dzCU3 >>157
Pythonでプログラミングを実際にすればわかるけど
ある程度の大きさのものを作るには開発デバッグ効率が非常に悪いね
数ある諸言語と比べてもPythonのメリットは普及していること以外には何も無いかと
Pythonでプログラミングを実際にすればわかるけど
ある程度の大きさのものを作るには開発デバッグ効率が非常に悪いね
数ある諸言語と比べてもPythonのメリットは普及していること以外には何も無いかと
160デフォルトの名無しさん
2024/02/04(日) 13:22:50.87ID:RfkvOVf2161デフォルトの名無しさん
2024/02/04(日) 13:45:38.68ID:gf/EWl58 インタプリタ言語はプログラミングに値しないってか?流石に言いすぎだぞ
うちの小学生の子どもにScratchをプログラミング学習として遊ばせてるけど、そのScratchもれっきとしたプログラミング言語だし
うちの小学生の子どもにScratchをプログラミング学習として遊ばせてるけど、そのScratchもれっきとしたプログラミング言語だし
162デフォルトの名無しさん
2024/02/04(日) 13:54:00.15ID:qLwuX6da >>147
メモリ管理をランタイムに任せることを富豪的プログラミングというのでは?書き易さなんて単に個人の言語の習得度の差でしかない
メモリ管理をランタイムに任せることを富豪的プログラミングというのでは?書き易さなんて単に個人の言語の習得度の差でしかない
163デフォルトの名無しさん
2024/02/04(日) 14:07:26.71ID:vIcGZtFX お前のDjangoは遅い?ならサーバーのスペックを10倍にしろやゴラァ
ってのが富豪的プログラミングの理念ね
ってのが富豪的プログラミングの理念ね
164デフォルトの名無しさん
2024/02/04(日) 16:31:03.43ID:ZDSbtwdo Rustと比べるとPythonはプログラミングに向いていない
スクリプト程度ではなく普通にある程度の規模があるプログラムを対象とする
スクリプト程度ではなく普通にある程度の規模があるプログラムを対象とする
165デフォルトの名無しさん
2024/02/04(日) 16:54:18.26ID:lyxub88e 特定領域の話と一般論をごっちゃにしてるやつ多いな。
166デフォルトの名無しさん
2024/02/04(日) 16:54:55.07ID:RSs6aSR/ 実際にPythonで書くと実行時デバッグがどうしても多くなるね
後から機能追加したりリファクタリングしたりする時も再び実行時デバッグに陥りやすいね
その点Rustは静的型付けであるだけでなくデータ競合もコンパイル時点で防いでくれるから優れているね
後から機能追加したりリファクタリングしたりする時も再び実行時デバッグに陥りやすいね
その点Rustは静的型付けであるだけでなくデータ競合もコンパイル時点で防いでくれるから優れているね
167デフォルトの名無しさん
2024/02/04(日) 16:55:36.99ID:3vZBpwTn >>162
文脈的に文字列を無駄にヒープに置いただけで富豪扱いなんだよな
あと習熟度に依存するのはそれはそうなんだけど、Pythonに習熟した人間ほどRustの方が書きやすいという傾向がある気がする
少なくとも俺の身の回りではそう
文脈的に文字列を無駄にヒープに置いただけで富豪扱いなんだよな
あと習熟度に依存するのはそれはそうなんだけど、Pythonに習熟した人間ほどRustの方が書きやすいという傾向がある気がする
少なくとも俺の身の回りではそう
168デフォルトの名無しさん
2024/02/04(日) 17:00:11.71ID:p+8ZNFQ1 書きやすかろうが何だろうがユーザ数が全てやろ
Rustは流行ってない それだけは確か
Rustは流行ってない それだけは確か
169デフォルトの名無しさん
2024/02/04(日) 17:01:42.98ID:3vZBpwTn ユーザー数が全てはまあそれはそう
170デフォルトの名無しさん
2024/02/04(日) 17:06:47.57ID:ktccjMxJ そこは単純な話だろう
PythonとRustの両方をそこそこ使いこなせる人たちに
どちらの言語でも開発可能な領域の案件をどちらで開発したいか尋ねる
100%の人たちがRustで開発したいと答える
つまりPythonは劣った言語
PythonとRustの両方をそこそこ使いこなせる人たちに
どちらの言語でも開発可能な領域の案件をどちらで開発したいか尋ねる
100%の人たちがRustで開発したいと答える
つまりPythonは劣った言語
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 「日本の保守層のご機嫌を取りながら、中国、ロシア、アメリカのご機嫌も取る」👈こういう総理がいれば良かったよな [762037879]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【朗報】ウヨの姫小野田大臣、吠える「何か気に入らないことがあったらすぐに経済威圧をする国に依存するのはリスク」脱アメリカを宣言 [856698234]
- 高市早苗 「靖国神社電撃参拝」説が浮上 [163661708]
- 【終国悲報】高市早苗、たったの10日で莫大な経済的損失を叩き出す [165981677]
- 米タイム紙、日中の台湾問題を全力解説で中国の高市早苗批判を全力で拡散。ネトウヨは英語で反論がんばって! [792931474]
