タグ

ブックマーク / qiita.com/jnchito (25)

  • RSpecを実行するとWebdrivers::VersionErrorが発生する場合の対処方法 - Qiita

    Webdrivers::VersionError: Unable to find latest point release version for 115.0.5790. You appear to be using a non-production version of Chrome. Please set `Webdrivers::Chromedriver.required_version = <desired driver version>` to a known chromedriver version: https://chromedriver.storage.googleapis.com/index.html # ./spec/system/tasks_spec.rb:24:in `go_to_project' # ./spec/system/tasks_spec.rb:14:

    RSpecを実行するとWebdrivers::VersionErrorが発生する場合の対処方法 - Qiita
    iga_k
    iga_k 2023/08/01
    chrome115問題
  • 【この記事はもう古いので読まないこと!!】Turboを有効化したままRails 7.0でDeviseを使う方法 - Qiita

    この記事は古いです!! Devise 4.9.0が正式リリースされたため、この記事の内容はすでに古くなっています。 Devise 4.9の導入方法は以下の記事で説明しています。ですので、こちらを読むようにしてください。 Devise 4.9をインストールしてRails 7.0 (Hotwire/Turbo)に対応する - Qiita はじめに Rails 7.0がリリースされて1年以上経ちましたが、Railsのメジャーな認証ライブラリであるDeviseは未だにRails 7.0に部分的にしか対応していません(参考)。 そのため、Rails 7.0でrails newしたRailsアプリケーション(つまり、Turboが有効になっている状態)だと、Deviseを使おうと思っても意図しない挙動になります。 そこで、この記事ではTurboを有効化したままRails 7.0でDeviseを使う方法を

    【この記事はもう古いので読まないこと!!】Turboを有効化したままRails 7.0でDeviseを使う方法 - Qiita
  • サンプルコードでわかる!Ruby 3.2の主な新機能と変更点 - Qiita

    はじめに Rubyは毎年12月25日にアップデートされます。 Ruby 3.2は2022年12月25日に3.2.0が正式リリースされました。 この記事ではRuby 3.2で導入される変更点や新機能について、サンプルコード付きでできるだけわかりやすく紹介していきます。 ただし、すべての変更点を網羅しているわけではありません。個人的に「Railsアプリケーションの開発時に役立ちそうだな」と思った内容をピックアップしています。記事で紹介していない変更点も多数ありますので、以下のような情報源もぜひチェックしてみてください。 備考:記事は以下の記事を「プロを目指す人のためのRuby入門 改訂2版」をお持ちでない方向けに再編集したものです。 動作確認したRubyのバージョン 記事は以下の環境で実行した結果を記載しています。 フィードバックお待ちしています 文の説明内容に間違いや不十分な点があっ

    サンプルコードでわかる!Ruby 3.2の主な新機能と変更点 - Qiita
    iga_k
    iga_k 2022/12/27
    伊藤さんのRuby3.2解説記事。幅広くてありがたい!
  • Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita

    Ruby on Rails Advent Calendar 2021の枠が空いていたので、あとから登録しました はじめに 個人的なプロジェクトになりますが、僕が翻訳しているRSpecの入門書「Everyday Rails - RSpecによるRailsテスト入門」を2022年前半にRails 7.0バージョンにアップデートしようと考えています。 そこでこのの中で使っているサンプルアプリケーションをRails 7.0でゼロから作り直してみました。フロントエンド周りを中心に結構考え方が変わっている部分があったので、「ここでハマった!」とか「こういうポイントを押さえておくといいかも」という点をあれこれ書いてみます。 なお、Rails 7.0版のサンプルアプリケーションはまだ公開できる状態ではないので、公開はもうしばらくお待ちください🙏 今回作成したサンプルアプリケーションはこちらで公開してい

    Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita
    iga_k
    iga_k 2022/01/01
  • 【新人プログラマ応援】学習用のプログラムと仕事で書くプログラムは何が違うか - Qiita

    はじめに これはQiitaで開催されている「新人プログラマ応援 - みんなで新人を育てよう!」イベントの投稿記事です。 今回は「先輩(ベテランから2年目社員、上級生)からのアドバイス」を書いてみようと思います。 この記事を書いている人 仕事で20年近くプログラムを書いているプログラマ 現在は株式会社ソニックガーデンでRubyプログラマをやっている Rubyの入門書「プロを目指す人のためのRuby入門」を出版している プログラミングスクール「フィヨルドブートキャンプ」のメンターでもある 対象読者 現在プログラミングを学んでいて、将来プログラマ(特にWeb系)として就職したいと考えている人 もしくはこの春から新人プログラマとして仕事でコードを書き始める人 いずれも業界未経験の初心者プログラマを想定 僕が普段Railsを使っているため、この記事ではRailsを使う開発の現場を想定していますが、大

    【新人プログラマ応援】学習用のプログラムと仕事で書くプログラムは何が違うか - Qiita
    iga_k
    iga_k 2021/03/31
    伊藤さんのまとめ、よさ
  • サポートが終了したchromedriver-helperからwebdrivers gemに移行する手順 - Qiita

    group :test do # chromedriver-helperをインストールすると、必要に応じてChromeDriverをインストールしてくれる gem 'chromedriver-helper' end しかし、このgemは2019年3月31日にサポートが終了します。 NOTICE: Ending support for this gem · Issue #83 · flavorjones/chromedriver-helper chromedriver-helper gemの作者はwebdriversというgemへの移行を推奨しています。 titusfortner/webdrivers: Keep your Selenium WebDrivers updated automatically ちなみに、chromedriver-helperのインストール完了時にも次のようなメッ

    サポートが終了したchromedriver-helperからwebdrivers gemに移行する手順 - Qiita
    iga_k
    iga_k 2021/01/13
    Chrome web driverの自動更新
  • 【翻訳】ActiveRecordにおける、ネストしたトランザクションの落とし穴 - Qiita

    🙅‍♂️この記事の内容は実際のコードに適用しないでください!! (2022-10-5追記) この記事の文でトランザクションに joinable: false というオプションを付けることが推奨されていますが、 joinable: false は内部APIなので指定してはいけない、というのがRails開発チームの見解のようです。 https://github.com/rails/rails/issues/39912#issuecomment-665483779 https://github.com/rails/rails/issues/46182#issuecomment-1266550987 joinable: false を付けるとコミット実行前にafter_create_commitコールバックが呼ばれるなど(参考)、思いがけない別の問題を引き起こすことがあります。 というわけで、

    【翻訳】ActiveRecordにおける、ネストしたトランザクションの落とし穴 - Qiita
    iga_k
    iga_k 2020/12/10
    transactionがネストしたときの動きと制御
  • 【翻訳】URI.escapeは非推奨メソッドです。あなたのクエリ文字列をパーセントエンコードするには - Qiita

    warning: URI.escape is obsolete warning: URI.encode is obsolete この警告の直し方を見ていきましょう! 歴史について少しだけ Ruby 2.7.0ではURI.escapeまたはエイリアスメソッドのURI.encodeを呼びだしたときに警告が出ます。これはあたかも新しく追加された警告のように見えますが、実際はなんと・・・10年以上も非推奨とされ続けていたのです!どうしても今までこの警告を目にしなかったんだろう?と不思議に思っている方へ。答えはこうです。これまではverboseモードでスクリプトを実行したときだけ表示されていました。そして、この仕様が最近変わりました。これがその理由です。 じゃあなんでURI.escapeは非推奨メソッドなの? 「URIをエスケープする」という概念は実はやっかいです。なぜならURIは多数の要素(pat

    【翻訳】URI.escapeは非推奨メソッドです。あなたのクエリ文字列をパーセントエンコードするには - Qiita
    iga_k
    iga_k 2020/02/06
  • config.load_defaultsとnew_framework_defaults_x_x.rbの関係を詳しく調べてみた - Qiita

    config.load_defaultsとnew_framework_defaults_x_x.rbの関係を詳しく調べてみたRubyRails TL; DR(はじめに結論) 以下はRails 5.1から5.2にアップグレードしたケースを想定しています。 必要に応じてバージョン番号を読み替えてください。 Rails 5.2アップグレード後にconfig.load_defaults 5.2と書くと、Rails 5.2のデフォルトの挙動になる 一部にRails 5.1の挙動に戻したい項目があれば、new_framework_defaults_5_2.rbの該当項目のコメントを外し、そのうえで設定値を論理反転させる(trueはfalseへ、falseはtrueへ修正する) Rails 5.1の挙動に戻す必要がなければ、new_framework_defaults_5_2.rbは削除しても構わない

    config.load_defaultsとnew_framework_defaults_x_x.rbの関係を詳しく調べてみた - Qiita
    iga_k
    iga_k 2020/01/22
    伊藤さんによる丁寧なまとめだ!
  • 【動画付き】Railsチュートリアルの統合テスト(integration test)は、RSpecのリクエストスペックに置き換えるのがラクです - Qiita

    【動画付き】Railsチュートリアルの統合テスト(integration test)は、RSpecのリクエストスペックに置き換えるのがラクですRailsRSpecRailsチュートリアル はじめに さきほど、こちらの記事を拝見しました。 RSpecのfeatureテストでsessionを扱う方法 - Qiita 詳しい内容はリンク先をチェックしていただきたいのですが、ざっくりまとめると、 RailsチュートリアルのテストをRSpecのフィーチャスペックに置き換えようとした Railsチュートリアルのテストではsession変数を操作するヘルパーメソッドを使っていたが、フィーチャスペックではその方法がわからなかった rack_session_accessというgemを使ったら、フィーチャスペックからsession変数を操作できた というお話です。 ただ、僕はこの記事を読んで「うーん、僕はフィ

    【動画付き】Railsチュートリアルの統合テスト(integration test)は、RSpecのリクエストスペックに置き換えるのがラクです - Qiita
  • 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita

    はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他

    使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 - Qiita
    iga_k
    iga_k 2019/10/05
    超便利まとめページあった!
  • RailsのAction XxxやActive Xxxはどんな命名基準で使い分けられるのか - Qiita

    はじめに:ActionとActiveの命名基準は何? Railsフレームワークの内部には以下のようなコンポーネント(クラス群)が用意されています。 Action Cable Action Mailer Action Pack Action View Active Job Active Model Active Record Active Storage Active Support 各コンポーネントのPrefix(接頭辞)はよく見ると、ActionとActiveの2種類があります。 ActionとActive、どちらも最初の4文字が同じなので、ぱっと見で違いが分かりづらいですし、どんな基準で名前が使い分けられているのかよくわかりません。 僕もときどき「あれっ、Action Storageだっけ?それともActive Storage??」と迷うことがよくありました。 というわけで、Rails

    RailsのAction XxxやActive Xxxはどんな命名基準で使い分けられるのか - Qiita
  • 永久保存版!?伊藤さん式・Railsアプリのアップグレード手順 - Qiita

    はじめに Railsアプリケーションを長く運用していると避けて通れないのがRailsのバージョンアップです。 古いバージョンのRailsは順次サポートの対象から外れていく(=不具合修正やセキュリティ対応がされなくなる)ため、バージョンアップをせずに運用するわけにはいきません。 そこでこの記事では僕・伊藤淳一がRailsアプリのバージョンをアップグレード(アップデート)する手順を紹介します。 この手順はこれまで何度もRailsアプリケーションをアップグレードしてきた僕の知見が詰まった、いわば「秘伝のタレ」的なアップグレード手順です。 想定するRailsアプリケーション この記事で想定しているのは以下のようなRailsアプリケーションです。 開発者1人でもなんとか面倒が見れるレベルの規模(=アップグレードは1人で作業する想定) 趣味で作っているのではなく、外部のユーザーがいるRailsアプリ(

    永久保存版!?伊藤さん式・Railsアプリのアップグレード手順 - Qiita
    iga_k
    iga_k 2019/08/20
    細かいところを除けばほとんど同じでよかった!bundle outdated知らなかったので今度使ってみたい。
  • 【翻訳】RSpecのリードメンテナだけど何か質問ある? - Qiita

    はじめに 先日、Redditでこんな記事が載っていました。 AMA: The authors of "Effective Testing with RSpec 3", Myron Marston and Ian Dees : ruby この記事は書籍「Effective Testing with RSpec 3」の筆者であるMyron Marston氏とIan Dees氏が、書籍に関する質問に何でも答えます、という企画です。 この2人のうち、Myron Marston氏はRSpecの開発者(リードメンテナ)です。 Q&Aを読んでいると、RSpecの開発者ならではの意見だなと思うところがたくさんあり、なかなか興味深い議論になっていました。 というわけで、この記事では先ほどのQ&Aから「これは日Rubyプログラマにも役立ちそう」と思ったやりとりをピックアップして翻訳してみます。 ピックアッ

    【翻訳】RSpecのリードメンテナだけど何か質問ある? - Qiita
    iga_k
    iga_k 2019/05/28
    知見! “あるexampleとそれが依存するいくつかの宣言文(例:subjectやlet(:factory))の距離はどんどん離れていくでしょう。”
  • サンプルコードでわかる!Ruby 2.6の主な新機能と変更点 - Qiita

    はじめに Rubyは毎年12月25日にアップデートされます。 Ruby 2.6については2018年12月6日にrc1がリリースされました。 Ruby 2.6.0-rc1 Released この記事ではRuby 2.6で導入される変更点や新機能について、サンプルコード付きでできるだけわかりやすく紹介していきます。 2018.12.26追記: 内容を一部更新しました 2018年12月23日と、Ruby 2.6.0リリース後の2018年12月26日にそれぞれ内容を一部更新しました。 具体的な変更点は以下のdiffをご覧ください。 2018年12月23日の変更点 2018年12月26日の変更点 記事の情報源 記事は以下のような情報源をベースにして、記事を執筆しています。 Ruby 2.6.0のリリースノート Ruby 2.6.0のNEWS リリースノートやNEWSに記載されている各種issue

    サンプルコードでわかる!Ruby 2.6の主な新機能と変更点 - Qiita
    iga_k
    iga_k 2018/12/11
    まとめありがたや!Ruby2.6、地味だけど便利な機能が色々入ってありがたやー。
  • あなたがマスターしたのはいくつ? Railsを習得するために必要な技術要素の一覧 - Qiita

    これはなんですか? これは「This is Why Learning Rails is Hard(Railsの習得が大変な理由はこれだ)」という海外記事に載っているマインドマップを日語化&リスト化したものです。 元記事には「Railsを習得するために必要な技術要素の一覧」を表す、以下のようなマインドマップが載っています。 長年Railsの開発に携わってきた人間として、このマインドマップは「うん、たしかに!」と非常に納得できる内容です。 ただし、サイズの大きな画像なので一覧性に欠けるのと、英語なので日人にとってはぱっと頭に入りづらい点があるのも否めません。 そこでいつでもぱっと確認できるように、このマインドマップ内容を日語化&リスト化することにしました。 このリストを読んで、自分がすでに身につけている技術要素は何か、また、これから習得が必要な技術要素にはどんなものがあるのか、各自で確認

    あなたがマスターしたのはいくつ? Railsを習得するために必要な技術要素の一覧 - Qiita
    iga_k
    iga_k 2018/11/30
    よいまとめ
  • 実用的な新機能が盛りだくさん!RSpec 3.3 完全ガイド - Qiita

    はじめに 2015年6月12日にRSpec 3.3がリリースされました。 APIが大きく変更されたり、派手な新機能が追加されたりはしていませんが、うまく活用するとテストを効率よく書いていけそうな実践的な新機能がたくさん導入されています。 この記事ではそんなRSpec 3.3の新機能を紹介していきます。 新機能一覧 RSpec 3.3で追加された主な新機能は以下の11個です。 これから各新機能の内容を紹介していきます。 特定のエクスペクテーション群をまとめて検証できる(aggregate_failures メソッド) グループやexampleをID指定して実行できる 失敗したテストだけを再実行できる(--only-failures オプション) 失敗したテストを1件ずつ修正できる(--next-failure オプション) テストが増減しても seed を指定したランダム実行が同じ順序で実行

    実用的な新機能が盛りだくさん!RSpec 3.3 完全ガイド - Qiita
    iga_k
    iga_k 2018/08/01
    aggregate_failures 便利!
  • rspec-rails 3.7の新機能!System Specを使ってみた - Qiita

    はじめに 先日、RSpec 3.7がリリースされました。 参考: RSpec 3.7 has been released! 上記ブログの中で「今回のリリースはRailsのSystem Testの統合機能をいち早く使ってもらうためのリリースだ」と書いてあります。 実際、ブログの中で触れられている新機能は「System Spec」機能の追加だけです。 というわけで、この記事はrspec-rails 3.7で導入されたSystem Specの紹介と使い方の説明をしていきます。 実行環境 この記事は以下のバージョンを対象にして書かれています。 rspec-rails 3.7.1 Rails 5.1.4 Ruby 2.4.2 selenium-webdriver 3.6.0 Capybara 2.15.4 Chrome 62 ChromeDriver 2.33 サンプルコード この記事で使用したコー

    rspec-rails 3.7の新機能!System Specを使ってみた - Qiita
    iga_k
    iga_k 2017/10/24
    便利そう〜「冒頭で紹介した公式ブログでも「Rails 5.1を使っている場合はFeature SpecよりもSystem Specの使用を推奨します」と書いてあります。」
  • RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita

    RubyRailsにおけるTime, Date, DateTime, TimeWithZoneの違いRubyRails 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているため、 Timeを使うことを推奨します。 https://docs.ruby-lang.org/ja/latest/class/DateT

    RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita
    iga_k
    iga_k 2017/04/19
    めっちゃわかりやすい
  • Rails 5 + ActionCableで作る!シンプルなチャットアプリ(DHH氏のデモ動画より) - Qiita

    【注意!】この記事はRails 5.0.0.beta1を対象にしています。最新のRails 5では仕様が変わっている可能性もあるので注意してください。 はじめに 先日、Rails 5のAction Cableを使ったシンプルなチャットアプリの作り方をDHH氏がYouTubeで公開していました。 Rails 5: Action Cable demo - YouTube 動画を見ながら僕もコードを写経してみたので、その内容をこちらで紹介してみます。 なお、ここで紹介するのはコードだけで、DHH氏の発言は完全に再現していません。 発言内容を確認したい人はオリジナルの動画をチェックしてみてください。 チャットアプリの完成形 今回は下のような非常にシンプルなチャットアプリを作成します。 ソースコード 今回作ったコードはGitHubにアップしています。 JunichiIto/campfire コードを

    Rails 5 + ActionCableで作る!シンプルなチャットアプリ(DHH氏のデモ動画より) - Qiita
    iga_k
    iga_k 2017/01/23