programming for non-programmers · apps & applications ... • “document driven...

Post on 11-Aug-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programming for non-Programmers!

Nick Moore Mnemote Pty Ltd!

A whirlwind tour in three parts … 1. Architecture 2. Agility 3. Implementation

AGENDA! 2

ARCHITECTURE!Programming for non-Programmers!

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”

5Architecture!

•  Realistic targets •  … from business plan •  Minimum Viable Product

PERFORMANCE

6Architecture!

•  Source code is not an asset! •  Divide and conquer

COMPONENTS

7Architecture!

Front-end

Maps

Credit Cards

Back-end

Database Email

Message Queue

Offline

•  Front / Back •  Database •  Message

Queue •  External

Services

8Architecture!

WEBSITES & WEBAPPS

•  Static HTML •  HTML Templates & Forms •  HTML5 & AJAX •  Single Page HTML5

9Architecture!

APPS & APPLICATIONS

•  Native Apps (iOS, Android, Windows Phone) •  PC Applications (Windows, Mac, Linux) •  Hybrid & Mixed Approaches

DISCUSSION: Technologies!

10 Programming for non-Programmers!

AGILITY!Programming for non-Programmers!

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

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

14 Agility!

AGILE DEVELOPMENT •  Issue Tracking •  Revision Control •  Review •  Culture

15 Agility!

DOCUMENTATION •  “Document Driven Development” •  User Stories •  Wireframes •  Requirements •  Specifications

16 Agility!

TESTING & REGRESSIONS

•  Automated Tools •  Test Driven Development

DISCUSSION: Projects!

17 INSERT CLASS TITLE!

IMPLEMENTATION!Programming for non-Programmers!

19 Implementation!

You can do

anything in any language. You can also eat soup with a knife

− Ville Vainio

•  Operating System •  Languages •  Databases •  Libraries

20 Implementation!

FRAMEWORKS Python! Django, Tornado!

Ruby! Ruby on Rails!

Javascript! Node.js / Express, ASP …!

PHP! Laravel, …!

Java! Spring, JBoss, Grails, …!

21 Implementation!

DATABASES

SQL: •  MS-SQL •  Postgres •  MySQL •  SQLite

NoSQL: •  MongoDB •  CouchDB •  Cassandra •  Redis

22 Implementation!

AUTOMATION •  Configuration Management

Puppet / Ansible / Chef

•  Automate Everything

•  Backups!

Q&A!

23 Programming for non-Programmers!

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 nick@mnemote.com http://mnemote.com/ http://nick.zoic.org/

top related