SlideShare una empresa de Scribd logo
1 de 78
Descargar para leer sin conexión
THE

ARCHITECT
   WAY




                    Jan Jongboom
                      JSCamp.asia
     November 30, 2012, Singapore
@janjongboom
Program

•   Cloud9? 5 minute intro + what's new
•   Problems growing your codebase
•   Introducing: Architect!
•   Lessons learned
Normal developers
JavaScript Developer
OPPA
CLOUD9 STYLE
Smart code completion
Static analysis
Free Linux machine
Real terminal
Program

•   Cloud9? 5 minute intro + what's new
•   Problems growing your codebase
•   Introducing: Architect!
•   Lessons learned
Hundreds of thousands
 of lines of JavaScript


      (with semicolons ;-))
dynamic
weakly-typed
language
one single thread
Modularization
Black box coding
Great at abstracting away
Not that good at
app level abstraction
Relies on filesystem


•   Duplicated modules
•   Maps to folder / file name
•   Hard to configure
Dependency error handling

coding time   startup time    run time
                                             !
                                           OM
                                    - BO
                               KA

                             - Server crash
                             - Unhappy customers
                             - Developer gets fired
Program

•   Cloud9? 5 minute intro + what's new
•   Problems growing your codebase
•   Introducing: Architect!
•   Lessons learned
Architect


•   Every piece of functionality is a plugin
•   Plugins can consume other plugins
•   An application is a set of plugins
Require     Runtime


Architect   Startup time
Dependency error handling
              Architect style
coding time      compile time              run time




                                         - Happy customers
                                         - Developer keeps
                - Fails before release   job
Here’s what we do

•   Code representation of this talk
•   Get a speaker from the database
•   Talk, talk, talk
•   And end with a dance
Group functions
 by behavior
Datalayer




Presentation
Dependency model


Datalayer   Presentation
package.json

Builds dependency tree

 without
executing code
data-­‐layer/package.json




presentation/package.json
What’s next?

•   Extract the code
•   Wrap in Architect plugin code
    •   It’s simple!
•   Make two plugins
Function signature




Call when done
Architect plugin code


•   Options, will get to that

•   Imports, everything you consume

•   Register, invoke when done
Dependencies
      abstracted away

•   Easily unit testable
•   Mock dependencies
•   Assert ‘talk’ function is called 5 times
No black magic

•   Architect builds dependency model
•   Feed architect a list of plugins
    •   Simple array with file names
•   Call ‘createApp’
Configuration


•   Per-plugin options
•   No global options object
•   Specify in config file
Options

•   Automatically passed in at startup
•   Options are also dependencies
•   Fail if options aren’t present
    •   Use default assertions
Architect makes you think of
         your app as
   chunks of functionality
 rather than sets of classes
Think
‘chunks of functionality’
 •   Implicit type constraints
     •   Keep implementation private
 •   Swap feature implementations
     •   Rather than interface implementations
How do we use it?

•   Open source version
•   Hosted version
    •   Normal
    •   FTP
    •   SSH
Swap feature per
      implementation

•   On Open source: talk local filesystem
•   On FTP: talk FTP library
•   On SSH: log in and talk via a SSH bridge
HERE’S SOMETHING
      COOL
Centralized eventbus


•   Loose coupling between plugins
•   No hard dependencies!
•   Can also do inter-context communication
React on event
Other plugin




                                Eventbus




                                           Emit event
                                                        Plugin
And now scale up

•   Need something inter-server
•   Swap it with i.e. Redis PubSub
•   Plugins will never notice
•   Awesome!
Program

•   Cloud9? 5 minute intro + what's new
•   Problems growing your codebase
•   Introducing: Architect!
•   Lessons learned
Modularize in feature
      blocks

•   Don’t over engineer
•   Don’t create too small blocks
    •   They are no interfaces!
Avoid context switching

 •   Less code!
 •   Less errors!
 •   Less boilerplate!
Loose coupling


•   Eventbus
•   Smaller dependency graph
github.com/c9/architect
Happy coding!
http://c9.io


                      Jan Jongboom
           github.com/janjongboom
                    @janjongboom

Más contenido relacionado

La actualidad más candente

Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Devops and Immutable infrastructure  - Cloud Expo 2015 NYCDevops and Immutable infrastructure  - Cloud Expo 2015 NYC
Devops and Immutable infrastructure - Cloud Expo 2015 NYCJohn Willis
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Molliewillemstuursma
 
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio BranchesRafael Petry
 
Devops With Boxfuse and Shippable
Devops With Boxfuse and ShippableDevops With Boxfuse and Shippable
Devops With Boxfuse and ShippableAndrew Schwabe
 
DevOps For Solo Developers
DevOps For Solo DevelopersDevOps For Solo Developers
DevOps For Solo DevelopersJure Cuhalev
 
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...Manning Publications
 
Working Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams ProductiveWorking Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams ProductivePerforce
 
GitHub as a Landing Page
GitHub as a Landing Page GitHub as a Landing Page
GitHub as a Landing Page Pronovix
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape PlanPerforce
 
Accelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol developmentAccelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol developmentMicro Focus
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS BuildGian Maria Ricci
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPressMarko Heijnen
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media WorkflowMooYeol Lee
 
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for JenkinsPerfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for JenkinsPerforce
 
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperEffective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperMike Melusky
 

La actualidad más candente (20)

Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
 
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Devops and Immutable infrastructure  - Cloud Expo 2015 NYCDevops and Immutable infrastructure  - Cloud Expo 2015 NYC
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
 
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio Branches
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Devops With Boxfuse and Shippable
Devops With Boxfuse and ShippableDevops With Boxfuse and Shippable
Devops With Boxfuse and Shippable
 
DevOps For Solo Developers
DevOps For Solo DevelopersDevOps For Solo Developers
DevOps For Solo Developers
 
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...
 
Working Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams ProductiveWorking Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams Productive
 
GitHub as a Landing Page
GitHub as a Landing Page GitHub as a Landing Page
GitHub as a Landing Page
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
 
Accelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol developmentAccelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol development
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Zend Code in ZF 2.0
Zend Code in ZF 2.0Zend Code in ZF 2.0
Zend Code in ZF 2.0
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
JustLetMeCode-Final
JustLetMeCode-FinalJustLetMeCode-Final
JustLetMeCode-Final
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
 
Serverless Media Workflow
Serverless Media WorkflowServerless Media Workflow
Serverless Media Workflow
 
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for JenkinsPerfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
 
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and DapperEffective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
 

Destacado

Career Development for Architects
Career Development for ArchitectsCareer Development for Architects
Career Development for ArchitectsKevin Francis
 
BY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSINGBY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSINGDhanya Pravin
 
The New Role of the architect - central to growing your business in todays di...
The New Role of the architect - central to growing your business in todays di...The New Role of the architect - central to growing your business in todays di...
The New Role of the architect - central to growing your business in todays di...Gunnar Menzel
 
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
VDV 45x oder Google? / Neue Schnittstellen für den DatenaustauschVDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
VDV 45x oder Google? / Neue Schnittstellen für den DatenaustauschTobias Frommenwiler
 
Midiakit 2010
Midiakit 2010Midiakit 2010
Midiakit 2010ElogieAki
 
Operación realizada por el Dr. Ramiro Yane Mana
Operación realizada por el Dr. Ramiro Yane ManaOperación realizada por el Dr. Ramiro Yane Mana
Operación realizada por el Dr. Ramiro Yane ManaRamiro Yane Mana
 
Crowdfunding für Naturfilme? (Green Screen 2011)
Crowdfunding für Naturfilme? (Green Screen 2011)Crowdfunding für Naturfilme? (Green Screen 2011)
Crowdfunding für Naturfilme? (Green Screen 2011)Wolfgang Gumpelmaier-Mach
 
Real decreto-1424-servicios-en-el-hogar
Real decreto-1424-servicios-en-el-hogarReal decreto-1424-servicios-en-el-hogar
Real decreto-1424-servicios-en-el-hogarLinax Linux Axarquía
 
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
E:\Ch     Power Point Presentations\Chapter One     Jesus Christ And The Foun...E:\Ch     Power Point Presentations\Chapter One     Jesus Christ And The Foun...
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...Matt Russick
 
Reportuiteo: presentación en Foro Unirede
Reportuiteo: presentación en Foro UniredeReportuiteo: presentación en Foro Unirede
Reportuiteo: presentación en Foro UniredeLaura Camino
 
Seminario análisis forense - quién se ha llevado mi archivo
Seminario análisis forense  - quién se ha llevado mi archivoSeminario análisis forense  - quién se ha llevado mi archivo
Seminario análisis forense - quién se ha llevado mi archivoINCIDE
 
EcoVadis presentation ES_2016
EcoVadis presentation ES_2016EcoVadis presentation ES_2016
EcoVadis presentation ES_2016achagnon
 
Diego Jaramillo, CEO de FHIOS en Academia Inbound
Diego Jaramillo, CEO de FHIOS en Academia InboundDiego Jaramillo, CEO de FHIOS en Academia Inbound
Diego Jaramillo, CEO de FHIOS en Academia InboundHiperestrategia
 
Configurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual BasicConfigurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual BasicUNACAR
 
PSA Group : 9 strategic issues for a sustainable development
PSA Group : 9 strategic issues for a sustainable developmentPSA Group : 9 strategic issues for a sustainable development
PSA Group : 9 strategic issues for a sustainable developmentGroupe PSA
 
Wanna Be An Architect?
Wanna Be An  Architect?Wanna Be An  Architect?
Wanna Be An Architect?Henry Jacob
 

Destacado (20)

Career Development for Architects
Career Development for ArchitectsCareer Development for Architects
Career Development for Architects
 
BY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSINGBY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSING
 
The New Role of the architect - central to growing your business in todays di...
The New Role of the architect - central to growing your business in todays di...The New Role of the architect - central to growing your business in todays di...
The New Role of the architect - central to growing your business in todays di...
 
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
VDV 45x oder Google? / Neue Schnittstellen für den DatenaustauschVDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
 
Midiakit 2010
Midiakit 2010Midiakit 2010
Midiakit 2010
 
Operación realizada por el Dr. Ramiro Yane Mana
Operación realizada por el Dr. Ramiro Yane ManaOperación realizada por el Dr. Ramiro Yane Mana
Operación realizada por el Dr. Ramiro Yane Mana
 
Crowdfunding für Naturfilme? (Green Screen 2011)
Crowdfunding für Naturfilme? (Green Screen 2011)Crowdfunding für Naturfilme? (Green Screen 2011)
Crowdfunding für Naturfilme? (Green Screen 2011)
 
06 calidad optica
06  calidad optica06  calidad optica
06 calidad optica
 
Menor amendment
Menor amendmentMenor amendment
Menor amendment
 
Real decreto-1424-servicios-en-el-hogar
Real decreto-1424-servicios-en-el-hogarReal decreto-1424-servicios-en-el-hogar
Real decreto-1424-servicios-en-el-hogar
 
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
E:\Ch     Power Point Presentations\Chapter One     Jesus Christ And The Foun...E:\Ch     Power Point Presentations\Chapter One     Jesus Christ And The Foun...
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Uso racional de Antibioticos
Uso racional de AntibioticosUso racional de Antibioticos
Uso racional de Antibioticos
 
Reportuiteo: presentación en Foro Unirede
Reportuiteo: presentación en Foro UniredeReportuiteo: presentación en Foro Unirede
Reportuiteo: presentación en Foro Unirede
 
Seminario análisis forense - quién se ha llevado mi archivo
Seminario análisis forense  - quién se ha llevado mi archivoSeminario análisis forense  - quién se ha llevado mi archivo
Seminario análisis forense - quién se ha llevado mi archivo
 
EcoVadis presentation ES_2016
EcoVadis presentation ES_2016EcoVadis presentation ES_2016
EcoVadis presentation ES_2016
 
Diego Jaramillo, CEO de FHIOS en Academia Inbound
Diego Jaramillo, CEO de FHIOS en Academia InboundDiego Jaramillo, CEO de FHIOS en Academia Inbound
Diego Jaramillo, CEO de FHIOS en Academia Inbound
 
Configurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual BasicConfigurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual Basic
 
PSA Group : 9 strategic issues for a sustainable development
PSA Group : 9 strategic issues for a sustainable developmentPSA Group : 9 strategic issues for a sustainable development
PSA Group : 9 strategic issues for a sustainable development
 
Wanna Be An Architect?
Wanna Be An  Architect?Wanna Be An  Architect?
Wanna Be An Architect?
 

Similar a The Architect Way - JSCamp.asia 2012

Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET Dmytro Mindra
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadSoftware Guru
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
 
What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOpsRicard Clau
 
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)Yan Cui
 
Ruby in office time reboot
Ruby in office time rebootRuby in office time reboot
Ruby in office time rebootKentaro Goto
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSAWS Vietnam Community
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHPJohn Coggeshall
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Phil Leggetter
 
Writing Services with ZF2
Writing Services with ZF2Writing Services with ZF2
Writing Services with ZF2Mike Willbanks
 
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerServerless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerLuca Bianchi
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Eramartinlippert
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware ProgrammingPostSharp Technologies
 

Similar a The Architect Way - JSCamp.asia 2012 (20)

The Architect Way
The Architect WayThe Architect Way
The Architect Way
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 
What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
 
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)
 
The Three Musketeers
The Three MusketeersThe Three Musketeers
The Three Musketeers
 
Ruby in office time reboot
Ruby in office time rebootRuby in office time reboot
Ruby in office time reboot
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
 
Writing Services with ZF2
Writing Services with ZF2Writing Services with ZF2
Writing Services with ZF2
 
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerServerless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL Shortener
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
 

Más de Jan Jongboom

TinyML on Arduino - workshop
TinyML on Arduino - workshopTinyML on Arduino - workshop
TinyML on Arduino - workshopJan Jongboom
 
Intelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applicationsIntelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applicationsJan Jongboom
 
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinarTeaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinarJan Jongboom
 
Get started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conferenceGet started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conferenceJan Jongboom
 
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceAdding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceJan Jongboom
 
Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020Jan Jongboom
 
Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020Jan Jongboom
 
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Jan Jongboom
 
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tourAdding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tourJan Jongboom
 
Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019Jan Jongboom
 
Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019Jan Jongboom
 
17,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 201917,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 2019Jan Jongboom
 
Open Hours: Mbed Simulator
Open Hours: Mbed SimulatorOpen Hours: Mbed Simulator
Open Hours: Mbed SimulatorJan Jongboom
 
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OSEfficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OSJan Jongboom
 
Machine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev SummitMachine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev SummitJan Jongboom
 
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019Jan Jongboom
 
Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019Jan Jongboom
 
Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019Jan Jongboom
 
Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019Jan Jongboom
 
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM TokyoMbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM TokyoJan Jongboom
 

Más de Jan Jongboom (20)

TinyML on Arduino - workshop
TinyML on Arduino - workshopTinyML on Arduino - workshop
TinyML on Arduino - workshop
 
Intelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applicationsIntelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applications
 
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinarTeaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
 
Get started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conferenceGet started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conference
 
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual ConferenceAdding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
 
Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020
 
Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020
 
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
 
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tourAdding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
 
Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019
 
Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019
 
17,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 201917,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 2019
 
Open Hours: Mbed Simulator
Open Hours: Mbed SimulatorOpen Hours: Mbed Simulator
Open Hours: Mbed Simulator
 
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OSEfficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
 
Machine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev SummitMachine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev Summit
 
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
 
Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019
 
Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019
 
Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019
 
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM TokyoMbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
 

The Architect Way - JSCamp.asia 2012