{"id":9984,"date":"2023-01-17T21:00:00","date_gmt":"2023-01-17T12:00:00","guid":{"rendered":"https:\/\/taki-lab.site\/bocci\/?p=9984"},"modified":"2023-01-17T11:33:19","modified_gmt":"2023-01-17T02:33:19","slug":"rust%e5%8b%89%e5%bc%b7%e4%b8%ad%e3%80%811-17%e3%81%ae%e7%a9%8d%e3%81%bf%e4%b8%8a%e3%81%92","status":"publish","type":"post","link":"https:\/\/taki-lab.site\/bocci\/?p=9984","title":{"rendered":"RUST\u52c9\u5f37\u4e2d\u30011\/17\u306e\u7a4d\u307f\u4e0a\u3052"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f wp-block-embed-\u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"ZXF9StBu9z\"><a href=\"https:\/\/taki-lab.site\/bocci\/?p=9573\">RUST\u52c9\u5f37\u4e2d\u300111\/17\u306e\u7a4d\u307f\u4e0a\u3052<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;RUST\u52c9\u5f37\u4e2d\u300111\/17\u306e\u7a4d\u307f\u4e0a\u3052&#8221; &#8212; \u81ea\u5206\u3001\u307c\u3063\u3061\u3067\u3059\u304c\u4f55\u304b\uff1f\" src=\"https:\/\/taki-lab.site\/bocci\/?p=9573&#038;embed=true#?secret=A0mS0MCc2s#?secret=ZXF9StBu9z\" data-secret=\"ZXF9StBu9z\" width=\"474\" height=\"267\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u51e6\u7406\u3092\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>iced\u3067\u306f\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u3001\u975e\u540c\u671f\u51e6\u7406\u5074\u304b\u3089\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3059\u308b\u4e8b\u304c\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u30ec\u30b7\u30d4\u3092\u4f5c\u6210\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pub struct Timer {\r\n    duration: Duration,\r\n}\r\n\r\nimpl Timer {\r\n    fn new(duration: Duration) -> Timer {\r\n        Timer { duration: duration }\r\n    }\r\n}\r\n\r\nimpl&lt;H, E> iced_native::subscription::Recipe&lt;H, E> for Timer\r\nwhere\r\n    H: std::hash::Hasher,\r\n{\r\n    type Output = Instant;\r\n\r\n    fn hash(&amp;self, state: &amp;mut H) {\r\n        use std::hash::Hash;\r\n        std::any::TypeId::of::&lt;Self>().hash(state);\r\n        self.duration.hash(state);\r\n    }\r\n\r\n    fn stream(\r\n        self: Box&lt;Self>,\r\n        _input: futures::stream::BoxStream&lt;'static, E>,\r\n    ) -> futures::stream::BoxStream&lt;'static, Self::Output> {\r\n        use futures::stream::StreamExt;\r\n        async_std::stream::interval(self.duration)\r\n            .map(|_| Instant::now())\r\n            .boxed()\r\n    }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p>\u3082\u3046\u3053\u3053\u307e\u3067\u6765\u305f\u3089\u4f55\u304c\u4f55\u3060\u304b\u89e3\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>\u5f8c\u3067Rust\u306e\u6587\u6cd5\u898b\u76f4\u3059\u3002<\/p>\n\n\n\n<p>\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u51e6\u7406\u3092\u4f5c\u6210\u3057\u3001Executor\u306e\u8a2d\u5b9a\u3092\u66f8\u304d\u76f4\u305b\u3070\u30e1\u30c3\u30bb\u30fc\u30b8\u9001\u4fe1\u51e6\u7406\u306f\u5b8c\u6210\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>impl Application for GUI {\r\n    type Executor = executor::Default;\r\n    type Message = Message;\r\n    type Flags = ();\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>    fn subscription(&amp;self) -> Subscription&lt;Message> {\r\n        let timer = Timer::new(Duration::from_millis(MILLISEC \/ FPS));\r\n        iced::Subscription::from_recipe(timer).map(|_| Message::Update)\r\n    }\r\n<\/code><\/pre>\n\n\n\n<p>\u3042\u3068\u306f\u53d7\u4fe1\u5074\u3092\u4f5c\u6210\u3002<\/p>\n\n\n\n<p>\u30b3\u30fc\u30c9\u306f\u3053\u3046\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use iced::{\r\n    button, executor, Align, Application, Button, Column, Command, Element, Font,\r\n    HorizontalAlignment, Length, Row, Settings, Subscription, Text,\r\n};\r\nuse iced_futures::{self, futures};\r\nuse std::time::{Duration, Instant};\r\n\r\nconst FONT: Font = Font::External {\r\n    name: \"PixelMplus12-Regular\",\r\n    bytes: include_bytes!(\"..\/rsc\/PixelMplus12-Regular.ttf\"),\r\n};\r\n\r\nconst FPS: u64 = 30;\r\nconst MILLISEC: u64 = 1000;\r\nconst MINUTE: u64 = 60;\r\nconst HOUR: u64 = 60 * MINUTE;\r\n\r\n#&#91;derive(Debug, Clone)]\r\npub enum Message {\r\n    Start,\r\n    Stop,\r\n    Reset,\r\n    Update,\r\n}\r\n\r\npub enum TickState {\r\n    Stopped,\r\n    Ticking,\r\n}\r\n\r\npub struct Timer {\r\n    duration: Duration,\r\n}\r\n\r\nimpl Timer {\r\n    fn new(duration: Duration) -> Timer {\r\n        Timer { duration: duration }\r\n    }\r\n}\r\n\r\nimpl&lt;H, E> iced_native::subscription::Recipe&lt;H, E> for Timer\r\nwhere\r\n    H: std::hash::Hasher,\r\n{\r\n    type Output = Instant;\r\n\r\n    fn hash(&amp;self, state: &amp;mut H) {\r\n        use std::hash::Hash;\r\n        std::any::TypeId::of::&lt;Self>().hash(state);\r\n        self.duration.hash(state);\r\n    }\r\n\r\n    fn stream(\r\n        self: Box&lt;Self>,\r\n        _input: futures::stream::BoxStream&lt;'static, E>,\r\n    ) -> futures::stream::BoxStream&lt;'static, Self::Output> {\r\n        use futures::stream::StreamExt;\r\n        async_std::stream::interval(self.duration)\r\n            .map(|_| Instant::now())\r\n            .boxed()\r\n    }\r\n}\r\n\r\nstruct GUI {\r\n    last_update: Instant,\r\n    total_duration: Duration,\r\n    tick_state: TickState,\r\n    start_stop_button_state: button::State,\r\n    reset_button_state: button::State,\r\n}\r\n\r\nimpl Application for GUI {\r\n    type Executor = executor::Default;\r\n    type Message = Message;\r\n    type Flags = ();\r\n\r\n    fn new(_flags: ()) -> (GUI, Command&lt;Self::Message>) {\r\n        (\r\n            GUI {\r\n                last_update: Instant::now(),\r\n                total_duration: Duration::default(),\r\n                tick_state: TickState::Stopped,\r\n                start_stop_button_state: button::State::new(),\r\n                reset_button_state: button::State::new(),\r\n            },\r\n            Command::none(),\r\n        )\r\n    }\r\n\r\n    fn title(&amp;self) -> String {\r\n        String::from(\"DEMO\")\r\n    }\r\n\r\n    fn update(&amp;mut self, message: Self::Message) -> Command&lt;Self::Message> {\r\n        match message {\r\n            Message::Start => {\r\n                self.tick_state = TickState::Ticking;\r\n                self.last_update = Instant::now();\r\n            }\r\n            Message::Stop => {\r\n                self.tick_state = TickState::Stopped;\r\n                self.last_update += Instant::now() - self.last_update;\r\n            }\r\n            Message::Reset => {\r\n                self.last_update = Instant::now();\r\n                self.total_duration = Duration::default();\r\n            }\r\n            Message::Update => match self.tick_state {\r\n                TickState::Ticking => {\r\n                    let now_update = Instant::now();\r\n                    self.total_duration += now_update - self.last_update;\r\n                    self.last_update = now_update;\r\n                }\r\n                _ => {}\r\n            },\r\n        }\r\n        Command::none()\r\n    }\r\n\r\n    fn view(&amp;mut self) -> Element&lt;Self::Message> {\r\n        let seconds = self.total_duration.as_secs();\r\n        let duration_text = format!(\r\n            \"{:0>2}:{:0>2}:{:0>2}.{:0>2}\",\r\n            seconds \/ HOUR,\r\n            (seconds % HOUR) \/ MINUTE,\r\n            seconds % MINUTE,\r\n            self.total_duration.subsec_millis() \/ 10,\r\n        );\r\n\r\n        let start_stop_text = match self.tick_state {\r\n            TickState::Stopped => Text::new(\"Start\")\r\n                .horizontal_alignment(HorizontalAlignment::Center)\r\n                .font(FONT),\r\n            TickState::Ticking => Text::new(\"Stop\")\r\n                .horizontal_alignment(HorizontalAlignment::Center)\r\n                .font(FONT),\r\n        };\r\n\r\n        let start_stop_message = match self.tick_state {\r\n            TickState::Stopped => Message::Start,\r\n            TickState::Ticking => Message::Stop,\r\n        };\r\n        \r\n        let tick_text = Text::new(duration_text).font(FONT).size(60);\r\n        let start_stop_button = Button::new(&amp;mut self.start_stop_button_state, start_stop_text)\r\n            .min_width(80)\r\n            .on_press(start_stop_message);\r\n        let reset_button = Button::new(\r\n            &amp;mut self.reset_button_state,\r\n            Text::new(\"Reset\")\r\n                .horizontal_alignment(HorizontalAlignment::Center)\r\n                .font(FONT),\r\n        )\r\n            .min_width(80)\r\n            .on_press(Message::Reset);\r\n\r\n        Column::new()\r\n            .push(tick_text)\r\n            .push(\r\n                Row::new()\r\n                    .push(start_stop_button)\r\n                    .push(reset_button)\r\n                    .spacing(10),\r\n            )\r\n            .spacing(10)\r\n            .padding(10)\r\n            .width(Length::Fill)\r\n            .height(Length::Fill)\r\n            .align_items(Align::Center)\r\n            .into()\r\n    }\r\n\r\n    fn subscription(&amp;self) -> Subscription&lt;Message> {\r\n        let timer = Timer::new(Duration::from_millis(MILLISEC \/ FPS));\r\n        iced::Subscription::from_recipe(timer).map(|_| Message::Update)\r\n    }\r\n}\r\n\r\nfn main() {\r\n    let mut settings = Settings::default();\r\n    settings.window.size = (400u32, 120u32);\r\n    GUI::run(settings);\r\n}\r\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"292\" data-attachment-id=\"9986\" data-permalink=\"https:\/\/taki-lab.site\/bocci\/?attachment_id=9986\" data-orig-file=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/ice_video_20230117-110203.gif?fit=646%2C398&amp;ssl=1\" data-orig-size=\"646,398\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ice_video_20230117-110203\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/ice_video_20230117-110203.gif?fit=474%2C292&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2023\/01\/ice_video_20230117-110203.gif?resize=474%2C292&#038;ssl=1\" alt=\"\" class=\"wp-image-9986\"\/><\/figure>\n\n\n\n<a href=\"https:\/\/blog.with2.net\/link\/?id=2023426&#038;cid=9200\" title=\"\u65e5\u3005\u306e\u51fa\u6765\u4e8b\u30e9\u30f3\u30ad\u30f3\u30b0\" target=\"_blank\" rel=\"noopener\"><image src=\"https:\/\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/11\/99c62cdd0038c9d3b540e561ee138b82-1.jpg\"><\/a>\n","protected":false},"excerpt":{"rendered":"<p>\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u51e6\u7406\u3092\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3059\u3002 iced\u3067\u306f\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u3001\u975e\u540c\u671f\u51e6\u7406\u5074\u304b\u3089\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3059\u308b\u4e8b\u304c\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u3002 \u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u30ec\u30b7\u30d4\u3092\u4f5c\u6210\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093 &hellip; <a href=\"https:\/\/taki-lab.site\/bocci\/?p=9984\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">RUST\u52c9\u5f37\u4e2d\u30011\/17\u306e\u7a4d\u307f\u4e0a\u3052<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2542,3],"tags":[],"class_list":["post-9984","post","type-post","status-publish","format-standard","hentry","category-rust","category-3"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8SDbY-2B2","jetpack-related-posts":[{"id":1182,"url":"https:\/\/taki-lab.site\/bocci\/?p=1182","url_meta":{"origin":9984,"position":0},"title":"\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3067\u640d\u3057\u306a\u3044\u65b9\u6cd5","author":"taki","date":"2019\u5e748\u670818\u65e5","format":false,"excerpt":"\u5148\u65e5\u3001\u6574\u4f53\u306e\u5148\u751f\u3068\u8a71\u3057\u3066\u3044\u305f\u4f1a\u8a71\u3002 \u300c\u6708980\u5186\u3060\u3063\u305f\u30895\uff0c6\u518a\u8aad\u307e\u306a\u3044\u3068\u640d\u3067\u3059\u3088\u306d\u30fc\u3002\u300d \u300c\u3044\u3084\u30fc\u2026","rel":"","context":"\u51fa\u6765\u4e8b","block_context":{"text":"\u51fa\u6765\u4e8b","link":"https:\/\/taki-lab.site\/bocci\/?cat=9"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2019\/08\/d99a82279ab451dd23288c05ab1b9204_s.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2019\/08\/d99a82279ab451dd23288c05ab1b9204_s.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2019\/08\/d99a82279ab451dd23288c05ab1b9204_s.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1666,"url":"https:\/\/taki-lab.site\/bocci\/?p=1666","url_meta":{"origin":9984,"position":1},"title":"\u3064\u3044\u306b\u5c45\u9152\u5c4b\u3082\u30b5\u30d6\u30b9\u30af\u306e\u6642\u4ee3\u306b\u30fb\u30fb\u30fb\u300cMONSTER PASS\u300d","author":"taki","date":"2019\u5e7411\u670816\u65e5","format":false,"excerpt":"\u3053\u308c\u306f\u885d\u6483\u7684\u3002 https:\/\/monster-pass.com MONSTER PASS\u3068\u3044\u3046\u30a2\u30a4\u2026","rel":"","context":"\u51fa\u6765\u4e8b","block_context":{"text":"\u51fa\u6765\u4e8b","link":"https:\/\/taki-lab.site\/bocci\/?cat=9"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8454,"url":"https:\/\/taki-lab.site\/bocci\/?p=8454","url_meta":{"origin":9984,"position":2},"title":"RUST\u52c9\u5f37\u4e2d\u30015\/29\u306e\u7a4d\u307f\u4e0a\u3052","author":"taki","date":"2022\u5e745\u670829\u65e5","format":false,"excerpt":"\u3042\u3001\u4eca\u65e5\u8089\u306e\u65e5\u3058\u3083\u3093\u3002 https:\/\/taki-lab.site\/bocci\/?p=8421 us\u2026","rel":"","context":"Rust","block_context":{"text":"Rust","link":"https:\/\/taki-lab.site\/bocci\/?cat=2542"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9411,"url":"https:\/\/taki-lab.site\/bocci\/?p=9411","url_meta":{"origin":9984,"position":3},"title":"RUST\u52c9\u5f37\u4e2d\u300110\/23\u306e\u7a4d\u307f\u4e0a\u3052","author":"taki","date":"2022\u5e7410\u670825\u65e5","format":false,"excerpt":"\u4eca\u56de\u304b\u3089GUI\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3084\u3063\u3066\u3044\u304d\u307e\u3059\u3002 Iced\u3068\u3044\u3046\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u2026","rel":"","context":"\u51fa\u6765\u4e8b","block_context":{"text":"\u51fa\u6765\u4e8b","link":"https:\/\/taki-lab.site\/bocci\/?cat=9"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/10\/d5588bc0167190caa161739cc622df88.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/10\/d5588bc0167190caa161739cc622df88.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/10\/d5588bc0167190caa161739cc622df88.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/10\/d5588bc0167190caa161739cc622df88.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/10\/d5588bc0167190caa161739cc622df88.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/taki-lab.site\/bocci\/wp-content\/uploads\/2022\/10\/d5588bc0167190caa161739cc622df88.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2627,"url":"https:\/\/taki-lab.site\/bocci\/?p=2627","url_meta":{"origin":9984,"position":4},"title":"\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u3092\u898b\u76f4\u3057\u305f\u7d50\u679c","author":"taki","date":"2020\u5e744\u67086\u65e5","format":false,"excerpt":"\u3053\u3061\u3089\u306e\u8a18\u4e8b\u3067\u30b5\u30d6\u30b9\u30af\u306e\u5229\u7528\u72b6\u6cc1\u3092\u6d17\u3044\u51fa\u3057\u305f\u306e\u3067\u3059\u304c\u3001 https:\/\/taki-lab.site\/\u2026","rel":"","context":"\u51fa\u6765\u4e8b","block_context":{"text":"\u51fa\u6765\u4e8b","link":"https:\/\/taki-lab.site\/bocci\/?cat=9"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8208,"url":"https:\/\/taki-lab.site\/bocci\/?p=8208","url_meta":{"origin":9984,"position":5},"title":"RUST\u52c9\u5f37\u4e2d\u30014\/23\u306e\u7a4d\u307f\u4e0a\u3052","author":"taki","date":"2022\u5e744\u670826\u65e5","format":false,"excerpt":"https:\/\/taki-lab.site\/bocci\/?p=8084 \u524d\u56de\u306e\u7d9a\u304d\u3002 \u9006\u30dd\u30fc\u30e9\u30f3\u30c9\u8a18\u2026","rel":"","context":"\u51fa\u6765\u4e8b","block_context":{"text":"\u51fa\u6765\u4e8b","link":"https:\/\/taki-lab.site\/bocci\/?cat=9"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/9984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9984"}],"version-history":[{"count":1,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/9984\/revisions"}],"predecessor-version":[{"id":9987,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=\/wp\/v2\/posts\/9984\/revisions\/9987"}],"wp:attachment":[{"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taki-lab.site\/bocci\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}