0% encontró este documento útil (0 votos)
19 vistas

Programación Web Con Python-Django

Cargado por

tidemo8345
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas

Programación Web Con Python-Django

Cargado por

tidemo8345
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

PROGRAMACIÓN WEB

CON PYTHON-DJANGO
www.pascalformacion.es

1. INTRODUCCIÓN
Python es un lenguaje de programación creado a finales de los 80 cuya filosofía hace
hincapié en una sintaxis muy limpia y que favorezca un código legible. Se trata de un
lenguaje de programación multiparadigma, lo cual significa que más que forzar a los
programadores a adoptar un estilo particular de programación, permite varios estilos:
programación orientada a objetos, programación imperativa y programación funcional.
Es un lenguaje interpretado y usa tipado dinámico. Es también un lenguaje
multiplataforma.

Es administrado por la Python Software Foundation. Posee una licencia de código abierto,
denominada Python Software Foundation License 1, que es compatible con la Licencia
pública general de GNU a partir de la versión 2.1.1.

Python es un lenguaje de propósito general, de alto nivel, que enfatiza la legibilidad de


código (es muy fácil de aprender), permite hacer mucho trabajo manteniendo una
sintaxis clara, posee sentencias relativamente cortas, y muy dinámico (usado muy
frecuentemente para hacer scripts, es decir, ideal para programación Web, y disponible
en múltiples plataformas (por ejemplo, viene de serie en los sistemas operativos Linux y
Mac OS).

Actualmente es utilizado en números proyectos por parte de Google, la NASA, YouTube,


redHat, Industrial Light & Magic, Yahoo!, entre otras muchas grandes empresas.

En cuanto a su rendimiento, es comparable a PHP, uno de los lenguajes más utilizados en


el desarrollo Web, e incluso es superior a Ruby.

En cuanto a Django, como dice su propio lema, es “el framework de programación para
perfeccionistas que tienen fechas de entrega”, que “hace fácil construir mejores
aplicaciones Web rápidamente y con menos código”. Está escrito en Python, es de código
abierto, y emplea un patrón MVC (Modelo-Vista-Controlador) que lo llama MTV (Modelo-
Template-View).

El objetivo fundamental de Django es facilitar la creación de sitios web complejos. Django


pone énfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo
rápido y el principio “no te repitas” (DRY, del inglés Don't Repeat Yourself). Python es
usado en todas las partes del framework, incluso en configuraciones, archivos, y en los
modelos de datos.

Django está siendo utilizado por proyectos y empresas com Pinterest, Instagram,
Mozilla.org, The Washington Post, The Guardian y The New York Times.

1
www.pascalformacion.es

2. OBJETIVOS
Con este curso se pretende formar a programadores Web para que adquieran los
conocimientos necesarios para crear aplicaciones Web multidispositivo (PC, smartphone,
tablet) completas en poco tiempo, por tanto, con la base para la creación de proyectos
Web con alta productividad.
Para ello, definimos los siguientes objetivos:
 Conocimiento de la tecnología básica de desarrollo basada en lenguaje Python:
lenguaje Python, framework Django.
 Repaso y ampliación de conocimientos en tecnologías relacionadas con el
desarrollo Web: JavaScript, diseño Web adaptativo o responsivo, HTML 5, CSS 3.
 Integración en la práctica en un equipo de desarrollo ágil, gestionado según la
metodología de gestión de proyectos SCRUM.
 Conocimiento y gestión de una herramienta de control de versiones de código
fuente: TortoiseSVN.
 Uso en la práctica de programación Web de numerosas técnicas y herramientas
de optimización de tamaño, carga y rendimiento de páginas Web.

CONOCIMIENTOS PREVIOS:
 Conocimientos básicos de algún lenguaje de programación: C, Java, .NET (C#, VB,
ASP.NET), PHP, Pascal, etc.
 Conocimientos básicos de HTML y CSS.
 Conocimientos básicos de bases de datos relacionales y del lenguaje de consultas
SQL.

DURACIÓN:
 Python: 20 horas
 Django: 20 horas
 Diseño HTML5, CSS3 responsivo: 16 horas
 JavaScript: 8 horas
 Bootstrap: 8 horas
 Control de código fuente: 3 horas
 Técnicas de optimización Web: 3 horas
 SCRUM: 4 horas

TOTAL: 80 horas

DIRIGIDO A:
 Técnicos informáticos (módulo superior de Desarrollo de Aplicaciones Web,
módulo superior de Desarrollo de Aplicaciones Multiplataforma, Ingenieros
Técnicos en Informática de Gestión) y Diseñadores Web interesados en el
desarrollo de aplicaciones Web.

2
www.pascalformacion.es

PROGRAMA
MÓDULO 1: PYTHON
1. Introducción a Python
- Intérprete de Python
- Programas y Plugins necesarios
- Un primer programa
2. Tipos básicos
- Números
- Cadenas
- Booleanos
3. Colecciones
- Listas
- Tuplas
- Diccionarios
4. Control de flujo
- Sentencias condicionales
- Bucles
5. Funciones
- Argumentos con valores por omisión
- Palabras clave como argumentos
- Listas de argumentos arbitrarios
- Desempaquetando una lista de argumentos
6. Estilo de codificación
7. Orientación a objetos
- Clases y objetos
- Herencia
- Polimorfismo
- Encapsulación
- Clases de “nuevo estilo”
- Métodos especiales
- Diccionarios
- Cadenas
- Listas
8. Excepciones
- Errores de sintaxis
- Excepciones
- Manejo de excepciones
- Levantando excepciones
- Excepciones definidas por el usuario
- Definiendo acciones de limpieza

3
www.pascalformacion.es

- Acciones predefinidas de limpieza


9. Módulos y paquetes
10. Entrada/Salida y Ficheros
- Entrada estándar
- Parámetros de línea de comandos
- Salida estándar
- Archivos
11. Biblioteca estándar
- Interfaz al sistema operativo
- Comodines de archivos
- Matemática
- Acceso a Internet
- Fechas y tiempos
- Compresión de datos
- Medición de rendimiento
- Control de calidad
- Las pilas incluidas
- Plantillas
- Registrando
- Referencias débiles
- Herramientas para trabajar con listas
- Aritmética de punto flotante decimal
12. Expresiones regulares
- Patrones
- Usando el módulo re
13. Sockets
14. Interactuar con webs
15. Threads
- Procesos y Threads
- GIL
- Threads en Python
- Sincronización
- Datos globales independientes
- Compartir información
16. Serialización de objetos
17. Bases de datos
- DB API
- Otras opciones
18. Documentación
- Docstrings
- Pydoc
- Epydoc y reEstructuredText
19. Pruebas
- Doctest
- unittest / PyUnit
20. Distribución de aplicaciones Python
- distutils
- setuptools
- Creación de ejecutables .exe

4
www.pascalformacion.es

MÓDULO 2: DJANGO
1. Instalación y primera aplicación
- Instalación de Django.
- Creación de un proyecto con eclipse y de la primera aplicación
2. Entendiendo cómo trabaja Django
- Funcionamiento general
- Archivos importantes
3. El modelo de datos
- Explicación del modelo
- Creación de los primeros modelos
- Sincronización con la base de datos
4. Las vistas
- Explicación de las vistas
- Creación de la primera vista
- Poner en funcionamiento todo el conjunto
5. Las Plantillas
- Explicación de las plantillas
- Creación de una plantilla
- Combinar la vista con la plantilla
6. Los formularios
- Creación de formularios
- Implementación del formulario con la plantilla y la vista
7. Los archivos estáticos
- Añadiendo archivos estáticos a la plantilla (css, js, imágenes)

MÓDULO 3: DISEÑO HTML5 Y CSS3


1. CONCEPTO DE RESPONSIVE WEB DESIGN
2. HTML5 BÁSICO
- Primeros pasos
- Nueva organización de las páginas
- Nuevas etiquetas
- Nuevas posibilidades
3. CSS3 BÁSICO
- Bordes (border-radius, border-image, box-shadow...)
- Texto (text-shadow, text-overflow...)
- Color (HSL HSLA RGBA)
- Multimedia (audio y video)
- Transformaciones
- Animaciones
- Transiciones

MÓDULO 4: JAVASCRIPT
1. ¿Qué es y dónde utilizar JavaScript?
2. Estructura de control
- Variables
- Operadores
- Control de flujo
3. Funciones
- ¿Qué es una función y cómo se usa?
4. Objetos del sistema
- Clase Array

5
www.pascalformacion.es

- Clase Math
- Clase Date
- Clase String
5. DOM
- ¿Qué es DOM y cuál es su estructura?
- Funciones de DOM
6. BOM
- Window
- Document
- Location
7. Eventos
- ¿Qué es un evento?
- Aplicación de eventos

MÓDULO 5: BOOTSTRAP
1. ¿Qué es y por qué Bootstrap?
2. Lista de componentes
3. Personalizar nuestra plantilla
4. Ejemplo práctico
5. Nombre de las clases e IDs

MÓDULO 6: CONTROL DE CÓDIGO FUENTE


1. ¿Qué es SVN, CVS, SCC y por qué es importante?
- Control de código fuente: Subversion, proyecto en equipo
- SVN, CVS, SCC: el control de código fuente
- Entender Subversion (SVN)
- Instalar SVN
2. Instalar TortoiseSVN. Entendiendo repositorio y copia de trabajo
- Cliente SVN para Windows. Crear repositorio y copia de trabajo
- Lenguaje y documentación
- Repositorio local, copia de trabajo, publicar
3. TortoiseSVN. Sincronizar y actualizar repositorio
- Comandos comunes TortoiseSVN
- No aparecen iconos
- Crear archivo de texto
- Modificar y publicar archivo
- Volver a la revisión 2
4. Integrar Subversion (SVN) en Eclipse
- Integrar Subversion en Eclipse
- Complementos para integrar SVN en Eclipse
- Repositorio
-Crear proyecto en Eclipse
5. Instalar Subclipse en Eclipse
- La última versión de Subclipse. EasyEclipse
- Versión adecuada de Subclipse
6. Subclipse: Añadir proyecto a repositorio
- Proyecto a repositorio
- Volver a una versión anterior

6
www.pascalformacion.es

MÓDULO 7: TÉCNICAS DE OPTIMIZACIÓN WEB


1. Carga diferida
2. Uso de CDN
3. Evitar llamadas externas
4. Poner JavaScript al final, estilos al principio
5. Optimización de imágenes
6. Uso de Sprites
7. Data URI
8. No cambiar el tamaño de imágenes en HTML
9. Evitar CSS externo
10. Optimizar llamadas a bases de datos
11. Cargar librerías de google
12. Versiones min comprimidas
13. Uso de Async
14. Combinar múltiples archivos CSS
15. Usar link en lugar de @Import
16. Carga asíncrona de contenidos por JavaScript
17. Cachear longitudes de Arrays por JavaScript
18. Evitar Document.Write
19. Minimizar los Repaints y Reflows
20. Evitar manipulaciones del DOM innecesarias
21. Combinar ficheros .js en uno solo
22. Activar una caché en el servidor
23. Gzip en el servidor
24. Herramientas web: Pingdom, PageSpeed Insights de Google, Load Impact, Neustar Web
Performance, Webpagetest, HTTP Archive
25. Herramientas de navegador: firebug, YSlow, consola Web

MÓDULO 8: SCRUM
1. Problemas en la gestión de proyectos de software
2. Estrategias actuales al desarrollar software
3. Manifiesto ágil
4. Principios y valores
5. Gestión ágil de proyectos
6. SCRUM: el proceso
- Iteraciones
- Actividades
- Roles y responsabilidades
- Product backlog: pila de producto y pila de sprint
- Sprints
- Sprint planning meeting
- Estimación ágil
- Daily SCRUM meeting
- Sprint backlog burndown
- Sprint review meeting
- Sprint retrospective
7. Definición de “hecho”
8. Panel de control
9. Velocidad

También podría gustarte