並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 441件

新着順 人気順

irbの検索結果361 - 400 件 / 441件

  • deviseはパスワードをどのように安全に保管しているか?

    3行まとめ Deviseはソルトとハッシュ値をDBに保存している。 pepper(Secret Salt)値はデフォルトでは使われていない。安全性を上げたければ追加したほうが良い。 Deviseを使っていればとりあえず安全そう。 きっかけ pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 Ruby on Railsで広く使われているDeviseはどのようにパスワードを安全に保管しているのかを確認してみます。 背景 Deviseは、1億6000万以上のダウンロードを誇るRails向けの認証ミドルウェアです。 暗号化操作のほとんどが抽象化されているため裏で何が起こっているかを知らないで使っている場合がほとんどです。 Deviseにおいて、パスワードが保存されているストレージのカラム名は encr

      deviseはパスワードをどのように安全に保管しているか?
    • Ruby 2.7が公開、関数型言語で広く使われているパターンマッチ機能などを追加

      Ruby開発チームは2019年12月25日、オープンソースのオブジェクト指向スクリプト言語「Ruby」の最新安定版「Ruby 2.7.0」をリリースしたと発表した。 Ruby 2.7.0では多くの新機能を追加し、パフォーマンスを改善した。主な改良点は次の通り。 パターンマッチ機能を導入 関数型言語で広く使われているパターンマッチ機能を実験的に導入した。これにより、渡されたオブジェクトの構造がパターンと一致するかどうかを調べ、一致した場合にその値を変数に代入するといったコードを記述しやすくなった。 require "json" json = <<END { "name": "Alice", "age": 30, "children": [{ "name": "Bob", "age": 2 }] } END case JSON.parse(json, symbolize_names: true

        Ruby 2.7が公開、関数型言語で広く使われているパターンマッチ機能などを追加
      • 外部キー制約が使えない場合のRailsの実装方法 - エニグモ開発者ブログ

        こんにちは、エンジニアの川本です。 主にBUYMAの決済・配送を担当しているチームでバックエンドの開発をしています。 この記事は Enigmo Advent Calendar 2023 の 20 日目の記事です。 個人開発でPlanetScaleというMySQL互換のサーバーレスデータベースを使用しているのですが、特筆すべき仕様として外部キーのサポートがありません。 planetscale.com 外部キー制約はDBレベルで強い整合性を担保できる便利な手段ですが、PlanetScaleではその機能が利用できないので、アプリケーションレベルで整合性を担保する必要があります。 MySQLの外部キーのオプションにはいくつか種類がありますが、これらが使えない場合にアプリケーション側ではどのように担保すればよいのでしょうか? 今回は、Railsを例にしてアプリケーション側でMySQLの外部キーに相当

          外部キー制約が使えない場合のRailsの実装方法 - エニグモ開発者ブログ
        • Swiftでの文字列置換について|TechRacho by BPS株式会社

          BPSの福岡拠点として一緒にお仕事をさせていただいています、株式会社ウイングドアの岡です。 今回、Swiftでの文字列置換についてご紹介したいと思います。 文字列内でマッチした部分文字列が、正しく置換できるようになることを 目的にやっていきたいと思います。 Swiftで文字列置換させようとしている方へ少しだけでも、 アドバイスになれば、うれしいです。 今回使用したバーションはSwift 5になります。 Rubyでの文字列置換 はじめに、Rubyでの文字列置換を見ていきましょう。 subメソッドを使った方法とgsubメソッドになります。 irb(main):022:0> irb(main):023:0> hogehoge = "ああいうああえお" => "ああいうああえお" irb(main):026:0> hogehoge.sub("ああ","あか") => "あかいうああえお" subメ

            Swiftでの文字列置換について|TechRacho by BPS株式会社
          • 2020年にruby-net-nntpとtmailを動かしてみる - Qiita

            $ irb irb(main):001:0> require "rubygems" => false irb(main):002:0> require "bundler/setup" => true irb(main):003:0> require 'net/nntp' Traceback (most recent call last): 14: from /usr/bin/irb:11:in `<main>' ... 2: from .../lib/ruby/2.5.0/gems/tmail-1.2.7.1/lib/tmail/utils.rb:110:in `<module:TMail>' 1: from .../lib/ruby/2.5.0/gems/tmail-1.2.7.1/lib/tmail/utils.rb:117:in `<module:TextUtils>' Regexp

              2020年にruby-net-nntpとtmailを動かしてみる - Qiita
            • 週刊Railsウォッチ: MessagePackがcookieシリアライザとメッセージシリアライザにも導入ほか(20230607前編)|TechRacho by BPS株式会社

              こんにちは、hachi8833です。Rails World 2023のCFP締め切りが近づいています。 Friendly reminder that the #RailsWorld #CFP will close on Friday June 16 - that means less than two weeks to submit your talk proposals here➡️ https://t.co/Tm165uON8x — Ruby on Rails (@rails) June 5, 2023 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi883

                週刊Railsウォッチ: MessagePackがcookieシリアライザとメッセージシリアライザにも導入ほか(20230607前編)|TechRacho by BPS株式会社
              • 週刊Railsウォッチ: Ruby on Jets 6.0がRailsをサポートほか(20240620後編)|TechRacho by BPS株式会社

                週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やX.comでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Better error message, opt-i

                  週刊Railsウォッチ: Ruby on Jets 6.0がRailsをサポートほか(20240620後編)|TechRacho by BPS株式会社
                • Ruby でも 1 <= x < 5 みたいに書きたい! ~やさしい黒魔術入門~ - Qiita

                  Python では数学のように 1 <= x < 5 のような比較式を書くことができます1が、それをうらやましく思うことがあります。…ええ、もちろん 1 <= x && x < 5 と書けばいいだけの話です2し、あるいは (1...5).include?(x) のように書いた方が Ruby 的ですね。でも、時には Ruby 的にではなくて 数学的に書きたいんですよ! というわけで、Ruby の黒魔術を使って 1 <= x < 5 のような比較式を書けるようにしてしまおう、というあまり実用性の無い記事です。 そもそも、なぜ 1 <= x < 5 はエラーになるのか さて、irb を起動して「1 < 2 < 3」とでも入力してみましょう。 irb(main):001:0> 1 < 2 < 3 NoMethodError (undefined method `<' for true:TrueCl

                    Ruby でも 1 <= x < 5 みたいに書きたい! ~やさしい黒魔術入門~ - Qiita
                  • Fast data processing with Ruby and Apache Arrow - Kouhei Sutou - Rabbit Slide Show

                    Description I introduced Ruby and Apache Arrow integration including the "super fast large data interchange and processing" Apache Arrow feature at RubyKaigi Takeout 2021. This talk introduces how we can use the "super fast large data interchange and processing" Apache Arrow feature in Ruby. Here are some use cases: * Fast data retrieval (fast (({pluck}))) from DB such as MySQL and PostgreSQL for

                      Fast data processing with Ruby and Apache Arrow - Kouhei Sutou - Rabbit Slide Show
                    • アレックス・タバロック 「医療の世界における左桁バイアス」(2023年8月3日)

                      アヌパム・ジェナ(Anupam B. Jena)&クリストファー・ウォーシャム(Christopher Worsham)の『Random Acts of Medicine』の書評をウォール・ストリート・ジャーナル紙に寄稿したばかりだ。一部を引用しておこう。 「左桁バイアス」のことは、どこかしらで耳にしたことがあるかもしれない。8ドルの品と8.01ドル(8ドル1セント)の品だと違いなんて感じられないのに、7.99ドル(7ドル99セント)の品と8ドルの品だと違って見えて7.99ドルの品の方が(本来の価格差以上に)いくらか安く感じられる。あるいは、走行距離が39,990マイルの中古車の方が走行距離が40,005マイルの中古車よりもだいぶ高値で売れたりする [1]訳注;この件については、本サイトで訳出されている次の記事を参照されたい。 ●レスター・ピッカー 「左桁バイアス … Continue r

                        アレックス・タバロック 「医療の世界における左桁バイアス」(2023年8月3日)
                      • RubyKaigi 2023参加報告 - Tabelog Tech Blog

                        こんにちは!食べログの飲食店システム開発部サービス開発チーム所属の大橋です。 2022年からWEBエンジニアとして食べログで働いており、Rubyの経験年数が1年になりました! 先月、私は松本市で開催されたRubyKaigi 2023に参加してきました! 今回の記事では 「RubyKaigi 2023に参加してみてどうだったのか」 「食べログでは技術的なチャレンジがしやすい文化を作るためにどんな取り組みをしているのか」 などを中心にお話をしていこうと思います。 食べログで働いているエンジニアは毎年開催されるRubyKaigiに参加できる! 毎年開催されるRubyKaigiは、食べログでエンジニアとして働いていれば誰でも業務として参加することができます。もちろん交通費やホテル代・チケット代などの必要経費は会社が負担してくれます! さらに食べログでは企業ブースも出展しており、ノベルティとして20

                          RubyKaigi 2023参加報告 - Tabelog Tech Blog
                        • 週刊Railsウォッチ: Railsフラグメントキャッシュ経由の情報漏洩に注意ほか(20230803後編)|TechRacho by BPS株式会社

                          週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails 🔗 フラグメントキャッシュ経由の情報漏洩に注意 元記事: Are you absolutely sure your Rails cachin

                            週刊Railsウォッチ: Railsフラグメントキャッシュ経由の情報漏洩に注意ほか(20230803後編)|TechRacho by BPS株式会社
                          • TracePoint活用事例: Sentryのローカル変数キャプチャ機能 - inSmartBank

                            "Sentry"、使っていますか? 去る 2021-11-11 にリリースされた sentry-ruby 4.8.0 gem に "exception frame's local variable capturing" という機能が導入されました。良い感じの和訳が思いついてないのですが本記事ではローカル変数キャプチャ機能と呼称します。 これは例外発生箇所のローカル変数を Sentry Web UI で確認できる便利デバグ機能であるだけでなく TracePoint の cool な活用事例でもあります。せっかくなので機能の説明だけでなく、どのようにこの機能が実現されているのか、コードリーディングしつつ解説を試みます。 "exception frame's local variable capturing" とは? 前置き / 用語整理 機能を説明する前にざっくりと用語を整理します。 exce

                              TracePoint活用事例: Sentryのローカル変数キャプチャ機能 - inSmartBank
                            • マスクとCOVID-19 - ある整形外科医のつぶやき

                              マスクをしていると何か息苦しさを感じませんか? 暑い夏に向かってマスク着装の不快感は、どんどん増していきます。 顔に触れる不快感とともに、息苦しさは、マスクを付けない人の言い訳になっているかもしれません。 そこで医学的にマスクをつけると実際に健康被害が発生するのかどうか調べてみました。 1)2021年1月; 146:110411。 オンラインで公開2020年11月22日 。doi: 10.1016 / j.mehy.2020.110411 COVID-19時代のフェイスマスク:健康仮説 循環器内科、退役軍人パロアルトヘルスケアシステム/スタンフォード大学、パロアルト、カリフォルニア州、アメリカ合衆国 ⁎住所:VA Palo Alto Health Care System、Cardiology 111C、3801 Miranda Ave、Palo Alto、CA 94304、UnitedSt

                                マスクとCOVID-19 - ある整形外科医のつぶやき
                              • Ruby 2.7.0-preview3 リリース

                                Posted by naruse on 23 Nov 2019 Ruby 2.7シリーズのプレビュー版である、Ruby 2.7.0-preview3をリリースします。 プレビュー版は、年末の正式リリースに向け、新たな機能を試し、フィードバックを集めるために提供されています。 Ruby 2.7.0-preview3では、多くの新しい機能やパフォーマンスの改善が含まれています。 その一部を以下に紹介します。 Compaction GC 断片化したメモリをデフラグするCompaction GCが導入されました。 一部のマルチスレッドなRubyプログラムを長期間動かし、マーク&スイープ型GCを何度も実行していると、メモリが断片化してメモリ使用量の増大や性能の劣化を招くことが知られています。 Ruby 2.7ではGC.compact というメソッドを導入し、ヒープをコンパクションすることが出来るよう

                                • 10⁹⁹⁴²⁰⁶⁷ は 8 桁である - Qiita

                                  この記事は下記の記事の続編ともいうべきものです。 桁数は Math.log10(x).floor + 1 でいいのか - Qiita さて,$10^{9942067}$ は 10 進で何桁の数だろうか1。 Ruby なら簡単さ。 irb(main):001:0> (10 ** 9942067).to_s.length (irb):1: warning: in a**b, b may be too big => 8 え? は,8 桁ぁ? ど,どういうこと? しかも何か変な警告が出てるし。つか,この警告がヒントか。要するにデカすぎてちゃんと計算できてないってこと? でもエラーじゃないしな。 いっそ .to_s.length を取って実行してみるか。 いや待てよ,もし巨大整数が表示されようとしたらターミナルがしばらく操作不能になりそうだしな。 えーい,やっちまえ。

                                    10⁹⁹⁴²⁰⁶⁷ は 8 桁である - Qiita
                                  • [旧版]平沢進は無害か|Pharmakon

                                    追記(2024-06-23):本稿の改訂版である「新・平沢進は無害か」(下記リンク)を公開しました。ぜひご一読ください。https://note.com/pharmakon/n/n8bf3a95fd424#ff4e5d07-b4f9-4e87-8880-9ad4a7005a14 平沢進の有害無害論争2024年4月、いわゆる馬骨(平沢進のリスナーの呼称)界隈でとあるインフルエンサーのポストが波紋を呼んだ。 ”土井善晴とか平沢進を見てると、男がジジイになっても愛されるには、尖り散らした専門性と他人に対する無害さを兼備しないといけないのかな、と思って少し悲しくなる” ベテランち(@veteranchi)、2021-05-04 17:05:26、https://x.com/veteranchi/status/1389491345786474510を参照。(参照:2024-06-15)リスナーの間で

                                      [旧版]平沢進は無害か|Pharmakon
                                    • Railsコンソールの思いがけない便利技(翻訳)|TechRacho by BPS株式会社

                                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails console trick I had no idea about | Arkency Blog 原文公開日: 2021/04/28 原著者: Paweł Pacana サイト: arkency .irbrcを調整してインタラクティブなコンソールを使いやすくすると、生産性も目に見えて向上し、フラストレーションも減らせるのでやりがいのある作業です。最近のRuby Weeklyでは、このあたりのトピックを扱う記事をいくつも見かけます。 これまでも.irbrcにいろいろ手を加えて便利にしてきましたが、変更内容をリモートサーバーにも反映するのがいつも面倒でした(Herokuでも使えるようにするなど)。この問題で悩んでいるのは私だけではありません。もちろん方法はいくつもありますが、以下のようにアプリのコードに近い方法が最もしっく

                                        Railsコンソールの思いがけない便利技(翻訳)|TechRacho by BPS株式会社
                                      • NEC UNIVERGE IX ルータ (IX2025, IX2105 など) での使用方法 (IPsec 暗号化あり) - OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト

                                        OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト OS / 機器ごとの設定例 NEC UNIVERGE IX ルータ (IX2025, IX2105 など) での使用方法 (IPsec 暗号化あり) NEC UNIVERGE IX ルータは、本「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービス、および本サービスを利用した拠点間 VPN の構築に対応しています。 このページでは、「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」サービスを NEC UNIVERGE IX ルータで使用する方法について、以下の 3 つの節に分けて説明します。 NEC UNIVERGE IX ルータを本サービスの DDNS ホスト名に関連付ける方法。 まず、NEC UNIVERGE IX ルータ ルータを本サービスの DDNS ホスト名

                                        • Docker Composeのvolumesを使ってもっと効率的に - Qiita

                                          Docker Composeを使った初期装備なRails6/PostgreSQL環境の作り方 - Qiita の続編です。 前回の記事では、Quickstart: Compose and Rails | Docker Documentationに沿ってDocker Composeを使ったRuby2.7,Rails6,PostgreSQLでの開発環境を作る方法について紹介しました。 この記事では、前回の記事で構築した開発環境における問題点(不便な点)について述べたあと、Docker Composeのvolumesを使ってその問題を解決する方法について記載します。 想定する読者は前回と同じです。 Rails環境構築でいつも躓くの方(丁寧めに説明します) 未来の自分(思い出せるように書きます) 問題点 結論から言うと、前回作った開発環境にはGemを追加する度にイメージをbuildしないといけない

                                            Docker Composeのvolumesを使ってもっと効率的に - Qiita
                                          • Developer Preview: Ruby SDK code generation using Smithy | Amazon Web Services

                                            AWS Developer Tools Blog Developer Preview: Ruby SDK code generation using Smithy What is this? The AWS SDK For Ruby team is happy to announce the developer preview of smithy-ruby, a toolchain that can be used to code generate a “white label” Ruby SDK for your service API using Smithy modeling. An upcoming future version of the AWS SDK For Ruby will use Smithy code generation. What is Smithy? Smit

                                              Developer Preview: Ruby SDK code generation using Smithy | Amazon Web Services
                                            • Rubyで競技プログラミング bit演算の基礎まとめ - ls /asapon/blog

                                              はじめに 最近、競技プログラミングの勉強をはじめました。仕事で求められるものとはまた違った知識・経験が要求され、なかなか難しさを感じています。 この記事では競技プログラミングを通して学んだ、Rubyを用いたbit演算の基礎をまとめたいと思います。 bit演算の基礎 表示 0b を先頭につけることで2進数表示にできます。 irb(main):> bit = 0b101 irb(main):> bit => 5 論理回路 & は積(AND)、| は和(OR)、~は否定(NOT)、 ^ は排他的論理和(XOR)を示します。 irb(main):> bit = 0b101 # 10進数では5 irb(main):> another_bit = 0b111 # 10進数では7 irb(main):> bit & another_bit => 5 # 0b101 irb(main):> bit | a

                                                Rubyで競技プログラミング bit演算の基礎まとめ - ls /asapon/blog
                                              • Ruby 3.0でアドベント問題集を解く(1日目)修正のレポート(翻訳)|TechRacho by BPS株式会社

                                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Advent of Ruby 3.0 - Day 01 - Report Repair - DEV Community 原文公開日: 2020/12/28 著者: Brandon Weaver -- RubyとJSとキツネザルと言葉遊びとアートを愛しています。 新着記事ニュースレター: The Start of a Pattern Match • Buttondown Brandonさんの新着記事情報がメールで配信されます Ruby 3.0でアドベント問題集を解く(1日目):修正のレポート(翻訳) Ruby 3.0が先頃リリースされました。3.0に盛り込まれた楽しい機能をじっくり時間をかけて試すには絶好の時期ですね。 本シリーズでは、Ruby 2.7や3.0のさまざまな機能がAdvent of Codeの問題を解くうえでどんなふう

                                                  Ruby 3.0でアドベント問題集を解く(1日目)修正のレポート(翻訳)|TechRacho by BPS株式会社
                                                • RubyでWebスクレイピングしたい(ChromeDriverインストール編) - マイペースなRailsおじさん

                                                  Seleniumを使って、Google画像検索から画像をスクレイピングすることにしました。 環境 Ubuntu 18.04.2 LTS WSL2 on Windouws 10 ruby 2.7.2 selenium-webdriverをインストール まずはruby経由でWebDriverへのリクエストを送信するためのgem、selenium-webdriverをインストールします。 selenium-webdriver | RubyGems.org | your community gem host gem install selenium-webdriver selenium-webdriverの主な役割は、WebDriverと通信するためのAPIを提供することです。WebDriverが含まれているわけではないので、操作したいブラウザとそのブラウザ用のWebDriverを別途インストール

                                                    RubyでWebスクレイピングしたい(ChromeDriverインストール編) - マイペースなRailsおじさん
                                                  • 週刊Railsウォッチ: ArelでCAST関数サポート、webdrivers依存を解消、YJIT高速化ほか(20230824後編)|TechRacho by BPS株式会社

                                                    週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Omit webdrivers gem from

                                                      週刊Railsウォッチ: ArelでCAST関数サポート、webdrivers依存を解消、YJIT高速化ほか(20230824後編)|TechRacho by BPS株式会社
                                                    • 週刊Railsウォッチ(20210511後編)AWS Lambda関数ハンドラをDSLで書けるyake gem、VPC Peeringが同一AZ転送量無料化ほか|TechRacho by BPS株式会社

                                                      週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 yake: AWS Lambda関数ハンドラをrake風に書ける(Ruby Weeklyより) つっつきボイス:「いぇーく?」「なるほど、

                                                        週刊Railsウォッチ(20210511後編)AWS Lambda関数ハンドラをDSLで書けるyake gem、VPC Peeringが同一AZ転送量無料化ほか|TechRacho by BPS株式会社
                                                      • So We've Got a Memory Leak… | Steven Harman — Maker & Breaker of Things

                                                        Memory leaks happen. And if you’re here, reading this, I’d bet you’re dealing with one. First things first - are you sure it’s a leak, and not bloat? Okay, so it’s a leak. Much has been written about various tools for profiling a leak, understanding heap dumps, common causes of leaks, work being done to improve Ruby’s memory layout, and so much more. Ben Sheldon’s recent “The answer is in your hea

                                                          So We've Got a Memory Leak… | Steven Harman — Maker & Breaker of Things
                                                        • ruby-mysql - tmtms のメモ

                                                          これはMySQLアドベントカレンダーとRubyアドベントカレンダーの12日目の記事です。 qiita.com qiita.com ruby-mysql は Ruby だけで書かれた MySQL 用のクライアントライブラリです。 今は Ruby から MySQL を使う場合は普通は mysql2 を使うだろうから、たぶん誰も使ってない。 誰も使ってないだろうし、6年ほど放置してたんだけど、なぜかその気になったのでまたいじり始めた。退職前の有給消化期間で暇だったからかも。 MySQL 8.0 対応 MySQL 8.0 でデフォルトの認証方式が変更になって、そのままでは接続できなくなったので対応。 認証方式はユーザーごとに異なる場合があるので、サーバーのデフォルト認証方式、クライアントのデフォルト認証方式、ユーザーの認証方式が異なっていた場合のプロトコルに対応。 とりあえず、MySQL 5.7

                                                            ruby-mysql - tmtms のメモ
                                                          • RubyKaigi 2023に参加したら新しい繋がりが生まれて悩みが解消した話 - 部屋の隅っこで書く技術ブログ

                                                            05/11-13の3日にわたって開催されたRubyKaigi 2023に現地参加してきました。 今年の開催地は長野県松本市。2020年にも開催が予定されていましたが中止になってしまい、3年越しでの開催となりました。 昨年に引き続きオンラインとのハイブリッド開催でしたが、オンサイトでのパーティやドリンクアップも復活して「RubyKaigiが帰ってきた」との思いを強く感じました。 トーク "Parser Kaigi" Multiverse Ruby Rethinking Strings Ruby vs Kickboxer - the state of MRuby, JRuby and CRuby Fix SQL N+1 queries with RuboCop いろんな人と話した RubyKaigi との向き合い方 Matsumoto is Nice 余談 会社でMatzに色々解説してもらった

                                                              RubyKaigi 2023に参加したら新しい繋がりが生まれて悩みが解消した話 - 部屋の隅っこで書く技術ブログ
                                                            • Ruby "Quine" Paper Craftの解説 - STORES Product Blog

                                                              STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 昨日は RubyKaigi 2024 の STORES ブースで開催していた企画 Ruby "enbugging" quiz の解説をしましたが、ブースでは Ruby Paper Craft というのも配布していました。今日はこちらを解説します。 STORES ブースで配布しているもの🎁 Ruby Paper Craft made by @mametter #rubykaigi pic.twitter.com/7tc62pZmkJ— STORES Tech (@storesinc_tech) 2024年5月15日 これは何 組み上げたらRubyっぽい形になるペーパークラフトです。 Ruby Paper Craftを組み上げた様子 遠藤が展開図を生成するプログラムを書きました。もちろんRubyで。そのスク

                                                                Ruby "Quine" Paper Craftの解説 - STORES Product Blog
                                                              • Ruby 3.2で発生する「プロを目指す人のためのRuby入門 改訂2版」との差異について(注目の新機能もあわせて紹介!) - Qiita

                                                                Ruby 3.2で発生する「プロを目指す人のためのRuby入門 改訂2版」との差異について(注目の新機能もあわせて紹介!)Rubyプロを目指す人のためのRuby入門 はじめに 2022年12月25日に、Rubyの新しいバージョンであるRuby 3.2がリリースされました。 一方、2021年12月2日に出版した書籍「プロを目指す人のためのRuby入門 改訂2版」(通称・チェリー本。以下、本書)は執筆当時最新だったRuby 3.0を対象にしています。 本書は紙の本であるため、簡単に内容をアップデートすることができません。しかし、何もしないとどんどん内容が古くなってしまい、「本の通りやってみたけど、今使っているRubyとなんか動きが違う」ということになってしまいます。 そこで新しいRubyのバージョンがリリースされて、本書の説明と異なる部分が出てきたときは、毎回ネット上でその差異を説明するように

                                                                  Ruby 3.2で発生する「プロを目指す人のためのRuby入門 改訂2版」との差異について(注目の新機能もあわせて紹介!) - Qiita
                                                                • 型定義を書いてみよう (準備編) | Webシステム開発/教育ソリューションのタイムインターメディア

                                                                  こんにちは、@tk0miya です。 そろそろ RubyKaigi 2023 の余韻も冷めてきたところなのですが、持って返ってきたお土産タスクはまだまだ山盛りなので、少しずつ調べていこうと思っています。 さて、前回は Ruby の型定義情報を使って irb の入力をリッチにする katakata_irb を紹介しました。 rbs_rails を使うと Rails アプリから型定義が自動抽出できることも学びましたよね。 katakata_irb と rbs_rails の組み合わせだけでも、かなり強力な補完をしてくれますが、これに加えて自分で定義したメソッドに型を定義することで、さらに入力補完をパワーアップすることができます。 今回は、その型を定義する準備として、環境づくりの方法を紹介します。 最新の rbs パッケージをインストールする rbs-3.1.0 で導入された rbs subtr

                                                                    型定義を書いてみよう (準備編) | Webシステム開発/教育ソリューションのタイムインターメディア
                                                                  • 週刊Railsウォッチ(20210517前編)Bootstrap 5リリース、productionでSQLiteがwarning表示、rails-ujsの舞台裏ほか|TechRacho by BPS株式会社

                                                                    週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙇 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 今回は以下のコミットリストのChangelogを中心に見繕いました。 コミットリスト: Compa

                                                                      週刊Railsウォッチ(20210517前編)Bootstrap 5リリース、productionでSQLiteがwarning表示、rails-ujsの舞台裏ほか|TechRacho by BPS株式会社
                                                                    • rubocop-ast.wasm を作った - カレーの恩返し

                                                                      便利そうなツールを作ったという紹介です。 Ruby 30th LT に出したのですが落ちたので供養として書きました。 解決しようと思った課題 Ruby には RuboCop という linter 兼 formatter があります。 RuboCop に元々入っているルール(Cop と呼ばれます)だけでも十分に便利なのですが、自身の Ruby プロジェクトに合わせて独自のルール(Custom Cop)を作ることができます。 Custom Cop の作り方: Rubocop でカスタムルールを作る - MoneyForward Developers Blog https://sinsoku.hatenablog.com/entry/2018/04/24/02291 RuboCop の Cop の実装について - Qiita 記事に書かれているように、 ちょっとした実装で Custom Cop

                                                                        rubocop-ast.wasm を作った - カレーの恩返し
                                                                      • Abbrev: A Hidden Ruby Gem

                                                                        Note the resulting hash in the second example omitted ru as a key as it would be confusing to find which word it refers to, ruby or rust. It also works as an array extension, i.e. it adds an abbrev method to the Array class. This lets you call the abbrev method directly on an array. irb(main):003:0> ["ruby", "rust"].abbrev => {"ruby"=>"ruby", "rub"=>"ruby", "rust"=>"rust", "rus"=>"rust"}Pretty han

                                                                        • RubyKaigi 2023 に参加したメンバーの感想まとめ

                                                                          Leaner 開発チームの黒曜(@kokuyouwind)です。 RubyKaigi 2023が終わってしまいましたね。終わってみればあっという間でした。 Leaner Technologies では初日一発目に CEO の大平からスポンサートークをさせていただき、 LT では筆者の黒曜が登壇させていただきました。また 2 日目には主催のドリンクアップも開催させていただきました。 スポンサートークや LT を聞いていただいた皆様、ドリンクアップにご参加いただいた皆様、交流させていただいた皆様、なにより運営の方々とすべての参加者の皆様、本当にありがとうございました。 メンバーに RubyKaigi 2023 の感想を聞いてみよう Leaner Technologies からは総勢 9 名が現地参加させていただきました[1]。この中には初めての RubyKaigi というメンバーも、何度も参加

                                                                            RubyKaigi 2023 に参加したメンバーの感想まとめ
                                                                          • RubyKaigi 2024 参加レポート|MICIN公式note「MICINの邁進Days」

                                                                            株式会社MICINでエンジニアをしているmasatomotyです。 2024年5月15日〜17日に「那覇文化芸術劇場 なはーと」で開催されたRubyKaigi 2024に現地参加してきました。この記事では個人的に印象や記憶に残った発表をいくつかピックアップして紹介します。 発表・セッションのサマリと感想Embedding it into Ruby code 発表サマリ 型定義を記述するため.rbと対になる.rbsファイルが必要 ファイル分割のメリット ファイルが分割されることで.rbファイルとのコンフリクト考慮が不要 .rbsファイルを読むことで実装の外観が掴みやすくなる ファイル分割のデメリット 開発中に2つのファイルを行き来しないといけない 2つのファイルになる分,更新の手間が増える PRに.rbsファイルが上がってこないケースも発生する 上記のデメリットを解決するためにRBS::In

                                                                              RubyKaigi 2024 参加レポート|MICIN公式note「MICINの邁進Days」
                                                                            • 「Ruby 2.7」に対応した「RubyInstaller」が登場 ~「Ruby」を手軽にWindows環境へ導入/「reline」の採用で「irb」が大幅改善。“UTF-8”のデフォルト化も実施

                                                                                「Ruby 2.7」に対応した「RubyInstaller」が登場 ~「Ruby」を手軽にWindows環境へ導入/「reline」の採用で「irb」が大幅改善。“UTF-8”のデフォルト化も実施
                                                                              • Rails 7.1: Rails.env.local?で環境がdevelpment/testかどうかをチェック(翻訳)|TechRacho by BPS株式会社

                                                                                Rails 7.1で新メソッドRails.env.local?が導入されました(#46786)。このメソッドは、環境がdevelopmentまたはtestの場合にtrueを返します。development環境やtest環境でのみ実行したいコードがある場合に便利です。 🔗 改修前 Railsアプリケーションのdevelopment環境やtest環境でのみ動かしたいコードパスはいろいろあります。Railsにはdevelopment、test、staging、productionに加えて、マルチプルstaging環境やアプリケーションレビュー環境といったさまざまな環境がある場合もあります。 そのような場合、たとえば以下のようにコードで環境名をチェックする必要が生じます。 unless Rails.env.development? || Rails.env.test? # 外部APIを呼び出す

                                                                                  Rails 7.1: Rails.env.local?で環境がdevelpment/testかどうかをチェック(翻訳)|TechRacho by BPS株式会社
                                                                                • 型付きRubyでパーサを書く(中編) - ローファイ日記

                                                                                  前編はこちら。 udzura.hatenablog.jp ここまででスキャナまでは実装し、大体動いたようです(型もちゃんとついたようです)ので、続きの実装をします。 閑話: エディタの型支援を受ける 当方はEmacsなので読者の参考にならないかもしれませんが...。 といっても以下を有効にしたぐらい。 rbs-mode lsp-mode 同梱になった lsp-steep どちらも @ybiquitous さんの力なので、神と崇める他ない。 さらに、RBS有効のプロジェクトだけlspをsteepが用意したものに変えるため、プロジェクトのルートに以下のような .dir-locals.el を用意する。この内容は とんさんのブログ記事 のものを参考にしている。 ((ruby-mode . ((lsp-enabled-clients . (steep-ls))))) これでlspとlsp-uiを有

                                                                                    型付きRubyでパーサを書く(中編) - ローファイ日記