並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 178件

新着順 人気順

Gemの検索結果41 - 80 件 / 178件

  • Railsでブラウザテストを「正しく」行う方法(翻訳)|TechRacho by BPS株式会社

    Rubyでテストがこれほど盛んな理由のひとつはRailsの存在にあると私は信じています。Railsフレームワークはテストをできる限り楽しく書けるようにしてくれます。ほとんどの場合、網羅的なRailsテスティングガイドを参照すれば事足ります(少なくとも最初のうちは)。しかし物事に例外はつきものです。私たちの場合「システムテスト」がそれでした。 テストをページのマークアップから切り離す方法については、「Railsシステムテスト」シリーズの次の記事『System of a test II: Robust Rails browser testing with SitePrism』をご覧ください。 Railsアプリケーションでシステムテストを書いたりメンテしたりするのは、正直「楽しい」からほど遠い作業です。この問題に対処するために用いた私のアプローチは、今を去ること2013年に初めてCucumber

      Railsでブラウザテストを「正しく」行う方法(翻訳)|TechRacho by BPS株式会社
    • Ruby 3.0の静的型定義をTypeScriptみたいにライブラリに書いてみた所感 - Narazaka::Blog

      Ruby 3.0が先日のクリスマス(というか昨日)にリリースされたと言うことで、型をやっていきたいと思います。 当方TypeScript大好きっ子なのでRuby 3.0で取り込まれた最も注目すべき機能は静的型チェック関係なのですが、どうもその辺についていまいちまとまって書いてある物がなかった気がするので調べたことをメモします。 Rubyの静的解析 型宣言 rbsファイルを作る方法 実際に型宣言を書く(基本) 検査時の型アノテーションが貧弱でつらいぞ…… 所感 gemに型を含める Steepの作者さんからフィードバックをいただきました。(※追記) 実際に型宣言を書く(Rails関連) DefinitelyTyped相当?「gem_rbs」と「rbs_rails」 実際に型宣言を書く(頑張っていい感じにする)(※追記) VSCode拡張機能で充実する 所感 untypedでやっていき Defi

        Ruby 3.0の静的型定義をTypeScriptみたいにライブラリに書いてみた所感 - Narazaka::Blog
      • Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ

        はじめに 皆様こんにちは、サーバーサイドエンジニアの草分です。 突然ですが、開発者の皆様、実装したソースコードはこまめにリリースしていますか? 「大きい機能なので開発に時間がかかる」「障害が起きないよう念入りにテストする必要がある」などの理由で、Featureブランチのままコミットグラフが伸びに伸びたりしていませんか? 大きな機能を作ること自体は悪いことではありませんが、大きすぎるFeatureブランチは、本流ブランチとの挙動の乖離やコードの衝突が発生しやすく、レビューやマージに多大な苦労を伴います。 この記事では、この問題の解決策の1つとなる「Feature Toggle」を、Ruby on Railsにおける実装方法と共にご紹介します。 Feature Toggle自体は開発手法の一種であるため、言語/フレームワークを問わず広く活用されています。 Feature Toggleとは 「機

          Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ
        • Dependabotを導入してみた | DevelopersIO

          みなさんこんにちは。 突然ですがプロジェクトで使用しているライブラリのアップデートって面倒ですよね。 活動が活発なライブラリは嬉しい反面アップデートが辛かったり、セマンティックバージョニングを採用しているからガンガン自動で上がってくれないかと思いませんか。 そんなお悩みを解決するDependabotというものがありましたので導入してみました。 Dependabotとは package.jsonやgo.modといったマニュフェストファイルをみて古いライブラリやセキュアでないものを調べてくれます。 そして必要に応じてライブラリの更新を行いPull Requestを自動で作成してくれる優れものです。我々に残された仕事はPull Requestをmergeするだけなのです(そしてそれすらも自動化できる)。 こちら からも確認できますが現在サポートしている言語は下記のようになっています。 Ruby

            Dependabotを導入してみた | DevelopersIO
          • Railsアプリの開発環境を速くするための調査 その1 - gemの読み込み時間 - アジャイルSEの憂鬱

            その1って書いたけど、続くかは不明。 今回は使っているgemの読み込み時間を測ってみた。 Benchmark を仕込む config/application.rb でgemを読み込む前に Kernel.require を上書きして、計測する。 +require 'benchmark' +$result = {} +Kernel.singleton_class.prepend(Module.new do + def require(feature) + ret = nil + $result[feature] = Benchmark.realtime { ret = super } + ret + end +end) Bundler.require(*Rails.groups) +$result.sort_by { |_, t| -t }.take(20) + .each { |featur

              Railsアプリの開発環境を速くするための調査 その1 - gemの読み込み時間 - アジャイルSEの憂鬱
            • mimemagicに依存しなくなったmarcelのmime type判定の変化には気をつけようって話 - Tallman

              mimemagic gemのライセンス問題で色々ありましたね。ライセンスは法的な問題なので確認も難しい問題でした。 さて、marcelからmimemagicへの依存が無くなってmime typeの判定がApache Tikaを元にしたものになりました。 hackmd.io しかし、この変更にはmarcelのmime type判定結果が変化するものが含まれていました。 例えば、以下のsample.xlsxというファイルのmime typeの判定をMarcel: 1.0.0、0,3,3それぞれに行わせると... ❯ xxd sample.xlsx 00000000: 504b 0304 1400 0808 0800 3123 7d52 0000 PK........1#}R.. 00000010: 0000 0000 0000 0000 0000 1800 0000 786c ........

                mimemagicに依存しなくなったmarcelのmime type判定の変化には気をつけようって話 - Tallman
              • activerecord-originator をリリースしました - pockestrap

                こんにちは。 id:Pocke です。 今日は activerecord-originator という gem を作ったので紹介します。 github.com なにこれ Active Record が発行するSQLの各部分に、それがどこで作られたものかをコメントとして入れ込む gem です。 理解するには実例を見るのが早いでしょう。次のログはArticlesController#indexで実行されるクエリの例です。 Article Load (0.1ms) SELECT "articles".* FROM "articles" WHERE "articles"."status" = ? /* app/models/article.rb:3:in `published' */ AND "articles"."category_id" = ? /* app/controllers/artic

                  activerecord-originator をリリースしました - pockestrap
                • strong_migrations gemのススメ - Money Forward Developers Blog

                  こんにちは。会計Plusでエンジニアをしているぽっけです。最近はシャケをしばくバイトで、やっとでんせつに上がりました。 今日はstrong_migrationsというRails向けのgemを紹介します。 strong_migrationsとは https://github.com/ankane/strong_migrations strong_migrationsは、危険なmigrationを検出するgemです。 データベースのmigrationは、ときに危険になります。たとえば実行するDDLによってはデータベースへの書き込みをブロックしてしまうことがあります。またテーブル定義の変更は、うまくやらないとアプリケーションが意図せぬ動作をするかも知れません。 strong_migrationsはそのような危険なmigrationを検出します。 ⁠使い方 使い方はかんたんです。strong_mi

                    strong_migrations gemのススメ - Money Forward Developers Blog
                  • ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った

                    それなりの規模のサービスを運用していると、不可解なエラーに遭遇することはよくあるものです。その中でもデータベース関連のエラーは一見難解な問題に見えるかもしれませんが、原因調査に役立つ情報をさえ出力すればたいていの場合は容易に原因を特定できるものです。というわけで、Rails でよく遭遇するエラーの調査に役立つ情報を出力する gem を作成しました。 activerecord-debug_errors 現在次のエラーをサポートしています。 ActiveRecord::LockWaitTimeout (MySQL のみ) ActiveRecord::Deadlocked (MySQL のみ) ActiveRecord::ConnectionTimeoutError 以下、具体的な例を用いてどのような情報が表示されるか説明します。 ActiveRecord::LockWaitTimeout Ac

                      ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った
                    • 自作のRubyの動的解析ツールを使って、モジュラーモノリスの境界を試行錯誤している話 - SmartHR Tech Blog

                      DPE(Developer Productivity Engineering)ユニットに所属している、alpaca-tcです。 最近モジュラーモノリス化を進めるためにRuby動的解析ツールを作ったので、その話をします。 📝 私事ですが、新潟の佐渡島に移住しました。新潟や佐渡島のRubyistの方がいらっしゃいましたら、ぜひRubyKaigiでお友達になってください! SmartHRではRailsのモジュラーモノリス化を検討をしているよ Railsにおける「モジュラーモノリス」は、アプリケーションを拡張性のある構造にするために、単一プロセスでモノリスアプリケーションを区分されたサブセット(モジュール)に分割するアーキテクチャのことです。 SmartHRでは、コード量が多いプロダクトでモジュラーモノリス化を進めています。 すでに新規機能の開発では導入されていますが、既存コードのモジュラーモノ

                        自作のRubyの動的解析ツールを使って、モジュラーモノリスの境界を試行錯誤している話 - SmartHR Tech Blog
                      • なぜ我々はRailsを選択したのか?Smart Craftバックエンドのご紹介

                        はじめに Smart Craft テックリードの星井です。 前回の記事で Smart Craft の技術スタックの全体像についてお伝えしましたが、今回はバックエンドについてお話します。 Ruby on Rails / GraphQL な構成になっているので同じような構成を検討している方の参考になれば幸いです。 バックエンドのフレームワーク選定 新しくアプリケーションの開発をやるぞとなったときに、バックエンドで何を使うかというのは毎回頭を悩ませる人が多いのではないでしょうか? フロントエンドに関しては最近だととりあえず React を使っておけば文句を言う人はいないと言う認識ですが(偏見)、バックエンドはいろいろあって迷いますよね。 自分は Rails 信者でして個人的に何かを作る時には脳死で Rails を採用することが多いですが、Smart Craft でのプロダクト開発は当然そんな安易

                          なぜ我々はRailsを選択したのか?Smart Craftバックエンドのご紹介
                        • CircleCIのYAMLを短く書けるRails Orbを作りました - メドピア開発者ブログ

                          11月に入社したCTO室SREの@sinsokuです。 主にやっていることはRailsアプリのレビューや開発環境の改善です。*1 社内のRailsアプリを横断して浅くレビューする(8つくらい) MedPeerの開発環境の改善 docker-compose up で30個のコンテナが起動するのを減らす SwitchPointからActiveRecord v6への移行 CircleCIの実行時間の短縮、稀に落ちるテストの修正 その他の細かい改善 このうち、CircleCIについて知見が溜まったので技術ブログで紹介します。 CircleCIで気をつける点 CircleCIの実行時間を短くするにはいくつかコツがあります。 gemとnpmをできるだけキャッシュする RSpecを並列で実行する前に assets:precompile を実行しておく 各ジョブで必要なgem(もしくはnpm)だけをキャッ

                            CircleCIのYAMLを短く書けるRails Orbを作りました - メドピア開発者ブログ
                          • Railsのcsvダウンロードで直面する数々の問題を解決したらgemができた 〜csb gemの紹介〜 - Qiita

                            class PostsController < ApplicationController def index @posts = Post.all end end require 'csv' CSV.generate do |csv| column_names = %w[投稿日 カテゴリ タイトル 本文] csv << column_names @posts.each do |post| column_values = [ l(post.created_at.to_date), post.category.name, post.title, post.content, ] csv << column_values end end しかしこのサンプルコードでは次のような問題が解決出来ていません。 Excelで開くと文字化けする レコード件数が大量にあった場合にメモリエラーやタイムアウトエラー

                              Railsのcsvダウンロードで直面する数々の問題を解決したらgemができた 〜csb gemの紹介〜 - Qiita
                            • Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621の概要と発見の経緯

                              この記事はRuby Advent Calendar 2022の第20日の記事です。前日の記事は@ydahさんによる「RuboCopのバージョンを最新に保つ技術」でした。 2022年11月22日に、Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621が発表がされました。 CVE-2021-33621: HTTP response splitting in CGI RubyのCGIライブラリにHTTPレスポンス分割脆弱性があり、秘密情報が漏洩する - HackerOne CGI::Cookieクラスにおけるセキュリティ上好ましくない仕様および実装 - HackerOne 私はHackerOneを通じてこの脆弱性を報告しました。この記事では、当該脆弱性の概要と発見の経緯などについて報告します。 概要 脆弱性発見の経緯 影響を受けるアプリケーション 影響 対策

                                Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621の概要と発見の経緯
                              • GraphQLのクエリを自動的にテストする - Qiita

                                こんにちは。株式会社ビットジャーニーでエンジニアをしてる@pockeです。 ビットジャーニーではKibelaというWebアプリケーションを開発しています。 KibelaではPublicなWeb APIにGraphQLを使用して提供しています。 https://github.com/kibela/kibela-api-v1-document また、このAPIはKibelaのWebアプリケーションの内部でも同じものが使用されています。 先日、このGraphQL APIを自動的に(ある程度)網羅的にテストするためのgem graphql-autotestをリリースしました。 https://github.com/bitjourney/graphql-autotest この記事ではこのgraphql-autotestを紹介します。 なおgraphql-autotestはRubyで書かれていますが、

                                  GraphQLのクエリを自動的にテストする - Qiita
                                • websocket-client-simpleをruby-jpに移管した - 橋本商会

                                  で、1年ぐらい趣味と大学での研究を兼ねて色々開発した後、やっぱりこの分野はRubyよりNode.jsでやった方が良いなと思った

                                    websocket-client-simpleをruby-jpに移管した - 橋本商会
                                  • 定期実行処理を crono_trigger に移行したお話 - Kaizen Platform 開発者ブログ

                                    こんにちは、エンジニアの ryopeko です。 今回は Data Platform と呼ばれているデータ集計基盤の Rails プロジェクトで定期実行用に使われていた gem、 sidekiq-scheduler を crono_trigger に移行したお話です。 なお Data Platform の記事については以前ブログで紹介したこちらの記事も合わせてご覧ください。 KaizenPlatform では非同期処理には長らく Sidekiq が使われており、Data Platform でも非同期処理が必要な部分で使われております。 Data Platform では集計処理を cron 形式で指定した日時に定期実行するという機能があり、そこでは sidekiq-scheduler が使われていました。 この sidekiq-scheduler は Redis に各種メタデータを入れておき

                                      定期実行処理を crono_trigger に移行したお話 - Kaizen Platform 開発者ブログ
                                    • SolargraphをDocker環境でこっそり使う

                                      YARDのアノテーションを元にそこそこ便利な説明や補完機能を提供してくれるSolargraphを、Gemfileに含めずこっそり使いてえ……しかもDocker環境で……という人向けの情報。 一番の問題として、gem install solargraph でsolargraph gemを入れたい訳だけど、揮発しないように工夫が必要になる。 一般的なRuby向けのDockerfileの構成だと、bundle install で入れるGemだけをdata volumeで永続化していることが多い。よく見るパターンは、vendor/bundle または /usr/local/bundle にdata volumeをmountするようdocker-compose.ymlで設定し、加えてこのパスを BUNDLE_PATH に設定するパターン。これに加えて例えば GEM_HOME も同じパスに設定しておく

                                      • Rails: 通貨は浮動小数点ではなくRubyのmoney gemで表現すること(翻訳)|TechRacho by BPS株式会社

                                        概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Don't Use Floats and Use the Ruby Money Gem to Represent Currencies - Andy Croll 原文公開日: 2021/11/15 著者: Andy Croll 日本語タイトルは内容に即したものにしました。 アプリケーションで金額を管理しなければならなくなることはざらにあります。何の話かというと、Rubyコミュニティにある素晴らしいオープンソースのソリューションを使えば、自分で開発するよりもずっと良い結果を得られるのです。 以下のようにするのではなく 金額を表現するときにFloatやBigDecimalを使う。 # マイグレーション add_column :products, :price, :decimal class Product < Application

                                          Rails: 通貨は浮動小数点ではなくRubyのmoney gemで表現すること(翻訳)|TechRacho by BPS株式会社
                                        • 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
                                          • rubygem開発でSteepを使って型を書く時の現状のオススメ設定 (2023年3月版) - joker1007’s diary

                                            Rails(というかActiveRecord)に型を付けるのは大変だが、Railsが絡まないrubygemにはそんなに苦労なく型が書けるので、これからgemを書く時には型を書きたいという人向けに今のところオススメの設定を紹介します。 というか自分が忘れるのでまとめておきます。 現状とはsteep-1.3.1, rbs-2.8.4を指します。 rbsは既に3系が出ていますが、一般利用者が型検査に利用する場合はsteepを使うはずで、steepはまだrbsの3系に対応していません。また、rbs-3.0で多少変わっているところもあるので、割と寿命が短い話かもしれません。 設定例 とりあえず結論から。Steepfileとrbs_collection.yamlを修正します。 Steepfile: D = Steep::Diagnostic target :lib do signature "sig"

                                              rubygem開発でSteepを使って型を書く時の現状のオススメ設定 (2023年3月版) - joker1007’s diary
                                            • Rails で PDF を作ったけど、時代遅れのやり方だったかもしれない

                                              (表内のデータ確認日:2024/03/21) スター数だけで言えば prawn が強いですし、歴史もあります。 しかし、コミットが現在もされているものの、最新バージョンのリリースが2020年12月から3年以上空いてしまったのは気がかりです。 wicked_pdf や pdfkit は1年に1度以上は新バージョンのリリースがおこなわれているので、 この2つのどちらかが良さそうに思いました。 最終的には、README が充実していて使うまでのハードルが低そうな wicked_pdf を選びました。 1-1. WkHtmlToPDF 問題 wicked_pdf や pdfkit には重大な問題があります。 これらの gem は WkHtmlToPDF という HTML を PDF に変換する CLI ツールによって支えられているのですが、 これのメンテナンスが 2022/6/29 のコミットを最

                                                Rails で PDF を作ったけど、時代遅れのやり方だったかもしれない
                                              • 今さらYARD + Solargraphで快適Rubyコーディング

                                                世は Ruby 3.x で RBS わっしょい時代ですが、あえて今 YARD と Solargrpah の話。 目的Ruby の開発でも JavaScript 並とは言わないまでもある程度カジュアルにエディタ / IDE の補完を利用し、TypeScript 並とは言わないまでも静的型の恩恵に与った、フィードバックが早くて安心感のある開発を行いたい。 結論YARD + Solargraph ( + LSP ) でそれなりに快適になるのですぐやるべき。 案Ruby で静的な型チェックを行う方法はいくつかあるが、今回は以下の二つを試した。 RBS + SteepYARD + Solargraph今回は RBI + Sorbet は試していない。これは以前(だいぶ前)試した1 時に native extension の挙動が変だった記憶があってちょっと苦手意識があるのと、RBI か RBS かで

                                                • Coming Soon…💎 / coming soon

                                                  Kaigi on Rails 2020 の基調講演「Coming Soon...💎」の発表スライド https://kaigionrails.org/ #kaigionrails

                                                    Coming Soon…💎 / coming soon
                                                  • ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した - @watson1978 の日記

                                                    現在、Ruby 製 worker を作成することを業務で行っているのですが、継続的にメモリ使用量が増加する現象に遭遇してました。 (グラフの値が下がったタイミングが数回ありますが、それぞれでデプロイが行われてリセットされただけ) ObjectSpace.allocation_sourcefile や ObjectSpace.allocation_sourceline を利用してどのファイルのどの行でメモリ確保が多くなるのか調べれるようにしました。 以下のようなコードを worker に追加しました。 require 'objspace' class MemoryProfiler INTERVAL = 5 * 60 DISPLAY_COUNT = 20 def self.start Thread.start do loop do memory_usages = {} ObjectSpace.

                                                      ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した - @watson1978 の日記
                                                    • Ruby NextトランスパイラでRubyの新機能を使おう(翻訳)|TechRacho by BPS株式会社

                                                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Ruby Next: Make all Rubies quack alike — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2020/05/04 著者: Vladimir Dementyev -- Evil Martiansのリード開発者です。 サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語タイトルは内容に即したものにしました。 Ruby初のトランスパイラRuby Nextをご紹介します。これを使うことで、プロジェクト規模のアップグレードでつらい思いをせずに、エクスペリメンタルな機能も含むRubyの最新機能を利用できる

                                                        Ruby NextトランスパイラでRubyの新機能を使おう(翻訳)|TechRacho by BPS株式会社
                                                      • Rails 7で導入される invert_where メソッドが危険そうだったので調べた - pockestrap

                                                        この記事は現時点(2021-04-28)のrails/railsのmainブランチの最新のコミットでテストしています。 TL;DR invert_whereはすべてのwhereをinvertする 使い方によっては意図しない条件をinvertして危険 invert_whereとは invert_whereは、Rails 7でActiveRecord::Relationに追加される予定のメソッドです。 このメソッドは、relationにチェーンして呼び出すことで、それまでのwhereの条件を反転できます。 つまり次のようになります。(CHANGELOGから引用) class User scope :active, -> { where(accepted: true, locked: false) } end User.active # ... WHERE `accepted` = 1 AND

                                                          Rails 7で導入される invert_where メソッドが危険そうだったので調べた - pockestrap
                                                        • ruby-jpでwebsocket-client-simpleというgemの開発を引き取った経緯 | うなすけとあれこれ

                                                          ただdeployしたかっただけなのに 僕のお手伝いしている、とある会社ではdeployをSlack botから行っていましたが、ある日そのbotが動かなくなっていました。Twitterでも少し話題になったので覚えていらっしゃる方もいると思います。 Rubotyで動いてた煉獄さんがSlack RTM周りの変更で動かなくなってしまったためGitHub Actionsに載せ替えました。通知の責務に関しては、炭治郎が受け継ぎました pic.twitter.com/nM4hvc5oTL — 黒曜@Leaner Technologies (@kokuyouwind) December 7, 2021 このとき何が起こっていたのか。前述したとある会社では、Slack bot frameworkとしてRubotyを、Slackとの通信にはruboty-slack_rtm gemを使っていました。 r7ka

                                                            ruby-jpでwebsocket-client-simpleというgemの開発を引き取った経緯 | うなすけとあれこれ
                                                          • 初心者が地方公共団体コードを扱うためのGemを作った話

                                                            https://ginza-rails.connpass.com/event/234304/ 銀座Rails#41の登壇資料です

                                                              初心者が地方公共団体コードを扱うためのGemを作った話
                                                            • CircleCIの実行を速くした - pockestrap

                                                              先週仕事でやったのをメモします。 CI力が低いので、記事を公開することでツッコミをもらうのが目的です。 モチベーション 弊社ではCIの実行が1回あたり20分ほどかかっています。 これはわりとストレスなので速くしたいです。幸いにも削れそうなところが2つ見つかったので削ってみました。 Shallow Clone CircleCIではデフォルトのcheckoutを使用するとリポジトリの全体をcloneしてきます。 これを回避するためにshallow cloneを導入しました。 まず、次のようなコマンドを定義します。 commands: shallow-clone: description: 'Git clone shallowly' steps: - run: name: 'shallow clone' command: | set -x echo "machine github.com log

                                                                CircleCIの実行を速くした - pockestrap
                                                              • ridgepoleの起動をめっちゃ早くする

                                                                要約 新gem spring-commands-ridgepoleを作ったので使ってみてね。 Gemfileに gem 'spring-commands-ridgepole', group: :development をコピペするだけでinstallできるよ。 $ bin/spring binstub ridgepole でbinstubを作って、 $ bin/ridgepole で使えるよ。 ridgepoleという神ツールを皆様御存知でしょうか。 Rails migration的なAPIでテーブル定義を宣言しておくと、その通りにデータベースにテーブルを構築してくれるツールです。 RDB界のReactです。 プロジェクト超初期ではテーブル定義は試行錯誤を繰り返すのでめちゃくちゃ変更します。 宣言的にテーブルが書けて考えも整理しやすく、私はridgepoleを愛用しています。 しかし、悩み

                                                                  ridgepoleの起動をめっちゃ早くする
                                                                • Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog

                                                                  Gemfile of dreams: the libraries we use to build Rails appsMay 28, 2024 From time immemorial, the Evil Martians team has worked on dozens of Ruby on Rails projects every year. Naturally, this process involves a lot of Ruby gems. Some reflect our desire to be cutting-edge and to use modern tools (or build our own!) Other gems are so flexible they’ve been used in most of our projects. Our developmen

                                                                    Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog
                                                                  • GitHub - exoego/rspec-openapi: Generate OpenAPI schema from RSpec request specs

                                                                    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 - exoego/rspec-openapi: Generate OpenAPI schema from RSpec request specs
                                                                    • Rubyとnamespaceと拡張ライブラリについて - なるせにっき

                                                                      2020年代はモノリスの時代 ここ10年ほど流行っていたマイクロサービスについての理解が深まり、その限界が広く知られるようになってきた。ShopifyのModular Monolithについての記事などは代表例だろう。並行して必要性が叫ばれるようになってきたのがnamespaceだ。RubyKaigi 2023ではshioyamaさんがMultiverse Rubyと題して発表をしていたし、その後tagomorisさんも記事を書いている Rubyでは以前からnamespaceへの議論が行われてはいたのだが、Ruby 2.0の頃の議論では主にMonkey Patchingによる副作用を局所化するためのものだった。当時の議論とはライブラリ読み込みの局所化という課題が挙がっている点が異なっており、それに伴い技術的な困難も異なる。上述の記事でもそれらの多くは整理されているのだが、この記事ではまだ議

                                                                        Rubyとnamespaceと拡張ライブラリについて - なるせにっき
                                                                      • rufo - Ruby Formatter - ongaeshi

                                                                        Ruby用の高速フォーマッタ。純粋にフォーマッタだけなのがよい。 1. gem install rufo code:shell $ gem install rufo 2. jnbt.vscode-rufo のインストール VSCodeで"rufo"で検索してインストール。 3. VSCodeの設定 Windowsの場合、rufo.batにする必要があるので注意。rufoだとnot foundする。 code:setting.json "rufo.exe": "rufo.bat" 4. Ctrl+Shift+F でフォーマット #ruby

                                                                          rufo - Ruby Formatter - ongaeshi
                                                                        • Introducing new features for the aws-sdk-rails gem | Amazon Web Services

                                                                          AWS Developer Tools Blog Introducing new features for the aws-sdk-rails gem The Ruby SDK team is happy to announce that we’ve added new features and consolidated existing gems into the aws-sdk-rails gem to make developing Rails applications using AWS easier than ever. Features supported Amazon Simple Queue Service (SQS) queue adapter for ActiveJob (new) ActiveSupport::Notification instrumentation

                                                                            Introducing new features for the aws-sdk-rails gem | Amazon Web Services
                                                                          • SpringOnion: Railsの遅そうなEXPLAINをログ出力するgem - so what

                                                                            SpringOnionというRailsの遅そうなEXPLAINをログ出力するgemを作りました。 github.com 某kamopoさんのMySQLCasualLog.pmの移植?です。 cf. ふつうのWeb開発者のためのクエリチューニング 以前の移植とは異なって、Arproxyを必要とせず、単体で動きます。 何年前の話だよといわれそうですが、未だにスロークエリと戦っていたりするので… Rails 3以前に搭載されていた、遅かったクエリを自動的にEXPLAINする機能とは異なり、フィルタで選別されたすべてのクエリに対してEXPLAINを実行し、まずそうなキーワードが出現したらログに出力します。 また、EXPLAINの実行先は開発用のDBだけでなく任意のDBに向けられます(例: ステージング環境のDBなど)。 使い方 GemfileにSpringOnionを追加して group :dev

                                                                              SpringOnion: Railsの遅そうなEXPLAINをログ出力するgem - so what
                                                                            • Async Ruby - Bruno Sutic

                                                                              Ruby has an Async implementation! It's available today, it's production-ready, and it's probably the most awesome thing that's happened to Ruby in the last decade, if not longer. Async Ruby adds new concurrency features to the language; you can think of it as "threads with none of the downsides". It's been in the making for a couple of years, and with Ruby 3.0, it's finally ready for prime time. I

                                                                              • Railsエンジニアの視点でHanamiを解説してみた - Qiita

                                                                                はじめに 新しい職場に来てもう少しで2ヶ月が経過します。現在の業務でHanamiを書き始め、何となく慣れてきたので、アドベンドカレンダーの機会にHanamiについて書いてみたいと思います。しかし、Hanamiはまだまだマイナーなフレームワークであるため、Railsエンジニアの視点で分かりやすいように解説していきます。 Hanamiとは 2017年4月にバージョン 1.0.0 がリリースされたばかりの比較的新しいRubyのフレームワークです。Railsとの違いで代表的なものはこんなところです。 長期的なメンテナンスに向いたフレームワーク Rails はMVCやActiveRecordに仕様の大部分が依存したフレームワークになっています。 一方でHanami は DDD (ドメイン駆動設計) をベースにしつつ、ある程度柔軟性を残した状態で開発出来るフレームワークとなっています。 もう少し具体的

                                                                                  Railsエンジニアの視点でHanamiを解説してみた - Qiita
                                                                                • 希少なピンクダイヤ発見、史上最大級 アンゴラ

                                                                                  豪企業ルカパ・ダイヤモンドがアンゴラのルロ鉱山で採掘したピンクダイヤ「ルロ・ローズ」。同社提供(撮影日不明、2022年7月27日公開)。(c)AFP PHOTO / LUCAPA DIAMOND COMPANY LIMITED 【7月27日 AFP】アフリカ南西部アンゴラの鉱山で、希少なピンクダイヤモンドの原石が採掘された。過去300年間に見つかった中で最大とみられている。鉱山を運営するオーストラリアの企業が27日、発表した。 ルカパ・ダイヤモンド(Lucapa Diamond)の投資家向け発表によると、今回発見されたピンクダイヤは170カラット。豊富なダイヤ埋蔵量で知られるアンゴラ北東部のルロ(Lulo)鉱山で見つかり、「ルロ・ローズ(Lulo Rose)」と名付けられた。ピンクダイヤとしては史上最大級だという。 ルロ・ローズは、不純物を含まず最も希少とされる「IIa型」の天然ダイヤで、

                                                                                    希少なピンクダイヤ発見、史上最大級 アンゴラ

                                                                                  新着記事