Diferència entre revisions de la pàgina «Entorns de desenvolupament»
Salta a la navegació
Salta a la cerca
Línia 7: | Línia 7: | ||
** [http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software#Modelos_y_filosof.C3.ADas_de_desarrollo_de_software Models de desenvolupament]: en cascada, de prototips (desenvolupament ràpid), model en espiral, per etapes, iteratiu, RAD (rapid app. devel.), procés unificat, etc. | ** [http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software#Modelos_y_filosof.C3.ADas_de_desarrollo_de_software Models de desenvolupament]: en cascada, de prototips (desenvolupament ràpid), model en espiral, per etapes, iteratiu, RAD (rapid app. devel.), procés unificat, etc. | ||
* GIT (control de versions) | * GIT (control de versions) | ||
− | ** [[Git]]: resum de les comandes més habituals. | + | ** [[Git: comandes]]: resum de les comandes més habituals. |
** http://github.com : feu-vos un compte. Important per l'entrega de projectes. | ** http://github.com : feu-vos un compte. Important per l'entrega de projectes. | ||
* Frameworks per Python: Pyramid i Django | * Frameworks per Python: Pyramid i Django |
Revisió del 16:27, 16 set 2012
...intro...
Contingut
UF1: Desenvolupament de programari
- Enginyeria del software:
- Metodologia: anàlisi, especificació, disseny, desenvolupament/implementació, desplegament/test (producció), documentació, manteniment
- Metodologia de l'enginyeria de sofware (Wikipèdia).
- Models de desenvolupament: en cascada, de prototips (desenvolupament ràpid), model en espiral, per etapes, iteratiu, RAD (rapid app. devel.), procés unificat, etc.
- Metodologia: anàlisi, especificació, disseny, desenvolupament/implementació, desplegament/test (producció), documentació, manteniment
- GIT (control de versions)
- Git: comandes: resum de les comandes més habituals.
- http://github.com : feu-vos un compte. Important per l'entrega de projectes.
- Frameworks per Python: Pyramid i Django
- virtualenv (ens caldrà prèviament als scaffolds): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html
- Primer projecte en Pyramid amb "single file" (sense scaffold): http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/single_file_tasks/single_file_tasks.html
Pyramid framework
- Pylons + repoze.bfg = Pyramid
- Traversal vs. url_dispatcher
- Estructura típica dels arxius en una web amb Pyramid (models, __init__, views, etc.)
- Fase desenvolupament:
- virtualenv (ens caldrà prèviament als scaffolds): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html
- Pyramid scaffolds (esquelet de projecte): http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/project.html
- Fase deploy (desplegament/producció):
- Apache i WSGI: http://code.google.com/p/modwsgi/wiki/InstallationInstructions
- Configurant WSGI: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
- Integració de Apache WSGI i Pylons: http://code.google.com/p/modwsgi/wiki/IntegrationWithPylons
- Variables d'entorn al fitxer .ini: http://pyramid.readthedocs.org/en/latest/narr/environment.html
- En producció, per problemes de la codificació per defecte i canviar-la a "utf-8", editar /usr/lib/pythonX.Y/sitecustomize.py i afegir:
import sys
sys.setdefaultencoding('utf-8')
- Per generar passwords: http://stackoverflow.com/questions/2257441/python-random-string-generation-with-upper-case-letters-and-digits
- ...
Buildout
El buildout ens permet construir projectes amb divereses versions dels packages necessaris. Així no tindrem conflictes de diverses aplicacions en un mateix entorn de producció (passaria si instal·lessim els packages al sistema).
UF2: Optimització de programari
- Debug
- Proves (test)
- Documentació:
- Sphinx (per Python i C/C++): http://sphinx.pocoo.org/
- Optimització del codi
- Refacció
- Control de versions: GIT i SVN
- Control d'errors (bugs)
UF3: Introducció al disseny orientat a objectes
UML: Unified Modelling Language
- UML open source: Umbrello
...