PYTHON
SIDE PROJECTS
VIII Betabeers SVQ@ahmontero
MI DEFINICIÓN
★ TIEMPO LIBRE
★ ¿ ZONA DE CONFORT ?
★ PERSONA / S
MOTIVACIONES
✓ CONSTRUIR
✓ APRENDER
✓ EXPONERSE
MOTIVACIONES
✓ CONSTRUIR
✓ APRENDER
✓ EXPONERSE
✓DIVERTIRSE
INTRANSCENDENTE
‣ # USUARIOS
INTRANSCENDENTE
‣ # USUARIOS
‣ # DESCARGAS
INTRANSCENDENTE
‣ # USUARIOS
‣ # DESCARGAS
‣ ¿RECHAZADA APP STORE?
INTRANSCENDENTE
‣ # USUARIOS
‣ # DESCARGAS
‣ ¿RECHAZADA APP STORE?
‣ MODELO DE NEGOCIO
MUST LIST
✓ TERMINADO
MUST LIST
✓ TERMINADO ➡ 100 %
MUST LIST
✓ TERMINADO
✓ HONESTIDAD
➡ 100 %
MUST LIST
✓ TERMINADO
✓ HONESTIDAD
✓ ENLACES
➡ 100 %
MUST LIST
✓ TERMINADO
✓ HONESTIDAD
✓ ENLACES
➡ 100 %
➡ GITHUB, WEB…
MUST LIST
✓ TERMINADO
✓ HONESTIDAD
✓ ENLACES
✓ SIN MIEDOS
➡ 100 %
➡ GITHUB, WEB…
VENTAJAS
‣ VALORACIÓN
‣ DIFERENCIACIÓN
‣ APTITUDES
VENTAJAS
‣ VALORACIÓN
‣ DIFERENCIACIÓN
‣ APTITUDES
VENTAJAS
‣ VALORACIÓN
‣ DIFERENCIACIÓN
‣ APTITUDES
‣ DEMOSTRACIÓN DE...
EJEMPLOS
✓ APPLE “BLUE SKY”
EJEMPLOS
✓ APPLE “BLUE SKY”
✓ GOOGLE 20 % TIME
EJEMPLOS
✓ APPLE “BLUE SKY”
✓ GOOGLE 20 % TIME
✓ GMAIL
EJEMPLOS
✓ APPLE “BLUE SKY”
✓ GOOGLE 20 % TIME
✓ GMAIL
✓ GOOGLE READER
REALIDAD
✓ CASOS DE ÉXITO
REALIDAD
✓ CASOS DE ÉXITO
✓ EVITAR COMPARACIONES
REALIDAD
✓ CASOS DE ÉXITO
✓ EVITAR COMPARACIONES
✓ SIN AGOBIOS
REALIDAD
✓ CASOS DE ÉXITO
✓ EVITAR COMPARACIONES
✓ SIN AGOBIOS
✓ NO LO HACES POR DINERO
IDEA
✓ SIMPLE
✓ CON UN FIN ESPECÍFICO
✓ SENTIDO
EJECUCIÓN
✓ SENCILLA
✓ MEJORAS EN ITERACIONES
✓ NO PRE - OPTIMIZAR
Minimun Viable Product
NoComplicarseLaVida
PROYECTO 1
✓ JUGAR CON BOTTLEPY
✓ DEPLOY EN VPS
REQUISITOS I
✓ BOTTLEPY
✓ NGINX
✓ GUNICORN
✓ SUPERVISOR
REQUISITOS II
✓ VPS
✓ DIGITAL OCEAN
✓ PROMO CODE: SSDTWEET
✓ 10 $
BOTTLEPY
✓ UN ARCHIVO
✓ LIBRERÍA ESTÁNDAR PYTHON
✓ ROUTING, TEMPLATES, FORMULARIOS, COOKIES…
✓ COMPATIBLE HTTP WSGI
BOTTLEPY
➡ PROYECTOS GRANDES
➡ ORM
➡ LAYOUT PROYECTO
CUIDADO CON:
EJEMPLOimport bottle
app = bottle.default_app()
@app.route('/', method='GET')@app.route('/greet/<name:re:[a-z]+>', method='GET')def greet(name='world'): res = {} res['status'] = 'OK' res['result'] = 'Hello %s' % name
return res
if __name__ == '__main__': bottle.run(app, host='localhost', port=5000, debug=True, reloader=True)
LOCALHOST1. GIT CLONE HTTPS://GITHUB.COM/AHMONTERO/SIDE-PROJECTS-SPEECH.GIT
2. CD SIDE-PROJECTS-SPEECH
3. CHMOD +X SETUP_ENV.SH
4. ./SETUP_ENV.SH
5. SOURCE __VEN__/BIN/ACTIVATE
6. PIP INSTALL -R REQUIREMENTS.TXT
7. PYTHON PROJECT1.PY
8. HTTP://127.0.0.1:5000/GREET/ANTONIO
PROYECTO 1I
✓ WEB SCRAPING
✓ API HTTP REST
✓ DJANGO + TWITTER
✓ BOOTSTRAP
BRAINSTORMING
✓ OFERTAS DE TRABAJO
BRAINSTORMING
✓ OFERTAS DE TRABAJO
✓ JÓVENES Y DINÁMICAS
BRAINSTORMING
✓ OFERTAS DE TRABAJO
✓ JÓVENES Y DINÁMICAS
✓ INNOVADORAS
BRAINSTORMING
✓ OFERTAS DE TRABAJO
✓ JÓVENES Y DINÁMICAS
✓ INNOVADORAS
✓ LÍDERES EN SU SECTOR
photo credit: http://www.flickr.com/photos/33850040@N02/4030356356/in/
ESPECIFICACIONES
✓ PARSEAR OFERTAS
✓ CLASIFICARLAS
✓ LOGIN CON TWITTER
✓ COMENTARIOS
REQUISITOS
✓ BEAUTIFUL SOUP
✓ DJANGO
✓ NGINX
✓ GUNICORN
✓ SUPERVISOR
DATA SCRAPING
✓ BEAUTIFUL SOUP
✓ SCRIPT INDEPENDIENTE
✓ USA API HTTP
API HTTP REST I
✓ DJANGO-TASTYPIE
✓ DOCUMENTACIÓN
✓ AUTENTICACIÓN
✓ EXTENSIBLE (NOSQL…)
API HTTP REST II
✓ AUTENTICACIÓN
✓ API_USER
✓ API_KEY
✓ SIN COMPLICACIONES
DISEÑO
✓ NO SOY DISEÑADOR
DISEÑO
✓ NO SOY DISEÑADOR
✓ FÁCIL…
DISEÑO
✓ NO SOY DISEÑADOR
✓ FÁCIL…
✓ COPIO DISEÑO WEB DE
BOOTSTRAP
LOCALHOST1. GIT CLONE HTTPS://GITHUB.COM/AHMONTERO/ANGRYJOBS.GIT
2. CD ANGRYJOBS
3. CHMOD +X SETUP_ENV.SH
4. ./SETUP_ENV.SH
5. SOURCE __VEN__/BIN/ACTIVATE
6. PIP INSTALL -R REQUIREMENTS/LOCAL.TXT
7. DJANGO-ADMIN.PY SYNCDB --PYTHONPATH='ANGRYJOBS' --SETTINGS=ANGRYJOBS.SETTINGS.LOCAL
8. DJANGO-ADMIN.PY RUNSERVER --PYTHONPATH='ANGRYJOBS' --SETTINGS=ANGRYJOBS.SETTINGS.LOCAL
9. PYTHON UPDATER/FETCH_DATA.PY
10. HTTP://127.0.0.1:8000
NÚMEROS
✓ ~ 40 HORAS
✓ VERANO
✓ NINGÚN COMENTARIO
✓ POCOS RETWEETS
NÚMEROS
✓ ~ 40 HORAS
✓ VERANO
✓ NINGÚN COMENTARIO
✓ POCOS RETWEETS
➡ NO SIESTA
photo credit: http://www.flickr.com/photos/notemily/5590023825/
EXPERIENCIA
✓ SETTINGS SEPARADOS
✓ BEAUTIFUL SOUP
✓ ÚTIL EN 1 ENTREVISTA
✓ DIVERSIÓN
photo credit: http://www.flickr.com/photos/pjlewis/65273119
PROYECTO 1II
✓ DIGITAL OCEAN API
✓ NO PYTHON WRAPPER?
✓ IDEA!
ESPECIFICACIONES
✓ WRAPPER API HTTP
✓ MÉTODOS DEFINIDOS WEB
✓ DOCUMENTADOS
REQUISITOS I
✓ PYTHON
✓ REQUESTS
EXPERIENCIA
✓ REQUESTS MOLA
✓ ~ 20$ CRÉDITO
✓ NOMBRADO EN BLOG
✓ PEGATINAS!!