Diferència entre revisions de la pàgina «Programació»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 63: Línia 63:
 
== UF6: POO. Introducció a la persistència en BD ==
 
== UF6: POO. Introducció a la persistència en BD ==
 
Per gestionar la persistència d'objectes en Python disposem de diverses eines:
 
Per gestionar la persistència d'objectes en Python disposem de diverses eines:
* Pickle: http://docs.python.org/2/library/pickle.html
+
* [http://docs.python.org/2/library/pickle.html Pickle]: és una eina de serialització de baix nivell. Serà complicat utilitzar-la.
* Shelve: http://docs.python.org/2/library/shelve.html
+
* [http://docs.python.org/2/library/shelve.html Shelve]: utilitza ''pickle'' com a base, però simplifica la utilització.
 
* [[ZODB]]:
 
* [[ZODB]]:
 
** Zope Object Database: versió ''data storage'' (1 fitxer)
 
** Zope Object Database: versió ''data storage'' (1 fitxer)
 
** ZEO (ZODB per socket, permet múltiples connexions simultànies)
 
** ZEO (ZODB per socket, permet múltiples connexions simultànies)
  
S'utilitzen de manera molt similar, disposem d'una arrel (root), que és un diccionari persistent, on poden enregistrar els nostres objectes.
+
Utilitzarem ''Shelve'' i ''ZODB'' en el curs. S'utilitzen de manera molt similar, disposem d'una arrel (root), que és un diccionari persistent, on poden enregistrar els nostres objectes. La diferència més important és que a ZODB cal fer un commit, i que té la possibilitat de multithreading mitjançant l'accés amb ZEO.
  
  
 
=== Exercicis ===
 
=== Exercicis ===
# ...
+
# [[QtreGimp]]: crearem formes geomètriques i les enregistrarem en arxius amb ''shelve''.
 +
# [[Chat amb ZEO]]

Revisió del 11:03, 16 abr 2013

En aquest curs treballarem amb les llenguatges C++ i Python.

  • El llenguatge C/C++ continua sent la opció més generalitzada de programació de sistema i té la capacitat de poder treballar a molt baix nivell, mantenint així un rendiment molt alt.
  • El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu AppEngine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant però amb menys rendiment.


UF4: Programació Orientada a Objectes. Fonaments

Llenguatges compilats i interpretats. Diferències i implicacions.

Referències:

Llenguatge Python

POO

  • POO Introducció. Objectes i les característiques (herència, sobrecàrrega, polimorfisme).
  • POO Classes. Instanciació, mètodes i atributs, constructors i destructors.
  • POO Herència. Una de les principals característiques de la POO.
  • POO: Polimorfisme. Una altra característica principal de la POO. En Python no és tan rellevant degut als tipus dinàmics.
  • POO Sobrecàrrega: la sobrecàrrega s'aplica a mètodes i operadors. En Python no s'utilitza en favor dels keyworded arguments.
  • POO Operadors: operacions de comparació entre classes.

Exercicis: POO Exercicis


UF5: POO. Llibreries de classes fonamentals


UF6: POO. Introducció a la persistència en BD

Per gestionar la persistència d'objectes en Python disposem de diverses eines:

  • Pickle: és una eina de serialització de baix nivell. Serà complicat utilitzar-la.
  • Shelve: utilitza pickle com a base, però simplifica la utilització.
  • ZODB:
    • Zope Object Database: versió data storage (1 fitxer)
    • ZEO (ZODB per socket, permet múltiples connexions simultànies)

Utilitzarem Shelve i ZODB en el curs. S'utilitzen de manera molt similar, disposem d'una arrel (root), que és un diccionari persistent, on poden enregistrar els nostres objectes. La diferència més important és que a ZODB cal fer un commit, i que té la possibilitat de multithreading mitjançant l'accés amb ZEO.


Exercicis

  1. QtreGimp: crearem formes geomètriques i les enregistrarem en arxius amb shelve.
  2. Chat amb ZEO