SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Introduction to Python & Django




       Udi h Bauman, Tikal Knowledge
Personal background

1994 -        2002 -


1997 -        2004 -


1999 -        2005 -
Also in 2004
●   Didn't listen to smart people :(
        –   Chief architect of a large innovative
             company told me to dump Java & switch
             to Python
                ●   Citing Paul Graham saying that Java is a
                     dead leaf in the evolutionary tree of
                     programming languages
2006 -                              &


●   Smiling ever since
●   “People who've made the switch to
    dynamic languages such as Python seem
    much, much happier.”
                  –   Bruce Eckel, Author of “Thinking in Java” &
                        “Thinking in Python”
Python, WTF?
●   Isn't this some scripting language for
    system administrators & the like?


                    What does it have to do with us –
                    serious Java & .Net programmers???
Python, WTF?
●   Python is a modern programming
    language.
       –   Pure OOP (Object Oriented Programming)
       –   Pure AOP (Aspect Oriented Programming)
       –   Pure FP (Functional Programming)
Python, WTF?
●   Some companies & organization attract the
    best programmers in the world
●   E.g.
Python, WTF?
●   Turns out that the programming language
    of choice in most of these places is Python
●   E.g.
Quotes
●   “Python has been an important part of
    Google since the beginning, and remains
    so as the system grows and evolves”
       –   Peter Norvig, Director of Research, Google
Quotes
●   “Python is fast enough for our site and
    allows us to produce maintainable features
    in record times, with a minimum of
    developers”
       –   Cuong Do, Engineering Manager, YouTube
            (Watch the video: http://bit.ly/youtube_scalability)
The reason, IMHO
●   Python offers the optimal combination of
    Power & Simplicity
       –   perfect for coding Business Logic
       –   perfect for any software at any size &
            complexity
Python demo
●   Arithmetic's &       ●   Functions
    Strings              ●   Doctest
●   Introspection        ●   Classes
●   Formatting           ●   List comprehension
●   Lists, Tuples &      ●   I/O
    Dictionaries
●   Blocks, If & loops
Demo screenshots
Demo screenshots
Python libraries
●   Real wealth of libraries
●   The Python Package Index (PyPi) lists
    7.7K
●   Cover almost any functionality & need
●   Very easy to install
●   Very intuitive
        –   Work just as you expect them to work
Python summary
●   Python has many advantages, but the
    bottom line is:
       –   Happy management
       –   Happy staff
       –   Happy customers


               ●   Don't take my word – Google what people
                    say about their experience with Python &
                    tell me if you find any counter-example
Python summary
●   What's in it for us?
        –   Need implement a new complex system or
             service?
        –   Prototype it in Python
        –   Then realize that it's ready for usage
Introduction to Django
●   Leading Python Web Framework
●   Good for any service, no just Web apps
Django slogan
●   The Web framework for Perfectionists
    with deadlines
Perfectionists?
●   Emphasizing clean MVC design
●   Django apps are reusable by design
●   Based on Best-Practices
●   Extremely easy to unit-test
Deadlines?
●   Growned in the Online Newspapers
    industry
       –   Designed to make development fast
               ●   E.g., automatic admin interface
●   Automates repetitive tasks
●   Leading technology in new US Startups,
    according to recent polls
Quotes
●   “After an extensive trade study, we selected
    Django as the first and primary application
    environment for the Nebula Cloud. ”
                  –   NASA,
                       http://nebula.nasa.gov/services/framework
Model & basis of
Main features
●   ORM               ●   Reusable apps
●   Admin             ●   Unit testing
●   URL's design      ●   Middleware
●   Auth              ●   Caching
●   Template engine   ●   I18N
●   Integrated GIS
Comparison with Java stacks
Lots of reusable apps
●   Hundreds of pluggable apps exist, for
    almost any purpose
●   Very easy to plug into your project
        –   Adds complete functionality, integrated with
             your application
How do you develop/run?
●   I use the Eclipse-based Aptana IDE
●   I run Django on LAMP (Linux, Apache,
    MySQL/Postgres, Python) or AppEngine
       –   You can also deploy Django as .war on any
            Java Application Server
Django demo
●   Let's write a small Django app for project
    management
        –   Manage projects & tasks
        –   Manage users & roles
        –   Rich UI (search, filters, recent actions list)
        –   Project health indicators
        –   Tasks focus chart
Demo screenshots
Demo screenshots
Demo screenshots
Demo screenshots
Java/.Net vs. Django
●   Think how much code it would take in Java
    or .Net
       –   Common
       –   BI
       –   DAL
       –   Basic
       –   Logic
       –   API
Java/.Net vs. Django
●   Damn, Django does the same thing without
    all the complexity & verbosity
●   How much time & cognitive effort it takes to
    learn, understand & modify it?
Django summary
●   What's in it for us?
        –   Nothing
                ●   you can afford developing systems using
                     10 developers for several weeks
                ●   instead of 1-2 developers for several
                      days :)
Django summary
●   Seriously:
        –   Need implement a new system?
        –   Prototype it in Django in a few hours
        –   Then realize that it's ready for production

Weitere ähnliche Inhalte

Was ist angesagt?

Web and Native in 2012
Web and Native in 2012Web and Native in 2012
Web and Native in 2012jhugman
 
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite PreviewMachine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite PreviewModulabs
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoSzczepan Faber
 
平行化你的工作 part1
平行化你的工作 part1平行化你的工作 part1
平行化你的工作 part1Shuen-Huei Guan
 
Android smarter with TensorFlow
Android smarter with TensorFlowAndroid smarter with TensorFlow
Android smarter with TensorFlowrendra toro
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人Evan Lin
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)Evan Lin
 
Golang taipei #45 10th birthday
Golang taipei #45 10th birthdayGolang taipei #45 10th birthday
Golang taipei #45 10th birthdayEvan Lin
 
Microservices, the lean way
Microservices, the lean wayMicroservices, the lean way
Microservices, the lean wayBruno Bossola
 
Improving the developer experience on OpenShift - devconf-india-18
Improving the developer experience on OpenShift - devconf-india-18Improving the developer experience on OpenShift - devconf-india-18
Improving the developer experience on OpenShift - devconf-india-18Jorge Morales
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLangNVISIA
 
Nightmapper's presentation
Nightmapper's presentationNightmapper's presentation
Nightmapper's presentationBadoo
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angularKnoldus Inc.
 
VN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot TutorialVN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot TutorialShuhei Yamashita
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line BotEvan Lin
 
Code analysis for a better future
Code analysis for a better futureCode analysis for a better future
Code analysis for a better futuregilforcada
 

Was ist angesagt? (20)

Web and Native in 2012
Web and Native in 2012Web and Native in 2012
Web and Native in 2012
 
Why golang
Why golangWhy golang
Why golang
 
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite PreviewMachine Learning on Your Hand - Introduction to Tensorflow Lite Preview
Machine Learning on Your Hand - Introduction to Tensorflow Lite Preview
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
平行化你的工作 part1
平行化你的工作 part1平行化你的工作 part1
平行化你的工作 part1
 
Android smarter with TensorFlow
Android smarter with TensorFlowAndroid smarter with TensorFlow
Android smarter with TensorFlow
 
GoLang Introduction
GoLang IntroductionGoLang Introduction
GoLang Introduction
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
 
Golang taipei #45 10th birthday
Golang taipei #45 10th birthdayGolang taipei #45 10th birthday
Golang taipei #45 10th birthday
 
Microservices, the lean way
Microservices, the lean wayMicroservices, the lean way
Microservices, the lean way
 
resume
resumeresume
resume
 
Improving the developer experience on OpenShift - devconf-india-18
Improving the developer experience on OpenShift - devconf-india-18Improving the developer experience on OpenShift - devconf-india-18
Improving the developer experience on OpenShift - devconf-india-18
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLang
 
Nightmapper's presentation
Nightmapper's presentationNightmapper's presentation
Nightmapper's presentation
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angular
 
VN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot TutorialVN Tech Seminor Vol.3 Hubot Tutorial
VN Tech Seminor Vol.3 Hubot Tutorial
 
Beyond QA
Beyond QABeyond QA
Beyond QA
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
 
Code analysis for a better future
Code analysis for a better futureCode analysis for a better future
Code analysis for a better future
 

Ähnlich wie Python Django Intro V0.1

Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)Dhilipsiva DS
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with PythonSivaranjan Goswami
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django BasicsRahilMemon5
 
Django Article V0
Django Article V0Django Article V0
Django Article V0Udi Bauman
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLinaro
 
How to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkHow to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkNavid Kalaei
 
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporePrototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporeDhruv Gohil
 
🌟Is Learning Python Your Career Game-Changer? 🚀🐍
🌟Is Learning Python Your  Career Game-Changer? 🚀🐍🌟Is Learning Python Your  Career Game-Changer? 🚀🐍
🌟Is Learning Python Your Career Game-Changer? 🚀🐍abhishekdf3
 
Python For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsPython For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsNilesh Sutar
 
Node.js vs. python which one is better for your project
Node.js vs. python  which one is better for your project Node.js vs. python  which one is better for your project
Node.js vs. python which one is better for your project Moon Technolabs Pvt. Ltd.
 
Presentation1.pdf
Presentation1.pdfPresentation1.pdf
Presentation1.pdfrishi803007
 
Introduction to Python Programming Basics
Introduction  to  Python  Programming BasicsIntroduction  to  Python  Programming Basics
Introduction to Python Programming BasicsDhana malar
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production Matthew Reynolds
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 

Ähnlich wie Python Django Intro V0.1 (20)

Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)Build, deploy and scale: Django, GraphQL and SPA  (DjangoCon EU 2021)
Build, deploy and scale: Django, GraphQL and SPA (DjangoCon EU 2021)
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with Python
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django Basics
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
 
How to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkHow to Choose a Deep Learning Framework
How to Choose a Deep Learning Framework
 
divyanshBajaj.pptx
divyanshBajaj.pptxdivyanshBajaj.pptx
divyanshBajaj.pptx
 
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporePrototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
 
🌟Is Learning Python Your Career Game-Changer? 🚀🐍
🌟Is Learning Python Your  Career Game-Changer? 🚀🐍🌟Is Learning Python Your  Career Game-Changer? 🚀🐍
🌟Is Learning Python Your Career Game-Changer? 🚀🐍
 
Python For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionalsPython For All | Software Professionals, QA & DevOps professionals
Python For All | Software Professionals, QA & DevOps professionals
 
Python for All
Python for All Python for All
Python for All
 
Node.js vs. python which one is better for your project
Node.js vs. python  which one is better for your project Node.js vs. python  which one is better for your project
Node.js vs. python which one is better for your project
 
Presentation1.pdf
Presentation1.pdfPresentation1.pdf
Presentation1.pdf
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
 
Introduction to Python Programming Basics
Introduction  to  Python  Programming BasicsIntroduction  to  Python  Programming Basics
Introduction to Python Programming Basics
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Research paper on python by Rj
Research paper on python by RjResearch paper on python by Rj
Research paper on python by Rj
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 

Mehr von Udi Bauman

Intro to-django-for-media-companies
Intro to-django-for-media-companiesIntro to-django-for-media-companies
Intro to-django-for-media-companiesUdi Bauman
 
Django course final-project
Django course final-projectDjango course final-project
Django course final-projectUdi Bauman
 
Django course final-project
Django course final-projectDjango course final-project
Django course final-projectUdi Bauman
 
Django course summary
Django course summaryDjango course summary
Django course summaryUdi Bauman
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational DatabasesUdi Bauman
 
Ship Early Ship Often With Django
Ship Early Ship Often With DjangoShip Early Ship Often With Django
Ship Early Ship Often With DjangoUdi Bauman
 
Large Scale Processing with Django
Large Scale Processing with DjangoLarge Scale Processing with Django
Large Scale Processing with DjangoUdi Bauman
 
Django And Ajax
Django And AjaxDjango And Ajax
Django And AjaxUdi Bauman
 
Udi Google Dev Day
Udi Google Dev DayUdi Google Dev Day
Udi Google Dev DayUdi Bauman
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 

Mehr von Udi Bauman (11)

13
1313
13
 
Intro to-django-for-media-companies
Intro to-django-for-media-companiesIntro to-django-for-media-companies
Intro to-django-for-media-companies
 
Django course final-project
Django course final-projectDjango course final-project
Django course final-project
 
Django course final-project
Django course final-projectDjango course final-project
Django course final-project
 
Django course summary
Django course summaryDjango course summary
Django course summary
 
Nonrelational Databases
Nonrelational DatabasesNonrelational Databases
Nonrelational Databases
 
Ship Early Ship Often With Django
Ship Early Ship Often With DjangoShip Early Ship Often With Django
Ship Early Ship Often With Django
 
Large Scale Processing with Django
Large Scale Processing with DjangoLarge Scale Processing with Django
Large Scale Processing with Django
 
Django And Ajax
Django And AjaxDjango And Ajax
Django And Ajax
 
Udi Google Dev Day
Udi Google Dev DayUdi Google Dev Day
Udi Google Dev Day
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 

Kürzlich hochgeladen

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Python Django Intro V0.1

  • 1. Introduction to Python & Django Udi h Bauman, Tikal Knowledge
  • 2. Personal background 1994 - 2002 - 1997 - 2004 - 1999 - 2005 -
  • 3. Also in 2004 ● Didn't listen to smart people :( – Chief architect of a large innovative company told me to dump Java & switch to Python ● Citing Paul Graham saying that Java is a dead leaf in the evolutionary tree of programming languages
  • 4. 2006 - & ● Smiling ever since ● “People who've made the switch to dynamic languages such as Python seem much, much happier.” – Bruce Eckel, Author of “Thinking in Java” & “Thinking in Python”
  • 5. Python, WTF? ● Isn't this some scripting language for system administrators & the like? What does it have to do with us – serious Java & .Net programmers???
  • 6. Python, WTF? ● Python is a modern programming language. – Pure OOP (Object Oriented Programming) – Pure AOP (Aspect Oriented Programming) – Pure FP (Functional Programming)
  • 7. Python, WTF? ● Some companies & organization attract the best programmers in the world ● E.g.
  • 8. Python, WTF? ● Turns out that the programming language of choice in most of these places is Python ● E.g.
  • 9. Quotes ● “Python has been an important part of Google since the beginning, and remains so as the system grows and evolves” – Peter Norvig, Director of Research, Google
  • 10. Quotes ● “Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers” – Cuong Do, Engineering Manager, YouTube (Watch the video: http://bit.ly/youtube_scalability)
  • 11. The reason, IMHO ● Python offers the optimal combination of Power & Simplicity – perfect for coding Business Logic – perfect for any software at any size & complexity
  • 12. Python demo ● Arithmetic's & ● Functions Strings ● Doctest ● Introspection ● Classes ● Formatting ● List comprehension ● Lists, Tuples & ● I/O Dictionaries ● Blocks, If & loops
  • 15. Python libraries ● Real wealth of libraries ● The Python Package Index (PyPi) lists 7.7K ● Cover almost any functionality & need ● Very easy to install ● Very intuitive – Work just as you expect them to work
  • 16. Python summary ● Python has many advantages, but the bottom line is: – Happy management – Happy staff – Happy customers ● Don't take my word – Google what people say about their experience with Python & tell me if you find any counter-example
  • 17. Python summary ● What's in it for us? – Need implement a new complex system or service? – Prototype it in Python – Then realize that it's ready for usage
  • 18. Introduction to Django ● Leading Python Web Framework ● Good for any service, no just Web apps
  • 19. Django slogan ● The Web framework for Perfectionists with deadlines
  • 20. Perfectionists? ● Emphasizing clean MVC design ● Django apps are reusable by design ● Based on Best-Practices ● Extremely easy to unit-test
  • 21. Deadlines? ● Growned in the Online Newspapers industry – Designed to make development fast ● E.g., automatic admin interface ● Automates repetitive tasks ● Leading technology in new US Startups, according to recent polls
  • 22. Quotes ● “After an extensive trade study, we selected Django as the first and primary application environment for the Nebula Cloud. ” – NASA, http://nebula.nasa.gov/services/framework
  • 24. Main features ● ORM ● Reusable apps ● Admin ● Unit testing ● URL's design ● Middleware ● Auth ● Caching ● Template engine ● I18N ● Integrated GIS
  • 26. Lots of reusable apps ● Hundreds of pluggable apps exist, for almost any purpose ● Very easy to plug into your project – Adds complete functionality, integrated with your application
  • 27. How do you develop/run? ● I use the Eclipse-based Aptana IDE ● I run Django on LAMP (Linux, Apache, MySQL/Postgres, Python) or AppEngine – You can also deploy Django as .war on any Java Application Server
  • 28. Django demo ● Let's write a small Django app for project management – Manage projects & tasks – Manage users & roles – Rich UI (search, filters, recent actions list) – Project health indicators – Tasks focus chart
  • 33. Java/.Net vs. Django ● Think how much code it would take in Java or .Net – Common – BI – DAL – Basic – Logic – API
  • 34. Java/.Net vs. Django ● Damn, Django does the same thing without all the complexity & verbosity ● How much time & cognitive effort it takes to learn, understand & modify it?
  • 35. Django summary ● What's in it for us? – Nothing ● you can afford developing systems using 10 developers for several weeks ● instead of 1-2 developers for several days :)
  • 36. Django summary ● Seriously: – Need implement a new system? – Prototype it in Django in a few hours – Then realize that it's ready for production