{ "version": "https://jsonfeed.org/version/1", "title": "Rust", "description": "Rust is a systems programming language that runs blazingly fast, prevents almost all crashes, and eliminates data races.", "home_page_url": "go/rust", "feed_url": "feed/rust.json", "icon": "https://cdn.v2ex.com/navatar/2dac/e78f/790_large.png?m=1632977380", "favicon": "https://cdn.v2ex.com/navatar/2dac/e78f/790_normal.png?m=1632977380", "items": [ { "author": { "url": "member/zyzj", "name": "zyzj", "avatar": "https://cdn.v2ex.com/gravatar/67ef98c101d3ddf238f8317b1d1f3cc1?s=73&d=retro" }, "url": "t/1206219", "date_modified": "2026-04-16T00:40:05+00:00", "content_html": "

Best Of RS

\n

\u6838\u5fc3

\n

\u6839\u636eGithub API\u5b9a\u65f6\u6293\u53d6 rust \u5f00\u6e90\u5e93\u5feb\u7167\uff0c\u8ba1\u7b97\u53d8\u5316\u91cf\u3002\u540e\u53f0\u8d1f\u8d23\u6743\u9650\uff0c\u5f00\u6e90\u5e93\u7ba1\u7406\uff0c\u5206\u7c7b\u7ba1\u7406\u3002\n\u4e0d\u7ba1\u4f60\u662f rust \u5f00\u6e90\u5e93\u7684\u7ef4\u62a4\u8005\u8fd8\u662f\u4f7f\u7528\u8005\uff0c\u90fd\u53ef\u4ee5\u5728\u8fd9\u91cc\u65e5\u5e38\u8ffd\u8e2a\u4f60\u5fc3\u4eea\u7684\u9879\u76ee\uff0c\u6216\u8005\u53d1\u73b0\u90a3\u4e9b\u4f60\u672a\u4e86\u89e3\u8fc7\u7684\u65b0\u73a9\u610f\u3002

\n

\u67b6\u6784\u5b9e\u73b0

\n

BestOfRS \u662f\u4e00\u4e2a\u7b80\u5355\u7684\u9879\u76ee\uff0c\u91c7\u7528 clean \u67b6\u6784\u5b9e\u73b0\uff0c\u4f9d\u9760 Dioxus fullstack \u5b9e\u73b0\u826f\u597d\u7684 seo \u3002\u4ee3\u7801\u9c81\u68d2\u6027 ok \uff0c\u62d3\u5c55\u826f\u597d\uff0c\u662f\u4e00\u4e2a\u6781\u4f73\u7684\u5b66\u4e60\u9879\u76ee\u4ee5\u53ca\u5f00\u53d1\u6a21\u677f\u3002

\n

\u66f4\u591a\u7ec6\u8282\u53ef\u67e5\u770b\u67b6\u6784\u6587\u6863

\n

\u4ed3\u5e93: https://github.com/zhiyanzhaijie/bestofrs
\n\u5b98\u7f51: https://bestofrs.org

\n

\u6b22\u8fce\u5927\u5bb6\u4f7f\u7528\uff01

\n", "date_published": "2026-04-15T17:10:01+00:00", "title": "[\u5f00\u6e90] Best of RS - \u4e00\u4e2a\u7531 Rust \u7f16\u5199\u7684\u8ffd\u8e2a Rust \u5f00\u6e90\u8d8b\u52bf\u7684\u5168\u6808 web \u9879\u76ee", "id": "t/1206219" }, { "author": { "url": "member/WeWill", "name": "WeWill", "avatar": "https://cdn.v2ex.com/avatar/f09a/7773/242966_large.png?m=1771924483" }, "url": "t/1193799", "date_modified": "2026-02-24T09:31:08+00:00", "content_html": "

\u8fd9\u4e24\u5929\u770b\u5230\u5f88\u591a\u91cd\u91cf\u7ea7\u4eba\u7269\u53d1\u8868 Rust \u548c AI \u76f8\u5173\u7684\u4e8b\u60c5

\n

Unix \u7f16\u7a0b\u827a\u672f\u4f5c\u8005\u7528 AI vibe coding \u8fc1\u79fb C \u9879\u76ee\uff1a https://x.com/esrtweet/status/2026004594590089484

\n

Ladybird \u7528 AI vibe coding \u4e86 Rust \u7248\u672c\uff1a https://ladybird.org/posts/adopting-rust/

\n

Elon Musk xAi \u7528 Rust \u5b9e\u73b0\uff1a https://x.com/elonmusk/status/2024565280169677297

\n

OpenAI \u8054\u5408\u521b\u59cb\u4eba Greg Brockman \u5938\u8d5e vibe \u51fa\u6765\u7684\u4ee3\u7801\u8fd1\u4e4e 100% \u6b63\u786e: https://x.com/gdb/status/2007228511363444905

\n

Rust \u8981\u501f\u52a9 AI \u8d77\u98de\u4e86

\n", "date_published": "2026-02-24T09:26:47+00:00", "title": "Rust \u771f\u662f\u975e\u5e38\u9002\u5408 AI vibe coding \u7684\u8bed\u8a00", "id": "t/1193799" }, { "author": { "url": "member/Q2297045667", "name": "Q2297045667", "avatar": "https://cdn.v2ex.com/avatar/49e6/1db5/320844_large.png?m=1775188923" }, "url": "t/1193208", "date_modified": "2026-02-18T20:50:56+00:00", "content_html": "

\ud83c\udf83Pumpkin\n\u4e2d\u6587\u793e\u533a\u7edf\u4e00\u5ba3\u4f20\u6587\u6863\uff0c\u53ef\u6839\u636e\u76f8\u5e94\u5e73\u53f0\u89c4\u5219\u505a\u76f8\u5e94\u7684\u7b80\u5316\u548c\u4fee\u6539\u3002

\n

\u4f17\u6240\u5468\u77e5\u56e0\u4e3a Minecraft \u4f7f\u7528 Java \u4f5c\u4e3a\u5f00\u53d1\u8bed\u8a00\uff0c\u8fd9\u5bfc\u81f4\u5176\u4ed6\u4eba\u5f88\u5bb9\u6613\u5c31\u80fd\u53cd\u7f16\u8bd1\u51fa\u4ed6\u7684\u6e90\u4ee3\u7801\uff0c\u8fdb\u884c\u4e8c\u6b21\u4fee\u6539\u540e\u6269\u5c55\u6e38\u620f\u5185\u5bb9\uff0c\u8fd9\u79cd\u5f00\u653e\u6027\u6700\u7ec8\u4e5f\u9020\u5c31\u4e86\u8fd9\u6b3e\u53f2\u4e0a\u6700\u7545\u9500\u7684\u6e38\u620f\u4f20\u5947\u3002

\n

\u7136\u800c\u591a\u5e74\u8fc7\u53bb\uff0c\u968f\u7740\u6e38\u620f\u5185\u5bb9\u8d8a\u6765\u8d8a\u591a\uff0cJava \u4f5c\u4e3a\u4e00\u4e2a\u534a\u89e3\u91ca\u6027\u3001\u534a\u7f16\u8bd1\u6027\u7684\u8bed\u8a00\uff0c\u6027\u80fd\u9010\u6e10\u6349\u895f\u89c1\u8098\u3002\u5916\u52a0 ojang \u7684\u5386\u53f2\u9057\u7559\u4ee3\u7801\uff08\u4fd7\u79f0\u201c\u5c4e\u5c71\u4ee3\u7801\u201d\uff09\uff0c\u5bfc\u81f4\u5176\u6027\u80fd\u8868\u73b0\u8d8a\u6765\u8d8a\u4e0d\u5c3d\u5982\u4eba\u610f\u3002

\n

\u5f53\u7136\uff0c\u8fd9\u4e9b\u5e74 Java \u4e5f\u5728\u6301\u7eed\u8fdb\u884c\u7248\u672c\u8fed\u4ee3\uff0c\u4f18\u5316\u5176 JVM \u865a\u62df\u673a\u6027\u80fd\uff0c\u540c\u65f6\u52a0\u5165\u4e86\u8bb8\u591a\u65b0\u7279\u6027\uff0c\u4f8b\u5982\u66f4\u9ad8\u6548\u7684\u8c03\u7528\u65b9\u5f0f\u3001\u65b0\u7684 GC \u5185\u5b58\u56de\u6536\u673a\u5236\u7b49\u3002\u539f\u672c\u6309\u7167\u73a9\u5bb6\u8bbe\u60f3\uff0cojang \u5e94\u8be5\u79ef\u6781\u91c7\u7528 Java \u7684\u65b0\u7279\u6027\u6765\u4f18\u5316\u6e38\u620f\u6027\u80fd\uff0c\u7136\u800c ojang \u4f3c\u4e4e\u5e76\u672a\u5b8c\u5168\u671d\u8fd9\u4e2a\u65b9\u5411\u52aa\u529b\uff0c\u5bfc\u81f4\u6e38\u620f\u6027\u80fd\u8d8a\u6765\u8d8a\u8ddf\u4e0d\u4e0a\u65e5\u76ca\u5e9e\u5927\u548c\u590d\u6742\u7684\u6e38\u620f\u5185\u5bb9\u3002

\n

\u968f\u7740\u540e\u7eed\u51fa\u73b0\u7684\u5404\u79cd\u4f18\u5316 Mod \uff0c\u5ba2\u6237\u7aef\u7684\u6e38\u620f\u6027\u80fd\u786e\u5b9e\u5f97\u5230\u4e86\u6781\u5927\u6539\u5584\u3002\u540c\u6837\uff0c\u670d\u52a1\u7aef\u8fd9\u8fb9\u4e5f\u6d8c\u73b0\u51fa\u8bb8\u591a\u57fa\u4e8e\u539f\u7248\u5f00\u53d1\u7684\u7b2c\u4e09\u65b9\u670d\u52a1\u7aef\uff0c\u5176\u4e2d\u4ee5 Bukkit API \u4e3a\u4e3b\uff0c\u884d\u751f\u51fa\u4e86\u4f17\u591a\u63d2\u4ef6\u7c7b\u670d\u52a1\u7aef\u3002PaperMC \u65d7\u4e0b\u4e5f\u63a8\u51fa\u4e86\u51e0\u4e4e\u91cd\u5199\u4e86\u6574\u4e2a\u533a\u5757\u7cfb\u7edf\u7684 Folia \u670d\u52a1\u7aef\u3002

\n

\u8fd9\u4e9b\u670d\u52a1\u7aef\u529f\u80fd\u5404\u5f02\uff0c\u4f46\u90fd\u7edf\u4e00\u5728\u6027\u80fd\u4e0a\u505a\u4e86\u5927\u91cf\u4f18\u5316\u3002\u7136\u800c\uff0cMinecraft \u4ece\u6700\u521d\u8bbe\u8ba1\u4e0a\u5c31\u6ca1\u8003\u8651\u5355\u670d\u52a1\u5668\u4e0b\u627f\u8f7d\u5927\u91cf\u73a9\u5bb6\u7684\u60c5\u51b5\u3002\u7531\u4e8e\u5176\u6838\u5fc3\u6846\u67b6\u662f\u5355\u7ebf\u7a0b\u7684\uff0c\u82e5\u4e0d\u80fd\u8fdb\u884c\u5927\u5200\u9614\u65a7\u7684\u91cd\u6784\uff0c\u90a3\u4e48\u65e0\u8bba\u600e\u6837\u4fee\u6539\uff0c\u90fd\u65e0\u6cd5\u8131\u79bb\u4e3b\u8981\u903b\u8f91\u5904\u7406\u4ecd\u53d7\u9650\u4e8e\u5355\u7ebf\u7a0b\u7684\u74f6\u9888\u3002

\n

\u2728 \u4ec0\u4e48\u662f Pumpkin \uff1f

\n

Pumpkin \u662f\u7531 Pumpkin-MC \u793e\u533a\u5f00\u53d1\u7684\u4e00\u6b3e\u5168\u65b0\u7684\u3001\u5f00\u6e90\u7684\u3001\u9ad8\u6027\u80fd\u3001\u53ef\u6269\u5c55\u7684 Minecraft \u670d\u52a1\u7aef\uff0c\u5b83\u4f7f\u7528 Rust \u4f5c\u4e3a\u5f00\u53d1\u8bed\u8a00\u3002

\n

\u5b83\u65e8\u5728\u4e3a\u73a9\u5bb6\u63d0\u4f9b\u5feb\u901f\u3001\u9ad8\u6548\u4e14\u9ad8\u5ea6\u53ef\u5b9a\u5236\u7684\u6e38\u620f\u4f53\u9a8c\uff0c\u4e13\u6ce8\u4e8e\u6781\u81f4\u7684\u6027\u80fd\u4f18\u5316\u548c\u6d41\u7545\u7684\u73a9\u5bb6\u4f53\u9a8c\uff0c\u540c\u65f6\u4e25\u683c\u9075\u5faa\u539f\u7248\u6e38\u620f\u7684\u6838\u5fc3\u673a\u5236\u4e0e\u884c\u4e3a\u3002

\n

\u90a3\u4e48 Pumpkin \u7684\u6838\u5fc3\u529f\u80fd\u548c\u76f8\u8f83\u4e8e\u5176\u4ed6\u540c\u6837\u5b8c\u5168\u91cd\u5199\u670d\u52a1\u7aef\u5230\u5e95\u6709\u4ec0\u4e48\u7ade\u4e89\u4f18\u52bf\uff1f

\n

\ud83c\udfae \u9075\u5faa\u539f\u7248\u6e38\u620f\u673a\u5236\uff1a

\n

\u4f18\u5148\u6e38\u620f\u7279\u6027\uff1a

\n\n

\u5bf9\u7167\u539f\u7248\u4ee3\u7801\u5f00\u53d1\uff1a

\n\n

\u2699\ufe0f \u591a\u5e73\u53f0&\u7248\u672c\u652f\u6301\uff1a

\n

\u591a\u5e73\u53f0\uff1a

\n\n

\u591a\u7248\u672c\uff1a

\n\n

\u7075\u6d3b\u7684\u8eab\u4efd\u9a8c\u8bc1\uff1a

\n\n

\ud83e\uddf1 \u5f3a\u5927\u7684\u533a\u5757\u7cfb\u7edf\uff1a

\n

\u5b8c\u5168\u7684\u591a\u7ebf\u7a0b\uff1a

\n\n

\u652f\u6301\u66f4\u591a\u533a\u5757\u683c\u5f0f\uff1a

\n\n

\u9ad8\u6548\u7684\u538b\u7f29\u7b97\u6cd5\u5e93\uff1a

\n\n

\u786c\u4ef6\u52a0\u901f\u652f\u6301\uff1a

\n\n

\ud83d\ude80 \u66f4\u5feb\u7684\u7f51\u7edc\u6027\u80fd\uff1a

\n

\u9ad8\u6548\u7684\u6570\u636e\u5305\u5904\u7406\uff1a

\n\n

\u652f\u6301\u591a\u79cd\u534f\u8bae\uff1a

\n\n

\u5f3a\u5927\u7684\u7f51\u7edc\u6570\u636e\u5305\u538b\u7f29\uff1a

\n\n

\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u6570\u636e\u5305\u6536\u53d1\uff1a

\n\n

\u81ea\u5b9a\u4e49\u8d1f\u8f7d\u652f\u6301\uff1a

\n\n

\ud83d\udee0\ufe0f \u5168\u9762\u5f00\u653e\u7684\u6269\u5c55\u65b9\u5f0f\uff1a

\n

\u652f\u6301\u63d2\u4ef6\u52a0\u8f7d\u5668\uff1a

\n\n

\u65e0\u9700\u7f16\u5199\u4ee3\u7801\uff1a

\n\n

\u672a\u6765\u652f\u6301 Mod\uff1a

\n\n

\u5b98\u65b9\u7684\u63d2\u4ef6\u5e02\u573a\uff1a

\n\n

\ud83e\udd16 \u5f3a\u5927\u7684\u725b\u9a6c\u56e2\u961f\uff1a

\n

\u76ee\u524d\u7684\u5f00\u53d1\u8fdb\u5ea6\uff1a

\n\n

\u8d85\u591a\u7684\u8d21\u732e\u8005\uff1a

\n\n

\u5404\u7c7b\u884d\u751f\u9879\u76ee\uff1a

\n\n

\u610f\u89c1\u548c\u5efa\u8bae\uff1a

\n\n

\u26a0\ufe0f \u6211\u4eec\u9762\u4e34\u7684\u6311\u6218\u548c\u5e38\u89c1\u95ee\u9898\uff1a

\n

\u65e0\u6cd5\u53d1\u6325\u6700\u5927\u5316\u6027\u80fd\uff1a

\n\n

\u6269\u5c55\u751f\u6001\u517c\u5bb9\uff1a

\n\n

\u5185\u90e8\u7a33\u5b9a\u6027\uff1a

\n\n

\u5185\u5bb9\u7684\u4e0d\u5b8c\u5584\uff1a

\n\n

\ud83d\udcde \u6211\u4eec\u7684\u8054\u7cfb\u65b9\u5f0f\u548c\u9879\u76ee\u5730\u5740\uff1a

\n\n", "date_published": "2026-02-18T20:44:10+00:00", "title": "Pumpkin - \u4f7f\u7528 Rust \u5f00\u53d1\u7684\u9ad8\u6027\u80fd Minecraft \u670d\u52a1\u7aef", "id": "t/1193208" }, { "author": { "url": "member/everettjf", "name": "everettjf", "avatar": "https://cdn.v2ex.com/avatar/8c19/c123/60928_large.png?m=1773213189" }, "url": "t/1191509", "date_modified": "2026-02-08T07:19:53+00:00", "content_html": "

\u6700\u8fd1 OpenClaw \u5927\u706b\uff0cNanoClaw \u4e5f\u975e\u5e38\u53d7\u6b22\u8fce\u3002Opus4.6 \u51fa\u6765\u540e\uff0c\u8fd9\u4e24\u5929\u6211\u5c31\u62ff\u7740 Claude \u9001\u7684 50 \u5200\u989d\u5ea6\u8bd5\u4e86\u8bd5\uff0c\u5f00\u53d1\u4e86\u4e00\u4e2a Rust \u7248\u672c\u7684 NanoClaw \uff0c\u540d\u5b57\u5c31\u53eb MicroClaw \uff0c\u76ee\u524d\u652f\u6301\u4e86 NanoClaw \u7684\u90e8\u5206\u529f\u80fd\u3002\u8fd8\u6709\u4e00\u4e9b\u529f\u80fd\u6700\u8fd1\u4f1a\u9010\u6b65\u6d4b\u8bd5\u548c\u5b8c\u5584\u3002

\n

\u9879\u76ee\u5730\u5740\uff1a https://github.com/microclaw/microclaw\n\u6587\u6863\uff1a https://microclaw.ai/ \uff08\u5de8\u8d44\u8d2d\u4e70\u7684.ai \u57df\u540d\uff09

\n

\u76ee\u524d\u8fd8\u5728\u6301\u7eed\u8fed\u4ee3\u4e2d\uff0c\u8fd8\u6ca1\u6709\u8fdb\u884c\u5145\u5206\u7684\u6d4b\u8bd5\uff0c\u5927\u5bb6\u53ef\u4ee5\u5148\u5f53\u4e2a\u73a9\u5177\u770b\u770b\u54c8\u3002\u8fd1\u671f\u4f1a\u9010\u6b65\u6d4b\u8bd5\u4fdd\u969c\u529f\u80fd\u53ef\u7528\u6027\uff0c\u6b22\u8fce\u8bd5\u7528\u548c\u63d0\u5efa\u8bae\u3002

\n
\n

\u8ba9 Codex \u5bf9\u6bd4\u4e86\u4e0b MicroClaw \u548c NanoClaw \uff0c\u7ed3\u679c\u5982\u4e0b\uff1a

\n

\u53e3\u5f84\u8bf4\u660e\uff1a\u57fa\u4e8e\u4f60\u5f53\u524d\u4ed3\u5e93\u7684 README.md / AGENTS.md \u548c NanoClaw \u5b98\u65b9 README \uff08\u622a\u81f3 2026-02-08 \uff09\u3002

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u7ef4\u5ea6NanoClawMicroClaw
\u9879\u76ee\u5b9a\u4f4d\u6781\u7b80\u3001\u5355\u7528\u6237\u3001\u53ef\u7406\u89e3\u4f18\u5148\uff1b\u5f3a\u8c03\u201c\u4e0d\u8981\u505a\u5927\u800c\u5168\u201d\u9762\u5411\u804a\u5929\u573a\u666f\u7684\u901a\u7528 agent bot \uff0c\u529f\u80fd\u66f4\u5168\u3001\u53ef\u6269\u5c55\u9762\u66f4\u5927
\u7075\u611f\u5173\u7cfb\u539f\u9879\u76ee\u660e\u786e\u53c2\u8003 NanoClaw \u8bbe\u8ba1\u601d\u8def\u5e76\u5728\u5176\u4e0a\u6269\u5c55
\u9ed8\u8ba4\u901a\u4fe1\u6e20\u9053WhatsApp \uff08\u660e\u786e\uff09Telegram-first \uff0c\u4e14\u652f\u6301\u53ef\u9009 WhatsApp Cloud webhook
\u5bf9\u591a\u6e20\u9053\u6001\u5ea6\u503e\u5411\u901a\u8fc7 skill \u6539\u9020\uff08\u5982 /add-telegram \uff09\u800c\u4e0d\u662f\u4e3b\u7ebf\u5185\u5efa\u4e3b\u7ebf\u5df2\u7ecf\u652f\u6301\u591a\u804a\u5929\u9762\uff08 Telegram \u4e3a\u4e3b\uff09
\u6280\u672f\u6808Node.js + Claude Agent SDK + \u5bb9\u5668\u8fd0\u884cRust + Tokio + teloxide + reqwest
LLM \u63a5\u5165\u6a21\u578b\u5f3a\u7ed1\u5b9a Claude Code / Agent SDK\u539f\u751f Anthropic + OpenAI-compatible \u591a\u63d0\u4f9b\u5546
\u5de5\u5177\u7cfb\u7edfREADME \u63d0\u5230\u53ef\u505a web/schedule \u7b49\uff0c\u4f46\u672a\u7ed9\u5b8c\u6574\u5de5\u5177\u6e05\u5355\u660e\u786e\u5de5\u5177\u6ce8\u518c\u8868\uff0c\u542b bash/\u6587\u4ef6/web/\u8c03\u5ea6/\u8bb0\u5fc6/sub-agent/todo/skills \u7b49
\u4efb\u52a1\u6267\u884c\u6a21\u578b\u901a\u8fc7\u5bb9\u5668\u5185 agent \u6267\u884c\u663e\u5f0f agentic tool loop \uff08 tool_use/tool_result \u5faa\u73af\uff09
\u5b89\u5168\u6a21\u578b\u4e3b\u8f74OS \u7ea7\u9694\u79bb\u4f18\u5148\uff1a\u5bb9\u5668\u6c99\u7bb1\uff08 Apple Container/Docker \uff09\u4ee5\u5e94\u7528\u5185\u5de5\u5177\u6388\u6743\u4e0e\u8fb9\u754c\u63a7\u5236\u4e3a\u4e3b\uff08\u5982 chat \u7ea7\u6743\u9650\uff09
\u5bbf\u4e3b\u673a\u98ce\u9669\u9762\u9ed8\u8ba4\u5f3a\u8c03\u201c\u5728\u5bb9\u5668\u91cc\u8dd1\u201d\u964d\u4f4e\u5bbf\u4e3b\u98ce\u9669\u5de5\u5177\u53ef\u89e6\u8fbe\u8fd0\u884c\u73af\u5883\uff0c\u9700\u9760\u6743\u9650\u548c\u90e8\u7f72\u7b56\u7565\u6536\u655b\u98ce\u9669
\u6570\u636e\u5b58\u50a8SQLite \uff08 README \u67b6\u6784\u56fe\u660e\u786e\uff09SQLite \uff08 messages/chats/scheduled_tasks/sessions \u7b49\uff09
\u4f1a\u8bdd\u6062\u590dREADME \u672a\u5f3a\u8c03\u201c\u5b8c\u6574 tool state \u6062\u590d\u201d\u673a\u5236\u660e\u786e\u652f\u6301 session resume \uff08\u542b\u5de5\u5177\u5757\u72b6\u6001\u6301\u4e45\u5316\uff09
\u4e0a\u4e0b\u6587\u538b\u7f29\u4f5c\u4e3a skill \u65b9\u5411\u63d0\u5230\uff08/add-clear \uff09\u4e3b\u7ebf\u5df2\u5185\u7f6e context compaction \uff08\u8d85\u957f\u4f1a\u8bdd\u81ea\u52a8\u603b\u7ed3\uff09
\u8bb0\u5fc6\u673a\u5236\u6bcf\u7ec4\u72ec\u7acb CLAUDE.md \uff0c\u5e76\u5f3a\u8c03 group \u9694\u79bb\u5168\u5c40 + \u6bcf chat \u53cc\u5c42 CLAUDE.md
\u8c03\u5ea6\u4efb\u52a1\u652f\u6301 recurring scheduled tasks\u652f\u6301 cron + one-shot \uff0c\u4e14\u6709\u4efb\u52a1\u7ba1\u7406\u5de5\u5177\u96c6
\u5b50\u4ee3\u7406\u80fd\u529bREADME \u672a\u89c1\u660e\u786e\u201csub-agent\u201d\u80fd\u529b\u5185\u7f6e sub_agent \uff08\u53d7\u9650\u5de5\u5177\u96c6\uff0c\u9632\u9012\u5f52\uff09
\u8ba1\u5212\u6267\u884c\uff08 Todo \uff09README \u672a\u89c1\u5185\u7f6e todo \u5de5\u5177\u5185\u7f6e todo_read / todo_write
\u6280\u80fd\u4f53\u7cfb\u5f3a\u8c03\u201cskills over features\u201d\uff0c\u80fd\u529b\u6269\u5c55\u4e3b\u8981\u9760 skill \u6539\u9020\u4ee3\u7801\u652f\u6301 Anthropic Skills \u98ce\u683c\uff0c\u542b\u6fc0\u6d3b\u673a\u5236\u4e0e\u5185\u7f6e\u6280\u80fd
\u914d\u7f6e\u54f2\u5b66\u53cd\u914d\u7f6e\u6587\u4ef6\u503e\u5411\uff0c\u9f13\u52b1\u201c\u76f4\u63a5\u6539\u4ee3\u7801\u201d\u63d0\u4f9b\u914d\u7f6e\u9879\u4f53\u7cfb\uff08 provider/model/\u6743\u9650\u7b49\uff09
\u90e8\u7f72\u5f62\u6001\u4f9d\u8d56 Claude Code + \u5bb9\u5668\u73af\u5883\uff08 Apple Container/Docker \uff09Rust \u5355\u4e8c\u8fdb\u5236\u90e8\u7f72\u53cb\u597d\uff08\u5e76\u53ef\u72ec\u7acb\u8fd0\u884c\uff09
\u590d\u6742\u5ea6\u53d6\u5411\u5c0f\u800c\u4e13\u3001\u4e3a\u4f5c\u8005\u4e2a\u4eba\u9700\u6c42\u4f18\u5316\u529f\u80fd\u8986\u76d6\u66f4\u5e7f\uff0c\u9002\u5408\u201c\u62ff\u6765\u5373\u7528 + \u6e10\u8fdb\u6269\u5c55\u201d
\u9002\u5408\u4eba\u7fa4\u91cd\u89c6\u5bb9\u5668\u9694\u79bb\u3001\u613f\u610f\u6309 skill \u6df1\u5ea6\u5b9a\u5236\u7684\u4e2a\u4eba\u7528\u6237\u60f3\u8981 Telegram \u5185\u76f4\u63a5\u53ef\u7528\u3001\u529f\u80fd\u8f83\u5168\u7684\u5f00\u7bb1\u65b9\u6848\u7528\u6237
LicenseMITMIT

\u4e00\u53e5\u8bdd\u603b\u7ed3\uff08\u53ef\u653e\u5e16\u91cc\uff09

\n\n

\u53c2\u8003\u6765\u6e90

\n\n", "date_published": "2026-02-08T07:19:20+00:00", "title": "\u5f00\u6e90\u8fd9\u4e24\u5929 Vibe \u7684 Rust \u91cd\u5199\u7684 OpenClaw", "id": "t/1191509" }, { "author": { "url": "member/osdodo", "name": "osdodo", "avatar": "https://cdn.v2ex.com/avatar/131f/1c5f/301897_large.png?m=1768829197" }, "url": "t/1186604", "title": "\u7528 rust \u5199\u4e86\u4e00\u4e2a\u975e\u5e38\u7b80\u5355\u7684\u5c40\u57df\u7f51\u6587\u672c\u540c\u6b65\u7684\u5c0f\u73a9\u610f", "id": "t/1186604", "date_published": "2026-01-18T10:59:38+00:00", "content_html": "

\u4f7f\u7528\u573a\u666f\u662f\u4e00\u4e9b\u9690\u79c1\u6570\u636e\u4e0d\u60f3\u901a\u8fc7\u5fae\u4fe1\u7b49\u8f6f\u4ef6\u7ecf\u8fc7\u4e2d\u5fc3\u670d\u52a1\u5668\u53d1\u9001\n\u7528 homebrew \u5728\u7535\u8111\u7aef\u5b89\u88c5\u4e00\u4e2a 1MB \u7684\u7a0b\u5e8f\uff0c\u6267\u884c lansync, \u542f\u52a8\u4e00\u4e2a\u670d\u52a1\uff0c\u624b\u673a\u626b\u63cf\u4e8c\u7ef4\u7801\u8fdb\u5165\u7f51\u9875\u4f7f\u7528\n\u6e90\u7801\uff1a https://github.com/osdodo/lansync

\n" }, { "author": { "url": "member/lete", "name": "lete", "avatar": "https://cdn.v2ex.com/avatar/52a5/eb9a/590374_large.png?m=1764558519" }, "url": "t/1185915", "date_modified": "2026-01-15T07:25:23+00:00", "content_html": "

\u5982\u9898\uff0c\u76ee\u524d\u5b9e\u73b0\u4e86 windows \u3001macos

\n

\u4e3b\u8981\u529f\u80fd

\n
    \n
  1. \u62e6\u622a\u8f93\u5165
  2. \n
  3. \u76d1\u542c\u8f93\u5165
  4. \n
  5. \u6a21\u62df\u8f93\u5165
  6. \n
  7. \u663e\u793a\u5668\u4fe1\u606f
  8. \n
\n

\u6211\u5bf9 linux \u4e0d\u662f\u5f88\u4e86\u89e3(\u542b\u684c\u9762\u7aef)\uff0c\u53ef\u89c6\u5316\u56fe\u5f62\u754c\u9762\u6846\u67b6\u4e0d\u7edf\u4e00 x11 \uff0cWayland ...\u8fd8\u6709\u5176\u4ed6\uff1f

\n

\u770b\u4e86\u4e00\u4e9b\u8d44\u6599\uff0c\u8bf4 x11 \u867d\u7136\u5f00\u653e\uff0c\u4f46\u9010\u6b65\u6dd8\u6c70\u4e14\u4e0d\u5b89\u5168\uff0cwayland \u5b89\u5168\u4e14\u5c01\u95ed\u662f\u65b0\u6807\u51c6\uff0c\u770b\u4e86\u4e00\u4e0b\u57fa\u672c\u4e0a\u90fd\u9700\u8981 root \u7528\u6237\u6216 input \u6743\u9650\u7528\u6237\u624d\u6709\u53ef\u80fd\u5b9e\u73b0\u8fd9\u4e9b\u529f\u80fd

\n

\u53d1\u5e16\u60f3\u95ee\u95ee\u5927\u4f6c\u4eec\u6709\u6ca1\u6709\u4ec0\u4e48\u601d\u8def\uff0c\u8fd8\u662f\u8bf4\u53ea\u6709\u8fd9\u6761\u8def\u7ebf\u53ef\u884c\uff1f

\n

\u76ee\u524d\u6253\u7b97\u5148\u6401\u7f6e linux \u5e73\u53f0\u529f\u80fd\uff0c\u540e\u7eed\u5982\u679c\u6709\u597d\u7684\u65b9\u6848\u518d\u5199(\u56e0\u4e3a\u8fd8\u6ca1\u6709\u51c6\u5907\u597d\u8be5\u8fd9\u4e48\u505a\u66f4\u597d)\u3002\u5982\u679c\u6709\u5927\u4f6c\u611f\u5174\u8da3\u7684\u8bdd\u53ef\u4ee5\u4e00\u8d77\u5199\u54c8\u54c8\u54c8

\n

GitHub: https://github.com/lete114/raw-input

\n", "date_published": "2026-01-15T07:15:27+00:00", "title": "[\u5bfb\u6c42\u5e2e\u52a9 Linux ] \u7528 rust \u5199\u4e86\u4e00\u4e2a\u8de8\u5e73\u53f0\u8f93\u5165\u76d1\u542c\u5e93\uff08\u9f20\u6807\u952e\u76d8\uff09", "id": "t/1185915" }, { "author": { "url": "member/dianqk", "name": "dianqk", "avatar": "https://cdn.v2ex.com/avatar/d2f3/a3e2/146717_large.png?m=1682250789" }, "url": "t/1180770", "title": "Contributions to Rust and LLVM in 2025", "id": "t/1180770", "date_published": "2025-12-23T14:49:56+00:00", "content_html": "

\u6587\u672b\u5e7f\u544a :)

\n

2025

\n\n

2024

\n\n

I have much less spare time this year because I have a baby :p. And I'm looking for a sustainable way to contribute.

\n

I joined the Rust compiler team (in 2024! :3).

\n

LLVM: A performance regression in LLVM that affected Ajla and Python

\n

This regression has been discussed elsewhere; see lobste.rs/s/9paxz2/performance_python_3_14_tail_call.

\n

I introduced the regression due to a limit for compile time in llvm#78582.\nFinally, I learned a resolve from GCC, and then I fixed the regression in llvm#114990 and llvm#132536.

\n

Rust: Transforming \u201cClone\u201d to \u201cCopy\u201d

\n

To me, the most interesting issue is rust#128081.

\n

The \"Clone\" method can be transformed to \"Copy\" in GVN. I have several PRs for this and am working on more.

\n

The first key PR (rust#128299) exposed variant miscompilations. Camille Gillot identified the root cause in rust#147844:

\n
\n

We can reason with the value behind a reference because it is UB to directly assign to the underlying local while the reference is live. We allow creating new derefs, this means extending the liveness of references, so we are creating UB.

\n
\n

Rust: Debuginfo in MIR Basic Blocks

\n

rust#129931 turns out that handling Debuginfo in MIR Basic Blocks is required. I implemented this in rust#142771.

\n

This left some stuff:

\n\n

Rust: 4 P-critical

\n

I caused 4 P-critical issues. :(

\n\n

The rust#124150 and rust#132353 are miscompilations in MIR opt. I'm investigating some translation validation tools, such as Miri, Alive2, and model checker, but I haven't made any progress. So far, I have only read Program Z3, and I have forgotten many things. Furthermore, I'm thinking about picking it up next year. :p

\n

Other

\n

While reviewing PRs can be exhausting, it's also a great learning opportunity. For instance, working through PRs like rust#142707, rust#143784, rust#136840, and rust#133832 taught me a great deal.

\n

I realize that the knowledge of the LLVM backend is essential to me, since more and more issues happened in the LLVM backend. I'm not sure how to tackle these issues, but I have begun studying LLVM Code Generation: A deep dive into compiler backend development.

\n

MIR optimizations are still important to me. I'd like to thank Camille Gillot for their help on MIR.

\n

I'm trying to immerse myself in English, and I have stopped using LLM for Chinese-to-English translation anymore. :p

\n

I'm also learning Japanese for fun. If you are interested in anime and manga, I recommend you read learnjapanese.moe.

\n
\n

\u5bb6\u91cc\u6ca1\u5730\u65b9\u4e86 :(\uff0c\u5356\u6389\u6211\u7684 7950X \u4e3b\u673a\uff1a

\n\n

\u4ef7\u683c 11000 \u3002

\n" }, { "author": { "url": "member/mizuki9", "name": "mizuki9", "avatar": "https://cdn.v2ex.com/gravatar/11fd91d92dbe1e10d778ed126d79459b?s=73&d=retro" }, "url": "t/1179986", "title": "Linux \u5185\u6838\u4e2d\u7684 rust", "id": "t/1179986", "date_published": "2025-12-19T06:02:59+00:00", "content_html": "

DRM \uff08\u56fe\u5f62\uff09\u5b50\u7cfb\u7edf\u5f88\u65e9\u5c31\u91c7\u7528\u4e86 Rust \u8bed\u8a00\u3002\u4e0d\u8fc7\uff0c\u5f53 DRM \u7ef4\u62a4\u8005 Airlie \u8868\u793a\u8be5\u5b50\u7cfb\u7edf\u201c\u5927\u7ea6\u4e00\u5e74\u540e\u201d\u5c31\u4f1a\u7981\u6b62\u4f7f\u7528 C \u8bed\u8a00\u7f16\u5199\u7684\u65b0\u9a71\u52a8\u7a0b\u5e8f\uff0c\u5e76\u8981\u6c42\u4f7f\u7528 Rust \u65f6\uff0c\u8fd9\u6216\u8bb8\u8fd8\u662f\u4ee4\u4eba\u60ca\u8bb6\u7684\u3002\u6765\u6e90

\n" }, { "author": { "url": "member/Aliceeeeee", "name": "Aliceeeeee", "avatar": "https://cdn.v2ex.com/gravatar/e0fe76ce029deafa8ea7d0d33d6b1a1f?s=73&d=retro" }, "url": "t/1173556", "title": "2025 \u5e74\u5ea6 Rust \u8bed\u8a00\u793e\u533a\u8c03\u67e5 \u5df2\u7ecf\u53d1\u5e03", "id": "t/1173556", "date_published": "2025-11-18T09:03:35+00:00", "content_html": "

Launching the 2025 State of Rust Survey

\n" }, { "author": { "url": "member/Geon97", "name": "Geon97", "avatar": "https://cdn.v2ex.com/avatar/2527/c5bc/583897_large.png?m=1770868369" }, "url": "t/1172836", "title": "rust \u8ba9\u6211\u6293\u72c2\u3001\u64e6\u6c57", "id": "t/1172836", "date_published": "2025-11-14T08:04:20+00:00", "content_html": "

\u4eca\u5929\u5fc3\u8840\u6765\u6f6e\u60f3\u7528 rust \u91cd\u5199\u4e2a\u9879\u76ee\n\u6839\u636e ai \u548c\u7f51\u4e0a\u7684\u8d44\u6599\uff0c\u5bfc\u5305\u5f88\u591a\u51fd\u6570\u540d\u79f0\u90fd\u6539\u540d\u6216\u8005\u5f03\u7528\u4e86\uff0c\u8fd8\u8981\u53bb\u7ffb docs.rs \u3002\n\u5927\u5bb6\u5e73\u65f6\u90fd\u662f\u53bb\u7ffb https://docs.rs \u7684\u6587\u6863\u5417\uff1f\n\u8fd8\u662f\u4f7f\u7528\u65e7\u7248\u672c\u7684 rust \u548c \u65e7\u7248\u672c\u7684\u4f9d\u8d56\uff1f

\n" }, { "author": { "url": "member/fawdlstty", "name": "fawdlstty", "avatar": "https://cdn.v2ex.com/avatar/7e9d/f035/152647_large.png?m=1659330688" }, "url": "t/1171582", "title": "\u63a8\u8350\u4e00\u6b3e\u6211\u5199\u7684\u52a8\u6001\u914d\u7f6e\u8bed\u8a00\uff1a Faml", "id": "t/1171582", "date_published": "2025-11-09T16:02:09+00:00", "content_html": "

GitHub \u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/fawdlstty/faml

\n

\u4ec0\u4e48\u662f FAML \uff1f

\n

FAML \u662f\u4e00\u79cd\u6269\u5c55\u81ea TOML \u7684\u52a8\u6001\u914d\u7f6e\u8bed\u8a00\uff0c\u4e13\u4e3a\u9700\u8981\u8fd0\u884c\u65f6\u914d\u7f6e\u8ba1\u7b97\u548c\u66f4\u65b0\u7684\u573a\u666f\u8bbe\u8ba1\u3002\u5b83\u4fdd\u7559\u4e86 TOML \u7684\u7b80\u6d01\u8bed\u6cd5\uff0c\u540c\u65f6\u589e\u52a0\u4e86\u52a8\u6001\u8868\u8fbe\u5f0f\u3001\u6761\u4ef6\u914d\u7f6e\u548c\u8fd0\u884c\u65f6\u53ef\u53d8\u6027\u7b49\u9ad8\u7ea7\u7279\u6027\u3002

\n

\u6838\u5fc3\u7279\u6027\u5bf9\u6bd4

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u7279\u6027TOMLKCLPKLFAML
\u8bed\u6cd5\u98ce\u683cTOML \u98ce\u683cJSON \u98ce\u683c\u7ed3\u6784\u4f53\u98ce\u683cTOML \u98ce\u683c
\u52a8\u6001\u8868\u8fbe\u5f0f\u274c\u2705\u2705\u2705
\u6761\u4ef6\u914d\u7f6e\u274c\u2705\u2705\u2705
\u8fd0\u884c\u65f6\u4fee\u6539\u274c\u274c\u274c\u2705
\u7279\u6b8a\u6570\u636e\u7c7b\u578b\u274c\u2705\u2705\u2705

\u5feb\u901f\u793a\u4f8b

\n

\u57fa\u672c\u8bed\u6cd5

\n
[server]\nport = 8080\nhost = \"localhost\"\n
\n

\u52a8\u6001\u8868\u8fbe\u5f0f

\n
[database]\nhost = \"localhost\"\nport = 5432\nconnection_string = $\"postgresql://{host}:{port}/mydb\"\n
\n

\u6761\u4ef6\u914d\u7f6e

\n
[app]\nenv = \"production\"\n\n@if env == \"development\"\nlog_level = \"debug\"\n\n@if env == \"production\"\nlog_level = \"error\"\n
\n

\u7279\u6b8a\u6570\u636e\u7c7b\u578b

\n
[cache]\nttl = 5 minutes\nmax_size = 100 MB\n\n[network]\ntimeout = 30 seconds\nbuffer_size = 4 KB\n
\n

\u590d\u6742\u8868\u8fbe\u5f0f

\n
[user]\nage = 25\nis_adult = age >= 18\nwelcome_message = is_adult ? $\"Welcome, adult user!\" : $\"Welcome, young user!\"\n
\n

\u8fd0\u884c\u65f6\u52a8\u6001\u4fee\u6539

\n
let mut cOnfig= FamlExpr::from_str(config_str)?;\nconfig[\"server\"][\"port\"].set_int(9000); // \u52a8\u6001\u4fee\u6539\u7aef\u53e3\nlet connection_string = config[\"database\"][\"connection_string\"].evaluate()?.as_str(); // \u81ea\u52a8\u66f4\u65b0\u8fde\u63a5\u5b57\u7b26\u4e32\n
\n" }, { "author": { "url": "member/BigChengzi", "name": "BigChengzi", "avatar": "https://cdn.v2ex.com/avatar/e5d6/e137/673427_large.png?m=1731081563" }, "url": "t/1170459", "date_modified": "2025-11-09T12:37:39+00:00", "content_html": "\u60f3\u95ee\u95ee\u7ad9\u91cc\u7684\u5404\u4f4d\u5927\u4f6c\u4eec\uff0c\u600e\u4e48\u770b\u5f85 Rust \u8fd9\u95e8\u8bed\u8a00\u3002\u6709\u6ca1\u6709\u524d\u666f\uff1f
\u5b66\u4e60\u8fc7\u7a0b\u4e2d\uff0c\u5927\u4f6c\u4eec\u6709\u5565\u7ecf\u9a8c\u7ed9\u8bb2\u8bb2\u5417\uff1f", "date_published": "2025-11-04T08:27:49+00:00", "title": "\u5982\u4f55\u770b\u5f85 Rust\uff1f", "id": "t/1170459" }, { "author": { "url": "member/IIInsomnia", "name": "IIInsomnia", "avatar": "https://cdn.v2ex.com/avatar/84b0/5e0d/251173_large.png?m=1756777271" }, "url": "t/1169722", "title": "Rust Web \u5f00\u53d1\u811a\u624b\u67b6 v0.6 \u53d1\u5e03\u5566\uff01", "id": "t/1169722", "date_published": "2025-10-31T07:19:50+00:00", "content_html": "

https://crates.io/crates/rnx

\n

\u65b0\u7248\u672c\u5b8c\u5168\u91cd\u6784\uff0c\u91c7\u7528\u66f4\u7b26\u5408\u6807\u51c6\u7684 workspace \u6a21\u5f0f\u5b9e\u73b0\u591a\u5e94\u7528

\n" }, { "author": { "url": "member/wsseo", "name": "wsseo", "avatar": "https://cdn.v2ex.com/gravatar/76d2c2c844d4bfb2b4fbec4d2151b02f?s=73&d=retro" }, "url": "t/1165068", "title": "rathole \u8fd9\u4e2a\u9879\u76ee\u662f\u4e0d\u7ef4\u62a4\u4e86\u5417\uff1f", "id": "t/1165068", "date_published": "2025-10-14T02:50:06+00:00", "content_html": "

\u541e\u5410\u91cf\u662f frp \u7684\u597d\u51e0\u500d\u3002\nRUST \u5199\u7684\u5185\u5b58\u5360\u7528\u66f4\u5c11\u3002

\n

\u4e24\u5e74\u6ca1\u6709 release,\u662f\u4ec0\u4e48\u539f\u56e0\uff1f\u6709\u6ca1\u6709\u7c7b\u4f3c\u7684\u9879\u76ee

\n" }, { "author": { "url": "member/plko345", "name": "plko345", "avatar": "https://cdn.v2ex.com/avatar/f2bf/3436/299827_large.png?m=1648995735" }, "url": "t/1160295", "title": "\u4e4b\u524d\u90a3\u4e2a rust \u8d21\u732e\u5927\u4f6c\u627e\u5230\u5de5\u4f5c\u4e86\uff0c\u627e\u4ed6\u7684\u56e2\u961f\u8fd8\u4e0d\u5c11", "id": "t/1160295", "date_published": "2025-09-18T10:31:07+00:00", "content_html": "

\u4e0d\u662f\u8fd9\u4e2a\u9886\u57df\u7684\u771f\u4e0d\u77e5\u9053\u6709\u8fd9\u4e48\u591a\u516c\u53f8\u5728\u7528\u3002\u540e\u9762\u4ed6\u9009\u4e86 gpu \u7f16\u7a0b\u7684\u516c\u53f8\u3002

\n

\u539f\u6587 https://nnethercote.github.io/2025/09/16/my-new-job.html

\n

\u5fae\u4fe1\u6587\u7ae0 https://mp.weixin.qq.com/s/7EJCnBFamb910vArSvI40A

\n" }, { "author": { "url": "member/cKnight", "name": "cKnight", "avatar": "https://cdn.v2ex.com/avatar/0072/1cc0/610129_large.png?m=1749535120" }, "url": "t/1160285", "date_modified": "2025-09-18T09:56:03+00:00", "content_html": "

1. \u80cc\u666f

\n

LZ \u662f\u4e00\u540d\u5728\u804c\u7684 Java boy \uff0c\u82b1\u4e86\u4e0a\u5468\u4e00\u5468\u7684\u65f6\u95f4\u5165\u95e8\u4e86 Rust \u3002\u5468\u672b\u4f7f\u7528 axum \u5199\u4e86\u4e2a web \u9879\u76ee\uff0c\u6a21\u62df\u4e86 SpringMVC \u7684\u67b6\u6784\u3002

\n

2. \u5bf9\u6bd4

\n

\u5747\u5728\u6211 mac \u7b14\u8bb0\u672c\u4e2d\u8fdb\u884c\u6d4b\u8bd5

\n

2.1 \u5360\u7528\u8d44\u6e90

\n

\u8fd9\u91cc\u53ef\u80fd\u4e0d\u592a\u516c\u5e73\u3002\n
\nJava \u9879\u76ee\u7528\u4e86\u6211\u4e4b\u524d\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u867d\u7136\u662f\u4e2a\u5b8c\u6574\u7684\u9879\u76ee\u4f46\u662f\u4e5f\u4e0d\u662f\u5f88\u5927\u3002\u6ca1\u6709\u6253\u5305\u6210 jar \uff0c\u4f7f\u7528 idea \u542f\u52a8\uff0c\u901a\u8fc7\u6d3b\u52a8\u68c0\u6d4b\u5668\u6839\u636e pid \u67e5\u627e\u53d1\u73b0\u5360\u7528\u5185\u5b58494.2MB\uff0cJVM \u914d\u7f6e\uff1a-Xms256m -Xmx4g \u3002\n
\nRust \u542f\u52a8\u540e\u53d1\u73b0\u5185\u5b58\u5360\u7528\u4e3a 2.0MB!!! \u6211\u4eba\u90fd\u50bb\u4e86\uff0c\u867d\u7136\u8bf4\u662f\u4e2a\u5f88\u7b80\u5355\u7684\u9879\u76ee\uff0c\u4f46\u662f\u9879\u76ee\u4e2d\u5fc5\u8981\u7684\u529f\u80fd\u90fd\u6709\u3002

\n

2.2 \u538b\u6d4b

\n

\u4e3a\u4e86\u8fdb\u4e00\u6b65\u7684\u770b\u5230\u5dee\u8ddd\uff0c\u6211\u5f00\u59cb\u4e86\u538b\u6d4b\uff0c\u4ee3\u7801\u5982\u4e0b\u3002\u4e3a\u4e86\u51cf\u5c11\u53d8\u91cf\uff0c\u6ca1\u6709\u52a0\u5165 IO \u64cd\u4f5c\uff0c\u4f46\u4e5f\u662f\u6b63\u5e38\u7684\u4e1a\u52a1\u529f\u80fd\u3002\n
\nJAVA

\n
 @Override\n public AiUserVO loginTest(AiUserReq userReq) {\n CommonUtils.checkArgs(userReq.getAccountNo(),userReq.getPassword());\n AiUser user = AiUser.builder().accountNo(\"admin\").password(\"admin\").name(\"admin\").build();\n user.setId(1941040891798581249L);\n //\u6821\u9a8c\u767b\u5f55\n// checkLogin(user,userReq);\n AiUserVO result = ConvertUtils.beanProcess(user, AiUserVO.class);\n //\u5904\u7406\u7528\u6237\u89d2\u8272\n// processUserRole(user,result);\n //\u751f\u6210 token\n String token = genToken(user);\n result.setToken(token);\n //\u653e\u5165 redis\n String key = CacheKeyEnum.format(CacheKeyEnum.ADMIN_LOGIN_KEY,user.getId(),token);\n SysCacheUserDto sysCacheUserDto = ConvertUtils.beanProcess(result, SysCacheUserDto.class);\n //\u5220\u9664\u539f\u59cb token\n// removeToken(user.getId());\n// redisCacheComponent.set(key,JSONObject.toJSONString(sysCacheUserDto),TimeConstant.ONE_DAY * 12);\n return result;\n }\n
\n

RUST

\n
pub async fn login(user:UserReq)->Res<UserVO> {\n // \u67e5\u8be2\u903b\u8f91\n let user_do = match query_user(&user.account_no, &user.password).await {\n Some(user_do) => user_do,\n NOne=> return Res::build(FAIL),\n };\n let mut user_vo:UserVO = user_do.into();\n //\u52a0\u5bc6\n let token = match security_utils::aes_encrypt(&user_vo.id.to_string()) {\n Ok(token) => token,\n Err(_) => return Res::build(FAIL),\n };\n user_vo.token = token;\n let key = SYSTEM_USER.key().format(&[&user_vo.id.to_string()]);\n //\u5220\u9664\u7f13\u5b58\n GlobalCache::del(&key);\n //\u653e\u5165\u7f13\u5b58\n GlobalCache::set(key,serde_json::to_string(&user_vo).unwrap());\n Res::success(user_vo)\n}\n\n/**\n * \u67e5\u8be2\u7528\u6237\n */\nasync fn query_user(account_no:&str,pwd:&str)->Option<UserDO> {\n let user = UserDO{\n id:1912753992656158721,\n name:\"admin\".to_string(),\n account_no:\"admin\".to_string(),\n status:true,\n };\n Some(user)\n}\n
\n

\u538b\u6d4b\u914d\u7f6e\u5982\u4e0b

\n
Name: \u7ebf\u7a0b\u7ec4-30\nNumber of Threads: 200\nRamp-Up Period: 30 \nLoop Count: 1\nScheduler:\n Duration: 90\n\nName: \u7ebf\u7a0b\u7ec4-90\nNumber of Threads: 200\nRamp-Up Period: 30 \nLoop Count: 1\nScheduler:\n Startup Delay: 90\n Duration: 90\n
\n

\u538b\u6d4b\u6d41\u7a0b\u5982\u4e0b

\n
\u9636\u6bb5\u4e00\uff1a0~30 \u79d2\u542f\u52a8 200 \u7ebf\u7a0b \u2192 \u6301\u7eed\u5230\u7b2c 90 \u79d2\n\u9636\u6bb5\u4e8c\uff1a\u4ece\u7b2c 90 \u79d2\u5f00\u59cb\uff0c30 \u79d2\u5185\u542f\u52a8 300 \u7ebf\u7a0b \u2192 \u6301\u7eed\u5230\u7b2c 180 \u79d2\n
\n

\u538b\u6d4b\u7ed3\u679c\u5bf9\u6bd4\u5982\u4e0b

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\u6307\u6807RUSTJAVA\u5dee\u5f02
\u5e73\u5747\u54cd\u5e94\u65f6\u95f43~4 ms6~8 ms\u2191 \u4e0a\u5347 50%~100%
\u6700\u5927\u54cd\u5e94\u65f6\u95f417 ms26 ms\u2191 \u4e0a\u5347 53%
99% \u767e\u5206\u4f4d11~15 ms15~20 ms\u2191 \u4e0a\u5347 30%~45%
\u541e\u5410\u91cf6.7 \u2192 10.0 req/sec6.7 \u2192 10.0 req/sec\u2705 \u76f8\u540c
\u5f02\u5e38\u73870%0%\u2705 \u76f8\u540c
\u6570\u636e\u5305\u5927\u5c0f294 B489 B\u2191 \u589e\u52a0 66%

\n", "date_published": "2025-09-18T09:48:31+00:00", "title": "\u592a\u5feb\u4e86\uff01 Rust \u592a\u5feb\u4e86\uff01", "id": "t/1160285" }, { "author": { "url": "member/lairdnote", "name": "lairdnote", "avatar": "https://cdn.v2ex.com/avatar/68ab/77f4/54890_large.png?m=1758066430" }, "url": "t/1159789", "title": "\u4ecb\u7ecd\u4e00\u4e2a like rails \u7684 rust \u6846\u67b6\u3002 \u6027\u80fd\u548c\u5f00\u53d1\u901f\u5ea6\u90fd\u5feb\u3002", "id": "t/1159789", "date_published": "2025-09-16T23:48:53+00:00", "content_html": "

\u6700\u8fd1\u627e rust \u7684\u540e\u7aef\u5bf9\u6bd4\u4e86 actix \u548c auxm \u8fd9\u4e9b\u6846\u67b6\u90fd\u5f88\u4f18\u79c0\u3002

\n\n

loco-docs

\n" }, { "author": { "url": "member/tinybaby365", "name": "tinybaby365", "avatar": "https://cdn.v2ex.com/avatar/f2ff/9725/82732_large.png?m=1483883089" }, "url": "t/1155862", "title": "\u9664\u4e86\u5199\u5c0f\u5de5\u5177\u5916\u518d\u4e5f\u4e0d\u60f3\u7528 Rust \u4e86", "id": "t/1155862", "date_published": "2025-08-29T11:10:31+00:00", "content_html": "

\u65b0\u7248\u672c\u5b8c\u5168\u4e0d\u8003\u8651\u8001\u7cfb\u7edf\u7684\u517c\u5bb9\u3002\u5728 Windows \u4e0a\u8fd8\u80fd\u9760 YY-Thunks \u82df\u5ef6\u6b8b\u5598\u3002\u5728 Linux \u4e0b cargo zigbuild \u80fd\u641e\u5b9a\u4f9d\u8d56\u7684 glibc \u7248\u672c\uff0c\u4f46\u641e\u4e0d\u5b9a aarch64 \u73af\u5883 glibc \u7f3a API \u3002

\n" }, { "author": { "url": "member/coderpwh", "name": "coderpwh", "avatar": "https://cdn.v2ex.com/avatar/9527/a2d1/585855_large.png?m=1770607152" }, "url": "t/1155476", "title": "rust \u6211\u60f3\u4f60\u4e86", "id": "t/1155476", "date_published": "2025-08-28T03:30:51+00:00", "content_html": "

\u5fcd\u4e0d\u4f4f\u60f3\u8d77\u5b83

\n

\u60f3\u8d77\u5b83\u9aa8\u5b50\u91cc\u7684\u575a\u5b9a\uff0c\u514b\u5236\uff0c\u5374\u53c8\u950b\u5229

\n

\u6211\u656c\u754f\uff0c\u4f46\u4e5f\u5b89\u5fc3

\n

\u5b83\u6709\u6e05\u6670\u7684\u8fb9\u754c\u611f\uff0c\u6bcf\u4e00\u4e2a\u6307\u9488\u90fd\u6709\u5f52\u5c5e\uff0c\u6bcf\u4e00\u6b21\u501f\u7528\u90fd\u9075\u5faa\u79e9\u5e8f

\n

\u5b83\u4e0d\u7ed9\u6211\u4fa5\u5e78\uff0c\u5374\u7ed9\u6211\u524d\u6240\u672a\u6709\u7684\u5b89\u5168

\n

\u5b83\u7684\u4e16\u754c\u91cc\u6ca1\u6709\u91ce\u86ee\u7684\u968f\u610f\uff0c\u6ca1\u6709\u672a\u5b9a\u4e49\u7684\u7a7a\u6d1e\uff0c\u53ea\u6709\u89c4\u5219\u4e0b\u7684\u6781\u81f4\u81ea\u7531

\n

\u5b83\u80fd\u5728\u4e0d\u5931\u63a7\u7684\u524d\u63d0\u4e0b\u5954\u8dd1\u5230\u6781\u9650\uff0c\u5e76\u53d1\u5982\u98ce\uff0c\u5374\u7a33\u82e5\u78d0\u77f3

\n

Rust \uff0c\u6211\u60f3\u4f60\u4e86

\n" }, { "author": { "url": "member/cmos", "name": "cmos", "avatar": "https://cdn.v2ex.com/avatar/dd9d/8f79/520237_large.png?m=1758633378" }, "url": "t/1154460", "date_modified": "2025-08-23T20:40:38+00:00", "content_html": "

\u6211\u600e\u4e48\u89c9\u5f97 rust \u6bd4 nodejs \u8fd8\u5360\u7528\u786c\u76d8\u7a7a\u95f4\uff0c\u4e00\u4e2a\u7b80\u5355\u7684\u7f51\u53e3 IP \u4e0a\u62a5\u7a0b\u5e8f\uff0c\u6700\u540e\u7f16\u8bd1\u7684\u7a0b\u5e8f\u5927\u5c0f 7.5M \uff0c\u800c target \u5171 928M \u3002\u989d\u5916\u7f16\u8bd1\u4e86 musl \u4e4b\u540e\uff0c\u53d8\u6210\u4e86 1.2G \u3002\u8fd9\u8981\u662f\u591a\u51e0\u4e2a\u9879\u76ee\uff0c\u591a\u51e0\u4e2a\u5e73\u53f0\uff0c1T \u786c\u76d8\u8d77\u6b65\u3002

\n", "date_published": "2025-08-23T10:25:43+00:00", "title": "rust \u7a0b\u5e8f\u5458\u7684\u786c\u76d8\u662f\u591a\u5927\u7684\uff1f nodejs \u7ee7\u4efb\u8005\uff1f", "id": "t/1154460" }, { "author": { "url": "member/LastWise", "name": "LastWise", "avatar": "https://cdn.v2ex.com/avatar/e26f/c2b0/101756_large.png?m=1754272277" }, "url": "t/1153586", "title": "rust \u7ec3\u624b\u5199\u7684\uff0c\u4eff uv \u5305\u7ba1\u7406\u5668 av", "id": "t/1153586", "date_published": "2025-08-20T01:00:06+00:00", "content_html": "

\u559c\u6b22\u7684\u53ef\u4ee5 star \u4e00\u4e0b\u54c8\uff0c\u66f4\u5feb\u66f4\u5f3a

\n

https://github.com/auv-sh/avav

\n

av top\nav list\navavavaavavavavavavavavavavavavavavavaavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavavavaavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavavavaavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavavvavavavavavavavav

\n" }, { "author": { "url": "member/mightybruce", "name": "mightybruce", "avatar": "https://cdn.v2ex.com/avatar/0eed/e14d/567660_large.png?m=1711593178" }, "url": "t/1146992", "date_modified": "2025-07-23T00:50:14+00:00", "content_html": "\u201cRust \u662f\u4e00\u95e8\u5f88\u68d2\u7684\u8bed\u8a00\uff0c\u6211\u771f\u7684\u5f88\u559c\u6b22\u7528\u5b83\u3002\u7136\u800c\uff0c\u5f53\u6d89\u53ca\u5230\u6570\u636e\u5e93\u7cfb\u7edf\u65f6\uff0c\u6211\u4ecd\u7136\u4f1a\u9009\u62e9 C++ \u800c\u4e0d\u662f Rust \u3002\u201d

Moritz \u9996\u5148\u627f\u8ba4\u4e86 Rust \u7684\u4f18\u70b9\uff1a\u7406\u8bba\u4e0a\uff0cRust \u901a\u8fc7\u5176\u6240\u6709\u6743\u7cfb\u7edf\u548c\u501f\u7528\u68c0\u67e5\u5668\uff0c\u63d0\u4f9b\u4e86\u8fdc\u8d85 C++ \u7684\u9ed8\u8ba4\u5b89\u5168\u6027\u3002\u8fd9\u6b63\u662f\u5927\u5bb6\u559c\u7231 Rust \u7684\u539f\u56e0\u3002

\u4f46\u95ee\u9898\u5728\u4e8e\uff0c\u50cf CedarDB \u8fd9\u6837\u7684\u9ad8\u6027\u80fd\u6570\u636e\u5e93\uff0c\u5176\u5f00\u53d1\u5de5\u4f5c\u8fdc\u4e0d\u6b62\u662f\u5904\u7406\u4e1a\u52a1\u903b\u8f91\u3002\u5b83\u9700\u8981\u6df1\u5165\u5230\u786c\u4ef6\u7684\u6bdb\u7ec6\u8840\u7ba1\u4e2d\uff0c\u69a8\u5e72\u6bcf\u4e00\u6ef4\u6027\u80fd\u3002\u8fd9\u610f\u5473\u7740\uff1a

\u4f7f\u7528\u5927\u91cf\u5e95\u5c42\u7684 CPU \u7279\u6027\u3002
\u5b9e\u73b0\u590d\u6742\u7684\u4fb5\u5165\u5f0f\u6570\u636e\u7ed3\u6784\u3002
\u8fdb\u884c\u5e26\u6709\u9a8c\u8bc1\u7684\u3001\u4e50\u89c2\u4e14\u6fc0\u8fdb\u7684\u5185\u5b58\u8bbf\u95ee\u3002
\u5728\u8fd9\u4e9b\u573a\u666f\u4e0b\uff0cRust \u7684\u5b89\u5168\u68c0\u67e5\u53cd\u800c\u6210\u4e86\u201c\u675f\u7f1a\u201d\u3002\u4e3a\u4e86\u5b8c\u6210\u4efb\u52a1\uff0c\u4f60\u5fc5\u987b\u4f7f\u7528 Rust \u63d0\u4f9b\u7684\u201c\u9003\u751f\u8231\u53e3\u201d\u2014\u2014unsafe \u5173\u952e\u5b57\u3002

\u800c Moritz \u629b\u51fa\u7684\u91cd\u78c5\u70b8\u5f39\u6b63\u5728\u4e8e\u6b64\uff1a

\u201c\u4e00\u65e6\u4f60\u5728 Rust \u4e2d\u5199\u4e0b unsafe \u4ee3\u7801\uff0c\u6240\u6709\u7684\u8d4c\u6ce8\u90fd\u5c06\u5931\u6548\u3002\u5728 unsafe \u4ee3\u7801\u4e2d\uff0c\u4f60\u9047\u5230\u672a\u5b9a\u4e49\u884c\u4e3a\uff08 UB, Undefined Bahavior \uff09\u7684\u98ce\u9669\uff0c\u751a\u81f3\u6bd4\u5728 C++ \u4e2d\u8fd8\u8981\u9ad8\u3002\u201d
https://x.com/iavins/status/1946598328533430702", "date_published": "2025-07-22T15:35:35+00:00", "title": "Rust \u7684\u5b89\u5168\u795e\u8bdd\uff1f\u4e3a\u4f55\u5728\u5173\u952e\u7cfb\u7edf\u5982\u6570\u636e\u5e93\u3001\u5927\u6a21\u578b\u4ee3\u7801\u4e2d\u4ecd\u9009 C++", "id": "t/1146992" }, { "author": { "url": "member/chunhuitrue", "name": "chunhuitrue", "avatar": "https://cdn.v2ex.com/avatar/0fec/a9ad/520482_large.png?m=1768829377" }, "url": "t/1145816", "title": "rust \u5b9e\u73b0\u7684\u6293\u5305\u5b58\u76d8\u7684\u7a0b\u5e8f nsave", "id": "t/1145816", "date_published": "2025-07-17T05:34:19+00:00", "content_html": "

\u76ee\u524d\u67e5\u8be2\u529f\u80fd\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u547d\u4ee4\u884c\u7a0b\u5e8f\u3002\u53bb\u6587\u4ef6\u76ee\u5f55\u6839\u636e\u7ed3\u6784\u67e5\u627e\u3002\u662f\u4e0d\u662f\u5e94\u8be5\u4eff\u7167 redis mysql \u8fd9\u6837\u7684\uff0c\u53c8\u4e00\u4e2a\u5e26\u4f1a\u8bdd\u7684\u67e5\u8be2\u66f4\u597d\uff1f\u73b0\u5728\u6b63\u5728\u8003\u8651\u3002

\n

\u8be6\u60c5\u89c1\uff1a\nhttps://github.com/chunhuitrue/nsave

\n

Nsave \u662f\u4e00\u4e2a\u6293\u53d6\u5e76\u4fdd\u5b58\u6570\u636e\u5305\u7684\u5de5\u5177\u3002\u5b83\u6301\u7eed\u4e0d\u65ad\u5730\u6293\u53d6\u6570\u636e\u5305\uff0c\u5e76\u4fdd\u5b58\u5230\u672c\u5730\u3002\u53ef\u4ee5\u6839\u636e\u6761\u4ef6\u67e5\u8be2\u94fe\u63a5\u3001\u6570\u636e\u5305\u5e76\u5bfc\u51fa\u6210 pcap \u6587\u4ef6\u3002\u53ef\u4ee5\u901a\u8fc7 pcap \u6216\u8005 af_xdp \u6765\u6355\u83b7\u6570\u636e\u5305\u3002\u4e3b\u8981\u7279\u70b9\u662f\u5b83\u4e0d\u57fa\u4e8e\u5355\u4e2a\u6570\u636e\u5305\uff0c\u800c\u662f\u57fa\u4e8e\u6d41\u6765\u4f5c\u7d22\u5f15\uff0c\u53ef\u4ee5\u5927\u5e45\u51cf\u5c11\u7d22\u5f15\u6240\u5360\u7684\u78c1\u76d8\u7a7a\u95f4\u3002

\n

\u63d0\u9192

\n
    \n
  1. \u76ee\u524d\u662f\u5f00\u53d1\u9636\u6bb5\uff0c\u4e0d\u8981\u5e94\u7528\u5728\u5173\u952e\u7684\u751f\u4ea7\u73af\u5883\u3002
  2. \n
  3. \u9700\u8981\u914d\u7f6e\u5355\u72ec\u7684\u6293\u5305\u7f51\u5361\u3002\u7ba1\u7406\u7f51\u5361\u4e0d\u80fd\u7528\u4e8e\u6293\u5305\uff0c\u5426\u5219\u4f60\u4f1a\u5931\u53bb\u8fde\u63a5\uff0c\u56e0\u4e3a\u52a0\u8f7d\u7684 xdp \u7a0b\u5e8f\u4f1a\u628a\u7f51\u5361\u4e0a\u6240\u6709\u7684\u6570\u636e\u5305\u90fd\u622a\u83b7\uff0c\u4e0d\u518d\u6d41\u5165\u5185\u6838\u3002
  4. \n
\n" }, { "author": { "url": "member/red13", "name": "red13", "avatar": "https://cdn.v2ex.com/gravatar/935c3b660aacf5dfeed7a1f3822eb82b?s=73&d=retro" }, "url": "t/1144592", "date_modified": "2025-07-11T21:36:45+00:00", "content_html": "

\u539f\u6765\u7684\u4e00\u4e2a\u6570\u636e\u5206\u6790\u5f15\u64ce\uff0c\u4f7f\u7528 C \u5f00\u53d1\u7684\uff0cC \u5f00\u53d1\u6548\u7387\u592a\u4f4e\u4e86\uff0cdebug \u7a0b\u5e8f\u66f4\u662f\u8ba9\u4eba\u5934\u5927\uff0c\u6253\u7b97\u4f7f\u7528 Rust \u91cd\u6784\u4e00\u4e0b\uff0c\u5b66\u4e60\u4e86\u4e09\u56db\u5929\uff0c\u611f\u89c9 Rust \u7edd\u4e0d\u662f\u50cf Python \u90a3\u6837\u770b\u4e00\u4e0a\u5348\u5c31\u80fd\u5f00\u59cb\u9879\u76ee\u7136\u540e\u8fb9\u5b66\u8fb9\u505a\u7684\u8bed\u8a00\u3002\n\u6709\u6ca1\u6709\u7528 Rust \u91cd\u6784\u8fc7\u65e7\u9879\u76ee\u7684\u670b\u53cb\uff0c\u6765\u8bf4\u8bf4\u5457

\n", "date_published": "2025-07-11T07:52:38+00:00", "title": "\u6709\u4eba\u4f7f\u7528 Rust \u91cd\u6784\u8fc7\u65e7\u9879\u76ee\u5417\uff1f", "id": "t/1144592" }, { "author": { "url": "member/zhuima320", "name": "zhuima320", "avatar": "https://cdn.v2ex.com/gravatar/10c848b798fb155e4367efcf39639f94?s=73&d=retro" }, "url": "t/1142200", "title": "\u4f7f\u7528 WebAssembly \u6784\u5efa\u7684\u9ad8\u6027\u80fd\u5728\u7ebf\u8ba1\u7b97\u5de5\u5177", "id": "t/1142200", "date_published": "2025-07-01T03:23:52+00:00", "content_html": "

WASM \u8ba1\u7b97\u5668 - \u4f7f\u7528 WebAssembly \u6784\u5efa\u7684\u9ad8\u6027\u80fd\u5728\u7ebf\u8ba1\u7b97\u5de5\u5177

\n

WASM \u8ba1\u7b97\u5668 - \u4f7f\u7528 WebAssembly \u548c Rust \u6280\u672f\u6784\u5efa\u7684\u9ad8\u6027\u80fd\u5728\u7ebf\u8ba1\u7b97\u5668\u5e94\u7528\uff0c\u652f\u6301\u57fa\u7840\u8fd0\u7b97\u3001\u767e\u5206\u6bd4\u8ba1\u7b97\uff0c\u754c\u9762\u7f8e\u89c2\uff0c\u8fd0\u884c\u901f\u5ea6\u5feb\uff0c\u662f\u60a8\u65e5\u5e38\u8ba1\u7b97\u7684\u7406\u60f3\u9009\u62e9\u3002

\n

\u5730\u5740\ud83d\udc49: \u5728\u7ebf\u5730\u5740

\n

\u540e\u7eed\uff1a

\n

\u5b66\u4e60 wasm \u7684\u7ec3\u624b\u9879\u76ee\uff0c\u65b0\u624b\u4e0a\u8def\uff0c\u8f7b\u62cd

\n" }, { "author": { "url": "member/Niunai", "name": "Niunai", "avatar": "https://cdn.v2ex.com/gravatar/d853f4a352110670885707ad0d1f9560?s=73&d=retro" }, "url": "t/1139502", "date_modified": "2025-06-19T15:36:30+00:00", "content_html": "

\u4f8b\u5982\uff1a t/1139495\n\u518d\u4f8b\u5982\uff1ashadowsocks-rust

\n

\u4f7f\u7528\u8f6f\u4ef6\u7684\u4eba\uff0c\u5e94\u8be5\u4e0d\u592a\u5173\u5fc3\u8f6f\u4ef6\u4f7f\u7528\u4ec0\u4e48\u8bed\u8a00\u5f00\u53d1\u7684\u5427\uff1f

\n", "date_published": "2025-06-18T10:16:15+00:00", "title": "\u5f88\u5947\u602a\uff0c\u4e3a\u4ec0\u4e48\u4f7f\u7528 Rust \u5f00\u53d1\u7684\u8f6f\u4ef6\uff0c\u4f5c\u8005\u559c\u6b22\u628a Rust \u4f5c\u4e3a\u5ba3\u4f20\u70b9\u4e4b\u4e00", "id": "t/1139502" }, { "author": { "url": "member/ddddad", "name": "ddddad", "avatar": "https://cdn.v2ex.com/gravatar/dc93c5cba8351f5cdcb09b05dc79e6e8?s=73&d=retro" }, "url": "t/1139129", "title": "tikio \u91cc\u9762\u7684\u4ee3\u7801\u600e\u4e48\u8c03\u8bd5\u5462", "id": "t/1139129", "date_published": "2025-06-17T03:54:24+00:00", "content_html": "

\u76ee\u524d\u7528 rustover gdb \u65ad\u70b9\u8fdb\u4e0d\u53bb\u554a

\n" }, { "author": { "url": "member/BeijingBaby", "name": "BeijingBaby", "avatar": "https://cdn.v2ex.com/avatar/5129/e8be/40195_large.png?m=1763689815" }, "url": "t/1136828", "title": "\u6709\u4eba\u5728\u7528 rust \u5199 web api \u5417\uff1f", "id": "t/1136828", "date_published": "2025-06-06T04:54:48+00:00", "content_html": "\u611f\u89c9\u6548\u7387\u560e\u560e\u4f4e\uff0c\u4e0d\u9002\u5408\u5e72\u6d3b\u554a" }, { "author": { "url": "member/cj323", "name": "cj323", "avatar": "https://cdn.v2ex.com/gravatar/55d8713a4741083ba73747a518298a1f?s=73&d=retro" }, "url": "t/1135711", "title": "rust \u6765\u5f97\u5feb\u53bb\u5f97\u4e5f\u5feb", "id": "t/1135711", "date_published": "2025-06-01T06:11:21+00:00", "content_html": "\u51e0\u5e74\u524d

\u66fe\u4ee5\u4e3a rust \u80fd\u6539\u53d8 linux \uff0c\u53d6\u4ee3 C

\u73b0\u5728 rust for linux \u5199\u4e2a\u63a5\u53e3\u80fd\u88ab\u5e72


\u66fe\u4ee5\u4e3a rust \u80fd\u501f\u7740 wasm \u5347\u5929

\u73b0\u5728 photoshop web \uff0cfigma \u7528 C++


\u66fe\u4ee5\u4e3a rust \u7684 deno \u80fd\u5e72\u6389 nodejs

\u73b0\u5728 deno repl \u770b\u4e2a\u5f69\u8272 log


\u66fe\u4ee5\u4e3a rust \u91cd\u5199\u7684 cli \u662f\u672a\u6765\uff0calias, lsd, dust, dog...

\u73b0\u5728 unalias, ls, du, dig..." }, { "author": { "url": "member/webnewobject1", "name": "webnewobject1", "avatar": "https://cdn.v2ex.com/gravatar/8bf3378542caadbf40c42746e878cefe?s=73&d=retro" }, "url": "t/1135141", "title": "rust \u7684\u6709\u6ca1\u6709\u4ec0\u4e48\u597d\u7684\u8bba\u575b\uff1f", "id": "t/1135141", "date_published": "2025-05-29T05:23:13+00:00", "content_html": "

\u6211\u770b v2 \u7684 rust \u5206\u533a\u90fd\u4e0d\u600e\u4e48\u6d3b\u8dc3\u3002\u5b98\u65b9\u4e2d\u6587\u793e\u533a\u7ed9\u6211\u611f\u89c9\u8fd8\u4e0d\u591f\uff0c\u60f3\u770b\u770b\u5927\u5bb6\u6709\u6ca1\u6709\u4ec0\u4e48\u597d\u7684\u63a8\u8350\u3002

\n" }, { "author": { "url": "member/red13", "name": "red13", "avatar": "https://cdn.v2ex.com/gravatar/935c3b660aacf5dfeed7a1f3822eb82b?s=73&d=retro" }, "url": "t/1135037", "date_modified": "2025-05-29T05:18:38+00:00", "content_html": "", "date_published": "2025-05-29T00:09:35+00:00", "title": "\u8fd9\u91cc\u641e Rust \u7684\u591a\u5417\uff1f", "id": "t/1135037" }, { "author": { "url": "member/chambered", "name": "chambered", "avatar": "https://cdn.v2ex.com/gravatar/ad3dc3ee5daf33d79e0005c2cc7620e4?s=73&d=retro" }, "url": "t/1131954", "date_modified": "2025-05-15T23:45:01+00:00", "content_html": "\u76ee\u524d\u662f\u5728 win11 \u4e0a\u7528\u7684 RustRover \u6765\u5b66\u4e60\u5f00\u6e90\u7684\u9879\u76ee\uff0c\u4f46\u662f\u5728 debug \u7684\u65f6\u5019\u53d1\u73b0
1 \u3001\u6709\u4e9b\u5730\u65b9\u6ca1\u6253\u65ad\u70b9\u4e5f\u83ab\u540d\u5176\u5999\u7684\u6682\u505c\u5728\u90a3
2 \u3001\u679a\u4e3e\u7c7b\u578b\u7684\u53d8\u91cf\u770b\u4e0d\u5230\u5185\u90e8\u5177\u4f53\u7684\u503c", "date_published": "2025-05-15T06:04:25+00:00", "title": "\u76ee\u524d Rust \u6700\u597d\u7684\u5f00\u53d1\u5de5\u5177\u662f\u54ea\u4e2a\uff1f", "id": "t/1131954" }, { "author": { "url": "member/shitcode", "name": "shitcode", "avatar": "https://cdn.v2ex.com/gravatar/79e32b1f48c997c4d91f6a6eee29a1b5?s=73&d=retro" }, "url": "t/1131772", "title": "rust \u7f16\u8bd1\u62a5\u9519\u51fd\u6570\u91cd\u590d\u5b9a\u4e49", "id": "t/1131772", "date_published": "2025-05-14T09:38:50+00:00", "content_html": "

\u540c\u65f6\u4f9d\u8d56\u4e86 v8 \u548c skia-safe \uff0c\u5f53\u628a v8 \u7248\u672c\u4ece 129.0.0 \u5347\u7ea7\u5230 137.1.0 \u65f6\u7f16\u8bd1\u62a5\u9519

\n
667.3 = note: \"cc\" \"-m64\" \"/tmp/rustcXFCL9g/symbols.o\" \"<1 object files omitted>\" \"-Wl,--as-needed\" \"-Wl,-Bstatic\" \"/tmp/rustcXFCL9g/{libv8-dbef52e4bc4b6f8f.rlib,libskia_bindings-279c509e56943a3f.rlib,libzstd_sys-356ea57c902a259b.rlib}.rlib\" \"<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libcompiler_builtins-*}.rlib\" \"-Wl,-Bdynamic\" \"-ldl\" \"-ldl\" \"-lssl\" \"-lcrypto\" \"-ldav1d\" \"-lstdc++\" \"-lfontconfig\" \"-lfreetype\" \"-lEGL\" \"-lGL\" \"-lwayland-egl\" \"-lGLESv2\" \"-lgcc_s\" \"-lutil\" \"-lrt\" \"-lpthread\" \"-lm\" \"-ldl\" \"-lc\" \"-Wl,--eh-frame-hdr\" \"-Wl,-z,noexecstack\" \"-L\" \"/usr/lib\" \"-L\" \"/usr/local/lib/x86_64-linux-gnu\" \"-L\" \"/home/app/target/release/build/skia-bindings-60ededebb9dd8e7e/out/skia\" \"-L\" \"/home/app/target/release/build/zstd-sys-e9bd7677eed9b254/out\" \"-L\" \"/home/app/target/release/gn_out/obj\" \"-L\" \"<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib\" \"-o\" \"/home/app/target/release/deps/render_http-e7adb05509d015b0\" \"-Wl,--gc-sections\" \"-pie\" \"-Wl,-z,relro,-z,now\" \"-Wl,-O1\" \"-Wl,--strip-debug\" \"-nodefaultlibs\"\n667.3 = note: some arguments are omitted. use `--verbose` to show all linker arguments\n667.3 = note: /usr/bin/ld: /tmp/rustcXFCL9g/libskia_bindings-279c509e56943a3f.rlib(libicu.uloc.o): in function `ulocimp_getParent':\n667.3 uloc.cpp:(.text.ulocimp_getParent+0x0): multiple definition of `ulocimp_getParent'; /tmp/rustcXFCL9g/libv8-dbef52e4bc4b6f8f.rlib(uloc.o):./../../../../third_party/icu/source/common/uloc.cpp:1685: first defined here\n667.3 collect2: error: ld returned 1 exit status\n
\n

\u6709\u6ca1\u6709\u5927\u4f6c\u63d0\u4f9b\u5e2e\u52a9

\n" }, { "author": { "url": "member/5261", "name": "5261", "avatar": "https://cdn.v2ex.com/gravatar/35f3bd2ff78daccfd497fffe69c40dce?s=73&d=retro" }, "url": "t/1127817", "date_modified": "2025-04-24T08:34:35+00:00", "content_html": "

Rust \u5165\u95e8\u8fd9\u51e0\u4e2a\u6708\u4e4b\u540e\uff0c\u4e3b\u8981\u5b66\u4e86 axum \u3001tokio \u3001tonic \u8fd9\u4e9b\u540e\uff0c\u7136\u540e\u51c6\u5907\u81ea\u5df1\u5199\u4e2a tg bot api \u73a9\u73a9\uff0c\u53d1\u73b0\u5df2\u7ecf\u6709\u73b0\u6210\u7684 teloxide \uff0c\u7136\u540e\u518d\u8fd9\u4e2a\u57fa\u7840\u4e0a\u5199\u81ea\u5df1\u7684 bot api

\n

\u5199\u5230\u4e00\u534a\u7684\u65f6\u5019\u53d1\u73b0\u8fd8\u662f\u6709\u5f88\u591a\u5185\u5bb9\u4e0d\u719f\u6089\uff0c\u770b\u6587\u6863\u7684\u65f6\u5019\u90fd\u77e5\u9053\u662f\u548b\u56de\u4e8b\uff0c\u771f\u6b63\u81ea\u5df1\u4e0a\u624b\u5199\u7684\u65f6\u5019\u5c31\u61f5\u903c

\n

\u8fd9\u79cd\u611f\u89c9\u771f\u7684\u592a\u53d7\u632b\u4e86\uff01

\n", "date_published": "2025-04-24T08:23:04+00:00", "title": "Rust \u5b66\u4e60\u51e0\u4e2a\u6708\u4e4b\u540e\uff0c\u771f\u6b63\u8981\u81ea\u5df1\u5199\u7684\u65f6\u5019\u5c31\u61f5\u903c", "id": "t/1127817" }, { "author": { "url": "member/5261", "name": "5261", "avatar": "https://cdn.v2ex.com/gravatar/35f3bd2ff78daccfd497fffe69c40dce?s=73&d=retro" }, "url": "t/1126092", "date_modified": "2025-04-17T03:38:30+00:00", "content_html": "

\"\"

\n

\u5982\u679c web \u9879\u76ee\u7528\u5230 gRpc \u7684\u8bdd\uff0c\u901a\u8fc7 protoc \u521b\u5efa\u7684\u8fd9\u4e9b\u670d\u52a1\uff0c\u53ea\u80fd\u901a\u8fc7 layer \u8d2f\u7a7f\u5230\u6574\u4e2a\u670d\u52a1\u4e2d\u5417\uff1f\uff1f

\n

\u90a3\u6b63\u5e38\u7684\u4e00\u4e2a\u9879\u76ee\u5047\u5982\u6709\u51e0\u5341\u4e0a\u767e\u4e2a\u670d\u52a1\u7684\u8bdd\uff0c\u90a3\u4e0d\u662f\u8fd9\u4e2a.layer(Extension(Arc::new(model::AppState::new(cate, topic, tera)))); \u4f1a\u5f88\u81c3\u80bf\uff0c\u56e0\u4e3a\u8981\u628a\u8fd9\u51e0\u5341\u4e0a\u767e\u4e2a\u670d\u52a1\u90fd\u7d2f\u52a0\u8fdb\u53bb\uff1f

\n", "date_published": "2025-04-17T02:42:53+00:00", "title": "\u5173\u4e8e rust axum \u4e2d\u4f7f\u7528 gprc \u7684\u4e00\u4e2a\u7591\u60d1", "id": "t/1126092" }, { "author": { "url": "member/zhwguest", "name": "zhwguest", "avatar": "https://cdn.v2ex.com/avatar/b633/f688/433522_large.png?m=1685067457" }, "url": "t/1126084", "title": "std::net::UdpSocket \u7684 shutdown \u673a\u5236\u662f\u6211\u7406\u89e3\u51fa\u4e86\u95ee\u9898\u4e48\uff1f", "id": "t/1126084", "date_published": "2025-04-17T02:33:27+00:00", "content_html": "

std::net::UdpSocket \u4e0d\u63d0\u4f9b shutdown()\u63a5\u53e3\uff0c\u53ea\u80fd\u901a\u8fc7 drop \u4e86\u6240\u6709\u7684\u5bf9\u8c61\u540e\u81ea\u52a8\u5173\u95ed\u3002

\n

\u4f46\u662f\u6211\u6b63\u963b\u585e\u5728\u8be5\u5bf9\u8c61\u4e0a\u8fdb\u884c\u8bfb\u53d6\uff0c\u53c8\u600e\u4e48\u53ef\u80fd\u901a\u8fc7 drop \u8be5\u5bf9\u8c61\u6765\u89e6\u53d1\u5173\u95ed\u5462\uff1f

\n

\u8bf7\u522b\u544a\u8bc9\u6211\u8981\u975e\u963b\u585e\u8c03\u7528\uff0c\u6216\u8005\u8f6e\u8be2\u8c03\u7528\uff0c\u6216\u8005\u5176\u4ed6\u89e3\u51b3\u65b9\u6848\uff0c\u6211\u53ea\u662f\u89c9\u5f97\u63a5\u53e3\u8fd9\u4e48\u8bbe\u8ba1\u6211\u6709\u70b9\u65e0\u6cd5\u7406\u89e3\u3002

\n" }, { "author": { "url": "member/yunyi93", "name": "yunyi93", "avatar": "https://cdn.v2ex.com/gravatar/b3185a1b1eff7ee06572b5584a309a86?s=73&d=retro" }, "url": "t/1125641", "title": "\u5199\u4e86\u4e00\u4e2a\u4ece modelscope \u4e0b\u8f7d\u6a21\u578b\u7684 crate", "id": "t/1125641", "date_published": "2025-04-15T08:55:47+00:00", "content_html": "

models-cat

\n

models-cat \u662f ModelScope Hub \u7684\u975e\u5b98\u65b9 Rust \u5ba2\u6237\u7aef\uff0c\u8bbe\u8ba1\u7075\u611f\u6765\u81ea hf-hub\u3002models-cat \u6e90\u81ea\u4e00\u4e2a\u7b80\u5355\u7684\u9700\u6c42\uff1a\u201c\u7f16\u5199\u4e00\u4e2a Rust \u684c\u9762\u7aef AI APP \uff0c\u9700\u8981\u4e0b\u8f7d\u6a21\u578b\u548c\u6570\u636e\u96c6\uff0c\u4f46\u662f\u6ca1\u6709\u5408\u9002\u7684 Rust \u5ba2\u6237\u7aef\u3002\u201d

\n

\u4ec0\u4e48\u65f6\u5019\u9700\u8981 models-cat \u4e0b\u8f7d\u6a21\u578b\uff1f\u4e3b\u8981\u6709\u4e09\u4e2a\u539f\u56e0\uff1a

\n
    \n
  1. \u7f51\u7edc\u539f\u56e0\uff0c\u65e0\u6cd5\u4f7f\u7528 hf-hub \u8bbf\u95ee huggingface\u3002
  2. \n
  3. \u867d\u7136\u4f7f\u7528 hf-hub \u4e5f\u53ef\u4ee5\u4ece hf-mirror \u4e0b\u8f7d\u6a21\u578b\uff0c\u4f46\u7a33\u5b9a\u6027\u548c\u4e0b\u8f7d\u901f\u5ea6\u65e0\u6cd5\u4fdd\u8bc1\u3002
  4. \n
  5. \u5c06\u6a21\u578b\u6258\u7ba1\u5728 ModelScope Hub \u4e0a\uff0c\u53ef\u4ee5\u4fdd\u8bc1\u7a33\u5b9a\u6027\u548c\u4e0b\u8f7d\u901f\u5ea6\u3002\u4f46 hf-hub \u4e0d\u517c\u5bb9 ModelScope, \u9700\u8981\u4f7f\u7528 models-cat \u3002
  6. \n
\n

\u987a\u4fbf\u8bf4\u4e0b\uff0cModelScope \u6258\u7ba1\u6a21\u578b\u771f\u9999\uff0c\u56fd\u5185\u4e0b\u8f7d\u901f\u5ea6\u8d3c\u5feb\u3001\u7a33\u5b9a\u3001\u514d\u8d39\u3002

\n

\u529f\u80fd\u7279\u6027

\n\n

\u4f7f\u7528\u793a\u4f8b

\n

\u540c\u6b65\u4e0b\u8f7d\uff1a

\n
use models_cat::{download_model_with_progress, ProgressBarWrapper};\n\ndownload_model_with_progress(\n \"BAAI/bge-small-zh-v1.5\",\n \"model.safetensors\",\n ProgressBarWrapper::default(),\n).unwrap();\n
\n

\u5f02\u6b65\u4e0b\u8f7d\uff1a

\n
use models_cat::asynchronous::{download_model_with_progress, ProgressBarWrapper};\n\ndownload_model_with_progress(\n \"BAAI/bge-small-zh-v1.5\",\n \"model.safetensors\",\n ProgressBarWrapper::default(),\n).await.unwrap();\n
\n

\u5f02\u6b65\u4e0b\u8f7d\u9700\u5f00\u542f\u7279\u6027tokio\u7279\u6027\uff1a

\n
models-cat = { version = \"*\", features = [\"tokio\"] }\n
\n

\u4ece ModelScope \u7684\u6258\u7ba1\u4ed3\u5e93 BAAI/bge-small-zh-v1.5 \u4e0b\u8f7d\u6a21\u578b\u5230\u672c\u5730\uff0c\u9ed8\u8ba4\u4fdd\u5b58\u5728[HOME_DIR].cache/modelscope/hub/models--BAAI--bge-small-zh-v1.5/\u76ee\u5f55\u4e0b\u3002

\n

\u4f7f\u7528\u5feb\u6377\u51fd\u6570\u65f6\uff0c\u53ef\u901a\u8fc7\u73af\u5883\u53d8\u91cfMODELS_CAT_CACHE_DIR\u8bbe\u7f6e\u672c\u5730\u7f13\u5b58\u8def\u5f84\u3002\u6216\u8005\u4f7f\u7528ModelsCat\uff0c\u5728\u521d\u59cb\u5316\u65f6\u4f20\u5165\u672c\u5730\u7f13\u5b58\u8def\u5f84\u3002

\n" }, { "author": { "url": "member/5261", "name": "5261", "avatar": "https://cdn.v2ex.com/gravatar/35f3bd2ff78daccfd497fffe69c40dce?s=73&d=retro" }, "url": "t/1124699", "date_modified": "2025-04-11T08:37:02+00:00", "content_html": "
pub async fn list(\n State(state): State<ArcAppState>,\n Query(frm): Query<form::subject::ListForAdmin>,\n) -> Result<resp::JsonResp<model::subject::SubjectPaginate>> {\n let handler_name = \"admin/subject/list\";\n let p = get_pool(&state);\n let subjects = model::subject::Subject::list(\n &*p,\n &model::subject::SubjectListFilter {\n pq: model::subject::SubjectPaginateReq {\n page: frm.pq.page(),\n page_size: frm.pq.page_size(),\n },\n order: None,\n is_del: frm.is_del(),\n status: frm.status,\n name: frm.name,\n slug: frm.slug,\n },\n )\n .await\n .map_err(Error::from)\n .map_err(log_error(handler_name))?;\n Ok(resp::ok(subjects))\n}\n\n\n#[derive(Debug, Default, Deserialize, Serialize, sqlx::FromRow, Db)]\n#[db(table = subjects, pk = id, del_field = is_del)]\npub struct Subject {\n #[db(find)]\n #[db(skip_update)]\n pub id: String,\n\n #[db(list_opt)]\n #[db(list_opt_like)]\n pub name: String,\n\n #[db(find)]\n #[db(exists)]\n #[db(list_opt)]\n #[db(list_opt_like)]\n pub slug: String,\n\n pub summary: String,\n\n #[db(find_opt)]\n #[db(list_opt)]\n pub is_del: bool,\n pub cover: String,\n\n #[db(list_opt)]\n pub status: Status,\n\n pub price: Decimal,\n pub pin: i32,\n}\n
\n

\u4f5c\u4e3a Java \u5f00\u53d1\uff0c\u770b\u5230\u8fd9\u4e2a list \u65b9\u6cd5\u672c\u80fd\u7684\u60f3\u8df3\u8f6c\u8fc7\u53bb\u770b\u4e0b\u8fd9\u4e2a model::subject::Subject::list \u65b9\u6cd5\u7684\u5b9e\u73b0\u548b\u5199\u7684\uff0c\u4f46\u662f\u8df3\u8f6c\u8fc7\u53bb\u662f\u5b8f\uff1f \u90a3\u6211\u548b\u77e5\u9053\u6700\u540e\u662f\u548b\u5199\u7684\u5462\uff1f

\n

\u5b9e\u5728\u662f\u61f5\u903c\uff5e

\n", "date_published": "2025-04-11T03:28:14+00:00", "title": "\u770b\u5230\u8fd9\u6837\u7684 rust \u4ee3\u7801\u8981\u61f5\u903c\u4e86\uff0c\u4e0d\u77e5\u9053\u548b\u5165\u624b\uff0c\u6c42\u6307\u5bfc", "id": "t/1124699" }, { "author": { "url": "member/5261", "name": "5261", "avatar": "https://cdn.v2ex.com/gravatar/35f3bd2ff78daccfd497fffe69c40dce?s=73&d=retro" }, "url": "t/1123904", "date_modified": "2025-04-08T04:59:32+00:00", "content_html": "

\u5c1d\u8bd5\u591a\u6b21\u5165\u95e8\u540e\uff0c\u7528\u4e86\u4ee5\u4e0b\u4e00\u4e9b\u6846\u67b6

\n

axum\uff1aweb framwork\nsqlx\uff1asqlboy

\n

\u5199\u7740\u5199\u7740\u611f\u89c9\u7528 rust \u5199 web \u9879\u76ee\u603b\u611f\u89c9\u54ea\u91cc\u5473\u4e0d\u5bf9\uff0c\u4e00\u76f4\u5728\u53cd\u601d\u8fd9 rust \u5199 web \u5e94\u7528\u771f\u662f\u9002\u5408\u5417\uff1f

\n

\u5c31\u76ee\u524d orm \u6846\u67b6 sqlx \u3001seaorm \u3001diesel \u90fd\u8fd8\u5728\u8ba8\u8bba\u54ea\u4e2a\u725b\u903c\uff5e

\n

\u4e0d\u50cf Java \uff0cmybatis \u7528\u8d77\u6765\u90a3\u4e48\u723d\uff5e \u6211\u65e2\u60f3\u8981 orm \u7684\u5b57\u6bb5\u6620\u5c04\u5230\u5bf9\u8c61\uff0c\u4e5f\u60f3\u8981\u81ea\u5b9a\u4e49\u67e5\u8be2\u7684\u7075\u6d3b\uff5e

\n", "date_published": "2025-04-08T03:39:20+00:00", "title": "Rust \u4e24\u6b21\u5165\u95e8\u540e\uff0c\u5c1d\u8bd5\u5199\u4e00\u4e2a web \u9879\u76ee\uff0c\u61f5\u903c\u4e2d\uff5e", "id": "t/1123904" }, { "author": { "url": "member/make115", "name": "make115", "avatar": "https://cdn.v2ex.com/avatar/e825/9c2f/679788_large.png?m=1740968368" }, "url": "t/1119445", "title": "\u6c42\u5e2e\u6253\u5305\u4e2a exe", "id": "t/1119445", "date_published": "2025-03-18T14:18:01+00:00", "content_html": "

https://github.com/tchebb/bose-dfu

\n" }, { "author": { "url": "member/0x676e67", "name": "0x676e67", "avatar": "https://cdn.v2ex.com/avatar/4ddd/f8c8/614590_large.png?m=1753848669" }, "url": "t/1109942", "date_modified": "2025-02-08T08:24:38+00:00", "content_html": "

golang tls-client/utls \u7684\u5b8c\u7f8e\u66ff\u4ee3\u54c1

\n

Client \u662f\u57fa\u4e8e reqwest \u7684\u5206\u652f\uff0c\u4fee\u590d\u4e86 HTTP \u7248\u672c\u534f\u5546\u95ee\u9898\uff0c\u5e76\u589e\u5f3a\u4e86\u5bf9 WebSocket \uff08 HTTP1/HTTP2 \uff09\u7684\u652f\u6301\uff0c\u540c\u65f6\u4f18\u5316\u4e86\u5e38\u7528 API \u548c\u8fde\u63a5\u6c60\u7684\u6027\u80fd\u3002

\n
    \n
  1. Features
  2. \n
\n\n
    \n
  1. Repository
  2. \n
\n\n", "date_published": "2025-02-08T08:17:33+00:00", "title": "Rust HTTP Client\uff0c Golang tls-client/utls \u7684\u5b8c\u7f8e\u66ff\u4ee3\u54c1", "id": "t/1109942" }, { "author": { "url": "member/0x676e67", "name": "0x676e67", "avatar": "https://cdn.v2ex.com/avatar/4ddd/f8c8/614590_large.png?m=1753848669" }, "url": "t/1107721", "date_modified": "2025-01-24T15:00:00+00:00", "content_html": "\n

repo: https://github.com/0x676e67/vproxy

\n", "date_published": "2025-01-24T14:57:34+00:00", "title": "Rust \u7f16\u5199\u7684\u9ad8\u6027\u80fd HTTP/HTTPS/SOCKS5 \u4ee3\u7406\u670d\u52a1\u5668", "id": "t/1107721" }, { "author": { "url": "member/IIInsomnia", "name": "IIInsomnia", "avatar": "https://cdn.v2ex.com/avatar/84b0/5e0d/251173_large.png?m=1756777271" }, "url": "t/1107675", "date_modified": "2025-01-24T09:32:53+00:00", "content_html": "

Rust API \u5f00\u53d1\u811a\u624b\u67b6\uff0c\u4e00\u952e\u81ea\u52a8\u751f\u6210\u9879\u76ee\uff0c\u652f\u6301 salvo \u548c axum \u6846\u67b6\uff0c\u5e76\u540c\u65f6\u652f\u6301\u521b\u5efa\u300c\u5355\u5e94\u7528\u300d\u548c\u300c\u591a\u5e94\u7528\u300d

\n

\u5b89\u88c5

\n
Cargo install yiirs\n
\n

\u5730\u5740

\n

https://crates.io/crates/yiirs

\n", "date_published": "2025-01-24T09:32:32+00:00", "title": "Rust API \u5f00\u53d1\u811a\u624b\u67b6", "id": "t/1107675" }, { "author": { "url": "member/tedzhou1221", "name": "tedzhou1221", "avatar": "https://cdn.v2ex.com/avatar/c2d3/2cea/54231_large.png?m=1766989493" }, "url": "t/1107663", "title": "FnOne \u7279\u5f81\u662f\u81f3\u5c11\u8c03\u7528\u4e00\u6b21\u8fd8\u662f\u53ea\u80fd\u8c03\u7528\u4e00\u6b21\uff1f", "id": "t/1107663", "date_published": "2025-01-24T09:01:19+00:00", "content_html": "

\u5728\u770b B \u7ad9\u4e0a\u7684\u6559\u7a0b\uff0c\u770b\u5230\u5173\u4e8e move \u548c \u95ed\u5305\u7684\u4e1c\u897f\u3002\n\u5730\u5740\u662f https://b23.tv/dXol75P

\n

\u5176\u5b9e\u4e2d\u8bf4 FnOne \u662f\u81f3\u5c11\u8c03\u7528\u4e00\u6b21\u3002

\n

\u8fd8\u6709 Rust \u5723\u7ecf\u4e2d\u4e5f\u540c\u6837\u8fd9\u4e48\u8bf4\u3002\n\u5185\u5bb9\u5982\u4e0b\uff1a

\n
\n

\u6240\u6709\u7684\u95ed\u5305\u90fd\u81ea\u52a8\u5b9e\u73b0\u4e86 FnOnce \u7279\u5f81\uff0c\u56e0\u6b64\u4efb\u4f55\u4e00\u4e2a\u95ed\u5305\u90fd\u81f3\u5c11\u53ef\u4ee5\u88ab\u8c03\u7528\u4e00\u6b21

\n
\n

\u4f46 Kimi \u7684\u89e3\u91ca\u662f\uff1a

\n
\n

FnOnce \u7684\u8bbe\u8ba1\u76ee\u6807\u662f\u786e\u4fdd\u95ed\u5305\u5728\u8c03\u7528\u65f6\u53ef\u4ee5\u5b89\u5168\u5730\u6d88\u8017\u53d8\u91cf\u7684\u6240\u6709\u6743\uff0c\u800c\u4e0d\u662f\u5f3a\u5236\u8981\u6c42\u95ed\u5305\u5fc5\u987b\u88ab\u8c03\u7528\u3002\u6362\u53e5\u8bdd\u8bf4\uff1a

\n
\n
\u201c\u53ea\u80fd\u8c03\u7528\u4e00\u6b21\u201d\uff1a\u95ed\u5305\u88ab\u8bbe\u8ba1\u4e3a\u53ea\u80fd\u8c03\u7528\u4e00\u6b21\uff0c\u4ee5\u907f\u514d\u591a\u6b21\u8c03\u7528\u5bfc\u81f4\u7684\u9519\u8bef\u3002\n\u201c\u81f3\u5c11\u8c03\u7528\u4e00\u6b21\u201d\uff1a\u8fd9\u4e0d\u662f FnOnce \u7684\u8981\u6c42\u3002\u95ed\u5305\u53ef\u4ee5\u9009\u62e9\u4e0d\u88ab\u8c03\u7528\uff0c\u4f46\u4e00\u65e6\u8c03\u7528\uff0c\u5c31\u4e0d\u80fd\u518d\u6b21\u8c03\u7528\u3002\n
\n

\u5927\u81f4\u610f\u601d\u5c31\u662f\u201c\u53ea\u80fd\u8c03\u7528\u4e00\u6b21\u201d

\n

\u6211\u7684\u7406\u89e3\u4e5f\u662f\u53ea\u80fd\u8c03\u7528\u4e00\u6b21\u3002

\n

ps: \u524d\u51e0\u5929\u770b\u5230\u6709\u4e2a\u63a8\u8350 Rust \u6559\u7a0b\u7684\u9875\u9762\uff0c\u8bf4\u300a Rust \u8bed\u8a00\u5723\u7ecf\u300b\u9519\u8bef\u592a\u591a\u3002\u6211\u73b0\u5728\u627e\u4e0d\u5230\u51fa\u5904\u4e86\u3002\u8bf7\u95ee\u6709\u54ea\u4e9b\u662f\u9519\u8bef\u7684\uff1f

\n" }, { "author": { "url": "member/automationIan", "name": "automationIan", "avatar": "https://cdn.v2ex.com/avatar/9d22/2000/647504_large.png?m=1737685756" }, "url": "t/1107525", "date_modified": "2025-01-24T03:05:44+00:00", "content_html": "\u4e3b\u8981\u5305\u542b Solana \u667a\u80fd\u5408\u7ea6\u5f00\u53d1

\u6700\u597d\u6709 DEX \u65b9\u5411\u7684", "date_published": "2025-01-24T02:58:44+00:00", "title": "\u5927\u4f6c\u4eec\uff0c\u4e00\u4eba\u6765\u4e00\u9053 Rust \u9762\u8bd5\u9898\uff0c\u51c6\u5907\u5e74\u540e\u8df3\u69fd", "id": "t/1107525" }, { "author": { "url": "member/dxatgp02", "name": "dxatgp02", "avatar": "https://cdn.v2ex.com/avatar/d328/ebcb/434943_large.png?m=1737680980" }, "url": "t/1107051", "title": "\u8bf7\u6559 rust \u5982\u4f55\u505a\u5230\u4ea4\u53c9\u7f16\u8bd1", "id": "t/1107051", "date_published": "2025-01-22T05:23:02+00:00", "content_html": "

\u6709\u4e00\u4e9b\u5199\u597d\u7684 rust \u60f3\u653e\u5230 raspi \u4e0a\u9762\u8dd1\u8bd5\u8bd5\n\u7f51\u4e0a\u67e5\u4e86\"rust cross compile arm64\"\n\u7528\u8fc7

\n
cargo build --target aarch64-unknown-linux-gnu -r\n
\n

\u4e5f\u8bd5\u8fc7 cargo \u914d\u7f6e\u6587\u4ef6\u91cc\u52a0

\n
[target.aarch64-unknown-linux-gnu]\nlinker = \"aarch64-linux-gnu-gcc\"\nrustflags = [\"-L\", \"/usr/lib/gcc/aarch64-linux-gnu/13.1.0/tmp/usr/lib/\"]\n
\n

\u90fd\u89e3\u51b3\u4e0d\u4e86\uff0c\u653e\u5230 raspi \u7f16\u8bd1\u4e00\u6b21\u8981\u5f88\u4e45\u3002

\n" }, { "author": { "url": "member/DigitalG", "name": "DigitalG", "avatar": "https://cdn.v2ex.com/avatar/1b4e/0a2d/614153_large.png?m=1703508690" }, "url": "t/1106704", "title": "\u7406\u4e86\u4e00\u4e0b\u624b\u4e0a\u60ef\u7528\u7684\u4e00\u4e9b\u547d\u4ee4\u884c\u5c0f\u5de5\u5177\uff0c\u53d1\u73b0\u86ee\u591a\u662f rust \u5199\u7684\u3002\u662f\u4e0d\u662f rust \u4e5f\u9002\u5408\u505a\u8fd9\u79cd\u5c0f\u5de5\u5177", "id": "t/1106704", "date_published": "2025-01-21T02:35:37+00:00", "content_html": "

\u6700\u8fd1\u6709\u6b21\u91cd\u88c5\u7cfb\u7edf\uff0c\u5b89\u88c5\u4e00\u4e9b\u7528\u60ef\u4e86\u7684\u547d\u4ee4\u884c\u5c0f\u5de5\u5177\u3002\u4e4b\u524d\u6ca1\u6ce8\u610f\uff0c\u53d1\u73b0\u90fd\u662f rust \u5199\u7684\u3002

\n

\u6bd4\u5982\uff1a

\n
    \n
  1. mise: \u7ba1\u7406\u4e00\u4e9b\u73af\u5883\u7248\u672c\uff1b
  2. \n
  3. justfile: makefile \u7684\u66ff\u4ee3\uff1b
  4. \n
  5. uv: python \u5305/\u865a\u62df\u73af\u5883\u7ba1\u7406
  6. \n
  7. blink.cmp: neovim \u7684\u4e00\u4e2a\u8865\u5168\u63d2\u4ef6
  8. \n
  9. fd: \u6587\u4ef6\u67e5\u627e\uff0cfind \u7684\u66ff\u4ee3
  10. \n
  11. rg: ripgrep, grep \u7684\u66ff\u4ee3
  12. \n
\n

\u6bd4\u8f83\u7a81\u51fa\u7684\u7279\u70b9\u662f\u6bd4\u540c\u7c7b\u7684\u5176\u4ed6\u5de5\u5177\u90fd\u66f4\u5feb\uff0c\u7528\u8d77\u6765\u4e5f\u786e\u5b9e\u5f88\u660e\u663e\u3002\u6211\u81ea\u5df1\u4e3b\u8981\u7528 C++/Python \uff0c\u60f3\u62ff rust \u4e1a\u4f59\u73a9\u4e0b\uff08\u4e3b\u8981\u4e5f\u662f\u505a\u4e9b\u81ea\u5df1\u7528\u7684\u547d\u4ee4\u884c\u5c0f\u5de5\u5177\u5427\uff09\u3002\u6709\u5565\u4e0a\u624b\u7684\u5c0f\u9879\u76ee\u63a8\u8350\u5417\uff1f\uff08\u4e0a\u9762\u51e0\u4e2a\u7c97\u7565\u7784\u4e86\u773c\u6709\u70b9\u5927\uff09

\n" }, { "author": { "url": "member/horou", "name": "horou", "avatar": "https://cdn.v2ex.com/avatar/7fd0/d5d3/222535_large.png?m=1760949536" }, "url": "t/1106556", "title": "rust \u600e\u4e48\u4e0d\u901a\u8fc7\u7ba1\u7406\u5458\u6743\u9650\u7684\u60c5\u51b5\u4e0b\u62ff\u5230 windows \u7528\u6237\u6240\u6709\u7684 uwp \u5e94\u7528\u540d\u79f0\uff0c\u56fe\u6807\u548c\u8def\u5f84", "id": "t/1106556", "date_published": "2025-01-20T09:09:38+00:00", "content_html": "

\u76ee\u524d\u7f51\u4e0a\u641c\u7d22\u5230\u7684\u65b9\u5f0f\u90fd\u662f\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\uff0c\u4f46\u662f\u6211\u770b\u6709\u5176\u4ed6\u5e94\u7528\u4e0d\u9700\u8981\u7ba1\u7406\u5458\u6743\u9650\u4e5f\u80fd\u62ff\u5230\uff0c\u600e\u4e48\u5b9e\u73b0\u7684

\n" }, { "author": { "url": "member/FreeWong", "name": "FreeWong", "avatar": "https://cdn.v2ex.com/gravatar/5ed56e148231babb621f3a10f2dc478a?s=73&d=retro" }, "url": "t/1105502", "title": "\u7edf\u8ba1\u4e0b\u653e\u5f03 RUST \u7684\u4eba\u7684\u6570\u91cf===", "id": "t/1105502", "date_published": "2025-01-16T03:33:36+00:00", "content_html": "

\u5982\u679c\u4f60\u82b1\u8d39\u4e86\u4e00\u4e2a\u6708\u4ee5\u4e0a\u7684\u65f6\u95f4\u5b66\u4e60\uff0c\u6700\u7ec8\u653e\u5f03\u4e86 RUST \uff0c\u8ddf\u8d34 +1\n\u5982\u679c\u4f60\u613f\u610f\u7684\u8bdd

\n" }, { "author": { "url": "member/KlesaOff", "name": "KlesaOff", "avatar": "https://cdn.v2ex.com/gravatar/5c050b63b09827ca6df2ac851c5cee82?s=73&d=retro" }, "url": "t/1105376", "date_modified": "2025-01-16T01:08:21+00:00", "content_html": "

\u6700\u8fd1\u5728\u81ea\u5b66 Rust \uff0c\u56e0\u4e3a\u4e4b\u524d\u7c97\u7565\u770b\u8fc7\u4e00\u4e9b\u535a\u5ba2\u6559\u7a0b\uff0c\u6240\u4ee5\u8fd9\u6b21\u76f4\u63a5\u770bProgramming Rust\u8fd9\u672c\u4e66\u7684\u7ffb\u8bd1\u7248\uff0c\u5728\u7b2c 5 \u7ae0\u201c\u5f15\u7528\u201d\u4e2d\u9047\u5230\u4e00\u4e2a\u4f8b\u5b50\uff0c\u611f\u89c9\u4e0d\u80fd\u7406\u89e3\u3002

\n

\u9996\u5148\u770b\u4e66\u4e2d\u56fe 5-9 \u7684\u6240\u6709\u6743\u6811\uff0c\u8bb2\u4e86\u5bf9\u4e8e\u53ef\u53d8\u548c\u4e0d\u53ef\u53d8\u5f15\u7528\u65f6\u7684\u8bbf\u95ee\u5173\u7cfb\uff0c\u6211\u4ee5\u4e3a\u81ea\u5df1\u7406\u89e3\u4e86\uff0c\u53ef\u662f\u540e\u9762\u770b\u5230\u8fd9\u4e2a\u4f8b\u5b50\uff0c\u7ed3\u679c\u53c8\u770b\u4e0d\u660e\u767d\uff0c\u4ee3\u7801\u662f\u8fd9\u6837\u7684\uff1a

\n
...\n\u4e5f\u53ef\u4ee5\u518d\u6b21\u501f\u7528\u4e00\u4e2a\u53ef\u53d8\u5f15\u7528\uff1a\nlet mut v = (136, 139);\nlet m = &mut v;\nlet m0 = &mut m.0; // ok\uff1a\u4ece\u53ef\u53d8\u5f15\u7528\u91cd\u65b0\u501f\u7528\u53ef\u53d8\u5f15\u7528\n*m0 = 137;\nlet r1 = &m.1; // ok\uff1a\u4ece\u53ef\u53d8\u5f15\u7528\u91cd\u65b0\u501f\u7528\u5171\u4eab\u5f15\u7528,\u5e76\u4e14\u548c m0 \u6ca1\u6709\u91cd\u53e0\u90e8\u5206\nv.1;\t\t // error\uff1a\u901a\u8fc7\u5176\u4ed6\u8def\u7ecf\u8bbf\u95ee\u4ecd\u7136\u662f\u7981\u6b62\u7684\nprintln!(\"{}\", r1); // r1 \u5728\u8fd9\u91cc\u4f7f\u7528\n\n
\n

\u5176\u5b9e\u4ece\u7b2c\u4e00\u4e2a ok \u6ce8\u91ca\u90a3\u91cc\u6211\u5c31\u6ca1\u641e\u660e\u767d\uff0c\u4e0d\u662f\u8bf4\u53d8\u91cf\u53ea\u80fd\u540c\u65f6\u5b58\u5728\u4e00\u4e2a\u53ef\u53d8\u5f15\u7528\u5417\uff0c\u4e3a\u4ec0\u4e48\u6709\u53ef\u53d8\u5f15\u7528(\u201c\u5f15\u7528\u201d\u4e3a\u540d\u8bcd)m \u7684\u60c5\u51b5\u4e0b\u8fd8\u80fd\u4ece m \u90a3\u518d\u53ef\u53d8\u5f15\u7528\uff08\u201c\u5f15\u7528\u201d\u4e3a\u52a8\u8bcd\uff09\u4e00\u4e2a m0 \uff1f

\n

\u7136\u540e\u6211\u95ee gpt \uff0c\u5b83\u662f\u8fd9\u4e48\u56de\u7b54\u7684\uff1a

\n
\n

...

\n

\u5d4c\u5957 mut \u5f15\u7528\u7684\u573a\u666f

\n

\u5047\u8bbe\u4f60\u6709\u4e00\u4e2a\u53ef\u53d8\u53d8\u91cf\uff0c\u5e76\u5e0c\u671b\u5bf9\u5176\u521b\u5efa\u5d4c\u5957\u7684\u53ef\u53d8\u5f15\u7528\u3002\u4ee5\u4e0b\n\u662f\u4e00\u4e9b\u5e38\u89c1\u7684\u60c5\u51b5\u53ca\u5176\u5206\u6790\u3002

\n

\u60c5\u51b5 1\uff1a\u5bf9\u6574\u4e2a\u53d8\u91cf\u7684\u53ef\u53d8\u5f15\u7528\uff0c\u7136\u540e\u5c1d\u8bd5\u5bf9\u90e8\u5206\u503c\u7684\u53ef\u53d8\u5f15\u7528

\n
\n
fn main() {\n let mut x = (1, 2);\n\n let r1 = &mut x; // \u5bf9\u6574\u4e2a\u53d8\u91cf `x` \u7684\u53ef\u53d8\u5f15\u7528\n let r2 = &mut r1.0; // \u5c1d\u8bd5\u5bf9 `x` \u7684\u4e00\u90e8\u5206\u521b\u5efa\u53ef\u53d8\u5f15\u7528\n\n *r2 = 42; // \u4fee\u6539\u90e8\u5206\u503c\n r1.1 = 99; // \u4fee\u6539\u53e6\u4e00\u90e8\u5206\n}\n
\n
\n

\u9519\u8bef\u539f\u56e0\uff1a\nRust \u7f16\u8bd1\u5668\u4f1a\u62a5\u9519\uff0c\u63d0\u793a \u4e0d\u80fd\u540c\u65f6\u501f\u7528 x \u7684\u591a\u4e2a\u53ef\u53d8\u5f15\u7528\u3002\u8fd9\u662f\u56e0\u4e3a\uff1a

\n

r1 \u662f\u5bf9\u6574\u4e2a x \u7684\u53ef\u53d8\u5f15\u7528\uff0c\u5b83\u63a7\u5236\u4e86 x \u7684\u72ec\u5360\u8bbf\u95ee\u6743\u3002\n\u5f53\u4f60\u5c1d\u8bd5\u5bf9 r1.0 \uff08 x \u7684\u67d0\u4e2a\u5b57\u6bb5\uff09\u521b\u5efa\u53ef\u53d8\u5f15\u7528\u65f6\uff0cr1 \u7684\u4f5c\u7528\u57df\u4f9d\u7136\u6d3b\u8dc3\uff0cRust \u65e0\u6cd5\u533a\u5206\u4f60\u662f\u5426\u4f1a\u540c\u65f6\u64cd\u4f5c x \u7684\u5176\u4ed6\u90e8\u5206\u3002

\n

\u9519\u8bef\u793a\u4f8b\u7684\u7f16\u8bd1\u5668\u6d88\u606f\uff08\u53ef\u80fd\u7c7b\u4f3c\u4e8e\uff09\uff1a

\n
\n
error[E0499]: cannot borrow `r1.0` as mutable more than once at a time\n
\n
\n

...

\n
\n

\u4f46\u4e8b\u5b9e\u4e0a\uff0c\u6211\u5c1d\u8bd5\u4e86\u7c7b\u4f3c\u4ee3\u7801\uff0c\u5e76\u4e0d\u4f1a\u62a5\u9519:

\n
fn main() {\n let mut v = (136, 139);\n let m = &mut v;\n let m0 = &mut m.0;\n *m0 = 137;\n m.1 = 42;\n println!(\"{:?}\", v)\n}\n
\n

\u5176\u8fd0\u884c\u7ed3\u679c\u662f:

\n
(137, 42)\n
\n

\u5f88\u591a\u8d44\u6599\u90fd\u6ca1\u6709\u8bb2\u89e3\u5173\u4e8e\u8fd9\u79cd\u5d4c\u5957\u7684\u5f15\u7528\u4f1a\u53d1\u751f\u4ec0\u4e48\u7ed3\u679c\uff0c\u4e5f\u4e0d\u77e5\u9053\u4ec0\u4e48\u60c5\u51b5\u662f\u53ef\u4ee5\u4ec0\u4e48\u662f\u4e0d\u884c\uff0c\u6211\u6ca1\u770b\u8fc7\u8fd9\u4f8b\u5b50\u65f6\u8fd8\u4ee5\u4e3a\u538b\u6839\u4e0d\u80fd\u521b\u5efa m0 \u5462\uff0c\u6240\u4ee5\u60f3\u7740\u627e GPT \u95ee\u95ee\uff0c\u7ed3\u679c\u544a\u8bc9\u7684\u5185\u5bb9\u662f\u9519\u7684\u3002

\n

\u8bf7\u95ee\u8be5\u5982\u4f55\u89e3\u91ca\u4e0a\u9762\u4e66\u4e2d\u7684\u4ee3\u7801\uff0c\u5982\u4f55\u66f4\u597d\u5730\u7406\u89e3 Rust \u5728\u8fd9\u79cd\u5d4c\u5957\u60c5\u51b5\u4e0b\u521b\u5efa\u5f15\u7528\u7684\u505a\u6cd5\u662f\u5426\u6210\u529f\uff1f\u8bf7\u5404\u4f4d\u8d50\u6559

\n", "date_published": "2025-01-15T13:35:05+00:00", "title": "\u5173\u4e8e Rust \u6240\u6709\u6743\uff0c\u5982\u679c\u5bf9 mut \u53d8\u91cf\u8fdb\u884c\u5d4c\u5957 mut \u5f15\u7528\u8be5\u600e\u4e48\u7406\u89e3\uff1f", "id": "t/1105376" } ] } ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86