SlideShare a Scribd company logo
1 of 54
Download to read offline
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved.
การ Shared code ของ projects
BKK.JS
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !2
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !3
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !4
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !5
Line 1
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !6
Line 1
Line 2
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !7
Line 1
Line 2
Line 3
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !8
Line 1
Line 2
Line 3
Line 4
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !9
Line 1
Line 2
Line 3
Line 4
Line 5
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !10
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !11
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 1
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !12
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 1
Line 2
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !13
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 1
Line 2
Line 3
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !14
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !15
Duplication code in GitHub !!
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !16
https://www.theregister.co.uk/2017/11/21/github_duplicate_code/
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !17
How to remove duplication ?
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !18
Extract to somewhere !!
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !19
New function
New class
New module
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !20
New function
New class
New module
New layer (utilities !!)
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !21
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !22
Use before Reuse
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !23
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !24
1. Testing
2. Document
3. Discoverable
4. Easy to use
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !25
Use cases
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !26
My Project
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !27
My Project
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !28
My Project
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !29
My Project
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !30
My Project
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !31
My Project
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !32
How to solve ?
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !33
Fail 1
Common project, reference to project
Common
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !34
Fail 2
Use NPM package
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !35
Difficult to use
Difficult to organize
Difficult to discover
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !36
Dependency between packages
How to change ?
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !37
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !38
Try to fail …
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !39
Try to learn from fail …
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !40
Try to improve
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !41
Fail 3
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !42
Lerna
https://lerna.js.org/
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !43
Single repository
Multiple package.json
Multiple build
Multiple test
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !44
Single repository
Good for change and update
But
Difficult to discover
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !45
Fail 4
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !46
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !47
Back to basic
Common project, reference to project
Common
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !48
Back to basic
Communication and collaboration
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !49
Shared code is about people
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !50
Try new way …
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !51
https://bit.dev/
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !52
https://bit.dev/primefaces/primereact/chart
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !53
Meetup
© 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !54

More Related Content

What's hot

vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootSomkiat Puisungnoen
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIsPuneet Sachdev
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & IstioRinor Maloku
 
Cover Your Apps While Still Using npm
Cover Your Apps While Still Using npmCover Your Apps While Still Using npm
Cover Your Apps While Still Using npmTierney Cyren
 

What's hot (7)

Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
 
vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring Boot
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs
 
Your Flight is Boarding Now!
Your Flight is Boarding Now!Your Flight is Boarding Now!
Your Flight is Boarding Now!
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & Istio
 
Cover Your Apps While Still Using npm
Cover Your Apps While Still Using npmCover Your Apps While Still Using npm
Cover Your Apps While Still Using npm
 

Similar to Shared code between projects

DevOps - Certificación oficial DASA
DevOps - Certificación oficial DASADevOps - Certificación oficial DASA
DevOps - Certificación oficial DASAnetmind
 
Hsif2017 기조연설 한국어
Hsif2017 기조연설 한국어Hsif2017 기조연설 한국어
Hsif2017 기조연설 한국어Kim Myeong-hyang
 
02 馬來西亞聯網商務服務趨勢 calvin yeap
02 馬來西亞聯網商務服務趨勢 calvin yeap02 馬來西亞聯網商務服務趨勢 calvin yeap
02 馬來西亞聯網商務服務趨勢 calvin yeapKuan Chung Chang
 
Great Place to Work PowerPoint Presentation Designer
Great Place to Work PowerPoint Presentation DesignerGreat Place to Work PowerPoint Presentation Designer
Great Place to Work PowerPoint Presentation DesignerSlides IQ
 
When IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIMWhen IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIMKelly Grizzle
 
Move your Castle to the Cloud
Move your Castle to the CloudMove your Castle to the Cloud
Move your Castle to the CloudBlaine Carter
 
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...Flink Forward
 
AgileDays 2019 Moscow Procurement on Disruption
AgileDays 2019 Moscow Procurement on DisruptionAgileDays 2019 Moscow Procurement on Disruption
AgileDays 2019 Moscow Procurement on DisruptionMirko Kleiner
 
Combatant Commands: Big challenges, big opportunities for tech
Combatant Commands: Big challenges, big opportunities for techCombatant Commands: Big challenges, big opportunities for tech
Combatant Commands: Big challenges, big opportunities for techimmixGroup
 
University Innovation, Licensing, Commercialization, Entrepreneurship
University Innovation, Licensing, Commercialization, EntrepreneurshipUniversity Innovation, Licensing, Commercialization, Entrepreneurship
University Innovation, Licensing, Commercialization, EntrepreneurshipAlex G. Lee, Ph.D. Esq. CLP
 
How to Make the Most of Magento Events #MageTitansMX
How to Make the Most of Magento Events #MageTitansMXHow to Make the Most of Magento Events #MageTitansMX
How to Make the Most of Magento Events #MageTitansMXSherrie Rohde
 
SPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital WorkplaceSPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital WorkplaceNCCOMMS
 
Sitecore and the Future of Web Development
Sitecore and the Future of Web DevelopmentSitecore and the Future of Web Development
Sitecore and the Future of Web DevelopmentAdrian IORGU
 
Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...
Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...
Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...Abacus IP
 

Similar to Shared code between projects (20)

Clean you code
Clean you codeClean you code
Clean you code
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
 
DevOps - Certificación oficial DASA
DevOps - Certificación oficial DASADevOps - Certificación oficial DASA
DevOps - Certificación oficial DASA
 
Hsif2017 기조연설 한국어
Hsif2017 기조연설 한국어Hsif2017 기조연설 한국어
Hsif2017 기조연설 한국어
 
Sbtt數位教材製作服務
Sbtt數位教材製作服務Sbtt數位教材製作服務
Sbtt數位教材製作服務
 
02 馬來西亞聯網商務服務趨勢 calvin yeap
02 馬來西亞聯網商務服務趨勢 calvin yeap02 馬來西亞聯網商務服務趨勢 calvin yeap
02 馬來西亞聯網商務服務趨勢 calvin yeap
 
Velocity Quarterly Fall 2017 Issue
Velocity Quarterly Fall 2017 IssueVelocity Quarterly Fall 2017 Issue
Velocity Quarterly Fall 2017 Issue
 
Great Place to Work PowerPoint Presentation Designer
Great Place to Work PowerPoint Presentation DesignerGreat Place to Work PowerPoint Presentation Designer
Great Place to Work PowerPoint Presentation Designer
 
When IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIMWhen IGA meets PAM ... through their mutual friend SCIM
When IGA meets PAM ... through their mutual friend SCIM
 
SUGCON EU - Master Personalization and Integration
SUGCON EU - Master Personalization and IntegrationSUGCON EU - Master Personalization and Integration
SUGCON EU - Master Personalization and Integration
 
Move your Castle to the Cloud
Move your Castle to the CloudMove your Castle to the Cloud
Move your Castle to the Cloud
 
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
 
AgileDays 2019 Moscow Procurement on Disruption
AgileDays 2019 Moscow Procurement on DisruptionAgileDays 2019 Moscow Procurement on Disruption
AgileDays 2019 Moscow Procurement on Disruption
 
Combatant Commands: Big challenges, big opportunities for tech
Combatant Commands: Big challenges, big opportunities for techCombatant Commands: Big challenges, big opportunities for tech
Combatant Commands: Big challenges, big opportunities for tech
 
University Innovation, Licensing, Commercialization, Entrepreneurship
University Innovation, Licensing, Commercialization, EntrepreneurshipUniversity Innovation, Licensing, Commercialization, Entrepreneurship
University Innovation, Licensing, Commercialization, Entrepreneurship
 
How to Make the Most of Magento Events #MageTitansMX
How to Make the Most of Magento Events #MageTitansMXHow to Make the Most of Magento Events #MageTitansMX
How to Make the Most of Magento Events #MageTitansMX
 
SPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital WorkplaceSPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital Workplace
 
Sitecore and the Future of Web Development
Sitecore and the Future of Web DevelopmentSitecore and the Future of Web Development
Sitecore and the Future of Web Development
 
Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...
Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...
Trademark Protection for EU SMEs in Cambodia's Fashion and Textile Industry -...
 
Cisco Girls IT Day
Cisco Girls IT DayCisco Girls IT Day
Cisco Girls IT Day
 

More from Somkiat Puisungnoen (17)

devops
devops devops
devops
 
Manage data of service
Manage data of serviceManage data of service
Manage data of service
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
 
Unhappiness Developer
Unhappiness DeveloperUnhappiness Developer
Unhappiness Developer
 
The Beauty of BAD code
The Beauty of  BAD codeThe Beauty of  BAD code
The Beauty of BAD code
 
React in the right way
React in the right wayReact in the right way
React in the right way
 
Rise of Container (RoC)
Rise of Container (RoC)Rise of Container (RoC)
Rise of Container (RoC)
 
SCK :: Scrum is NOT Enough
SCK :: Scrum is NOT EnoughSCK :: Scrum is NOT Enough
SCK :: Scrum is NOT Enough
 
Software Development Trends 2017 at IMC
Software Development Trends 2017 at IMCSoftware Development Trends 2017 at IMC
Software Development Trends 2017 at IMC
 
Design pattern with Java 8
Design pattern with Java 8Design pattern with Java 8
Design pattern with Java 8
 
Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0Meetup :: Update Elastic Stack 5.0
Meetup :: Update Elastic Stack 5.0
 
Git as NoSQL
Git as NoSQLGit as NoSQL
Git as NoSQL
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Sck Mobile Application Security
Sck Mobile Application SecuritySck Mobile Application Security
Sck Mobile Application Security
 
Automation test for Android
Automation test for AndroidAutomation test for Android
Automation test for Android
 
Secure Test-Driven Development
Secure Test-Driven DevelopmentSecure Test-Driven Development
Secure Test-Driven Development
 
Working with branch
Working with branchWorking with branch
Working with branch
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Shared code between projects

  • 1. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. การ Shared code ของ projects BKK.JS
  • 2. © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !2
  • 3. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !3
  • 4. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !4
  • 5. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !5 Line 1
  • 6. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !6 Line 1 Line 2
  • 7. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !7 Line 1 Line 2 Line 3
  • 8. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !8 Line 1 Line 2 Line 3 Line 4
  • 9. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !9 Line 1 Line 2 Line 3 Line 4 Line 5
  • 10. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !10 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6
  • 11. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !11 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 1
  • 12. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !12 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 1 Line 2
  • 13. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !13 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 1 Line 2 Line 3
  • 14. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !14
  • 15. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !15 Duplication code in GitHub !!
  • 16. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !16 https://www.theregister.co.uk/2017/11/21/github_duplicate_code/
  • 17. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !17 How to remove duplication ?
  • 18. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !18 Extract to somewhere !!
  • 19. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !19 New function New class New module
  • 20. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !20 New function New class New module New layer (utilities !!)
  • 21. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !21
  • 22. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !22 Use before Reuse
  • 23. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !23
  • 24. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !24 1. Testing 2. Document 3. Discoverable 4. Easy to use
  • 25. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !25 Use cases
  • 26. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !26 My Project
  • 27. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !27 My Project
  • 28. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !28 My Project
  • 29. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !29 My Project
  • 30. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !30 My Project
  • 31. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !31 My Project
  • 32. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !32 How to solve ?
  • 33. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !33 Fail 1 Common project, reference to project Common
  • 34. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !34 Fail 2 Use NPM package
  • 35. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !35 Difficult to use Difficult to organize Difficult to discover
  • 36. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !36 Dependency between packages How to change ?
  • 37. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !37
  • 38. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !38 Try to fail …
  • 39. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !39 Try to learn from fail …
  • 40. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !40 Try to improve
  • 41. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !41 Fail 3
  • 42. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !42 Lerna https://lerna.js.org/
  • 43. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !43 Single repository Multiple package.json Multiple build Multiple test
  • 44. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !44 Single repository Good for change and update But Difficult to discover
  • 45. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !45 Fail 4
  • 46. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !46
  • 47. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !47 Back to basic Common project, reference to project Common
  • 48. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !48 Back to basic Communication and collaboration
  • 49. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !49 Shared code is about people
  • 50. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !50 Try new way …
  • 51. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !51 https://bit.dev/
  • 52. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !52 https://bit.dev/primefaces/primereact/chart
  • 53. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !53
  • 54. Meetup © 2017 - 2018 Siam Chamnankit Company Limited. All rights reserved. !54