{"id":44969,"date":"2023-07-21T20:55:16","date_gmt":"2023-07-22T23:21:48","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/"},"modified":"2024-04-30T14:43:32","modified_gmt":"2024-04-30T06:43:32","slug":"44969-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/","title":{"rendered":""},"content":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f Rust Advent Calendar 2018 \u306e 12 + n \u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002<br \/>\n\u3053\u306e\u8a18\u4e8b\u306f Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2(\u8cc7\u6599\u7de8) \u306e\u7d9a\u5831\u3067\u3059\u3002<\/p>\n<hr \/>\n<p>\u3042\u3051\u307e\u3057\u3066\u304a\u3081\u3067\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002<\/p>\n<p>2018-06 \u304b\u3089\u306e\u975e\u540c\u671f Rust \u306e\u9032\u6357\u3092\u307e\u3068\u3081\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u5e74\u3082\u3088\u308d\u3057\u304f\u304a\u306d\u304c\u3044\u3057\u307e\u3059\u3002<\/p>\n<h2>\u5fd9\u3057\u3044\u4eba\u306e\u305f\u3081\u306e Q&amp;A<\/h2>\n<h3>Q. 2018-12 \u73fe\u5728 \u3044\u307e\u3059\u3050\u975e\u540c\u671f Rust \u3092\u66f8\u304d\u305f\u3044<\/h3>\n<h4>A1. HTTP \u30b5\u30fc\u30d0\u304c\u7acb\u3066\u305f\u3044\u306a\u3089<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">tokio 0.1 + futures 0.1 + hyper 0.12 + hyper-tls or hyper-native-tls<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">actix + futures 0.1 + actix-web 0.7<\/ul>\n<h4>A2. HTTP \u30ea\u30af\u30a8\u30b9\u30c8\u3057\u305f\u3044\u306a\u3089<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">tokio 0.1 + futures 0.1 + hyper 0.12 + hyper-tls or hyper-native-tls<\/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 0.1 + reqwest 0.9<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">actix + futures 0.1 + actix-web 0.7<\/ul>\n<h3>Q. 2018-12 \u73fe\u5728 \u3044\u307e\u3059\u3050 async-await \u3092\u8a66\u3057\u305f\u3044<\/h3>\n<p>A. rust nightly + futures 0.3 + romio or tokio-async-await<\/p>\n<h3>Q. \u3044\u3064 async-await \u306f stable \u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308b\u306e\uff1f<\/h3>\n<p>A. https:\/\/areweasyncyet.rs\/<\/p>\n<h3>Q. tokio \u3084 mio \u3001 futures \u3001 async-await \u306b\u3064\u3044\u3066\u5b66\u3073\u305f\u3044<\/h3>\n<p>A. \u592a\u6587\u5b57 \u306e\u8a18\u4e8b\u3092\u3088\u304f\u8aad\u3080<\/p>\n<h3>Q. async-await \u3001 futures \u3001 tokio \u3001 mio \u3001 tide \u3001 tower \u3001 tower-http \u3001tower-web \u3001 actix \u3001 actix-web \u3063\u3066\u4f55\u304c\u3069\u3046\u9055\u3046\u306e\uff1f<\/h3>\n<p>A. \u3053\u306e\u30da\u30fc\u30b8\u3067\u6c17\u306b\u306a\u308b\u5358\u8a9e\u3092\u30da\u30fc\u30b8\u691c\u7d22\u3057\u3066\u30ea\u30f3\u30af\u5148\u3092\u3088\u304f\u8aad\u3080<\/p>\n<h1>2018-06 \u304b\u3089 2019-02 \u307e\u3067\u306e\u6642\u7cfb\u5217<\/h1>\n<h2>2019-01<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2019-01-11 &#8211; Deno\u3092\u8aad\u3080(1) &#8211; https:\/\/blog.bokuweb.me\/entry\/2019\/01\/11\/102706<\/ul>\n<\/li>\n<\/ul>\n<p>2019-01-10 &#8211; Create tokio-test for tokio testing utilities &#8211; https:\/\/github.com\/tokio-rs\/tokio\/issues\/841<\/p>\n<p>tokio \u306e\u30c6\u30b9\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u304c\u63d0\u6848\u3055\u308c\u305f<\/p>\n<p>2019-01-09 &#8211; reqwest 0.9.6 &#8211; https:\/\/github.com\/seanmonstar\/reqwest\/releases\/tag\/v0.9.6<\/p>\n<p>\u3064\u3044\u306b reqwest \u3067 rustls \u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u305f<\/p>\n<p>2019-01-07 &#8211; The Waker API I: what does a waker do? &#8211; https:\/\/boats.gitlab.io\/blog\/post\/wakers-i\/<\/p>\n<p>futures \u306e\u3057\u304f\u307f\u89e3\u8aac\u8a18\u4e8b<\/p>\n<p>2019-01-04 &#8211; Introduce tokio-trace #827 &#8211; https:\/\/github.com\/tokio-rs\/tokio\/pull\/827 &#8211; https:\/\/github.com\/tokio-rs\/tokio-trace-nursery<\/p>\n<p>\u975e\u540c\u671f\u30ed\u30b0\u3092\u53d6\u308b\u305f\u3081\u306e tokio-trace \u304c\u63d0\u6848\u3055\u308c\u305f<\/p>\n<h2>2018-12<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-12-29 &#8211; areweasyncyet.rs &#8211; Are we async yet? &#8211; https:\/\/github.com\/rust-lang-nursery\/wg-net\/issues\/86 &#8211; https:\/\/github.com\/upsuper\/areweasyncyet.rs &#8211; https:\/\/areweasyncyet.rs\/ &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/ac4sje\/are_we_async_yet\/<\/ul>\n<\/li>\n<\/ul>\n<p>\u975e\u540c\u671f Rust \u306e\u72b6\u6cc1\u304c\u3072\u3068\u76ee\u3067\u5206\u304b\u308b\u30b5\u30a4\u30c8<\/p>\n<p>2018-11-25 &#8211; Rust: Converting AsyncRead and AsyncWrite to Futures, Sinks and Streams &#8211; https:\/\/jsdw.me\/posts\/rust-futures-tokio\/<\/p>\n<p>2018-12-20 &#8211; actix_web \u306f Actor\u30e2\u30c7\u30eb\u3067\u3069\u306e\u3088\u3046\u306bweb\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u634c\u3044\u3066\u3044\u308b\u306e\u304b &#8211; https:\/\/x1.inkenkun.com\/archives\/5890<\/p>\n<p>2018-12-19 &#8211; A great 2018, an even better 2019 &#8211; https:\/\/tokio.rs\/blog\/2018-12-recap-2018\/<\/p>\n<p>tokio-trace \u3068 tokio-async-await \u306e\u767a\u8868<\/p>\n<p>2018-12-18 &#8211; Pin stabilization &#8211; https:\/\/github.com\/rust-lang\/rust\/pull\/56939<\/p>\n<p>2018-12-14 &#8211; async book &#8211; https:\/\/rust-lang.github.io\/async-book\/ &#8211; https:\/\/github.com\/rust-lang\/async-book<\/p>\n<p>\u975e\u540c\u671f rust \u516c\u5f0f\u30ac\u30a4\u30c9\u30d6\u30c3\u30af<br \/>\n\u3053\u308c\u306e\u30ea\u30d0\u30a4\u30d0\u30eb\u3063\u307d\u3044 \u2192 Async in Rust: what you need to know &#8211; https:\/\/aturon.github.io\/apr\/ &#8211; https:\/\/github.com\/aturon\/apr<\/p>\n<p>2018-12-13 &#8211; Rust\u3067\u30b5\u30fc\u30d0\u30ec\u30b9\u3084\u308a\u305f\u3044\u4eba\u304c\u4e00\u756a\u6700\u521d\u306b\u898b\u308b\u5834\u6240 &#8211; https:\/\/qiita.com\/shunp\/items\/8b11450155266d2fcfc1<\/p>\n<p>2018-12-13 &#8211; http-service 0.1.1 &#8211; https:\/\/crates.io\/crates\/http_service<\/p>\n<p>2018-12-13 &#8211; wg-net: Async in Rust, circa 2018 &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/2018\/12\/13\/async-update.html<\/p>\n<p>\u975e\u540c\u671f rust \u306e\u72b6\u6cc1\u5831\u544a<br \/>\nRomio, http-service, tiger \u306a\u308b\u30af\u30ec\u30fc\u30c8\u304c\u767a\u8868\u3055\u308c\u305f<br \/>\ntide \u3092\u63a8\u3057\u3066\u3044\u304f\u3088\u3046\u3060<\/p>\n<p>2018-12-12 &#8211; Rust\u3067\u66f8\u304b\u308c\u305fVMM firecracker\u3092\u8aad\u3082\u3046\uff01(1) &#8211; https:\/\/tomo-wait-for-it-yuki.hatenablog.com\/entry\/2018\/12\/12\/214332<\/p>\n<p>2018-12-12 &#8211; Rust \u306b\u304a\u3051\u308b wasm-bindgen \u3068 wasm-pack \u3068 cargo-web \u3068 stdweb \u306e\u9055\u3044 &#8211; https:\/\/qiita.com\/legokichi\/items\/5d6344314ab6d6633554<\/p>\n<p>JS \u306e Promise \u3068 WASM Rust \u306e Future \u304c\u76f8\u4e92\u904b\u7528\u53ef\u80fd\u306b\u306a\u308a\u3064\u3064\u3042\u308b<\/p>\n<p>2018-12-10 &#8211; Questions about lifetime errors on impl trait &#8211; https:\/\/users.rust-lang.org\/t\/questions-about-lifetime-errors-on-impl-trait\/23064<\/p>\n<p>2018-12-09 &#8211; Inside Rust&#8217;s Async Transform &#8211; https:\/\/blag.nemo157.com\/2018\/12\/09\/inside-rusts-async-transform.html<\/p>\n<p>async-await \u304c\u5177\u4f53\u7684\u306b\u3069\u306e\u3088\u3046\u306b\u30b3\u30eb\u30fc\u30c1\u30f3\uff5c\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u4f7f\u3063\u305f\u30b3\u30fc\u30c9\u306b\u5909\u63db\u3055\u308c\u308b\u304b\u306e\u89e3\u8aac<\/p>\n<p>2018-12-07 &#8211; demo for rust asynchronous io: from mio to stackless coroutine &#8211; https:\/\/github.com\/Hexilee\/async-io-demo<\/p>\n<p>async Rust \u306e\u3057\u304f\u307f\u3092 mio \u304b\u3089 romio \u307e\u3067\u4e01\u5be7\u306b\u89e3\u8aac<\/p>\n<p>2018-12-05 &#8211; Wherefore art thou Romio? &#8211; https:\/\/boats.gitlab.io\/blog\/post\/romio\/ &#8211; https:\/\/github.com\/withoutboats\/romio<\/p>\n<p>tokio \u306e fork\u3002 futures-0.3 + async-await \u304c\u8a66\u305b\u308b\u3002toio \u306f futures-0.1 \u30d9\u30fc\u30b9\u306e\u307e\u307e\u3067 futures-0.3 \u304c\u8a66\u3057\u3065\u3089\u3044\u306e\u3067\u3002<\/p>\n<h2>2018-11<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-11-29 &#8211; Rust Runtime for AWS Lambda &#8211; https:\/\/aws.amazon.com\/jp\/blogs\/opensource\/rust-runtime-for-aws-lambda\/<\/ul>\n<\/li>\n<\/ul>\n<p>2018-11-28 &#8211; net-wg: Rust Web Survey 2018 &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/2018\/11\/28\/wg-net-survey.html<\/p>\n<p>Rocket \u3068 actix-web \u306e\uff12\u5f37\u3002\u305f\u3060\u3057 rocket \u306f\u672a\u3060\u306b\u975e\u540c\u671f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044 &#8211; https:\/\/github.com\/SergioBenitez\/Rocket\/issues\/17#issuecomment-269017203)<\/p>\n<p>2018-11-28 &#8211; Serverless HTTP: Throw down your main! Rustlang Serverless HTTP applications won\u2019t need them where they\u2019re going &#8211; https:\/\/medium.com\/@softprops\/serverless-http-9a58f9b2df60<\/p>\n<p>2018-11-27 &#8211; Tide&#8217;s evolving middleware approach &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/2018\/11\/27\/tide-middleware-evolution.html<\/p>\n<p>2018-11-27 &#8211; Announcing the Firecracker Open Source Technology: Secure and Fast microVM for Serverless Computing &#8211; https:\/\/aws.amazon.com\/jp\/blogs\/opensource\/firecracker-open-source-secure-fast-microvm-serverless\/<\/p>\n<p>2018-11-26 &#8211; \u30b5\u30fc\u30d0\u30fc\u30ec\u30b9Rust\u301cAWS Lambda\u3068Rust\u306e\u30de\u30ea\u30a2\u30fc\u30b8\u30e5\u301c &#8211; https:\/\/speakerdeck.com\/golddranks\/sabaresurust-aws-lambdatorustfalsemariaziyu<\/p>\n<p>2018-11-26 &#8211; Rust\u306eLT\u4f1a\uff01 Rust\u5165\u9580\u8005\u306e\u96c6\u3044 #6 &#8211; https:\/\/rust.connpass.com\/event\/105541\/<\/p>\n<p>2018-11-21 &#8211; https:\/\/twitter.com\/qnighy\/status\/1064901297080459265<br \/>\n\u305d\u3046\u3067\u3059\u3002async\/await\u3067\u306fasync\u95a2\u6570\u3084async\u30d6\u30ed\u30c3\u30af\u81ea\u4f53\u306f\u305f\u3060Future\u3092\u7d44\u307f\u7acb\u3066\u308b\u3060\u3051\u306e\u4eba\u306b\u306a\u308b\u306e\u3067\u305d\u306e\u8fba\u308a\u306e\u6df7\u4e71\u304c\u306a\u304f\u306a\u308b\u306e\u3067\u3001async\/await\u3092\u306f\u3058\u3081\u308b\u3068\u3044\u3044\u3067\u3059<\/p>\n<p>2018-11-19 &#8211; https:\/\/twitter.com\/qnighy\/status\/1064527058091442179<br \/>\nRust\u975e\u540c\u671f\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3067\u4f7f\u308f\u308c\u308bFuture\u3068\u3044\u3046\u4ed5\u7d44\u307f\u306f\u3001async\/await\u3067\u7d44\u307f\u7acb\u3066\u308b\u306e\u3067\u975e\u900f\u904e\u7684\u3067\u3042\u308a\u3001\u900f\u904e\u7684\u306b\u975e\u540c\u671f\u5b9f\u884c\u3055\u308c\u308bgoroutine\u3068\u306f\u4f7f\u3044\u52dd\u624b\u304c\u7d50\u69cb\u9055\u3046\u3002\u305d\u308c\u3068\u306f\u5225\u306e\u8996\u70b9\u304b\u3089\u306e\u9055\u3044\u3068\u3057\u3066\u3001Future\u306f\u547c\u3073\u51fa\u3057\u5143\u306b\u30ad\u30e3\u30f3\u30bb\u30eb\u6a29\u304c\u3042\u308a\u3001await\u306e\u5148\u304c\u5b9f\u884c\u3055\u308c\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308b\u3002<br \/>\n\u305d\u306e\u305f\u3081\u3001\u547c\u3073\u51fa\u3055\u308c\u308b\u5074\u306e\u975e\u540c\u671f\u95a2\u6570\u3067\u660e\u793a\u3057\u306a\u304f\u3066\u3082\u3001\u300c\u3053\u306e\u975e\u540c\u671f\u95a2\u6570\u3092\u5b9f\u884c\u3057\u3066\u30013\u79d2\u4ee5\u5185\u306b\u7d42\u308f\u3089\u306a\u304b\u3063\u305f\u3089\u30ad\u30e3\u30f3\u30bb\u30eb\u300d\u307f\u305f\u3044\u306a\u3053\u3068\u304c\u3067\u304d\u308b\u3002<br \/>\n\u9006\u306b\u8a00\u3046\u3068\u3001\u5404\u7a2e\u975e\u540c\u671f\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u306f\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u308b\u53ef\u80fd\u6027\u3092\u8003\u616e\u3057\u3066\u8a2d\u8a08\u3057\u306a\u3044\u3068\u3044\u3051\u306a\u304f\u306a\u308b\u3002<\/p>\n<p>2018-11-11 &#8211; Rust\u3067futures\u7528Mutex\u3092\u81ea\u4f5c\u3057\u3066\u307f\u308b (\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u7de8) &#8211; https:\/\/qiita.com\/qnighy\/items\/81f060853b9debe2085f<\/p>\n<p>2018-11-11 &#8211; New RFC to stabilize the Future API in Rust. Next stop: stable async\/await! &#8211; https:\/\/twitter.com\/aaron_turon\/status\/1061300546445860865<br \/>\n2018-11-11 &#8211; RFC: stabilize std::task and std::future::Future &#8211; https:\/\/github.com\/rust-lang\/rfcs\/pull\/2592<\/p>\n<p>2018-11-10 &#8211; tokio-serde-json 0.2.0 &#8211; https:\/\/github.com\/carllerche\/tokio-serde-json<\/p>\n<p>2018-11-10 &#8211; tokio-serde 0.3.0 &#8211; https:\/\/github.com\/carllerche\/tokio-serde<\/p>\n<p>serde \u306e\u975e\u540c\u671f\u30a2\u30c0\u30d7\u30bf\u3002 \u975e\u540c\u671f Stream \u306b\u5bfe\u3057\u3066\u30d1\u30fc\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f<\/p>\n<p>2018-11-10 &#8211; Monadic do notation in Rust: Part I &#8211; https:\/\/varkor.github.io\/blog\/2018\/11\/10\/monadic-do-notation-in-rust-part-i.html<\/p>\n<p>\u306a\u305c\u30e2\u30ca\u30c9\u3067\u306f\u306a\u304f\u30b3\u30eb\u30fc\u30c1\u30f3\u306b\u3088\u308b async-await \u3092\u63a1\u7528\u3059\u308b\u306e\u304b\u3068\u3044\u3046\u89e3\u8aac\u8a18\u4e8b<\/p>\n<p>2018-11-08 &#8211; Making progress in await syntax &#8211; https:\/\/boats.gitlab.io\/blog\/post\/await-syntax\/<\/p>\n<p>2018-11-09 &#8211; https:\/\/mobile.twitter.com\/qnighy\/status\/1060879019619405826<br \/>\nboats\u6c0f\u306e\u30d6\u30ed\u30b0\u306b\u3066async\/await\u306e\u69cb\u6587\u306b\u3064\u3044\u3066\u89e6\u308c\u3089\u308c\u3066\u3044\u308b\u3002\u73fe\u5728\u306f\u66ab\u5b9a\u7684\u306bawait!\u3068\u3044\u3046\u30de\u30af\u30ed\u3068\u3057\u3066\u6271\u308f\u308c\u3066\u3044\u308b\u304c\u3001\u672c\u5f53\u306f\u5c02\u7528\u306e\u69cb\u6587\u306b\u3057\u305f\u3044\u3002\u305f\u3060await\u3068?\u6f14\u7b97\u5b50\u306e\u512a\u5148\u9806\u4f4d\u306f\u96e3\u3057\u3044\u5224\u65ad\u304c\u6c42\u3081\u3089\u308c\u308b\u3002\u307e\u305a\u306f\u4e21\u65b9\u306b\u524d\u65b9\u4e92\u63db\u306a\u69cb\u6587\u3060\u3051\u3092\u8a31\u3059\u306e\u304c\u3044\u3044\u3060\u308d\u3046\u3068\u3044\u3046\u7d50\u8ad6<\/p>\n<p>2018-11-08 &#8211; [Stabilization] Pin APIs &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/55766<\/p>\n<p>2018-11-08 &#8211; https:\/\/twitter.com\/qnighy\/status\/1060342302877470720<br \/>\nPin API\u306e\u5b89\u5b9a\u5316\u304c\u63d0\u6848\u3055\u308c\u305f\u3002\u666e\u6bb5\u3060\u3068\u3053\u3093\u306a\u306b\u901f\u304f\u306a\u3044\u3068\u601d\u3046\u306e\u3067\u3001\u3084\u306f\u308aasync\/await\u306e\u6574\u5099\u304c\u6025\u304c\u308c\u3066\u3044\u308b\u3068\u3044\u3046\u611f\u3058\u304c\u3042\u308b\u3002Pin API\u3001\u7279\u306bUnpin\u306e\u610f\u5473\u306f\u3001\u3084\u306f\u308a\u96e3\u3057\u3044\u3088\u3046\u3060\u3002\u305d\u308c\u306a\u308a\u306bRust\u306b\u6163\u308c\u305f\u4eba\u3067\u3082\u305d\u306e\u5185\u5bb9\u3092\u7406\u89e3\u3059\u308b\u306e\u306b\u82e6\u6226\u3057\u3066\u3044\u308b\u3063\u307d\u3044\u3002<\/p>\n<p>2018-11-07 &#8211; Middleware in Tide &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/2018\/11\/07\/tide-middleware.html<\/p>\n<p>2018-11-01 &#8211; Rust\u901f\u7fd2\u4f1a(3) Web\u30b5\u30fc\u30d0 &#8211; https:\/\/speakerdeck.com\/qnighy\/rustsu-xi-hui-3<\/p>\n<p>\u975e\u540c\u671f Rust \u5165\u9580 \u65e5\u672c\u8a9e\u30aa\u30b9\u30b9\u30e1\u8a18\u4e8b<\/p>\n<h1>2018-10<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-10-29 &#8211; Finding and fixing memory leaks in a Hyper application &#8211; https:\/\/blog.1aim.com\/2018\/10\/finding-and-fixing-memory-leaks-in-a-hyper-application-or-how-i-learned-to-stop-worrying-and-love-the-allocator\/<\/ul>\n<\/li>\n<\/ul>\n<p>2018-10-29 &#8211; Announcing Gotham 0.3 &#8211; https:\/\/gotham.rs\/blog\/release\/2018\/10\/29\/gotham-0.3.html<\/p>\n<p>2018-10-27 &#8211; [Rust] [tokio]Future\u306e\u5b9f\u88c5\u3068async\/await &#8211; https:\/\/qiita.com\/maueki\/items\/b40deb303eb85940ce70<\/p>\n<p>2018-10-26 &#8211; Rust\u88fd\u306e\u5206\u6563\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30b9\u30c8\u30ec\u30fc\u30b8\u3092OSS\u3068\u3057\u3066\u516c\u958b\u3057\u307e\u3057\u305f &#8211; https:\/\/dwango.github.io\/articles\/frugalos\/<\/p>\n<p>\u975e\u540c\u671f Rust \u304c\u78ba\u7acb\u3055\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u3053\u308d\u306e\u82e6\u52b4\u8a71\u306f\u5fc5\u8aad<\/p>\n<p>2018-10-26 &#8211; Actix Web Async\/Await Preview &#8211; https:\/\/github.com\/mehcode\/actix-web-async-await<\/p>\n<p>2018-10-20 &#8211; https:\/\/twitter.com\/qnighy\/status\/1053546425273872389<br \/>\nRust\u306e\u975e\u540c\u671f\u306b\u3064\u3044\u3066\u3002\u307e\u305afutures-0.3, tokio, pin, async\/await\u3068\u3044\u3046\u7d44\u307f\u5408\u308f\u305b\u306b\u306a\u3063\u3066\u3044\u304f\u306e\u306f\u307b\u307c\u65e2\u5b9a\u8def\u7dda\u3060\u3068\u601d\u3046\u3002\u305f\u3060\u65e2\u5b58\u306e\u975e\u540c\u671f\u30e9\u30a4\u30d6\u30e9\u30ea\u306ffutures-0.1\u3067\u4f5c\u3063\u3066\u3057\u307e\u3063\u305f\u3082\u306e\u304c\u7d50\u69cb\u3042\u308b\u306e\u3067(tokio\u81ea\u8eab\u3082\u305d\u3046)\u3001\u4eca\u975e\u540c\u671f\u3092\u3084\u308d\u3046\u3068\u3059\u308b\u3068\u305d\u3053\u306e\u4ed8\u304d\u5408\u3044\u65b9\u304c\u96e3\u3057\u3044\u3002<br \/>\n\u3067\u3001\u3053\u306e\u3042\u305f\u308a\u304c\u672a\u6210\u719f\u3067\u98db\u3073\u8fbc\u307f\u3065\u3089\u3044\u306e\u3092\u30e9\u30a4\u30d6\u30e9\u30ea\u958b\u767a\u8005\u3082\u308f\u304b\u3063\u3066\u3044\u3066\u3001\u7279\u306bDB\u3067\u306fdiesel\u3084r2d2\u306a\u3069\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u307e\u3060\u975e\u540c\u671f\u5bfe\u5fdc\u3092\u958b\u59cb\u3057\u3066\u3044\u306a\u3044\u3002(\u3067\u3082\u305d\u308d\u305d\u308dfutures-0.3\u3092\u524d\u63d0\u306b\u975e\u540c\u671f\u5bfe\u5fdc\u3092\u59cb\u3081\u3066\u3082\u554f\u984c\u306a\u3044\u6c17\u306f\u3059\u308b)<br \/>\n\u3042\u3068\u306fWeb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u8987\u6a29\u304c\u6c7a\u307e\u3063\u3066\u307b\u3057\u3044\u3002Actix-Web\u304c\u66ab\u5b9a\u3067\u6700\u5f37\u3060\u3068\u601d\u3063\u3066\u3044\u308b\u3051\u3069\u3001Tower-Web\u3068\u304b\u306b\u3082\u671f\u5f85\u3057\u305f\u3044\u3002<\/p>\n<p>2018-10-17 &#8211; futures-0.3.0-alpha.8 &#8211; https:\/\/github.com\/rust-lang-nursery\/futures-rs\/releases\/tag\/0.3.0-alpha.8<\/p>\n<p>futures \u306e 0.3 \u3068 0.1 \u306e\u30a2\u30c0\u30d7\u30bf\u304c\u5b9f\u88c5\u3055\u308c\u305f<\/p>\n<p>2018-10-05 &#8211; Future\u3068\u305d\u306e\u5468\u8fba \u60c5\u5831\u79d1\u5b66\u82e5\u624b\u306e\u4f1a #51 &#8211; https:\/\/keens.github.io\/slide\/futuretosonoshuuhensa_bei\/<\/p>\n<p>\u975e\u540c\u671f Rust \u306e futures \u3001\u30b3\u30eb\u30fc\u30c1\u30f3\u5165\u9580\u30b9\u30e9\u30a4\u30c9<\/p>\n<h1>2018-09<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-09-29 &#8211; Tower Web 0.3\u200a\u2014\u200aasync\/await and template support &#8211; https:\/\/medium.com\/@carllerche\/tower-web-0-3-async-await-and-template-support-e0bb8ed47941<\/ul>\n<\/li>\n<\/ul>\n<p>2018-09-26 &#8211; AUTH WEB MICROSERVICE WITH RUST USING ACTIX-WEB &#8211; COMPLETE TUTORIAL PART 3 &#8211; https:\/\/gill.net.in\/posts\/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-3\/<\/p>\n<p>2018-09-22 &#8211; Rust \u52c9\u5f37\u30e1\u30e2: futures (LocalPool\u3068ThreadPool) &#8211; https:\/\/qiita.com\/S-YOU\/items\/07dbf8575cd9efcae30c<\/p>\n<p>2018-09-20 &#8211; tokio-trace-prototype &#8211; https:\/\/github.com\/hawkw\/tokio-trace-prototype<\/p>\n<p>2018-09-20 &#8211; Implementing SCTP to support WebRTC data channels in pure Rust -https:\/\/cafbit.com\/post\/rust_webrtc_data_channels\/<\/p>\n<p>2018-09-13 &#8211; The Networking Working Group Newsletter &#8211; 01 &#8211; https:\/\/internals.rust-lang.org\/t\/the-networking-working-group-newsletter-01\/8391<\/p>\n<p>2018-09-12 &#8211; actix-net 0.1.0 &#8211; https:\/\/github.com\/actix\/actix-net<\/p>\n<p>2018-09-11 &#8211; Rising Tide: building a modular web framework in the open &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/2018\/09\/11\/tide.html<\/p>\n<p>\u4e71\u7acb\u3059\u308bWeb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u9593\u306e\u76f8\u4e92\u904b\u7528\u6027\u3092\u6539\u5584\u3059\u308b Tide \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u89e3\u8aac<\/p>\n<p>2018-09-09 &#8211; Tower Web\u200a\u2014\u200aExpanding the middleware stack &#8211; https:\/\/medium.com\/@carllerche\/tower-web-expanding-the-middleware-stack-f9bf55bfa109<\/p>\n<p>2018-09-04 &#8211; Adventures in Rust: Futures and Tokio &#8211; http:\/\/bryangilbert.com\/post\/code\/rust\/adventures-futures-tokio-rust\/<\/p>\n<p>2018-09-06 &#8211; Net Web WG Meeting #1 &#8211; https:\/\/github.com\/rust-lang-nursery\/wg-net\/blob\/master\/meetings\/2018-09-06-net-web-wg.md<\/p>\n<p>2018-09-02 &#8211; isucon7\u4e88\u9078\u306e\u30a2\u30d7\u30ea\u3092Rust\u306b\u79fb\u690d\u3057\u305f\u304b\u3089\u89e3\u8aac\u3059\u308b\u306d &#8211; https:\/\/keens.github.io\/blog\/2018\/09\/02\/isucon7yosennoapuriworustniishokushitakarakaisetsusurune\/<\/p>\n<h1>2018-08<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-08-31 &#8211; wg-net: Net WG Lead Meeting #1 &#8211; https:\/\/github.com\/rust-lang-nursery\/wg-net\/blob\/master\/meetings\/2018-08-31-net-wg-leads.md<\/ul>\n<\/li>\n<\/ul>\n<p>2018-08-29 &#8211; Port FlatBuffers to Rust &#8211; https:\/\/github.com\/google\/flatbuffers\/pull\/4898<\/p>\n<p>2018-08-28 &#8211; AUTH WEB MICROSERVICE WITH RUST USING ACTIX-WEB &#8211; COMPLETE TUTORIAL PART 2 &#8211; https:\/\/gill.net.in\/posts\/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-2\/<\/p>\n<p>2018-08-28 &#8211; Tokio async\/await preview &#8211; https:\/\/github.com\/tokio-rs\/tokio\/tree\/master\/tokio-async-await<\/p>\n<p>2018-08-28 &#8211; Feasible functors in Rust &#8211; https:\/\/varkor.github.io\/blog\/2018\/08\/28\/feasible-functors-in-rust.html<\/p>\n<p>\u306a\u305c\u30e2\u30ca\u30c9\u3067\u306f\u306a\u304f\u30b3\u30eb\u30fc\u30c1\u30f3\u3092\u4f7f\u3063\u305f async-await \u306a\u306e\u304b\u3068\u3044\u3046\u554f\u984c\u63d0\u8d77\u306b\u5bfe\u3059\u308b\u8003\u5bdf<\/p>\n<p>2018-08-27 &#8211; Experimental async \/ await support for Tokio &#8211; https:\/\/tokio.rs\/blog\/2018-08-async-await\/ &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/9as61i\/tokio_experimental_async_await_support\/<\/p>\n<p>2018-08-24 &#8211; Tokio 0.1.8 with many incremental improvements &#8211; https:\/\/tokio.rs\/blog\/2018-08-incremental-improvements\/<\/p>\n<p>2018-08-22 &#8211; Another look at the pinning API &#8211; https:\/\/boats.gitlab.io\/blog\/post\/rethinking-pin\/<\/p>\n<p>2018-08-19 &#8211; Rust \/ yew \u3067 \u4eee\u60f3DOM\u306a\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u3063\u3066\u307f\u305f &#8211; https:\/\/qiita.com\/mizchi\/items\/30e32dccf36a0610daef<\/p>\n<p>2018-08-18 &#8211; AUTH WEB MICROSERVICE WITH RUST USING ACTIX-WEB &#8211; COMPLETE TUTORIAL PART 1 &#8211; https:\/\/gill.net.in\/posts\/auth-microservice-rust-actix-web-diesel-complete-tutorial-part-1\/<\/p>\n<p>2018-08-17 &#8211; Test utility for mocking a Tokio task &#8211; https:\/\/github.com\/carllerche\/tokio-mock-task<\/p>\n<p>2018-08-17 &#8211; toykio (Fahrenheit) &#8211; https:\/\/rust-lang-nursery.github.io\/futures-rs\/blog\/2018\/08\/17\/toykio.html<\/p>\n<p>fahrenheit (formerly known as toykio) &#8211; https:\/\/github.com\/polachok\/fahrenheit<\/p>\n<p>2018-08-16 &#8211; Rust GraphQL webserver with Warp, Juniper and MongoDB &#8211; http:\/\/alex.amiran.it\/post\/2018-08-16-rust-graphql-webserver-with-warp-juniper-and-mongodb.html<\/p>\n<p>2018-08-15 &#8211; Futures 0.3.0-alpha.3 &#8211; https:\/\/rust-lang-nursery.github.io\/futures-rs\/blog\/2018\/08\/15\/futures-0.3.0-alpha.3.html<\/p>\n<p>2018-08-15 &#8211; Tower Web 0.2\u200a\u2014\u200aNow 100% comment attribute free. &#8211; https:\/\/medium.com\/@carllerche\/tower-web-0-2-now-100-comment-attribute-free-3ed0633e47e5<\/p>\n<p>2018-08-10 &#8211; Call For Example Web Projects &#8211; https:\/\/github.com\/rust-lang-nursery\/wg-net\/issues\/44<\/p>\n<p>2018-08-10 &#8211; Tower Web\u200a\u2014\u200aA new web framework for Rust &#8211; https:\/\/medium.com\/@carllerche\/tower-web-a-new-web-framework-for-rust-e2912856851b<\/p>\n<p>\u975e\u540c\u671f\u30ea\u30af\u30a8\u30b9\u30c8\u30ec\u30b9\u30dd\u30f3\u30b9\u30e2\u30c7\u30eb\u3092\u62bd\u8c61\u5316\u3059\u308b\u30af\u30ec\u30fc\u30c8 tower \u3092\u4f7f\u3063\u305f web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u7d39\u4ecb\u8a18\u4e8b<\/p>\n<p>tower \u81ea\u4f53\u306f \u30d7\u30e9\u30ac\u30d6\u30eb\u306a http \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u5b9f\u73fe\u3059\u308b\u30af\u30ec\u30fc\u30c8 &#8211; https:\/\/github.com\/hyperium\/http\/issues\/288<\/p>\n<p>http \u306a\u3089 tower-http, gRPC \u306a\u3089 towor-grpc \u306a\u3069<\/p>\n<p>2018-08-09 &#8211; MONADS AND RUST A THREAD &#8211; or &#8211; why async\/await instead of do notation &#8211; https:\/\/twitter.com\/withoutboats\/status\/1027702531361857536<\/p>\n<p>\u306a\u305c\u30e2\u30ca\u30c9\u3067\u306f\u306a\u304f\u30b3\u30eb\u30fc\u30c1\u30f3\u3092\u4f7f\u3063\u305f async-await \u306a\u306e\u304b\u3068\u3044\u3046\u554f\u984c\u63d0\u8d77<\/p>\n<p>2018-08-09 &#8211; New crate: pin-cell &#8211; https:\/\/boats.gitlab.io\/blog\/post\/pin-cell\/<\/p>\n<p>2018-08-09 &#8211; The WG-Net vision for Rust 2018 &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/2018\/08\/09\/going-live.html<\/p>\n<p>Async Foundations &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/async-foundations\/<\/p>\n<p>futures-0.3 \u3068 async-await \u3092\u958b\u767a\u3059\u308b\u30b0\u30eb\u30fc\u30d7<\/p>\n<p>Embedded Foundations &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/embedded-foundations\/<\/p>\n<p>\u7d44\u307f\u8fbc\u307f\u5411\u3051\u306e\u975e\u540c\u671f IO \u3092\u958b\u767a\u3059\u308b\u30b0\u30eb\u30fc\u30d7<\/p>\n<p>Web Foundations &#8211; https:\/\/rust-lang-nursery.github.io\/wg-net\/web-foundations\/<\/p>\n<p>Web \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u89e3\u8aac\u3084 Tide \u3092\u958b\u767a\u3059\u308b\u30b0\u30eb\u30fc\u30d7<\/p>\n<p>2018-08-07 &#8211; embrio-rs &#8211; https:\/\/github.com\/Nemo157\/embrio-rs<\/p>\n<p>no_std \u74b0\u5883\u3067\u306e\u975e\u540c\u671f IO \u30af\u30ec\u30fc\u30c8<\/p>\n<p>2018-08-05 &#8211; Async Iron with Hyper tokio using a cpupool. &#8211; https:\/\/github.com\/iron\/iron\/pull\/523<\/p>\n<p>2018-08-03 &#8211; https:\/\/medium.com\/@saschagrunert\/lessons-learned-on-writing-web-applications-completely-in-rust-2080d0990287<\/p>\n<p>2018-08-03 &#8211; wg-net: meeting &#8211; https:\/\/github.com\/rust-lang-nursery\/wg-net\/blob\/master\/meetings\/2018-08-03.md<\/p>\n<p>2018-08-02 &#8211; https:\/\/twitter.com\/qnighy\/status\/1025336774841663488 &#8211; https:\/\/github.com\/rust-lang\/rust\/issues\/49150#issuecomment-409939585<br \/>\nPin API\u306fimmovable type\u3092\u64ec\u4f3c\u7684\u306b\u3001\u3057\u304b\u3082\u30b3\u30f3\u30d1\u30a4\u30e9\u3092\u5927\u304d\u304f\u5909\u66f4\u305b\u305a\u306b\u5b9f\u73fe\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3042\u308b\u3002Pin API\u306fasync fn\u306e\u305f\u3081\u306b\u8a66\u9a13\u7684\u306b\u5b9f\u88c5\u3055\u308c\u3066\u3044\u305f\u304c\u3001boats\u6c0f\u3068Ralf Jung\u6c0f\u304c\u3053\u306e\u305f\u3073\u3001\u672cAPI\u306e\u5b89\u5b9a\u5316\u3092\u76ee\u6307\u3059\u610f\u5411\u3092\u6c7a\u3081\u305f\u3002<\/p>\n<p>2018-08-01 &#8211; Rust \u3067\u30af\u30ed\u30b9\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u3066 Raspberry Pi Zero W \u3067\u52d5\u304b\u3059 &#8211; https:\/\/qiita.com\/legokichi\/items\/b78de0df844e63e77a12<\/p>\n<p>2018-08-01 &#8211; Rust LT #2 \u301c\u3044\u307e\u4f7f\u3046\uff01Rust\u301c &#8211; https:\/\/rust.connpass.com\/event\/91177\/<\/p>\n<p>2018-08-01 &#8211; warp &#8211; https:\/\/seanmonstar.com\/post\/176530511587\/warp &#8211; https:\/\/users.rust-lang.org\/t\/announcing-warp-a-new-web-framework\/19280 &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/93tcxs\/warp_a_new_web_framework_for_rust\/ &#8211; https:\/\/github.com\/seanmonstar\/warp<\/p>\n<h2>2018-07<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-07-31 &#8211; Rust-Cookbook: Web Programming https:\/\/rust-lang-nursery.github.io\/rust-cookbook\/web.html<\/ul>\n<\/li>\n<\/ul>\n<p>2018-07-30 &#8211; Futures 0.3.0-alpha.2 &#8211; https:\/\/rust-lang-nursery.github.io\/futures-rs\/blog\/2018\/07\/30\/futures-0.3.0-alpha.2.html<\/p>\n<p>2018-07-27 &#8211; wg-net: Kickoff meeting &#8211; https:\/\/github.com\/rust-lang-nursery\/wg-net\/blob\/master\/meetings\/2018-07-27.md<\/p>\n<p>2018-07-26 &#8211; Artifact 2.0 Rust Full Stack Web And Cli Application &#8211; https:\/\/vitiral.github.io\/2018\/07\/16\/artifact-2.0-rust-full-stack-web-and-cli-application.html<\/p>\n<p>2018-07-23 &#8211; tokio-uds \u3067 docker.sock \u3092\u53e9\u304f &#8211; https:\/\/qiita.com\/legokichi\/items\/736495610b23350bf826<\/p>\n<p>2018-07-22 &#8211; A static web app in Rust &#8211; https:\/\/bluejekyll.github.io\/blog\/rust\/2018\/07\/22\/static-web-app-rust.html<\/p>\n<p>2018-07-22 &#8211; https:\/\/twitter.com\/qnighy\/status\/1020935950585643009<br \/>\n\u4eca\u4eba\u9593\u3092\u3084\u3081\u305f\u3044\u4eba\u306b\u30aa\u30b9\u30b9\u30e1\u306a\u306e\u304cfutures-0.1\/tokio\u3067\u3001\u3053\u308c\u3067\u3061\u3083\u3093\u3068\u3057\u305f\u975e\u540c\u671fI\/O\u3092\u66f8\u3053\u3046\u3068\u3059\u308b\u3068\u300casync\/await\u304c\u306a\u3044\u300d\u300c\u6240\u6709\u6a29\u3092\u8907\u88fd\u3067\u304d\u306a\u3044\u300d\u300c\u53c2\u7167\u3082\u3068\u308c\u306a\u3044\u300d\u306e3\u91cd\u82e6\u3067\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u5974\u96b7\u306b\u306a\u3063\u305f\u6c17\u5206\u3092\u5473\u308f\u3048\u307e\u3059\u3002 \u5e74\u5185\u306b\u306fasync\/await\u304c\u5165\u3063\u3066\u4eba\u6a29\u304c\u56de\u5fa9\u3055\u308c\u308b\u3068\u601d\u3046\u306e\u3067\u4eca\u306e\u3046\u3061\u3067\u3059\u4eca\u4eba\u9593\u3092\u3084\u3081\u305f async\/await\u304c\u306a\u3044\u2192\u3044\u308f\u3086\u308b\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u5730\u7344\u307f\u305f\u3044\u306b\u306a\u308b \u6240\u6709\u6a29\u3092\u8907\u88fd\u3067\u304d\u306a\u3044\u2192\u4ed6\u8a00\u8a9e\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u5730\u7344\u306b\u4e00\u5473\u8db3\u3057\u3066\u3044\u308b \u53c2\u7167\u3082\u3068\u308c\u306a\u3044\u2192Rust\u3089\u3057\u3044\u66f8\u304d\u65b9\u3082\u304b\u306a\u308a\u5236\u7d04\u3092\u53d7\u3051\u308b \u4e00\u65b9\u3067\u578b\u306f\u3061\u3083\u3093\u3068\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u30b3\u30f3\u30d1\u30a4\u30e9\u304cOK\u3068\u8a00\u3046\u307e\u3067\u3042\u308c\u3053\u308c\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u3092\u8abf\u6574\u3059\u308b\u4f5c\u696d\u30b2\u30fc\u306b\u306a\u308b \u3061\u306a\u307f\u306bfutures-await\u3092\u4f7f\u3046\u30681\u3060\u3051\u53d6\u308a\u9664\u304b\u308c\u307e\u3059\u3002 (1\u30683\u3092\u89e3\u6c7a\u3059\u308b\u306b\u306f\u7d44\u307f\u8fbc\u307f\u306easync\/await\u3092\u5f85\u3064\u5fc5\u8981\u304c\u3042\u308b\u30023\u304c\u3067\u304d\u308c\u30702\u306e\u82e6\u3057\u307f\u306f\u304b\u306a\u308a\u7de9\u548c\u3055\u308c\u308b\u3068\u601d\u3046)<\/p>\n<p>2018-07-19 &#8211; Futures 0.3.0-alpha.1 &#8211; https:\/\/rust-lang-nursery.github.io\/futures-rs\/blog\/2018\/07\/19\/futures-0.3.0-alpha.1.html<\/p>\n<p>2018-07-19 &#8211; Futures-rs: New Website &#8211; https:\/\/rust-lang-nursery.github.io\/futures-rs\/blog\/2018\/07\/19\/new-website.html<\/p>\n<p>2018-07-18 &#8211; Rebooting the network services working group &#8211; https:\/\/internals.rust-lang.org\/t\/rebooting-the-network-services-working-group\/8036<\/p>\n<p>2018-07-17 &#8211; async iron &#8211; https:\/\/github.com\/iron\/iron\/pull\/523#event-1732656179<\/p>\n<p>2018-07-16 &#8211; Tokio \u3068 Future \u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3068\u304b\u306e\u307e\u3068\u3081+\u03b1 &#8211; https:\/\/raskr.hatenablog.com\/entry\/2018\/07\/16\/214420<\/p>\n<p>2018-07-15 &#8211; Tsukuyomi + Juniper \u3067 GraphQL \u30b5\u30fc\u30d0\u3092\u4f5c\u308b &#8211; https:\/\/qiita.com\/ubnt_intrepid\/items\/e6b979a500655a3d7666<\/p>\n<p>2018-07-14 &#8211; tokio \u306e work steal algorithm \u3078\u306e\u8cea\u554f &#8211; https:\/\/github.com\/tokio-rs\/tokio\/issues\/424#issuecomment-404981619<\/p>\n<p>2018-07-10 &#8211; Rust + actix-web in the on of the biggest music festival Atlas Weekend &#8211; https:\/\/www.reddit.com\/r\/rust\/comments\/8xdsx5\/rust_actixweb_in_the_on_of_the_biggest_music\/<\/p>\n<p>2018-07-09 &#8211; Rust Rocket\u3067\u306eWebAPI\u30b5\u30fc\u30d0\u30fc\u306e\u66f8\u304d\u65b9\u3092\u89e3\u8aac\u3057\u3066\u307f\u308b &#8211; https:\/\/qiita.com\/yukinarit\/items\/c5128e67d168b4f39983<\/p>\n<p>2018-07-08 &#8211; webapp.rs &#8211; https:\/\/medium.com\/@saschagrunert\/a-web-application-completely-in-rust-6f6bdb6c4471 &#8211; https:\/\/github.com\/saschagrunert\/webapp.rs<\/p>\n<p>emscripten, stdweb, yew \u3092\u4f7f\u3063\u305f\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9 Rust \u306e\u30c7\u30e2<\/p>\n<p>2018-07-02 &#8211; rust \u306e\u975e\u540c\u671f IO \u30e9\u30a4\u30d6\u30e9\u30ea tokio-core \u3068 tokio runtime \u3068 actix 0.5 \u3068 actix 0.6 \u3067\u30bf\u30a4\u30de\u30fc\u306e\u6bd4\u8f03 &#8211; https:\/\/qiita.com\/legokichi\/items\/8ab8693e3ae3078fab24<\/p>\n<h2>2018-06<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">2018-06-30 &#8211; https:\/\/twitter.com\/qnighy\/status\/1012987599529472001<\/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\">futures-0.2\u304cyank\u3055\u308c\u305f\u3068\u3044\u3046\u8a71\u304c\u3042\u3063\u305f\u304c\u3001\u3053\u308c\u306f\u73fe\u5728\u306e\u5b89\u5b9a\u7248\u3068\u533a\u5225\u3059\u308b\u305f\u3081\u306bfutures-preview-0.2\u306b\u6539\u540d\u3055\u308c\u305f\u3068\u3044\u3046\u3053\u3068\u3089\u3057\u3044\u3002<\/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\">\u3082\u3068\u3082\u3068Future\u30d9\u30fc\u30b9\u306e\u975e\u540c\u671fI\/O\u30e9\u30a4\u30d6\u30e9\u30eatokio\u304b\u3089I\/O\u306b\u4f9d\u5b58\u3057\u306a\u3044\u90e8\u5206\u3092\u62bd\u51fa\u3057\u305f\u306e\u304cfutures-0.1\u3067\u3001\u305d\u308c\u3092\u6539\u826f(crate\u5206\u5272\u3001Future\u306eAPI\u3092\u5909\u66f4)\u3057\u305f\u306e\u304cfutures-0.2\u3060\u3063\u305f\u3002 \u73fe\u5728\u306etokio\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u306f\u57fa\u672c\u7684\u306bfutures-0.1\u3092\u4e2d\u5fc3\u306b\u52d5\u3044\u3066\u3044\u308b\u3002<\/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\">async\/await\u30b5\u30dd\u30fc\u30c8\u306e\u305f\u3081\u306bfutures-0.2\u306e\u30b3\u30a2\u90e8\u5206\u3092\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u53d6\u308a\u5165\u308c\u308b\u3053\u3068\u306b\u306a\u308a\u3001\u305d\u308c\u306b\u3068\u3082\u306a\u3044\u3055\u3089\u306bAPI\u304c\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u306b\u306a\u3063\u305f\u3002\u3053\u308c\u306b\u3088\u308afutures\u306f0.3\u306b\u306a\u308b\u3053\u3068\u306b\u306a\u3063\u305f\u3002<\/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\">0.2\u306b\u305b\u30880.3\u306b\u305b\u3088\u3001\u73fe\u5728\u306etokio\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3068\u4e92\u63db\u6027\u304c\u306a\u3044\u306e\u3067\u3001\u3053\u308c\u304c &#8220;futures\u306e\u6700\u65b0\u30d0\u30fc\u30b8\u30e7\u30f3&#8221; \u3068\u3057\u3066\u51fa\u3066\u304f\u308b\u306e\u306f\u826f\u304f\u306a\u3044\u3001\u3068\u3044\u3046\u306e\u304c\u591a\u5206\u6539\u540d\u306e\u7406\u7531\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>2018-06-27 &#8211; futures-0.2 \u304c yank &#8211; https:\/\/users.rust-lang.org\/t\/futures-0-2-has-been-moved-to-futures-preview\/18329 &#8211; https:\/\/github.com\/rust-lang-nursery\/futures-rs\/issues\/1039<\/p>\n<p>2018-06-27 &#8211; Azure\/iotedge 1.0.0 &#8211; https:\/\/github.com\/Azure\/iotedge\/tree\/master\/edgelet &#8211; https:\/\/twitter.com\/maxgortman\/status\/1012011425353461760<\/p>\n<p>2018-06-27 &#8211; Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2(\u8cc7\u6599\u7de8) &#8211; https:\/\/qiita.com\/legokichi\/items\/82140896c67da3f87a42<\/p>\n<p>2018-06-26 &#8211; Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2 &#8211; https:\/\/qiita.com\/legokichi\/items\/882bcacd12870d087555<\/p>\n<p>2018-06-26 &#8211; Rust LT #1 &#8211; https:\/\/rust.connpass.com\/event\/88656\/<\/p>\n<p>2018-06-23 &#8211; asynx\/await &#8211; https:\/\/github.com\/rust-lang\/rust\/pull\/51580?w=1#issuecomment-399665846<\/p>\n<p>2018-06-23 &#8211; Rust \u3067\u5b66\u3076 epoll &#8211; https:\/\/qiita.com\/legokichi\/items\/7b16ab18d66485ace1c6<\/p>\n<p>2018-06-19 &#8211; Why Rust&#8217;s async functions should use the outer return type approach &#8211; https:\/\/github.com\/MajorBreakfast\/rust-blog\/blob\/master\/posts\/2018-06-19-outer-return-type-approach.md<\/p>\n<p>2018-06-11 &#8211; Tokio \u306e Blocking API \u3092\u8a66\u3059 &#8211; https:\/\/qiita.com\/legokichi\/items\/30e577d996851b6b3ba1<\/p>\n<p>2018-06-11 &#8211; actix \u2013 an actor framework for the Rust programming language &#8211; https:\/\/simplabs.com\/blog\/2018\/06\/11\/actix.html<\/p>\n<p>2018-06-11 &#8211; Actix::From(Rocket) &#8211; https:\/\/noyez.gitlab.io\/post\/2018-06-11-rocket-to-actix\/<\/p>\n<p>2018-06-09 &#8211; Rust Web\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306eACTIX\u3067\u4f7f\u3046\u5b89\u5168\u306a\u30bb\u30c3\u30b7\u30e7\u30f3\u7ba1\u7406\u6a5f\u69cb\u3092\u8003\u3048\u3066\u307f\u308b &#8211; https:\/\/qiita.com\/segfo\/items\/8d992320184fa0a41157<\/p>\n<p>2018-06-07 &#8211; Rust\u3067HTTP\/2+TLS\u5bfe\u5fdc\u306aWebAPI\u306e\u5165\u53e3\u3092\u4f5c\u3063\u3066\u307f\u308b &#8211; https:\/\/qiita.com\/segfo\/items\/8ce5af89a6daf95fdfc9<\/p>\n<p>2018-06-04 &#8211; Async Methods II: object safety &#8211; https:\/\/boats.gitlab.io\/blog\/post\/async-methods-ii\/<\/p>\n<p>2018-06-01 &#8211; hyper v0.12 &#8211; https:\/\/seanmonstar.com\/<\/p>\n<h2>2018-06 \u4ee5\u524d<\/h2>\n<p>Rust \u3068\u975e\u540c\u671f IO \u306e\u6b74\u53f2(\u8cc7\u6599\u7de8)<\/p>\n<h2>\u5f8c\u8a18<\/h2>\n<p>\u307e\u305f\u4f55\u304b\u767a\u6398\u3057\u305f\u3089\u8ffd\u8a18\u3057\u307e\u3059<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u306e\u8a18\u4e8b\u306f Rust Advent Calendar 2018 \u306e 12 + n \u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002 \u3053\u306e\u8a18\u4e8b\u306f [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-44969","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\/44969-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 Advent Calendar 2018 \u306e 12 + n \u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002 \u3053\u306e\u8a18\u4e8b\u306f [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-22T23:21:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-30T06:43:32+00:00\" \/>\n<meta name=\"author\" content=\"\u79d1, \u96c5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u96c5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 \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\/44969-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/\",\"name\":\"- Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-07-22T23:21:48+00:00\",\"dateModified\":\"2024-04-30T06:43:32+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/44969-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\/41e222757cdd2a3365361328bd79970a\",\"name\":\"\u79d1, \u96c5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u96c5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44969-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\/44969-2\/","og_locale":"zh_CN","og_type":"article","og_description":"\u3053\u306e\u8a18\u4e8b\u306f Rust Advent Calendar 2018 \u306e 12 + n \u65e5\u76ee\u306e\u8a18\u4e8b\u3067\u3059\u3002 \u3053\u306e\u8a18\u4e8b\u306f [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-07-22T23:21:48+00:00","article_modified_time":"2024-04-30T06:43:32+00:00","author":"\u79d1, \u96c5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u96c5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"12 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/44969-2\/","name":"- Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-07-22T23:21:48+00:00","dateModified":"2024-04-30T06:43:32+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/44969-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\/41e222757cdd2a3365361328bd79970a","name":"\u79d1, \u96c5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","caption":"\u79d1, \u96c5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44969-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\/44969","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\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=44969"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44969\/revisions"}],"predecessor-version":[{"id":92527,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44969\/revisions\/92527"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=44969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=44969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=44969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}