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
4.1k
型、ついてますか? - 型の本質を振り返る -
なぜ、動的型付けスクリプト言語の流行りから、再び静的型付けの言語が注目されているのか。
型付けの歴史を振り返り、これからの「型」のありかた、それを実装した処理系のありかたについて考えます。
TAKANO Mitsuhiro
July 08, 2016
Tweet
Share
More Decks by TAKANO Mitsuhiro
See All by TAKANO Mitsuhiro
Pharo 6 最新情報 | 第101回Smalltalk勉強会
takano32
0
270
Programming Language Spry
takano32
1
630
Other Decks in Programming
See All in Programming
AIコーディングAgentとの向き合い方
eycjur
0
270
rage against annotate_predecessor
junk0612
0
170
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
print("Hello, World")
eddie
2
530
Ruby Parser progress report 2025
yui_knk
1
450
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
220
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
1から理解するWeb Push
dora1998
7
1.9k
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
Featured
See All Featured
Building an army of robots
kneath
306
46k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
How STYLIGHT went responsive
nonsquared
100
5.8k
Typedesign – Prime Four
hannesfritz
42
2.8k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
A Tale of Four Properties
chriscoyier
160
23k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
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
ͳͲ αϙʔτঢ়گ͕ෆ໌Ͱɺ͍͟ͱͳΕʮજΔʯٕज़Λ֤ʑ ͕ൃشͯ͠ղܾ͍ͯ͘͠ຊདྷͷΤϯδχΞϦϯά͕Ͱ͖·͢