Rust Part6

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2018/07/28(土) 03:04:38.63ID:kAX50nYD
Mozilla発のRust言語のスレ

公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

Web上の実行環境
https://play.rust-lang.org

前スレ
Rust Part5
http://mevius.5ch.net/test/read.cgi/tech/1518347244/
923デフォルトの名無しさん
垢版 |
2019/06/18(火) 21:04:15.94ID:d5A36Be/
パッケージで
依存するパッケージたちの実行可能な環境やライセンスやインストールサイズをパッケージインストール前に分かったりしない?
2019/06/18(火) 23:05:26.62ID:LxDQxmkL
>>923
実行環境以外はcrates.ioのAPIから取れるみたいだから可能は可能。
ツールになってるものはぱっとは見つからなかったけど
jsonパースしながら依存関係辿るだけだし適当に作ればいいのでは。
925デフォルトの名無しさん
垢版 |
2019/06/19(水) 04:55:23.37ID:tVNS+22r
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
2019/06/19(水) 11:14:57.11ID:8YG5H7yC
考えてみれば当たり前なんだがcargoはrust周辺しか面倒を見てくれない。他に依存するライブラリがあっても関与しない
つまりビルドは出来るが実行出来ないということが起きる。コード次第ではpanicして何が足りないかすら出力されない
ドキュメントに何を用意すべきなのかちゃんと書いていないcrateも少なからずあって不完全なメッセージ片手に探し回る羽目になる
2019/06/19(水) 18:09:17.84ID:1gO8vNAB
だいたいリンクでエラーにならない?
2019/06/19(水) 18:26:18.08ID:i/ZOlcXp
Firefoxに重大なセキュリティ欠陥
Rust安全神話崩壊
929デフォルトの名無しさん
垢版 |
2019/06/19(水) 18:55:19.96ID:og0z03zN
馬鹿に説明って難しいよな
930デフォルトの名無しさん
垢版 |
2019/06/19(水) 19:33:39.71ID:MCVHb8SA
動的リンク
931デフォルトの名無しさん
垢版 |
2019/06/20(木) 06:07:04.22ID:2x0zcOE9
https://www.itmedia.co.jp/news/articles/1906/19/news060.html

2019年06月19日 07時19分 公開
Firefoxに危険度最高の脆弱性、既に攻撃を確認

Array.popの問題により、JavaScriptを操作する際に脆弱性が発生する可能性がある




これ本当にRustのせいじゃないの?
2019/06/20(木) 07:18:41.60ID:mJGQL7Kg
https://developer.mozilla.org/ja/docs/Mozilla/Projects/SpiderMonkey
SpiderMonkey は 、C / C++ で書かれた JavaScript エンジンです。Firefoxを含む、Mozillaの複数の製品で使用されており、MPL2 ライセンスの下で利用できます。
2019/06/20(木) 08:04:12.96ID:3d4Affsm
GPL or LGPLコードに依存せずにSVGをレンダリングできるライブラリってないかな?
resvgが使えるかと思ったら
>librsvg is heavily tied to GNOME, which makes it painful to distribute outside the Linux ecosystem
とか書いてあるくせにgdkやglibを要求してくるようだ
2019/06/20(木) 08:11:37.69ID:jI8P28ZE
>>931
リポジトリ上で見る限り、今回のバグで修正されたのはC++のコードみたいだけど。
935デフォルトの名無しさん
垢版 |
2019/06/20(木) 10:58:34.09ID:9IsAc6k5
>>933
https://mevius.5ch.net/test/read.cgi/tech/1443092077/
936デフォルトの名無しさん
垢版 |
2019/06/20(木) 17:17:30.44ID:7bp91DBM
おい!なんだかバズってるfacebookのlibraのmoveはrustで書かれてるらしいぞ!!
937デフォルトの名無しさん
垢版 |
2019/06/20(木) 18:35:24.47ID:7bp91DBM
すまん別にバズってはなかった
2019/06/20(木) 19:48:51.60ID:+KLWbCjB
Rustが脆弱性の原因になると宣伝がパーになるから
あっちこっちでC++のせいにする小細工が行われております
2019/06/20(木) 19:59:14.55ID:mJGQL7Kg
え?MozillaがRustの宣伝の為にFirefoxに脆弱性を!?
2019/06/20(木) 20:23:47.90ID:iAGTq6ne
ものごとの原因は人間の主観
2019/06/20(木) 20:28:40.92ID:mJGQL7Kg
https://hg.mozilla.org/releases/mozilla-release/rev/99a829d2a2a7859b10508b6f05e99780c5e2dc68
http://imgur.com/2cTynR3.jpg
確かにC++のせいではないな…どちらかといえばRustか…
2019/06/20(木) 20:35:29.73ID:iAGTq6ne
さっぱりわからん
範囲チェックがどうとかって書いてあるけど
バッファオーバーフロー起こしてたってこと?

まんまC++のせいじゃないの?
2019/06/20(木) 20:36:09.76ID:iAGTq6ne
バグフィックスってかいてあるけどこれが脆弱性修正?
なんがんあんだかわからん
2019/06/20(木) 21:32:48.19ID:+KLWbCjB
>>939
Rustなら安全に書けるとか言っておいてしっかり脆弱性作り込んだから
これはRustではなくC++のせいだからと火消しに回ってるの
日本語わかる?
2019/06/20(木) 21:43:15.30ID:mJGQL7Kg
>>944
だよな。今回は完全に"Rust"が脆弱性作ったわ…

>>942,943
小細工をやめろ
2019/06/20(木) 22:22:06.30ID:fjQ0rkA9
客観的でない陰謀論者が必死ですね
2019/06/20(木) 22:51:37.82ID:lDaMx0Vn
これはJavaScriptが悪いな
2019/06/20(木) 23:48:26.80ID:MLTAZJcH
もう病気だな
2019/06/21(金) 00:15:54.00ID:0JVOBbqs
ElementAccessHasExtraIndexedProperty

凄まじく怪しげな物に変更されとるな。
2019/06/21(金) 00:27:20.17ID:G412ZpUw
c++ぽくないコードだな
2019/06/21(金) 00:37:27.76ID:z8DQFGzJ
確か何か変なコーティング規約で作ってなかったっけ
2019/06/21(金) 07:05:15.79ID:RixWDzH6
Chromiumのソースもそんなん(長い関数クラス名とか)だけど
2019/06/21(金) 08:04:50.41ID:zwirEYdx
どういう経緯で何が起こって開発元は原因は何だとしてるのか
ちゃんと説明しろ
2019/06/21(金) 16:17:30.34ID:8yQGF7bg
>>953
「セキュリティに関わるのでお答えできません。知りたきゃソース見ろ」
だそうです
2019/06/21(金) 17:18:46.69ID:FvcOClmC
危険、危険と騒ぐ無知は有害。速やかに排除すべき
2019/06/21(金) 17:40:54.25ID:s5JHKbLh
C++はRustだった
今すぐモジラのステマ言語C++を使うのをやめろ
2019/06/21(金) 21:47:37.81ID:0JVOBbqs
別にfirefoxなくても困らんよ?
2019/06/21(金) 22:00:47.70ID:zwirEYdx
それでもFireFoxがいい
軽さとセキュリティの誠実さ
ブックマーク回りはころころ変わってひどいけど
2019/06/21(金) 23:52:53.60ID:F6GKmJuz
GoogleやMicrosoftのWebブラウザは十数枚開いただけでメモリ消費がやばいことになる
Mozillaならそんなことない
2019/06/23(日) 02:43:54.79ID:mYxXL7rb
実践Rustのソートが全くわからん
961デフォルトの名無しさん
垢版 |
2019/06/23(日) 05:52:27.18ID:PlixDsJK
何ページ?おっちゃんが教えたる
2019/06/23(日) 09:03:51.96ID:7oQ4NVSK
実践Rustって、電子書籍版を8インチタブレット(iPad mini)でちゃんと読める大きさ?
前に出たRust本は余白カット表示してギリギリって感じだった
2019/06/23(日) 10:09:46.75ID:mYxXL7rb
ソーティングネットワークのあたり
2019/06/23(日) 13:00:06.41ID:xLLf8ygu
>>959
逆だろ
火狐はタブ10個も開けばカクツキ起きるしそれからほどなくしてフリーズ
Chromeはもちろんクソクソ言われてるEdgeすらも
動作の安定面では火狐なんぞには負けん
ちなWin10
2019/06/23(日) 14:46:23.23ID:1G/MWnzG
>>960
本のステップで分ける説明より、2→4→8→... と増えていく図を見たほうが分かりやすいと思った

ttps://www.cs.rutgers.edu/~venugopa/parallel_summer2012/bitonic_overview.html
2019/06/25(火) 23:51:23.60ID:AQcTxIKJ
>>964
FireFoxで10タブ開いてみたけどなんも変わらんよ?
2019/06/29(土) 22:20:17.93ID:nCAqicSi
>>966
20~30くらい同時に開くとビジーになるからビジーとフリーズの区別がついてないんだと思う。
2019/06/30(日) 03:54:59.91ID:Qwp9+Qng
IEやChromeで100Tabとか開いたらメモリを食いつぶしてまとも動かないよ
969デフォルトの名無しさん
垢版 |
2019/06/30(日) 12:09:57.07ID:QU2Ls1X6
ffモナ
2019/06/30(日) 12:50:53.67ID:9MaqxN1M
その分今でもメモリ周りでバギーってのは笑わせますね。
2019/07/02(火) 23:13:32.01ID:FbIiTj7v
Firefoxなら100タブくらい大丈夫だよ。IE、Chromiumでそんな事したら他の作業が出来なくなってしまうけど
実際に比べた上でFirefoxを使っている。開発やっていると開くページがどんどん増える
972デフォルトの名無しさん
垢版 |
2019/07/03(水) 13:38:17.25ID:aJKbsp3m
ffが大丈夫だと思うのは気のせい
2019/07/03(水) 23:03:04.57ID:jXq99Py9
Rust→IR→Cが実用出来るようになるのはいつだ
LLVMが対応していないアーキテクチャでRustを使いたいねん
それともトランスパイラを作った方が早いかなぁ
2019/07/03(水) 23:13:41.05ID:ahV0OFdq
>>973
V言語使えよ
2019/07/03(水) 23:20:25.57ID:+l3ADsTn
IR to Cは昔できたのにな
976デフォルトの名無しさん
垢版 |
2019/07/03(水) 23:20:30.76ID:SPfaWtwb
524 デフォルトの名無しさん sage 2019/07/02(火) 14:38:03.95 ID:ep8keXko
言語機能の複雑さという代償はあったが
GC無しでリージョン推論を実現したのがRust

記述性のためGCを入れつつも遅延を最小にすべく
GCの性能向上に努めたのがGO

一方vlangの公式によると
https://vlang.io/
> V manages memory at compilation time (like Rust)
https://vlang.io/compare
> - No GC
> That's why the language is so simple

・Rustのようにコンパイル時にメモリ管理される
・Goのように書けるがGC不要
・それでいてRustのような複雑さは無い
・という予定(まだ未実装)

本当にこの通り実現するなら
GoとRustの設計者達にマウント取れるレベル
526 デフォルトの名無しさん sage 2019/07/02(火) 14:59:25.78 ID:ep8keXko
ちなみに自動メモリ管理が未実装なので、以下の記事によると
hello worldやvlangコンパイラ自体もメモリリークしているとのこと
https://christine.website/blog/v-vaporware-2019-06-23
> The compiler itself also leaks memory
531 デフォルトの名無しさん 2019/07/02(火) 18:22:15.31 ID:NqAwj9wC
>>526
www
532 デフォルトの名無しさん sage 2019/07/02(火) 18:59:24.21 ID:8dHuftNb
>>526
あっ・・・(察し)
2019/07/03(水) 23:31:44.31ID:EsMPn/2r
>>973
rust2cトランスレータはとっくの昔にあるしとっくの昔にどれも開発止まってる
rust->llvm->c->任意のコンパイラで出来るじゃん。
2019/07/04(木) 07:00:47.22ID:oyQSn2Ss
>>974
生ポインタ使えるの?新しすぎるせいからしい情報が見つからんかった

>>977
今出てくるCバックエンドの話って関数レベルで使えれば御の字みたいなのばっかりに見える
プロジェクトレベルで実用に耐えるワークフローがあるなら詳細を知りたい
979デフォルトの名無しさん
垢版 |
2019/07/04(木) 11:51:58.94ID:NOiQUdad
>>608
横田さん潜伏中に生魚あたってハイタのかな?排他だけに。
なかなかRockだね!Lockだけに。
2019/07/04(木) 23:15:23.31ID:EwvcD2Pv
>>978
>プロジェクトレベルで実用に耐えるワークフローがあるなら詳細を知りたい
rustでは見たこと無いね。操作的意味論に基づいて命令列とグルーコードに変換するものばかり。
というかそれ以外は難しいと思う。
2019/07/05(金) 01:27:12.64ID:kDhA893Y
>>980
やっぱりそうか、残念。LLVMのバックエンドは作れる気がしないしトランスパイラの方が望みがあるけど
それでもELFのパーサとジェネレータ、変換元機械語のデコーダは最低必要だな
こういうのって処理系やエミュレータ等でしばしば使われるけど、単体のライブラリとなるとx86とかの
有名なアーキテクチャですらなかなかないんだよな
2019/07/05(金) 20:56:59.69ID:Mh/7XJmJ
Cと比べたらノウハウ少ないかもしれんけど、LLVMバックエンド作るのってそんなに面倒なの?
LLVM->Cって抽象度上げる方向だし参考になるものがもっと少ない気がする。ecmascriptenくらいじゃない?
2019/07/05(金) 21:57:46.40ID:kDhA893Y
>>982
Rust to Cは自分の手に負えそうにないので他力本願です
ググって出てくる情報を見る限り最適化コンパイラを自作できるくらいの理解がないとLLVMの理解とバックエンドの開発は難しそうに感じます
各言語やアセンブラを使える程度の理解では歯が立ちそうにないです

なので機械語 to 機械語(もしくはアセンブラ to アセンブラ)の方がまだ望みがあるかなと
2019/07/05(金) 23:46:41.28ID:C+fxCwB0
バイナリ変換ってかなり壮大な研究テーマでは…。
どうしてもLLVMに触れたくないならLLVM-IR to アセンブリを自作するほうがまだましかな。

結局素直に勉強してLLVMバックエンド作るのが一番早いと思うけど。
2019/07/06(土) 00:04:57.41ID:auWtVfNl
んなことするならc使った方がマシ
2019/07/06(土) 06:53:43.23ID:xpE3I6/t
>>984
LLVM IRってレジスタ数が青天井ですしstd付きとはいえHello worldですら十数本使っているようです
何処まで増えるのか判りませんがレジスタを数百本使うIRとか吐かれたら何とかなる気がしません

勉強すると言ってもどこから手を付ければいいのか判らない状態ですし最近は相対的にローレベルな
情報自体が減少しています。運良く自分が理解できる資料や教材に巡り会えない限り難しそうです
987デフォルトの名無しさん
垢版 |
2019/07/06(土) 09:55:08.49ID:zcl3Wfgw
オレオレ → LLVM はレジスタ何本あってもOK
LLVM → CPUネイティブ は良きに計らえ

オレらの仕事は前者
気にすんな
2019/07/06(土) 12:04:38.86ID:ZIhPrSwc
そこまで部分の最適化って自分でやらにゃならんし
計算と制約を記述するのに適したその手前までの中間言語ってないじゃろか
Lispとかか
2019/07/06(土) 13:45:06.47ID:LdZDcwTE
バイナリ変換ってダブルバッファリング的な事しないと整合性とれねー気がした。
2019/07/06(土) 13:49:10.31ID:ZIhPrSwc
いみふめい
2019/07/06(土) 17:36:17.74ID:9tt4vzxp
>>988
レジスタが1〜2本足りないくらいなら使用頻度の低いのからメモリに逃がす方法で何とかなりそうだけど
全然足りない場合全く別の方法が必要そうですが思いつかないです。自分にとっては高度な問題です

Rustと言うかLLVMが吐けてターゲットとの相性が良さそうなアーキテクチャを選ぶ必要があるけどこれも難問かな
IA32/AMD64はメジャーだけど建て増ししすぎでアドレッシングモードとかスーパーカオスだし無駄に命令も多い
ARM7あたりが無難だろうか。分岐処理が特徴的なようだけどRISCの割にレジスタが少なめなのも好条件か
純RISC系は命令セットが単純だけどレジスタが多くてLLVM IRと同じ問題が出てきそう
2019/07/06(土) 17:38:47.90ID:LdZDcwTE
キューイングしてガンガン処理して節目でプログラムカウンタを1増やす。とか理想を語る俺。
2019/07/07(日) 16:07:05.22ID:4q0rOBDI
2つのvectorの同じインデックスの要素を比較したいときってどうかくのがスマートなんでしょう
2019/07/07(日) 16:38:57.74ID:RypgULSw
>>993
zip
2019/07/07(日) 23:58:58.81ID:HO2UM4SM
MISPならツールチェイン揃ってるからPS系ハードで動かないことはない
2019/07/14(日) 21:58:47.03ID:u4tB0f+V
コンパイラチェッカーについて簡潔にまとまっている資料とかないんだろうか
数ヶ月ぶりに触ったらすっかり記憶の彼方だわ
2019/07/14(日) 23:32:23.74ID:PySyhRf9
次スレ立てた
Rust Part7
http://mevius.5ch.net/test/read.cgi/tech/1563114707/
2019/07/15(月) 16:19:43.86ID:md6OUoiD
RustってVisual Studio Codeとかでビルドしたりインテリセンスが利いたりするようにならんの
999デフォルトの名無しさん
垢版 |
2019/07/15(月) 19:12:06.92ID:38cZE3Hm
質問いいですか?∩( ´Α`)
2019/07/15(月) 19:19:28.82ID:9ryZm2UI
いいよ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 352日 16時間 14分 50秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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