タグ

rubyに関するYaSuYuKiのブックマーク (349)

  • Ruby 3.0の未来へ―、言語設計者のまつもと氏が示す3つの方向性とRuby哲学 | HRナビ by リクルート

    Ruby 2が一般化した今、そろそろ新しいことを始めよう。これはRuby 3.0への扉を開く宣言です。未来へ備えよう。コミュニティとして死なないように、ワクワクする未来を妄想しよう。新しいことを始めよう」 こんな風に開発コミュニティに呼びかけたのは、世界的に人気の高いプログラミング言語「Ruby」(ルビー)の生みの親で言語設計者のまつもとゆきひろ氏だ。この「宣言」とも言える発言は、2014年9月に開催された「RubyKaigi 2014」で出てきたものだ。基調講演をしたまつもと氏は、講演の中で初めてRuby 3.0というメジャーバージョンへ言及して、次なるマイルストーンとして設定することを公の場で宣言した。 まつもと氏によれば、Rubyのコア開発者はこの何年かはRuby 2で忙しかったという。目の前にある現行バージョンのRuby 2をどうするかということや、機能の安定化、メモリ周辺の改善

    Ruby 3.0の未来へ―、言語設計者のまつもと氏が示す3つの方向性とRuby哲学 | HRナビ by リクルート
  • JRuby 9.0.0.0-pre2 Released — JRuby.org

    The JRuby community is pleased to announce the release of JRuby 9.0.0.0-pre2 Homepage: https://www.jruby.org/ Download: https://www.jruby.org/download JRuby 9000 is the new version of JRuby, representing years of effort and large-scale reboots of several JRuby subsystems. Major features of JRuby 9000: Ruby 2.2 compatibility, minus features listed below A new optimizing runtime based on a tradition

  • ActiveRecordを速くしたいだけの人生だった - Qiita

    Help us understand the problem. What is going on with this article? Rails3.2からRails4.2に上げたらActiveRecordが遅くなったので、どうやって調査して、どのように対処したかを語ってみたい。 とても長いので、ダルい人は最初と最後だけ読めばよいです。 TL;DR 環境: Ruby 2.1.5 ARオブジェクトを大量に(ざっくり750kくらい)loadするバッチ処理 3.2系での実行時間は約480sec、 4.2系では約2900sec 約6倍の性能劣化 原因: preloadで性能劣化してた CollectionProxyの生成周りで遅くなってた Rails4からARオブジェクトの1attribute毎にObject生成するので遅い GCの時間も増えた 調査方法: Githubのcommit、Issueを

    ActiveRecordを速くしたいだけの人生だった - Qiita
  • Ruby 2.2.1 Released

    Posted by hsbt on 3 Mar 2015 We are pleased to announce the release of Ruby 2.2.1. This is the first TEENY version release of the stable 2.2 series. This release includes the fix for ffi build failure and memory leak issue on Symbol GC (See Bug #10686). See ChangeLog for details. Download https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.1.tar.bz2 SIZE: 13326768 bytes MD5: 06973777736d8e6bdad8dcaa

    YaSuYuKi
    YaSuYuKi 2015/03/03
    早速入れよう
  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
  • Ruby東京プレゼンテーション2015 にいってきた - Qiita

    それなあに? 詳しくはこちらをご覧ください http://www.digitalfukuoka.jp/events/60 "mruby x IoT"の今 についてのアツいお話を聞ける・できる会 と解釈しています。 ソレに興味をもったため参加してきました!興味深かった講演の内容をまとめてみました。 matzさんのrabbitRubyの未来」 興味深いお話で聞き入ってしまいました。 バージョン方針 言語の仕様バージョンは2桁で表現する 1.9.3 → 2.2 セキュリティのパッチをあてたアプデは下一桁で表現する 1.9.3p484 → 2.2.0 リリーススケジュール 年に1回クリスマスに!(2.x.0) 安定進化! 意図しない動きを例外に、ほぼ間違いなくアプデしてもそのまま動く! 年に数度アプデ!(2.x.y) 2.2新機能 インクリメンタルGC GCを少しずつする シンボルGC シンボ

    Ruby東京プレゼンテーション2015 にいってきた - Qiita
  • Ruby 2.2.0 Released

    Posted by naruse on 25 Dec 2014 We are pleased to announce the release of Ruby 2.2.0. Ruby 2.2 includes many new features and improvements for the increasingly diverse and expanding demands for Ruby. For example, Ruby’s Garbage Collector is now able to collect Symbol type objects. This reduces memory usage of Symbols; because GC was previously unable to collect them before 2.2. Since Rails 5.0 wil

  • L'eclat des jours(2014-12-12)

    _ Rubyのしくみ 風邪で寝込みつつ、以前、オーム社から送っていただいた(ありがとうございます)Rubyのしくみをようやく読んだ(読み込んだ、とは言えないけど)。 書は言語処理系としてのRuby(特にMRI)にフォーカスして、字句解析、構文解析から始めてオブジェクトのメソッド呼び出しとオブジェクトの実装上の仕組みについて解説したものだ(だけではないので、それは後述)。 そのあたりはRHGを読んだから知っているよという人でも、2~4章にわたって説明されている、コンパイル、コード実行、制御構造とメソッドディスパッチの箇所は、YARVに基づいているので新味があると思う。 というわけで、Rubyの処理系を解説したとしては既にRHGというものがあるわけだが(Rubyソースコード完全解説という名前で売られていたが、当時の世相からハックという言葉が受け入れられなかったのが書名の理由なので、心ある人

  • Effective Ruby - L'eclat des jours(2014-11-20)

    _ Effective Ruby 早くもアマゾンに書影が出ているので、広告します。 来年早々に、翔泳社からピーター・J・ジョーンズ(僕は知らない人なんですが)のEffective Rubyの翻訳が出ます。 翻訳は安定と安心のロングテール長尾さん、僕が監訳しています。 当然、全部読んだのですが、これは相当お勧めです。 Effective Ruby(Peter J. Jones) Effectiveと銘うっているだけに、どう使うべきか、どう使うべきでないか、といったことが大雑把な章立ての下に並んでいます。コードはほとんどが断片(irbを使って動かせるようにはなっている。当然、僕は全部試したけど(2.1と2.2プレビュー)。とはいえ、最後のほうではpryを使えと言い出しますが、基Rubyのコア、添付ライブラリが優先)で、試せるようになっています。 ただ、特にテストの章がおもしろいので実際に打

  • スペルミスでエラーが出たら、正しい名前を教えてくれる gem を作った - Qiita

    class User attr_accessor :first_name, :last_name def to_s "#{f1rst_name} #{last_name}" # f1rst_name ??? end end user.to_s # => NameError: undefined local variable or method `f1rst_name' for #<User:0x0000000928fad8> # # Did you mean? #first_name #

    スペルミスでエラーが出たら、正しい名前を教えてくれる gem を作った - Qiita
    YaSuYuKi
    YaSuYuKi 2014/09/26
    Nice
  • RubyKaigi2014の知見。Rubyで強力なパターンマッチを利用できる Egison gem をインストール #rubykaigi - Qiita

    RubyKaigi2014の知見。Rubyで強力なパターンマッチを利用できる Egison gem をインストール #rubykaigiRubyRubyKaigiegison Ruby | RubyKaigi2014の知見。Rubyで強力なパターンマッチを利用できる Egison gem をインストール #rubykaigi 概要 RubyKaigi2014で話題になった、強力なパターンマッチを利用できる Egison gem をインストールして 簡単な動作確認をしてみます。 ちなみに読み方は「えじそん」ではなく、「えぎそん」。江木さんが作ったから。 Egison GitHub Egison RubyGems

    RubyKaigi2014の知見。Rubyで強力なパターンマッチを利用できる Egison gem をインストール #rubykaigi - Qiita
  • 天泣記

    2014-09-03 (Wed)#1ふと openSUSE 13.1 を install してみた。lsb_release の Description と /etc/os-release の PRETTY_NAME は一致しているようだ。 % lsb_release -a LSB Version: n/a Distributor ID: openSUSE project Description: openSUSE 13.1 (Bottle) (x86_64) Release: 13.1 Codename: Bottle % cat /etc/os-release NAME=openSUSE VERSION="13.1 (Bottle)" VERSION_ID="13.1" PRETTY_NAME="openSUSE 13.1 (Bottle) (x86_64)" ID=opensuse A

    YaSuYuKi
    YaSuYuKi 2014/09/20
    一晩どころか飲み会の間にか。「すべてのメソッド定義のメソッド名をリストアップし、すべてのメソッド呼び出しのメソッド名をリストアップし、後者だけに存在するメソッド名を表示しているだけ」
  • RubyKaigiのLTに採択されたのでCFLTの内容を公開します - けんちゃんくんさんのWeb日記

    せっかくなので、提出したタイトルや概要を公開しておきますね。 うまく埋め込まれない方はこちら -> RubyKaigi 2014 CFLT - kenchan 日Ruby会議2011 CFP虎の巻 を眺めながら、頑張って書いたかいがありました。 8月に所属企業が変わったわけですが、前職と現職で2アウトしているようなポイントが結構あって、そういうのをなるべくオープンして行きたいと思って応募したのでした。(前職でも結構議論したし、現職でも議論しているような事柄) 死霊がんばるぞい。

    YaSuYuKi
    YaSuYuKi 2014/09/10
    やばい自分も採用されたが圧倒されそうだ内容強化しなくては
  • Javaエンジニアがいまさら始めるRuby開発環境 - Qiita

    Editorは、人によって大きく違うと思うけど、大体こんな感じだと思います。 Rubyでは、Vim,Emacsなどのエディタ + Plugin + 開発支援なgem Javaでは、Eclipse,NetBeans,IntelliJなどのIDE Javaの人はIDEが無いと辛いと思うかもしれませんが、Vim Pluginや開発支援するgemを使えば、IDEと遜色なく使えるのではないかと思います。 例えば、エディタ上で以下のことはできます。 コード補完 ブレイクポイントを置いて、ステップ実行 カーソル上のクラスやメソッドに飛ぶ(gemRuby体のC言語も含む) 知りたいクラスやメソッドなどのドキュメントやソースの表示 保存時にコーディング規約違反の表示 homebrew mac標準のrubyでまずはhomebrewをインストールします。 $ ruby -e "$(curl -fsSL ht

    Javaエンジニアがいまさら始めるRuby開発環境 - Qiita
    YaSuYuKi
    YaSuYuKi 2014/09/09
    当たり前のようにMac。しかし、Windowsだと環境構築もアプリ開発もかなり複雑で困難さが増すことは否定できないんだよな。gemのビルドが通らなかったり。JRubyの方がいいかもしれない
  • 山陰中央新報 - 松江市・全市立中でRuby授業実施へ

    島根県松江市は3日、2016年度から市立中学校全17校で、松江生まれのプログラミング言語「Ruby(ルビー)」を取り入れた授業を実施すると発表した。生徒全員がルビーに触れる機会をつくることで普及を図り、ルビーにかかわる技術者育成やIT産業振興につなげる。 【詳しくは紙紙面をご覧ください】 ('14/09/04 無断転載禁止)

    YaSuYuKi
    YaSuYuKi 2014/09/04
    この成果を受けて、次は島根県、さらには全国へだな
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
    YaSuYuKi
    YaSuYuKi 2014/09/01
    現時点では具体的なことはいっさい言えないが、既に数ヶ月前から使っている。実感として、コア部分の安定性はだいたい困らない程度に達しているが、周辺の拡張は自力でパッチを送れるくらいでないと厳しい
  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
    YaSuYuKi
    YaSuYuKi 2014/08/29
    記事のRubyと関連する固有名詞を、Javaと関連する固有名詞に置き換え、一部Ruby固有の部分をJavaの似た問題に置き換えたら、ストレートにJavaプログラマーが書いた不満になりそうだ
  • クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ

    インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC

    クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ
    YaSuYuKi
    YaSuYuKi 2014/08/29
    コネクションをプールしたくないということは、プールすることによるコスト削減よりプールのために失われる柔軟性の方が重いということか(実際そう書いてあるし)
  • LoveRubyNet Wiki: RubyExtensionProgrammingGuide

    2008-01-09 15:51:08 +0900 (261d); rev 19 これは草稿です。 いずれ正式なところに移す予定。 対象とする読者 稿は以下のような読者を対象にしています。 Ruby の拡張ライブラリを書いたことがない C プログラミングがそれなりにできる Ruby プログラミングがそれなりにできる 2 に関して。 「ポインタって何?」レベルの人は不可です。 構造体とポインタをちゃんと使ってプログラミングのできる人を対象とします。 3 に関して。 以下のプログラムの結果がどうなるか、 考えるだけでわかるようにしておいてください。 class C p self # 何が表示される? def C.m puts '1' p self end def m puts '2' p self end end C.m # 何が表示される? C.new.m # 何が表示される? このマニュ

  • そのto_a、必要? - Qiita

    number_strings = (1..10).to_a.map{|n| n.to_s } p number_strings #=> ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] number_strings = [] [*1..10].each{|n| number_strings << n } p number_strings #=> ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] とかやってませんか? 配列を作ってすぐにmapとかeachとかselectするような場合、同じメソッドがRangeにもあるので、to_aは要らない。 「ArrayとRangeの両方にあるメソッド」は次のような式を実行することで列挙できる。 p ((1..10).to_a.methods & (

    そのto_a、必要? - Qiita
    YaSuYuKi
    YaSuYuKi 2014/08/20
    Golferには必須だな