SlideShare a Scribd company logo
learning
python with flask
P Y L A D I E S 2 0 1 7 W O R K S H O P # 1
MALAYSIA
before we start
why
pyladies
M A L A Y S I A
MALAYSIA
how
pyladies
W O R K S
MALAYSIA
pyladies
need you!
B E P A R T O F T H E H I S T O R Y M A K E R S
MALAYSIA
Just right before we start
@OnApp https://facebook.com/OnApp
A SHOUT OUT TO OUR VENUE SPONSOR
introduction
SIAN LERK LAU
linkedin.com/in/sianlerk
@kiawin
∗ Amateur guitarist
∗ Ex-Intern at OnApp KL
∗ UM undergraduate
student (3rd year)
∗ Python newbie, 8 months
old
FADHIL YAACOB
@sdil
a shout out to our
pyladies mentors
ALIES YAP
JANICE SHIU
PEI PEI
MALAYSIA
jom!
R U
REHDY
TO PYTHON*
DO.
* WHY PYTHON
* THE ENVIRONMENT (PART 1 & 2)
* PYTHON 101
* CONTROL STRUCTURES
* A REAL PROGRAM
WHY*
CODE IN PYTHON
EASY TO UNDERSTAND
CONCISE SYNTAX
MULTI-PURPOSE
STRENGTH OF PYTHON
GOOGLE-ABLE!
WELL SUPPORTED LIBS
FAST TO DELIVER
STRENGTH OF PYTHON
ENV*
PYTHON ENVIRONMENT (PART 1)
# Python interactive shell
$ python
# Python interactive shell
# (on steroid!)
$ pip install ipython
$ ipython
# QUIZ: What version of python
# are you currently using?
ENV* - EASIEST WAY TO PYTHON
101*
PYTHON - DATA TYPES
# DECLARE-LESS TYPED
>>> a = 1
>>> print a
1
>>> type(a)
<type 'int'>
101* - DATA TYPES
# MORE TYPES - '' and ""
>>> b = 'a'
>>> c = 'abc'
>>> d = "abc"
# QUIZ: WHAT DATA TYPES ARE b, c and d?
>>> type(b)
>>> type(c)
>>> type(d)
101* - DATA TYPES
# MORE TYPES
# bool, NoneType, float, long
>>> e = True
>>> f = False
>>> g = None
>>> h = 1.0
>>> i = 1L
# QUIZ: WHAT IS None?
101* - DATA TYPES
101*
PYTHON - COLLECTIONS
# COLLECTION 1: LIST
>>> a = [1, 2, 3]
>>> b = list()
>>> b.append(1)
>>> b.append(2)
>>> b.append(3)
# QUIZ: How do we retrieve the value?
# QUIZ: Is a and b same?
101* - DATA TYPES
# SAME - EQUALITY or IDENTITY?
>>> a == b
True
>>> a is b
False
# QUIZ: WHAT IS THE DIFF
# BETWEEN == AND is
101* - DATA TYPES
# COLLECTION 2 - TUPLE
>>> c = (1, 2, 3)
>>> d = 1, 2, 3
# QUIZ: SO AGAIN, IS c SAME with d?
101* - DATA TYPES
# COLLECTION 3: dict
>>> e = {1: 11, 2: 22}
>>> e[1]
>>> e[2]
# QUIZ: IS THIS AN array?
# QUIZ: MUST THE key BE int?
101* - DATA TYPES
# COLLECTION 4: set
>>> f = set()
>>> f.add(1)
>>> f.add(2)
>>> f.add(3)
# QUIZ: WHAT IS THE DIFF
# BETWEEN list AND set?
101* - DATA TYPES
101*
PYTHON - CONTROL STRUCTURES
101* - DATA TYPES
# if, else, elif
>>> a = 2
>>> if a == 1:
... print "hello"
... elif a == 2:
... print "world"
>>>
101* - DATA TYPES
# if, else, elif CONTINUES
>>> a = 1
>>> if a == 1:
... print "hello"
... else:
... print "world"
>>>
101* - DATA TYPES
# for LOOP
>>> for i in [1, 2, 3]:
... print i
>>> for j in range(1,3):
... print j
# QUIZ: WHAT DO YOU SEE WHEN print j
101* - DATA TYPES
# for LOOP
>>> for i in (1, 2, 3):
... print i
>>> for k,v in {1: 11, 2: 22}.iteritems():
... print k, v
# QUIZ: WHAT DO YOU SEE WHEN print k, v
101* - DATA TYPES
# list comprehension
>>> a = [1,2,3,4,5]
>>> b = [i+1 for i in a]
# QUIZ: WHAT IS THE VALUE OF b?
101* - DATA TYPES
# list comprehension
>>> a = [1,2,3,4,5]
>>> b = [i for i in a if i % 2 == 0]
# QUIZ: WHAT IS THE VALUE OF b?
ENV*
PYTHON ENVIRONMENT (PART 2)
pip
∗ Package management system used to install and manage
software packages written in Python
∗ Why?
Easy package installations, updating, configuring and
removals with a single command
∗ Over 86,000 Python packages can be accessed through
PyPI
∗ Sample commands:
$ pip install flask
$ pip uninstall flask
python packages
∗ Mathematical Analytics: Numpy
∗ DB Connectors: MySQL, MongoDB,
PostgreSQL, etc.
∗ Web Frameworks: Pyramid, Django
∗ Twitter API client
∗ Many more…
“It’s like Swiss-army toolchain”
virtualenv
∗ Is an isolated working copy of Python which allows you to
work on a specific project without worry of affecting other
projects
∗ Why?
We might wants to maintain the package version
(prefer not upgrading it to newer version)
“Do not fix things that aren’t broken”
THE BIG PICTURE
Python3
virtualenv1 virtualenv2 virtualenv3
package1 v1
package2 v1
package3 v1
package1 v2
package2 v2
package3 v2
package1 v1
package2 v2
package3 v1
virtualenv
# INSTALL VIRTUALENV
$ pip install virtualenv
# CREATE A NEW VENV
$ virtualenv Project1
virtualenv
# ACTIVATE A VENV ON LINUX
workon Project1
# ON WINDOWS
$ /path/to/folder/Scripts/activate.bat
# LIST INSTALLED PACKAGES
(test)$ pip freeze
PROG*
A REAL PROGRAM, NOW
flask
∗ Flask is a micro web framework written in Python
∗ Micro framework means it does not require particular
tools or libraries and it just works
∗ Suitable for minimal website or a full featured website
∗ Many extensions freely available:
User authentications
Flask-Security
File Uploads
Database
Let’s get hand dirty
∗ “Hello World!”
PROG* - HELLO WORLD!
# INSTALL FLASK MODULE
$ pip install flask
# QUIZ: WHAT DO YOU SEE IN RESULT
# OF THE ABOVE COMMAND
PROG* - HELLO WORLD!
# EDIT A NEW FILE USING YOUR FAVOURITE
# TEXT EDITOR
$ vim hello.py
PROG* - HELLO WORLD!
# KEY IN THE FOLLOWING INTO THE FILE
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
NOOO WAY… R U KIDDING ME?
CONGRATULATIONS!
U HV COMPLETED
A WORKING PROGRAM WEB SERVICE
# LET’S START THE WEB SERVICE
$ export FLASK_APP=hello.py
$ flask run
# IF WINDOWS
$ set FLASK_APP=hello.py
$ flask run
# QUIZ: WHAT’S NEXT?
PROG* - HELLO WORLD!
localhost:5000
BEAM ME UP, SCOTTY
Hello World!
SIMPLICITY
Programming can be easy and fun
(Using python)
PROG*
WHAT’S NEXT? MOOOOOOORE~
localhost:5000
BEAM ME UP, SCOTTY… AGAIN
Not Hello World!
localhost:5000/hello
HECTOR AND THE SEARCH FOR
HAPPINESS
Hello World!
PROG* - MOOOOOOORE~
# KEY IN THE FOLLOWING INTO THE FILE
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Not Hello World!"
@app.route("/hello")
def hello():
return "Hello World!"
# QUIZ: MUST THE ROUTE NAME SAME WITH
# THE METHOD NAME?
PROG* - MOOOOOOOORE~
# QUIZ: CAN I DON’T RESTART FLASK
# EVERY TIME I MODIFY MY FILE?
$ export FLASK_DEBUG=1
$ flask run
# QUIZ: WHAT IS THE COMMAND IF YOU USE
# WINDOWS?
PROG* - MOOOOOOORE~
# KEY IN THE FOLLOWING INTO THE FILE
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Index!"
@app.route("/user/<username>")
def user(username):
return "Hello %s!" % username
# QUIZ: WHAT HAPPEN WHEN YOU VISIT
# http://localhost:5000/user
localhost:5000/user/kiawin
WHO AM I
Hello kiawin!
PROG* - MOOOOOOORE~
# FRUIT TIME!
from flask import Flask
app = Flask(__name__)
@app.route("/fruit/<fruit_name>")
def fruit(fruit_name):
if fruit_name in ["durian", "jackfruit"]:
return "Nooooo..."
else:
return "Yummy..."
# QUIZ: WHAT HAPPEN IF YOU VISIT
# http://localhost:5000/
localhost:5000/fruit/durian
KING OF FRUITS
Nooooo...
localhost:5000/fruit/mangosteen
HOW ABOUT MANGOSTEEN
Yummy...
localhost:5000/fruit/DURIAN
WHAT IF?
Nooooo...
PROG* - MOOOOOOORE~
# FrUiT TiMe!
from flask import Flask
app = Flask(__name__)
@app.route("/fruit/<fruit_name>")
def fruit(fruit_name):
if fruit_name.lower() in ["durian", "jackfruit"]
return "Nooooo..."
else:
return "Yummy..."
STUFF*
SLIDES
slideshare.net/kiawin/learning-python-with-flask
SOURCE
flask.pocoo.org/docs/0.12/quickstart
Q&A*
ASK US ANYTHING

More Related Content

Viewers also liked

Webinar - Bringing Game Changing Insights with Graph Databases
Webinar - Bringing Game Changing Insights with Graph DatabasesWebinar - Bringing Game Changing Insights with Graph Databases
Webinar - Bringing Game Changing Insights with Graph Databases
DataStax
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
Larry Cai
 
Google Home
Google HomeGoogle Home
Google Home
Malhar Pandhare
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
MSDEVMTL
 
Tracxn Research - Industrial Robotics Landscape, February 2017
Tracxn Research - Industrial Robotics Landscape, February 2017Tracxn Research - Industrial Robotics Landscape, February 2017
Tracxn Research - Industrial Robotics Landscape, February 2017
Tracxn
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
Amazon Web Services
 
Webinar: Fighting Fraud with Graph Databases
Webinar: Fighting Fraud with Graph DatabasesWebinar: Fighting Fraud with Graph Databases
Webinar: Fighting Fraud with Graph Databases
DataStax
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
Amazon Web Services
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
 
Python and Flask introduction for my classmates Презентация и введение в flask
Python and Flask introduction for my classmates Презентация и введение в flaskPython and Flask introduction for my classmates Презентация и введение в flask
Python and Flask introduction for my classmates Презентация и введение в flask
Nikita Lozhnikov
 
2017.3國防醫分享「嚼不嚼檳榔? 健康不平等背後的社會與族群」
2017.3國防醫分享「嚼不嚼檳榔?健康不平等背後的社會與族群」2017.3國防醫分享「嚼不嚼檳榔?健康不平等背後的社會與族群」
2017.3國防醫分享「嚼不嚼檳榔? 健康不平等背後的社會與族群」
Ching-wen Lu
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]
Filipe Ximenes
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
Vinta Software
 
DJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APIS
DJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APISDJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APIS
DJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APIS
Fernando Rocha
 
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na AbrilComo um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Luis Cipriani
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in details
Max Klymyshyn
 
Boas práticas de django
Boas práticas de djangoBoas práticas de django
Boas práticas de django
Filipe Ximenes
 

Viewers also liked (20)

Webinar - Bringing Game Changing Insights with Graph Databases
Webinar - Bringing Game Changing Insights with Graph DatabasesWebinar - Bringing Game Changing Insights with Graph Databases
Webinar - Bringing Game Changing Insights with Graph Databases
 
Learn flask in 90mins
Learn flask in 90minsLearn flask in 90mins
Learn flask in 90mins
 
Google Home
Google HomeGoogle Home
Google Home
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
Tracxn Research - Industrial Robotics Landscape, February 2017
Tracxn Research - Industrial Robotics Landscape, February 2017Tracxn Research - Industrial Robotics Landscape, February 2017
Tracxn Research - Industrial Robotics Landscape, February 2017
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Webinar: Fighting Fraud with Graph Databases
Webinar: Fighting Fraud with Graph DatabasesWebinar: Fighting Fraud with Graph Databases
Webinar: Fighting Fraud with Graph Databases
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
Python and Flask introduction for my classmates Презентация и введение в flask
Python and Flask introduction for my classmates Презентация и введение в flaskPython and Flask introduction for my classmates Презентация и введение в flask
Python and Flask introduction for my classmates Презентация и введение в flask
 
2017.3國防醫分享「嚼不嚼檳榔? 健康不平等背後的社會與族群」
2017.3國防醫分享「嚼不嚼檳榔?健康不平等背後的社會與族群」2017.3國防醫分享「嚼不嚼檳榔?健康不平等背後的社會與族群」
2017.3國防醫分享「嚼不嚼檳榔? 健康不平等背後的社會與族群」
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
 
DJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APIS
DJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APISDJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APIS
DJANGO-REST-FRAMEWORK: AWESOME WEB-BROWSABLE WEB APIS
 
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na AbrilComo um verdadeiro sistema REST funciona: arquitetura e performance na Abril
Como um verdadeiro sistema REST funciona: arquitetura e performance na Abril
 
LvivPy - Flask in details
LvivPy - Flask in detailsLvivPy - Flask in details
LvivPy - Flask in details
 
Boas práticas de django
Boas práticas de djangoBoas práticas de django
Boas práticas de django
 

Similar to Learning python with flask (PyLadies Malaysia 2017 Workshop #1)

Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from Data
Mosky Liu
 
Introduction to Python3 Programming Language
Introduction to Python3 Programming LanguageIntroduction to Python3 Programming Language
Introduction to Python3 Programming Language
Tushar Mittal
 
Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010
Qiangning Hong
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnit
Edorian
 
Python slide
Python slidePython slide
Pycon2017 instagram keynote
Pycon2017 instagram keynotePycon2017 instagram keynote
Pycon2017 instagram keynote
Lisa Guo
 
Save time by applying clean code principles
Save time by applying clean code principlesSave time by applying clean code principles
Save time by applying clean code principles
Edorian
 
Python Part 1
Python Part 1Python Part 1
Python Part 1
Mohamed Ramadan
 
Is writing performant code too expensive?
Is writing performant code too expensive? Is writing performant code too expensive?
Is writing performant code too expensive?
Tomasz Kowalczewski
 
Swift for tensorflow
Swift for tensorflowSwift for tensorflow
Swift for tensorflow
龍一郎 北野
 
Php 7 evolution
Php 7 evolutionPhp 7 evolution
Php 7 evolution
Félix Gómez López
 
Making the most of 2.2
Making the most of 2.2Making the most of 2.2
Making the most of 2.2
markstory
 
Mastering Python lesson 3a
Mastering Python lesson 3aMastering Python lesson 3a
Mastering Python lesson 3a
Ruth Marvin
 
Python lab basics
Python lab basicsPython lab basics
Python lab basics
Abi_Kasi
 
Python 101 1
Python 101   1Python 101   1
Python 101 1
Iccha Sethi
 
Introduction to Python and TensorFlow
Introduction to Python and TensorFlowIntroduction to Python and TensorFlow
Introduction to Python and TensorFlow
Bayu Aldi Yansyah
 
Java 8: the good parts!
Java 8: the good parts!Java 8: the good parts!
Java 8: the good parts!
Andrzej Grzesik
 
JavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good PartsJavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good Parts
Konrad Malawski
 
Writing Apps the Google-y Way
Writing Apps the Google-y WayWriting Apps the Google-y Way
Writing Apps the Google-y Way
Pamela Fox
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
DRVaibhavmeshram1
 

Similar to Learning python with flask (PyLadies Malaysia 2017 Workshop #1) (20)

Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from Data
 
Introduction to Python3 Programming Language
Introduction to Python3 Programming LanguageIntroduction to Python3 Programming Language
Introduction to Python3 Programming Language
 
Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010Python于Web 2.0网站的应用 - QCon Beijing 2010
Python于Web 2.0网站的应用 - QCon Beijing 2010
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnit
 
Python slide
Python slidePython slide
Python slide
 
Pycon2017 instagram keynote
Pycon2017 instagram keynotePycon2017 instagram keynote
Pycon2017 instagram keynote
 
Save time by applying clean code principles
Save time by applying clean code principlesSave time by applying clean code principles
Save time by applying clean code principles
 
Python Part 1
Python Part 1Python Part 1
Python Part 1
 
Is writing performant code too expensive?
Is writing performant code too expensive? Is writing performant code too expensive?
Is writing performant code too expensive?
 
Swift for tensorflow
Swift for tensorflowSwift for tensorflow
Swift for tensorflow
 
Php 7 evolution
Php 7 evolutionPhp 7 evolution
Php 7 evolution
 
Making the most of 2.2
Making the most of 2.2Making the most of 2.2
Making the most of 2.2
 
Mastering Python lesson 3a
Mastering Python lesson 3aMastering Python lesson 3a
Mastering Python lesson 3a
 
Python lab basics
Python lab basicsPython lab basics
Python lab basics
 
Python 101 1
Python 101   1Python 101   1
Python 101 1
 
Introduction to Python and TensorFlow
Introduction to Python and TensorFlowIntroduction to Python and TensorFlow
Introduction to Python and TensorFlow
 
Java 8: the good parts!
Java 8: the good parts!Java 8: the good parts!
Java 8: the good parts!
 
JavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good PartsJavaOne 2013: Java 8 - The Good Parts
JavaOne 2013: Java 8 - The Good Parts
 
Writing Apps the Google-y Way
Writing Apps the Google-y WayWriting Apps the Google-y Way
Writing Apps the Google-y Way
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
 

More from Sian Lerk Lau

Solving performance issues in Django ORM
Solving performance issues in Django ORMSolving performance issues in Django ORM
Solving performance issues in Django ORM
Sian Lerk Lau
 
The journey of an (un)orthodox optimization
The journey of an (un)orthodox optimizationThe journey of an (un)orthodox optimization
The journey of an (un)orthodox optimization
Sian Lerk Lau
 
Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)
Sian Lerk Lau
 
DevOps - Myth or Real
DevOps - Myth or RealDevOps - Myth or Real
DevOps - Myth or Real
Sian Lerk Lau
 
Quality of life through Unit Testing
Quality of life through Unit TestingQuality of life through Unit Testing
Quality of life through Unit Testing
Sian Lerk Lau
 
Install Archlinux in 10 Steps (Sort of) :)
Install Archlinux in 10 Steps (Sort of) :)Install Archlinux in 10 Steps (Sort of) :)
Install Archlinux in 10 Steps (Sort of) :)
Sian Lerk Lau
 

More from Sian Lerk Lau (6)

Solving performance issues in Django ORM
Solving performance issues in Django ORMSolving performance issues in Django ORM
Solving performance issues in Django ORM
 
The journey of an (un)orthodox optimization
The journey of an (un)orthodox optimizationThe journey of an (un)orthodox optimization
The journey of an (un)orthodox optimization
 
Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)Velocity. Agility. Python. (Pycon APAC 2017)
Velocity. Agility. Python. (Pycon APAC 2017)
 
DevOps - Myth or Real
DevOps - Myth or RealDevOps - Myth or Real
DevOps - Myth or Real
 
Quality of life through Unit Testing
Quality of life through Unit TestingQuality of life through Unit Testing
Quality of life through Unit Testing
 
Install Archlinux in 10 Steps (Sort of) :)
Install Archlinux in 10 Steps (Sort of) :)Install Archlinux in 10 Steps (Sort of) :)
Install Archlinux in 10 Steps (Sort of) :)
 

Recently uploaded

Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 

Recently uploaded (20)

Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 

Learning python with flask (PyLadies Malaysia 2017 Workshop #1)

Editor's Notes

  1. Python isnt made for web. It’s a general purpose scripting language. Can do many things with it. Compared to PHP, it’s made for web dev. That’s why flask come in, to be able to write web using Python. Micro means so simple and doesnt include any extra things. But you can add them as you want.