Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
型、ついてますか? - 型の本質を振り返る -
Search
TAKANO Mitsuhiro
July 08, 2016
Programming
10
4k
型、ついてますか? - 型の本質を振り返る -
なぜ、動的型付けスクリプト言語の流行りから、再び静的型付けの言語が注目されているのか。
型付けの歴史を振り返り、これからの「型」のありかた、それを実装した処理系のありかたについて考えます。
TAKANO Mitsuhiro
July 08, 2016
Tweet
Share
More Decks by TAKANO Mitsuhiro
See All by TAKANO Mitsuhiro
Pharo 6 最新情報 | 第101回Smalltalk勉強会
takano32
0
230
Programming Language Spry
takano32
1
570
Other Decks in Programming
See All in Programming
qmuntal/stateless のススメ
sgash708
0
120
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
220
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
910
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
3
2.3k
飲食業界向けマルチプロダクトを実現させる開発体制とリアルな現状
hiroya0601
1
390
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
260
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.4k
現場で役立つモデリング 超入門
masuda220
PRO
13
2.9k
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
1.3k
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
130
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
510
ECSのサービス間通信 4つの方法を比較する 〜Canary,Blue/Greenも添えて〜
tkikuc
11
2.3k
Featured
See All Featured
Scaling GitHub
holman
458
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Cult of Friendly URLs
andyhume
78
6k
How to Ace a Technical Interview
jacobian
275
23k
GitHub's CSS Performance
jonrohan
1030
460k
Statistics for Hackers
jakevdp
796
220k
GraphQLとの向き合い方2022年版
quramy
43
13k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Transcript
ܕɺ͍ͭͯ·͔͢ʁ - ܕͷຊ࣭ΛৼΓฦΔ - ϋογϡλά #AIAL ԙ ຊϚΠΫϩιϑτ 2016-07-08 TAKANO
Mitsuhiro a.k.a. @takano32 SORABITO Inc. / jus / CONBU
ձʹײँ ͍͖ͭ͞ നϠΪίʔϙϨʔγϣϯͷຊ͞Μ͔Βߨࢣͷଧ ࣾ + ͪΐͬͱ֎෦ͳงғؾͷ 15ਓ͘Β͍ͷษڧձ Πϕϯτެ։ޙ 3࣌ؒ͘Β͍Ͱ15ਓຒ·Δ ެ։͔Β1Ͱ30ਓ͘Β͍·ͰࢀՃొ
ຊϚΠΫϩιϑτ͞Μ ͋Γ͕ͱ͏͍͟͝·͢ʂ ձ୳͠ Facebook ͰΫϩʔζυͳࠂ ຊϚΠΫϩιϑτͷࢁຊ͞Μ͔Βձఏڙʹ͍͓͕͚͍͚ͭͯͨͩ·ͨ͠ ֤ॴͱௐͭͭ͠ຊϚΠΫϩιϑτ͞ΜͷձΛ͓आΓ͢Δ͜ͱ͕Ͱ͖·ͨ͠ʂ ձܾఆͷ࣌Ͱ60ਓ͕ࢀՃొ Twitter ͳͲͷݸਓͷϝσΟΞͰࠂ
100ਓͷձʹ΄΅ࢀՃొ100ਓ ΄Μͱ͏ʹ͋Γ͕ͱ͏͍͟͝·͢ʂ
λΠτϧͷݩωλ ϥΠτɺ͍ͭͯ·͔͢ʁ ղܾͷखҾ͖ ਖ਼͘͠ଊ͍͑ͯΔ͔ͷֶ ؒҧͬͨʹແବͳྗ ଘࡏ͠ͳ͔ͬͨ
͓લɺ୭Α TAKANO Mitsuhiro a.k.a. @takano32 ߴ ޫ߂ / ͔ͨͷ ΈͭͻΖ
ຊUNIXϢʔβձ(װࣄ|ཧࣄ) SORABITOגࣜձࣾ ٕज़εϖγϟϦετ Smalltalk-ing Ruby committer Senior Infrastructure Engineer
ઐͱܦྺ
ઐ ͳΜͱͳ͘ϓϩάϥϛϯά͕ ͖ͩͬͨ͋ͷ͜Ζ
ઐ ߴߍੜͷͱ͖͔ΒϓϩάϥϛϯάΛ͡ΊΔ େֶ࣌ ωοτϫʔΫͱηΩϡϦςΟͷݚڀ म࢜จݴޠॲཧ ࣮ߦڥʹґଘ͠ͳ͍ιϑτΣΞهड़ݴޠʹؔ͢Δݚڀ δϟϰΝͷͰͳ͍
ઐ(CONT.D) ΞϧόΠτ Smalltalk VM ͷ։ൃ Linux Ոి͚ϓϥοτϑΥʔϜ Windows͚ࣾϝοηϯδϟʔ Smalltalk VM
Λ༻͍ͨ .NET VM ͷ։ൃ ܞଳి͚ϓϥοτϑΥʔϜ ҰൠతͳిࢠऔҾαΠτͷߏஙಛڐࣄۀͷ্ཱͪ͛
ܦྺ ʮܦݧͰ͖ͳ͍͜ͱʯΛܦݧ͢Δ
ܦྺ גࣜձཱࣾ࡞ॴ ৽ଔͰͳ͍ͱຊମͷજೖͰͷ࠾༻͍͠ ԾԽػߏͷઃܭ։ൃ ຊͰ͍ͬͯΔͱ͜Ζ͕ଞʹͳ͍ ࣾһ͕ϋϯύͳ͍ ίϛϡχςΟʔ׆ಈ ࣾͷͭͳ͕ΓͰࢁຊ͞Μ(@mihochannel)ͱΓ߹͏ ࣾ֎ͷ׆ಈͰຊ͞Μ(@t2y)ͱΓ߹͏
ܦྺ(CONT.D) άϦʔגࣜձࣾ େنΠϯϑϥετϥΫνϟͷࢦش ৫શମΛࢧ͑Δ௨γεςϜ ܭࢉػͷ͕ϋϯύͳ͍ SORABITOגࣜձࣾ Smalltalk ʹΑΔిࢠऔҾαΠτ ͋ͨΓͷ୯Ձ͕ϋϯύͳ͍ ॏػݐػͷϚʔέοτϓϨΠε
͓Αͦೋԯԁͷग़ͳͲଘࡏ Smalltalk ͰۀγεςϜΛ࡞Δͱ͔ܦݧͰ͖ͳ͍ʂʂʂ
ҰݴͰݴ͑ԿͰ ͦͦ͜͜ਂͬͯ͘ΔԿͰ
ؓٳɻ
ܕɺ͍ͭͯ·͔͢ʁ
ܕɺ͍ͭͯ·͔͢ʁ ܕʹ͍ͭͯͷೝࣝΛ֬ೝ ܕͷຊ࣭Λཧղ͢Δ ܕʹ͍ͭͯٞ͢Δ·͑ʹ͢Δ͖ ܕʹ͍ͭͯඞཁͷແ͍ٞগͳ͘ͳΔͣ ܕʹ·ͭΘΔྺ࢙Τϐιʔυͷհ
֓ཁ Ұൠతͳʮܕʯʹ͍ͭͯͷ֓ཁ ੩తܕ͚ ಈతܕ͚ ܕ͚ͷ෩ை (ݹ|ۙ|ݱ|ݪ࢝)(ಈత|੩త)ܕ͚
֓ཁ(CONT.D) ෩ைͷมભ ͦΕͧΕͷ෩ைʹ͓͚Δʮࢦʯ ܕɺ͍ͭͯ·͔͢ʁ ܕͷඞཁੑ ܁Γฦ͞ΕΔྺ࢙ ͜Ε͔Βͷʮܕʯͷ͋Γํ
Ұൠతͳܕʹ͍ͭͯͷ֓ཁ ಛఆͷݴޠܕͷٕज़ʹ͍ͭͯͷৄࡉׂѪ ͬͱ;͞Θ͍͠ษڧձ͕͋Γ·͢ ͋͘·Ͱ͜ͷͰશମΛΈ·͢ ΛΈͯथւʹ໎Θͳ͍Α͏ʹҙ ໘ന͍͜ͱɺҙ֎ͳͷऔΓ্͛·͢ ͓࢈ʹͬͯؼΕΔ͕͍͔ͭ͋͘Δͣ
੩తܕ͚ ʮܕ͕͍͍ͭͯΔʯͱ͍͑҉తʹ੩తܕ ͚ͷ͜ͱ ࣄલʹมͷܕΛਫ਼ࠪ͢Δ ੩తͳղੳ ίϯύΠϧ࣮ߦલͷόάൃݟ
ಈతܕ͚ ࣄલʹมͷܕΛਫ਼ࠪ͠ͳ͍ ಈతͳධՁʹΑͬͯ͡Ίͯܕ͕Θ͔Δ ࣮ߦ࣌ͷܕ͚
(੩తcಈత)ܕ͚ ੩తܕ͚Ͱࣄલͷղੳॲཧ Ұൠʹิॿͷهड़Λߦ͏ ࣮ߦݫີʹߦ͍ͬͯͳ͍ ͍͘Β੩తܕ͚ͷॲཧܥʹΑΔॲཧ͕ҰॠͰऴΘ͍ͬͯͯ ಈ࡞࣌ͷܕ͚ҟͳΔ ࣮ߦ͕Ͱ͖Δͷಈతܕ͚͚ͩ ৄࡉղઆ͠·͢
ܕ͚ͷ෩ை ݹ੩తܕ͚ ݹಈతܕ͚ ۙಈతܕ͚ ۙ੩తܕ͚ ݱಈతܕ͚ ݱ੩తܕ͚ ݪ࢝ಈతܕ͚ ݪ࢝੩తܕ͚
(ݪ࢝cݹcۙcݱ) (ಈతc੩త) ܕ͚
8छྨϠϦա͗ͱ ল͓ͯ͠Γ·͕͢ ͬͪΌͬͨͷ͠ΐ͏͕ͳ͍
ݹ੩తܕ͚ CݴޠΛදͱ͢Δͷʹ࠾༻ γεςϜͱີͳܕ͚ ܕ͕ෆ໌ͩͱσʔλͷѻ͍ํ͕͔Βͳ͍
A B A
A B A
A B A
ݹಈతܕ͚ ॲཧͷهड़ͱϑΥʔΧε͕Ҡ͍ͬͯ͘ γεςϜͷهड़Ͱͳ͍ BASIC ॳ৺ऀ͚ͷݴޠͱͯ͠ҐΛཱ֬ ཪٕͬΆ͍ςΫχοΫͰγεςϜʹΞΫηεͰ͖Δ ex. DATA, PEEK, POKE
γΣϧεΫϦϓτ γεςϜͱର͢ΔͨΊͷػߏΛԠ༻
ίϥϜ: γΣϧ ྫ֎ଘࡏ͢Δ γεςϜͱ҆શʹର͢Δͷ͕γΣϧຊདྷͷׂ ਅͷLinux Kernel ͚γΣϧ Ͳ͏ΈͯόΧ ๙Ίݴ༿
ίϥϜ: ҧײ͕͋Δݴ༿ γΣϧεΫϦϓτΛॻ͘͜ͱΛʮγΣϧΛॻ͘ʯ bash zsh Λ։ൃ͍ͯ͠Δʁʁʁ IP ΞυϨεͷ͜ͱΛʮIPʯ IP
ͱΠϯλʔωοτϓϩτίϧͷ͜ͱͰ IP ΞυϨεͱ IP Ͱͷ ૹ৴ઌૹ৴ݩͷΞυϨε ͜ͷҧײΛ͔Γ͘͢ྫ͑Δ Wikipedia ͷ͜ͱΛ ʮWikiʯ ͱදݱ͍ͯ͠ΔϞϠϞϠײ
ۙಈతܕ͚ ݹಈతܕ͚Ͱղܾ͕໘ͩͬͨͷվળ Perl sh + sed + awk + grep
ڧྗͳจࣈྻૢ࡞ ಛʹPerlޓͷਖ਼نදݱͷଘࡏେ͖͍Ռ PCREͱͯ͠ଞͷੈքʹେ͖͘Өڹ
ۙಈతܕ͚(CONT.D) PHP దʹॻ͚ಈ͘ རͰ͋Δܽ͠Ͱ͋Δ ܕͷٞͳͲͷͰᎏ᎐͞ΕΔ͜ͱଟ͍ ଟ͘ͷΛղܾ͖ͯͨ͠ͷࣄ࣮ Python Perl ॻ͘ͷΠϠʹͳͬͨΑͶ Ϋηͷ͋Δ
Perl Monger ͷՌಡΊ·ͤΜ…
ۙ੩తܕ͚ C++ݴޠʹද͞ΕΔͷʹ࠾༻ ৽͍͠ύϥμΠϜͷ্ͤ C++ݴޠͰΦϒδΣΫτࢦ ϓϩάϥϜͷߏԽͷԆઢ্ʹΦϒδΣΫτࢦͷςΠετΛࡌ ͤͨ ͋͘·ͰCݴޠ͔Βͷൃలܥͱଊ͑Δ͜ͱ͕Ͱ͖Δ ϧʔϧ͕ෳࡶ͗͢ΔͷͰɺ͍͜ͳͤΔΤϯδχΞఱ࠽ͩͱײ͡Δ
ݱಈతܕ͚ ύϥμΠϜϢʔεέʔεʹΑͬͯେ͖͘ීٴ Ruby ΦϒδΣΫτࢦΛલఏͱͨ͠ݴޠ ͋ͱ͔ΒࡌͤͨͷͰͳ͍ͷͰෆࣗવ͕͞ͳ͍ JavaScript WebϒϥβͰͷಈ࡞Λఆ͠ීٴͨ͠ݴޠ ʮJavaScriptOFFʹ͢Δʯͱ͍͏͔࣌Βͷܶతͳ෮׆
ݱ੩తܕ͚ ۙ੩తܕ͚ΑΓڧ͍ػೳ γεςϜهड़ϨΠϠʔ͔Βͷղ VM ͱ͍͏ਓྨͷӳ ϚϧνϓϥοτϑΥʔϜ ex. Java, Haskell, AltJS
ݪճؼɻ
ݪ࢝ಈతܕ͚ ߟ͑ͯΈΑ͏ɺϊΠϚϯܕίϯϐϡʔλ Ϩδελ ଈ ΞυϨε
ݪ࢝ಈతܕ͚(CONT.D) MOV EAX, [1000h] 1000h ͱ͍͏ଈΛ EAX ϨδελʹೖΕΔ MOV [ff00h],
EBX EBX ϨδελͷΛ ff00h ͷΞυϨεʹೖΕΔ χʔϞχοΫػցޠͱ૬ޓʹஔͰ͖Δ 0 ͱ 1 ͷ࿈ଓͰදݱ͞ΕͨنଇΛنʹΑͬͯධՁ͍ͯ͘͜͠ͱͰੈͷதͷେ ͷγεςϜಈ࡞͍ͯ͠Δ ͜ͷʮධՁʯ͕ͦ͜ɺ΄΅ͯ͢ͷࠜװʹ͋Δʮ࣮ߦʯ
ػցޠͷܕ͚ ੩తܕ͚ͳͷ͔ಈతܕ͚ͳͷ͔ ࣮ߦ࣌ʹଈ͔ΞυϨεΛஅ ͜ͷ͔࣌Βࣄલͷॲཧ͕ͳ͍ ͑ͯྨ͢ΔͳΒಈతܕ͚ͱ͍͑Δ ͯ͢ͷجຊ͜ͷαΠΫϧͰ͋ΔͨΊɺಈతܕ͚ ͔Βಀ͛Δ͜ͱ͕Ͱ͖ͳ͍
ίϥϜ: ػցޠͱCݴޠͷ ؾܰʹΔ͜ͱ͕Ͱ͖Δʹ͍ͭͯհ a[2] == 2[a]; ࣜͷʁ ʮਅʯ
Կ͕ى͖͍ͯΔͷ͔ʁ
a 2 a[2] a 2 2[a]
ݪ࢝੩తܕ͚ ىݯϥϜμܭࢉʹ͋Γ ܕͳ͠ϥϜμܭࢉ വͷΈͰ͞·͟·ͳॲཧΛ࣮ݱ͢ΔՄೳੑΛఏࣔ ࣗવͷѻ͍ɺ݅ذɺ࠶ؼ ܕ͋ΓϥϜμܭࢉ ܕͳ͠ϥϜμܭࢉͷൃలܥ ڧ͍ܕ͚ͱԆධՁͷૅͱͳͬͨΈ ৄࡉΛ͢ͱ 12
࣌ؒ͘Β͍ʹͳΓͦ͏ͳͷͰׂѪ
෩ைͷมભ
ݪ࢝ ݪ࢝ಈతܕ͚ ϊΠϚϯܕίϯϐϡʔλ ݪ࢝੩తܕ͚ ࢥߟతͳ࣮ݧ
ݹ ݹ੩తܕ͚ γεςϜͷهड़ͷͨΊʹภ͍ͬͯΔ Ϣʔβͷॲཧͷهड़ʹ໘ ݹಈతܕ͚ γεςϜͱͷର هड़ͷརศੑΛॏࢹ
ۙ ۙ੩తܕ͚ ݹ੩తܕ͚ʹର͢Δ৽͍͠ύϥμΠϜͷద༻ ۙಈతܕ͚ ݹಈతܕ͚ʹର͢Δ৽͍͠ύϥμΠϜͷద༻ ۙʹ͓͚Δʮ৽͍͠ύϥμΠϜʯ ΦϒδΣΫτࢦͱ͍ͬͯΑ͍
ݱ ݱಈతܕ͚ ৽͍͠ύϥμΠϜ͕ઌʹ͋Δಈతܕ͚ ݱ੩తܕ͚ ৽͍͠ύϥμΠϜ͕ઌʹ͋Δ੩తܕ͚ ݱʹ͓͚Δʮ৽͍͠ύϥμΠϜʯ ΦϒδΣΫτࢦͱ͍͑Δ
ܕɺ͍ͭͯ·͔͢ʁ
ܕͰΈΔྺ࢙ ݪ࢝ܕ͚࣌ ܕͱ͍͏ͷҙࣝ͞Εͳ͔ͬͨ ݹܕ͚࣌ ॲཧ͢Δͷੑ࣭ʹΑͬͯܕ͚͕͞Εͨ ۙܕ͚࣌ ৽͍͠ύϥμΠϜͷςΠετ͕Ճ͞Εͨ ݱܕ͚࣌ ৽͍͠ύϥμΠϜ͕ઌʹ͋Γɺͦͷޙʹॲཧܥ͕͋Δ
ྺ࢙͔ΒֶͿܕ ަޓʹಈతܕ͚ͱ੩తܕ͚͖ͯͨ͠ ͕࣌ਐΉʹͭΕͯʮཧతͳʯܭࢉػ͔Βͷ ڑԕ͘ͳ͍ͬͯΔ ߴͳநԽ
͜Ε͔ΒͷʮมԽʯΛಡΉ
ͳͥɺྺ࢙܁Γฦ͢ͷ͔ σόοάࠔͳঢ়ଶͱͳͬͨͱ͖ ੩తͳܕ͚ͱݟ͔͚ͤͯಈతͳܕ͚ͱ͍͏Έ߹Θ͕ͤअѱ CݴޠC++ݴޠͰσόοΨΛڧԽͯ͠Ԇ໋ ղܾͷυϝΠϯͱॲཧܥͷΠϯϐʔμϯεϛεϚον ex. WebγεςϜͷ৽ن։ൃʹPerlΛ࠾༻͠·͔͢ʁ நԽͷϨϕϧ ΦϒδΣΫτࢦͷ͜ͱΛߟ͍͑ͯΔͱ͖ʹϙΠϯλͱ͔ϝϞϦͱ͔ܕͷෆҰ கͰσʔλͷϚοϐϯά͕ڰ͍ͦ͏ɺΈ͍ͨͳ͜ͱʹҙΛ͍ͨ͘ͳ͍
͜Ε͔ΒͷʮܕʯΛߟ ྺ࢙͔ΒৼΓସ͑ΔϙΠϯτ υϝΠϯ ύϥμΠϜ நԽ Ϧιʔε ੩తͱಈతͷ࣠ʹΑΔߟ ཧͱ࣮ફ ۩ͱந
͜Ε͔ΒͷʮυϝΠϯʯ υϝΠϯͱղܾ͖͕͢Ͳͷʹଐ͍ͯ͠Δ͔ʁ ͱ͍͏ҙຯ ྺ࢙ͰγεςϜهड़ͱWeb͕େ͖͘Өڹ ݱࡏ HTTP ͕શ͕ͩՌͨͯ͜͠ͷ··ͳͷ͔ʁ ex. Web ΞϓϦέʔγϣϯ൪߸
80 ൪ IPv6 ͕ຊ֨తʹීٴͨ͠ͱ͖ʹԽ͚ΔՄೳੑ͕͋Δ
͜Ε͔ΒͷʮύϥμΠϜʯ ؔܕΦϒδΣΫτࢦʹද͞ΕΔʮ֓೦తͳ ࢥߟํ๏ʯ͕ύϥμΠϜ υϝΠϯʹରͯ͠༗ޮͳύϥμΠϜ͕ॲཧܥʹӨڹ ͯ͘͠Δ ex. ΞεϖΫτࢦ ex. ฒྻϓϩάϥϛϯά /
ฒߦϓϩάϥϛϯά
͜Ε͔ΒͷʮநԽʯ ΦϒδΣΫτࢦΑΓਐΜͩநԽ UML ͳͲͷ͜ͱ ex. Executable UML
͜Ε͔ΒͷʮϦιʔεʯ ܭࢉػͷύϫʔͷ͜ͱ ͜Ε͕όΧʹͳΒͳ͍ ex. ΨϕʔδίϨΫγϣϯ ߏ࣌࡞ͬͨϝϞϦΛ΄ͬͨΒ͔͢Α͏ͳ༨༟͕ϝϞϦۭؒʹͳ͔ͬͨ झຯͰ࡞ͬͨΦϞνϟѻ͍ ex. ΦϒδΣΫτࢦ ܧঝͷΈʹΑΓɺϝιουͷ୳ࡧʹ͕͔͔͍࣌ؒͬͯͨ
࣮༻తͰͳ͍ͱஅ͞Ε͍͍ͯͨ࣌ ݱͰΈࠐΈͰܟԕ͞Ε͕ͪ
͜Ε͔ΒͷʮϦιʔεʯ ͲͪΒͷཁૉٕज़ݱͰ͔ܽͤͳ͍ͷͱͳ͍ͬͯ Δ ΨϕʔδίϨΫγϣϯ ΦϒδΣΫτࢦ ५ͳܭࢉػϦιʔε͕खʹೖͬͨͱ͖ʹɺ͍·ΘΕ ͍ͯͳ͍ʮΦϞνϟʯ͕಄͢ΔՄೳੑेʹ͋Δ
͍·ݸਓతʹཉ͍͠Ϡπ ύϥμΠϜฤ
෭࡞༻Λߟྀͨ͠γΣϧ UNIXίϚϯυ ࣌എܠ͔Βޭ͔ࣦഊͷΈʹϑΥʔΧε ࣌ immutable infrastructure ෭࡞༻Λͨ͠γΣϧ͕͋Δͱศརͳ༧ײ ex. Monad +
shell ͜͜Ͱͷ෭࡞༻ͱૢ࡞͕ܭࢉػʹӨڹ͢Δ͔Λҙຯ͢Δ ෭࡞༻͕໌നʹΘ͔ΔγΣϧͰૢ࡞Ͱ͖Εɺ෭࡞༻͕ൃੜ͢ΔͷͷΈΛऔΓग़ͤΔͣ Dockerfile ͳͲ͕ࣗಈͰੜͰ͖Δؾ͕͢Δ
͜Ε͔Βͷܕͱॲཧܥʹͭ ͍ͯߟ͑ͯΈ·͠ΐ͏
ͦΕ͕ະདྷͷΤϯδχΞϥΠϑ Λ๛͔ʹ͢Δ͔͠Ε·ͤΜ
Ԇઓ ࠓ LL ΠϕϯτΛ։࠵͠·͢ LLoT - Lightweight Language of Things
http://ll.jus.or.jp/2016/ ܕͷηογϣϯͷొஃऀΛަবத http://ll.jus.or.jp/2016/program
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ SORABITOגࣜձࣾͰΤϯδχΞΛืूத શମΛ၆ᛌͰ͖ɺཧΛΓͭͭɺݱ࣮ͱಆ͍ɺεϐʔυͱ ࣭Λམͱ͞ͳ͍νʔϜ։ൃ ج൫ٕज़࠷ઌͷͷΛԲ͢Δ͜ͱͳ͘࠾༻ Pharo, PostgreSQL, Elasticsearch, Redis, Neo4j
ͳͲ αϙʔτঢ়گ͕ෆ໌Ͱɺ͍͟ͱͳΕʮજΔʯٕज़Λ֤ʑ ͕ൃشͯ͠ղܾ͍ͯ͘͠ຊདྷͷΤϯδχΞϦϯά͕Ͱ͖·͢