イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
by
Akihito Koriyama
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
8FCΞϓϦέʔγϣϯͷޮΛ࠶ఆٛ͢Δ #&"34VOEBZͷࢄΩϟογϯάϑϨʔϜϫʔΫ Πϕϯτۦಈίϯςϯπ @koriym υϦϒϯ
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
w ಉҰੑ֬ೝτʔΫϯ w ༰Λද͢
Slide 4
Slide 4 text
ίϯϐϡʔλɾαΠΤϯεͰ͍͜͠ͱ2͔ͭ͠ͳ͍ɻ ΩϟογϡͷແޮԽͱ໊લ͚ͩɻ – Phil Karlton
Slide 5
Slide 5 text
ݹ֝ඈͼࠐΉਫͷԻ ߥւࠤʹΑͨ͜;ఱͷ มΘΒͳ͍ มΘΔ
Slide 6
Slide 6 text
Ωϟογϡͱʁ IUUQTDPNNPOTXJLJNFEJBPSHXJLJ'JMF$BDIFQOHNFEJB&&"&"&"#$BDIFQOH
Slide 7
Slide 7 text
ಡΈࠐΈ࣌ͷؔ৺ ݁Ռͷ࠶ར༻ 3&46-5
Slide 8
Slide 8 text
త w 69ͷ্ w Ϩεϙϯε࣌ؒͷॖ w ίετݮ w αʔόʔͷෛՙܰݮ w ωοτϫʔΫଳҬͷઅ
Slide 9
Slide 9 text
ࢿݯઅ w ܭࢉࢿݯ w ωοτϫʔΫࢿݯ
Slide 10
Slide 10 text
ͳ͍͔ͥ͠ w ແޮԽઓུ w ͷ֬อ w ґଘؔ w ಈతίϯςϯπ w εέʔϧͷ w ߹ੑͷ֬อ w ཧίετ
Slide 11
Slide 11 text
TTL ࠷ਓؾͷ͋Δઓུ
Slide 12
Slide 12 text
TTL 1SPTɿ୯७ͳ͜ͱ $POTɿ୯७ͳ͜ͱ m simplicity well cache
Slide 13
Slide 13 text
Computation Contents ಈత ੩త ରʹΑͬͯઓུΛมߋ
Slide 14
Slide 14 text
Dynamic Static ຊ࣭తʹ੩త ରʹΑͬͯઓུΛมߋ શʹಈత ༗ޮظݶ શʹ੩త
Slide 15
Slide 15 text
w ਅʹಈతʁ w ຊͷ༗ޮظݶ͕͋Δʁ w ߋ৽λΠϛϯά͕͔Δʁ ରΛੳ
Slide 16
Slide 16 text
ΠϕϯτۦಈͷΩϟογϡແޮԽ (&5 1045
Slide 17
Slide 17 text
ґଘͷ
Slide 18
Slide 18 text
λάΛ͚ͭΔ $ # $ # " $
Slide 19
Slide 19 text
λάͰফڈ $ $ # " $ #
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
υʔφοπΩϟογϡ Ωϟογϡ͢Δ Ωϟογϡ͠ͳ͍ %POU$BDIF
Slide 22
Slide 22 text
ϗʔϧΩϟογϡ Ωϟογϡ͠ͳ͍ %POU$BDIF Ωϟογϡ͢Δ
Slide 23
Slide 23 text
࠶ى Ωϟογϡ͠ͳ͍ %POU$BDIF Ωϟογϡ͢Δ
Slide 24
Slide 24 text
ࢄΩϟογϡ ϒϥβ $%/ αʔόʔ
Slide 25
Slide 25 text
ωοτϫʔΫΩϟογϡ w ظݶ͖ͷϨεϙϯε w ͖݅ϦΫΤετ
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
GET /cat HTTP/1.1 200 OK Cache-Control: max-age=600 RFC7234 Client
Slide 28
Slide 28 text
͖݅ϦΫΤετ
Slide 29
Slide 29 text
GET /cat HTTP/1.1 200 OK ETag: 3 3 GET /cat If-None-Match: 3 HTTP/1.1 304 Not-Modified 3
Slide 30
Slide 30 text
GET /cat If-None-Match: cat-3 &5BH 3FQP 0SJHJO 304 200 ETag: cat-4 4 ΠϕϯτۦಈͰ&5BHߋ৽
Slide 31
Slide 31 text
μΠφϛοΫίϯςϯπͷৗࣝ൱ఆ
Slide 32
Slide 32 text
ωοτϫʔΫࢿݯ ґଘղܾ ෦ղܾ ߹ੑ Πϕϯτۦಈ
Slide 33
Slide 33 text
ͪΐͬͱແཧͰ͢ ԶΊͱ͘
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
ϨεϙϯεΩϟογϡͰ͖㽂
Slide 36
Slide 36 text
ফڈ ͖݅ ݅ແ͠ ظݶ͖ ߋ৽
Slide 37
Slide 37 text
DI AOP REST Connecting Dependencies Connecting Concerns Connecting Resources ̏ͭͷΦϒδΣΫτϑϨʔϜϫʔΫ੍
Slide 38
Slide 38 text
Dependency Injection w (PPHMF(VJDFͷ1)1൛ w ΦϒδΣΫτάϥϑϏϧμʔ A B depends D F C G E
Slide 39
Slide 39 text
Domain Logic Application Logic ຊ࣭తؔ৺ ԣஅతؔ৺ Aspect Orientated Programming
Slide 40
Slide 40 text
ϝιου࣮ߦ ϝιουใऔಘʢ໊લɺҾʣ ద༻ ຊ࣭తؔ৺ ԣஅతؔ৺
Slide 41
Slide 41 text
json REST
Slide 42
Slide 42 text
hal+json REST -
Slide 43
Slide 43 text
ίϯςϯπ ϝλใ ঢ়ଶίʔυ ঢ় ଶ Λ ද ݱ ʹ Ϧιʔεঢ়ଶΛηοτ ද ݱ Λ ग़ ྗ Π ϯ δ Σ Ϋ γ ϣ ϯ Ξ ε ϖ Ϋ τ ં Γ ࠐ Έ 3&45ϦΫΤετ 3FTPVSDF0CKFDU αʔϏεͱͯ͠ͷΦϒδΣΫτ 3FQSFTFOUBUJPOBM4UBUF5SBOTGFS ঢ়ଶදݱͷసૹ 3FTQPOEFS Compile, Request and Response
Slide 44
Slide 44 text
ΠϕϯτυϦϒϯίϯςϯπ ࡞ˍߋ৽ ΩϟογϡΩʔͰ<ίϯςϯπ &5BH $%/>Λλάফڈ <ίϯςϯπ &5BH>Λλά͚ͯ͠ੜ /blog-posting?id=1 /comment?id=1 ґଘ
Slide 45
Slide 45 text
υʔφοπΩϟογϡ࣮ྫ ςϯϓϨʔτΛυʔφπʹ Ωϟογϡ υʔφοπΩϟογϡ ߹1)1͔$%/Ͱ &4*
Slide 46
Slide 46 text
Origin
Slide 47
Slide 47 text
No content
Slide 48
Slide 48 text
w %* w "01 w 3&45ωΠςΟϒΫϥε w ηϚϯςΟοΫϝιου w એݴతͳҾ w એݴతπϦʔߏ w ࣗݾϨϯμϦϯά w 63* w 'BTUMZ*OTUBOU1VSHF"1* w 'BTUMZαϩήʔτΩʔ w 4ZNGPOZλάΩϟογϡ ݪଇΛੵΈ্͛ ٕज़Λڠௐ
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
No content
Slide 51
Slide 51 text
No content
Slide 52
Slide 52 text
No content
Slide 53
Slide 53 text
ՆฌͲ͕ເͷ ߥւࠤʹΑͨ͜;ఱͷ Static Dynamic
Slide 54
Slide 54 text
No content
Slide 55
Slide 55 text
ෆқྲྀߦ ෆқΛΒ͟Εجཱ͕ͪͨ͘ɺྲྀߦΒ͟Ε෩৽ͨʹͳΒͣɻ ࣌Λ͑ͯ͜มΘΒͳ͍Ձ͋Δͷ ࣌ͱͱʹมΘ͍ͬͯ͘ͷ ੍ͷϑϨʔϜϫʔΫ
Slide 56
Slide 56 text
3&45$BDIF੍ ࣌Λ͑ͯ͜มΘΒͳ͍Ձ͋Δͷ ੍ͷϑϨʔϜϫʔΫ
Slide 57
Slide 57 text
ෆқΛੵΈ্͛Δ
Slide 58
Slide 58 text
"SJHBUP @koriym @BEARSunday