公式
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:wyzQTwgG427デフォルトの名無しさん
2024/02/08(木) 10:24:35.32ID:TVrzLD8V >>426
直接に通信するあたりは言語を統一しておくと共通のライブラリを使えたりするので便利。
少人数で運用しているシステムだとクライアントとサーバーがある程度に
共通のスキルセットで構築できたほうがいいってこともある。
それがデメリットを上回るほどのメリットかどうかは状況によるけど。
直接に通信するあたりは言語を統一しておくと共通のライブラリを使えたりするので便利。
少人数で運用しているシステムだとクライアントとサーバーがある程度に
共通のスキルセットで構築できたほうがいいってこともある。
それがデメリットを上回るほどのメリットかどうかは状況によるけど。
428デフォルトの名無しさん
2024/02/08(木) 12:09:04.39ID:ug5u5xxX gRPCやRESTなら主要言語のほぼ全てで対応されてるんだから別に同じ言語に囚われる必要無いと思うけどなあ
429デフォルトの名無しさん
2024/02/08(木) 12:31:37.22ID:LLz4mv+z シリアライズフォーマットの話とプロトコルの話も区別できないのかぁ
430デフォルトの名無しさん
2024/02/08(木) 12:39:36.57ID:+yfo15bd スキルセットが一番発揮されるのはコード実装前の設計段階だよ
アルゴリズムとデータ構造、各種言語の各種フレームワークの知見を活かして設計してるだろ?
実装段階に入ったらあとは作業
フロント担当サーバー担当それぞれが実装する
フロントとサーバーはお互いに入出力のAPIだけ知ってればいい
言語の書き方そのものに対するスキルセットは納入期間の短縮にでも活かしてくれ
アルゴリズムとデータ構造、各種言語の各種フレームワークの知見を活かして設計してるだろ?
実装段階に入ったらあとは作業
フロント担当サーバー担当それぞれが実装する
フロントとサーバーはお互いに入出力のAPIだけ知ってればいい
言語の書き方そのものに対するスキルセットは納入期間の短縮にでも活かしてくれ
431デフォルトの名無しさん
2024/02/08(木) 12:43:32.12ID:ug5u5xxX432デフォルトの名無しさん
2024/02/08(木) 12:47:52.48ID:ug5u5xxX あっごめんzstdかgzipのどっちでデータ圧縮するかの話もしたほうがいいの?
433デフォルトの名無しさん
2024/02/08(木) 12:58:22.52ID:L2e7Z7sZ それら全て些細な問題でどうでもいい
通信でもファイルでも何でも
APIやフォーマットさえ決められていればよい
どの言語かどのフレームワークやライブラリかなんて一切関係なく自由
通信でもファイルでも何でも
APIやフォーマットさえ決められていればよい
どの言語かどのフレームワークやライブラリかなんて一切関係なく自由
434デフォルトの名無しさん
2024/02/08(木) 13:08:16.93ID:aB2xl6fL435デフォルトの名無しさん
2024/02/08(木) 13:14:50.58ID:ug5u5xxX 自社規格のデータをシリアライズ、デシリアライズするのに自社ライブラリを使うのと、サーバーやフロントをどの言語で実装するかは全くの別問題でしょ
>>414が言ってる、サーバーをC++で実装するだなんて効率の悪いことはするもんじゃない
>>414が言ってる、サーバーをC++で実装するだなんて効率の悪いことはするもんじゃない
436デフォルトの名無しさん
2024/02/08(木) 13:16:12.56ID:L2e7Z7sZ もちろんサーバとクライアントで同じ言語を利用すると有利な場合もある
もっと複雑なデータを別な形のデータに変換する同じ動作(コード)がサーバでもクライアントでも求められる場合がそれにそれに相当する
具体例としてはサーバサイドレンダリングをしつつフロントエンドでもシングルページのためレンダリングをする場合
従来はサーバサイドをNode.jsにすることで両側JavaScriptにしてコード共有が行われてきたが両側Rustでの動きもある
もっと複雑なデータを別な形のデータに変換する同じ動作(コード)がサーバでもクライアントでも求められる場合がそれにそれに相当する
具体例としてはサーバサイドレンダリングをしつつフロントエンドでもシングルページのためレンダリングをする場合
従来はサーバサイドをNode.jsにすることで両側JavaScriptにしてコード共有が行われてきたが両側Rustでの動きもある
437デフォルトの名無しさん
2024/02/08(木) 13:27:14.44ID:21XfFHH6 人によっては使用言語を統一したほうが数多なるデメリットを単一のメリットが上回ることもある
このご時世、簡略化されたプログラミング言語で溢れたなかで、単一言語しかできないというのは珍しいとは思うが、誰しもがバイリンガルプログラマというわけではない
このご時世、簡略化されたプログラミング言語で溢れたなかで、単一言語しかできないというのは珍しいとは思うが、誰しもがバイリンガルプログラマというわけではない
438デフォルトの名無しさん
2024/02/08(木) 13:39:56.20ID:557abryP unreal engineってフレームワークでサーバーアプリも作れるけど、自前でAPI組んでサーバーやったほうが圧倒的に軽量なんだよね
439デフォルトの名無しさん
2024/02/08(木) 13:40:27.02ID:wg4U7wDf バイリンガルでないプログラマ、Javaしか書けなそう
440デフォルトの名無しさん
2024/02/08(木) 14:05:04.22ID:u09hDjq1 Java界隈では未だにXMLが現役なのかな
一時期は全てがXMLだったけど最近触れる機会がない
一時期は全てがXMLだったけど最近触れる機会がない
441デフォルトの名無しさん
2024/02/08(木) 14:06:53.53ID:0U3NNgcj jsonの後にxml使うとデータの無駄が気になる
443デフォルトの名無しさん
2024/02/08(木) 14:22:34.49ID:TVrzLD8V ウェブまわりはいろんな規格が入れ子状態だから名前空間で分離する仕組みも要るところでは要る。
XML の万能さは他には代えられない便利さはある。
ただ、それが要らないところでは負担がデカいのも本当だし、多くの場合には要らんかったわという気づきがあったんだよ。
XML もスキーマがあれば大幅に情報を短縮できるバイナリXMLの規格も出てるんで、
そういうのを活用すればそれほど過剰に冗長なわけではない。
XML の万能さは他には代えられない便利さはある。
ただ、それが要らないところでは負担がデカいのも本当だし、多くの場合には要らんかったわという気づきがあったんだよ。
XML もスキーマがあれば大幅に情報を短縮できるバイナリXMLの規格も出てるんで、
そういうのを活用すればそれほど過剰に冗長なわけではない。
444デフォルトの名無しさん
2024/02/08(木) 14:33:58.18ID:d7zFncjn >>436
例えがフロントエンドって急にレベル下がってワロタ
例えがフロントエンドって急にレベル下がってワロタ
445デフォルトの名無しさん
2024/02/08(木) 14:44:36.25ID:K+TPHqwf >>431
ゲームサーバーでも性能を極限まで高めることが要求されるような場合はprotobufやJSONはあまり使われない
↓ここでいうRaw Struct的なものが今でも使われてる
https://flatbuffers.dev/md__benchmarks.html
言語ニュートラルじゃないしサーバーとクライアントと同時アップデートしないといけないとかいろいろ制約あるけど性能が必要ならそれらの手間を惜しまない
ゲームサーバーでも性能を極限まで高めることが要求されるような場合はprotobufやJSONはあまり使われない
↓ここでいうRaw Struct的なものが今でも使われてる
https://flatbuffers.dev/md__benchmarks.html
言語ニュートラルじゃないしサーバーとクライアントと同時アップデートしないといけないとかいろいろ制約あるけど性能が必要ならそれらの手間を惜しまない
446デフォルトの名無しさん
2024/02/08(木) 14:50:39.80ID:L2e7Z7sZ447デフォルトの名無しさん
2024/02/08(木) 14:52:06.22ID:ZTHDKZhp >>440
早くxmlは滅んで欲しい。
早くxmlは滅んで欲しい。
448デフォルトの名無しさん
2024/02/08(木) 14:52:54.34ID:TVrzLD8V シリアライズやパースのコストは小さくはないけど、
メモリコピーのコストが多くを占めているという発見から
なるべくコピーを減らしたシリアライズの規格として message pack が
実行性能と可搬性を (ある程度に) 両立したものとして人気がある。
まあ要するにそれぞれに利点があるんでこれが決定版とはなかなか言えないんだよな。
ある程度の収斂はしたにしても両立不可能なトレードオフってものはある。
メモリコピーのコストが多くを占めているという発見から
なるべくコピーを減らしたシリアライズの規格として message pack が
実行性能と可搬性を (ある程度に) 両立したものとして人気がある。
まあ要するにそれぞれに利点があるんでこれが決定版とはなかなか言えないんだよな。
ある程度の収斂はしたにしても両立不可能なトレードオフってものはある。
449デフォルトの名無しさん
2024/02/08(木) 14:58:14.76ID:ug5u5xxX >>445
まあゲームだとデータの規格のバージョン互換性を考えなくていいし独自規格で暗号化も兼ねたシリアライズをしたほうが悪意あるデータの改ざん防止のための対策にもなりそう
てかデータ記述言語の話なんざクソほどどうでもいいんだが
まあゲームだとデータの規格のバージョン互換性を考えなくていいし独自規格で暗号化も兼ねたシリアライズをしたほうが悪意あるデータの改ざん防止のための対策にもなりそう
てかデータ記述言語の話なんざクソほどどうでもいいんだが
450デフォルトの名無しさん
2024/02/08(木) 15:04:17.46ID:2EtcR70r xmlだろうがjsonだろうがrest通すときはgzipするからどっちでもいいわ
451デフォルトの名無しさん
2024/02/08(木) 15:04:23.12ID:d7zFncjn452デフォルトの名無しさん
2024/02/08(木) 15:14:54.75ID:ug5u5xxX453デフォルトの名無しさん
2024/02/08(木) 15:16:59.91ID:ZTHDKZhp クライアントとサーバーで同じ "プログラミング言語" 使うことの話が、いつのにかプロトコルとデータシリアライズの話にすり変わってるし。
発端は >>426 あたりかな。
発端は >>426 あたりかな。
454デフォルトの名無しさん
2024/02/08(木) 15:26:56.26ID:L2e7Z7sZ >>451
分散オブジェクトの話とは状況が全く異なる
ウェブのサーバーサイドとクライアントサイドでのコード共通化は現在使われている最新技術
これを片側でしか行なわないと速度面すなわちブラウザを使う人間の体感面で不利となってしまう
両側ともにJavaScriptにするのが主流だがサーバーリソースコスト面で不利なため両側Rust化
分散オブジェクトの話とは状況が全く異なる
ウェブのサーバーサイドとクライアントサイドでのコード共通化は現在使われている最新技術
これを片側でしか行なわないと速度面すなわちブラウザを使う人間の体感面で不利となってしまう
両側ともにJavaScriptにするのが主流だがサーバーリソースコスト面で不利なため両側Rust化
455デフォルトの名無しさん
2024/02/08(木) 15:32:31.05ID:d7zFncjn >>454
別にお前のお気持ちは聞いてないよ
別にお前のお気持ちは聞いてないよ
456デフォルトの名無しさん
2024/02/08(木) 15:34:25.91ID:L2e7Z7sZ457デフォルトの名無しさん
2024/02/08(木) 15:39:43.48ID:lShPsUxC >>454
それwasmってやつ?ファイルサイズがjavascriptより大きくならない?
それwasmってやつ?ファイルサイズがjavascriptより大きくならない?
458デフォルトの名無しさん
2024/02/08(木) 15:46:12.86ID:rcfTmCHH フロントエンドってAPI受け取ってReactで画面描いてAPI送りつけるだけじゃん、これのどこがサーバーサイドとコード共通にすなるん??
459デフォルトの名無しさん
2024/02/08(木) 15:52:25.19ID:VkQAw5RB javascriptでサーバーサイドって言ってる時点で頭がおかしいからスルーでおけ
460デフォルトの名無しさん
2024/02/08(木) 15:57:01.04ID:z3sGsuBj nodejsで済むサーバーって自宅サーバーか何かか?
461デフォルトの名無しさん
2024/02/08(木) 16:06:02.61ID:34mhb8ps462デフォルトの名無しさん
2024/02/08(木) 16:07:53.03ID:d7zFncjn463デフォルトの名無しさん
2024/02/08(木) 16:08:25.23ID:34mhb8ps464デフォルトの名無しさん
2024/02/08(木) 16:43:53.73ID:ug5u5xxX WASMはあまりにアセンブリ言語すぎる
watで直接WASMを書いてコンパイルするのが一番バイナリのファイルサイズを抑えられるけど大変
watじゃなくて他の言語で書くにしてもstd使うとファイルサイズが爆増する
既存のライブラリをWASM化するならともかく、既存のJavaScriptコードをstd有りで書き直すのは、ファイルサイズがJavaScriptのときと比較して増えて本末転倒だからJavaScriptのままでいい
watやRust with no-stdでWASMを頑張る人は頑張って
watで直接WASMを書いてコンパイルするのが一番バイナリのファイルサイズを抑えられるけど大変
watじゃなくて他の言語で書くにしてもstd使うとファイルサイズが爆増する
既存のライブラリをWASM化するならともかく、既存のJavaScriptコードをstd有りで書き直すのは、ファイルサイズがJavaScriptのときと比較して増えて本末転倒だからJavaScriptのままでいい
watやRust with no-stdでWASMを頑張る人は頑張って
465デフォルトの名無しさん
2024/02/08(木) 16:54:49.99ID:GUaqsUfs466デフォルトの名無しさん
2024/02/08(木) 17:10:13.67ID:ug5u5xxX だめだ、WASM specを見直してるけど相変わらず何書いてあるのかわからん
467デフォルトの名無しさん
2024/02/08(木) 17:15:11.69ID:TVrzLD8V >>464
規模がデカいアプリケーションは std の大きさなんてどうでもよくなるくらいにデカい。
大規模化するウェブアプリケーションが想定されているから
JavaScript のほうが軽量であるときは JavaScript を使えばいいよ。
そうじゃないときがあるって話なんだよ。
規模がデカいアプリケーションは std の大きさなんてどうでもよくなるくらいにデカい。
大規模化するウェブアプリケーションが想定されているから
JavaScript のほうが軽量であるときは JavaScript を使えばいいよ。
そうじゃないときがあるって話なんだよ。
468デフォルトの名無しさん
2024/02/08(木) 17:20:27.37ID:K+TPHqwf 1コアで毎秒数万リクエスト処理するようなゲームサーバー的なものの話をしてると思ってたらSSRとかReactとか全く違うユースケースの話をしてる人達がいたのか
そりゃ話が噛み合わないわなぁ
そりゃ話が噛み合わないわなぁ
469デフォルトの名無しさん
2024/02/08(木) 17:26:24.69ID:Z/Y0D/hR 話を合わせようとしたら負け
駄文乱文を量産し続けて最後まで圧倒したやつの勝ち
駄文乱文を量産し続けて最後まで圧倒したやつの勝ち
470デフォルトの名無しさん
2024/02/08(木) 17:26:27.02ID:Z/Y0D/hR 話を合わせようとしたら負け
駄文乱文を量産し続けて最後まで圧倒したやつの勝ち
駄文乱文を量産し続けて最後まで圧倒したやつの勝ち
471デフォルトの名無しさん
2024/02/08(木) 17:33:18.45ID:wPAPAJoC >>467
その規模のデカいアプリケーションとやらがffmpegとかゲームとかをやるwasmならファイルサイズが大きくなる以上のメリットがあるからいいが、きれいなUIを表現するためにjavascriptよりファイルサイズの大きくなったwasmを使うのはアホとだけ言っておくわ
その規模のデカいアプリケーションとやらがffmpegとかゲームとかをやるwasmならファイルサイズが大きくなる以上のメリットがあるからいいが、きれいなUIを表現するためにjavascriptよりファイルサイズの大きくなったwasmを使うのはアホとだけ言っておくわ
472デフォルトの名無しさん
2024/02/08(木) 17:42:32.82ID:EBOg13nx >>464
Wasmではfsなど必要ないのだから
no_stdで全く問題なくプログラミングできます
Rustの基本はほとんどcoreに入っています
allocを使えばVecやStringも使えます
あと欲しくなるのはHashMapあたりでしょうがこれもhashbrownで使えます
一度no_stdでプログラミングしてみることをオススメします
Wasmではfsなど必要ないのだから
no_stdで全く問題なくプログラミングできます
Rustの基本はほとんどcoreに入っています
allocを使えばVecやStringも使えます
あと欲しくなるのはHashMapあたりでしょうがこれもhashbrownで使えます
一度no_stdでプログラミングしてみることをオススメします
473デフォルトの名無しさん
2024/02/08(木) 17:44:09.24ID:EBOg13nx474デフォルトの名無しさん
2024/02/08(木) 17:55:44.80ID:TVrzLD8V Rust で簡易アセンブラっぽいものを作ったことがあった (特に std を避けるとかしてない) ので
wasm で出力してみたけどだいたい 140kb くらいな感じ。
たぶん JavaScript で書いて最適化もすればもっと小さくは出来そうな感触はあるが
だからといって Rust でやって深刻に巨大すぎるということはない。
小さいプログラムのときでも Wasm は使い物になる。
いや、もちろん比較したら JavaScript で書いたほうがよいことも多いのだろうけど、
全くのアンチパターンってことはない。
wasm で出力してみたけどだいたい 140kb くらいな感じ。
たぶん JavaScript で書いて最適化もすればもっと小さくは出来そうな感触はあるが
だからといって Rust でやって深刻に巨大すぎるということはない。
小さいプログラムのときでも Wasm は使い物になる。
いや、もちろん比較したら JavaScript で書いたほうがよいことも多いのだろうけど、
全くのアンチパターンってことはない。
475デフォルトの名無しさん
2024/02/08(木) 17:56:24.51ID:ug5u5xxX >>472
いやー、watでいいかな
いやー、watでいいかな
476デフォルトの名無しさん
2024/02/08(木) 18:26:36.73ID:d7zFncjn Figmaはecmascripten使ってるそうだよ
C++で書いてWebGL用にコンパイル
おそらく世界最大のwasmコードだろう
https://www.figma.com/ja/blog/webassembly-cut-figmas-load-time-by-3x/
C++で書いてWebGL用にコンパイル
おそらく世界最大のwasmコードだろう
https://www.figma.com/ja/blog/webassembly-cut-figmas-load-time-by-3x/
477デフォルトの名無しさん
2024/02/08(木) 18:29:10.38ID:d7zFncjn 今のところrustよりはecmascriptenの方が既存コードを活かせる
478デフォルトの名無しさん
2024/02/08(木) 18:37:22.37ID://05Mhwl479デフォルトの名無しさん
2024/02/08(木) 18:41:39.17ID:d7zFncjn >>478
next.jsはUI部分だけでバックエンドはRustだから特に必要性は感じないね
next.jsはUI部分だけでバックエンドはRustだから特に必要性は感じないね
480デフォルトの名無しさん
2024/02/08(木) 18:54:05.90ID://05Mhwl >>479
Next.jsでSSRなら毎回JavaScriptのコードが動くわけだけど
「バックエンドはRustだから」って?
外から受ける部分のサーバはRustでもそこからNext.jsを動かすためのNode.jsなどを呼び出すことになるよね
Next.jsでSSRなら毎回JavaScriptのコードが動くわけだけど
「バックエンドはRustだから」って?
外から受ける部分のサーバはRustでもそこからNext.jsを動かすためのNode.jsなどを呼び出すことになるよね
481デフォルトの名無しさん
2024/02/08(木) 19:25:31.03ID:QINBs586 単にNext.jsがデータをフェッチする先のAPIエンドポイントがRust製ってだけだろ。
LBやらWebサーバーのような低レイヤがRust製かどうかみたいなのはそんなにユーザーに近いWeb屋が気にかけて手をいれる場所でもない。
LBやらWebサーバーのような低レイヤがRust製かどうかみたいなのはそんなにユーザーに近いWeb屋が気にかけて手をいれる場所でもない。
482デフォルトの名無しさん
2024/02/08(木) 19:29:46.46ID:0U3NNgcj 途中にビルド嚙ませれば同じにできるけど一般的にはCommonJSとECMAScriptで違う方言のJSでやり取りする事になるけどね
TypeScriptは使ってないから知らん
TypeScriptは使ってないから知らん
483デフォルトの名無しさん
2024/02/08(木) 19:34:55.22ID:XA34Vq7w484デフォルトの名無しさん
2024/02/08(木) 19:38:03.57ID:XODN4PGj next.jsは普通に速いよ
ビルドがクソ遅いだけで
他のエコシステムはもっと高速なんだけどねえ
ビルドがクソ遅いだけで
他のエコシステムはもっと高速なんだけどねえ
485デフォルトの名無しさん
2024/02/08(木) 19:54:29.48ID:vWC2S6ww サーバーサイドは可能な限りリソースコスト(クラウド代/ハード代電気代)を下げたい
Next.jsに限らずJavaScriptを含めた遅い言語の実行は避けたい
すべてをRust化するのが最善案
Next.jsに限らずJavaScriptを含めた遅い言語の実行は避けたい
すべてをRust化するのが最善案
486デフォルトの名無しさん
2024/02/08(木) 20:01:51.28ID:ZqeEswjg Next.js(Nuxt.js)はどんなにクソだとしても使わざるをえないものなんだよね
Next.js以上のものはもはや作れんよ
Next.js以上のものはもはや作れんよ
487デフォルトの名無しさん
2024/02/08(木) 20:03:16.79ID:XODN4PGj それな
App Routerが神過ぎるんよ
これのおかげでサーバーサイドエンジニアが全てコントロールできるようになった
App Routerが神過ぎるんよ
これのおかげでサーバーサイドエンジニアが全てコントロールできるようになった
488デフォルトの名無しさん
2024/02/08(木) 20:29:26.04ID:ZTHDKZhp >>464
forthみたいで面白くない?
forthみたいで面白くない?
489デフォルトの名無しさん
2024/02/08(木) 21:09:57.90ID:iGefvq8R Next.jsがRailsの息の根を止めたわけだが、
React+Next.js+〇〇
このバックエンド部分の〇〇がRustが活かせるところ
React+Next.js+〇〇
このバックエンド部分の〇〇がRustが活かせるところ
490デフォルトの名無しさん
2024/02/08(木) 21:15:13.68ID:fAoXwANU491デフォルトの名無しさん
2024/02/08(木) 22:03:30.31ID:z3hLjd3o もう大きくは変わらないんじゃないか?
正直俺はPages Routerまでのnext.jsはゴミだと思ってたから使ってなかった
しかしApp Routerを見たときまさに俺の求めているものだと感じた
多分これが最高地点だよ
正直俺はPages Routerまでのnext.jsはゴミだと思ってたから使ってなかった
しかしApp Routerを見たときまさに俺の求めているものだと感じた
多分これが最高地点だよ
492デフォルトの名無しさん
2024/02/09(金) 00:17:38.71ID:tjbjc/kZ 今はRuby on Rails でも、React/Next.js, TypeScript が転職で必須。
少し前は、Vue.js だったけど、Vue 3 は流行らなかった
Rails 7 からは、Hotwire に変わった。
HotwireはHTML Over The Wireの略で、
SPAの開発において、JavaScriptのコーディングを極力必要としない。
脱node.js, webpack
JSONではなく、HTMLベース。
サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信する
これで、Reactに取られたシェアを回復する
少し前は、Vue.js だったけど、Vue 3 は流行らなかった
Rails 7 からは、Hotwire に変わった。
HotwireはHTML Over The Wireの略で、
SPAの開発において、JavaScriptのコーディングを極力必要としない。
脱node.js, webpack
JSONではなく、HTMLベース。
サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信する
これで、Reactに取られたシェアを回復する
493デフォルトの名無しさん
2024/02/09(金) 06:07:49.74ID:79P7yOqB >>492
javascript使ったほうがラクなのになんでわざわざhtml縛りするの?
javascript使ったほうがラクなのになんでわざわざhtml縛りするの?
494デフォルトの名無しさん
2024/02/09(金) 07:43:30.04ID:uUxbU3bY Ruby信者はズレてるから仕方ない
495デフォルトの名無しさん
2024/02/09(金) 07:53:26.10ID:cmMrL7Ws SSRのsvelteはWebオーサリングツールから実画面に持っていきやすい
WebページのスクリプトにRust使えるブラウザとRust実装のsvelteを作ってもらいたい
WebページのスクリプトにRust使えるブラウザとRust実装のsvelteを作ってもらいたい
496デフォルトの名無しさん
2024/02/09(金) 08:55:44.38ID:so08h4Qi SvelteもNext.jsもサーバーサイドでJavaScriptを動かすためエコじゃないのでいずれ新たなものに置き換えられるでしょう
497デフォルトの名無しさん
2024/02/09(金) 09:34:26.12ID:Kdv0HxUE std::any::type_name_of_val()は学習時にも良さそ
498デフォルトの名無しさん
2024/02/09(金) 09:59:55.75ID:so08h4Qi 昔から使えるよ
fn type_name_of_val<T: ?Sized>(_val: &T) -> &'static str {
std::any::type_name::<T>()
}
fn type_name_of_val<T: ?Sized>(_val: &T) -> &'static str {
std::any::type_name::<T>()
}
499デフォルトの名無しさん
2024/02/09(金) 10:27:55.96ID:C39eXNkM >>493
JS使った方が楽という感覚は理解できんわ
JS使った方が楽という感覚は理解できんわ
500デフォルトの名無しさん
2024/02/09(金) 13:19:22.70ID:YdTAf9YB >>496
next.jsのapp routerがサーバーサイドフレームワークになったの知らないの?
next.jsのapp routerがサーバーサイドフレームワークになったの知らないの?
501デフォルトの名無しさん
2024/02/09(金) 13:59:04.29ID:wfDAL7tm リソースコストがかかるスクリプト言語をサーバーサイドで動かしてる連中はいずれ消えるさ
502デフォルトの名無しさん
2024/02/09(金) 14:16:42.17ID:YdTAf9YB503デフォルトの名無しさん
2024/02/09(金) 15:05:02.67ID:7wM1u29W どんどんrustの話から離れていってんな
504デフォルトの名無しさん
2024/02/09(金) 15:19:56.77ID:d4LbU2O8 SSRやCSRがややこしいと感じる意味がわからん
Next.jsのPage Router時代の区別がややこしかったと感じてるだけとちゃう?
特定の実装とは関係のない概念としてのSSRやCSRは別にややこしくも何ともないでしょ
ReactのサーバーコンポーネントはNext..jsではサーバーサイドでレンダリング(HTML生成される)、つまりSSR
クライアントコンポーネントはクライアントサイドでレンダリングされる、つまりCSR
ついでに言うとHotwireみたいなのも仕組みとしての基本的な考え方は同じ
Next.jsのPage Router時代の区別がややこしかったと感じてるだけとちゃう?
特定の実装とは関係のない概念としてのSSRやCSRは別にややこしくも何ともないでしょ
ReactのサーバーコンポーネントはNext..jsではサーバーサイドでレンダリング(HTML生成される)、つまりSSR
クライアントコンポーネントはクライアントサイドでレンダリングされる、つまりCSR
ついでに言うとHotwireみたいなのも仕組みとしての基本的な考え方は同じ
505デフォルトの名無しさん
2024/02/09(金) 15:26:09.73ID:wyTCEkUp Rustで引数の数を可変にしたいと思っただけでマクロが必要になるの、どういう思想なんだ
506デフォルトの名無しさん
2024/02/09(金) 15:36:06.60ID:gZOHhCrR >>505
型システムとの兼ね合い。
型システムとの兼ね合い。
507デフォルトの名無しさん
2024/02/09(金) 15:38:36.69ID:ixshWTAh >>505
オプショナル引数 → 数が少ないならOption多いならbuilder
可変長の引数 → スライス
マクロを使うのは個々の引数の扱いがそれぞれ異なりそれぞれをコンパイル時に型をチェックしたい場合などに使う
オプショナル引数 → 数が少ないならOption多いならbuilder
可変長の引数 → スライス
マクロを使うのは個々の引数の扱いがそれぞれ異なりそれぞれをコンパイル時に型をチェックしたい場合などに使う
508デフォルトの名無しさん
2024/02/09(金) 15:52:26.69ID:IKpgt5UR next.jsはRustフレンドリーなフレームワークだから実質Rustなんだよね
509デフォルトの名無しさん
2024/02/09(金) 16:25:40.87ID:YdTAf9YB >>504
その発想だとサーバーアクションは説明できないよ
その発想だとサーバーアクションは説明できないよ
510デフォルトの名無しさん
2024/02/09(金) 16:28:31.07ID:YdTAf9YB >>508
俺は将来的にnext.jsは全部rustで書きなおされると思ってる
俺は将来的にnext.jsは全部rustで書きなおされると思ってる
511デフォルトの名無しさん
2024/02/09(金) 16:37:49.82ID:DOCRBofH512デフォルトの名無しさん
2024/02/09(金) 17:13:49.98ID:wfDAL7tm >>510
同感
同感
513デフォルトの名無しさん
2024/02/09(金) 18:59:39.30ID:wyTCEkUp C++であれば関数のオーバーロードで実現していたようなことをRustでは全部封じてしまった結果、ライブラリは至る所マクロだらけ
これはRustの目指したいところなのか?
これはRustの目指したいところなのか?
514デフォルトの名無しさん
2024/02/09(金) 19:22:48.34ID:6IeD8Xf6 実行時の分岐ではなくコンパイル時のコード生成に置き換わるんだから
ゼロコスト抽象化という観点ではC++のほうがそちらを目指さなければいけなかったんじゃないでしょうか。
ゼロコスト抽象化という観点ではC++のほうがそちらを目指さなければいけなかったんじゃないでしょうか。
515デフォルトの名無しさん
2024/02/09(金) 19:24:12.28ID:6IeD8Xf6 あ、可変長引数の話とオーバーロードの話を混同してしまっていた。
516デフォルトの名無しさん
2024/02/09(金) 19:32:53.51ID:RpHX5dqz https://qiita.com/buntafujikawa/items/1bd808f5f55eb63df7c4
こういうの知ってたら
オーバーロードもデフォルト引数もいらね〜
どうしてもほしけりゃ別名の関数作るわ
ってならん?
こういうの知ってたら
オーバーロードもデフォルト引数もいらね〜
どうしてもほしけりゃ別名の関数作るわ
ってならん?
517デフォルトの名無しさん
2024/02/09(金) 19:45:04.86ID:qkcXaSLH 別名の関数を作りたくなるのはわからんでもないけど、実際crates.ioはそうならずにマクロだらけなので
518デフォルトの名無しさん
2024/02/09(金) 20:35:29.36ID:gZOHhCrR 田舎者は十年間使わない道具でも納屋にしまいっぱなしってことがまあまああるけど都会だとどんどん捨てるじゃん。
都会では物より空間のほうが高くつくから。
何が大事か、何を大事ということにするかで判断が変わる。
名前を考えるってのは人にとって思ったより負荷が高いということに対する解がオーバーロードなんだよ。
でもまあオーバーロードにもデメリットは当然ながらあるので結局は何を重視するかの問題。
都会では物より空間のほうが高くつくから。
何が大事か、何を大事ということにするかで判断が変わる。
名前を考えるってのは人にとって思ったより負荷が高いということに対する解がオーバーロードなんだよ。
でもまあオーバーロードにもデメリットは当然ながらあるので結局は何を重視するかの問題。
519デフォルトの名無しさん
2024/02/09(金) 23:53:50.41ID:qm1w3dJY オーバーロードは無くてもいいけどキーワード引数は欲しいかな
520デフォルトの名無しさん
2024/02/09(金) 23:59:48.02ID:D/1cks9J521デフォルトの名無しさん
2024/02/10(土) 02:54:22.21ID:rfU+NtYa >>520
いちいちstructを定義しなくてもいいようにするためにキーワード引数って存在してるんだよ
いちいちstructを定義しなくてもいいようにするためにキーワード引数って存在してるんだよ
522デフォルトの名無しさん
2024/02/10(土) 09:13:20.91ID:KcmgHb9l523デフォルトの名無しさん
2024/02/10(土) 09:40:29.45ID:d2BF2Jtb Rustでなぜデフォルト引数がサポートされてないのかはここでよろしく
https://www.reddit.com/r/rust/comments/fi6nov/why_does_rust_not_support_default_arguments/
https://www.reddit.com/r/rust/comments/fi6nov/why_does_rust_not_support_default_arguments/
524デフォルトの名無しさん
2024/02/10(土) 09:50:58.48ID:lXB6J68A 構造体を使うかビルダーパターンで困ることはないからね
もし技術的に矛盾のない他の良い方法があれば提案してみるべきだけど既出だと思うよ
もし技術的に矛盾のない他の良い方法があれば提案してみるべきだけど既出だと思うよ
525デフォルトの名無しさん
2024/02/10(土) 09:54:14.05ID:Lf9bQLCg ビルダーパターンは自分で書くならめんどい
526デフォルトの名無しさん
2024/02/10(土) 10:07:03.72ID:iJNhxzEm■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★5 [BFU★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【悲報】SANA、発言撤回拒否 [769931615]
- カルピスみたいに水で薄めるジュースでおすすめ他にない?
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- ジャーナリストがテレビで解説「台湾問題は高市総理から言ったのではなく、立憲民主が日本の対応可能能力を暴こうとしたから」 [359572271]
- 俺性格悪いなって思った瞬間あげてけ
