タグ

rubyとrailsとrbsに関するiga_kのブックマーク (8)

  • rbs collectionの基本と構成要素 - Money Forward Developers Blog

    こんにちは。 id:Pocke です。マネーフォワードでは、クラウド会計Plus の開発と、今回お話する RBS のメンテナンスを行っています。 最近、福井県は若狭にある年縞博物館に行って楽しんできました。1 さてこの記事では rbs collection の基と構成要素を解説します。 この記事を読むことで rbs collection がどのようなもので何をしているのかが理解できるようになるでしょう。 この記事では記事執筆時点での最新の、rbs v3.2.1 を対象としています。 rbs collection の基的な使い方 rbs collection の基的な使い方は簡単です。 設定ファイルの生成 まず、rbs collection initコマンドで設定ファイルを生成します。この生成は rbs collection を使い始める初回にのみ行います。 $ rbs collect

    rbs collectionの基本と構成要素 - Money Forward Developers Blog
    iga_k
    iga_k 2023/09/15
    pockeさんのRBS解説
  • RBS Railsを使ってRailsアプリケーションにSteepを導入する - pockestrap

    RBS Railsを使ってRailsアプリケーションにSteepを導入するまでの解説します。 ただしこの「導入できる」というのは、解析が完走するという意味です。 型エラーを全てつぶすことや、Steepを実際の開発フローに乗っけることは私もまだできていないため、この記事ではサポートしません。 登場人物 RailsアプリケーションにSteepを導入するには、複数のプロジェクトが関連してきます。 まずはそれらをざっと紹介します。 steep gem Rubyの静的型検査器です。 rbs_rails gem RailsでRBSを使う上で必要な型定義を提供・生成するgemです。 データベースのスキーマ定義からモデルの型生成、及びroutesの定義からパスヘルパーの型生成をします。 それ以外のコードの型生成は担当範囲外です。 rbs gem ビルトインのライブラリ、及びスタンダードライブラリの型定義を

    RBS Railsを使ってRailsアプリケーションにSteepを導入する - pockestrap
  • Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ

    こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 突然ですが! この度kakariプロジェクトは「型導入」をしました! kakariのRailsリポジトリに型導入PRがマージされた様子 皆さんのプロジェクトは「型導入」していますか? 「型導入」しているRailsプロジェクトはまだ少ないのではないでしょうか なぜ型導入しないのか 型を導入すると何かしらが便利になることは分かっているのに何故やらないのでしょうか(煽り気味) 「型の恩恵」と「型を自分たちで書くコスト」の2点を比較していませんか? RubyKaigi 2023開催前の私がまさしくそう考えていました。 当にその2点を比較するべきなのかをここで再考してみましょう。 「型導

    Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ
  • Railsチュートリアルのsample_appに型を導入

    ふーが といいます。普段は Ruby on Rails を利用したアプリケーション開発をしているプログラマです。 この記事は Rails アプリケーションへの型導入を試してもらうことを目的とした記事です。主に Ruby on Rails チュートリアル (以下「Rails チュートリアル」と呼称)で学ばれた方向けに「静的型とはなにか」「Ruby での型の扱い」「Rails アプリケーションへの型導入方法」を知っていただくきっかけになればうれしく思います。 この記事では実際に手を動かしながら Rails アプリケーションに型を導入する手順を体験できます。題材として Rails チュートリアルの sample_app を使用させていただいています。 前提 型を導入するにあたり前提となる部分を簡単にご紹介します。「型」と聞いてイメージがつく方はこの段落は飛ばしていただいてかまいません。 型とは何

    Railsチュートリアルのsample_appに型を導入
    iga_k
    iga_k 2023/03/17
    RBS導入時に便利なVSCode拡張
  • Rails + RBS & Steepを試してみて困ったところとか感想とか - Qiita

    まえがき Railsアプリに型チェックを導入しようとして試しているのですが、なかなか一筋縄ではいかないようで、試行錯誤しています。 おそらく他にも似たようなことでハマったりしている人もいるかと思うので、これまで困ったこと、そして(回避できた場合は)回避策を書いてみます。 なお、RBSやSteepとはなんぞやといった辺りは特に説明せずにいきなり題に入るため、詳しくない方はmameさんの記事「Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート」などを参考にしてください。 Steep & RBSで困ったところ BigDecimalを導入してもto_dが使えない (追記: ksssさんにrbsのstdlibのテストの書き方を教えてもらったので書けるようになりました! 結果はpull requestしてみたので、最終的に取り込まれれば使えるようにな

    Rails + RBS & Steepを試してみて困ったところとか感想とか - Qiita
    iga_k
    iga_k 2023/01/09
    高橋会長の記事
  • RBS and Rails, Present and Future

    At Ginza Rails #43 https://ginza-rails.connpass.com/event/242685/

    RBS and Rails, Present and Future
    iga_k
    iga_k 2022/04/01
    pockeさんの銀座Rails RBS資料
  • そろそろRailsプロジェクトに型を導入したい人向けの資料

    すべての説明はイチRubyユーザーの個人的で期間も限定的な観測範囲に基づきます。 「Rubyには型がない」 ある日、同僚とプログラミング言語に関する雑談をしていたときに言われた一言です。 私はその日までRubyの型機能は使っていませんでした。忙しい毎日を送り、キャッチアップを疎かにしていたのです。後日このことは猛烈に反省することになります。 「Rubyには……型があるッ……!」 火がついた私はパターンマッチの時と同様にRubyの型についてキャッチアップすることにしました。そして最高の体験が待っていました。 導入した後の世界 ぶっちゃけRubyの型を導入するとどうなるのでしょうか? メチャクチャ簡単に説明すると、エディタでバグがひと目で分かるようになります。 vscodeでの画面です。なにやら赤線がついています。 === bar === barの部分にカーソルを合わせてみましょう。 「Pos

    そろそろRailsプロジェクトに型を導入したい人向けの資料
    iga_k
    iga_k 2021/08/26
    ksss先生の新作だ! ksssさんらしい詳細な調査と説明がめっちゃよい。
  • [Steep]Railsの本番環境にruby3.0の型定義を入れていく - Qiita

    やったこと 自分の持ち手の中に以下の三拍子が揃ったプロダクトがあったのでruby 3.0まであげて強い気持ちで型を入れていくことにしました。 立ち上げ間もない(利用者も限定的) 各種ライブラリが最新(変な古いバージョンに影響されることが少ない) 今後そこそこの機能拡張が見込まれる うちのチームでは初めてのRuby 3.0&型付だったけどやっていき 結論成果物 tool RBS Steep API周りのモデル層に型定義を導入 circleciによる自動テストの追加 Rubyの型とは Rubyの静的解析はv3.0で導入された新機能になります。 型定義はrubyのコードの外側にRBSファイルとして定義していきます。 2010年代は静的型言語の時代でした。Rubyは抽象解釈を武器に、型宣言なしで静的型チェックする未来を目指します。RBSとTypeProfはその第一歩です。Rubyがもたらす誰も見た

    [Steep]Railsの本番環境にruby3.0の型定義を入れていく - Qiita
  • 1