git, python, django, heroku -...

37
Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj Michálek 25. 8. 2012 http://georgik.sinusgear.com http://twitter.com/sinusgear

Upload: dophuc

Post on 26-Mar-2018

270 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git, Python, Django, Heroku

Startup CampTrhový Štěpánov

Juraj Michálek25. 8. 2012

http://georgik.sinusgear.comhttp://twitter.com/sinusgear

Page 2: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Obsah

Git

Python

Django

Heroku

Page 3: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git

Remote repository

Local repository

Stage

Working area

Page 4: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git - clone

Remote repository

Local repository

Stage

Working area

clone

Page 5: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git - add

Remote repository

Local repository

Stage

Working area

add

Page 6: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git - commit

Remote repository

Local repository

Stage

Working area

commit

Page 7: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git - push

Remote repository

Local repository

Stage

Working area

push

Page 8: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Git – operations

Remote repository

Local repository

Stage

Working area

add

commit

pushclone

Page 9: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

TortoiseGit

http://code.google.com/p/tortoisegit/

Page 10: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

GitHub

Page 11: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python

http://python.org

Page 12: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Guido van Rossum

Computer programming for everybody.

Page 13: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Monty Python's Flying Circus

Spam & Eggs

Page 14: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Go web

python -m SimpleHTTPServer

Page 15: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python Shell

Lin/Mac – CTRL+D, Win – CTRL+Z – terminateexit()

Page 16: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

IDLE (Python GUI)

Page 17: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python 2 or 3?

2.x stable, libraries, frameworks

3.x new syntax, missing part of legacy

Page 18: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Import & Python 3

import antigravity

Page 19: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj
Page 20: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Django

http://djangoproject.com

The Web framework for perfectionists (with deadlines).

Django makes it easier to build better Web

apps more quickly and with less code.

Page 21: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python 2 in Django context

Experimental Python 3 support

Recommended: Python 2.7

Page 22: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Sample Django

https://github.com/georgik/try_git

git clone [email protected]:georgik/try_git.git

Page 23: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Start sample Django

cd try_git

cd hellodjango

python manage syncdb

python manage.py runserver

http://localhost:8000/admin

Page 24: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python/Django advanced

Page 25: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Programming philosophy

Multi-paradigm prog. Lang.

Object Orientated ProgrammingStructured ProgrammingFunctional Programming

Aspect Oriented Programming

Page 26: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

IDE

● IntelliJ Idea or PyCharm

● Eclipse – pyDev

● Boa Constructor ;-)

● etc...

Page 27: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python 01-bootstrap examples

Print

Input

Arguments

Page 28: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Python 02-data examples

List

Dictionary

Excel

Page 29: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Virtualenv

http://www.virtualenv.org

Isolated environment

Page 30: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

easy_install (old fashioned)

Win: Python27\Scripts

easy_install pip

Page 31: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

pip

pip install virtualenv

http://pypi.python.org/pypi

Page 32: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Sqlite browser

http://sourceforge.net/projects/sqlitebrowser/files/

Page 33: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Templates – Wat?

TEMPLATE_DIRS = (

# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".

# Always use forward slashes, even on Windows.

# Don't forget to use absolute paths, not relative paths.

)

Page 34: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Templates

7 tips for Python & Django - http://goo.gl/svZ5O

import osimport django

SITE_ROOT = os.path.dirname(os.path.realpath(__file__))

TEMPLATE_DIRS = ( os.path.join(SITE_ROOT, 'templates'))

Page 35: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

cURL

http://curl.haxx.se/

Page 36: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Test

curl http://localhost

Page 37: Git, Python, Django, Heroku - georgik.rocksgeorgik.rocks/wp-content/talks/2012-08-25-startupcamp/pdf/2012-08... · Git, Python, Django, Heroku Startup Camp Trhový Štěpánov Juraj

Heroku

Heroku Toolbelt