{"height":"190","author_name":"sue445","title":"\u95a2\u897fRuby\u4f1a\u8b7008\u306e\u4e0d\u63a1\u629eProposal\u3092\u516c\u958b","type":"rich","version":"1.0","provider_name":"Hatena Blog","provider_url":"https://hatena.blog","image_url":null,"blog_url":"https://sue445.hatenablog.com/","width":"100%","description":"\u524d\u7f6e\u304d Title Abstract Details 2019/08: \u306a\u306b\u3082\u306a\u304b\u3063\u305f\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9 2020/02: AppEngine 2021/01: Heroku 2022/09: Cloud Run Functions 2022/09: Doorkeeper API\u3092\u76f4\u63a5\u547c\u3076\u3088\u3046\u306b\u3057\u305f 2024/05: Connpass API v1\u306e\u4ed5\u69d8\u5909\u66f4 2025/04: Connpass API v2\u3078\u306e\u79fb\u884c Pitch Speaker Bio \u524d\u7f6e\u304d \u95a2\u897fRuby\u4f1a\u8b7008 \u306eProposal\u304c\u4e0d\u63a1\u629e\u3060\u3063\u305f\u3093\u3067\u3059\u304ckinoppyd\u3055\u3093\u306b\u5f71\u97ff\u3055\u308c\u3066\u516c\u958b\u3057\u3066\u307f\u307e\u3059\u3002 \u30d6\u30ed\u30b0\u66f8\u304d\u307e\u3057\u305f\u3001\u4e0d\u63a1\u629e\u3060\u3063\u305f\u2026","published":"2025-05-22 00:22:25","url":"https://sue445.hatenablog.com/entry/2025/05/22/002225","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fsue445.hatenablog.com%2Fentry%2F2025%2F05%2F22%2F002225\" title=\"\u95a2\u897fRuby\u4f1a\u8b7008\u306e\u4e0d\u63a1\u629eProposal\u3092\u516c\u958b - \u304f\u308a\u306b\u3063\u304d\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_url":"https://blog.hatena.ne.jp/sue445/","blog_title":"\u304f\u308a\u306b\u3063\u304d","categories":[]}