X



Rust part10

レス数が950を超えています。1000を超えると書き込みができなくなります。
0851デフォルトの名無しさん
垢版 |
2021/06/05(土) 18:52:13.97ID:ZTm581Ue
proc-macroがwasm化されてサンドボックスで動くようになればマシになるのかね
そもそも怪しいコードが依存関係に混入しちゃう時点でcargo runなりtestなりしたらなにされるかわからん訳でproc-macroの件自体にどれくらいの影響度があるのかは分からんが
0852デフォルトの名無しさん
垢版 |
2021/06/05(土) 19:44:30.63ID:uV7DnhUL
crossでx86_64-unknown-linux-gnuをtargetにクロスコンパイルしたらいいんじゃないか?
あれ確かDockerで動いてたはず
0853デフォルトの名無しさん
垢版 |
2021/06/05(土) 19:45:33.78ID:uV7DnhUL
自分のPC向けにクロスコンパイル用ツールを使ってコンパイルするのがクロスコンパイルというかどうかは知らんけど
0854デフォルトの名無しさん
垢版 |
2021/06/06(日) 08:03:37.51ID:W7azs2BY
>>823
特定のエディターの問題ではなく
特定のプログラミング言語の問題ではなく
自分が意図していない自動マクロ(プラグイン)を使えば自分が意図していない動作をするだけの話
大昔からあらゆる環境で起きていること
0855デフォルトの名無しさん
垢版 |
2021/06/06(日) 09:39:11.50ID:3IIg9tuB
コーディング時、ビルド時になんでもやらせようって発想が間違ってんだよ。
0856デフォルトの名無しさん
垢版 |
2021/06/06(日) 10:03:07.57ID:mKFU6ep6
マクロはやっぱ悪よな、無いと辛みが増すから仕方ないじゃなくて無くても何とか出来る仕様にすべき
0857デフォルトの名無しさん
垢版 |
2021/06/06(日) 10:25:40.41ID:W7azs2BY
今回の>>823の問題に限っていえば
そもそもLSPを使う人のためのプラグインなのだからLSPのlocalhost:8080に接続に行くことは何の問題もないよね
問題としているのはSSHの秘密鍵をそこへ自動送付していること
LSPそこまで詳しくないのだけどそれはどうしても必要なことなの?
0859デフォルトの名無しさん
垢版 |
2021/06/06(日) 10:33:23.63ID:MV541K/D
快適なエディタと快適なIDEの区別がつかなくなったバカどもがゴリ押しで流行らせてる
0860デフォルトの名無しさん
垢版 |
2021/06/06(日) 11:08:51.30ID:n+sQSuEO
>>857
>LSPのlocalhost:8080に接続に行くことは何の問題もないよね

localhost:8080はLanguage Serverじゃないよ
0861デフォルトの名無しさん
垢版 |
2021/06/06(日) 11:16:22.93ID:W7azs2BY
>>860
それはすまなんだ
じゃあ何が問題になってるのかな
0862デフォルトの名無しさん
垢版 |
2021/06/06(日) 12:13:20.98ID:xB3z9vbi
>>861
LSPをセットアップした状態だと「VSCodeを起動しただけで」自動ビルドが走ってしまって悪意あるprocedural macroが実行されてしまうこと
手動でビルドすれば同じことになるのでそこは問題の本質じゃなくね?とは思う
0864デフォルトの名無しさん
垢版 |
2021/06/06(日) 14:24:19.60ID:W7azs2BY
では>>823で指摘されている問題点「自分のSSHの秘密鍵が勝手に読み出されて送信される」はどの部分がその動作を要求しているの?
本当に必要な動作なの?
0865デフォルトの名無しさん
垢版 |
2021/06/06(日) 14:29:37.79ID:LOfpkHxA
手続きマクロの展開なのでcargo checkでも起こり得る
言ってしまえばRustの言語仕様そのもの
解決策は>>851の言うようにサンドボックス化するみたいな方法しかなさそう
0866デフォルトの名無しさん
垢版 |
2021/06/06(日) 14:35:16.58ID:n+sQSuEO
>>861
macroをexpandする時に
macroの定義に書かれてる任意のコードを実行することができるって話

任意のコードの例としてSSHのキーをサーバーに送信する例が書かれてて
試す人に無害なように送信先サーバーはlocalhostになってるだけ

コード見たほうが早いかも
make_answer!がexpandされるときにread_ssh_keyが実行される
https://github.com/lucky/bad_actor_poc/blob/master/bad_actor/src/lib.rs
0867デフォルトの名無しさん
垢版 |
2021/06/06(日) 14:40:17.63ID:3IIg9tuB
このコード例はめちゃくちゃわかりやすい。問題は置いといてgoodなコードだ。
0868デフォルトの名無しさん
垢版 |
2021/06/06(日) 15:22:49.77ID:fghVy2Pw
crate-typeがproc-macroのときはffiを禁止して使用可能なextern crateを
安全性が保証されたものだけに制限するのがRustっぽいかな
proc-macro専用のstdが必要になるけどno_stdと同じ感覚でmacro_safe属性をつければいい
0869デフォルトの名無しさん
垢版 |
2021/06/06(日) 16:06:34.14ID:xR3kS6+v
そもそも普通はproc-macroなんか必要ないだろ
特殊用途以外では一律禁止してよいのでは?
0871デフォルトの名無しさん
垢版 |
2021/06/06(日) 23:45:39.31ID:xQoKsnFB
>>843
マクロ展開すればどんな環境でもできるよ。
>>823はmulti-root workspaceの構成間違ってるから
IntelliJRustだとマクロ展開されないけど。

>>869
custom derive全部禁止だから当然thiserrorもserdeもdelegation系も禁止な。
ボイラープレート全部手書きしろよ。
0873デフォルトの名無しさん
垢版 |
2021/06/07(月) 13:37:53.63ID:BQ22AOvo
今勉強中なんだけど、Rustと合わせた時のgdbの使い方を教えてくれんかな
行指定でb main.rs:10みたいにブレイクポイントを指定するのってどうやるの?
>No source file named main.rs.
みたいに言われてしまって、どうやって行指定でブレイクポイントを設定するのかよくわからん
ソースのあるディレクトリがわからないのかと思って指定しても結果は変わらず・・・・
あと、ソースを表示しながらステップ実行したりってどうやるの?
0875デフォルトの名無しさん
垢版 |
2021/06/07(月) 14:06:08.51ID:BQ22AOvo
ああ、デフォルトで-gつかないのか・・・・
でもlldbが主流っぽいし、それ使うかな
0878デフォルトの名無しさん
垢版 |
2021/06/07(月) 15:56:52.66ID:D0MWfzjy
iPhone開発でMac必須になったことで強気に出すぎたか。
Macは滅びると思っていたらx86系になってからなぜかしぶとく生き残ってきたけど、
もうだめかもな。
0879デフォルトの名無しさん
垢版 |
2021/06/07(月) 16:08:45.47ID:BQ22AOvo
lldbを試しに使ってみてるんだけどさ
これって、ステップ実行するたびに自動で毎回「memory read --size 8 --format x $sp」をやってもらうことってできないの?
gdb-pedaを使っていたときはスタックの中身が自動で見れてたんだけど、なんか似たようなのないのかな?
0880デフォルトの名無しさん
垢版 |
2021/06/07(月) 20:20:51.05ID:RuDnuZ5b
>>878
iphoneアプリ開発のためにmacが生き残ってるのは面白いと思ってる
元マカーだからほんと言うと寂しいし悲しいんだけど
0881デフォルトの名無しさん
垢版 |
2021/06/07(月) 21:33:04.68ID:l0c3FfTp
rustのlinux kernel対応の話ってどうなってゆの?なんだかずいぶんと作業が難航しているうだけど
それってrustのどのあたりの言語機能が悪さをしているのかね
0882デフォルトの名無しさん
垢版 |
2021/06/07(月) 21:34:18.90ID:l0c3FfTp
難航しているよう
0883デフォルトの名無しさん
垢版 |
2021/06/07(月) 23:22:49.68ID:TtFMbk6H
>>873
シンボリックデバッガはまだ有名どころのフロントエンドが
ステップ実行できる程度しか対応してないから、アブソリュートデバッガ併用になる。
シンボルでブレークポイント設定できないとか実行に問題あるとかまだ普通。
msvcツールチェインは特に。

>>877
ねねっち死んだなって思ってたけど現実もか。

>>878
世界シェア15%切ったし頼みの日本シェアすら50%切ったからもう
iPhone専用開発機も持たないだろう。
rustだとandroidほどバインディングが充実してないから開発やりずらいだろうし。
0884デフォルトの名無しさん
垢版 |
2021/06/08(火) 13:22:42.82ID:NxfO+lQp
>>881 大部分がRustで書かれたRedox OSっていうOSがあるからRustでカーネルやドライバが書けないというわけではないと思う
恐らくCで書かれた過去の遺産との連携で手こずってそう
0885デフォルトの名無しさん
垢版 |
2021/06/08(火) 16:32:33.53ID:XAjWEwKV
>>883
日本でのiPhoneのシェアは、どんどん減っているはずなのに、ググると、
増えているデータになっていて、増えているのに50%を切っているというわけの
わからなさ。
記憶では、70%くらいまでいって、下がった結果、49%くらいになったはずなのに。
0886デフォルトの名無しさん
垢版 |
2021/06/08(火) 17:33:30.46ID:0HakL4nG
>>884
具体的には?
0889デフォルトの名無しさん
垢版 |
2021/06/08(火) 22:36:25.74ID:onwST/YK
>>885
出荷ベースだと二三年前に65%超えてて2020Q4に約49%だからそれであってるよ。

>>888
OS作ってる人らって開発環境はなんだろ?
intellijrustはデバッガ使えるIDEとツールチェインが限られるし
matklad.rust-analyzerは環境変数の扱いがめちゃくちゃで
環境変数見に行くとまともに動かないし。issueばっか増える。

お前らどうしてる?ツールチェインと環境は?
0891デフォルトの名無しさん
垢版 |
2021/06/09(水) 00:55:43.69ID:KzEq3JVg
>>889
cargoが-Zbuild-std対応したからビルドに特別なツールは使ってない
rust-analyzerもno_std対応してて特に支障なく動いている
(補完候補にstdが出てくることはたまにあるけど)

環境変数がおかしいというのはどういうこと?
build.rsが環境変数に依存している?
それとも env!() を使っている?
0893デフォルトの名無しさん
垢版 |
2021/06/09(水) 08:17:02.86ID:k36yeEDS
元々の話はMacがM1になって開発環境として終わったという流れから
残るMacの存在価値としてiOSアプリ開発環境がありそのシェアがまだ高い(?)という話だと思うけど
多くのサービスがスマホ専用アプリを作らずにウェブアプリ(PWA)化してる状況ではシェアだけの問題ではないと思うな
0894デフォルトの名無しさん
垢版 |
2021/06/09(水) 11:25:52.58ID:oLsQ5RHC
>>893
最後の行、flutterなどのマルチプラットフォームライブラリの登場によって、
ウェブアプリからnativeアプリ型への流れが出来ているという説もあるが。
0895デフォルトの名無しさん
垢版 |
2021/06/09(水) 11:27:44.28ID:oLsQ5RHC
>>894
後継のSwiftが出来たのでObjective-Cの人気低下はともかく、そのSwiftも人気低下。
その理由が、AndroidとiOSでソースを共通化したい人が増えたからだそうだ。
SwiftはApple専用だから。
0896デフォルトの名無しさん
垢版 |
2021/06/09(水) 12:30:04.46ID:eGaY+zic
lldbでpedaみたいな表示するのってこれが良いかな
便利そうだけど保守されてんのかなこれ?誰かしらん?
https://github.com/snare/voltron
0898デフォルトの名無しさん
垢版 |
2021/06/10(木) 09:11:05.37ID:hslWe/Xh
RUSTってORM、Dieselとかいうやつしかねえの?
SQLを明記したいのでJavaでいうMybatisみたいなのをさがしているんだけど、中華の変なものしかない。
0901デフォルトの名無しさん
垢版 |
2021/06/11(金) 05:32:32.03ID:O0YtPkZC
サーバー側はネイティブコードでクライアント側がwebassemblyで動くとかあるの?
0902デフォルトの名無しさん
垢版 |
2021/06/11(金) 15:51:17.70ID:ThZwz5mq
VSCodeアップデートしたら急にDo you trust the authors of the files in this folderとか聞かれてどうしたのかと思ったけど>>823みたいな奴の対策かね
0903デフォルトの名無しさん
垢版 |
2021/06/11(金) 23:04:56.42ID:gr7UCFZ6
>>898
Dieselに人が集中してる。
クレートのall-time downloadは200万超だし、
リポジトリのコミットは約4000、closed issueは約1200。
0905デフォルトの名無しさん
垢版 |
2021/06/12(土) 05:08:22.45ID:0lbP+PJD
wasmはあらゆる環境で使える汎用コンテナとしてすごい将来性あるみたいだね
0906デフォルトの名無しさん
垢版 |
2021/06/12(土) 15:34:21.86ID:jmn9nDiv
>>905
目的外利用だし、そういうこと言っている人がいることは知ってるが、実際にそんなに将来性があるとは思えんが。
0907デフォルトの名無しさん
垢版 |
2021/06/12(土) 15:35:41.09ID:jmn9nDiv
wasmはもともとウェブにC++を持ち込みたいというEmscriptenの情熱から
始まったものであって、そんな汎用目的のためではない。
0910デフォルトの名無しさん
垢版 |
2021/06/12(土) 16:48:34.58ID:L7rjL3/+
zoomみたいなビデオ会議アプリでwasm使ってるってっ聞いた
あとカメラを使った運転免許証認識とか
0912デフォルトの名無しさん
垢版 |
2021/06/12(土) 17:38:04.08ID:4jXDkOdS
もしもWebAssemblyとWASIが2008年に存在していたら、Dockerを開発する必要はなかった
ってDocketの開発者が言ってた件だな
0914デフォルトの名無しさん
垢版 |
2021/06/12(土) 18:32:25.93ID:l5AvwX9O
いや、M$の寡占を阻止し正しき未来を創るため立ち上がったとエリックレイモンドが言ってた。
0916デフォルトの名無しさん
垢版 |
2021/06/12(土) 20:33:14.57ID:7X99TIl2
>>915
ソフトウェア著作権を否定するあんたと同類だよ。違うのは現行の法律を尊重するかしないかだけ。
0917デフォルトの名無しさん
垢版 |
2021/06/12(土) 21:31:34.25ID:Ap+0oKF5
>>912
んなこたない。
2008年にあっても今と扱いは変わらんと思うわ。
結局何らかのコンテナを使うことになる。
OSの件でもそうだが、この界隈は大袈裟にアピールしすぎだわ。
0922デフォルトの名無しさん
垢版 |
2021/06/13(日) 10:57:47.53ID:ACaSQ+aI
Istioでの使われ方みたいな事例が増えると思う
luaの代替
0923デフォルトの名無しさん
垢版 |
2021/06/13(日) 12:14:09.77ID:CEo6Ln9Y
JVM自体がローカルのシステムでグローバルだったからだろ。
低レイヤーをラップするための上位レイヤーのが互換性効かないものになってるとか、よくある話だわ。
0925デフォルトの名無しさん
垢版 |
2021/06/13(日) 22:54:27.20ID:exUpBE38
じゃあOSSを利用する場合はちゃんとライセンスに従わなきゃな。GPLだろうとなんだろうと。
0926デフォルトの名無しさん
垢版 |
2021/06/14(月) 01:49:13.38ID:1vkdQjmk
別に俺はGPLは嫌いだから自作プログラムに紛れ込ましたことは無いが、
GPL自体が自ら著作権を放棄してるな。
「COPYLEFT」 の LEFT = 放棄、左。左翼、共産主義。
「COPYRIGHT」の RIGHT = 権利、右。右翼、資本主義。権利=著作権。
0927はちみつ餃子 ◆8X2XSCHEME
垢版 |
2021/06/14(月) 02:06:08.10ID:fvxG9/iR
GPL は著作権の放棄ではない。
その上で自由な利用を保証するという契約をするの。
著作権を放棄してしまったら自由な利用を強制する根拠を失ってしまう。
0928デフォルトの名無しさん
垢版 |
2021/06/14(月) 02:54:46.97ID:1vkdQjmk
アメリカ人はめちゃくちゃで、ライセンスと契約を区別したり訳分からんこと
言って、煙に巻こうとしてるだけ。
GPLは、その名の通り、「ライセンス」といっている。
COPYLEFT と自ら名乗っているし、著作権で無いだろう、あんなもの。
0929はちみつ餃子 ◆8X2XSCHEME
垢版 |
2021/06/14(月) 02:57:23.52ID:fvxG9/iR
>>928
GPL は著作権ではない。
著作権は作者が持っていて、契約 (の内容) が GPL なの。
なんでそんな簡単なことがわからんのだ。
0930はちみつ餃子 ◆8X2XSCHEME
垢版 |
2021/06/14(月) 03:06:36.37ID:fvxG9/iR
著作者は作者として強制できる権利。
強制する内容が「自由に利用すること、自由に利用させること」であることが
一般的に作者が求める強制力ではないよねということを茶化して Copyleft と言っているのであって、
強制力の根拠はあくまでも著作権だよ。
0931デフォルトの名無しさん
垢版 |
2021/06/14(月) 03:16:22.76ID:Gk7ZUjpc
あれが、本気で自由と思ってるのか。
頭大丈夫か?
自由じゃないからこそ、言葉だけ自由と名乗ってるに決まってるじゃん。
ようは、不自由なことをやることも、自由といや自由、みたいに皮肉みたいな感じで
言ってるんだろ、彼らは。
それか頭がおかしいかだ。
0932デフォルトの名無しさん
垢版 |
2021/06/14(月) 03:41:09.12ID:lTAIWsCW
ハァ〜〜〜〜〜また固定ハンドルが物申したさベースでデタラメ言ってる


まずライセンスと契約は別物ね
ライセンスと契約を混同するのはよくある誤謬
GPLにおいても、これは契約かライセンスかといった議論は昔からあるから勝手に勉強しとけ
勉強したところでここで発表はするなよ邪魔だから


> 自由な利用を強制する
これも、なんでそうなるのだってくらい愚かしい解釈
「自由」の定義をストールマンとか江添の言ってるそれに委ね過ぎて支離滅裂になってるって気付け?
辞書通りの「自由」ならライセンスも警察も裁判所も要らないから
GPL のポイントは二次的な生産物も GPL であれと要請してるところ
「だからそれを私は自由と呼んでいるんです!」と叫ぶのかな?
日本語勉強しろバァ〜〜〜カ


あと著作権著作権って簡単に言うがこれは国にもよる
たんじゅんなアタマのつくりしてるね


俺なら恥ずかし過ぎて固定ハンドル外してるわ
今に始まったことではないが
0934デフォルトの名無しさん
垢版 |
2021/06/14(月) 04:23:31.00ID:lTAIWsCW
即レスで
恥ずかし過ぎて固定ハンドルを外して
何ら具体的な反論をしないことで完全服従の意を表明しつつ
一方でタダで敗北アクメを晒すわけにはいかないので「バカ。陳腐」という当たり障りのない罵倒も置いておく完璧なレス

のように思えてしまうが、なんの用事もないのにわざわざ安価付けてきたコイツが当人じゃない可能性ってナンボほどあるんだろうか
0935はちみつ餃子 ◆8X2XSCHEME
垢版 |
2021/06/14(月) 04:35:49.09ID:fvxG9/iR
>>932
GPL ほどの広く使われているライセンス形態がその程度の理屈の建付けがちゃんとできてないわけないだろ。
詭弁と言えば詭弁なのかもしれんが、お前ごときに突き崩せるほどの安普請ではないわ。
GPL1 のリリース日の時点ではアメリカがベルヌ条約に加盟して無かったから
それでも国際的に通用するように方式主義にも配慮されておる。

中国に対してさえ (実態はわからんが少なくとも法的な理屈の上では) 通用する GPL が「国による」とかいう雑な
理屈で回避できると思ってるのか?
0936デフォルトの名無しさん
垢版 |
2021/06/14(月) 05:16:55.41ID:lTAIWsCW
>>935
GPL の建付け (?) の話なんか全くしてないし、回避 (??) する話なんかもっとしてないんだが、一体何に猛反論してるつもりなのだキミは
関係ない話ベラベラし始めることこそ典型的な詭弁だよ(この場合目的が全くわからんが)


>>932に書いた内容といえば
・ライセンスと契約を同じもののように語ってるのが典型的な誤謬であると指摘して
・「自由」という語の使い方が自由過ぎることを糾弾して
・諸々の根拠を著作権に委ねるならその運用は国による要素を多分に含むと示唆している
というこれだけで、これらには返す言葉もないというのが本音でしょう


> GPL1 のリリース日の時点では
これはお前が今突然言い出したことなので元々の話とは全く関係ないが、GPL が当時と同じように理解されて運用されてるのと思ってるならやっぱ単純なアタマのつくりしてるね
0938はちみつ餃子 ◆8X2XSCHEME
垢版 |
2021/06/14(月) 05:30:15.75ID:fvxG9/iR
>>936
ライセンスは契約だし、 GPL が言うところの「自由」は定義されている。
その「自由」が辞書的な意味とは異なるかもしれんが、 (この場合の) 意味は明白で解釈の幅はない。
「自由」という言葉をあてるのがクソというのがあなたの主張?

著作権の運用が国ごとに違うのは仕方がないが、
GPL の考え方に法的根拠を与えるには他に方法がないのも事実だ。
クソみたいに著作権意識のない国では通用しないから GPL は無力だということが言いたいの?
0940デフォルトの名無しさん
垢版 |
2021/06/14(月) 09:29:08.36ID:57P3hnrE
>>922
Goにホストされるって敗北感
そもそもホストはGC言語なのにわざわざそれを封じて縛りプレイしてるんだからアホくせえわ
0941デフォルトの名無しさん
垢版 |
2021/06/14(月) 11:54:20.91ID:xr9L9qN8
アホくせえが手段が目的化する奴が多いのよ。言語にこだわるやつってのは。
0942デフォルトの名無しさん
垢版 |
2021/06/14(月) 12:02:54.57ID:Gk7ZUjpc
>>938
>その「自由」が辞書的な意味とは異なるかもしれんが、 (この場合の) 意味は明白で解釈の幅はない。
ええ???
0945デフォルトの名無しさん
垢版 |
2021/06/14(月) 16:01:14.18ID:aWTkZB4f
こんだけ言われてなんでまだ「ライセンス=契約」で行きたいんだ?
そこが覆ると自分の主張も破綻するから?
まあ難しいところではあるだろうと思うが、「ライセンスと契約は等価じゃない」ってのはあらゆるレイヤで真でしょ
ことOSSにおいては「契約はしてないけどライセンスはされている」という状況が山程あるし、そこ混同するのはやっぱ問題かと
0946デフォルトの名無しさん
垢版 |
2021/06/14(月) 16:36:10.82ID:o7Wm2rLl
ライセンスの定義についてはどこで合意が取れてんの?
それともそういうもんは存在しなくて
定義については毎回言い争ってるの?
0947デフォルトの名無しさん
垢版 |
2021/06/14(月) 18:32:12.91ID:Gk7ZUjpc
GPLについては、ソース公開しなければならないことについては大量に述べられて
いるが、非公開で良いケースは僅かしか語られず、その場合でも沢山の例外が
述べられていて結局、非公開にするのは茨の道になるようなライセンス。
0949デフォルトの名無しさん
垢版 |
2021/06/14(月) 19:09:41.02ID:WvbRDa7B
GPLの例外条項は結構曖昧で解釈の幅がある
オレオレ解釈は散見されるが最悪争う覚悟は要りそう

あとライセンスとは全く関係無い次元で製品に使うのみで
プロジェクトの開発に貢献していないと晒されたり
0950デフォルトの名無しさん
垢版 |
2021/06/14(月) 19:36:33.34ID:BGpTyvuR
GPLと聞いて。
自由については「誰の」自由かを明確化しないと混乱するから省略するな。GPLの自由はユーザーの自由で、それを実現するためにプログラマの自由を制限している。

ライセンスは文字通り「許諾」で、相手の同意を必要としない。契約は相手と自分の同意を必須とするから、GPLみたいに相手の同意を前提としていない仕組みを「契約」とするのは弱い(と思う)。
だからGPLでは著作権を使って、違反者にプログラムを使わせないことを強制する枠組みを用意している。
0951デフォルトの名無しさん
垢版 |
2021/06/14(月) 20:31:13.38ID:6p9bp5Dj
ソースコードを公開してもかまわないプログラマの自由を最大化するために作られているんだよ。
逆に言えばソースを隠したがるプログラマのことは考えていない。
レス数が950を超えています。1000を超えると書き込みができなくなります。

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