タグ

rubyに関するrbyのブックマーク (139)

  • Rubocop Performanceを測ってみた。中編 - アクトインディ開発者ブログ

    morishitaです。 前回のエントリーの続き、rubocop-performanceの指摘事項について盲従せずに確認してみるシリーズの2回目です。 前編はこちら。 tech.actindi.net 計測について 計測には BenchmarkDriver を利用しました。 Rubocopのドキュメントに bad と good の例が掲載されていますが、基的にはそれをBenchmarkDriverで計測してみて比較しました。 例をなるべく変更せずに計測する方針で行いましたが、文字列、配列、ハッシュなどは定数にして使い回すようにしています。 各 Cop が論点にしているポイントだけをなるべく計測するため、これらの生成コストを計測に含めないようにするためです。 計測に利用したコードはこのエントリにも掲載しますが、次のリポジトリにも置いておきます。 rubocop-performance-me

    Rubocop Performanceを測ってみた。中編 - アクトインディ開発者ブログ
  • Faraday入門 59のレシピ - 猫Rails

    第1章 Faradayをはじめよう 001 Faradayとは? 002 セットアップ 003 使ってみよう 第2章 基的な使い方 004 GETリクエスト 005 POSTリクエスト 006 PATCHリクエスト 007 DELETEリクエスト 008 コネクションを使う 009 パラメータを指定する 010 リクエストヘッダを指定する 011 レスポンスを使う 012 ミドルウェアを使う 013 アダプタを使う 014 アダプタの動作をカスタマイズする 015 JSONをPOSTする 016 SSLを使う 017 並列処理をする 018 パラメータのシリアライズ方法を変更する 019 ファイルをアップロードする 020 プロキシを使う 021 タイムアウトを指定する 022 リクエストをスタブしてテストする 第3章 Faradayミドルウェアを使う 023 ミドルウェアを使う 024

    Faraday入門 59のレシピ - 猫Rails
  • Ruby: Faraday を使って HTTP リクエストを送信する

    まずは GET リクエストを送信してみよう。 require 'faraday' res = Faraday.get 'http://httpbin.org/get' puts res.body レスポンスが JSON の場合、ミドルウェアを使う。 require 'faraday' require 'faraday_middleware' client = Faraday.new 'http://httpbin.org' do |b| b.response :json, :content_type => /\bjson$/ b.adapter Faraday.default_adapter end res = client.get 'get' puts res.body['headers']['User-Agent'] 次は POST リクエストを送信してみよう。 require 'fa

    Ruby: Faraday を使って HTTP リクエストを送信する
  • Ruby MongoDBに接続する - 1.21 jigowatts

    概要 MongoDBをインストールしてから半年ほど経過してしまいましたが、また少しずつ進めていきます。 MongoDBのシェアはDB-Enginesによると(2016/8現在)データベース全体で4位、NoSQLでは1位のようです。それでも上位3つのデータベースは桁違いですが、PostgreSQLと同じくらいのシェアがあるんですね。仕事で使っていなくても、この結果だけで少し触って遊んでみる理由には十分じゃないでしょうか。 DB-Engines Ranking - popularity ranking of database management systems 環境 OS: CentOS 7 Ruby: 2.3.1 MongoDB: 3.2 ドライバのインストール RubyGems(パッケージマネージャ)よりMongoDBRubyドライバをインストールします。 $ gem install

    Ruby MongoDBに接続する - 1.21 jigowatts
  • ruby-build | rbenv日本語リファレンス | Ruby STUDIO

    ruby-buildは、UNIX系のシステム上で異なるバージョンのRubyをコンパイルしインストールするための、 rbenv installコマンドを提供するrbenvのプラグインです。 rbenvが無く、Rubyのバージョンのインストールを細かく制御する必要がある環境でも、 ruby-buildを使用することが可能です。 リリース一覧を確認し、 各バージョンの変更を確認して下さい。 インストール 使用方法 ヘルプ ライセンス インストール rbenvプラグインとしてインストール(推奨) rbenvプラグインとしてruby-buildをインストールすることで、rbenv installコマンドが使用可能になります。 git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build これは、

  • Windows Server 2016 で Ruby を MinGW でビルドする環境 2018 - HsbtDiary(2018-02-14)

    Windows Server 2016 で Ruby を MinGW でビルドする環境 2018 日 Ruby の会の支援を受けて Ruby 開発チームで Windows の環境を用意できることになったので Azure 上の Windows サーバーに MinGW と mswin のビルド環境を構築した。 最初、Windows Server 1709 というのを選んでインストールしたところ、Server Core と呼ばれる機能のみで GUI が提供されてない、というサーバーとしてはそりゃそうだという環境が出てきて、にわか Windows マンとしては手も足も出ない状態になったので VS 2017 がプリインストールされている Windows Server 2016 というインスタンスにした。これ、Server Core 自体は良いと思うので、ちゃんと勉強しても良いかもなあ。 以下、

    Windows Server 2016 で Ruby を MinGW でビルドする環境 2018 - HsbtDiary(2018-02-14)
  • https://github.com/RubyData/workshop-materials/blob/master/gobject-introspection/introduction.md

    https://github.com/RubyData/workshop-materials/blob/master/gobject-introspection/introduction.md
  • Jim Weirich さんから学ぶ DI(Dependency Injection) - わからん

    PHP コミュニティでは今、DI コンテナが花盛りです。良い機会と捉え、勉強しています。このブログ記事では、Jim Weirich さんの O’Reilly Open Source Convention August 1-5, 2005 での Vitally Important or Totally Irrelevant? というタイトルのプレゼン資料を紹介します。完全な翻訳ではなく、省略したりおぎなったりしています。間違いはコメント欄などでご指摘下さい。 この資料では、動的型付け言語である Ruby にとって DI は重要な設計方針なのかを、静的型付け言語である Java のサンプルコードを引き合いに出し論じています。これを読むことで、DI とは何かを(実際に動く)コードレベルから理解することができました。また、Ruby ならではの実装を知ることができました。しかし、Ruby にとって

    rby
    rby 2018/06/12
  • rbenvのバージョンリストを更新する - Qiita

    最近Rubyの2.1.5がリリースされたので、 インストールしようと思ったのですが、 rbenvのインストールリストを見ても2.1.5がでなかったので、 対応方法をメモしておきます。 $ rbenv install -l Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 1.8.7-p302 1.8.7-p334 1.8.7-p352 1.8.7-p357 1.8.7-p358 1.8.7-p370 1.8.7-p371 1.8.7-p374 1.8.7-p375 1.9.1-p378 1.9.1-p430 1.9.2-p0 1.9.2-p180 1.9.2-p290 1.9.2-p318 1.9.2-p320 1.9.2-p326 1.9.2-p330 1.9.3-dev 1.9.3-preview1 1.9.3-rc1 1.9.3

    rbenvのバージョンリストを更新する - Qiita
    rby
    rby 2018/03/09
  • Rubyでシェルもどきを作る - tmtms のメモ

    Ruby でシェルのようなものを作ってみると、Ruby とシェルやシステムコールの理解ができて、研修の課題とかにいいんじゃないかと10年くらい前に思ってたのを、ふと思い出したので書いてみます。 基 シェルの動作を簡単に説明すると次のような感じです。 プロンプトを出力 標準入力からコマンドラインを読み込む 読み込んだコマンドを実行する コマンドの終了を待つ 1 に戻る これをそのまま Ruby で書いてみます。 while true print '-> ' # プロンプト表示 cmd = gets or break # コマンド入力 cmd.chomp! # 末尾の改行削除 pid = Process.fork do # 子プロセス生成 Process.exec [cmd, cmd] # コマンド実行 end Process.waitall # 子プロセスの終了待ち end Process

    Rubyでシェルもどきを作る - tmtms のメモ
  • 2つのハッシュをマージする - Ruby Tips!

    2つのハッシュをマージするには、Hash#updateかHash#mergeを使う。 h1 = {a:1, b:2} h2 = {b:3, c:4} p h1.update(h2) #=> {:a=>1, :b=>3, :c=>4} Hash#updateは同一のキーが存在する場合、引数で与えたハッシュの値を優先する。 Hash#mergeはブロック付きで呼び出すことができ、キーが重複していた場合はブロックの評価結果を使うようにできる。 h1 = {a:1, b:2} h2 = {b:3, c:4} p h1.merge(h2){|key, v0, v1| v0 + v1 # キーが重複していた場合は2つの値を加算する } #=> {:a=>1, :b=>5, :c=>4}

    2つのハッシュをマージする - Ruby Tips!
    rby
    rby 2018/01/03
  • Greenbear Diary - 5分でわかるRack , シュレーディンガーの猫たち

    ■ [ruby][rack] 5分でわかるRack RackはRubyのためのWebサーバインターフェイスだ。 RubyでWebっていうとRailsが有名だけど、実はRails以外にもいろんなRuby用のWebアプリ用フレームワークが存在する。 Ramaze Merb Camping Waves などなど…。 一方Webを実際に動かすにはWebサーバが必要だ。RubyのためのWebサーバも、これまたいろんなものがある。 Apache(CGI, FastCGI..) WEBrick Mongrel Ebb Thin などなど…。 ここで問題が一つ。それは「フレームワークが増えるたびに、いろんなサーバをサポートするためのコードが必要になる」ってとこだ。 各フレームワークの作者がみんなそれぞれにCGIやMongrelに対応するためのコードを書いてるなんて、無駄だと思わないか? RackはWebア

    Greenbear Diary - 5分でわかるRack , シュレーディンガーの猫たち
    rby
    rby 2017/12/24
  • RubyとPythonにおけるガベージコレクションの視覚化 | POSTD

    稿は、ブダペストで開かれたイベント「 RuPy 」で、Pat Shaughnessyが披露したプレゼンの内容をまとめたものです。 プレゼンの映像はここ から視聴できます。 稿は当初、 同氏の個人ブログ に投稿されましたが、同氏の了承を得て、Codeshipに再掲載します。 このイベントは「RubyPython」に関するカンファレンスなので、RubyPythonでは、ガベージコレクション(以下「GC」)の動作がどう違うのかを比較すると面白いだろうと私は思いました。 ただしその題に入る前に、そもそもなぜ、GCを取り上げるのかについてお話しします。正直言って、すごく魅力的な、わくわくするテーマではないですよね? 皆さんの中でGCと聞いて、心がときめいた方はいらっしゃいますか? [実はこのカンファレンス出席者の中で、ここで手を挙げた人は数名いました!] Rubyコミュニティで最近、Rub

    RubyとPythonにおけるガベージコレクションの視覚化 | POSTD
    rby
    rby 2017/11/21
  • 独自ビルドした ruby を rbenv で使う - @znz blog

    rbenv を使っているなら、 ruby-build でインストールしたもの以外にも 自分でビルドした ruby も rbenv で切り替えたくなることがありますが、 これは簡単に出来ます。 元々 rbenv に ruby-build が必須というわけではないので、 configure の --prefix に ~/.rbenv/versions/some-name を指定してインストールすれば良いだけです。 名前にはシェルで特別な意味を持つ文字を避ければ 何でも良さそうですが、 rbenv install で上書きされてしまう危険があるのと 単純に紛らわしいので、 ruby-build でインストール出来る名前は避けた方が無難だと思います。 例えば以下のように configure してインストールすれば rbenv shell trunk などで ruby-build でインストールした

    rby
    rby 2017/11/21
  • シンボル

    rby
    rby 2017/11/14
  • Ruby 2.1.0 以降のセマンティックバージョニングについて

    Posted by zzak on 21 Dec 2013 Translated by makimoto Ruby 2.1.0 以降、Semantic Versioning (日語訳) に寄せたバージョニングに移行することを決定しました。 Ruby に、より明確で適切なバージョニングスキーマを提供するため、われわれは以下のポリシーに段階的に移行します。 ポリシーの変更 このポリシーは、 ruby-lang.org の管理者である柴田博志 (@hsbt) の提案にもとづくものです。 バージョンスキーマ MAJOR: MINOR リリースで対応できない互換性のない変更がある場合に増加する。 特別なイベントのために予約される。 MINOR: クリスマスごとに増加する。 API レベルでの非互換がありえる。 TEENY: API 互換性を維持するセキュリティフィックスやバグフィックス。 2.1.

  • gdbを使ったrubyのデバッグ - クックパッド開発者ブログ

    技術部の国分 (@k0kubun) です。 先日byebugの高速化を行っていた最中、変更を加えたbyebugを使っていると一定の確率でrubyがSEGVするバグを発見しました。 私はC言語のコードのデバッグの経験はなかったのですが、デバッガの使い方を調べながらSEGVの原因調査を行いパッチを送ったところ無事取り込まれ、最新の高速なbyebugが安全に使えるようになりました。 その際、ruby自体をデバッグするために必要な情報が分散していて大変だったので、まだrubyのデバッグをしたことがないけれどやってみたいという人を対象に、gdbというデバッガを使ったrubyのデバッグの方法を紹介します。 デバッグ用にrubyをビルドする デバッグ時に変数名やソースコードなどの情報を見るためには、最適化オプションをオフにしてデバッグ用にrubyをビルドしておく必要があります。 rubyのデバッグ用ビル

    rby
    rby 2017/10/20
  • Ruby/groonga 0.0.7 - 2009-10-02 - ククログ

    Ruby/groongaとActiveGroongaの新しいバージョンがリリースされました。 いつも通り、以下のコマンドでインストールできます。 % sudo gem install groonga 0.0.7は最新のgroonga0.1.4に対応しています。 groongaが正式リリース前なので、まだRuby/groongaユーザもあまり多くはありませんが、徐々に使われはじめています。例えば、えにしテックのスープカレー好きのdaraさんが作ったbuzztterでRuby/groongaが使われています。 daraさんからはRuby/groongaに対するパッチをいくつかもらったりもしたので、Ruby/groongaのコミッタになってもらいました。API相談にものってくれる頼もしいCTOです。 今回のリリースでも便利な機能が入っているので、いくつか紹介します。 キーワードリンク groo

    Ruby/groonga 0.0.7 - 2009-10-02 - ククログ
  • GitHub - zach-capalbo/flammarion: The nifty ruby gui toolkit.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - zach-capalbo/flammarion: The nifty ruby gui toolkit.
  • Document class_attribute with yard

    rby
    rby 2017/06/13