{"description":"\u6ce8\u610f\u70b9 Rails \u3067\u306f\u306a\u304f\u3001\u7d20\u306e Ruby \u3067\u3059 Bundler \u3092\u7528\u3044\u307e\u3059*1 \u8a73\u7d30\u3084\u6700\u65b0\u60c5\u5831\u306f\u5fc5\u305a \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \u7d50\u8ad6 1. Gemfile \u3092\u66f8\u304f gem 'sorbet' gem 'sorbet-runtime' gem 'tapioca', require: false 2. $ bundle install \u3059\u308b $ bundle install 3. \u521d\u671f\u5316\u3059\u308b \u8a73\u3057\u304f\u306f \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002 $ bundle exec tapioca init 4. Ruby \u306e\u30b3\u30fc\u30c9 \u3092\u66f8\u304f \u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092 app.rb \u3068\u3057\u307e\u3059\u3002 # typed\u2026","type":"rich","version":"1.0","title":"Ruby \u3067 Sorbet \u3092\u6700\u5c0f\u9650\u3067\u4f7f\u3046\u4f8b","blog_url":"https://obel.hatenablog.jp/","published":"2024-10-18 05:00:00","image_url":"https://cdn.user.blog.st-hatena.com/default_entry_og_image/459657/1568741889764668","url":"https://obel.hatenablog.jp/entry/20241018/1729195200","blog_title":"\u7d04\u675f\u306e\u5730","height":"190","provider_url":"https://hatena.blog","categories":["\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 -> \u8a00\u8a9e -> Ruby"],"author_url":"https://blog.hatena.ne.jp/gregminster/","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fobel.hatenablog.jp%2Fentry%2F20241018%2F1729195200\" title=\"Ruby \u3067 Sorbet \u3092\u6700\u5c0f\u9650\u3067\u4f7f\u3046\u4f8b - \u7d04\u675f\u306e\u5730\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","author_name":"gregminster"}