python: atzo, gaur eta bihar

by Mikel Larreategi

Niri buruz

  • Mikel Larreategi, Eibar, 1981
  • Informatikan Ingeniaria (EHU, 2004)
  • Programatzailea CodeSyntax-en
  • Xakelaria, denbora librean :)

Guri buruz - CodeSyntax

  • Eibarren, 2000 urtetik
  • Gaur egun 15 langile (jende bila gabiltza)
  • Guk python

Zer da python?

  • Goi-mailako programazio lengoaia
  • Helburu orokorrekoa
  • Lengoaia interpretatuta

Ezaugarri batzuk

  • Irakurgarritasuna
  • Indentazioa (4 espazio)
  • duck-typing
  • Paradigma anitzekoa
    • Objektuei zuzendutakoa
    • Inperatiboa
    • Prozedurala
    • Funtzionala
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

                    
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Liburutegi estandarra

  • Defektuz datozen modulu asko
  • Ez dira "extrak" instalatu behar
  • Eguneroko lanen %95a betetzen dute
sys / os
Fitxategi sistemako eragiketak egiteko
datetime
datak, orduak eta hauen eragiketak
pdb
debuggerra
urllib/urllib2
webguneen htmla lortzeko
csv
csv fitxategien kudeaketa

Hirugarrenen moduluak

requests
urllib for humans
PIL / Pillow
irudien kudeaketa
Beautifulsoup
HTMLa parseatzeko
xlrd / xlwt
Excel fitxategiak irakurri eta idazteko
MySQL-python, psycopg, cx_Oracle, sqlite3, pymssql
Datu-base erlazionaletara konektatzeko

framework-ak

Eta guk zer egiten dugu?

  • Web aplikazioak
  • Intranetak
  • Datu-base kudeaketa aplikazioak
  • Edukiak kudeatzeko sistemak
  • Webguneak

Eta zer darabilgu guk?

Plone

  • Edukiak kudeatzeko sistema
  • Webguneak egiteko tresna
  • GPL lizentzia librea

Plone

  • Nabigatzailearen bidez webguneak egiteko tresna
  • Kudeaketa interfazae nabigatzailean (ez FTP, ez HTML)
  • +40 hizkuntzatara itzulita
  • Komunitate aktiboa (konferentziak, sprintak)

Eta zer darabilgu guk?

Django

  • Webguneen garapena egiteko ingurune arin eta ahaltsua
  • Datu-base erlazionalekin integrazioa
  • Plantilla sistema ahaltsua
  • Nahi duzuna hasieratik era errazean egiteko bezalakoa

Eta zer darabilgu guk?

pyramid

  • Framework arin-arina
  • Ez du erabakirik hartzen:
    • Zuk nahi duzun persistentzia/datu-basea
    • Zuk nahi duzun URL sistema (traveral/pattern)
    • Zuk nahi duzun plantilla sistema
  • Azkarra, azkarra, azkarra!!!

Eta zer darabilgu guk?

Odoo

  • ERP bat (lehen OpenERP, TinyERP)
  • Fakturazioa, kontabilitatea, CRMa, proiektuak, bezeroak, ...

Eta zer darabilgu guk?

Ansible

  • Informazio sistemen automatizaziorako tresna
  • Zerbitzariak, lan-inguruneak, aplikazioak instaƱatzeko inguruneak
  • +100 zerbitzari ditugu

Eta zer dago hortik zehar?

Ingurune zientifikoan

Kodi

  • Media Center bat
  • Pluginak python-en idatzita
  • Adibidez: ETBren APIa

... eta beste hainbat aplikazio

Zerrenda txiki bat hemen...s Erabilpen kasu ugari

python gure inguruan

  • ACPySS elkartea / PySS Donostia 2014-2015-2016
  • EuroPython Bilbo 2015 eta 2016

Laburbilduz...

  • Lengoaia erraza
  • Lengoaia ahaltsua
  • Liburutegi ugari
  • Aplikazio asko

Galderarik?

Eskerrik asko!