公式
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 part19
https://mevius.5ch.net/test/read.cgi/tech/1673926892/
ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
Rust part20
■ このスレッドは過去ログ倉庫に格納されています
2023/03/03(金) 00:45:28.73ID:vTVY069B
254デフォルトの名無しさん
2023/03/22(水) 13:00:26.42ID:KFnwa6CM >>251
おいおいなんで急にハッシュマップが出てくるんだよ
そんなんで大丈夫か?
Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
現実的かつ具体的なユースケースで考えような
おいおいなんで急にハッシュマップが出てくるんだよ
そんなんで大丈夫か?
Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
現実的かつ具体的なユースケースで考えような
255デフォルトの名無しさん
2023/03/22(水) 18:31:25.27ID:KdbjtxZL ナイーブなハッシュテーブルをVec<Option<T>>で実装する人はいるかもしれない
256デフォルトの名無しさん
2023/03/22(水) 21:00:04.56ID:ax9KtLpr うちも値域が限定されてる離散値はArrayかVec<Option<T>>使う
257デフォルトの名無しさん
2023/03/22(水) 21:30:41.78ID:Bu7rNmu4 マニュアルに書いてるような内容をやたら饒舌に語るとChatGPT感出るね
258デフォルトの名無しさん
2023/03/22(水) 21:32:36.00ID:VRM+VuH6259デフォルトの名無しさん
2023/03/22(水) 21:36:57.10ID:fGWMZjSN Vec<Optionは普通に使うぞ
今書いてる部分と似たようなことをしてるregexのソースを見たらVec<Option使ってる
普通そうなるよな
今書いてる部分と似たようなことをしてるregexのソースを見たらVec<Option使ってる
普通そうなるよな
260デフォルトの名無しさん
2023/03/22(水) 22:15:33.42ID:ngpWOwSU261デフォルトの名無しさん
2023/03/22(水) 23:19:58.21ID:M/QYX+I6 Vec<Option<T>>が使われないなんていう話は誰もしてないのにね
話が通じなくてもう面倒くさ過ぎるわ
話が通じなくてもう面倒くさ過ぎるわ
262デフォルトの名無しさん
2023/03/22(水) 23:35:18.64ID:3T9wSwPZ たぶん論点はfilter_mapの話からここ
> vec![None, Some((1, 2)), None, Some((3, 4)), None];みたいなのはこれがすでに入力値に対して何かしら関数適用した結果なんだよね
> Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
でもこの主張は間違っていて
疎なデータ構造ならいきなりVec<Option<T>>が現れる
初期値オールNoneから飛び飛びにSome化していく
そのVec<Option<T>>は何度も使うからのイテレータ処理の一時的に現れるものでもない
> vec![None, Some((1, 2)), None, Some((3, 4)), None];みたいなのはこれがすでに入力値に対して何かしら関数適用した結果なんだよね
> Vec<Option<V>>みたいなデータがどこからともなく自然発生するわけないんだから全体のパイプラインを考えろって言ってるの
でもこの主張は間違っていて
疎なデータ構造ならいきなりVec<Option<T>>が現れる
初期値オールNoneから飛び飛びにSome化していく
そのVec<Option<T>>は何度も使うからのイテレータ処理の一時的に現れるものでもない
263デフォルトの名無しさん
2023/03/23(木) 00:27:50.25ID:WQSgJ4cO 構うから暴れるんすよ
264デフォルトの名無しさん
2023/03/23(木) 07:45:41.23ID:ZvBDBUI1 グラフ構造でVec<Option<usize>>使うこともある
さらにインデックス自体のマッピングにも使われたり
// Maps old index to new index. None if not yet visited.
let mut remap: Vec<Option<usize>> = vec![None; self.nodes.len()];
さらにインデックス自体のマッピングにも使われたり
// Maps old index to new index. None if not yet visited.
let mut remap: Vec<Option<usize>> = vec![None; self.nodes.len()];
265デフォルトの名無しさん
2023/03/23(木) 08:16:41.69ID:uJzov1zR 公式ドキュメントとchatgpt
これだけあれば全て滅びる
これだけあれば全て滅びる
266デフォルトの名無しさん
2023/03/25(土) 10:51:05.32ID:F0OLKMhM 人間があれやこれやするよりも
全部 AI 翻訳に任せりゃインジャネーノ
全部 AI 翻訳に任せりゃインジャネーノ
267デフォルトの名無しさん
2023/03/27(月) 10:33:42.84ID:IqXvBms8 >>263
本当にそうだったね
本当にそうだったね
268デフォルトの名無しさん
2023/03/27(月) 13:18:10.65ID:hjxGI+jP そのうち
課題を見つける能力
課題を提起する能力
がメインとなるんやろな
1人会社が当たり前になりそう
課題を見つける能力
課題を提起する能力
がメインとなるんやろな
1人会社が当たり前になりそう
269デフォルトの名無しさん
2023/03/27(月) 17:47:50.73ID:ppqykIl7 >>268
今までもそうだったけど気づいてない人が多かったというだけ
解けることが事前にわかってる問題を与えられて解くだけの人は今までも価格競争にさらされ段階的に置き換えられてきた
機械学習による変化は機械に解かせることのできる問題の抽象度が上がったこと
今までもそうだったけど気づいてない人が多かったというだけ
解けることが事前にわかってる問題を与えられて解くだけの人は今までも価格競争にさらされ段階的に置き換えられてきた
機械学習による変化は機械に解かせることのできる問題の抽象度が上がったこと
270デフォルトの名無しさん
2023/03/30(木) 21:28:14.05ID:O05INV+E samタレットを壊されないかつ迎撃もできる状態で設置する方法ってない?
拠点屋根に四台設置してんだけどログインする度に毎回壊されてるわ
拠点屋根に四台設置してんだけどログインする度に毎回壊されてるわ
271デフォルトの名無しさん
2023/03/30(木) 21:34:58.46ID:O05INV+E ごめんスレ間違えた
272デフォルトの名無しさん
2023/03/31(金) 12:09:07.07ID:lEKZGT8D それはrustだろ?ここはrustスレ。間違えるなよ
273デフォルトの名無しさん
2023/04/01(土) 04:03:16.63ID:ncnK4efa Interface 2023年5月号
550号特別企画 2大特集 Linuxでも正式サポート,組み込みや車載で注目を集める 質実剛健 Rust言語
3月25日発売 (定価 1,200円+税)
第1特集:C言語と比べて理解する
第2特集:マイコンで動くフル機能Rust
特別付録:初めてのRustプログラミング
新連載:毎号実験!自律移動ロボット
550号特別企画 2大特集 Linuxでも正式サポート,組み込みや車載で注目を集める 質実剛健 Rust言語
3月25日発売 (定価 1,200円+税)
第1特集:C言語と比べて理解する
第2特集:マイコンで動くフル機能Rust
特別付録:初めてのRustプログラミング
新連載:毎号実験!自律移動ロボット
274デフォルトの名無しさん
2023/04/01(土) 16:12:14.56ID:MxqBV1k0 >>273
面白そうだな。組み込みだと実装依存のCコードがまかり通っていたりするからな
面白そうだな。組み込みだと実装依存のCコードがまかり通っていたりするからな
275デフォルトの名無しさん
2023/04/02(日) 17:52:37.39ID:w9dFgeBH interface読んでる連中には難しいんじゃないの?
276デフォルトの名無しさん
2023/04/02(日) 18:01:44.10ID:Xkdfgrgv むしろこれを機に組み込みの勉強でも始めてみようかしら
277デフォルトの名無しさん
2023/04/02(日) 18:02:25.20ID:oh3DHZZg278デフォルトの名無しさん
2023/04/02(日) 19:09:06.81ID:w9dFgeBH 組み込みだったらmrubyだよね
しらんけど
しらんけど
279デフォルトの名無しさん
2023/04/03(月) 00:25:42.34ID:XRTgFvZO そのうちrust謹製の組み込み OS とか出てくるんじゃねえの
280デフォルトの名無しさん
2023/04/03(月) 00:53:16.98ID:OPvO6xnV >>279
Google が KataOS を発表してる。 今は CantripOS と改名してるっぽいな。
どこまで本気なのかよくわからんけどコードは Github に有るから見物してみたらいいんじゃない?
Google が KataOS を発表してる。 今は CantripOS と改名してるっぽいな。
どこまで本気なのかよくわからんけどコードは Github に有るから見物してみたらいいんじゃない?
281デフォルトの名無しさん
2023/04/03(月) 09:12:06.30ID:45NlJXFV 組み込み分野を目指す学生はPythonばっかり
これを機にRustやCやC++にも目を向けて欲しい
組み込み分野の実務でPythonはつぶしがきかない
これを機にRustやCやC++にも目を向けて欲しい
組み込み分野の実務でPythonはつぶしがきかない
282デフォルトの名無しさん
2023/04/03(月) 11:15:42.36ID:wQbZbh4b 組み込みでPythonとか使うのか
一番親和性の感じられない組み合わせやな
一番親和性の感じられない組み合わせやな
283デフォルトの名無しさん
2023/04/03(月) 11:32:22.07ID:AEelnK5w ラズパイでしょ
284デフォルトの名無しさん
2023/04/03(月) 11:39:22.47ID:DEHD7IX8 ラズパイは組み込みじゃないだろw
組み込み向けだと MicroPython とかあった気がするけど使われてるのかねぇ
組み込み向けだと MicroPython とかあった気がするけど使われてるのかねぇ
285デフォルトの名無しさん
2023/04/03(月) 11:55:49.94ID:weCnHsyM ラズパイはLinux系OSが動いていてX Windowを立ち上げてデスクトップPCにすることも可能な環境
昔からからの組み込みが指すのはOSがないもしくは簡易なものしかない環境でありそこでPythonは使われない
昔からからの組み込みが指すのはOSがないもしくは簡易なものしかない環境でありそこでPythonは使われない
286デフォルトの名無しさん
2023/04/03(月) 12:04:38.11ID:GLvgK6Zq 組み込みかどうかと言うより
ミッションクリティカルかどうかと言ったほうが正確か
ミッションクリティカルかどうかと言ったほうが正確か
287デフォルトの名無しさん
2023/04/03(月) 12:08:34.80ID:+ZHaYieR 同等以上に曖昧に思う。
288デフォルトの名無しさん
2023/04/03(月) 12:26:19.63ID:NFGj33Dp 組み込みならFORTHだよね。
289デフォルトの名無しさん
2023/04/03(月) 15:05:13.27ID:KUJKPBk4 ミッションクリティカルの意味わかってないだろw
290デフォルトの名無しさん
2023/04/03(月) 15:14:52.29ID:bhpxOZS2 javaですら使われるんだから場所によってはpythonもあるだろう
291デフォルトの名無しさん
2023/04/03(月) 16:24:30.55ID:0x65F9Io このスレ複製おじ来なくなって平和になったなw
292デフォルトの名無しさん
2023/04/03(月) 17:14:33.32ID:XRTgFvZO 10年後くらいには組み込みの指すやつが10GHz・20GBくらいになってんだよ
293デフォルトの名無しさん
2023/04/03(月) 22:15:51.09ID:OPvO6xnV Python だって組み込みに使われるのはわかるよ。
でもそれをホスティングする環境は何で書くんだって話よ。
アプリケーション部分だけ書ければ良しというわけにもいかんだろう。 組み込みってのは。
でもそれをホスティングする環境は何で書くんだって話よ。
アプリケーション部分だけ書ければ良しというわけにもいかんだろう。 組み込みってのは。
294デフォルトの名無しさん
2023/04/03(月) 22:22:41.19ID:6LaoLj6b 組み込みの定義次第
295デフォルトの名無しさん
2023/04/03(月) 22:46:10.84ID:uCVDtc7z 自分の中の組み込みはリアルタイムシステム
CかC++
CかC++
296デフォルトの名無しさん
2023/04/03(月) 23:08:31.70ID:NUuZ0KjY >>290
javaですらというか、javaはもともと組込みを視野に入れて開発されたものだしな
javaですらというか、javaはもともと組込みを視野に入れて開発されたものだしな
297デフォルトの名無しさん
2023/04/04(火) 12:59:01.65ID:9wA8JWJA 普通のWindowsPCを何かの筐体に入れればそれは組み込みだがそういう話じゃないよな
実装的には一般的なアプリと何も変わらないわけだし
実装的には一般的なアプリと何も変わらないわけだし
298デフォルトの名無しさん
2023/04/04(火) 19:20:19.03ID:WPLXkRn6 みんな、組み込みに食いつくね
連想するの分野がひとそれぞれなんだね
おいらは組み込みといったらファームウェアだな
連想するの分野がひとそれぞれなんだね
おいらは組み込みといったらファームウェアだな
299デフォルトの名無しさん
2023/04/04(火) 20:28:06.15ID:ktWoV7jH PICじゃなきゃ組み込みじゃないって感じなのかな?
数年前に関わった仕事じゃFPGAとARMが両方乗っかってて
OSも入ってるやつで測定データをCのソケットでUDP送信させたけどこれ組み込み?
数年前に関わった仕事じゃFPGAとARMが両方乗っかってて
OSも入ってるやつで測定データをCのソケットでUDP送信させたけどこれ組み込み?
300デフォルトの名無しさん
2023/04/04(火) 20:50:26.77ID:vWHz0hKB301デフォルトの名無しさん
2023/04/04(火) 21:47:02.28ID:LgI/21ca 技術的には低レイヤーと称する方が適しているのだろうな。せいぜい軽量のRTOSあたりまで
>>300
汎用性に乏しい装置は原則組み込みじゃね
ゲームコンソールもどちらかと言えば組み込みだと思うし
デジタルサイネージとかも該当するだろう(ラズパイ使っている例もあるらしい)
>>300
汎用性に乏しい装置は原則組み込みじゃね
ゲームコンソールもどちらかと言えば組み込みだと思うし
デジタルサイネージとかも該当するだろう(ラズパイ使っている例もあるらしい)
302デフォルトの名無しさん
2023/04/05(水) 02:16:43.52ID:SGxKhieo303デフォルトの名無しさん
2023/04/05(水) 11:08:42.58ID:vYYfy7R4304デフォルトの名無しさん
2023/04/06(木) 10:45:28.99ID:E/e3rQLj305デフォルトの名無しさん
2023/04/06(木) 11:27:07.02ID:k0Faa7D2 普通組み込み用途と言えばコンピュータ制御の電子機器のために使う用途やろな
・メモリなどのリソースが少ない環境でも使える
・応答時間などのタイミング制御のために実時間処理ができる
こういうのにRustが強いのは何となくわかる
コンパイル時に静的に解決できる範囲が広いからな
・メモリなどのリソースが少ない環境でも使える
・応答時間などのタイミング制御のために実時間処理ができる
こういうのにRustが強いのは何となくわかる
コンパイル時に静的に解決できる範囲が広いからな
306デフォルトの名無しさん
2023/04/06(木) 12:37:50.23ID:HSw9WEQy 全然違う話でごめん
以下のような処理がある時にf(**item)と参照外しを2回も必要とするのは違和感あるけどそういうもの?
let v: Vec<i32> = vec![1, 8, 4, 5, 9, 6, 3];
let valid_index_list: Vec<usize> = v
.iter()
.enumerate()
.filter(|(_, item)| f(**item))
.map(|(index, _)| index)
.collect();
以下のような処理がある時にf(**item)と参照外しを2回も必要とするのは違和感あるけどそういうもの?
let v: Vec<i32> = vec![1, 8, 4, 5, 9, 6, 3];
let valid_index_list: Vec<usize> = v
.iter()
.enumerate()
.filter(|(_, item)| f(**item))
.map(|(index, _)| index)
.collect();
307デフォルトの名無しさん
2023/04/06(木) 12:42:05.41ID:0BpFn4iz 組み込みシステムと組み込みプログラミングで微妙に境界線が異なる
例えばサーマルカメラ内蔵のAndroid端末を使った検温システムは組み込みシステムだけど
サーマルカメラのSDKを利用した検温アプリ開発は組み込みプログラミングとは呼ばないかもしれない
サーマルカメラのSDKを作る開発は組み込みプログラミングと呼べる
例えばサーマルカメラ内蔵のAndroid端末を使った検温システムは組み込みシステムだけど
サーマルカメラのSDKを利用した検温アプリ開発は組み込みプログラミングとは呼ばないかもしれない
サーマルカメラのSDKを作る開発は組み込みプログラミングと呼べる
308デフォルトの名無しさん
2023/04/06(木) 12:56:01.04ID:UmwXRZgB 確かにSoCや基板の事情がソフト側から見えてると
(memory mapped I/O直接叩くとか)
OSの有無によらず組み込みっぽい感じはするな
(memory mapped I/O直接叩くとか)
OSの有無によらず組み込みっぽい感じはするな
309デフォルトの名無しさん
2023/04/06(木) 15:14:50.96ID:f3OaQ0al >>306
なんかオジっぽいコードだね
普通はDeref Coercionを活用する
その例ならfを&i32 -> boolにすれば明示的derefは不要
filter関数がownership取るのは変
ついでにfilter_mapでまとめて
.filter_map(|(index, item)| f(item).then_some(index))
シグニチャ変えられない特別な事情があるならパターンマッチで|(index, &item)|としてderefしておく
なんかオジっぽいコードだね
普通はDeref Coercionを活用する
その例ならfを&i32 -> boolにすれば明示的derefは不要
filter関数がownership取るのは変
ついでにfilter_mapでまとめて
.filter_map(|(index, item)| f(item).then_some(index))
シグニチャ変えられない特別な事情があるならパターンマッチで|(index, &item)|としてderefしておく
310デフォルトの名無しさん
2023/04/06(木) 16:55:58.17ID:E/e3rQLj >>306
値を返すイテレータも参照を返すイテレータもあるから
どちらでも不都合のない仕組みにしようとするとそうなるんじゃないの。
参照が二重になるのはごく普通のこと。
その二重の参照をどうやって剥がすかには選択肢があるけど。
値を返すイテレータも参照を返すイテレータもあるから
どちらでも不都合のない仕組みにしようとするとそうなるんじゃないの。
参照が二重になるのはごく普通のこと。
その二重の参照をどうやって剥がすかには選択肢があるけど。
311デフォルトの名無しさん
2023/04/06(木) 18:19:32.48ID:ypjpS3Va312デフォルトの名無しさん
2023/04/06(木) 18:50:13.90ID:uKOnYkHi 俺はそれやだな
313デフォルトの名無しさん
2023/04/06(木) 19:01:16.65ID:1W2y5liy 俺もそれはちょっと遠慮したい
でもまぁそこは論点じゃないんでしょ
iter().filter()は常に&&Tになるから**itemするのが一般的かどうかを聞いてるんだよね?
でもまぁそこは論点じゃないんでしょ
iter().filter()は常に&&Tになるから**itemするのが一般的かどうかを聞いてるんだよね?
314デフォルトの名無しさん
2023/04/06(木) 19:34:52.41ID:E/e3rQLj >>311
イテレータでのアクセス (シーケンシャルアクセス) とランダムアクセスが混ざるのがなんか嫌な気持ちになる。
Vec や配列であることが分かっているときなら問題はないというか、
むしろ状況が整理された良いコードだとも思うんだけどなんか心理的な抵抗感が……。
イテレータでのアクセス (シーケンシャルアクセス) とランダムアクセスが混ざるのがなんか嫌な気持ちになる。
Vec や配列であることが分かっているときなら問題はないというか、
むしろ状況が整理された良いコードだとも思うんだけどなんか心理的な抵抗感が……。
315デフォルトの名無しさん
2023/04/06(木) 21:02:27.27ID:cLuUm0Wb またイテレータの話してる
316デフォルトの名無しさん
2023/04/06(木) 22:26:13.61ID:Ejh1MMKT >>313
into_iter()でT自体を回してるときにfilterで消費しないように&Tを使っているために
iter()で&Tを回してるときは&&Tになってしまうわけだな
3つの点
・&&Tを考える概念的なわかりにくさ
・記述と可読性
・最適化後の最終コード
それそれで不利があるのかどうか?
into_iter()でT自体を回してるときにfilterで消費しないように&Tを使っているために
iter()で&Tを回してるときは&&Tになってしまうわけだな
3つの点
・&&Tを考える概念的なわかりにくさ
・記述と可読性
・最適化後の最終コード
それそれで不利があるのかどうか?
317デフォルトの名無しさん
2023/04/08(土) 17:58:41.25ID:mPm1zhb4 イテレータおじさん.....。
318デフォルトの名無しさん
2023/04/08(土) 23:26:42.03ID:JVh6Wuqn 多数の文字列をいくつでも追加で登録できて、
その登録した各文字列の参照(&str)を、
その登録オブジェクトが生きてる間は自由に使えるような機能のクレートありますか?
追加のみで削除機能がなければ安全に参照&strを返してその参照をずっと安全に使い続けられるインタフェースを提供できそうですが、
実現にはunsafeを使わざるを得ないため何かデファクトスタンダードなクレートがあるか知りたいです。
その登録した各文字列の参照(&str)を、
その登録オブジェクトが生きてる間は自由に使えるような機能のクレートありますか?
追加のみで削除機能がなければ安全に参照&strを返してその参照をずっと安全に使い続けられるインタフェースを提供できそうですが、
実現にはunsafeを使わざるを得ないため何かデファクトスタンダードなクレートがあるか知りたいです。
319デフォルトの名無しさん
2023/04/09(日) 00:21:16.51ID:mvoikQEA Vec<String>
320デフォルトの名無しさん
2023/04/09(日) 00:32:20.15ID:optZAiB4 Vecは追加のために&mutを使うから&strを持ち続けられないか
321デフォルトの名無しさん
2023/04/09(日) 01:16:25.16ID:uCQZ544j は?
322デフォルトの名無しさん
2023/04/09(日) 01:36:27.91ID:o+9ttclI もしかしてこういうこと?
let mut v = Vec::new();
v.push("first".to_string());
let first: &str = &v[0];
v.push("second".to_string());
let second: &str = &v[1];
println!("{first} and {second}");
コンパイルエラーだな
let mut v = Vec::new();
v.push("first".to_string());
let first: &str = &v[0];
v.push("second".to_string());
let second: &str = &v[1];
println!("{first} and {second}");
コンパイルエラーだな
323デフォルトの名無しさん
2023/04/09(日) 01:42:07.16ID:Xj6NS6Ie 文字列専用じゃないけどarena系の実装でいいのかな
typed_arena(https://docs.rs/typed-arena/latest/typed_arena/index.html)がよく使われてるみたい
use typed_arena::Arena;
fn main() {
let arena = Arena::new();
let a: &mut str = arena.alloc_str("abc");
let b: &mut str = arena.alloc_str("def");
let c: &str = arena.alloc_str("ghi");
println!("{a}, {b}, {c}"); // abc, def, ghi
a.make_ascii_uppercase();
b.make_ascii_uppercase();
let d: &str = arena.alloc_str("jkl");
println!("{a}, {b}, {c}, {d}"); // ABC, DEF, ghi, jkl
}
typed_arena(https://docs.rs/typed-arena/latest/typed_arena/index.html)がよく使われてるみたい
use typed_arena::Arena;
fn main() {
let arena = Arena::new();
let a: &mut str = arena.alloc_str("abc");
let b: &mut str = arena.alloc_str("def");
let c: &str = arena.alloc_str("ghi");
println!("{a}, {b}, {c}"); // abc, def, ghi
a.make_ascii_uppercase();
b.make_ascii_uppercase();
let d: &str = arena.alloc_str("jkl");
println!("{a}, {b}, {c}, {d}"); // ABC, DEF, ghi, jkl
}
324デフォルトの名無しさん
2023/04/09(日) 01:56:50.49ID:awfxf9QU だとしたらinterior mutabilityでやる話だね
325デフォルトの名無しさん
2023/04/09(日) 02:19:43.49ID:fcL4nlHr use string_cache::DefaultAtom;
fn main() {
let s1 = DefaultAtom::from("example");
let s2 = DefaultAtom::from("example");
assert_eq!(s1, s2);
let s1_ref: &str = &*s1;
let s2_ref: &str = &*s2;
assert_eq!(s1_ref, s2_ref);
}
fn main() {
let s1 = DefaultAtom::from("example");
let s2 = DefaultAtom::from("example");
assert_eq!(s1, s2);
let s1_ref: &str = &*s1;
let s2_ref: &str = &*s2;
assert_eq!(s1_ref, s2_ref);
}
326デフォルトの名無しさん
2023/04/09(日) 02:43:31.70ID:vz6m7/QT シンボルテーブルか
327デフォルトの名無しさん
2023/04/09(日) 16:31:56.46ID:CdUYcfdD >>323,325
質問者はコレクションを求めてるんだろ
質問者はコレクションを求めてるんだろ
328デフォルトの名無しさん
2023/04/10(月) 08:37:09.69ID:DyZbTzV6 Rustのwebフレームワークって2023年現在どれがおすすめですか?
329デフォルトの名無しさん
2023/04/10(月) 10:35:11.69ID:wa5pv4tn そんなに数多くないと思うから10~20個くらい試して何が良かったか教えてよ
オススメ聞くってことはここで挙げられるようなやつ全部試して感想聞かせてくれるってことでしょ
決めるのに好みも入ってていいんだから
なんなら「名前が気にくわない」「アイコンがダサい」くらいの理由でもいい
オススメ聞くってことはここで挙げられるようなやつ全部試して感想聞かせてくれるってことでしょ
決めるのに好みも入ってていいんだから
なんなら「名前が気にくわない」「アイコンがダサい」くらいの理由でもいい
330デフォルトの名無しさん
2023/04/10(月) 10:45:58.73ID:yiM3eSrr 規模とか構成とかでも良い選択は違うのでなんとも言いにくいな。
比較的に万能で定番なものは actix, axum, rocket あたりだと思うが。
比較的に万能で定番なものは actix, axum, rocket あたりだと思うが。
331デフォルトの名無しさん
2023/04/10(月) 12:38:17.63ID:GqegRxcS Tide 使っとけば間違いない
332デフォルトの名無しさん
2023/04/10(月) 15:48:33.90ID:4HpjR3/Y パフォーマンスより、単純明快なwebフレームワークが知りたいな
PythonならFlask的な
どうせDBがボトルネックになるし
PythonならFlask的な
どうせDBがボトルネックになるし
333デフォルトの名無しさん
2023/04/10(月) 18:28:14.17ID:Mdv85xt7 そういうの自分で調べられない人はもう少しエコシステムが成熟してからRustを検討した方がいいよ
334デフォルトの名無しさん
2023/04/10(月) 19:05:09.35ID:sUqOZltz どうせ○○がボトルネックになるし
↑
こういう発想は大事
細かいところにだけ着目してvtableのコストがどうのとか
クロック数でいくらどうのとか
そういう連中よりは遥かにセンスがある
↑
こういう発想は大事
細かいところにだけ着目してvtableのコストがどうのとか
クロック数でいくらどうのとか
そういう連中よりは遥かにセンスがある
335デフォルトの名無しさん
2023/04/10(月) 19:20:23.61ID:yiM3eSrr >>334
クラウドだとCPU時間やメモリに課金されるから
「ユーザの体感速度にほんど影響がないからいいや」とはならない。
スループットだけ見てればよい時代は終わった。
ローカルでちょっとした GUI がわりにする程度ならどうでもいいけど……。
クラウドだとCPU時間やメモリに課金されるから
「ユーザの体感速度にほんど影響がないからいいや」とはならない。
スループットだけ見てればよい時代は終わった。
ローカルでちょっとした GUI がわりにする程度ならどうでもいいけど……。
336デフォルトの名無しさん
2023/04/11(火) 23:57:13.30ID:+2ozf4Lx ディスパッチの話で負けた負け犬が遠吠えこいてんのか
337デフォルトの名無しさん
2023/04/26(水) 20:19:48.59ID:WZHTU1Do Rustに限った話じゃないけど非線形(条件分岐を少なからず含む)な関数のテスト条件って普通どうやって作るの?
例えばRGB888フォーマットの色1と色2を飽和加算合成する関数を作ったのでテストしたいとする
すべてのパターンをテストすれば確実だが2の24乗もあってあまり現実的ではない
最小値と最大値と線形から非線形に移行する付近のみテストするとか?
例えばRGB888フォーマットの色1と色2を飽和加算合成する関数を作ったのでテストしたいとする
すべてのパターンをテストすれば確実だが2の24乗もあってあまり現実的ではない
最小値と最大値と線形から非線形に移行する付近のみテストするとか?
338デフォルトの名無しさん
2023/04/26(水) 20:42:58.19ID:NF11/Xrv 境界付近をテストするので良いと思う。
網羅的にテストしたつもりでも実際の問題ってのはどうせ
想定してないところから出てくるもんだから事前に何もかも盛り込むのは無理。
問題が出たときにテストを追加して同じ問題をもう出さない (後退はしない) ようにして
徐々に良くしていくしかない。
網羅的にテストしたつもりでも実際の問題ってのはどうせ
想定してないところから出てくるもんだから事前に何もかも盛り込むのは無理。
問題が出たときにテストを追加して同じ問題をもう出さない (後退はしない) ようにして
徐々に良くしていくしかない。
339337
2023/04/29(土) 21:52:25.06ID:+xgAqXRk >>338
あと追加するなら加算のテストくらいかな
0+1=1、1+1=0+C、1+0=1・・・ビット単位ならパターンはそこまで多くないし
ググっても具体的に何をテストすべきかみたいな解説はあまり出てこない気がする
あと追加するなら加算のテストくらいかな
0+1=1、1+1=0+C、1+0=1・・・ビット単位ならパターンはそこまで多くないし
ググっても具体的に何をテストすべきかみたいな解説はあまり出てこない気がする
340デフォルトの名無しさん
2023/05/02(火) 10:56:16.58ID:j5a6+bQW スレに人が来なくなったのはGWなのとchatGPTでPG需要減ってきたからか
341デフォルトの名無しさん
2023/05/02(火) 12:05:52.42ID:+0ZRIFR4 sudoとsuがRustで書き直される。メモリ安全性向上へ
https://news.yahoo.co.jp/articles/296d15d7c1f7190ff1646f4d52f8df8c56c0e132
https://news.yahoo.co.jp/articles/296d15d7c1f7190ff1646f4d52f8df8c56c0e132
342デフォルトの名無しさん
2023/05/02(火) 12:09:31.43ID:XVCLDAkP このままLinuxの公式言語になってしまうのだろうか?
それはそれでちょっと寂しい
それはそれでちょっと寂しい
343デフォルトの名無しさん
2023/05/02(火) 12:15:20.08ID:GEufc0we へぇ、Rustって知らないところで着実に市民権獲得し始めてるんやな
まぁ確かに“安全性”、“堅牢性”ってのは売りになるわな
まぁ確かに“安全性”、“堅牢性”ってのは売りになるわな
344デフォルトの名無しさん
2023/05/02(火) 12:21:25.01ID:xcMXGreF とは言ってもパラダイムが違うものを組み合わせるのは
それはそれで色々としんどいから
新規プロジェクトからということにはなるわな。
あるいはモジュール単位で徐々に……といったところか。
それはそれで色々としんどいから
新規プロジェクトからということにはなるわな。
あるいはモジュール単位で徐々に……といったところか。
345デフォルトの名無しさん
2023/05/02(火) 13:10:44.65ID:SH4oCjNk 純粋に質問なのですが、Windowsだとユーザ権限プログラムから感知できない全画面確認画面(コード署名表示付き)を
手動クリックすることによって権限昇格するAPIやファイル実行オプションを用いるのですが、
Linuxのsudo、suはそういうOS提供APIの単純ラッパ以外の処理が必要なのですか?
手動クリックすることによって権限昇格するAPIやファイル実行オプションを用いるのですが、
Linuxのsudo、suはそういうOS提供APIの単純ラッパ以外の処理が必要なのですか?
346デフォルトの名無しさん
2023/05/02(火) 14:14:52.25ID:kqtJfIHI347デフォルトの名無しさん
2023/05/02(火) 15:20:08.53ID:HqctS3p2 Qiitaで調べものをしていたらRustを広めたいというユーザーを
見かけたのですが実のあるRustの記事がありません
ここにいらっしゃるのですか?
見かけたのですが実のあるRustの記事がありません
ここにいらっしゃるのですか?
348デフォルトの名無しさん
2023/05/02(火) 16:34:54.41ID:IqyS7yAG Rustはアマチュアがいじいじするだけの言語だから
349デフォルトの名無しさん
2023/05/02(火) 17:29:28.03ID:DSQza21A Rustや情報科学みたいなものは、完全に自分の教養のためと思って勉強してるけど・・・・・
いつまで経っても実用の域に届かない
いつまで経っても実用の域に届かない
350デフォルトの名無しさん
2023/05/02(火) 17:34:42.24ID:KHYt4fkx R&D関係者と交流があるだけの人ってアマチュア?
351デフォルトの名無しさん
2023/05/02(火) 17:49:30.32ID:IqyS7yAG アマチュアがあーでもないこーでもないと
持て余したヒマでいじくり回した結果
しょうもないポエムを生み出すだけ
この言語そのものというより
この言語を取り巻く状況はずっとこう
持て余したヒマでいじくり回した結果
しょうもないポエムを生み出すだけ
この言語そのものというより
この言語を取り巻く状況はずっとこう
352デフォルトの名無しさん
2023/05/02(火) 19:13:07.37ID:XhxCeHYa353デフォルトの名無しさん
2023/05/02(火) 19:48:58.54ID:TWDhbUOL YouTube で有名な雑食系エンジニア・KENTA が、
初心者に推奨するキャリアパスは、Ruby on Rails → Go のみ
Rust, Elixir は普及のキャズムを超えなかった。
オワコン認定した言語は、Scala, PHP
米国年収でも、Rails, AWS Solution Architect が13万ドル
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
多くの言語 : 6.5〜7
PHP : 5
Dart : 4.4
日本では、バックエンドの求人倍率が数倍で、
フロントが0.5倍と、10倍の開きがある。
フロントは供給過剰で、低価格競争になっている
欲しい人材は、Rails, Linux, Docker, AWS が出来る香具師。
つまり、ウェブサービスを作れる香具師
Railsは、作者のDHH が言うように、バックエンド技術者がフロントも兼ねるから、
バック/フロントの打ち合わせコストが掛からないのが強み
その代わり、あまりCSS を知らないので、デザイン性に欠ける。
Bootstrap, Tailwind などが多い
つまり、これが文系の低学歴でも、簡単に高収入を得られる方法。チート職業。
だから皆、月千円のKENTAの初心者向けRailsサロンへ入る。稼げるから
初心者に推奨するキャリアパスは、Ruby on Rails → Go のみ
Rust, Elixir は普及のキャズムを超えなかった。
オワコン認定した言語は、Scala, PHP
米国年収でも、Rails, AWS Solution Architect が13万ドル
Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7
多くの言語 : 6.5〜7
PHP : 5
Dart : 4.4
日本では、バックエンドの求人倍率が数倍で、
フロントが0.5倍と、10倍の開きがある。
フロントは供給過剰で、低価格競争になっている
欲しい人材は、Rails, Linux, Docker, AWS が出来る香具師。
つまり、ウェブサービスを作れる香具師
Railsは、作者のDHH が言うように、バックエンド技術者がフロントも兼ねるから、
バック/フロントの打ち合わせコストが掛からないのが強み
その代わり、あまりCSS を知らないので、デザイン性に欠ける。
Bootstrap, Tailwind などが多い
つまり、これが文系の低学歴でも、簡単に高収入を得られる方法。チート職業。
だから皆、月千円のKENTAの初心者向けRailsサロンへ入る。稼げるから
354デフォルトの名無しさん
2023/05/02(火) 20:03:17.56ID:6g8Nsfp3 >>341,345
sudu-rsとsudo(original)のtokeiしました
LOCが違い過ぎて機能的に同等とは思えませんが誰か確認してください
https://i.imgur.com/wqUfNLQ.png
sudu-rsとsudo(original)のtokeiしました
LOCが違い過ぎて機能的に同等とは思えませんが誰か確認してください
https://i.imgur.com/wqUfNLQ.png
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- 死ぬ直前に見たくないもの
- マッサージ師だが
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【急募】中国の経済制裁に対抗して日本が切れるカード [163661708]
