SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
How Opensource / Open
Technology could help on
your Project / Startup
wanleung - 19th Oct 2013
updated - 1st Mar 2014,12th Apr 2014
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 into 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
● Vice-President of HKCOTA
● 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
What is Open Source?
In production and development, open
source as a development model promotes
!
a) universal access via free license to a
product's design or blueprint, and
!
b) universal redistribution of that design or
blueprint, including subsequent
improvements to it by anyone.
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
What can we use?
• LibreOffice, KOffice, Abiwords,
Numeric(Office Tools)
• VSFTPD, ProFTPD (FTP Server)
!
Bootstrap (CSS), jQuery (Javascript),
Prototype (Javascript)
Git, JMeter…
!
And More, and more...
What can we use?
Arduino, Raspberry Pi… (open hardware)
!
AeroQuad (Multicoptor open source
project)
!
RepRap (open 3D Printing)…
!
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 behaviour 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 the user accept delay?
!
What will happen if the user saw an Error
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?
How to use them Right?
Source Code Version Controlling
- Git, SVN, CVS…
!
- Use branch on development
- Use branch on Testing
- Use Tag for Production
!
- Any Bug Fixing, use branch and merge
How to use them Right?
Example
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
Q & A
Thanks.

Más contenido relacionado

Similar a How Open Source / Open Technology Could Help On Your Project

Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the websebastian sastre
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …mortardata
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftChristian Heilmann
 
The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16Parth Lawate
 
Michael Widenius
Michael WideniusMichael Widenius
Michael WideniusCodeFest
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICTDSCUSICT
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slidesSameer Al-Sakran
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!Pradeep Singh
 
Contributing to an Open Source Project 101
Contributing to an Open Source Project 101Contributing to an Open Source Project 101
Contributing to an Open Source Project 101POSSCON
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changesJaewoo Ahn
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?Alex Meadows
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of FrontendJimit Shah
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyondimoneytech
 
The front end toolkit
The front end toolkitThe front end toolkit
The front end toolkitsamuel-holt
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Brian Brazil
 

Similar a How Open Source / Open Technology Could Help On Your Project (20)

Ice dec05-04-wan leung
Ice dec05-04-wan leungIce dec05-04-wan leung
Ice dec05-04-wan leung
 
Flow: A living full-stack framework for the web
Flow: A living full-stack framework for the webFlow: A living full-stack framework for the web
Flow: A living full-stack framework for the web
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
Mortar: Hadoop-as-a-Service + Open Source Framework | AWS re: Invent public …
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16The spirit of Opensource - lets plan to contribute ! @JWC16
The spirit of Opensource - lets plan to contribute ! @JWC16
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Contributing to an Open Source Project 101
Contributing to an Open Source Project 101Contributing to an Open Source Project 101
Contributing to an Open Source Project 101
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?
 
2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni2014 Picking a Platform by Anand Kulkarni
2014 Picking a Platform by Anand Kulkarni
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of Frontend
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
The front end toolkit
The front end toolkitThe front end toolkit
The front end toolkit
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
 

Más de 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
 
Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015Wan Leung Wong
 
Tinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for studentTinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for studentWan Leung Wong
 
Some cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent yearsSome cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent yearsWan 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
 

Más de Wan Leung Wong (20)

用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
 
Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015Tinyboy Updates on 1st quarter of 2015
Tinyboy Updates on 1st quarter of 2015
 
Tinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for studentTinyboy Project - A 3D printer for student
Tinyboy Project - A 3D printer for student
 
Some cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent yearsSome cases of open source products that have great impact in recent years
Some cases of open source products that have great impact in recent years
 
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
 
Raspberry pi workshop
Raspberry pi workshopRaspberry pi workshop
Raspberry pi workshop
 

Último

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Último (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

How Open Source / Open Technology Could Help On Your Project

  • 1. How Opensource / Open Technology could help on your Project / Startup wanleung - 19th Oct 2013 updated - 1st Mar 2014,12th Apr 2014
  • 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 into 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 ● Vice-President of HKCOTA ● 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. What is Open Source? In production and development, open source as a development model promotes ! a) universal access via free license to a product's design or blueprint, and ! b) universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.
  • 7. 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
  • 8. What can we use? Database: • (SQL) PostgreSQL, MySQL... • (NoSQL) Redis, Cassandra, MongoDB... • (Graph DB) neo4j, Rexster… ! File base: SQLite, BDB...
  • 9. 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)
  • 10. 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
  • 11. What can we use? • LibreOffice, KOffice, Abiwords, Numeric(Office Tools) • VSFTPD, ProFTPD (FTP Server) ! Bootstrap (CSS), jQuery (Javascript), Prototype (Javascript) Git, JMeter… ! And More, and more...
  • 12. What can we use? Arduino, Raspberry Pi… (open hardware) ! AeroQuad (Multicoptor open source project) ! RepRap (open 3D Printing)… ! And More, and more...
  • 13.
  • 14.
  • 15.
  • 16. 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
  • 17. 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?
  • 18. 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?
  • 19. How to use them Right? Think about the behaviour of the user. ! How many request and update on the user on each time using? ! Does the user accept the down time? How long?
  • 20. 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 the user accept delay? ! What will happen if the user saw an Error
  • 21. 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.
  • 22. 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.
  • 23. How to use them Right? System Design: Think Large But execute in small scope first. ! ! Large system = many components = complicate = Time = Money
  • 24. 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
  • 25. How to use them Right? Less is More ! Get feedback from users and change much easier. ! Time == Money
  • 26. 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
  • 27. How to use them Right? Web server: Concurrency User Connection Pool Proxy Cache Message Queue Deployment tools Monitoring tools
  • 28. How to use them Right?
  • 29. How to use them Right? Source Code Version Controlling - Git, SVN, CVS… ! - Use branch on development - Use branch on Testing - Use Tag for Production ! - Any Bug Fixing, use branch and merge
  • 30. How to use them Right? Example
  • 31. 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