{"id":44955,"date":"2023-01-07T10:42:41","date_gmt":"2023-08-22T23:02:38","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/"},"modified":"2024-04-29T08:54:09","modified_gmt":"2024-04-29T00:54:09","slug":"44955-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/","title":{"rendered":""},"content":{"rendered":"<ul class=\"post-ul\">\u3053\u306e\u8a18\u4e8b\u306f Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2 \u306e\u8349\u7a3f\u517c\u53c2\u8003\u8cc7\u6599\u96c6\u3067\u3059<\/ul>\n<h2>\u6700\u8fd1\u306e\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9 Rust \u306e\u8a71\u984c<\/h2>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">iron, gotham \u304c\u958b\u767a\u505c\u6b62<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">tokio-core \u304c tokio \u306b\u306a\u3063\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">RFCS \u306b async-await \u304c\u5165\u3063\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">futures 0.2 \u304c yank \u3055\u308c\u305d\u3046<\/ul>\n<hr \/>\n<h2>\u7591\u554f<\/h2>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018 \u5e74\u306b\u3082\u306a\u3063\u3066\u975e\u540c\u671f IO \u3067\u75b2\u5f0a\u3057\u3066\u3044\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rust \u306f 2006 \u5e74\u306b\u958b\u767a\u304c\u59cb\u307e\u3063\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">node.js \u3082 go \u3082 2009 \u5e74\u306b\u306f\u5b58\u5728\u3057\u3066\u3044\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u4eca\u307e\u3067 Rust \u306f\u4f55\u3092\u3084\u3063\u3066\u3044\u305f\u306e\u304b\uff1f<\/ul>\n<hr \/>\n<h2>\u4eca\u307e\u3067 Rust \u306f\u4f55\u3092\u3084\u3063\u3066\u3044\u305f\u306e\u304b\uff1f<\/h2>\n<hr \/>\n<h3>2018<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-06-23 &#8211; Rust 2018: an early preview &#8211; https:\/\/internals.rust-lang.org\/t\/rust-2018-an-early-preview\/7776\/14<\/ul>\n<\/li>\n<\/ul>\n<p>2018-06-21 &#8211; Rust Version 1.27.0<br \/>\n2018-06-19 &#8211; Yank futures 0.2? &#8211; https:\/\/github.com\/rust-lang-nursery\/futures-rs\/issues\/1039<\/p>\n<p>2018-06-19 &#8211; Rust Networking with Carl Lerche &#8211; https:\/\/softwareengineeringdaily.com\/2018\/06\/19\/rust-networking-with-carl-lerche\/<\/p>\n<p>2018-06-19 &#8211; Introducing Tsukuyomi &#8211; https:\/\/medium.com\/@ubnt_intrepid\/introducing-tsukuyomi-3123fd6b913d<\/p>\n<p>2018-05-19 &#8211; Tracking issue for Pin APIs (RFC 2349) &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/49150<\/p>\n<p>2018-05-10 &#8211; Rust Version 1.26.0<br \/>\n2018-05-15 &#8211; A revised single-trait approach &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2418#issuecomment-388939069<\/p>\n<p>2018-05-07 &#8211; Design goals and constraints &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2418#issuecomment-386964959<\/p>\n<p>2018-05-03 &#8211; The Rust Edition Guide &#8211; https:\/\/rust-lang-nursery.github.io\/edition-guide\/<\/p>\n<p>2018-04-25 &#8211; RFC: add futures and task system to libcore &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2418<\/p>\n<p>2018-04-08 &#8211; RFC: add futures to libcore &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2395<\/p>\n<p>2018-04-07 &#8211; futures 0.2.0 &#8211; https:\/\/github.com\/rust-lang-nursery\/futures-rs\/releases\/tag\/0.2.0<\/p>\n<p>2018-04-07 &#8211; async\/await notation for ergonomic asynchronous IO &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2394<\/p>\n<p>2018-04-06 &#8211; Async &amp; Await in Rust: a full proposal &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-04-06-async-await-final\/<\/p>\n<p>2018-03-30 &#8211; Feature Name: async_await &#8211; https:\/\/github.com\/rust-lang\/rfcs\/blob\/master\/text\/2394-async_await.md<\/p>\n<p>2018-03-30 &#8211; \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3068 Pin\/Unpin \u307e\u3068\u3081 &#8211; https:\/\/qiita.com\/ubnt_intrepid\/items\/df70da960b21b222d0ad<\/p>\n<p>2018-03-20 &#8211; Async\/Await VI: 6 weeks of great progress &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-03-20-async-vi\/<\/p>\n<p>2018-03-08 &#8211; Announcing the Tokio runtime &#8211; https:\/\/tokio.rs\/blog\/2018-03-tokio-runtime\/<\/p>\n<p>2018-02-27 &#8211; Futures 0.2 is nearing release &#8211; https:\/\/aturon.github.io\/2018\/02\/27\/futures-0-2-RC\/<\/p>\n<p>2018-02-08 &#8211; tokio 0.1.0<\/p>\n<p>2018-02-08 &#8211; Async\/Await V: Getting back to the futures &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-02-08-async-v-getting-back-to-the-futures\/<\/p>\n<p>2018-02-07 &#8211; Async\/Await IV: An Even Better Proposal &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-02-07-async-iv-an-even-better-proposal\/<\/p>\n<p>2018-01-31 &#8211; Rust creator Graydon Hoare is now at Apple working on Swift &#8211; https:\/\/news.ycombinator.com\/item?id=13533701<\/p>\n<p>2018-01-30 &#8211; Async\/Await III: Moving Forward with Something Shippable &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-01-30-async-iii-moving-forward\/<\/p>\n<p>2018-01-30 &#8211; Async\/Await II: Narrowing the Scope of the Problem &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-01-30-async-ii-narrowing-the-scope\/<\/p>\n<p>2018-01-30 &#8211; Graydon Hoare \u3001\u624b\u5143\u306b\u87f9\u672c\u304c\u5c4a\u304d\u3001\u5f53\u6642\u3092\u632f\u308a\u8fd4\u308b &#8211; https:\/\/mobile.twitter.com\/graydon_pub\/status\/958192076209897472<\/p>\n<p>2018-01-27 &#8211; futures0.2 &#8211; https:\/\/github.com\/rust-lang-nursery\/futures-rfcs\/blob\/master\/futures-02.md<\/p>\n<p>2018-01-25 &#8211; Async\/Await I: Self-Referential Structs &#8211; https:\/\/boats.gitlab.io\/blog\/post\/2018-01-25-async-i-self-referential-structs\/<\/p>\n<p>2018-01-14 &#8211; I wonder, why Graydon Hoare, the author of Rust, stopped contributing into it and switched to Swift? &#8211; https:\/\/amp.reddit.com\/r\/rust\/comments\/7qels2\/i_wonder_why_graydon_hoare_the_author_of_rust\/<\/p>\n<p>2018-01-10 &#8211; What Are Tokio and Async IO All About? &#8211; https:\/\/manishearth.github.io\/blog\/2018\/01\/10\/whats-tokio-and-async-io-all-about\/<\/p>\n<hr \/>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">tokio-core \u304c tokio \u306b\u306a\u3063\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">iron, gotham \u304c\u958b\u767a\u505c\u6b62<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">async-await \u69cb\u6587\u304c RFCS \u306b\u5165\u3063\u305f<\/ul>\n<hr \/>\n<h3>2017<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2017-12-18 &#8211; Tokio internals: Understanding Rust&#8217;s asynchronous I\/O framework from the bottom up &#8211; https:\/\/cafbit.com\/post\/tokio_internals\/<\/ul>\n<\/li>\n<\/ul>\n<p>2017-11-22 &#8211; Version 1.22.0<br \/>\n2017-08-18 &#8211; &#8220;What next?&#8221; &#8211; https:\/\/graydon2.dreamwidth.org\/253769.html<\/p>\n<p>2017-08-17 &#8211; Immovable generators &#8211; https:\/\/github.com\/rust-lang\/rust\/pull\/45337<\/p>\n<p>2017-08-09 &#8211; Announcing Gotham &#8211; https:\/\/gotham.rs\/blog<\/p>\n<p>2017-08-28 &#8211; futures-await &#8211; https:\/\/github.com\/alexcrichton\/futures-await<\/p>\n<p>2017-08-07 &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/74o8k9\/what_is_the_basic_difference_between_mio_and_tokio\/<\/p>\n<p>2017-07-14 &#8211; hyper 0.11.0 &#8211; https:\/\/github.com\/hyperium\/hyper\/releases\/tag\/v0.11.0<\/p>\n<p>2017-07-08 &#8211; eRFC: Experimentally add coroutines to Rust &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2033<\/p>\n<p>2017-02-09 &#8211; mdo-future &#8211; https:\/\/crates.io\/crates\/mdo-future<\/p>\n<p>2017-02-02 &#8211; Rust Version 1.15.0<br \/>\n2017-01-07 &#8211; mio \u3067 echo \u30b5\u30fc\u30d0\u30e1\u30e2 &#8211; http:\/\/agtn.hatenablog.com\/entry\/2017\/01\/07\/151455<\/p>\n<hr \/>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">hyper \u304c tokio_core + futures-rs \u306b\u5bfe\u5fdc<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">actix-web, Gotham \u306e\u958b\u767a\u304c\u59cb\u307e\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">coroutines \u304c nightly \u306b\u5165\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">mdo-future, futures-await \u304c\u30ea\u30ea\u30fc\u30b9<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">ES2017 \u306b asnyc-await \u304c\u5165\u308b<\/ul>\n<hr \/>\n<h3>2016<\/h3>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2016-12-22 &#8211; Rust Version 1.14.0<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2016-12-23 &#8211; Getting Started with Tokio &#8211; https:\/\/lukesteensen.com\/2016\/12\/getting-started-with-tokio\/<\/ul>\n<\/li>\n<\/ul>\n<p>2016-12-07 &#8211; Rust futures at a glance &#8211; https:\/\/daiheitan.github.io\/blog\/2016\/12\/07\/Rust-futures-at-a-glance\/<\/p>\n<p>2016-11-27 &#8211; Rust\u3067\u975e\u540c\u671fThrift &#8211; http:\/\/keens.github.io\/slide\/RustdehidoukiThriftshitai\/<\/p>\n<p>2016-11-21 &#8211; Rust\u3068\u30b3\u30eb\u30fc\u30c1\u30f3\u3068\u975e\u540c\u671fI\/O &#8211; https:\/\/qiita.com\/kubo39\/items\/cd9816e31adaed8e040f<\/p>\n<p>2016-11-16 &#8211; How stable is the mio\/futures\/tokio ecosystem? &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/5d3b3n\/how_stable_is_the_miofuturestokio_ecosystem\/<\/p>\n<p>2016-10-15 &#8211; Rust\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30e9\u30ea\u30fc\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\/\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af &#8211; https:\/\/qiita.com\/dai197x\/items\/abc207d602b0f3a5cff1<\/p>\n<p>2016-09-16 &#8211; Rotor and Tokio &#8211; https:\/\/users.rust-lang.org\/t\/rotor-and-tokio\/7322<\/p>\n<p>2016-09-11 &#8211; The relationship between async libraries in Rust &#8211; https:\/\/www.jimmycuadra.com\/posts\/the-relationship-between-async-libraries-in-rust\/<\/p>\n<p>2016-09-10 &#8211; tokio-core 0.1.0_<br \/>\n2016-09-07 &#8211; Designing futures for Rust &#8211; https:\/\/aturon.github.io\/blog\/2016\/09\/07\/futures-design\/<\/p>\n<p>2016-08-14 &#8211; Futures in Rust &#8211; Writing an Async Web API Wrapper &#8211; An excercise in learning Rust &#8211; http:\/\/www.ishbir.com\/post\/2016-08-14-futures-in-rust\/<\/p>\n<p>2016-08-11 &#8211; Zero-cost futures in Rust in Hacker News &#8211; https:\/\/news.ycombinator.com\/item?id=12268988<\/p>\n<p>2016-08-10 &#8211; Getting started with futures in Redit &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/4x15mr\/getting_started_with_futuresrs\/<\/p>\n<p>2016-08-06 &#8211; History of Rust &#8211; https:\/\/github.com\/steveklabnik\/history-of-rust\/blob\/gh-pages\/index.md<\/p>\n<p>2016-08-04 &#8211; tokio_core &#8211; https:\/\/medium.com\/@carllerche\/announcing-tokio-df6bb4ddb34<\/p>\n<p>2016-08-01 &#8211; futures 0.1.0 &#8211; https:\/\/crates.io\/crates\/futures\/versions<\/p>\n<p>2016-03-29 &#8211; Coroutine VS Futures \u306e\u8b70\u8ad6\u59cb\u307e\u308b &#8211; https:\/\/github.com\/rust-lang\/rfcs\/issues\/1081#issuecomment-202668696<\/p>\n<p>2016-02-29 &#8211; this week in Rust &#8211; https:\/\/this-week-in-rust.org\/blog\/2016\/02\/29\/this-week-in-rust-120\/<\/p>\n<p>2016-02-24 &#8211; Proposal: Unify Sockets, Timers, and Channels &#8211; https:\/\/github.com\/carllerche\/mio\/issues\/360<\/p>\n<p>2016-01-21 &#8211; Rust Version 1.6.0<br \/>\n2016-01-03 &#8211; Async IO in Rust (part III) &#8211; https:\/\/medium.com\/@paulcolomiets\/async-io-in-rust-part-iii-cbfd10f17203<\/p>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30e9\u30a4\u30d6\u30e9\u30ea\u30ec\u30d9\u30eb\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30b9\u30a4\u30c3\u30c1\u306f\u5371\u967a\u3060\u3068\u306e\u8b70\u8ad6<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">mio \u30d9\u30fc\u30b9\u306e\u30bc\u30ed\u30b3\u30b9\u30c8 futures-rs \u3068 tokio-core \u306e\u958b\u767a\u304c\u59cb\u307e\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">rotor, mioco \u306a\u3069\u306e\u305d\u308c\u4ee5\u524d\u306e\u975e\u540c\u671fIO\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u958b\u767a\u7d42\u4e86<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">Raspberry Pi 3<\/ul>\n<hr \/>\n<h3>2015<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2015-12-10 &#8211; Rust Version 1.5.0<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2015-11-13 &#8211; Async IO for Rust (part II) &#8211; https:\/\/medium.com\/@paulcolomiets\/async-io-for-rust-part-ii-33b9a7274e67<\/ul>\n<\/li>\n<\/ul>\n<p>2015-10-04 &#8211; coio-rs &#8211; https:\/\/users.rust-lang.org\/t\/coroutines-for-rust\/3135<\/p>\n<p>2015-09-16 &#8211; Asynchronous IO in Rust in Redit &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/3l5rvd\/asynchronous_io_in_rust\/<\/p>\n<p>2015-09-15 &#8211; Asynchronous IO in Rust &#8211; https:\/\/blog.skcript.com\/asynchronous-io-in-rust-36b623e7b965<\/p>\n<p>2015-08-18 &#8211; rotor 0.1.0 &#8211; https:\/\/crates.io\/crates\/rotor\/versions<\/p>\n<p>2015-08-16 &#8211; Rust Web Framework Iron &#8211; https:\/\/news.ycombinator.com\/item?id=10070312<\/p>\n<p>2015-08-09 &#8211; context-rs 0.1.0<br \/>\n2015-07-26 &#8211; Introducing mioco: MIO COroutines &#8211; async io made easy &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/3em7m7\/introducing_mioco_mio_coroutines_async_io_made\/<\/p>\n<p>2015-07-20 &#8211; rust\u3067telnet\u30c1\u30e3\u30c3\u30c8\u3092\u66f8\u3044\u305f &#8211; http:\/\/gifnksm.hatenablog.jp\/entry\/2015\/07\/20\/232334<\/p>\n<p>2015-07-12 &#8211; My Basic Understanding of mio and Asynchronous IO &#8211; https:\/\/hermanradtke.com\/2015\/07\/12\/my-basic-understanding-of-mio-and-async-io.html<\/p>\n<p>2015-07-10 &#8211; Rust in Detail: Writing Scalable Chat Service from Scratch &#8211; https:\/\/nbaksalyar.github.io\/2015\/07\/10\/writing-chat-in-rust.html<\/p>\n<p>2015-05-23 &#8211; Iron\u3067HTTP\u30b5\u30fc\u30d0\u30fc\u3092\u7acb\u3066\u308b &#8211; https:\/\/qiita.com\/rejasupotaro\/items\/c1b66c2e7eb2d76b799e<\/p>\n<p>2015-05-15 &#8211; Rust Version 1.0.0<\/p>\n<p>2015-04-21 &#8211; Async IO &#8211; https:\/\/github.com\/rust-lang\/rfcs\/issues\/1081<\/p>\n<p>2015-04-13 &#8211; nickel.rs &#8211; https:\/\/github.com\/nickel-org\/nickel.rs\/releases\/tag\/0.2.0<\/p>\n<p>2015-03-03 &#8211; Getting Acquainted with MIO &#8211; https:\/\/hoverbear.org\/2015\/03\/03\/getting-acquainted-with-mio\/<\/p>\n<p>2015-02-11 &#8211; mdo &#8211; https:\/\/crates.io\/crates\/mdo<\/p>\n<p>2015-01-11 &#8211; hyper &#8211; https:\/\/github.com\/hyperium\/hyper\/releases\/tag\/v0.1.0<\/p>\n<hr \/>\n<p>\u3053\u306e\u9803\u306e Rust<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rust 1.0 \u304c\u51fa\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">hyper \u3084 iron\u3001 nickel \u304c\u5229\u7528\u3055\u308c\u306f\u3058\u3081\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u30b9\u30a4\u30c3\u30c1\u30e9\u30a4\u30d6\u30e9\u30ea context-rs \u3068 mio \u3092\u4f7f\u3063\u305f rotor, mioco, coio-rs \u306a\u3069\u304c\u8a66\u307f\u3089\u308c\u308b<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">WebAssembly, AlphaGo, ResNet, R-CNN, Raspberry Pi 2, Raspberry Pi Zero, TypeScript(async-await)<\/ul>\n<hr \/>\n<h3>2014<\/h3>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2014-10-09 &#8211; Rust Version 0.12.0<\/ul>\n<\/li>\n<\/ul>\n<p>2014-09-30 &#8211; mio \u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 &#8211; https:\/\/legacy.gitbook.com\/book\/wycats\/mio-book\/details<\/p>\n<p>2014-09-17 &#8211; Remove libgreen and runtime abstractions &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/17325<\/p>\n<p>2014-09-16 &#8211; https:\/\/github.com\/rust-lang\/meeting-minutes\/blob\/master\/weekly-meetings\/2014-09-16.md#removing-io-runtime-abstractions<\/p>\n<p>2014-09-10 &#8211; \u30e9\u30f3\u30bf\u30a4\u30e0\u3092\u524a\u9664 &#8211; https:\/\/github.com\/aturon\/rfcs\/blob\/remove-runtime\/active\/0000-remove-runtime.md<\/p>\n<p>2014-09-10 &#8211; RFC: Remove runtime system, and move libgreen into an external library &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/230<\/p>\n<p>2014-09-04 &#8211; mio \u306e\u958b\u767a\u958b\u59cb &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/219#issuecomment-54336582<\/p>\n<p>2014-08-30 &#8211; RFC: IO simplification &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/219<\/p>\n<p>2014-07-02 &#8211; Iron \u767b\u5834 &#8211; http:\/\/ironframework.io<\/p>\n<p>2014-07-02 &#8211; Graydon \u304c Swift\u306b\u6c17\u6301\u3061\u3092\u8868\u660e\u3059\u308b &#8211; https:\/\/graydon2.dreamwidth.org\/5785.html<\/p>\n<p>2014-01-09 &#8211; Rust Version 0.9<\/p>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b0\u30ea\u30fc\u30f3\u30b9\u30ec\u30c3\u30c9\u304b\u3089\u30cd\u30a4\u30c6\u30a3\u30d6\u30b9\u30ec\u30c3\u30c9\u30e2\u30c7\u30eb\u3078\u3068\u5909\u66f4\u3055\u308c\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b0\u30ea\u30fc\u30f3\u30b9\u30ec\u30c3\u30c9\u3084\u30e9\u30f3\u30bf\u30a4\u30e0\u306f\u524a\u9664\u3055\u308c\u305f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">mio \u958b\u767a\u958b\u59cb<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">rusti \u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u304c\u6d88\u3048\u305f<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">Swift, Flux, asyncio(Python3.4), asm.js, Emscripten, AWS Lambda, Kubernetes<\/ul>\n<hr \/>\n<h3>2013<\/h3>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2013-09-26 &#8211; Rust Version 0.8<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2013-12-04 &#8211; 5\u5206\u3067\u5206\u304b\u3063\u305f\u3075\u308a\u304c\u3067\u304d\u308bRust\u7d39\u4ecb &#8211; https:\/\/gist.github.com\/voluntas\/a75d38f27982ee0ae28e7a4510fec89b<\/ul>\n<\/li>\n<\/ul>\n<p>2013-08-31 &#8211; Graydon \u304c Rust \u306e\u30c6\u30af\u30cb\u30ab\u30eb\u30ea\u30fc\u30c0\u30fc\u3092\u8f9e\u3081\u308b &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/1lfoaz\/graydon_hoare_steps_down_as_technical_lead_on_rust\/<\/p>\n<p>2013-08-30 &#8211; [rust-dev] changing roles &#8211; https:\/\/mail.mozilla.org\/pipermail\/rust-dev\/2013-August\/005426.html<\/p>\n<p>2013-07-15 &#8211; Rust \u57fa\u790e\u6587\u6cd5\u6700\u901f\u30de\u30b9\u30bf\u30fc (rust 0.7 \u7de8) &#8211; http:\/\/gifnksm.hatenablog.jp\/entry\/2013\/07\/15\/170736<\/p>\n<p>2013-07-12 &#8211; A yield construct in the vein of C# &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/7746<\/p>\n<p>2013-05-31 &#8211; Need a solution for select \/ async events &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/6842<\/p>\n<p>2013-04-03 &#8211; Rust Version 0.6<br \/>\n2013-02-11 &#8211; Write a parallel deque for work stealing &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/4877<\/p>\n<p>2013-01-11 &#8211; Scheduler rewrite with I\/O event loop &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/4419<\/p>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Graydon \u304c Mozilla \u3092\u8f9e\u3081\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Rust \u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u304c C++er, Script\u8a00\u8a9eer, \u95a2\u6570\u578b\u8a00\u8a9eer \u306b\u5225\u308c\u59cb\u3081\u308b<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">ES6Promise, Raspberry Pi, Docker<\/ul>\n<hr \/>\n<h3>2012<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2012-12-22 &#8211; Redesign the I\/O library and traits &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/4248<\/ul>\n<\/li>\n<\/ul>\n<p>2012-12-21 &#8211; Rust Version 0.5<br \/>\n2012-08-03 &#8211; Scheduler work stealing &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/3095<\/p>\n<p>2012-08-03 &#8211; Graydon \u3078\u306e\u30a4\u30f3\u30bf\u30d3\u30e5\u30fc &#8211; https:\/\/www.infoq.com\/jp\/news\/2012\/08\/Interview-Rust<\/p>\n<p>2012-07-02 &#8211; \u4e26\u884c\u8a00\u8a9e Rust &#8211; https:\/\/altenwald.org\/2012\/07\/02\/rust-otro-mas-para-concurrencia\/<\/p>\n<p>2012-02-08 &#8211; Servo \u306e\u958b\u767a\u304c\u30b9\u30bf\u30fc\u30c8<\/p>\n<p>2012-01-20 &#8211; Rust Version 0.1 &#8211; https:\/\/github.com\/steveklabnik\/history-of-rust\/blob\/gh-pages\/index.md<\/p>\n<hr \/>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u3001GC<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">libuv \u3067\u4f5c\u3089\u308c\u305f\u30e9\u30f3\u30bf\u30a4\u30e0<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b0\u30ea\u30fc\u30f3\u30b9\u30ec\u30c3\u30c9\u3001\u30b3\u30eb\u30fc\u30c1\u30f3\u3001 work stealing \u30b9\u30b1\u30b8\u30e5\u30fc\u30e9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30c1\u30e3\u30f3\u30cd\u30eb\u3001\u30a2\u30af\u30bf\u30fc<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Servo \u306e\u958b\u767a\u304c\u30b9\u30bf\u30fc\u30c8<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">Elixir, TypeScript, Unity 4<\/ul>\n<hr \/>\n<h3>2011<\/h3>\n<ul class=\"post-ul\">2011-04-01 &#8211; Future Tense &#8211; https:\/\/www.slideshare.net\/BrendanEich\/future-tense-7782010<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u9803\u306e Rust<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Brendan Eich(JS\u306e\u958b\u767a\u8005)\u306eServo\u306e\u7d39\u4ecb\u30b9\u30e9\u30a4\u30c9\u306b\u51fa\u3066\u304f\u308b\u7a0b\u5ea6<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u7a7a\u767d\u306e\u6642\u4ee3<\/ul>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">JAVA nio(jdk1.7), Kotlin, React, jQuery Deferred, Boost Context \u306f\u3066\u306a\u30d6\u30ed\u30b0<\/ul>\n<hr \/>\n<h3>2006~2010<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2010-11-29 &#8211; Graydon \u306e\u500b\u4eba\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c Mozzila \u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u306a\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>2006: Graydon Hoare \u304c Rust \u3092\u958b\u767a\u958b\u59cb<\/p>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2010-11-29 &#8211; Graydon \u306e\u500b\u4eba\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c Mozzila \u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u306a\u308b &#8211; https:\/\/jaxenter.com\/mozillas-graydon-hoare-working-on-rust-102672.html<\/ul>\n<\/li>\n<\/ul>\n<p>2006: Graydon Hoare \u304c Rust \u3092\u958b\u767a\u958b\u59cb<\/p>\n<hr \/>\n<h4>\u3053\u306e\u6642\u4ee3<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2010: async-await(C#5.0), NaCL<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2009: golang, CoffeeScript, iPhone 3GS, RX(C#5.0), Android 1.6<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2008: epoll, Boost ASIO , Task(C#4.0), node.js, Google Chrome, Github<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2007: libev, Clojure, LINQ(C#3.0), D\u8a00\u8a9e ver2, Clang, Silverlight<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">2006: Firefox 2.0, jQuery1.0, Twitter, AWS<\/ul>\n<p>C10K \u554f\u984c\u3078\u306e\u5bfe\u5fdc\u3068\u3057\u3066 epoll \u30b7\u30b9\u30c6\u30e0\u30b3\u30fc\u30eb\u3092\u4f7f\u3063\u305f\u975e\u540c\u671f\u4e26\u5217 IO \u304c\u666e\u53ca\u3057\u306f\u3058\u3081\u308b\u3002<br \/>\niPhone \u306e\u767a\u660e<\/p>\n<hr \/>\n<h3>2000~2005<\/h3>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2005: gevent(eventlet), GoogleMap, F#<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2004: nginx(AIO), Rails, GMail, Facebook<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2003: libaio(Linux AIO, Linux2.6), Scala, LLVM<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2002: C10K \u554f\u984c, Firefox<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2001: POSIX AIO(POSIX 1003.1b), IE6<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">2000: libevent(poll|select)<\/ul>\n<p>\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306e\u666e\u53ca\u3067 C10K \u304c\u63d0\u5531\u3055\u308c\u306f\u3058\u3081\u308b<\/p>\n<hr \/>\n<h3>1990 \u5e74\u4ee3<\/h3>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1999: IE5<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1998: Netscape Navigator 4, Google<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1997: IE4<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1996: Shockwave Flash, Concurrent Haskell, OCaml<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1995: Apache, JavaScript, Ruby, Haskell 1.3(monad)<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1994: PHP, Java, python1, Perl5, Common Lisp, Amazon<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1991: Concurrent ML, Linux<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">1990: Haskell 1.0, D\u8a00\u8a9e, SML<\/ul>\n<p>\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u304c\u666e\u53ca\u3059\u308b<\/p>\n<hr \/>\n<h3>1980 \u5e74\u4ee3<\/h3>\n<hr \/>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1986: Erlang<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">1983: C++<\/ul>\n<p>\u8a00\u8a9e\u5b9f\u88c5\u304c\u59cb\u307e\u308b<\/p>\n<hr \/>\n<h3>1970 \u5e74\u4ee3<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1978: CSP<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1977: Future(promise)<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1973: Actor<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1972: Prolog, C\u8a00\u8a9e<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">1971: Research Unix V1<\/ul>\n<p>\u57fa\u790e\u7406\u8ad6\u304c\u3067\u304d\u308b<\/p>\n<h2>\u4eca\u307e\u3067 Rust \u306f\u4f55\u3092\u3084\u3063\u3066\u3044\u305f\u306e\u304b\uff1f<\/h2>\n<hr \/>\n<h3>2013 \u5e74\u4ee5\u524d<\/h3>\n<p>\u975e\u540c\u671fIO\u306e\u30e9\u30f3\u30bf\u30a4\u30e0\u30b5\u30dd\u30fc\u30c8\u304c\u3042\u3063\u305f\u304c\u3001 Rust 1.0 \u3067\u6d88\u3048\u305f<\/p>\n<hr \/>\n<h3>2015 \u5e74<\/h3>\n<p>mio + coroutine \u306e\u975e\u540c\u671f\u3000IO\u3000\u304c\u3042\u3063\u305f\u304c\u3001 futures + tokio \u304c\u51fa\u3066\u6d88\u3048\u305f<\/p>\n<hr \/>\n<h3>2017 \u5e74<\/h3>\n<p>tokio-core \u304c\u4e3b\u6d41\u306b\u306a\u3063\u305f\u304c\u3001 tokio runtime + futures0.3 \u3067\u6df7\u6c8c\u3068\u3057\u3066\u3044\u308b<\/p>\n<hr \/>\n<h2>\u6240\u611f<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u74b0\u5883\u5909\u308f\u308a\u3059\u304e<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u6839\u4ed8\u304b\u306a\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u8cfd\u306e\u6cb3\u539f<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Graydon \u304c\u82e6\u8a00\u3092\u5448\u3059<\/ul>\n<h2>\u3042\u308f\u305b\u3066\u8aad\u307f\u305f\u3044<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u975e\u540c\u671f IO \u306b\u3064\u3044\u3066<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Rust \u3067\u5b66\u3076 epoll<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Python \u306e generator \u3067 asyncio.Future Monad \u3068 do \u8a18\u6cd5\u3092\u5b9f\u88c5\u3059\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">JavaScript + generator \u3067 Maybe\u3001 Either\u3001 Promise\u3001 \u7d99\u7d9a\u30e2\u30ca\u30c9\u3068 do \u69cb\u6587\u3092\u5b9f\u88c5\u3057 async-await \u3068\u6bd4\u3079\u3066\u307f\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Boost.ASIO \u3067 callback | coroutine | future \u306b\u3088\u308b\u975e\u540c\u671fIO<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2 \u306e\u8349\u7a3f\u517c\u53c2\u8003\u8cc7\u6599\u96c6\u3067\u3059 \u6700\u8fd1\u306e\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9 Rust \u306e\u8a71\u984c i [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-44955","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>- Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:description\" content=\"\u3053\u306e\u8a18\u4e8b\u306f Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2 \u306e\u8349\u7a3f\u517c\u53c2\u8003\u8cc7\u6599\u96c6\u3067\u3059 \u6700\u8fd1\u306e\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9 Rust \u306e\u8a71\u984c i [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-22T23:02:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T00:54:09+00:00\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/\",\"name\":\"- Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-08-22T23:02:38+00:00\",\"dateModified\":\"2024-04-29T00:54:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"- Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/","og_locale":"zh_CN","og_type":"article","og_description":"\u3053\u306e\u8a18\u4e8b\u306f Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2 \u306e\u8349\u7a3f\u517c\u53c2\u8003\u8cc7\u6599\u96c6\u3067\u3059 \u6700\u8fd1\u306e\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9 Rust \u306e\u8a71\u984c i [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-08-22T23:02:38+00:00","article_modified_time":"2024-04-29T00:54:09+00:00","author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"10 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/","name":"- Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-08-22T23:02:38+00:00","dateModified":"2024-04-29T00:54:09+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44955-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=44955"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44955\/revisions"}],"predecessor-version":[{"id":84278,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44955\/revisions\/84278"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=44955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=44955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=44955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}