Rust part21

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2023/08/15(火) 22:24:39.45ID:xzxy4cgp
公式
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/
2023/09/04(月) 23:11:41.51ID:ueRfdgpS
RustのSQLデファクトスタンダードのsqlxに対して「複オジおすすめのsqlx」と書いてることから、
複オジ使いはRustを使っていない疑惑が再び出てきた。
2023/09/04(月) 23:53:13.41ID:IXHvJiGY
>>118の相似形

https://mevius.5ch.net/test/read.cgi/tech/1644596656/919
919: デフォルトの名無しさん sage 2022/05/09(月) 18:50:22.63 ID:rGYbsi5m
>>915
>>918
FizzBuzzは単なる話の出発点の例の一つに過ぎなくて既に皆はもっと一般的な話をしているようにみえる
皆もFizzBuzz限定の話なんかに興味はなくて一般的な話に興味があるからではないかな
2023/09/04(月) 23:54:19.18ID:8cZoZvfB
またオジが妄想に取り憑かれてるねww
2023/09/04(月) 23:56:14.30ID:IXHvJiGY
質問者のユースケースが非同期ライブラリを必要としているのか?
そうした前提を確認せずに、非同期対応の一点でライブラリの適・不適を評価しようとすること自体が筋違いなのです
2023/09/05(火) 00:09:09.34ID:XN2NC5/h
質問者>>100
>sqlx以外はasync/await使えない?
だから、非同期が前提ではないかい
2023/09/05(火) 00:23:36.51ID:XDjugVOt
>>125
そっちじゃなくて>>61のこと

https://github.com/launchbadge/sqlx/blob/main/sqlx-sqlite/src/connection/worker.rs#L82
なるほどワーカースレッド立てて通信してるだけで別に非同期ファイルI/Oを最大限活用するとかじゃないんだね
確かにこれなら>>119の言う通りブロッキング待ちするものをspawn_blockingしても大した差はなさそうだ
127デフォルトの名無しさん
垢版 |
2023/09/05(火) 04:37:15.62ID:Zsmh0CoR
>>117
これこれ
2023/09/05(火) 05:16:32.99ID:Rvonn+YZ
>>101
各spawn_blocking()毎に専用のネイティブスレッドをブロックする形で用いるため
spawn_blockingが同時に大量に発生しないよう留意しなければならない
そのため同期ライブラリの利用方法には何らかの制限がついてしまう
非同期ライブラリを利用すればそのような制限はない
2023/09/05(火) 12:58:37.11ID:V9mIkqYx
sqlx crateでMySQLを使っているがクライアント接続が多数来ても捌けてる
すべて非同期なのでブロックされることも別スレッドで実行されることもない
130デフォルトの名無しさん
垢版 |
2023/09/05(火) 14:15:52.81ID:SlAKktdo
node.js推しだった人か
2023/09/05(火) 14:17:29.93ID:6qNvCW8J
redis-rsよりも良いの?
2023/09/05(火) 14:29:07.14ID:bhQzjDZU
>>129
そりゃMySQL自体が非同期APIを提供してるからね
同期APIしか提供してないSQLiteとは全く事情が違うんだよ
2023/09/05(火) 19:14:25.74ID:dmqj3xko
かつてデファクトスタンダードだったdiesel crateがsqlx crateにその座を奪われた原因もdieselが非同期APIに対応できなかったせい
134デフォルトの名無しさん
垢版 |
2023/09/05(火) 21:03:20.66ID:x/2k1tVz
それもあると思うがたしかディーゼルってActiveRecordの開発者が設計してるんだよね
2023/09/06(水) 08:23:13.48ID:KSPgDJdv
sqlxのほうがシンプルで使いやすくわかりやすい
136デフォルトの名無しさん
垢版 |
2023/09/06(水) 10:25:26.54ID:UTcPybKQ
>>134
ということはライセンスで敬遠されたのか?
ここにもOSS問題が
2023/09/06(水) 12:30:09.29ID:12hS6FX4
>>136
いいかげんコテハン付けろよ。
2023/09/06(水) 18:07:43.20ID:bKG9yIlg
>>136
Apache2.0とMITのデュアルライセンスに何の問題が?
2023/09/07(木) 13:34:15.26ID:bUyh+PaU
GUI作りたいけどよくわからん
今のデファクトはなんや
2023/09/07(木) 14:34:25.76ID:BcSMP50e
デファクト決定戦レスバしかしてねーなこのスレ
2023/09/07(木) 15:38:29.71ID:kMvLzM04
デファクトと言える目安は Recent Downloadsで同カテゴリ2位以下と3倍以上差がついてるかどうか
2023/09/07(木) 21:32:40.12ID:pU5U2pan
GUIはデファクト無いと思う。要件で選ぶしかないわ。
2023/09/07(木) 21:35:22.15ID:I+OYue/W
RustならTUIが標準でしょ
2023/09/07(木) 23:41:05.43ID:7NPDh5XT
マウスでポチポチしたいんじゃ
2023/09/08(金) 00:00:03.39ID:hm00xw28
Rust製のGUIフレームワークあれば良いんだろうが
現状はQtやらgtkのような他所製のエンジン(GUIツールキット)を利用するためのクレートを使うって感じだろ?
自分が分かる・使ったことがあるGUIツールキットをRustを介して使えになるんじゃないのか。
2023/09/08(金) 00:06:21.68ID:DPQbgsiL
GUI に関しては OS (ディストリビューション) が提供するもの (をラップしたもの) を
避けるわけにいかないから「Rust 製」にこだわれないんだよね。
2023/09/08(金) 00:13:42.42ID:TT5R0qcn
OSのコンポーネント使うことにこだわらないならeguiでよいのでは
2023/09/08(金) 00:23:14.31ID:DPQbgsiL
egui は名前がエグい
2023/09/08(金) 00:25:14.57ID:3wUsERty
GUIは各言語に関係なく様々なレイヤーや様々なカバー範囲などあってRust以外の言語でも多数の選択肢があり要件により変わる
Rustのクレートでも同様であり極端なものだと例えばx11-dlクレートも該当すればtauriクレートも該当して自分はどちらも別用途でそれぞれ使用している
2023/09/08(金) 00:29:58.49ID:E3X/Jdig
X11ならマルチプラットフォームでもRust製で作れるな
151デフォルトの名無しさん
垢版 |
2023/09/08(金) 01:30:03.20ID:EHbxHCsV
フリーランスエンジニアになってからの年収推移を公開【現在年収1000万】

【実体験】仕事ができない新卒エンジニアでも月収70万フリーランスになれる理由

フリーランスエンジニアは年収900万円までは余裕!現役フリーランスエンジニアが徹底解説

フリーエンジニアの平均年収!未経験が年収1000万円を超える方法とは?

月額150万円以上も可能?ITフリーランスで高単価を獲得できる理由

在宅で年収1000万稼ぐフリーランスエンジニアの稼ぎ方【再現できる】

フリーランスのエンジニアやるなら45歳までに貯金5000万円作れないと死ぬ説
2023/09/08(金) 06:05:02.97ID:1e7fFDSb
>>144
今どきのTUIはマウスでポチポチできるようになってるぞ
2023/09/08(金) 07:42:03.69ID:L1913KOe
管理画面はウェブベースにしておけ
2023/09/08(金) 08:41:49.30ID:07e9DMWQ
どういうこと(´・ω・`)?
2023/09/08(金) 09:16:05.39ID:3pBwkm6o
田売りなのかなって気もするけど覚えること多そうだな…
2023/09/08(金) 12:46:27.44ID:Qwh1dPVP
Streamlit の Rust 版ってあるのかな
2023/09/08(金) 14:11:22.78ID:E3X/Jdig
>>152
マジかよ
21世紀ってすげーな
2023/09/08(金) 17:46:35.04ID:DPQbgsiL
ターミナルがマウスイベント送信できるようになってるやつならね。(まあモダンなのはだいたい出来ると思うが)
159デフォルトの名無しさん
垢版 |
2023/09/08(金) 18:56:17.34ID:LCrxvNjx
Tauriでいいじゃん
2023/09/08(金) 19:04:26.66ID:TT5R0qcn
sixel使ってターミナルGUIアプリケーションとかできないのかね
161デフォルトの名無しさん
垢版 |
2023/09/09(土) 00:48:43.38ID:uwI0AfpW
tauri執拗にすすめるやつなんなの?病気?
2023/09/09(土) 01:42:23.33ID:UR7WoOUT
スレに2回しか出てないのに執拗とは
2023/09/09(土) 01:55:37.10ID:nFkP/7o8
荒れるから、田売りの話は禁止にしよう
2023/09/09(土) 02:24:44.28ID:i5s7UXai
「Electronよりなんか良いっぽい」以外の利点が知られていないTauriさん
2023/09/09(土) 08:43:17.99ID:jpDXx+st
yarnだのcargoだのどいつもこいつもなんでオレオレパッケージマネージャ使いたがるの😭
2023/09/09(土) 09:07:53.17ID:cXOKMQb6
VSCodeなど(当時はTauriはなく)Electronで書かれたソフトが多いようにElectronとTauriは共通してメリットが多い
さらにWebアプリ化もしくはその逆も比較的容易
ただしどちらもHTML/CSS/(JavaScrpt)のWeb知識が必要なのでこれを持たない者だけが批判しがち
2023/09/09(土) 09:14:21.06ID:Vd67mKNx
オレオレじゃないパッケージマネージャというと?OS依存するものしか思いつかないが
2023/09/09(土) 11:00:13.25ID:Ig5iuvnc
html の設計がいびつなんだよね……。
xhtml まではドキュメント記述言語としてタグのセマンティクスを重視した設計だったのが
html5 から living standard の流れで html はウェブアプリケーション基盤だとする派閥が圧勝した。

そこからの流れで外観を記述する言語としての活用が広まっている状況があるのは事実だし、
もうこの流れに逆らえないのも事実だと思うが
html はやっぱり GUI 記述言語としては不格好な存在だよ。
2023/09/09(土) 11:33:35.06ID:IggX53ET
ハッピープライスパラダイス
ハイパーテキストマークアップランゲージ

あくまでもテキスト用言語だからなぁ
2023/09/09(土) 13:03:51.75ID:qxfK5/Yz
HTML+JSが嫌なら全部canvas+wasmでやればええねん
アクセシビリティとかは考慮しないものとする
2023/09/09(土) 14:51:58.44ID:Ig5iuvnc
屋上屋を重ねるという慣用句はこういうときにつかうのかな。
2023/09/09(土) 15:09:29.22ID:Ig5iuvnc
>>165
C/C++ は実行環境の管理と開発環境の管理を分けないスタイル(ライブラリもディストリビューションのパッケージマネージャーで管理する)でやってたし、分離するにしても chroot (今ならdockerでもよいかも)とかで出来てたからそれ以上には発展しなかった。
でも本来は別物ということにするほうが自然だと思う。
言語をまたいだ開発をするプロジェクトがややこしくなるがそれは本来的にややこしいものだからしょうがない。
2023/09/09(土) 16:01:57.25ID:sGUJTy2x
>>172
いつの話?無理やり停滞感を擦り付けている???

発展して_____+_____がデファクトスタンダード
それで不足なら_____サーバー

毎回ビルドに6時間とか待たなくて良いように発展した手法がほぼ統一された
Rustもビルド時間の件で大揉めしたじゃん、何も解決しなかったけど
(空気読んで情報は伏せた)
2023/09/09(土) 16:45:26.09ID:Ig5iuvnc
>>173
過去形で書いてるよ。
今は違うと強調したつもりの表現なんだけど……
2023/09/09(土) 18:12:41.11ID:hWR6yEQh
>>174
>今は違うと強調した

本気で言っているのなら
ちょっと心配になるレベルのコミュ□だぞ

か、またはネット□□師か?

あと後出し皮肉オジは煽りオジと同化しているからやめろ

Rustで煽りオジはサイコパス確定した
https://mevius.5ch.net/test/read.cgi/tech/1693451813/93
>軽く煽った後は、本業に戻る、だよ 急がないし
2023/09/09(土) 19:36:26.65ID:pYp2eZcM
オジ連呼厨は他人に絡み過ぎ
このプログラム板では人でなくプログラムや技術に目を向けろ

>>165
cargoはrustcとハードリンク一体化してるようにRust用かつ公式
yarnとnpmで分裂しているのとは異なり一体化してくれていてありがたい
2023/09/09(土) 19:51:44.43ID:qxfK5/Yz
>>165
大統一パッケージマネージャ作ってくれ
2023/09/09(土) 20:39:12.68ID:Rk1XYFyW
debとかrpmとか
2023/09/09(土) 21:06:18.16ID:IggX53ET
>>178
aptで良いと思う
2023/09/09(土) 21:31:02.60ID:1qPxYBdj
>>175
後出し皮肉オジは、コテハン出してた頃の複オジそのものに見えます
質問して答える自作自演も
2023/09/09(土) 21:33:52.69ID:Rk1XYFyW
>>179
aptはdebパッケージの管理ツール
2023/09/09(土) 22:07:42.11ID:qxfK5/Yz
>>178
依存crateをいちいちapt-getしてくるのさすがに大変すぎないか?
183デフォルトの名無しさん
垢版 |
2023/09/10(日) 10:57:43.69ID:yM7j2B0I
>>165
antも廃れたな
2023/09/10(日) 13:28:10.69ID:NvPhT1QM
>>183
パッケージマネージャの側面はmavenからでantにはivyで逆輸入された。

antは廃れるべくして廃れたな。
185デフォルトの名無しさん
垢版 |
2023/09/10(日) 14:52:06.76ID:9TiyMpcM
mavenとかまだ使ってるとこあるの?
普通はgladleだよね?
未だにmavenだとしたらちょっとそこはヤバいと思う。
2023/09/10(日) 15:10:16.28ID:yM7j2B0I
今でも使ってるなんて誰も言ってないのでは
2023/09/10(日) 15:36:29.89ID:NvPhT1QM
いや、未だにmavenって認識が間違ってるよ。
定型的な開発サイクルであればmavenで十分だしそこで明確なツラミもないのにgradleに移行しようって判断するようなチームはヤバい。

とはいえ今だと初手でgradle選択するチームが多いだろうね。
188デフォルトの名無しさん
垢版 |
2023/09/10(日) 16:18:37.72ID:yM7j2B0I
自分で質問して自分で答えるタイプの人でしたか
2023/09/10(日) 17:15:47.84ID:DnwEEEwp
みんなjavaに詳しいのね
190デフォルトの名無しさん
垢版 |
2023/09/11(月) 00:02:48.34ID:RxCGMczZ
ビルドのためにグルービーとかいう言語を使わなければいけないことに異常性を感じないのかjavaの人たち
2023/09/11(月) 00:13:23.96ID:aoFlyd5o
MakefileやCMakeも大概だしビルドは魔境
2023/09/11(月) 00:18:19.95ID:/EmpjAru
Groovy は、Rubyist なら分かる。ほぼ同じ
2023/09/11(月) 00:23:10.62ID:ul9tFljX
>>190
今のgradleはgroovyじやなくてkotlinで書けるよ
2023/09/11(月) 09:54:06.45ID:lXcI/Ajd
もう maven も gradle も java も使ってないから安心汁
195デフォルトの名無しさん
垢版 |
2023/09/11(月) 17:56:49.57ID:gmM4YyOK
>>190
世の中にはビルドとかCI/CDの定義ファイルがYAMLだからって、それ拡張してif else の制御構造組み込んでるところもあるんやで。
2023/09/11(月) 21:37:45.75ID:+I//Qqk+
>>195
antやん
2023/09/13(水) 22:09:57.35ID:JQEDxoJN
CNCF系はyaml好きだからね
それはさておき、言語固有のリポジトリマネージャはOSとは独立じゃないとディストリビュータもライブラリ管理者も辛いという必要性があって生み出されたもの
今後もなくなる事は無いでしょう。CPANあたりが元祖ですかね
2023/09/13(水) 23:41:57.05ID:ljzzNVbD
tomlがEBCDICで描かれてたら絶望しかない
2023/09/14(木) 10:03:14.07ID:CfWv79JE
さすがにcpanなんかもう使われてないよ
2023/09/14(木) 10:31:50.25ID:JeXpXyyi
tomlとRustって直接関係あるの?
単に採用が多いってだけ?
2023/09/14(木) 10:45:04.55ID:hWZaPMNq
明確に関係を規定しているわけではないが
開発ツールチェインで採用している以上は馴染みやすいし、
習慣的に toml が普通という感じ
202デフォルトの名無しさん
垢版 |
2023/09/14(木) 18:18:10.36ID:uElhXa+m
JetBrains から RustRover 出たね。まだプレビュー版だけど。その代わり無料だ。
203デフォルトの名無しさん
垢版 |
2023/09/14(木) 18:20:11.06ID:uElhXa+m
ぜひとも IntelliJ IDEA のように無料のcommunity版も出して欲しい。
204デフォルトの名無しさん
垢版 |
2023/09/15(金) 11:42:38.55ID:FLL155po
的を射ている
https://wolfbash.hateblo.jp/entry/2017/07/30/193412
2023/09/15(金) 12:00:21.56ID:FSCF79pL
めちゃペラいな
初めて3日くらいの感想ぽい
2023/09/15(金) 12:00:26.41ID:LQyUZKSg
しょーもな...
2023/09/15(金) 12:03:53.15ID:xQfsfFQS
しっかりやってる人の意見
https://kerkour.com/should-i-rust-or-should-i-go

Goと比較した場合のRust一番大きいメリットはエラー処理やバグ検知だけどasyncのデメリットが大きいのも確か
2023/09/15(金) 12:13:34.28ID:LoLA89os
むしろNimのネガキャンにしかなってないって話題になってた記憶が
2023/09/15(金) 12:13:50.38ID:+YuTSIf8
>>205
Rustの一番の課題が絶壁の学習曲線なんだから、3日目の感想は重要だろ。
それを無視するならHaskell化待ったなしだな。
210デフォルトの名無しさん
垢版 |
2023/09/15(金) 12:52:21.36ID:FLL155po
情報密度が違っててワロス
https://www.ossnews.jp/compare/Rust/Nim
2023/09/15(金) 12:58:36.85ID:FqVl8L26
>>207
むしろasyncが容易かつ効率的なことがRustの利点だよ
そして軽い非同期タスクを大量にマルチスレッド上でいわゆるM:Nスケジューリングできるのは、
RustとGoしかないためその両者の比較になるのはその通りだが出来る範囲はRustが広くきめ細かい
もちろん非同期以外の言語仕様も同様でGoは貧弱すぎる
2023/09/15(金) 13:33:46.47ID:yoJlOour
Go は貧弱だが Go くらいで十分な範囲をカバーできるだろ……という割り切りで設計されているように見える。
2023/09/15(金) 14:58:25.08ID:3ICKgtSW
Goは構文が簡素なのは割り切りとしていいと思うんだけど
参照周りの扱いとかCの頃から進歩してなくて
「こんなこと今どき人間が気をつけて書くの?」という気持ちにはなる
2023/09/15(金) 16:57:51.41ID:fC9P09S6
>>210
こういう役に立たない一般論に比べれば>>204のような薄っぺらい個人の感想のほうが実践知なのでまだ価値がある
2023/09/15(金) 19:05:24.10ID:BkBNFquN
>>210
スマホからは何も見えない……
なんかあるの?
2023/09/15(金) 19:11:49.50ID:wdMffZ4Q
>>215
RustとNimを比較してるサイト
217デフォルトの名無しさん
垢版 |
2023/09/15(金) 20:05:41.52ID:pQw5TxEC
Goは構文簡素にしてても内部のGCとかは複雑にしてるイメージ。
2023/09/15(金) 20:39:40.02ID:zdZpv9AJ
>>214
どちらのページも意味のある情報がなにもない
くだらない揚げ足取り

>>215
PCからしか内容が見えないダメサイト
内容に意味はないため見る必要ない
2023/09/15(金) 22:34:16.16ID:qrlNPDKn
そのRust批判を書いてる人もそうだが
意味のあるプログラミング経験の少ない人はmutを毛嫌いしてるよな

言語に関係なくミュータブルか否かの区別がある方が好ましく
ミュータブルの使用は必要最小限が好ましい
という当たり前のことに沿う仕様なのに理解できなくて批判
220デフォルトの名無しさん
垢版 |
2023/09/15(金) 23:11:51.65ID:UUFGnjcv
>>219
ミュータブルか否かの区別があるのは煩雑になるだけで好ましくない。WindowsやLinuxのソースコードに
Rustが採用されたと言ってもごく一部でメモリ安全性が特に重視される部分だけ。全部をRustで書くなんて
煩雑な作業には人間はとても耐えられない。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況