Suche senden
Hochladen
Tradeoffs of replacing core components
•
0 gefällt mir
•
1,081 views
Andy Dai
Folgen
Technologie
Unterhaltung & Humor
Melden
Teilen
Melden
Teilen
1 von 33
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
fmp experiments 2
fmp experiments 2
alfiehorwell
Replacing Laptop Harddrive
Replacing Laptop Harddrive
Electro Computer Warehouse
Upgrading the Computer Component
Upgrading the Computer Component
Perla Pelicano Corpez
Creating peer to peer network nadia perandos bisnar
Creating peer to peer network nadia perandos bisnar
Perla Pelicano Corpez
27. nature of directing
27. nature of directing
Perla Pelicano Corpez
Ang Kolonyalismo at Imperyalismo sa Timog at Kanlurang Asya
Ang Kolonyalismo at Imperyalismo sa Timog at Kanlurang Asya
Vanessa Marie Matutes
K to 12 PC Hardware Servicing Learning Module
K to 12 PC Hardware Servicing Learning Module
Dr. Joy Kenneth Sala Biasong
Kolonyalismo at imperyalismo sa silangan at timog silangang asya
Kolonyalismo at imperyalismo sa silangan at timog silangang asya
Jared Ram Juezan
Empfohlen
fmp experiments 2
fmp experiments 2
alfiehorwell
Replacing Laptop Harddrive
Replacing Laptop Harddrive
Electro Computer Warehouse
Upgrading the Computer Component
Upgrading the Computer Component
Perla Pelicano Corpez
Creating peer to peer network nadia perandos bisnar
Creating peer to peer network nadia perandos bisnar
Perla Pelicano Corpez
27. nature of directing
27. nature of directing
Perla Pelicano Corpez
Ang Kolonyalismo at Imperyalismo sa Timog at Kanlurang Asya
Ang Kolonyalismo at Imperyalismo sa Timog at Kanlurang Asya
Vanessa Marie Matutes
K to 12 PC Hardware Servicing Learning Module
K to 12 PC Hardware Servicing Learning Module
Dr. Joy Kenneth Sala Biasong
Kolonyalismo at imperyalismo sa silangan at timog silangang asya
Kolonyalismo at imperyalismo sa silangan at timog silangang asya
Jared Ram Juezan
Grpc + python.key
Grpc + python.key
Andy Dai
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
Power UP your CLI
Power UP your CLI
Andy Dai
Search search search
Search search search
Andy Dai
Django channels
Django channels
Andy Dai
Django Third party packages
Django Third party packages
Andy Dai
Practical django secuirty
Practical django secuirty
Andy Dai
總之來講講 Search
總之來講講 Search
Andy Dai
Python web meetup 11 18
Python web meetup 11 18
Andy Dai
Django in heavy load environment
Django in heavy load environment
Andy Dai
電腦不只會幫你選土豆,還會幫你選新聞
電腦不只會幫你選土豆,還會幫你選新聞
Andy Dai
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
Andy Dai
ElastiCache
ElastiCache
Andy Dai
Dynamo db
Dynamo db
Andy Dai
Django deploy
Django deploy
Andy Dai
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
Andy Dai
Boost your django admin with Grappelli
Boost your django admin with Grappelli
Andy Dai
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
Weitere ähnliche Inhalte
Mehr von Andy Dai
Grpc + python.key
Grpc + python.key
Andy Dai
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Andy Dai
Power UP your CLI
Power UP your CLI
Andy Dai
Search search search
Search search search
Andy Dai
Django channels
Django channels
Andy Dai
Django Third party packages
Django Third party packages
Andy Dai
Practical django secuirty
Practical django secuirty
Andy Dai
總之來講講 Search
總之來講講 Search
Andy Dai
Python web meetup 11 18
Python web meetup 11 18
Andy Dai
Django in heavy load environment
Django in heavy load environment
Andy Dai
電腦不只會幫你選土豆,還會幫你選新聞
電腦不只會幫你選土豆,還會幫你選新聞
Andy Dai
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
Andy Dai
ElastiCache
ElastiCache
Andy Dai
Dynamo db
Dynamo db
Andy Dai
Django deploy
Django deploy
Andy Dai
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
Andy Dai
Boost your django admin with Grappelli
Boost your django admin with Grappelli
Andy Dai
Mehr von Andy Dai
(17)
Grpc + python.key
Grpc + python.key
該怎麼樣(認真的)部署你的 Python Web 應用程式?
該怎麼樣(認真的)部署你的 Python Web 應用程式?
Power UP your CLI
Power UP your CLI
Search search search
Search search search
Django channels
Django channels
Django Third party packages
Django Third party packages
Practical django secuirty
Practical django secuirty
總之來講講 Search
總之來講講 Search
Python web meetup 11 18
Python web meetup 11 18
Django in heavy load environment
Django in heavy load environment
電腦不只會幫你選土豆,還會幫你選新聞
電腦不只會幫你選土豆,還會幫你選新聞
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
ElastiCache
ElastiCache
Dynamo db
Dynamo db
Django deploy
Django deploy
Build your own trello witihin 100 LOC (with Meteor)
Build your own trello witihin 100 LOC (with Meteor)
Boost your django admin with Grappelli
Boost your django admin with Grappelli
Kürzlich hochgeladen
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
SeasiaInfotech2
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
The Digital Insurer
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Rizwan Syed
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
Kürzlich hochgeladen
(20)
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
Tradeoffs of replacing core components
1.
Tradeoffs of Replacing
Core Components Andy Dai andy@dorm7.com Django Workshop 2014/1/21
2.
SHOULD I SWAP
OUT DJANGO TEMPLATE/ORM?
3.
DON’T DO IT!
4.
WAIT! NOT REALLY! IT’S
WORTH IF…
5.
YOU ARE OKAY
WITH SACRIFICING ABILITY TO USE THIRD-PARTY DJANGO PACKAGES
6.
YOU HAVE NO
PROBLEM GIVING UP THE POWERFUL DJANGO ADMIN
7.
YOU HAVE ALREADY
ANALYZED YOUR OWN CODE TO FIND AND FIX THE ROOT CAUSES OF YOUR PROBLEMS
8.
YOU’VE EXPLORED ALL
OTHER OPTIONS INCLUDING CACHING AND DENORMALIZATION
9.
YOU’RE VERY SURE
THAT YOU’RE NOT OPTIMIZING PREMATURELY
10.
YOU’RE WILLING TO
ACCEPT THE FACT THAT UPGRADING DJANGO WILL BE EXTREMELY PAINFUL
11.
THINK AGAIN!
12.
OK. SO YOU
WANT TO USE DJANGO WITHOUT…
13.
“Django Admin” “Django Template” “Django
ORM” “Django Third-Party Packages”
14.
AND YOU ADD
SOME PACKAGES…
15.
“MongoEngine” “SQLAlchemy” “WTForms” “Jinja2”
16.
CONGRATULATION! YOU GOT FLASK!
17.
BUT ORM/TEMPLATE SUCKS…
18.
REPLACE ORM WITH NOSQL
19.
DO NOT DO
THIS GUESS WEBSITE WILL GROW RAPIDLY
20.
IT’S OK IF…
21.
YOU HAVE TRIED
CACHING, INDEX, QUERY OPTIMIZATION..
22.
YOU KNOW WHAT
YOU ARE DOING
23.
REPLACE DJANGO TEMPLATE WITH
JINJA2/MAKO
24.
DO NOT DO
THIS LOGIC IN YOUR TEMPLATE
25.
IT’S OK IF
THERE ARE SOME PAGES THAT
26.
ASK YOURSELF BEFORE REPLACING
DJANGO TEMPLATE
27.
“Why you want
to do this?” “Where’s the bottleneck?” “Cache?”
28.
DO IT ONLY
WHEN YOU KNOW WHAT YOU ARE DOING
29.
ALWAYS USE THE
RIGHT TOOL FOR THE RIGHT JOB
30.
“Premature optimization is
the root of all evil” – Donald Knuth
31.
Django/Jinja2 Integration • Jingo -
https://github.com/jbalogh/jingo • coffin - https://github.com/coffin/coffin/ • django-jinja - https://github.com/niwibe/django-jinja
32.
Replace Django ORM • SQLAlchemy
- http://www.sqlalchemy.org/ • MongoEngine - http://mongoengine.org/
33.
THANKS!
Jetzt herunterladen