HTTP リクエストの性能比較をさまざまな Gem などで行ってみた。 net-http 一番標準的な Net::HTTP を使ってみる。 require "net/http" 100.times do res = Net::HTTP.start("www.yahoo.co.jp") do |http| http.get "/" end res.body end
![Ruby の HTTP リクエストを送る方法の性能比較 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/34f0d90359d35bc751a89a5a0396cc9a07f13678/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UnVieSUyMCVFMyU4MSVBRSUyMEhUVFAlMjAlRTMlODMlQUElRTMlODIlQUYlRTMlODIlQTglRTMlODIlQjklRTMlODMlODglRTMlODIlOTIlRTklODAlODElRTMlODIlOEIlRTYlOTYlQjklRTYlQjMlOTUlRTMlODElQUUlRTYlODAlQTclRTglODMlQkQlRTYlQUYlOTQlRTglQkMlODMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWU5ZmRjMDNkZWFjMzIwMDgyYjc4MGQyYjIyM2NhMDQz%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwY3V6aWMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWJjNWIxY2JiYzRlNjZlZDZmM2NmZjUzNDEwZWQ0NDZj%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D3f606037bd5aa00c21b4f7252b5628b8)
「われわれがマイクロソフトを嫌っていたのではない、マイクロソフトがわれわれを嫌っていたのだ」――日本のソフトウェア技術者であり、Rubyの父とも呼ばれるまつもとゆきひろ氏は、日本マイクロソフトが主催する開発者向けイベント「de:code 2016」でこう語った。一体何があったのか。 「オープンソースソフトウェア」の誕生 その歴史は、1996年までさかのぼる。当時、米Microsoftが開発していた「Internet Explorer」の機能強化により、それまで大きなシェアを獲得していたNetscape CommunicationsのWebブラウザ「Netscape」シリーズとの2大ブラウザ戦争が勃発した。その後、Internet Explorerはますます勢いを増し、この勢いに押されたNetscapeは1998年1月にNetscape Navigatorを無償化。しかしシェアの巻き返しには
依存関係のあるライブラリ「rqrcode」と「chunky_png」もインストールされます。 実装例 「Hello World!!」という情報をQRコードに埋め込み、PNGファイルで保存します。 # -*- encoding: sjis -*- require 'rqrcode' require 'rqrcode_png' require 'chunky_png' # 「Hello Wolrd!!」いう文字列、サイズは3、誤り訂正レベルHのQRコードを生成する qr = RQRCode::QRCode.new( "Hello World!!", :size => 3, :level => :h ) png = qr.to_img #200×200にリサイズして「hello_world.png」というファイル名で保存する png.resize(200, 200).save("hello_wo
CentOSにRuby2.1.1をインストールする の続き Rubyがライブラリをロードする際のパスを確認してみる。 $ ruby -e 'puts $LOAD_PATH' /usr/local/lib/ruby/site_ruby/2.1.0 /usr/local/lib/ruby/site_ruby/2.1.0/x86_64-linux /usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/vendor_ruby/2.1.0 /usr/local/lib/ruby/vendor_ruby/2.1.0/x86_64-linux /usr/local/lib/ruby/vendor_ruby /usr/local/lib/ruby/2.1.0 /usr/local/lib/ruby/2.1.0/x86_64-linux
ironsand@osx gem environment RubyGems Environment: - RUBYGEMS VERSION: 2.0.3 - RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [x86_64-darwin11.4.2] - INSTALLATION DIRECTORY: /Users/ironsand/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0 - RUBY EXECUTABLE: /Users/ironsand/.rbenv/versions/2.0.0-p247/bin/ruby - EXECUTABLE DIRECTORY: /Users/ironsand/.rbenv/versions/2.0.0-p247/bin - RUBYGEMS PLATFORMS
timestampがms表記となっているものを、通常の時刻表記にRubyで変換したいときのTipsです。 ミリ秒は1000ミリ秒が1秒ですので、1000で割れば求められますね。 しかし整数演算とすると、ミリ秒が落ちてしまうため、1000.0で割ります。 $ pry [1] pry(main)> time = 1412915400300 => 1412915400300 [2] pry(main)> Time.at(time / 1000.0) => 2014-10-10 13:30:00 +0900 Time.at(time / 1000.0).strftime('%Y/%m/%d %H:%M:%S.%3N') => "2014/10/10 13:30:00.299" 任意のフォーマットで日時を求めるには次のコードが使えます。 $ pry [1] pry(main)> time = 141
今ここで「首相は誰?」と言ったら、答えは「安倍晋三」になります。ジュネーブの国際会議で「首相は誰?」と言ったら、答えは「不定」になります。しかし世界統一国家なるものが存在しうるなら、そこでの答えは「バラク・オバマ」になります。 つまり「首相」という語は環境依存です。 「首相」における環境依存性を排除する一つの方法は、それに名前空間、つまり対象限定子を付けることです。「日本の首相は誰?」「世界統一国家の首相は誰?」と言えば、どんな環境にあろうとも「首相」という語が指す対象は一意です1。 Rubyの定数 Rubyにも名前空間の機能があるので、環境依存性を排除した首相を実装できます。 class Japan PrimeMinister = 'Shinzo Abe' end class UK PrimeMinister = 'David Camelon' end class Germany Pri
Matsumoto giving the keynote speech at EuRuKo 2011 Matsumoto accepting an award from the Free Software Foundation (founder Richard Stallman, right) in 2012 Yukihiro Matsumoto (まつもとゆきひろ, Matsumoto Yukihiro, born 14 April 1965), also known as Matz, is a Japanese computer scientist and software programmer best known as the chief designer of the Ruby programming language and its original reference imp
join(sep = $,) -> String[permalink][rdoc][edit] 配列の要素を文字列 sep を間に挟んで連結した文字列を返します。 文字列でない要素に対しては、to_str があれば to_str、なければ to_s した結果を連結します。要素がまた配列であれば再帰的に (同じ sep を利用して) join した文字列を連結します。ただし、配列要素が自身を含むような無限にネストした配列に対しては、以下のような結果になります。 例 ary = [1,2,3] ary.push ary p ary # => [1, 2, 3, [...]] p ary.join # => ArgumentError: recursive array join [PARAM] sep: 間に挟む文字列を指定します。nil のときは空文字列を使います。文字列以外のオブジェクトを指
URLをいじくるプログラムをいじっていて、仕様がよくわからなくて悩んだのでまとめます。 2/23: 追試部分を追記 2018/7/14: JavaScriptのURLSearchParamsと、GoのPathEscapeについて追記 ことの経緯 HTTPとはなんぞやとか、GETとPOSTがどうの、それぞれでパラメータがどういう経緯でウェブアプリケーション(とかCGI)に渡って来るのかぐらいは知っていました。で、ウェブでXHRでGETリクエストを送る場合にはJavaScriptのencodeURIComponent()で各パラメータをエンコードして、&でくっつけて、URLの末尾に?で付与すればいいんだよね?と思っていました。こんな感じに。 var finalUrl = [url, "?", encodeURIComponent("key"), "=", encodeURIComponent(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く