8֙૩ э ઁಿਸ ٜ݅Ҋ णפթഅ
View Slide
ܻо ݽৈח ਬܻ\ӝദ¾ѐߊ¾٣ց^
ൔೠ IT ӝস ࢎѾ ҳઑ
ܻח ৈӝ
ܻח, ഥࢎ ࣌ਸ ׳ࢿೞҊࢸػ ۚী ࠗೞח ઁಿਸ ٜ݅ӝ ਤ೧ ݽৈणפ.
ખۢ ߸ೞ ঋח Ѫदрҗ ജ҃ী ٮۄ ࣻद۽ ߸ೞח Ѫ
ખۢ ߸ೞ ঋח Ѫदрҗ ജ҃ী ٮۄ ࣻद۽ ߸ೞח Ѫۚ ߄Շח ਗੋ: ةࢲ ੋҳ ߸ച, بࢲ оઁ, ӝࣿ ߊ׳, ...
ઁಿ ѐߊ ౠӝദо ইޖܻ ৮߷೧ب ਃҳࢎ೦ ߄Ո.→ ۚ ߸ೞӝ ٸޙীੜ ٜ݅য ֬ ઁಿب ࢎۄ.→ ۚ ߸ೞӝ ٸޙী
ܻ٣࠘झ ѐߊ ౠܻ٣࠘झח ઁ ҍ 9• cf. ݽ߄ੌ ѱ ಣӐ ࣻݺ: 6ѐਘ• ܻח ѱਸ ݅٘ח Ѫ ইפ.খਵ۽ب ҅ࣘ יযт Ѫ.• ܻ٣࠘झ 2ח হ.• ࣘغח ߸ചী ੜ ೞח Ѫ ਃೞ.
ܻ٣࠘झী ೠ ҙबب
গפ౿ী ೠ ҙबب
য়ט ઁޖਸ ٜ݅ө (x)যڌѱ ٜ݅ө (o)
য়ېоח ઁಿ যڌѱ ٜ݅ө?
ӝ৬ ઑ݀ೞӝ
1, ᭂ᪦ޖਸ о۽ ࣁ۽۽ য ٜ݅.
ణप۽ झਝఠܳ .رܻܳ .۽Ӓ۔ਸ .
ઑ݀ೞ1, ርৈ۞ ࠗಿਸ ݽই ೞա ޛѤਸ ٜ݅.
ۨҊܳ ઑ݀ೞ.ஹೊఠܳ ઑ݀ೞ.ாই оҳܳ ઑ݀ೞ.
ࢻࣁೞ ઑ݀ೞਃೠ ਃࣗܳ द ؔټࡎ ਊೞ (patch: Ӥ)೧о য۵ࢎਊ য۵࠽٬࠶۟ਸ ݢ ݅ٚټࡎ য۵೧о औࢎਊ औై߅ೞ
য়ېоח ઁಿઑ݀غযঠ ೞ ঋਸө?
নೠ ࠙ঠ ઑ݀ࢎ۹Compositionf ∘ g
ೞ٘ਝয ٣ੋীࢲ1. ઁಿ ٣ੋ୭ઙ Ѿҗޛਸ ࢚࢚ೞӝ2. ӝҳ ࢸ҅Ѿҗޛਸ ઑ݀ؼ ࣻ ח ਃٜࣗ۽ ࠙೧ೞӝ3. ࠗಿ ѐࢶп ਃٜࣗ ৮ࢿبܳ ֫ӝ߸҃ী ٮܲ ࠺ਊ ݒ ழࢲ ݽٕച ਃࢿ ъઑؽ
CPU ٣ੋীࢲੋభ: CISC (complex)• ਃೠ ݺ۸যܳ ࢸ҅ী ݒߣ ୶оೞח ߑधcf. Үয - ೞ, ೞ, ೧, ೮, ೧ࢲ, ೞחؘ, ೞפ, ೠ, ೡ, ...ARM: RISC (reduced)• ӝࠄ ݺ۸যܳ ઑೞৈ োਸ ࣻ೯ೞח ߑधcf. Ҋ݀য - do, did, done, do+ing, to do, must do, …߸ചೞח ߈ب, ஹੌ۞ ӝࣿী ਬোೠ ARM ߑध थܻ
۽Ӓ۔ ٣ੋীࢲёೱ ਗ (SOLID)• ױੌ ଼ ਗ - ೠ ېझח ೞա ҙबࢎ݅• ѐߑ-ತࣧ ਗ - ӝઓ ۽ ࣻ হ ഛ оמ೧ঠ ೣೣࣻഋ ۽Ӓې߁• ଵઑ ైݺࢿ - ёী ৈ ࢚క(state)ܳ ܻ࠙• ઑ݀ оמࢿ - HOC , Mixin ل ਬࠁࣻ৬ ഛਸ औѱ ೞӝ ਤೠ ݾ
݃۽ࢲ࠺झ ইఃఫ• ܳ ࢲ࠺झٜ۽ ࠙೧• ӒѪٜਸ וटೞѱ Ѿਬץझ ୍• ۽Ӓ۔ ೞա ੌ݅ ੜ ೧ঠ ೣ• ۽Ӓ۔ োѾؼ ࣻ যঠ ೣदझమ ٣ੋীࢲ݃ଲо۽ ਬࠁࣻ৬ ഛਸ औѱ ೞӝ ਤೠ ݾ
ҕా:ࠂೠ അपীࢲ ইթӝ ਤ೧ ઑ݀ೞӝ ߑधਸ ࢶఖೞ٘ਝয ٣ੋCPU ٣ੋ۽Ӓ۔ ٣ੋदझమ ٣ੋ
ೞ٘ਝয ٣ੋCPU ٣ੋ۽Ӓ۔ ٣ੋदझమ ٣ੋઁಿ ٣ੋ
ઑӘ ؊ ୶࢚ച غਸ ࡺ, ઁಿ ٣ੋب ܰ ঋਸ Ѫ.
ઁಿ ࠙೧৬ ઑ݀Components & Composing
ܻо ೞח ੌ:ਃҳࢎ೦ਸ ҅ਵ۽ ઁಿী ߈ೞח Ѫ
ܻо ೞח ੌ:ਃҳࢎ೦ਸ ҅ਵ۽ ઁಿী ߈ೞח Ѫ˝ ˞˟ৈઉ য ࠙೧о оמೠ ਃٜࣗ
1. ਃҳࢎ೦ਸ ࠙೧ਃҳࢎ೦(ݺࣁ)ܳ ਃҳೞѱ ػ ޙઁٜਸ ӝ• ֈযয়ח ਃী ޙઁо ࠙ݺೠ ҃ח ٘ޛ.• ӓ ٘ޛ.• XY ProblemۄҊب ೠ.ޙઁ(X)ী ৈ ೧Ѿ଼(Y)ਸ ࠙೧• Yо component
যڃ ࣳೝށ ࢎ۹“Ҋёীѱ ഌఖਸ !”(ߑޙਯਸ ֫ӝ ਤ೧)
Aࢎ ҃
Aࢎ ҃Solutions
Bࢎ ҃
Bࢎ ҃Solutions
ઁಿ ѐߊ x ↦ y ӝ োࣘSolutions
ܻ ऀѹ ࣌যڌѱ ਵ۽ ୭ചೡ Ѫੋо
Σbenefit - Σcost = ?Solutions
arg max(Σbenefit - Σcost)ࠗ࠙ੋ ޙઁٜী ୭ࢶਸ ೞݶ Ѿҗੋ ബਊ ղ۰оח ࢸ• Costח ਬࠁࣻ۽ ੋೠ ઑ ࣘبೞب ನೣӓࠂ ߑউ:1. ೧Ѿ଼ ബਯਸ ֫Ѣա (ݺೠ ߑߨ)2. ޙઁ оࣻܳ Ѣա3. ೧Ѿ଼ਸ ࢎਊೞѢա
2. ۽ࣁझܳ ࠙೧• ۽ࣁझח ࣽࢲ۽ ৈ ױਤ সٜ) ࣚש धਸ ޙೞݶ ߑীࢲ ਃܻܳ ೞৈ ղҊ تਸ ߉ח.• Ѿ ӝৌ(Queue)۽ॄ ࠙೧ؼ ࣻ .) ध ߑޙ → Q → ध ޙ → Q → ߑ ਃܻ → Q → Ѿઁ• ױਤ স component
ܻ٣நद ߸҃ղ ଼ ߸҃ҳݒ ݫੌ ߊؘ࣠ఠ ܴஹನք
ܻ٣நद ߸҃ղ ଼ ߸҃ҳݒزৈ ݅ܐݫੌ ߊ࣠
ܻ٣நद ߸҃ղ ଼ ߸҃ҳݒزৈ ݅ܐनр दCRMݫੌ ߊ࣠ಹद ߊ࣠
ܻ٣நद ߸҃ղ ଼ ߸҃ҳݒزৈ ݅ܐनр दCRMҊё ޙࣻ/ݫੌ ߊ࣠ಹद ߊ࣠
3. সب ࠙೧• ஹನքী ৈ ־о(by whom)৬ ޖ(what)ਸ ࠙೧• ࢎਊ оמೞח Ѫ = ־ҵо ٜ݅ਸب ݽܲח Ѫ• ߄௰ܳ ߊݺೡ ݺ࠙ਸ ࠙ݺ• ߄௰ܳ ਬࠁࣻೡ ݺ࠙ب ࠙ݺ
ܻ٣நद ߸҃ҳݒزৈ ݅ܐनр दCRMҊё ޙݫੌ ߊ࣠ಹद ߊ࣠ࣻ/Zendeskղ ଼ ߸҃
ܻ٣நद ߸҃ݫੌ ߊ࣠ҳݒزৈ ݅ܐनр दCRMҊё ޙࣻ/ಹद ߊ࣠ZendeskAmazon SNSMailchimpղ ଼ ߸҃
ܻ٣நद ߸҃ղ ଼ ߸҃ݫੌ ߊ࣠ҳݒزৈ ݅ܐनр दCRMҊё ޙࣻ/ಹद ߊ࣠҅ZendeskAmazon SNSMailchimp
ઑ݀ যڌѱ?ஹನք ઑ݀ ߑध द
ઑ݀ যڌѱ?ஹನք ઑ݀ ߑध दೞ٘ਝয ࠗಿ ӝ҅ध ݫழפ્ ߡౡ, ٘ۄߡ, ઁ
ઑ݀ যڌѱ?ஹನք ઑ݀ ߑध दೞ٘ਝয ࠗಿ ӝ҅ध ݫழפ્ ߡౡ, ٘ۄߡ, ઁࣗਝয ۄ࠳۞ܻ ஹੌ, ݂ node_modules, *.dll
ઑ݀ যڌѱ?ஹನք ઑ݀ ߑध दೞ٘ਝয ࠗಿ ӝ҅ध ݫழפ્ ߡౡ, ٘ۄߡ, ઁࣗਝয ۄ࠳۞ܻ ஹੌ, ݂ node_modules, *.dllઁಿ ೧Ѿ଼ / ױਤস ؘఠ ੑ۱଼ ࠁ, ҳݒ ࠁ, ܻ࠭ ࠁ, ഋҟಗ ࠁ
Product Compositionޙઁীೠ೧Ѿ଼ٜਸؘఠܴਵ۽ઑ݀ೞחѪ
ח ೯ਤח ߊҊઑ݀ध ࢎҊח ײഃ
1Quick & Dirty
Quick & Dirty• ࠙ೞ؊ۄب ੌױ ࡅܰѱ ݅ٚ.• Agile!• Lean!• MVP!
⚠ ؊ۣഃب غח Ѫ Ҋ উغח Ѫ
ઑӘ ؊ۣഃب غח Ѫ • दпੋ ੌҙࢿ• ࠛೠ UX• ٘ ಿ• ࢿמ ߂ উࢿi.e. աী ӝ ए Ѫೣࠗ۽ ؊ۣݶ উغח Ѫ ✨• ޙઁ (Domain)ցޖ և ޙઁܳ ಹח Ѫ ইקө?• ࢎਊࢿ (Composability)ઃо ઑ݀ؼ ࣻ ਸө?i.e. दр աب ࣻण উغח Ѫ
1. بݫੋਸ झѱ౭ۢ ٜ݅ਵݶ, ަ ೧ب झѱ౭ ٘݅ աৡ.2. ࢎਊࢿਸ ҙܻೞ ޅೞݶ, ӝਵ۽ ࡅܰѱ ੌ ࣻ হ.
"৵ ޙҳೞա ࣻೞחؘ 1ੌա Ѧ۰ਃ?"۠ ࢚ടਸ بೞח ࢎۈ হ
PS. ࢎਊࢿ ҙীࢲ ਤ Ӓܿਸ दࠁ
2Automation
Automationزചۆ?• ѐߊٜ ؋ۄҊ ৈӝח Ѫ• ױࣽ ߈ࠂ স ৈח Ѫ• पࣻܳ ৈח Ѫزചܳ ా೧ ৈदрਸ ݶ ޖਸ ਸө?
ޙઁܳ ੜ ಹח Ѫ ইצ, ࡈܻ ಹח Ѫ• ೞ݅ ޙઁח ҅ࣘ ߸ೠ. (ۚ ߸ೞפө)• ബਯ != ബҗ࠙೧ػ ױਤ সਸ Ѿೞৈ ۽ࣁझܳ ݅٘ח Ѫ• ஹನքо ৈҊ ח ঋ?زച ݶ
ઑ য়ߡೖઑ ࢎҊߑधա दझమ աр ޙઁী ցޖ ୭ചغח Ѫ
о ઁউয়ېب۾ ചೞח ઁಿਸ ٜ݅۽Ӓ۔ਸ ݈Ҋ ઁಿب ݈Ѥъೠ ஹನքܳ ݆ ٜ݅Ҋ ੜ ҙܻೞ
ܻ݅ ॳب ଼݈ API ܻ࠭ API Ѩ࢝ API ةࢲ֢ API ...ఃਕ٘ ੋ؊ ݧѱ ҕਬೞӝ బஎ ࠭য ଼ ୶ୌ ূ ...ؘఠܳ ઁҕೞח ஹನք ؘఠܳ ഝਊೞח ஹನք
Always Be a Composer
ଵҊܐ• 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®