Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

先日の find_allのindex版( http://qiita.com/pocari/items/0b4e632ef2a2b6a97ba9 )という記事を受けて。 ruby 1.9 ruby 2.0 ruby 2.1 jruby1.7.12 --1.9 jruby1.7.12 --2.0 の5つの環境で速度がどう変わるか調べてみたよ。 わかったこと ※ すべて、今回のベンチマークの範囲の話。一般的かどうかはわからない。 each_with_index.select や flat_map.with_index は、ruby 1.9 → 2.0 → 2.1 と、すごく速くなっている。都合 10倍以上。 CRuby だと、each_with_index と each.with_index は、同じっぽい。 JRuby だと、each_with_index より each.with_index
# 新規作成 book = Spreadsheet::Workbook.new sheet = book.create_worksheet(name: 'curry') # いろいろな方法でデータを入れられる # 計算式は入力できない sheet.row(0).concat %w{品名 単価 数量 計} sheet[1,0] = 'にんじん' sheet[1,1] = 80 sheet[1,2] = 1 sheet[1,3] = 80 row = sheet.row(2) row.push 50 row.push 2 row.push 100 row.unshift 'たまねぎ' sheet.row(3).replace [ 'じゃがいも', 40, 2, 80 ] sheet.row(4).push '牛肉', 1, 200 sheet.row(4).insert 1, 200 shee
先日、新インスタンスタイプとなるT2インスタンスがリリースされましたね! 【AWS発表】バースト可能な性能を持つ新しい低コストEC2インスタンス いままで特にお世話になっていた t1.micro/m1.small の 後継というべきインスタンスでしょうか。 しかし実際に使ってみると、T2インスタンスならではの特徴がいくつかあるようです。 これから一番お世話になりそうなT2インスタンスですし もう少し詳細に調査し、その結果をまとめてみました。 ベースライン/クレジット/バーストという概念 CPUの性能に関する概念です。 t1.microにもバーストという機能はありましたが T2では実装が大きく異なるようです。 要約すると という感じでしょうか。 また、 1クレジット=1分間バースト可能 と覚えておくとよいでしょう。 10クレ持っていれば、10分間バーストし続けられる、ということです。 インス
Hubert Łępickiさんの2015年6月14日付のブログ記事Closures: Elixir vs. Ruby vs. JavaScriptの翻訳です。 Wikipediaより クロージャ(クロージャー、英: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数で実現している。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。 大雑把に言うと例えば「大域変数は使いたくないけど(名前がぶつかるとかで)、プログラム全体で状態を保持したい場合なんかに使うアレ」です1。 こちらの猿でもわかるクロージャ超入門 まとめがわかりやすいです。ただこれもそうですが、ググってみるとなぜかJavaScriptの例が多いんですよね。で「外側
#はじめに 普段はBackbone.jsでアプリを作成しているのですが、React.jsの評判が高まってきているので、簡易BlogをBackbone.jsとReact.jsの両方で実装して、比較してみました。 Demoではjs以外は同じサーバのAPIを使っているのでどちらにも反映されます。 Backbone.jsをつかったバージョン Source https://github.com/takeshy/backbone_socket_io Demo https://radiant-dawn-8878.herokuapp.com/backbone React.jsをつかったバージョン Source https://github.com/takeshy/react_socket_io Demo https://radiant-dawn-8878.herokuapp.com/react #HTML
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているた
他にも資料を作成しましたが、大体チェックを受けた部分は上記2資料です。 結果として、1日当たり1.8時間は削減可能であろうと試算し、約1ヶ月でIntelliJ IDEA購入の費用を回収できるとしました。 上記を経て、ボスの了解を経て、Commercial Licenseを2桁ライセンス分購入することができました。 購入に当たりまして、サムライズム様には色々とご協力をいただきました。 ありがとうございます。 ※他にも実際の開発効率についての実演もやっていますが割愛。 導入編 無事にチームメンバー向けにIntelliJ IDEAのライセンスを購入することが出来ました。 しかしこの時点では、Eclipseしか使ったことがない人が大多数を占めていました。 このような状況で必要なアクションは、IntelliJ IDEAに移行するメリットを提示することと、移行に当たっての障壁をひたすら壊すことです。
Help us understand the problem. What is going on with this article? 「RaptorはどのようにしてUnicornの4倍、Puma, Torqueboxの2倍の速度を達成したのか」を読んでまとめてみました。 原文はこちらです。紹介については許可を貰っています。 How we've made Raptor up to 4x faster than Unicorn, up to 2x faster than Puma, Torquebox とても読みやすい英語ですので是非原文も読んでみてください。 How Ruby app servers work Rackアプリケーションの構成についての紹介と、コネクションをどのように扱うのかについて。 prefork/threadingやBlocking I/OおよびEvent I/Oの組み
はじめに AppleがSwiftという言語を発表した。 新しい言語をつくるのであれば既存の言語から良いアイディアは取り入れ悪いアイディアは取り入れないのが良い。 TwitterのTLを見ていると「Swiftは○○に似ている」という発言があったので、 どこら辺が似ているのかを自分の中で振り返ってみた。 (最初は「Swiftは○○のパクり」というタイトルにしたかったのだが、文全体を挑発的に書けなかったのでやめた) 間違っていることもあるはずなので、コメントは大歓迎である。 Swift 全部紹介するのは無理なので、とりあえず A Swift Tour から引用したい。 基本文法 基本文法はC言語系だ。現在の手続き型言語はC++やJava等これが主流である。 (主流でない文法はFORTRAN、BASIC、Pascalなどなど。関数型だとまた全く違う) Simple Values
lambdaについて調べてみました。 procとはblockに名前を付けれる点で似ているが、違う点がある。以下にその違いを実験したコードを書く。 1.引数の数をlambdaの引数の数を一致させなければエラーが起きる。 procだと起きない。 def test1(v, code) code.call(v) #引数の数をlambdaの引数の数を一致させなければエラーが起きる。 #procだと起きない。 end def test2(v,v2, code) code.call(v,v2, 'hoge') #引数を増やす end lam = lambda do |v| return v*100 end puts test1(1, lam) #=> 100 puts test2(2,22, lam) # lambda.rb:13:in `block in <main>': wrong number o
はじめに Rubyでは、通常のメソッド定義のほかに、動的にメソッドを定義する方法がいくつかありますが、 動的に定義されたメソッドと通常のメソッドの呼出コストの差が気になります。 また、動的に定義されたメソッドの中でもdefine_methodで定義されたものは重いということもよく知られています。 一例として、Railsでは、重いdefine_methodを使う代わりに文字列のclass_evalを使用している箇所が多くあります。 というわけで、 通常のメソッド定義 define_method class_eval + 文字列 class_eval + ブロック で定義したメソッドの呼出コストのベンチマークを取ってみました。 class_eval + ブロックは 正確には動的ではない(メソッドの内容を動的に変更できない)のですが、気になったので同時にベンチマークすることにしました。 ベンチマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く