Slide 1

Slide 1 text

8֙૩ э਷ ઁಿਸ ٜ݅Ҋ ੓णפ׮ թഅ਋

Slide 2

Slide 2 text

਋ܻо ݽৈ੓ח ੉ਬ ਋ܻ\ӝദ੗¾ѐߊ੗¾٣੗੉ց^

Slide 3

Slide 3 text

ൔೠ IT ӝস੄ ੄ࢎѾ੿ ҳઑ

Slide 4

Slide 4 text

਋ܻח ৈӝ

Slide 5

Slide 5 text

਋ܻח,
 ഥࢎ੄ ޷࣌ਸ ׳ࢿೞҊ੗ ࢸ੿ػ ੹ۚী ࠗ೤ೞח
 ઁಿਸ ٜ݅ӝ ਤ೧ ݽৈ੓णפ׮.

Slide 6

Slide 6 text

ખ୊ۢ ߸ೞ૑ ঋח Ѫ दрҗ ജ҃ী ٮۄ
 ࣻद۽ ߸ೞח Ѫ

Slide 7

Slide 7 text

ખ୊ۢ ߸ೞ૑ ঋח Ѫ दрҗ ജ҃ী ٮۄ
 ࣻद۽ ߸ೞח Ѫ ੹ۚ੉ ߄Շח ਗੋ: ةࢲ ੋҳ੄ ߸ച, بࢲ ੿оઁ, ӝࣿ੄ ߊ׳, ...

Slide 8

Slide 8 text

ઁಿ ѐߊ੄ ౠ૚ ӝദ੗о ইޖܻ ৮߷೧ب ਃҳࢎ೦਷ ߄Ո׮. → ੹ۚ੉ ߸ೞӝ ٸޙী ੜ ٜ݅য ֬਷ ઁಿب ࢎۄ૓׮. → ੹ۚ੉ ߸ೞӝ ٸޙী

Slide 9

Slide 9 text

ܻ٣࠘झ ѐߊ੄ ౠ૚ ܻ٣࠘झח ੉ઁ ҍ 9࢓ • cf. ݽ߄ੌ ѱ੐੄ ಣӐ ࣻݺ: 6ѐਘ • ਋ܻח ѱ੐ਸ ݅٘ח Ѫ੉ ইפ׮. খਵ۽ب ҅ࣘ יযт Ѫ੉׮. • ܻ٣࠘झ 2ח হ׮. • ૑ࣘغח ߸ചী ੜ ੸਽ೞח Ѫ੉ ઺ਃೞ׮.

Slide 10

Slide 10 text

ܻ٣࠘झী ؀ೠ ҙबب

Slide 11

Slide 11 text

গפ౿ী ؀ೠ ҙबب

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

য়ט੄ ઱ઁ ޖ঺ਸ ٜ݅ө (x) যڌѱ ٜ݅ө (o)

Slide 14

Slide 14 text

য়ېоח ઁಿ਷
 যڌѱ ٜ݅ө?

Slide 15

Slide 15 text

૞ӝ৬ ઑ݀ೞӝ

Slide 16

Slide 16 text

૞׮1, ᭂ᪦ ޖ঺ਸ о۽ ࣁ۽۽ ৊য ୥୥൤ ٜ݅׮.

Slide 17

Slide 17 text

ణप۽ झਝఠܳ ૞׮. ر੗ܻܳ ૞׮. ೐۽Ӓ۔ਸ ૞׮.

Slide 18

Slide 18 text

ణप۽ झਝఠܳ ૞׮. ر੗ܻܳ ૞׮. ೐۽Ӓ۔ਸ ૞׮.

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

ઑ݀ೞ׮1, ᪝ር ৈ۞ ࠗಿਸ ݽই ೞա੄ ޛѤਸ ٜ݅׮.

Slide 21

Slide 21 text

ۨҊܳ ઑ݀ೞ׮. ஹೊఠܳ ઑ݀ೞ׮. ੉ாই оҳܳ ઑ݀ೞ׮.

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

ࢻࣁೞ׮ ૞׮ ઑ݀ೞ׮ ೙ਃೠ ਃࣗܳ ૊द ؔ؂׮ ټࡎ੉ ਊ੉ೞ׮ (patch: Ӥ׮) ೧୓о য۵׮ ੤ࢎਊ੉ য۵׮ ࠽٬࠶۟ਸ ݢ੷ ݅ٚ׮ ټࡎ੉ য۵׮ ೧୓о औ׮ ੤ࢎਊ੉ औ׮ ై߅ೞ׮

Slide 24

Slide 24 text

য়ېоח ઁಿ਷ ઑ݀غযঠ ೞ૑ ঋਸө?

Slide 25

Slide 25 text

׮নೠ ࠙ঠ੄ ઑ݀ࢎ۹ Composition f ∘ g

Slide 26

Slide 26 text

ೞ٘ਝয ٣੗ੋীࢲ 1. ઁಿ ٣੗ੋ ୭ઙ Ѿҗޛਸ ࢚࢚ೞӝ 2. ӝҳ ࢸ҅ Ѿҗޛਸ ઑ݀ؼ ࣻ ੓ח ਃٜࣗ۽ ࠙೧ೞӝ 3. ࠗಿ ѐࢶ п ਃٜࣗ੄ ৮ࢿبܳ ֫੉ӝ ߸҃ী ٮܲ ࠺ਊ੉ ݒ਋ ழࢲ ݽٕച੄ ೙ਃࢿ੉ ъઑؽ

Slide 27

Slide 27 text

CPU ٣੗ੋীࢲ ੋభ: CISC (complex) • ೙ਃೠ ݺ۸যܳ ࢸ҅ী ݒߣ ୶оೞח ߑध cf. Ү଱য - ೞ׮, ೞ, ೧, ೮, ೧ࢲ, ೞחؘ, ೞפ, ೠ, ೡ, ... ARM: RISC (reduced) • ӝࠄ ݺ۸যܳ ઑ೤ೞৈ ো࢑ਸ ࣻ೯ೞח ߑध cf. Ҋ݀য - do, did, done, do+ing, to do, must do, … ߸ചೞח ߈ب୓, ஹ౵ੌ۞ ӝࣿী ਬোೠ ARM ߑध੄ थܻ

Slide 28

Slide 28 text

೐۽Ӓ۔ ٣੗ੋীࢲ ё୓૑ೱ ਗ஗ (SOLID) • ױੌ ଼੐੄ ਗ஗ - ೠ ௿ېझח ೞա੄ ҙबࢎ݅ • ѐߑ-ತࣧ੄ ਗ஗ - ӝઓ ۽૒ ࣻ੿ হ੉ ഛ੢੉ оמ೧ঠ ೣ ೣࣻഋ ೐۽Ӓې߁ • ଵઑ ైݺࢿ - ё୓ী ૞ৈ૓ ࢚క(state)ܳ ܻ࠙ • ઑ݀ оמࢿ - HOC , Mixin ل ׮ ਬ૑ࠁࣻ৬ ഛ੢ਸ औѱ ೞӝ ਤೠ ݾ੸

Slide 29

Slide 29 text

݃੉௼۽ࢲ࠺झ ইఃఫ୛ • ੹୓ܳ ੘਷ ࢲ࠺झٜ۽ ࠙೧ • ӒѪٜਸ וटೞѱ Ѿ೤ ਬץझ ୍೟ • ೐۽Ӓ۔਷ ೞա੄ ੌ݅ ੜ ೧ঠ ೣ • ೐۽Ӓ۔਷ োѾؼ ࣻ ੓যঠ ೣ दझమ ٣੗ੋীࢲ ݃ଲо૑۽ ਬ૑ࠁࣻ৬ ഛ੢ਸ औѱ ೞӝ ਤೠ ݾ੸

Slide 30

Slide 30 text

ҕా੼: ࠂ੟ೠ അपীࢲ ࢓ইթӝ ਤ೧
 ઑ݀ೞӝ ߑधਸ ࢶఖ ೞ٘ਝয ٣੗ੋ CPU ٣੗ੋ ೐۽Ӓ۔ ٣੗ੋ दझమ ٣੗ੋ

Slide 31

Slide 31 text

ೞ٘ਝয ٣੗ੋ CPU ٣੗ੋ ೐۽Ӓ۔ ٣੗ੋ दझమ ٣੗ੋ ઁಿ ٣੗ੋ

Slide 32

Slide 32 text

ઑӘ ؊ ୶࢚ച غ঻ਸ ࡺ,
 ઁಿ ٣੗ੋب ׮ܰ૑ ঋਸ Ѫ੉׮.

Slide 33

Slide 33 text

ઁಿ੄ ࠙೧৬ ઑ݀ Components & Composing

Slide 34

Slide 34 text

਋ܻо ೞח ੌ: ਃҳࢎ೦ਸ ୓҅੸ਵ۽ ઁಿী ߈৔ೞח Ѫ

Slide 35

Slide 35 text

਋ܻо ೞח ੌ: ਃҳࢎ೦ਸ ୓҅੸ਵ۽ ઁಿী ߈৔ೞח Ѫ ˝ ˞ ˟ ૞ৈઉ ੓য ࠙೧о оמೠ ਃٜࣗ

Slide 36

Slide 36 text

1. ਃҳࢎ೦ਸ ࠙೧ ਃҳࢎ೦(ݺࣁ)ܳ ਃҳೞѱ ػ ޙઁٜਸ ଺ӝ • ֈযয়ח ਃ୒ী ޙઁо ࠙ݺೠ ҃਋ח ٘ޛ׮. • ӓ൤ ٘ޛ׮. • XY Problem੉ۄҊب ೠ׮. ޙઁ(X)ী ૞ৈ૓ ೧Ѿ଼(Y)ਸ ࠙೧ • Yо component

Slide 37

Slide 37 text

যڃ ࣳೝށ੄ ࢎ۹ “Ҋёীѱ ഌఖਸ ઱੗!” (੤ߑޙਯਸ ֫੉ӝ ਤ೧)

Slide 38

Slide 38 text

Aࢎ੄ ҃਋

Slide 39

Slide 39 text

Aࢎ੄ ҃਋ Solutions

Slide 40

Slide 40 text

Bࢎ੄ ҃਋

Slide 41

Slide 41 text

Bࢎ੄ ҃਋ Solutions

Slide 42

Slide 42 text

ઁಿ ѐߊ਷ x ↦ y ଺ӝ੄ োࣘ Solutions

Slide 43

Slide 43 text

਋ܻ੄ ऀѹ૓ ޷࣌ যڌѱ ੹৉੸ਵ۽ ୭੸ചೡ Ѫੋо

Slide 44

Slide 44 text

Σbenefit - Σcost = ? Solutions

Slide 45

Slide 45 text

arg max(Σbenefit - Σcost) ࠗ࠙੸ੋ ޙઁٜী ୭ࢶਸ ׮ೞݶ Ѿҗ੸ੋ ബਊ੉ ղ۰оח ৉ࢸ • Costח ਬ૑ࠁࣻ۽ ੋೠ ઑ૒੄ ࣘب੷ೞب ನೣ ӓࠂ ߑউ: 1. ೧Ѿ଼੄ ബਯਸ ֫੉Ѣա (੗ݺೠ ߑߨ) 2. ޙઁ੄ о૙ࣻܳ ઴੉Ѣա 3. ೧Ѿ଼ਸ ੤ࢎਊೞѢա

Slide 46

Slide 46 text

2. ೐۽ࣁझܳ ࠙೧ • ೐۽ࣁझח ࣽࢲ۽ ૞ৈ૓ ױਤ ੘সٜ ৘) ࣚש੉ ਺धਸ ઱ޙೞݶ ઱ߑীࢲ ਃܻܳ ೞৈ ղ઱Ҋ تਸ ߉ח׮. • Ѿ೤਷ ؀ӝৌ(Queue)۽ॄ ࠙೧ؼ ࣻ ੓׮. ৘) ध׼ ߑޙ → Q → ਺ध ઱ޙ → Q → ઱ߑ ਃܻ → Q → Ѿઁ • ױਤ ੘স੉ component

Slide 47

Slide 47 text

ܻ٣நद
 ߸҃ ղ ଼੢
 ߸҃ ҳݒ ݫੌ ߊ࣠ ؘ੉ఠ੄ ൒ܴ ஹನք౟

Slide 48

Slide 48 text

ܻ٣நद
 ߸҃ ղ ଼੢
 ߸҃ ҳݒ ੗ز୽੹ ؀ৈ ݅ܐ ݫੌ ߊ࣠

Slide 49

Slide 49 text

ܻ٣நद
 ߸҃ ղ ଼੢
 ߸҃ ҳݒ ੗ز୽੹ ؀ৈ ݅ܐ नр ୹द CRM ݫੌ ߊ࣠ ಹद ߊ࣠

Slide 50

Slide 50 text

ܻ٣நद
 ߸҃ ղ ଼੢
 ߸҃ ҳݒ ੗ز୽੹ ؀ৈ ݅ܐ नр ୹द CRM Ҋё ޙ੄ ੽ࣻ/਽؀ ݫੌ ߊ࣠ ಹद ߊ࣠

Slide 51

Slide 51 text

3. ੘স੗ب ࠙೧ • ஹನք౟ী ૞ৈ૓ ־о(by whom)৬ ޖ঺(what)ਸ ࠙೧ • ੤ࢎਊ੉ оמೞ׮ח Ѫ = ־ҵо ੉޷ ٜ݅঻ਸ૑ب ݽܲ׮ח Ѫ • ߄௰ܳ ੤ߊݺೡ ݺ࠙ਸ ࠙ݺ൤ • ߄௰ܳ ਬ૑ࠁࣻೡ ݺ࠙ب ࠙ݺ൤

Slide 52

Slide 52 text

ܻ٣நद
 ߸҃ ҳݒ ੗ز୽੹ ؀ৈ ݅ܐ नр ୹द CRM Ҋё ޙ੄ ݫੌ ߊ࣠ ಹद ߊ࣠ ੽ࣻ/਽؀ Zendesk ղ ଼੢
 ߸҃

Slide 53

Slide 53 text

ܻ٣நद
 ߸҃ ݫੌ ߊ࣠ ҳݒ ੗ز୽੹ ؀ৈ ݅ܐ नр ୹द CRM Ҋё ޙ੄ ੽ࣻ/਽؀ ಹद ߊ࣠ Zendesk Amazon SNS Mailchimp ղ ଼੢
 ߸҃

Slide 54

Slide 54 text

ܻ٣நद
 ߸҃ ղ ଼੢
 ߸҃ ݫੌ ߊ࣠ ҳݒ ੗ز୽੹ ؀ৈ ݅ܐ नр ୹द CRM Ҋё ޙ੄ ੽ࣻ/਽؀ ಹद ߊ࣠ ҅੿౱ Zendesk Amazon SNS Mailchimp

Slide 55

Slide 55 text

ઑ݀਷ যڌѱ? ஹನք౟ ઑ݀ ߑध ৘द

Slide 56

Slide 56 text

ઑ݀਷ যڌѱ? ஹನք౟ ઑ݀ ߑध ৘द ೞ٘ਝয ࠗಿ ӝ҅ध ݫழפ્ ߡౡ, ٘ۄ੉ߡ, ੽଱ઁ

Slide 57

Slide 57 text

ઑ݀਷ যڌѱ? ஹನք౟ ઑ݀ ߑध ৘द ೞ٘ਝয ࠗಿ ӝ҅ध ݫழפ્ ߡౡ, ٘ۄ੉ߡ, ੽଱ઁ ࣗ೐౟ਝয ۄ੉࠳۞ܻ ஹ౵ੌ, ݂௼ node_modules, *.dll

Slide 58

Slide 58 text

ઑ݀਷ যڌѱ? ஹನք౟ ઑ݀ ߑध ৘द ೞ٘ਝয ࠗಿ ӝ҅ध ݫழפ્ ߡౡ, ٘ۄ੉ߡ, ੽଱ઁ ࣗ೐౟ਝয ۄ੉࠳۞ܻ ஹ౵ੌ, ݂௼ node_modules, *.dll ઁಿ ೧Ѿ଼ / ױਤ੘স ؘ੉ఠ ੑ୹۱ ଼ ੿ࠁ, ҳݒ ੿ࠁ,
 ܻ࠭ ੿ࠁ, ഋҟಗ ੿ࠁ

Slide 59

Slide 59 text

Product Composition ™ ޙઁী؀ೠ೧Ѿ଼ٜਸ ؘ੉ఠ੄൒ܴਵ۽ઑ݀ೞחѪ

Slide 60

Slide 60 text

૞ח ೯ਤח ਋ߊ੸੉Ҋ ઑ݀ध ࢎҊח ײഃ੓׮

Slide 61

Slide 61 text

1 Quick & Dirty

Slide 62

Slide 62 text

Quick & Dirty • ૑੷࠙ೞ؊ۄب ੌױ ࡅܰѱ ݅ٚ׮. • Agile! • Lean! • MVP!

Slide 63

Slide 63 text

⚠
 ؊ۣഃب غח Ѫ੉ ੓Ҋ
 উغח Ѫ੉ ੓਺

Slide 64

Slide 64 text

ઑӘ ؊ۣഃب غח Ѫ • दп੸ੋ ੌҙࢿ • ࠛ஘੺ೠ UX • ௏٘ ಿ૕ • ࢿמ ߂ উ੿ࢿ i.e. ա઺ী ஖਋ӝ ए਍ Ѫ ೣࠗ۽ ؊ۣ൤ݶ উغח Ѫ ✨ • ޙઁ ৔৉ (Domain) ցޖ և਷ ޙઁܳ ಹח Ѫ਷ ইקө? • ੤ࢎਊࢿ (Composability) ঱ઃо ઑ݀ؼ ࣻ ੓ਸө? i.e. दр੉ ૑աب ࣻण੉ উغח Ѫ

Slide 65

Slide 65 text

1. بݫੋਸ झ౵ѱ౭୊ۢ ٜ݅঻ਵݶ,
 ަ ೧ب झ౵ѱ౭ ௏٘݅ աৡ׮. 2. ੤ࢎਊࢿਸ ҙܻೞ૑ ޅೞݶ,
 ੢ӝ੸ਵ۽ ࡅܰѱ ਑૒ੌ ࣻ হ׮.

Slide 66

Slide 66 text

"৵ ޙҳೞա ࣻ੿ೞחؘ 1઱ੌ੉ա Ѧ۰ਃ?" ੉۠ ࢚ടਸ ੄بೞח ࢎۈ਷ হ׮

Slide 67

Slide 67 text

PS. ੤ࢎਊࢿ ҙ੼ীࢲ ਤ Ӓܿਸ ׮दࠁ੗

Slide 68

Slide 68 text

2 Automation

Slide 69

Slide 69 text

Automation ੗زചۆ? • ѐߊ੗ٜ੉ ޷؋੉ۄҊ ৈӝח Ѫ • ױࣽ ߈ࠂ ੘স ઴ৈ઱ח Ѫ • पࣻܳ ઴ৈ઱ח Ѫ ੗زചܳ ా೧ ੔ৈदрਸ ঳঻׮ݶ ޖ঺ਸ ੏঻ਸө?

Slide 70

Slide 70 text

ޙઁܳ ੜ ಹח Ѫ੉ ইצ, ࡈܻ ಹח Ѫ • ೞ૑݅ ޙઁח ҅ࣘ ߸ೠ׮. (੹ۚ੉ ߸ೞפө) • ബਯ੸ != ബҗ੸ ࠙೧ػ ױਤ ੘সਸ Ѿ೤ೞৈ ೐۽ࣁझܳ ݅٘ח Ѫ • ஹನք౟о ૞ৈ૑Ҋ ੓૑ח ঋ਷૑? ੗زച੄ ੉ݶ

Slide 71

Slide 71 text

ઑ૒੄ য়ߡೖ౴ ઑ૒੄ ࢎҊߑध੉ա दझమ੉ ૑աр ޙઁী ցޖ ୭੸ചغח Ѫ

Slide 72

Slide 72 text

о஖ ઁউ য়ېب۾ ૓ചೞח ઁಿਸ ٜ݅੗ ೐۽Ӓ۔ਸ ૞૑ ݈Ҋ ઁಿب ૞૑ ݈੗ Ѥъೠ ஹನք౟ܳ ݆੉ ٜ݅Ҋ ੜ ҙܻೞ੗

Slide 73

Slide 73 text

਋ܻ݅ ॳ૑ب ݈੗ ଼ API
 ܻ࠭ API
 Ѩ࢝ API
 ةࢲ֢౟ API
 ... ఃਕ٘ ౵ੋ؊
 ੉޷૑ ݧ૑ѱ ҕਬೞӝ
 ௑బஎ ࠭য
 ଼ ୶ୌ ূ૓
 ... ؘ੉ఠܳ ઁҕೞח ஹನք౟ ؘ੉ఠܳ ഝਊೞח ஹನք౟

Slide 74

Slide 74 text

Always Be a Composer

Slide 75

Slide 75 text

ଵҊ੗ܐ • The Pyramid of Clarity by Wavelength, Asana
 https://wavelength.asana.com/pyramid-clarity-strategic-alignment/ • The Language of the System by Rich Hickey
 https://www.youtube.com/watch?v=ROor6_NGIWU • Choose Boring Technology by Dan McKinley
 http://boringtechnology.club/ • Unix Philosophy by Ken Thomson
 https://en.wikipedia.org/wiki/Unix_philosophy • Simplicity Matters by Rich Hickey
 https://www.youtube.com/watch?v=rI8tNMsozo0 • Worse is Better by Richard P. Gabriel
 https://en.wikipedia.org/wiki/Worse_is_better • Images from: mojs, Composer, Docker Compose, React, LEGO®