RubyKaigiから帰ってきてLT会のLT。RubyKaigi 2018のトークの増補版だよ!
Extend your ownprogramming language[email protected]-5Ͱ૿ิ
View Slide
͠Β͓͍ͪͩ͘͘͞✓ ͝ཡͷεϙϯαʔͷఏڙʹΑΓ͓ૹΓ͠·͢
slide sponsors" " !!!! @moro@ tricknotesdRuby Web ( ) https://t.co/fLhzWll5gY@hisashimRails 700https://t.co/wAMLWDekJh?amp=1 @igaiga555https://lambdanote.com @golden_lucky@vestige_
slide sponsors5 !! 6 2Scratch Day in !! @mameiSeq iSeq@youchanSpeee Ruby@koichirooRubyKaigi 2018 2 @ktouRubyWorld Conference 2018yancya @yancya
slide sponsorsseki@tsuboi@ogijunpeople.suzuri.jp hsbt tatsuosakuraikenchan june29 zaimy tnmt umazura4 -20pixiv FANBOX halfmoon_0419 usa shimashima35igaiga
RubyKaigi 2018Ruby Ruby MinRubydRuby
RubyKaigi 2018...
MinRubyRuby RubyMinRuby
MinRubyͷίϯςΩετAST -genv -lenv -Marshal.dump
ঢ়ଶΛอଘʗ࠶ݱͰ͖Δ...
ετϨʔδʹอଘʗ࠶ݱRuby
ωοτϫʔΫʹอଘʗ࠶ݱHTTPdRubyTupleSpace/ Linda
TupleSpaceLinda
TupleSpaceαʔόΛ༻ҙ͢Δdrbunix:/tmp/my_tsURI
;ͭ͏ϑΝΠϧ͔Βىಈparse ASTgenv, lenvevaluate
TupleSpace͔ΒͷىಈTupleSpace AST, genv, lenv takeevaluate
ϓϩηεϚΠάϨʔγϣϯTupleSpace
ϫʔΧΛىಈ͢ΔτϦοΫ[:ts_eval, ...] take [:ts_call, ...] write[:ts_call, ...] AST, genv, lenvevaluatewhile trueit = ts.take([:ts_eval, nil, nil, nil, nil])it[0] = :ts_callts.write(it)spawn_workerend
TupleSpaceΛಉظ͢ΔΈTupleSpaceLindawritetake/read TS͍͔ͭ͜ͷΛ͍ͨ͠
ͭ·ΓTSTS MinRuby
Docker, Rinda, Ring, MinRubyෳͷίϯςφʹஔ͞Εͨ3JOEBͷλϓϧεϖʔεΛ3JOHΛͬͯΦʔέετϨʔγϣϯ ઃఆͳ͠Ͱಉظͤ͞Δͱ͜Ζ·Ͱ࡞ͬͨɻݱࡏϝογϡঢ়ʹଓ͠߹͍ͬͯΔͷͰɺ"HFOUΛͬͯ௨৴ΛݮΒͯ͠Έ͍ͨɻ