[過去ログ]
Rust part30 (1002レス)
Rust part30 http://mevius.5ch.net/test/read.cgi/tech/1748392296/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
937: デフォルトの名無しさん [sage] 2025/06/20(金) 11:25:39.91 ID:xog7LFS0 >>936 これいいな。OSSならそんな感じだしエンタープライズなら開発担当部門書いとこ http://mevius.5ch.net/test/read.cgi/tech/1748392296/937
938: デフォルトの名無しさん [sage] 2025/06/20(金) 12:33:04.85 ID:3ZKjcbd7 バグなんて他にもいくらでもあるんだから、それこそunwrapに限ってそんな懇切丁寧なケアをする理由がない やらかした犯人なんてgit blameですぐわかる http://mevius.5ch.net/test/read.cgi/tech/1748392296/938
939: デフォルトの名無しさん [sage] 2025/06/20(金) 13:09:09.82 ID:LFsGGVpd expectは使用者とか使用状況に対する期待だと思ってた メッセージはコメントのPanicsに対応させる感じ /// ... /// /// # Panics /// - Panics if the given size is 0. /// pub fn make_buffer(size: usize) -> Buffer { let nz_size = NonZeroUsize::new(size).expect("size must be non-zero"); // ... } http://mevius.5ch.net/test/read.cgi/tech/1748392296/939
940: デフォルトの名無しさん [sage] 2025/06/20(金) 15:04:20.99 ID:3ZuChe0s >>939 基本的にはその考え方で正しい。 でも標準ライブラリや処理系すらそうしてないし、現実は理想通りではない。 http://mevius.5ch.net/test/read.cgi/tech/1748392296/940
941: デフォルトの名無しさん [] 2025/06/20(金) 16:00:22.03 ID:r2H2v8it Haskellにはならなかったな Rustにもならないのでは? http://mevius.5ch.net/test/read.cgi/tech/1748392296/941
942: デフォルトの名無しさん [sage] 2025/06/20(金) 16:21:36.04 ID:+wQsfMK/ >>941 Rustは本来的にはコーディングの誤りに対して939のようにわりと問答無用でpanicする指向だと思うけど、 関数型というかHaskellかぶれのオモチャにされてるせいで実行時panicダサいみたいな空気が醸成されてきている一方で、 なんでも型のコンテキストで上手に扱えるほど型に表現力があるわけでもないから中途半端な感じになってるね http://mevius.5ch.net/test/read.cgi/tech/1748392296/942
943: デフォルトの名無しさん [sage] 2025/06/20(金) 16:41:57.96 ID:3ZuChe0s システムプログラミング言語としての性質があるから仕方がない面はある。 ハードウェアやら OS やらが Rust の性質に従ってくれるとは限らないので言語の側で合わせないと仕方がない。 http://mevius.5ch.net/test/read.cgi/tech/1748392296/943
944: デフォルトの名無しさん [sage] 2025/06/20(金) 16:53:23.26 ID:IXOAfd5T Rustバランスいいよな 抽象度の高い記述ができつつC言語の代替もできる http://mevius.5ch.net/test/read.cgi/tech/1748392296/944
945: デフォルトの名無しさん [sage] 2025/06/20(金) 17:25:54.91 ID:LFsGGVpd Haskellもボトム型あるから変わらんだろ どの型の値も計算できない可能性を内包してる http://mevius.5ch.net/test/read.cgi/tech/1748392296/945
946: デフォルトの名無しさん [sage] 2025/06/20(金) 18:40:08.56 ID:0ePzwW3B >>936 そういうのはまとめてpanic handlerに書いたほうがいいんじゃないかな 最近はあまり使われてないかもしれないけどhuman-panicとかがそれ用 あとstdのリファレンスにもexpectに書くメッセージのスタイルについて解説があった https://doc.rust-lang.org/std/error/index.html#common-message-styles http://mevius.5ch.net/test/read.cgi/tech/1748392296/946
947: デフォルトの名無しさん [sage] 2025/06/21(土) 18:45:15.07 ID:usD2bL3Y >pub fn make_buffer(size: usize) -> Buffer { >let nz_size = NonZeroUsize::new(size).expect("size must be non-zero"); 事前条件がNonZeroなら pub fn make_buffer(size: NonZeroUsize) -> Buffer にしたほうが堅さという意味ではよくない? http://mevius.5ch.net/test/read.cgi/tech/1748392296/947
948: デフォルトの名無しさん [sage] 2025/06/21(土) 19:54:31.34 ID:aOIRcMzj 外部入力が起源のデータに対しては必ずエラーを返す プログラム自身発ならバグであり続行不可なのでpanicしてもよい http://mevius.5ch.net/test/read.cgi/tech/1748392296/948
949: デフォルトの名無しさん [sage] 2025/06/21(土) 19:55:55.14 ID:CfyG8iYl >>947 NonZeroは非ゼロの保証というよりOptionと一緒に使うためのものだからね NonZeroにしたところで結局呼び出し元でのチェックが0との比較からOptionのチェックに変わるだけのことでしかなく、 コードが冗長かつ余計なoptionが入ることでノイズが増え意図が不明瞭になるし、 unwrapしちゃったらpanic時のエラーもわかりづらい ダメってわけじゃないが呼び出し元のことを考えると独善的な感が否めない http://mevius.5ch.net/test/read.cgi/tech/1748392296/949
950: デフォルトの名無しさん [sage] 2025/06/21(土) 22:49:35.45 ID:qYLKV/K+ >>949 >NonZeroは非ゼロの保証というよりOptionと一緒に使うためのものだからね Optionと一緒に使うためのものというのはよく意味がわからない 例えばOptionに置き換えて考えてみたとしてこういう実装があったらおかしいと思わない? fn make_buffer(size: Option<usize>) -> Buffer { let size = size.expect("size must not be None”) … } 簡単に型で表現できないものならまだわかるんだけど http://mevius.5ch.net/test/read.cgi/tech/17
48392296/950
951: デフォルトの名無しさん [sage] 2025/06/21(土) 23:02:46.26 ID:qYLKV/K+ 呼び出し元は外部入力なら let size = NonZeroUsize::new(input_size)?; let buffer = make_buffer(size); 定数なら let buffer = make_buffer(NonZeroUsize::new(1024).unwrap()); validation前とvalidation後で型を変えるプラクティスと同じでこっちのほうが望ましいことのほうが多いんじゃないかという気がする http://mevius.5ch.net/test/read.cgi/tech/1748392296/951
952: デフォルトの名無しさん [sage] 2025/06/21(土) 23:54:32.82 ID:l7fBsL1H 整理されて今はこう書くNonZero::<usize>::new(1024) いずれにせよ外部データ由来時でもpanicさせ得る>>947は筋が悪い http://mevius.5ch.net/test/read.cgi/tech/1748392296/952
953: デフォルトの名無しさん [sage] 2025/06/22(日) 00:46:32.15 ID:DjMaTCto slice::windowsとかstdでも似たような実装はそれなりにある pub fn windows(&self, size: usize) -> Windows<'_, T> { let size = NonZero::new(size).expect("window size must be non-zero"); Windows::new(self, size) } windowサイズはバグ以外では0を指定しないだろうという想定だと思うがcalleeとcallerのコードを書く人間が異なっていて認識の齟齬があったりすればバグになるからエルゴノミクスとバグリスクのトレードオフってことになる ht
tp://mevius.5ch.net/test/read.cgi/tech/1748392296/953
954: デフォルトの名無しさん [sage] 2025/06/22(日) 01:30:55.82 ID:MKJ6VV9n docコメントの /// /// # Panics /// /// Panics if `size` is zero. /// とセットで見ないといけない http://mevius.5ch.net/test/read.cgi/tech/1748392296/954
955: デフォルトの名無しさん [sage] 2025/06/22(日) 09:45:37.71 ID:fHVyA0qw RAIIが破綻するレベルのパニック、という意味の専門用語があればいいんだよね http://mevius.5ch.net/test/read.cgi/tech/1748392296/955
956: デフォルトの名無しさん [] 2025/06/22(日) 12:30:29.11 ID:4aXQSYOG ・人間の思考「脳波」は頭蓋骨の外に漏れない 人間の脳は発光していた!「脳が放つ光」の観測に初成功 2025.06.19 12:00:38 THURSDAY https://nazology.kusuguru.co.jp/archives/179808 >>カナダ・アルゴマ大学(Algoma University)の最新研究で、ついにこの「脳の光」を頭蓋骨の外から観測することに成功したのです。 >>UPEは細胞の代謝活動、特に酸化反応によって発生する副産物の一種です。 >>以来、UPEはあらゆる植物や動物の細胞からも確認されてお
り、生体内の酸化ストレスや老化、さらにはがんの診断補助にも応用が期待されてきました。 >>脳は体の中で最も代謝が活発な臓器のひとつであり、神経活動に伴って活性酸素が多く発生します。 >>チームは今回、20人の健康な成人を対象に、特殊な装置を用いた実験を実施しました。 >>被験者は真っ暗な部屋に座り、頭には脳波計を装着。 >>その周囲には、光電子増倍管(PMT)と呼ばれる極微弱な光を検出する装置が配置されました。 >>そして被験者には、目を開ける/閉じる、あるいは音楽(120BPM)を聴くといったシンプル
なタスクを行ってもらい、その間のUPEと脳波の変化を同時に測定したのです。 ☆>>まず、脳からのUPEは背景光(周囲の空気中のノイズ)とは明確に異なる変動パターンを持つことが判明したのです。 >>とくに後頭部(視覚野)と側頭部(聴覚野)から検出された光は、安静時でも一定のリズムと変動性を示し、他の部位とは異なるスペクトル的特徴を持っていました。 >>さらに目を閉じたときに増える「アルファ波」と呼ばれる脳波の活動と、UPEの強さが同期していることも発見されました。 >>これはつまり、脳の電気的な信号(脳波
)と、化学的な代謝反応(UPE)が連動していることを意味します。 >>この成果は、従来のfMRIやPETスキャンのような「重装備で高コスト」な装置を使わずとも、非侵襲・低刺激で脳機能の状態を“光”から読み取る可能性を示すものです。 >>研究者たちはこの新しい手法を「光脳波記録(photoencephalography)」と名付けました。 http://mevius.5ch.net/test/read.cgi/tech/1748392296/956
957: デフォルトの名無しさん [sage] 2025/06/22(日) 12:58:47.51 ID:LDKwjazM >>955 パニックのレベルじゃなく処理単位の特性だけどUnwindSafeがある http://mevius.5ch.net/test/read.cgi/tech/1748392296/957
958: デフォルトの名無しさん [sage] 2025/06/22(日) 23:16:05.62 ID:fHVyA0qw 無限ループがあれば、終了しないスレッドや呼ばれないデストラクタもありうる bottomもabortもpanicも、無限ループよりはマシだから禁止されない http://mevius.5ch.net/test/read.cgi/tech/1748392296/958
959: デフォルトの名無しさん [sage] 2025/06/22(日) 23:59:22.53 ID:ohTY4CfY exitよりもpanicが優れている 多くのメリットがある http://mevius.5ch.net/test/read.cgi/tech/1748392296/959
960: デフォルトの名無しさん [sage] 2025/06/23(月) 15:14:34.98 ID:Lo0+xYyX 無職や転職をしたい 上記の方を紹介していただけませんか? 誰でも歓迎❣ 未経験でも40歳まで採用しています⭕ ぜひご相談ください🙏 https://i-c-i.jp/members/ 電話番号 03-6459-0063 http://mevius.5ch.net/test/read.cgi/tech/1748392296/960
961: デフォルトの名無しさん [sage] 2025/06/23(月) 15:14:44.43 ID:Lo0+xYyX 株式会社アイ・シー・アイ 野村総合研究所が設立した、信頼と実績のあるIT企業です。 未経験でも大丈夫!40歳までの方ならどなたでもご応募いただけます。 日本の大手大企業のソフトバンク、キャノングループ、富士産業で働けます! 雇用形態は無期雇用派遣。一つの現場で最低5年間じっくりインフラ運用監視の経験が積めます。 年収は280万円、賞与は年3回と安定した待遇をご用意し、「社員の人生を幸せにするため」の福利厚生も充実しています。 当社はまだまだスター
トアップ。数年後には事業規模、 会社規模を倍増させたいと考えています。 その際、あなたには会社の中核メンバーとして、一緒に会社を引っ張っていただきたいのです。 http://mevius.5ch.net/test/read.cgi/tech/1748392296/961
962: デフォルトの名無しさん [] 2025/06/23(月) 18:22:32.34 ID:uX2oVrQ8 人売りの奴隷集め http://mevius.5ch.net/test/read.cgi/tech/1748392296/962
963: デフォルトの名無しさん [] 2025/06/23(月) 21:09:50.86 ID:0odK9WS3 Z世代の皆様にしっかり稼いで頂きたいという思いから、高収入案件をご紹介させていただいております。 http://mevius.5ch.net/test/read.cgi/tech/1748392296/963
964: デフォルトの名無しさん [sage] 2025/06/24(火) 22:23:36.74 ID:KcGBlJeb Rustへ移行のためのドキュメント「C++ to Rust Phrasebook」発表 https://techfeed.io/entries/683ccb678fc2c0556f0d68d0 C++でおなじみのイディオムや設計パターンを、Rust流にどのように書き換えるかを体系的に示したリファレンスである。 各章は具体的なコード例と、それに伴う設計上のトレードオフについての解説で構成される。 「C++ならこう書くがRustでは?」と行き詰まった場面で索引的に参照する使い方も想定されている。 http://mevius.5ch.net/test/read.cg
i/tech/1748392296/964
965: デフォルトの名無しさん [sage] 2025/06/25(水) 23:33:16.67 ID:zC2X3VO4 >>964 「C++ to Rust Phrasebook」 https://cel.cs.brown.edu/crp/ http://mevius.5ch.net/test/read.cgi/tech/1748392296/965
966: デフォルトの名無しさん [sage] 2025/06/26(木) 23:30:50.97 ID:IZtnbrew https://facet.rs/ http://mevius.5ch.net/test/read.cgi/tech/1748392296/966
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 36 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s