タグ

rubyに関するel-condorのブックマーク (153)

  • Ruby3.1にしたらRails consoleもオートコンプリートされるようになったので無効化する - Qiita

    Ruby3.1からIRBにオートコンプリート機能が実装されました。 irb上で下記のように候補が表示されます。 こちら、最初に見た時はすごい便利そうと思ったのですが、、、 irbでガリガリコードを書くことほぼないので補完して欲しいシチュエーションが少ない 候補を表示するために画面位置がずれる Tabでしか候補を移動できない(個人的にはCtrl+nで上、Ctrl+pで下に移動して欲しい) 表示が重いときがある など様々な要因が重なりOFFにしようと思いました。 irbのドキュメントには--noautocompleteオプションで無効化できると記載されていますが、Rails開発ではrails cでirbを起動しているのでこのオプションが指定できずどうやって無効化するのか調べました。 やり方は簡単で、上記のドキュメントに記載されている.irbrcをカレントディレクトリに作成することで簡単に無効化

    Ruby3.1にしたらRails consoleもオートコンプリートされるようになったので無効化する - Qiita
  • ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ

    LFAを書いたときの話にあるKernel#loadの第2引数で名前空間的なものを作れるんだけど、loadした先のファイルでrequireされてたらダメなんだよね、という話の続き。ダメなんだよねー、で終わってたんだけどRubyKaigi2023で@shioyamaさんのMultiverse Rubyを聞いて、ここに仲間がいた!!! ってなって、さらにそのあとバーで飲みながらやろうやろうって盛り上がったので、なんか色々考えている。 RubyKaigiの話は別途書くとして、いまはとりあえずこっち。 後半に、こんなものが欲しい、という話、および読んだ人の意見が欲しいということが書いてあるので、このあたりに何か思うところがある人はぜひ読んでみてください。どっちかというと、自分以外のRubyユーザがどう考えているのかを、bugsに出す前にまず知りたいなと思っています。 動機 Rubyにはみなさんご存知

    ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ
    el-condor
    el-condor 2023/05/15
    ほしいのは、Javaのクラスローダーに近いものなんだろうか。C拡張の互換性なども問題になりそう。まあこれを利用した悪いことはいっぱい出来そうなので興味はあるが、普通のアプリだと使い途はあまりなさそうかな?
  • RSpec では context 間の違いを表現するときにのみ let を使う - id:onk のはてなブログ

    Test which reminded me why I don't really like RSpec | Arkency Blog (日語訳:Rails: RSpecが好きでないことを思い出したテスト(翻訳)|TechRacho by BPS株式会社) を見ての感想。 元のコードのイマイチなところは 4 つあって、 params を before で書き換えている *1 it "will succeed" の文言 it { is_expected.to be_success } と expect(result.success?).to eq(true) が混ざっている let が不思議な順序で連発されていて事前条件を読み解けない すべて、これによって何をテストしているのかが分かりづらくなっているという問題を引き起こす。 params を before で書き換えている let(:pa

    RSpec では context 間の違いを表現するときにのみ let を使う - id:onk のはてなブログ
    el-condor
    el-condor 2023/03/10
    これは本当にそう。多分自分でやるんでも同じ方向性でリファクタリングする。
  • Ruby の中にある解決できると嬉しい人が多分多いタフな問題 - HsbtDiary(2022-12-14)

    Ruby の中にある解決できると嬉しい人が多分多いタフな問題 Ruby 開発チーム(コアチーム)には壺と呼ばれる、「これができるととても嬉しい」というネタを放り込む hackmd のページがあります。issue などにして作ったところで誰かが進めるわけでもないし、project にしても epic すぎるが、いつかは何かやりたいという大きさのものを思いついたらすぐに入れています。 今回は Ruby Advent Calendar 2022 の14日目の記事として、この壺の中から熟成された夢をいくつか取り出してご紹介します。 ライブラリのRactor 対応 Ruby 3.0 の目玉として入った Ractor ですが、Ruby のライブラリが Ractor で動くかというとまだわからない、むしろ動かないだろう、というステータスです。RubyGems や Bundler でネットワークアクセ

    el-condor
    el-condor 2022/12/14
    「ライブラリを複数同時にロード」クラスローダ的な仕組みが要るのかな。他の言語だとできているのも結構あるが、非互換なしに導入するのはなかなか難しそう
  • ruby/debug cheatsheet

    This cheatsheet can help you get started with ruby/debug as well as use it in your daily development. It's not an exhausting list of its features or commands, so please go through its document as well. If you're migrating from byebug, I also recommend checking my byebug to ruby/debug migration guide. I also shared how to build a powerful debugging workflow with it in my talk: ruby/debug - The best

    ruby/debug cheatsheet
    el-condor
    el-condor 2022/09/09
    明日から使えるruby/debug
  • Rubyでrescueしたらグローバルなオブジェクトを破壊してたよって話 - ANDPAD Tech Blog

    こんにちは、ydahです。 2021年の12月から株式会社アンドパッドでソフトウェアエンジニアとしてANDPAD検査の開発に携わっています。 昨年、息子が生まれてから夜更かしすることがなくなり、早朝に起きては軽くジョギングをしてから、OSSプログラミングにいそしむのが朝のルーティンになった今日このごろです。 さて稿では、Rubyの例外処理を眺めていたらrescueがグローバルなオブジェクトを破壊するケースがあったんですよという話と、その対策について話したいと思います。 発生していたケースについて 突然ではありますが以下のコードをご覧ください。 この中にグローバルなオブジェクトを壊してしまうrescueがいます。 # 1 begin raise 'foo' rescue ArgumentError end # 2 begin raise 'foo' rescue => ArgumentEr

    Rubyでrescueしたらグローバルなオブジェクトを破壊してたよって話 - ANDPAD Tech Blog
    el-condor
    el-condor 2022/08/25
    確かにrubyの文法的にこれ成立するのか…盲点すぎる
  • Ruby gem で Rust をつかって爆速にしたい!!!!!!11

    Ruby Gems で Rust が Native として利用可能になった のでとりあえず UUIDv4 を生成してみた。 リポジトリ 準備 Ruby 側の gemRust を利用する準備として rb_sys と rake-compiler を利用します。この二つの gem は native compile するためにインストールしておきます。 Rust 側から Ruby へ関数を公開するために rb-sys と magnus を利用します。 gem install とりあえず cargoRust のパッケージを作って Rust を書いてみます。 > bundle gem rust_uuid --mit --ext rust_uuid # --ext を指定してnative build する gem を作成 > cd rust_uuid # 作成した gem のディレクトリへ移

    el-condor
    el-condor 2022/08/13
    メモ。
  • ハリコフのRubyistからRubyコミュニティへのお願い 2022-03-03-WAR.md · GitHub

    2022-03-03-WAR.md https://zverok.space/blog/2022-03-03-WAR.html 翻訳 ハリコフのRubyistからRubyコミュニティへのお願い 2022年3月3日 やぁ、僕はVictor Shepelev。ウクライナのハリコフに住んでいて、TwitterGitHubでは@zverokというIDで活動している。 僕がRubyを書き始めたのは2003年からで、いくつかのライブラリやRuby Changelogのメンテナだ。国際的なカンファレンスや/r/rubyなんかで君たちと会ったことがあるかも知れない。今年、僕はRubyコミッターに申請して、嬉しいことに承認された。僕が取り組んでいるのは(いくつかの小さな機能追加と共に)Rubyドキュメントの改善だ。僕のRubyに関する作業の一覧はここで確認できる。 東ヨーロッパ出身であることや、短気な性分

    ハリコフのRubyistからRubyコミュニティへのお願い 2022-03-03-WAR.md · GitHub
    el-condor
    el-condor 2022/03/05
    ウクライナ東部の都市ハリキフのrubyist @zverok から発信されたステートメントの和訳(by @technohippy)。その趣旨に賛同し、ウクライナ侵攻の停止を求めます。
  • Ruby 3.1.0 リリース

    Posted by naruse on 25 Dec 2021 Ruby 3.1系初のリリースである、Ruby 3.1.0 が公開されました。Ruby 3.1は3.0と高い互換性を保ちながら、多くの機能を追加しています。 YJIT: New experimental in-process JIT compiler Ruby 3.1では、Shopifyが開発した新しいプロセス内JITコンパイラであるYJITをマージしました。 2018年のRuby 2.6でMJITをマージして以来、そのパフォーマンスは年々改善され、去年にはRuby3x3を無事達成しました。比較的大規模なOptcarrotベンチマークでは輝かしい高速化を達成したMJITですが、一方で現実の業務アプリケーションの性能はこれまで改善出来ていませんでした。 近年Shopifyは彼らのRailsアプリケーションを高速化するため、Rub

    el-condor
    el-condor 2021/12/26
    慶賀。あとで試してみよう。
  • Rails 7.0: Fulfilling a vision

    This version of Rails has been years in the conceptual making. It’s the fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. An omakase menu that includes everything from the aperitif to the dessert. This vision wasn’t possible even just a few years ago. We simply didn’t have the core technologies i

    Rails 7.0: Fulfilling a vision
    el-condor
    el-condor 2021/12/16
    慶賀。バージョンアップしないと。
  • ルビービル(仮) 第1期住民募集のご案内.md

    ルビービル(仮) 第1期住民募集のご案内.md tl;dr 高円寺の南のほうのあたりで、ちょっとした新築共同住宅プロジェクトを立ち上げてみたいと思っています。つきましては、このプロジェクトの趣旨とノリに賛同してくださって居住してくださる方をふわっと募集します。 My New Gear... 最近、高円寺の南のほうのあたりに築古賃貸物件を買ってみました。物件概要はざっくり以下のような感じです。 立地: 丸の内線東高円寺駅徒歩5分、JR中央線中野駅徒歩12分(Google調べ) 地積: 110平米と120平米の間ぐらい 建物: 築およそ30年の2階建て木造アパートを賃貸運用中 この建物には問題がある! しかし、いま建っているアパート自体はそんなに気に入って買ったわけではなくて、以下のような問題を抱えています。前の持ち主もそのあたりが気に入ってなくて手放したんだろうと思われます。 建物の床面積が

    ルビービル(仮) 第1期住民募集のご案内.md
    el-condor
    el-condor 2021/12/05
    独身だったら応募してたかもなー。エディタ問わないのは素晴らしい/ところでエディタ布教活動は可なんだろうかとか気にならなくもありません。
  • Ruby で FTPS 接続する方法

    混乱しやすいが、SFTP は SSH を使って暗号化・認証を行うプロトコルで FTPS とは別。 ・HTTP のセキュア版が HTTPS ・FTP のセキュア版が FTPS と覚えると良いだろう。 サンプルコード# FTP の SaaS である BrickFTP にアカウントを作った。 Net::FTP で接続可能。以下は FTPS 接続し、PWD を発行する Ruby コー ド。password はマスクしている。 #!/usr/bin/env ruby require 'net/ftp' ftps = Net::FTP.new( 'masutaka.brickftp.com', ssl: true, username: '[email protected]', password: '********', debug_mode: true, ) puts ftps.pwd 結果。 con

  • Rustを使ってRubyスクリプトをパックしてみる

    先日唐突にRubyスクリプトを実行可能な1ファイルにパックして単一実行ファイルにしたくなったので、色々調べて実装してみました。 なおRustとありますが主な実装はRustRubyバインディングであるrutieを使っています。 まずパックするにあたってRubyにはRubyVM::InstructionSequenceという存在があることを思い出しました。 RubyVM::InstructionSequence Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。 とありますが、具体的にはどんなものでしょうか。

    Rustを使ってRubyスクリプトをパックしてみる
    el-condor
    el-condor 2021/08/23
    なるほどrutieというのがあrのね。参考になった。もっと深追いしてみることにしようかな。
  • Why is JRuby Slow?

    So why is JRuby slow in these examples? It turns out that the answer is complicated. What Is JRuby? I was very happy to discover the JRuby project, my favorite programming language running on what’s probably the best virtual machine in the world. - Peter Lind JRuby is an alternative Ruby interpreter that runs on the Java Virtual Machine (JVM). MRI Ruby, also known as CRuby, is written in C and is

    Why is JRuby Slow?
  • helix/README.md at master · tildeio/helix

    el-condor
    el-condor 2021/03/09
    "Sadly, we have made the decision to deprecate this project."Oh...
  • Ruby 3.0.0 リリース

    Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

    el-condor
    el-condor 2020/12/25
    慶賀🎉
  • MemoryView: Ruby 3.0 から導入される数値配列のライブラリ間共有のための仕組み - Speee DEVELOPER BLOG

    Ruby コミッターの村田です。Ruby 3.0 に組み込まれる実験的な新機能を作ったので解説します。 新機能は MemoryView と名付けられました。これは C などで書かれる拡張ライブラリ向けの機能です。メモリ上の、型が均一で同一サイズの要素から構成される配列 (e.g. 行列や画像など) を、複数の拡張ライブラリ間でコピーレスで共有するために必要な仕組みを提供します。 MemoryView が導入された背景 多次元数値配列が重要な役割を持つ時代になった 深層学習やデータサイエンスの流行にあわせて、メモリ上で大きなサイズの多次元数値配列データを処理する事例が増加しています。このような数値配列データに対する処理は、複数のライブラリの機能を組み合わせて実現されます。この分野でよく使われる Python では、データ構造を numpy と pandas が提供し、機械学習アルゴリズムを

    MemoryView: Ruby 3.0 から導入される数値配列のライブラリ間共有のための仕組み - Speee DEVELOPER BLOG
    el-condor
    el-condor 2020/12/24
    地道で良い活動。素晴らしい
  • 【Ruby 3.0 Advent Calendar 2020】Ruby 3.0 で追加・変更される Hash のメソッド【13日目】 - Secret Garden(Instrumental)

    Ruby 3.0 Advent Calendar 2020 13日目の記事になります。 昨日は『銀座Rails#26で Ruby 3.0 の話をした』です。 今日は Ruby 3.0 で新しく Hash クラスに追加・変更される2つのメソッドの紹介です。 任意のキーの要素を取り除く Hash#except メソッド ActiveSupport でおなじみの Hash#except がついに Ruby 3.0 で標準ライブラリに追加されました。 Hash#except は引数のキーを Hash から取り除くメソッドです。 hash = { id: 1, name: "homu", age: 14 } # 引数のキーを取り除く pp hash.except(:id, :age) # => {:name=>"homu"} これが欲しかった方も多いのではないでしょうか。 わたしもちょうど以下のよう

    【Ruby 3.0 Advent Calendar 2020】Ruby 3.0 で追加・変更される Hash のメソッド【13日目】 - Secret Garden(Instrumental)
    el-condor
    el-condor 2020/12/16
    データ移行処理の実装が捗りそう(今これが書けると良さそうなコードを幾らか書いている)
  • Ruby競プロTips(基本・罠・高速化108 2.7x2.7)

    計測方法は、(10**6).times{ }のような最小限のコードです。 実際、制限時間が2秒だとして、10の7乗台前後から、想定解法でも厳しくなってくる印象です。 それ以前の1,000,000回(10の6乗)で2秒超えてTLEするなら、自分の書いたアルゴリズムを疑いましょう。 今のC++は10の7乗だと「余裕をもって間に合う」レベルらしいので、C++と比べるとRubyは10倍遅い感じです。 競技プログラミングでは、問題に与えられた要素数も 方針・アルゴリズムを考えるヒントになるので、このあたりの感覚はもっておくとよさそうです。 高速化手法のまとめ・見方 先に高速化のまとめがあった方が親切かと思い、簡単にまとめておきます。 (まとめの方にしか書いてないのもあります……) 記事は、アルゴリズムの話も少し混じっていますが、アルゴリズムはRubyに限らないので、ほぼ触れてません。 「アルゴリズ

    Ruby競プロTips(基本・罠・高速化108 2.7x2.7)
    el-condor
    el-condor 2020/12/11
    興味深い。後でじっくり読もう
  • まつもとゆきひろのツイッターを見てRuby使うのをやめようと思った

    Matzことまつもとゆきひろといえばプログラミング言語Rubyの作者なのだが、技術的にはともかく政治的にはツイッターを見ていてとてもつらい。 「高度プロフェッショナル制度」について 高度なスキルを持つと自負し、高い裁量が欲しい私のような労働者を野党が目の敵にしてることはよく分かった。実に残念だ。— Yukihiro Matsumoto (@yukihiro_matz) March 1, 2018 「定額働かせ放題」とも呼ばれ、専門性も裁量性も低い業種への拡大が懸念される「高度プロフェッショナル制度」について、問題点を理解せず反対する野党を揶揄。 「IT 業界を苦しめたいか、生産性を高めるのを阻害したい勢力」について 軽減税率といい、改元といい、サマータイムといい、IT 業界を苦しめたいか、生産性を高めるのを阻害したい勢力が政治をコントロールしている陰謀論を信じたくなるな。— Yukihir

    まつもとゆきひろのツイッターを見てRuby使うのをやめようと思った
    el-condor
    el-condor 2020/10/14
    コミュニティ自体はネトウヨ的ということはないと思うけれど。言語自体の設計指針も多様性を包摂する方だし、コアコミッタの中にも政治的スタンスが明確に左派寄りの人も知る限りでも何人かいる。