programming for non-programmers · apps & applications ... • “document driven...
TRANSCRIPT
![Page 1: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/1.jpg)
Programming for non-Programmers!
Nick Moore Mnemote Pty Ltd!
![Page 2: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/2.jpg)
A whirlwind tour in three parts … 1. Architecture 2. Agility 3. Implementation
AGENDA! 2
![Page 3: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/3.jpg)
ARCHITECTURE!Programming for non-Programmers!
![Page 4: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/4.jpg)
4Architecture!
Very Fast … • Billions of cycles / sec
• Millions of bytes / sec
• Thousands of writes / sec
but very dumb
• Faces
• Voices
• Handwriting
• “Do What I Mean”
![Page 5: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/5.jpg)
5Architecture!
• Realistic targets • … from business plan • Minimum Viable Product
PERFORMANCE
![Page 6: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/6.jpg)
6Architecture!
• Source code is not an asset! • Divide and conquer
COMPONENTS
![Page 7: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/7.jpg)
7Architecture!
Front-end
Maps
Credit Cards
Back-end
Database Email
Message Queue
Offline
• Front / Back • Database • Message
Queue • External
Services
![Page 8: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/8.jpg)
8Architecture!
WEBSITES & WEBAPPS
• Static HTML • HTML Templates & Forms • HTML5 & AJAX • Single Page HTML5
![Page 9: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/9.jpg)
9Architecture!
APPS & APPLICATIONS
• Native Apps (iOS, Android, Windows Phone) • PC Applications (Windows, Mac, Linux) • Hybrid & Mixed Approaches
![Page 10: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/10.jpg)
DISCUSSION: Technologies!
10 Programming for non-Programmers!
![Page 11: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/11.jpg)
AGILITY!Programming for non-Programmers!
![Page 12: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/12.jpg)
12 Agility! AGILE MANIFESTO
• Individuals and Interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
![Page 13: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/13.jpg)
13 Agility!
The word “agile” has been subverted to the point where it is effectively meaningless
– Dave Thomas
AGILE DEVELOPMENT • Sprints • Phases • User Stories • Standup Meetings • Index Cards
![Page 14: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/14.jpg)
14 Agility!
AGILE DEVELOPMENT • Issue Tracking • Revision Control • Review • Culture
![Page 15: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/15.jpg)
15 Agility!
DOCUMENTATION • “Document Driven Development” • User Stories • Wireframes • Requirements • Specifications
![Page 16: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/16.jpg)
16 Agility!
TESTING & REGRESSIONS
• Automated Tools • Test Driven Development
![Page 17: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/17.jpg)
DISCUSSION: Projects!
17 INSERT CLASS TITLE!
![Page 18: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/18.jpg)
IMPLEMENTATION!Programming for non-Programmers!
![Page 19: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/19.jpg)
19 Implementation!
You can do
anything in any language. You can also eat soup with a knife
− Ville Vainio
• Operating System • Languages • Databases • Libraries
![Page 20: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/20.jpg)
20 Implementation!
FRAMEWORKS Python! Django, Tornado!
Ruby! Ruby on Rails!
Javascript! Node.js / Express, ASP …!
PHP! Laravel, …!
Java! Spring, JBoss, Grails, …!
![Page 21: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/21.jpg)
21 Implementation!
DATABASES
SQL: • MS-SQL • Postgres • MySQL • SQLite
NoSQL: • MongoDB • CouchDB • Cassandra • Redis
![Page 22: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/22.jpg)
22 Implementation!
AUTOMATION • Configuration Management
Puppet / Ansible / Chef
• Automate Everything
• Backups!
![Page 23: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/23.jpg)
Q&A!
23 Programming for non-Programmers!
![Page 24: Programming for non-Programmers · APPS & APPLICATIONS ... • “Document Driven Development” ... ! 16! TESTING & REGRESSIONS • Automated Tools • Test Driven Development. DISCUSSION:](https://reader033.vdocument.in/reader033/viewer/2022050603/5faaf161fa7c5526522bcf31/html5/thumbnails/24.jpg)
24 References / Contact!
p12: Agile Manifesto http://agilemanifesto.org/ p13: Dave Thomas, co-author of the Agile Manifesto:http://pragdave.me/blog/2014/03/04/time-to-kill-agile/ p18: Ville Vainio on /r/programming:http://reddit.com/r/programming/comments/29syhg/farewell_nodejs/cioaq3o Contact: Nick Moore [email protected] http://mnemote.com/ http://nick.zoic.org/