SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
How Opensource / Open
Technology could help on your
Project / Startup
wanleung - 19th Oct 2013
This talk is for Who?
● Newbie in the Open source world
● Startups
● For those who want to start a new software
project
● For those who want to work in the software
development field.
This talk is for Who?
For those, Who think writing Software is just a
piece of cake,
something like just clicking a button,
a Facebook clone or Whatsapp clone will be
come out
in 60 seconds
=P
(joking)
About Me
● Vice-Chairman of the HKLUG
● Over 10 years experience on Linux
● Experience on Backend services, website,
web API development
● Experience on virtualization and Cloud Farm
building
● http://about.me/wanleung
About Me
● Co-founder of LinkOmnia
● http://www.linkomnia.com
● Providing services on Consultancy and
Customized Products
● Strengths on Cloud Computing and Big Data
Why use Opensource?
● Free Licenses (MIT, Apache, LGPL...)
● Cost effective
● existing solutions / similar solutions - need
not to reinvent the wheel
● Have Rights to modify and fit into the
business models / the requirement of the
clients.
● Helps are all over the world
What can we use?
Database:
● (SQL) PostgreSQL, MySQL...
● (NoSQL) Redis, Cassandra, MongoDB...
● (Graph DB) neo4j, Rexster…
File base:
SQLite, BDB...
What can we use?
Common Web / API Frameworks:
● Dancer, Catalyst... (Perl)
● Django, Grok, Pylons, TurboGears...
(Python)
● Kohana, cakephp… (Php)
● Revel, go-restful... (Go lang)
● Ruby on Rails (Ruby)
● mojito, blueprint (node.js)
What can we use?
● Nginx, Apache, Tomcat (webserver, reverse
proxy)
● haproxy, pound (reverse proxy)
● squid (web proxy)
● ImageMagick, GIMP, OpenCV...(Image
Processing)
● RabbitMQ, ActiveMQ (Message Queue)
● Postfix, exim (Mail Server), dovecot (IMAP,
POP3)
What can we use?
● LibreOffice, KOffice, Abiwords, Numeric
(Office Tools)
● VSFTPD, ProFTPD (FTP Server)
Bootstrap (CSS), jQuery (Javascript), Prototype
(Javascript)
And More, and more...
What can we use?
●
●
●
●

Google is your good friend
Github is your good friend
Forums are also your good friends
Join the local Open source communities

Please Don’t hesitate to ask questions
And
Please Don’t hesitate to answer questions
How to use them Right?
What is the aim of the project?
What is the scope of the project?
How many time or stages to commit?
How many users you want to support on each
stage?
How to use them Right?
Does the product need servers?
Does the servers need high-availability?
How important of the data?
How frequent of the data update?
How frequent of the data request?
How large of the data set?
What is the relations between each data?
How many dimensions?
How to use them Right?
Think about the behavior of the user.
How many request and update on the user on
each time using?
Does the user accept the down time?
How long?
How to use them Right?
The user has to see the update “Instantly”.
The other users also have to see the update
“Instantly”.
What is the meaning of
“Instantly/Now/Present”?
Does it accept delay?
What will happen if the user saw an Error page
or waiting for the request for a long time?
How to use them Right?
Those questions you have to ask yourself
before you start your project.
Software is not totally virtual, Software is also
limited by the physical hardwares.
Different Answers will affect the use of
technology, tools, design, UX,

Development Time & Cost.
How to use them Right?
Security is Important. Do it first. It is hard to
change afterward.
Hacking is everywhere.
Don’t think small site won’t get attack.
Beware SQL injection, API/CGI injection
Use the Right security method, especially in
Password store and Password Recovering.
How to use them Right?
System Design: Think Large
But execute in small scope first.

Large system = many components
= complicate
= Time
= Money
How to use them Right?
Think Large = Prepared how to scale up
Start in small scope = few components
= Less code
= Less bug
= easy to fix
How to use them Right?
Less is More
Get feedback from users and change much
easier.
Time == Money
How to use them Right?
Database is not just a Data bin.
A good data structure
= better organise
= better indexing
= better performance
= faster
Repacation == High availability
Backup == Data Recovery
How to use them Right?
Web server:
Concurrency User
Connection Pool
Proxy
Cache
Message Queue
Deployment tools
Monitoring tools
How to use them Right?
●
●
●
●

Google is your good friend
Github is your good friend
Forums are also your good friends
Join the local Open source communities

Please Don’t hesitate to ask questions
And
Please Don’t hesitate to answer questions
Failure Example
Miss Hong Kong 2012 Voting System
Common Server Design
Common Server Design
Common Server Design
Common Server Design
Common Server Design
Q&A
Thanks.

Weitere ähnliche Inhalte

Mehr von Wan Leung Wong

用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop Application用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop ApplicationWan Leung Wong
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCodeWan Leung Wong
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAXWan Leung Wong
 
Package Management Systems on GNU/Linux
Package Management Systems on GNU/LinuxPackage Management Systems on GNU/Linux
Package Management Systems on GNU/LinuxWan Leung Wong
 
Tinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for EducationTinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for EducationWan Leung Wong
 
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015Wan Leung Wong
 
Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016Wan Leung Wong
 
Hacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutterHacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutterWan Leung Wong
 
What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018Wan Leung Wong
 
Hacking Saturday - 2018-05
Hacking Saturday - 2018-05Hacking Saturday - 2018-05
Hacking Saturday - 2018-05Wan Leung Wong
 
中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017Wan Leung Wong
 
Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017Wan Leung Wong
 
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Wan Leung Wong
 
Tinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for StudentTinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for StudentWan Leung Wong
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Wan Leung Wong
 
中文輸入法簡介、發展及困難
中文輸入法簡介、發展及困難中文輸入法簡介、發展及困難
中文輸入法簡介、發展及困難Wan Leung Wong
 

Mehr von Wan Leung Wong (18)

用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop Application用Flutter 開發Linux Desktop Application
用Flutter 開發Linux Desktop Application
 
iOS Development, with Swift and XCode
iOS Development, with Swift and XCodeiOS Development, with Swift and XCode
iOS Development, with Swift and XCode
 
HTML, Javascript and AJAX
HTML, Javascript and AJAXHTML, Javascript and AJAX
HTML, Javascript and AJAX
 
Package Management Systems on GNU/Linux
Package Management Systems on GNU/LinuxPackage Management Systems on GNU/Linux
Package Management Systems on GNU/Linux
 
Tinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for EducationTinyboy Project - A 3D Printer for Education
Tinyboy Project - A 3D Printer for Education
 
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
HKCOTA 海外見聞錄 - 思考香港IT未來發展 - HKOSCON 2015
 
Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016Ecosystem of IT Industry - Sitcon x HK - 2016
Ecosystem of IT Industry - Sitcon x HK - 2016
 
Hacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutterHacking Saturday 2018-05 - flutter
Hacking Saturday 2018-05 - flutter
 
What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018What is IT - Sitcoin x HK 2018
What is IT - Sitcoin x HK 2018
 
Hacking Saturday - 2018-05
Hacking Saturday - 2018-05Hacking Saturday - 2018-05
Hacking Saturday - 2018-05
 
中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017中國曆法 Barcamphk - 2017
中國曆法 Barcamphk - 2017
 
Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017Ecosystem of IT Industry - Sitcon x HK - 2017
Ecosystem of IT Industry - Sitcon x HK - 2017
 
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
Security Solution - Luckey Application on Crypto-currency and Personal Bankin...
 
Tinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for StudentTinyboy, A 3D Printer for Student
Tinyboy, A 3D Printer for Student
 
Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)Virtualization - Kernel Virtual Machine (KVM)
Virtualization - Kernel Virtual Machine (KVM)
 
DIY Gateway
DIY GatewayDIY Gateway
DIY Gateway
 
VM - Talk
VM - TalkVM - Talk
VM - Talk
 
中文輸入法簡介、發展及困難
中文輸入法簡介、發展及困難中文輸入法簡介、發展及困難
中文輸入法簡介、發展及困難
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

How open source / open technology could help on your project / startup

  • 1. How Opensource / Open Technology could help on your Project / Startup wanleung - 19th Oct 2013
  • 2. This talk is for Who? ● Newbie in the Open source world ● Startups ● For those who want to start a new software project ● For those who want to work in the software development field.
  • 3. This talk is for Who? For those, Who think writing Software is just a piece of cake, something like just clicking a button, a Facebook clone or Whatsapp clone will be come out in 60 seconds =P (joking)
  • 4. About Me ● Vice-Chairman of the HKLUG ● Over 10 years experience on Linux ● Experience on Backend services, website, web API development ● Experience on virtualization and Cloud Farm building ● http://about.me/wanleung
  • 5. About Me ● Co-founder of LinkOmnia ● http://www.linkomnia.com ● Providing services on Consultancy and Customized Products ● Strengths on Cloud Computing and Big Data
  • 6. Why use Opensource? ● Free Licenses (MIT, Apache, LGPL...) ● Cost effective ● existing solutions / similar solutions - need not to reinvent the wheel ● Have Rights to modify and fit into the business models / the requirement of the clients. ● Helps are all over the world
  • 7. What can we use? Database: ● (SQL) PostgreSQL, MySQL... ● (NoSQL) Redis, Cassandra, MongoDB... ● (Graph DB) neo4j, Rexster… File base: SQLite, BDB...
  • 8. What can we use? Common Web / API Frameworks: ● Dancer, Catalyst... (Perl) ● Django, Grok, Pylons, TurboGears... (Python) ● Kohana, cakephp… (Php) ● Revel, go-restful... (Go lang) ● Ruby on Rails (Ruby) ● mojito, blueprint (node.js)
  • 9. What can we use? ● Nginx, Apache, Tomcat (webserver, reverse proxy) ● haproxy, pound (reverse proxy) ● squid (web proxy) ● ImageMagick, GIMP, OpenCV...(Image Processing) ● RabbitMQ, ActiveMQ (Message Queue) ● Postfix, exim (Mail Server), dovecot (IMAP, POP3)
  • 10. What can we use? ● LibreOffice, KOffice, Abiwords, Numeric (Office Tools) ● VSFTPD, ProFTPD (FTP Server) Bootstrap (CSS), jQuery (Javascript), Prototype (Javascript) And More, and more...
  • 11. What can we use? ● ● ● ● Google is your good friend Github is your good friend Forums are also your good friends Join the local Open source communities Please Don’t hesitate to ask questions And Please Don’t hesitate to answer questions
  • 12. How to use them Right? What is the aim of the project? What is the scope of the project? How many time or stages to commit? How many users you want to support on each stage?
  • 13. How to use them Right? Does the product need servers? Does the servers need high-availability? How important of the data? How frequent of the data update? How frequent of the data request? How large of the data set? What is the relations between each data? How many dimensions?
  • 14. How to use them Right? Think about the behavior of the user. How many request and update on the user on each time using? Does the user accept the down time? How long?
  • 15. How to use them Right? The user has to see the update “Instantly”. The other users also have to see the update “Instantly”. What is the meaning of “Instantly/Now/Present”? Does it accept delay? What will happen if the user saw an Error page or waiting for the request for a long time?
  • 16. How to use them Right? Those questions you have to ask yourself before you start your project. Software is not totally virtual, Software is also limited by the physical hardwares. Different Answers will affect the use of technology, tools, design, UX, Development Time & Cost.
  • 17. How to use them Right? Security is Important. Do it first. It is hard to change afterward. Hacking is everywhere. Don’t think small site won’t get attack. Beware SQL injection, API/CGI injection Use the Right security method, especially in Password store and Password Recovering.
  • 18. How to use them Right? System Design: Think Large But execute in small scope first. Large system = many components = complicate = Time = Money
  • 19. How to use them Right? Think Large = Prepared how to scale up Start in small scope = few components = Less code = Less bug = easy to fix
  • 20. How to use them Right? Less is More Get feedback from users and change much easier. Time == Money
  • 21. How to use them Right? Database is not just a Data bin. A good data structure = better organise = better indexing = better performance = faster Repacation == High availability Backup == Data Recovery
  • 22. How to use them Right? Web server: Concurrency User Connection Pool Proxy Cache Message Queue Deployment tools Monitoring tools
  • 23. How to use them Right? ● ● ● ● Google is your good friend Github is your good friend Forums are also your good friends Join the local Open source communities Please Don’t hesitate to ask questions And Please Don’t hesitate to answer questions
  • 24. Failure Example Miss Hong Kong 2012 Voting System