A collection of awesome Ruby libraries, tools, frameworks and software
A collection of awesome Ruby libraries, tools, frameworks and software
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The design decisions and evolution of a method definition - Ruby case study 原文公開日: 2024/06/14 原著者: zverok 日本語タイトルは内容に即したものにしました。また、主にRuby以外のユーザーに向けたサイドストーリー的なパラグラフは囲みスタイルにしています。 本記事は、新シリーズ記事のパート1であり、おそらく書籍の一部として収録されることが見込まれています。Rubyプログラミング言語が設計されたときのさまざまな決定事項と、それらが時とともにどのように進化したか、より広い文脈ではどのように捉えられるかについて研究します。 今回はメソッド定義(method definitions)、つまりメソッド定義の一般的な形と、引数の指定方法を扱います
窓の杜で取り上げていただいた後も実装は少しずつ続けていて、ひとまずブラウザ上で最新のRubyを試すのに必要な機能は一通り実装できたんじゃないかと思う。リファレンスマニュアルへのリンクを貼ってシンタックスハイライトを入れたりCtrl+Enterで実行できるようにした。(自分が書いたサンプルコードはScrapboxにあるのでコピペして試せます) https://rubyonbrowser.ongaeshi.me/ モバイルでも簡単なコードだったら書けるように色々工夫したのでちょっとしたコードを書きたいときにぜひ試してみてほしい。(Select Allボタンは結構こだわった) 他のブラウザ言語処理系と大きく違うこととして「ファイルを読み書きするAPIも使える」ということがある。元々WASIがWASMにファイルIOや通信を持せたることを目的にしたものなのでRuby WASM/WASI自体がファイル
Ruby の正規表現で素数かどうかを確認する方法 作成日 2018.09.11 更新日 2018.09.13 Regex Ruby Ruby の正規表現を使って, 素数かどうかを確認するメソッドを作ってみました. パフォーマンスは正直全然良くないのですが, 余興の様なものとしては面白いのではないかと思います. 正規表現の説明もします. そもそも素数というのは, どの様な数なのでしょうか. Wikipedia によりますと次のように定義されています: 素数(そすう、英: prime number)とは、1 より大きい自然数で、正の約数が 1 と自分自身のみであるもののことである。正の約数の個数が 2 である自然数と言い換えることもできる。 なので 0, 1, 4, 6, 8, 9, 10, 12 といった数は素数ではなく, 2, 3, 5, 7, 11, 13 といった数が素数になります.
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 では
今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの
Experience the sound of code. Sonic Pi is your free code-based music creation and performance tool. Powerful for professional musicians and DJs. Expressive for composition and performance. Accessible for blind and partially sighted people. Simple for computing and music lessons. Learn to code creatively by composing or performing music in an incredible range of styles from Classical & Jazz to Hip
This Ruby style guide recommends best practices so that real-world Ruby programmers can write code that can be maintained by other real-world Ruby programmers. A style guide that reflects real-world usage gets used, while a style guide that holds to an ideal that has been rejected by the people it is supposed to help risks not getting used at all - no matter how good it is. The guide is separated
Ruby Advent Calendar 2018 3日目の記事になります。 なんとか日付が変わる前に書けました…。 何を書こうか迷ったんですが、この記事では今年 Ruby にパッチを投げまくったディープな Refinements の世界について書いてみようかと思います。 そもそも皆さん Refinements は使っていますか?どんな機能か知っていますか? まずは Refinements についておさらいしてみましょう。 クラス拡張について Ruby ではオープンクラスに対してメソッドを拡張する事が出来ます。 # Integer クラスに対して後からメソッドを追加する事が出来る class Integer def twice self + self end end # 追加したメソッドは既存のオブジェクトから呼び出すことが出来るようになる p 42.twice # => 84 # クラス
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Rails使って仕事してて、最近はRubyを使って初学者の方たちにプログラミング教えてます、@saboyutakaです。 未経験からエンジニアになりたいという人達に普段教えていて、ガイドラインがあるといいなと思って作りました。 まずなんで1000時間か これからWebアプリケーションを作るエンジニアになりたい人がこれを読んでくれていると思って書きます。そもそもなぜエンジニアとして働けるかというと、作りたいものがある人や企業が居て、それを作ることができる技能に対して給与や報酬が発生します。そして技術職として仕事で対価を得られる最低限のスタ
Rubyのサンドボックスを作って、evalするBotを作った posted at 2018-07-10 01:04:56 +0900 by kinoppyd 注意:安全じゃありません RubyのSnadbox環境 Sansbox環境とは、外部から入力されたプログラムを安全に実行する環境のことです。任意のコードを入力可能な場所で、いきなり system(“rm -rf ~/) とか入力されて、それが本当に実行されたら困りますよね? 自分は困ります。ですが、外部から入力されたコードを安全に実行する環境というのはそれなりに需要があり、最もわかりやすいところではJavaScriptを実行するブラウザ、わかりにくいところでは今回作ろうとしているeval用のbotです。 ブラウザに関しては、インターネットという非常に治安の悪い場所から送られてくるコードを自分の環境で実行するので、サンドボックスが必要で
The Ruby Reference This book is a reference for the Ruby programming language. It describes the language structure, its core classes and standard library, and provides some additional useful information and links for Ruby development. The Reference is intended to be always up-to-date with the current Ruby version. Most of the reference content is taken directly from Ruby documentation and reorgani
はじめに Ovto(オブト)というRubyで書けるシンプルなクライアントサイドWebフレームワークを作りました。RubyからJavaScriptへの変換にはOpalを使っています。 (2019/02/08追記:Rubyist Magazineに紹介記事を寄稿しました。本記事より少し詳しめです。) (2018/11/02追記:0.2.0をリリースしました) (2018/11/30追記:これを使ってVisionというTODOアプリを作りました。3ヶ月ほど実用していますがとてもいい感じです。クライアント側のコードはこのへんです) 特徴 Rubyで書ける Redux風のAPI (Virtual DOM+シングルステート) hyperappの影響を強く受けています。 実装が短い(lib/以下の合計が721行) 例 例として華氏と摂氏を変換するやつをやります。 require 'ovto' class
Rubyを書いていると、サーバを書きたくなることがあります。皆さんもそうだと思います。 ということで今日はRubyでスッとサーバを書くためのgem、serverengineの簡単な使い方メモ。 github.com Rubyでサーバを書きたくなった時 そもそも的に、Rubyでただサーバを書くのは非常に簡単である。具体的には Kernel#loop などを回してその中でリクエストを待ったり、何かしら処理を行えば終わり。特別なgemは必要ないし、TCPを扱うクラスなども組み込みで用意されている。 以下のような9行のスクリプトを起動すれば、サーバを書いたと言える。ところで TCPServer#accept_nonblockでないと、acceptでブロックしてしまって終了処理が遅れたりするのでノンブロッキングの方のAPIを好んで使うのがいいだろう。 require 'socket' server
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: You should not implement #to_a for your classes 原文公開日: 2018/02/02 著者: zverok -- 名サイト「rubyreferences.github.io」の作者でもあります。 Ruby: 自分のクラスに#to_aを実装すべきじゃない(翻訳) えっと、このブログをときどき読んでる人なら言葉のキツさをご存知と思います。また書いてしまった。 挨拶代わりに、Rubyの便利なイディオムのひとつであるKernel#Arrayメソッドについて軽くおさらいしておきましょう。またの名を「知らんけど、んなもんArrayに決まってんだろ!」というやつです。 あるデータを用いて作業しているときに、1個の値か値の配列のどちらをも受け取るまたは返す可能性のあるメソッドが使えるとしましょう。その
Ruby’s New Infinite Range Syntax: (0..)This Christmas, Ruby 2.6 will be released with support for a new syntax denoting an infinite range! Introducing Ruby 2.6’s Endless Range On Christmas Day, 2018, Ruby 2.6 will be released with support for a new syntax denoting an endless range: 42.. #=> 42..nil # yes, this is infinite! So why do we need this new syntax? Up to this point, it has been a bit clun
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Writing C and Sharing Memory... in Ruby! 原文公開日: 2017/12/27 著者: Piotr Szmielew サイト: Rebased.pl 日本語タイトルは内容に即したものにしました。 楽しい画像はすべて英語記事からの引用です。 はじめに 「科学の名において無茶する」、今回のエピソードではRubyでC拡張を書く方法を見てみることにします。さほど害はなさそうなので、Rubyプロセス間でメモリを共有して相互通信するところまでやってみます。もちろんプロセスの分離、forkの分離など何でもござれです。 「なぜそんなことを?どうしてどうして?」と言われそうですね。もちろん『科学のために:コノバケモノメ』。 訳注: ゲーム『Portal 2』の有名なセリフだそうです。 免責条項: 本記事では、今
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く