Diferència entre revisions de la pàgina «Programació»
(afegir etiquetes #fpinfor) |
|||
(Hi ha 8 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | <nowiki>#FpInfor #AsixMp03 #DawMp03 #DamMp03 | ||
+ | #AsixMp03Uf01 #AsixMp03Uf02 #AsixMp03Uf03 | ||
+ | #DawMp03Uf01 #DawMp03Uf02 #DawMp03Uf03 #DawMp03Uf04 #DawMp03Uf05 #DawMp03Uf06 | ||
+ | #DamMp03Uf01 #DamMp03Uf02 #DamMp03Uf03 #DamMp03Uf04 #DamMp03Uf05 #DamMp03Uf06 | ||
+ | </nowiki> | ||
+ | |||
En aquest curs treballarem amb el llenguatges Python. | En aquest curs treballarem amb el llenguatges Python. | ||
*El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu App Engine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant amb un rendiment raonable. | *El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu App Engine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant amb un rendiment raonable. | ||
Línia 11: | Línia 17: | ||
=== Llenguatge Python === | === Llenguatge Python === | ||
− | |||
* [[Python: introducció ràpida]]: per conexiedors del C. Exercicis inclosos al final. | * [[Python: introducció ràpida]]: per conexiedors del C. Exercicis inclosos al final. | ||
* [[Python: tipus bàsics de dades]]: nombres, strings (cadenes), llistes, tuples i diccionaris. Exercicis inclosos al final. | * [[Python: tipus bàsics de dades]]: nombres, strings (cadenes), llistes, tuples i diccionaris. Exercicis inclosos al final. | ||
Línia 17: | Línia 22: | ||
** [http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/ Keyword args article 1] | ** [http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/ Keyword args article 1] | ||
** [http://docs.python.org/2/tutorial/controlflow.html#keyword-arguments Keyword args (pagina oficial python.org)]. | ** [http://docs.python.org/2/tutorial/controlflow.html#keyword-arguments Keyword args (pagina oficial python.org)]. | ||
+ | * Hacks: | ||
+ | ** [[Python prompt]]: per millorar la consola Python amb autocompletion. | ||
=== POO === | === POO === | ||
Línia 45: | Línia 52: | ||
*# [[PyQt: pintar dintre d'un widget]] | *# [[PyQt: pintar dintre d'un widget]] | ||
*# [[PyQt: Timers i pilotes rebotant]] | *# [[PyQt: Timers i pilotes rebotant]] | ||
+ | *# [[PyQt: Imatges i sprites]] | ||
*# [[PyQt: joc del mur]] | *# [[PyQt: joc del mur]] | ||
*# [[PyQt4: utilitzant Qt Designer]] | *# [[PyQt4: utilitzant Qt Designer]] | ||
Línia 68: | Línia 76: | ||
== UF6: POO. Introducció a la persistència en BD == | == UF6: POO. Introducció a la persistència en BD == | ||
− | |||
− | |||
− | |||
+ | === Persistència d'objectes Python === | ||
+ | Es poden utilitzar ''Shelve'' i ''ZODB''. 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 per xarxa amb ZEO. | ||
− | |||
* [http://docs.python.org/2/library/pickle.html Pickle]: és una eina de serialització de baix nivell. Serà complicat utilitzar-la. | * [http://docs.python.org/2/library/pickle.html Pickle]: és una eina de serialització de baix nivell. Serà complicat utilitzar-la. | ||
* [http://docs.python.org/2/library/shelve.html Shelve]: utilitza ''pickle'' com a base, però simplifica la utilització. | * [http://docs.python.org/2/library/shelve.html Shelve]: utilitza ''pickle'' com a base, però simplifica la utilització. | ||
Línia 79: | Línia 85: | ||
** 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) | ||
+ | *** [[Xat amb ZEO]]: programa de xat amb el servidor ZODB per xarxa. | ||
− | + | Pràctiques 2015: | |
+ | # [[QtreGimp]]: crearem formes geomètriques i les enregistrarem en arxius amb ''shelve''. | ||
+ | # [[Web Services]] | ||
+ | # [[Web Services: exemple Escacs]] | ||
− | === | + | === Altres === |
− | + | Treballant amb Java: | |
− | + | * [[Java: introducció ràpida]] | |
+ | * [[Android]] | ||
+ | * [[JsonXat]]: establirem uns serveis web per permetre xat des de dispositius mòbils i una app Android. |
Revisió de 08:12, 25 jul 2018
#FpInfor #AsixMp03 #DawMp03 #DamMp03 #AsixMp03Uf01 #AsixMp03Uf02 #AsixMp03Uf03 #DawMp03Uf01 #DawMp03Uf02 #DawMp03Uf03 #DawMp03Uf04 #DawMp03Uf05 #DawMp03Uf06 #DamMp03Uf01 #DamMp03Uf02 #DamMp03Uf03 #DamMp03Uf04 #DamMp03Uf05 #DamMp03Uf06
En aquest curs treballarem amb el llenguatges Python.
- El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu App Engine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant amb un rendiment raonable.
Contingut
UF4: Programació Orientada a Objectes. Fonaments[modifica]
Llenguatges compilats i interpretats. Diferències i implicacions.
Referències:
- Wikipèdia: http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
- Wikibooks: http://en.wikibooks.org/wiki/Python_Programming/Object-oriented_programming
Llenguatge Python[modifica]
- Python: introducció ràpida: per conexiedors del C. Exercicis inclosos al final.
- Python: tipus bàsics de dades: nombres, strings (cadenes), llistes, tuples i diccionaris. Exercicis inclosos al final.
- Python: keyworded arguments:
- Hacks:
- Python prompt: per millorar la consola Python amb autocompletion.
POO[modifica]
- 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.
- POO operadors 2: més exemples d'operadors amb objectes (clients).
- Python: variables estàtiques o de classe
Exercicis: POO Exercicis
UF5: POO. Llibreries de classes fonamentals[modifica]
- Estructures de dades:
- Bàsiques: nombre (sencer, flotant), caràcter, booleà
- Avançades: vector, llista, matriu, cua (queue), pila (stack), hash table, arbres (binaris, multicamí), grafs
- Python: variables estàtiques o de classe
- Excepcions (amb algun exemple):
- Wikipedia: http://es.wikipedia.org/wiki/Manejo_de_excepciones
- Tutorial sobre excepcions a python.org
- Llistat d'excepcions en Python: http://docs.python.org/2/library/exceptions.html
- Python: GUI (referències). Tutorial:
- PyQt: introducció: Aplicació, layouts, signals/slots i widgets
- PyQt: pintar dintre d'un widget
- PyQt: Timers i pilotes rebotant
- PyQt: Imatges i sprites
- PyQt: joc del mur
- PyQt4: utilitzant Qt Designer
- PyQt4: utilitzant Qt Designer 2: diàlegs i ListWidget
- PyQt: accés a:
Altres temes[modifica]
Més coses:
- Templates
- Col·leccions i iteradors
- Concurrència: (llibreria threading) http://docs.python.org/2/library/threading.html
- Threads (fils d'execució)
- Timers:
- Signals
- Mutex (locks) i semàfors
- Fluxos (streams)
UF6: POO. Introducció a la persistència en BD[modifica]
Persistència d'objectes Python[modifica]
Es poden utilitzar Shelve i ZODB. 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 per xarxa amb ZEO.
- 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)
- Xat amb ZEO: programa de xat amb el servidor ZODB per xarxa.
Pràctiques 2015:
- QtreGimp: crearem formes geomètriques i les enregistrarem en arxius amb shelve.
- Web Services
- Web Services: exemple Escacs
Altres[modifica]
Treballant amb Java:
- Java: introducció ràpida
- Android
- JsonXat: establirem uns serveis web per permetre xat des de dispositius mòbils i una app Android.