SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Django for Internet of Things:
from hackathon
to production
Anna Schneider
DjangoCon US, 18 July 2016
@windupanna
I’m Anna :)
Co-founder and CTO at WattTime
WattTime.org @wattTime
UnconsciousBiasProject.org @UBP_STEM
what??
Django for Internet of Things:
from hackathon
to production
everyone’s favorite framework
🎸🐍
Django
Internet of Things (IoT)
when a thing you don’t normally think of as a computer
can transmit data and respond to controls in real time
🏡🚗 📡🎮⏰
some people like to write the code on the thing,
I like to talk to things through their APIs
Internet of Things (IoT)
☁️ 🚗☁️you them the thing
a really fun way to write
really fragile code really quickly
hackathon
💻☕️ 👏⚠️
when you can ship your code and trust it
while you’re having fun at DjangoCon
production
💻 🍎 🚢 😎
design patterns (and anti-patterns)
for writing and deploying Django projects
to monitor and control an IoT device using its API
so you can get started fast then build well
what you’ll learn
☕️ 🚢
😱
python manage.py startproject awesome_iot_hackathon
💻☕️ 👏⚠️
models!
the books app
Book
title
author
year
Book
title
author
year
Author
name
hometown
Book
title
author
year
Book
title
author
year
Author
name
hometown
Author
name
hometown
the books IoT app
Observation
value
device
timestamp
Device
name
location
Device
name
location
Device
name
location
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
the IoT app
Device
name
location
vendor ID
Device
name
location
vendor ID
Device
name
location
vendor ID
☕️ 🚢
vendor’s unique ID(s)
whatever data you need
to send to their API
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
the IoT app
plan for big(gish)
time series data
eg use db_index
🚢
Device
name
location
vendor ID
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Device
name
location
vendor ID
Device
name
location
vendor ID
the IoT app
Attribute vs Status
numerical vs str/bool
values
Observation
value
device
timestamp
Device
name
location
vendor ID
Observation
value
device
timestamp
Observation
value
device
timestamp
Attribute
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Attribute
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Attribute
value
device
timestamp
Device
name
location
vendor ID
Device
name
location
vendor ID
Observation
value
device
timestamp
Observation
value
device
timestamp
Observation
value
device
timestamp
Status
is_on
device
timestamp
☕️ 🚢
views?
models
views? tasks!
☁️ 🚗☁️you them the thing
request
response
☁️ 💻you them
request
response
normal
views
IoT
tasks
what tasks do we need to do?
pull new attributes
pull new on/off statuses
set attributes
set on/off statuses
monitor control
tasks.py
def do_something_awesome(device):
# decide to turn on or off
is_on = run_decision_criterion()
# set status using device API
set_status(device, is_on)
# create status in db
status = device.status_set.create(
is_on=is_on,
valid_at=timezone.now(),
)
# return
return status
☕️
the awesome part
tasks.py
def do_something_awesome(device):
# decide to turn on or off
is_on = run_decision_criterion()
# set status using device API
set_status(device, is_on)
# create status in db
status = device.status_set.create(
is_on=is_on,
valid_at=timezone.now(),
)
# return
return status
🚢
bad for asynchronous
😱
tasks.py
def do_something_awesome(device_id):
# get device from pk
device = Device.objects.get(
pk=device_id
)
# decide to turn on or off
is_on = run_decision_criterion()
# set status using device API
set_status(device, is_on)
# create status in db
status = device.status_set.create(
is_on=is_on,
valid_at=timezone.now(),
)
# return
return [status.pk]
pass pks
pro: don’t rely on database state
con: may be extra queries
🚢
put it together!
models
tasks
the hackathon app
myapp
models.py
Device
Attribute
Status
tasks.py
pull_status
set_status
pull_attributes
set_attributes
client.py
admin.py
views.py
tests.py
☕️
the production apps
devices
models.py
admin.py
views.py
tests.py
interactions
tasks.py
views.py
tests.py
vendor
client.py
tests.py
observations
models.py
admin.py
views.py
tests.py
views for
adding/removing devices
analytics,
DRF for dashboards
models for logging,
views for clickable tasks
swappable
vendors
🚢
deploy!
models
tasks
apps
deploy tasks?
goals:
• run any task (control or monitor)
• at frequent, deterministic times
• outside of request/response cycle
cron in the cloud
1) the hackathon way
two ways to automate
management commands + Heroku Scheduler
☕️
python manage.py do_something_awesome --device_id=1
Heroku Scheduler
pros:
• easy to set up
cons:
• limited frequencies
(daily, hourly, 10 min)
• “best effort” service
(may skip some)
☕️
2) the production way
task functions + celery periodic task scheduler
🚢
two ways to automate
Celery
distributed message queuing system for asynchronous stuff
slow event-driven tasks
send the user sign-up email
scheduled periodic tasks
run the daily report
🚢
web servers
Celery architecture (how)
tasks
tasks
worker servers
messages results result store
message broker
transport queue
messages
tasks
scheduler
🚢
Celery architecture (how)
scheduler
do_awesome do_awesome
worker
status.pk
☁️
turn on
on!
Status(is_on=True)
🚢
from celery import shared_task
@shared_task
def set_status(device_id):
...
@shared_task
def do_something_awesome(device_id):
...
just add decorator :)
tasks.py
🚢
(what)
from celery.schedules import crontab
SCHEDULE = {
'run_task': {
# use the actual path
'task': ‘do_something_awesome’,
# every 5 minutes
'schedule': crontab(minute='*/5'),
# args and kwargs
'args': [],
'kwargs': {},
},
}
very close to crontab
once per minute - once per year
schedule.py
🚢
(when)
from celery.schedules import crontab
SCHEDULE = {
'run_task': {
# use the actual path
'task': ‘do_something_awesome’,
# every 5 minutes
'schedule': crontab(minute='*/5'),
# args and kwargs
'args': [],
'kwargs': {'device_id': d.pk},
} for d in Device.objects.all()
}
schedule.py
🚢
static arguments only
code is only evaluated once at run time,
better to have one task spawn daughters
(when)
😱
from celery.schedules import crontab
SCHEDULE = {
'run_task': {
# use the actual path
'task': ‘run_all',
# every 5 minutes
'schedule': crontab(minute='*/5'),
# args and kwargs
'args': [],
'kwargs': {},
}
}
@shared_task
def run_all():
for d in Device.objects.all():
do_something_awesome(d.pk)
schedule.py
🚢
static arguments only
code is only evaluated once at run time,
better to have one task spawn daughters
(when)
production, Celerified
devices
models.py
admin.py
views.py
tests.py
interactions
tasks.py
schedule.py
views.py
tests.py
brand
client.py
tests.py
observations
models.py
admin.py
views.py
tests.py
🚢
django_iot
__init__.py
celery.py
settings.py
wsgi.py
urls.py
django_iot
Procfile
requirements.txt
manage.py
cookiecutter https://github.com/aschn/cookiecutter-django-iot.git
☕️ 🚢
• think time series data: mind your models
• async not request/response: tasks not views
• ☕️ easy but rigid: Heroku Scheduler
• 🚢 flexible but complex: celery periodic tasks
• hack better+faster: cookiecutter-django-iot
• IoT can be for good, not just for fun and profit
what have we learned?
Thanks!!
Anna Schneider
@windupanna
@wattTime
cookiecutter https://github.com/aschn/cookiecutter-django-iot.git

Weitere ähnliche Inhalte

Was ist angesagt?

Service Worker - Reliability bits
Service Worker - Reliability bitsService Worker - Reliability bits
Service Worker - Reliability bitsjungkees
 
Service workers
Service workersService workers
Service workersjungkees
 
Service worker: discover the next web game changer
Service worker: discover the next web game changerService worker: discover the next web game changer
Service worker: discover the next web game changerSandro Paganotti
 
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job QueueTask Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job QueueSam Hennessy
 
優しいWAFの作り方
優しいWAFの作り方優しいWAFの作り方
優しいWAFの作り方techmemo
 
Actor Clustering with Docker Containers and Akka.Net in F#
Actor Clustering with Docker Containers and Akka.Net in F#Actor Clustering with Docker Containers and Akka.Net in F#
Actor Clustering with Docker Containers and Akka.Net in F#Riccardo Terrell
 
Automated Testing in EmberJS
Automated Testing in EmberJSAutomated Testing in EmberJS
Automated Testing in EmberJSBen Limmer
 
Analysing in depth work manager
Analysing in depth work managerAnalysing in depth work manager
Analysing in depth work managerbhatnagar.gaurav83
 
Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptŁukasz Kużyński
 
Avoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promisesAvoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promisesAnkit Agarwal
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projectsIgnacio Martín
 
Back to the futures, actors and pipes: using Akka for large-scale data migration
Back to the futures, actors and pipes: using Akka for large-scale data migrationBack to the futures, actors and pipes: using Akka for large-scale data migration
Back to the futures, actors and pipes: using Akka for large-scale data migrationManuel Bernhardt
 
3 things you must know to think reactive - Geecon Kraków 2015
3 things you must know to think reactive - Geecon Kraków 20153 things you must know to think reactive - Geecon Kraków 2015
3 things you must know to think reactive - Geecon Kraków 2015Manuel Bernhardt
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
 
Ember testing internals with ember cli
Ember testing internals with ember cliEmber testing internals with ember cli
Ember testing internals with ember cliCory Forsyth
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsPiotr Pelczar
 

Was ist angesagt? (20)

Service Worker - Reliability bits
Service Worker - Reliability bitsService Worker - Reliability bits
Service Worker - Reliability bits
 
Reduxing like a pro
Reduxing like a proReduxing like a pro
Reduxing like a pro
 
Service workers
Service workersService workers
Service workers
 
Service worker: discover the next web game changer
Service worker: discover the next web game changerService worker: discover the next web game changer
Service worker: discover the next web game changer
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job QueueTask Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
 
優しいWAFの作り方
優しいWAFの作り方優しいWAFの作り方
優しいWAFの作り方
 
Actor Clustering with Docker Containers and Akka.Net in F#
Actor Clustering with Docker Containers and Akka.Net in F#Actor Clustering with Docker Containers and Akka.Net in F#
Actor Clustering with Docker Containers and Akka.Net in F#
 
Automated Testing in EmberJS
Automated Testing in EmberJSAutomated Testing in EmberJS
Automated Testing in EmberJS
 
Workmanager PPTX
Workmanager PPTXWorkmanager PPTX
Workmanager PPTX
 
Analysing in depth work manager
Analysing in depth work managerAnalysing in depth work manager
Analysing in depth work manager
 
Callbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascriptCallbacks, promises, generators - asynchronous javascript
Callbacks, promises, generators - asynchronous javascript
 
Promise pattern
Promise patternPromise pattern
Promise pattern
 
Avoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promisesAvoiding callback hell in Node js using promises
Avoiding callback hell in Node js using promises
 
Integrating React.js with PHP projects
Integrating React.js with PHP projectsIntegrating React.js with PHP projects
Integrating React.js with PHP projects
 
Back to the futures, actors and pipes: using Akka for large-scale data migration
Back to the futures, actors and pipes: using Akka for large-scale data migrationBack to the futures, actors and pipes: using Akka for large-scale data migration
Back to the futures, actors and pipes: using Akka for large-scale data migration
 
3 things you must know to think reactive - Geecon Kraków 2015
3 things you must know to think reactive - Geecon Kraków 20153 things you must know to think reactive - Geecon Kraków 2015
3 things you must know to think reactive - Geecon Kraków 2015
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with Karma
 
Ember testing internals with ember cli
Ember testing internals with ember cliEmber testing internals with ember cli
Ember testing internals with ember cli
 
Asynchronous programming done right - Node.js
Asynchronous programming done right - Node.jsAsynchronous programming done right - Node.js
Asynchronous programming done right - Node.js
 

Andere mochten auch

Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
Async Tasks with Django Channels
Async Tasks with Django ChannelsAsync Tasks with Django Channels
Async Tasks with Django ChannelsAlbert O'Connor
 
Django channels
Django channelsDjango channels
Django channelsAndy Dai
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django ArchitectureRami Sayar
 
12 tips on Django Best Practices
12 tips on Django Best Practices12 tips on Django Best Practices
12 tips on Django Best PracticesDavid Arcos
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecturepostrational
 
Internet of Things and Big Data: Vision and Concrete Use Cases
Internet of Things and Big Data: Vision and Concrete Use CasesInternet of Things and Big Data: Vision and Concrete Use Cases
Internet of Things and Big Data: Vision and Concrete Use CasesMongoDB
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 
Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and DjangoMichael Pirnat
 

Andere mochten auch (10)

Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
Async Tasks with Django Channels
Async Tasks with Django ChannelsAsync Tasks with Django Channels
Async Tasks with Django Channels
 
Django Celery
Django Celery Django Celery
Django Celery
 
Django channels
Django channelsDjango channels
Django channels
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
12 tips on Django Best Practices
12 tips on Django Best Practices12 tips on Django Best Practices
12 tips on Django Best Practices
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
Internet of Things and Big Data: Vision and Concrete Use Cases
Internet of Things and Big Data: Vision and Concrete Use CasesInternet of Things and Big Data: Vision and Concrete Use Cases
Internet of Things and Big Data: Vision and Concrete Use Cases
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 
Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and Django
 

Ähnlich wie Django for IoT: From hackathon to production (DjangoCon US)

Angularjs - Unit testing introduction
Angularjs - Unit testing introductionAngularjs - Unit testing introduction
Angularjs - Unit testing introductionNir Kaufman
 
Seven Peaks Speaks - Compose Screenshot Testing Made Easy
Seven Peaks Speaks - Compose Screenshot Testing Made EasySeven Peaks Speaks - Compose Screenshot Testing Made Easy
Seven Peaks Speaks - Compose Screenshot Testing Made EasySeven Peaks Speaks
 
Django deployment best practices
Django deployment best practicesDjango deployment best practices
Django deployment best practicesErik LaBianca
 
Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Davide Cerbo
 
Non Conventional Android Programming En
Non Conventional Android Programming EnNon Conventional Android Programming En
Non Conventional Android Programming Enguest9bcef2f
 
Future of Development and Deployment using Docker
Future of Development and Deployment using DockerFuture of Development and Deployment using Docker
Future of Development and Deployment using DockerTamer Abdul-Radi
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php PresentationAlan Pinstein
 
Behind the curtain - How Django handles a request
Behind the curtain - How Django handles a requestBehind the curtain - How Django handles a request
Behind the curtain - How Django handles a requestDaniel Hepper
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementWidoyo PH
 
Construire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleConstruire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleThierry Wasylczenko
 
Incredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and GeneratorsIncredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and Generatorsdantleech
 
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)andrewnacin
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxbobmcwhirter
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gearsdion
 
Tasks: you gotta know how to run them
Tasks: you gotta know how to run themTasks: you gotta know how to run them
Tasks: you gotta know how to run themFilipe Ximenes
 

Ähnlich wie Django for IoT: From hackathon to production (DjangoCon US) (20)

Having Fun with Play
Having Fun with PlayHaving Fun with Play
Having Fun with Play
 
Angularjs - Unit testing introduction
Angularjs - Unit testing introductionAngularjs - Unit testing introduction
Angularjs - Unit testing introduction
 
Seven Peaks Speaks - Compose Screenshot Testing Made Easy
Seven Peaks Speaks - Compose Screenshot Testing Made EasySeven Peaks Speaks - Compose Screenshot Testing Made Easy
Seven Peaks Speaks - Compose Screenshot Testing Made Easy
 
Django deployment best practices
Django deployment best practicesDjango deployment best practices
Django deployment best practices
 
Practical Celery
Practical CeleryPractical Celery
Practical Celery
 
Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Non Conventional Android Programming (English)
Non Conventional Android Programming (English)
 
Non Conventional Android Programming En
Non Conventional Android Programming EnNon Conventional Android Programming En
Non Conventional Android Programming En
 
Future of Development and Deployment using Docker
Future of Development and Deployment using DockerFuture of Development and Deployment using Docker
Future of Development and Deployment using Docker
 
Django tricks (2)
Django tricks (2)Django tricks (2)
Django tricks (2)
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
 
Behind the curtain - How Django handles a request
Behind the curtain - How Django handles a requestBehind the curtain - How Django handles a request
Behind the curtain - How Django handles a request
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Construire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradleConstruire une application JavaFX 8 avec gradle
Construire une application JavaFX 8 avec gradle
 
Incredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and GeneratorsIncredible Machine with Pipelines and Generators
Incredible Machine with Pipelines and Generators
 
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
 
Kubernetes debug like a pro
Kubernetes debug like a proKubernetes debug like a pro
Kubernetes debug like a pro
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
 
Future of Web Apps: Google Gears
Future of Web Apps: Google GearsFuture of Web Apps: Google Gears
Future of Web Apps: Google Gears
 
Tasks: you gotta know how to run them
Tasks: you gotta know how to run themTasks: you gotta know how to run them
Tasks: you gotta know how to run them
 

Kürzlich hochgeladen

UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 

Kürzlich hochgeladen (20)

UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 

Django for IoT: From hackathon to production (DjangoCon US)