pixiv Inc.
Tuurbolinks v2.2.0 https://github.com/rails/turbolinks
pixiv Inc.
Tuurbolinks v2.2.0 https://github.com/rails/turbolinks
@mixin stack-classes ($classes) { | |
$i: 10; | |
@each $class in $classes { | |
.#{$class} { | |
z-index: $i; | |
$i: $i + 10; | |
} | |
} | |
} |
drb.rb | |
#!/usr/local/bin/ruby | |
=begin | |
Tiny distributed Ruby --- dRuby | |
DRb --- dRuby module. | |
DRbProtocol --- Mixin class. | |
DRbObject --- dRuby remote object. | |
DRbConn --- | |
DRbServer --- dRuby message handler. | |
=end |
野心的な新機能案や、互換性等の理由でおよそ採用されないであろう夢を書き連ねています。
Fixnum と Bignum を削除して、Integer クラスに統合する。両者は Flonum のように内部的に切り替えられる。
Integer#/ の結果を Rational で返すようにする。 https://bugs.ruby-lang.org/issues/5512#change-37021
* Only the releases of the stable versions are listed in principle. The releases of the unstable versions especially considered to be important are indicated as "not stable." | |
* The branches used as the source of each releases are specified, and the branching timing of them are also shown. BTW, before subversionizing of the repository, the term called "trunk" was not used, but this list uses it in order to avoid confusion. | |
* In order to show a historical backdrop, big conferences (RubyKaigi, RubyConf and Euruko) are also listed. About the venues of such conferences, general English notations are adopted, in my hope. | |
* ruby_1_8_7 branch was recut from v1_8_7 tag after the 1.8.7 release because of an accident. | |
* 1.2.1 release was canceled once, and the 2nd release called "repack" was performed. Although there were other examples similar to this, since the re-releases were performed during the same day, it does not write clearly in particular. | |
* Since 1.0 was released with the date in large quantities, the mi |
for n in {1..10}; do; say -r 1 -v Ralph deeeeeeeeeeeattttth &; done |
dRubyはこれまでに多くの大規模システムの基盤として利用されてきました。dRubyはいつものRubyプログラミングに非常に近い感覚で分散オブジェクトを実現します。これにより、複雑な分散システムであってもアイデアをすぐに実現することができます。 dRubyが提供するのは汎用のRMIです。スケッチの段階でdRubyを用い、有用性を確認したのちに用途に特化したミドルウェアに置き換えるといったように成長していったシステムも多いようです。 以下に実世界でのdRubyの使用例を示します。
Hatena は日本を代表するインターネットカンパニーで、ブログ、ソーシャルブックマークサービスなどを提供しています。2006年当時(現在はサービス終了) Hatena Screen Shotという、登録されたURLのスクリーンショットをサムネイルとして表示するサービスがありました。このサービスのアーキテクチャーのユニークな点にWebフロントエンドはLinux上に構築されているが、スクリーンショットの撮影はWindowsのIEコンポーネントを用いて実現されていることにある。これはWindows環境の方がスクリーンショットを撮影できる環境が整っていたためであるが、クロスプラットフォーム間のシステムを協調させるdRubyを使った良い例といえよう。またスクリーンショットマシーンは並列処理が行われていたため、スケーラビリティも確保されていた。
require 'rubygems' | |
require 'mongo_mapper' | |
require 'pp' | |
MongoMapper.database = 'accounting-patterns' | |
# see accounting transaction http://martinfowler.com/apsupp/accounting.pdf | |
class AccountService | |
class AcccountingRunner | |
def initialize | |
@transaction = AccountingTransaction.new |