並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 17 件 / 17件

新着順 人気順

rbsの検索結果1 - 17 件 / 17件

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

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

      Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ
    • aws-sdk-ruby配下すべてのgemにRBSが含まれた状態でリリースされました - スペクトラム

      みなさまに、RBSに関する重要なニュースを発表できることを嬉しく思います。 私の目標の一つにはRBSを当たり前の世界にするというものがあります。 この目標に対して大きなインパクトを残せたことに大変興奮しています。*1 aws-sdk-ruby配下すべてのgemにRBSが含まれた状態でリリースされました こちらは公式blogからのアナウンスです。 aws.amazon.com aws-sdk-rubyはrubygemsでの累計ダウンロードランキング2位に乗るほどの人気gemです。(aws-sdk-core) aws-sdk-rubyは現状370以上のgemのあつまりです。 このすべてのgemにRBSが含まれた状態でリリースされました。 そうです。すべてです。 rbs v3.4.0以上でご利用いただけます。 steep + vscodeの例。etagがStringであることがわかる え、なにが

        aws-sdk-ruby配下すべてのgemにRBSが含まれた状態でリリースされました - スペクトラム
      • Ruby の型システムの現実的な運用を、先入観にとらわれずに考えてみた | Wantedly Engineer Blog

        こんにちは、Wantedly の 2023 年サマーインターンに参加した Ran350 です。今回のインターンでは 3 週間 DX (Developer Experience) squadに所属し、「Wantedly における Ruby コードベースへの型システムの導入」をテーマに取り組んでいました。本記事では、その仮説検証の過程や調査記録を紹介します。 目次背景目的まとめ論点型システム導入による恩恵型システム導入による弊害型システム導入による恩恵-弊害を評価するために知りたいこと検討方針案【事前調査】過去の型起因のバグ【選択肢の整理と検証】型検査手法【選択肢の整理と検証】RBS 作成手法RBSの追加順序の検討【見積もり】RBS作成コスト【見積もり】型検査による恩恵型システム導入による恩恵-弊害が最適となる運用方針の提案まとめ感想注意本議論はまだ検討段階です。Rubyの型システム導入という

          Ruby の型システムの現実的な運用を、先入観にとらわれずに考えてみた | Wantedly Engineer Blog
        • 数クリックでSteepを試せる環境を作った - pockestrap

          こんにちは。pockeです。今回は、GitHub Codespacesを利用して数クリックでSteepを試せる環境を作ったので紹介します。 使い方 pocke/steep-codespacesにアクセスする。 このリポジトリをGitHub Codespacesで開く。 Steepが有効となったVS Codeが起動する。 と言った感じでSteepを試せます。次のようにVS Codeが起動し、型エラーの表示や補完がされます。 型エラーの表示 メソッドの補完 なおGitHub CodeSpacesの無料枠を超える場合、課金が発生するのでご注意ください。 何故作ったか RBSやSteepを手軽に試せる環境を作りたかったためです。 それらを手元の環境にインストールして試すのは、Steepに慣れない人にとっては色々調べることがあり、ハードルが高いです。 またSteepに慣れた人にとっても、環境構築をせ

            数クリックでSteepを試せる環境を作った - pockestrap
          • 新機能ラッシュ! RBS最新情報をキャッチアップ | gihyo.jp

            RubyではRBSという言語で型を記述できます。Ruby 3.2から3.3では、RBSは2.8から3.4にバージョンアップしました。 RBSではこの1年でさまざまな機能追加やバグ修正が活発に行われ、520個のファイルに変更が加えられ、56,464行の追加と、26,172行の削除が行われました! 私、栗原はその内の95個のファイルに変更を加え、7474行の追加と2341行の削除に関わりました。 この記事では、この一年RBS界隈を追い続けてきた私から、RBSのアップデートを中心にRubyの型の世界の変化をまとめて紹介します。Rubyで仕事をしている方、RBSに興味はあるけど最新情報は追えていなかった方の力になれれば幸いです。 RBSとは Ruby 3.0からRubyに標準添付されている型システムの総称であり、ライブラリ名でもあります。RBSファイルは、Rubyファイルとは別のファイル・別の言語

              新機能ラッシュ! RBS最新情報をキャッチアップ | gihyo.jp
            • 【イベントレポート】「Railsアプリと型検査」 - Timee Product Team Blog

              イベント概要 2023年11月15日に「GENBA #1 〜RubyとRails開発の現場〜」と題してRuby/Railsでの開発に関するトピックでタイミーとエンペイ社合同で勉強会を開催しました。 その中でタイミーバックエンドエンジニアの正徳さん a.k.a 神速さん(@sinsoku_listy)の発表「Railsアプリと型検査」をイベントレポート形式でお届けします。 登壇者情報 Railsアプリと型検査 RBSの基本 RBSとは RBS(Ruby Signature)は、Ruby 3.0から導入された言語機能で、Rubyのコードに型情報を追加し、型検査と入力補完を可能にするための言語です。RBSファイルの拡張子は .rbsで、通常はプロジェクト内の sig/ ディレクトリに配置されます。 RBSのメリット RBSの主なメリットは「型検査」と「入力補完」の2つがあります。 型検査とは 型

                【イベントレポート】「Railsアプリと型検査」 - Timee Product Team Blog
              • Announcing RBS support for AWS SDK for Ruby V3 | Amazon Web Services

                AWS Developer Tools Blog Announcing RBS support for AWS SDK for Ruby V3 RBS is a language to describe the structure of Ruby programs. We are happy to announce that AWS SDK for Ruby V3 now supports RBS type signatures! RBS support is released in aws-sdk-core version 3.191.0 and in every service gem (such as aws-sdk-s3) that depends on this version of core. RBS signatures are currently code generate

                  Announcing RBS support for AWS SDK for Ruby V3 | Amazon Web Services
                • RBSをテストコードにする - スペクトラム

                  DALL-Eより: Imagine a scene where the abstract concepts of Ruby programming and property-based testing blend harmoniously. Picture a large, glowing ruby crystal まいどお馴染み、作ってみたシリーズです。 今回は、RaaP(ラープ)というツールを作りました。RBS as a PropertyでRaaPです。 github.com RaaPはテスティングツールの一種で、RBSをそのままテストコードにみたてて実行してくれるツールです。 次のようなRBSがあったとして class Foo end class Bar def initialize: (foo: Foo) -> void def f2s: (Float) -> String end

                    RBSをテストコードにする - スペクトラム
                  • Ruby typing 2024: RBS, Steep, RBS Collections, subjective feelings

                    Ruby typing 2024: RBS, Steep, RBS Collections, subjective feelings I was writing a new Ruby gem recently, and being a strong proponent of a type checking step, I wanted to do right by the ecosystem so that anyone using it would get the full benefit of type checking against my gem’s API in their own projects, so I dug into the current state of the art to find out how that’d be done. I used Sorbet f

                    • Embedding it into Ruby code

                      RubyKaigi 2024, Naha

                        Embedding it into Ruby code
                      • RBSをCIに導入して型の恩恵を得たい - BOOK☆WALKER inside

                        こんにちは,相生ゆら(@Little_Rubyist)です.最近配信でクロノトリガーをやっているんですがあまりにも面白すぎてありとあらゆる知人に「クロノトリガーをやれ」と言っています. さて,入社から半年以上経過しましたがその話はまた別でやるとして,私の所属している部署では勉強習慣というのがあって,自分の興味のあることを業務時間中に勉強してもいい時間が存在します.各々色んなことをやっていますが,私はその時間で少しずつRBSを導入しています.まだあまり触れていないプロジェクトなのでコードリーディングをしながらゆっくり入れていこうと思っています. CI導入まで済んだのでこれを一区切りとし,どういったことをやっていたのかをご紹介します. 型導入の準備 とってもシンプルです.steep, rbs_rails, katakata_irbをGemfileに追加します.ライブラリの型も必要なので,rbs

                          RBSをCIに導入して型の恩恵を得たい - BOOK☆WALKER inside
                        • 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
                          • GitHub - soutaro/rbs-inline: Inline RBS type declaration

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              GitHub - soutaro/rbs-inline: Inline RBS type declaration
                            • 【Ruby】RubyKaigi2023で興味を持った技術【RBS】 - Qiita

                              はじめに RubyKaigi2023に先日、オンラインで一部参加させて頂きました。 正直言って自分自身の英語力の弱さと相俟って理解出来てない部分も、多数あったかなと思います。 今回はRubyKaigiで紹介されたスライドを紹介しつつ、初めて聞く単語も多かったので気になったもの新しく調べた内容と共にまとめていきます! UTF-8 is comming to mruby/c(DAY1) mruby/cはASCII(バイナリ)のみを使用してきましたが、UTF-8をサポートするようになったとのこと。 mruby/cで利用可能なUTF-8サポートをどのように実装したのかを説明されていました。 そもそもmruby/cって? 以下しまねソフト研究開発センターより引用 mruby/cは、Rubyの特徴を引き継ぎつつ、プログラム実行時に必要なメモリ消費量が従来のmruby(福岡で開発された組込み向けの軽量R

                                【Ruby】RubyKaigi2023で興味を持った技術【RBS】 - Qiita
                              • RubyKaigi 2024 で RBS と LLM の話をしました

                                Leaner 開発チームの黒曜(@kokuyouwind)です。 先日の RubyKaigi 2024で Let's use LLMs from Ruby 〜 Refine RBS types using LLM 〜 というタイトルで登壇させていただきました! 参加しての感想は別記事にするので、この記事では発表の概要や裏話などをまとめます。 動画アーカイブ 記事執筆時点では公開されてないので、公開されたら更新します。(去年はフルセッションの録画がアップロードされてるので、今年もそのうち出るはずです) 発表スライド 自分の発表資料は slides.com というサービスでスライドを作っています。 埋め込み表示ができませんが、上記リンクから開くと発表時のスライドがそのまま見られます。 一応 Speaker Deck にもアップロードしていますが、 PDF 出力時にフォントが化けてしまっているた

                                  RubyKaigi 2024 で RBS と LLM の話をしました
                                • gem_rbs_collection の新しいワークフローの紹介 | Webシステム開発/教育ソリューションのタイムインターメディア

                                  先日、ある gem の型情報を gem_rbs_collection に投稿したところ、 ワークフローが以前と変わっていることに気づきました。 今回はこの新ワークフローを紹介します。 gem_rbs_collection とは? gem_rbs_collection は Ruby の型情報を収集しているリポジトリです。 Python の typeshed や TypeScript の DefinitelyTyped に相当します。 RBS では、型情報をいくつかの場所に分けて管理しています。 Ruby の組み込みクラス、標準ライブラリの型情報 rbs gem に収録 gem の型情報 gem 本体に同梱 gem_rbs_collection に収録 個々のアプリケーション内で管理 個々のアプリケーションの型情報 個々のアプリケーション内で管理 gem_rbs_collection は ge

                                    gem_rbs_collection の新しいワークフローの紹介 | Webシステム開発/教育ソリューションのタイムインターメディア
                                  • SteepのAnnotationに関する備忘録 #asakusa_bashi_rbs - アジャイルSEの憂鬱

                                    Steepのmanual/annotations.mdを読みながら、実際にコードを書いて覚えたことをブログにまとめる。 変数 変数の型を String? から String にするときに便利そう。 # @type var value: String value = %w[a b c].sample puts('Hi, ' + value) アノテーションがない場合、 sample: () -> String? なので型検査エラーになる。 app/user.rb:2:14: [error] Cannot pass a value of type `(::String | nil)` as an argument of type `::string` │ (::String | nil) <: ::string │ (::String | nil) <: (::String | ::_ToSt

                                      SteepのAnnotationに関する備忘録 #asakusa_bashi_rbs - アジャイルSEの憂鬱
                                    1