Páginas

2013/02/18

Más cursos de formación

He terminado dos cursos de formación realizados con BDI , esta vez han sido 'Curso de Zend Framework 2'  y 'Curso Java EE y Frameworks MVC'.

* En el curso de Zend Framework 2 hemos dado:

  • Capítulo 1: Introducción a la estructura de Zend
  • Capítulo 2: Los módulos
  • Capítulo 3: Layout, Eventos y Servicios
  • Capítulo 4: Formularios y validaciones
  • Capítulo 5: Capa Modelo (Base de Datos)
  • Capítulo 6: Autenticación y Sesiones
  • Capítulo 7: Permisos Acl
  • Capítulo 8: Interacción con Ajax


 * El curso de Java EE y Frameworks MVC:

  • Arquitectura Multicapa de Java EE / j2ee
  • Herramientas que componen Java EE
  • Cómo obtener e instalar el software
  • Servidores de Aplicación
  • Modelo de aplicación j2ee
  • Tipos de Contenedores
  • Java Servlets
  • JSP y JSTL
  • Arquitectura MVC (Modelo, Vista y Controlador)
  • Framework Struts 2
    • JSP & JSTL / Struts Tags
    • El controlador de Struts Actions Support
    • Las acciones de Struts
    • El bean del formulario
    • Controladores Multi-action (Wildcard Mappings)
    • Tipos de Results
    • Formularios y Validación
    • Interceptando un requests – con Interceptor interface
    • Inyección de dependencia de parámetros del request a un POJO
    • Manejo de Sesiones HTTP desde ActionContext
    • Struts 2 CRUD – Preparable
    • Soporte i18n
    • Soporte a DAO
    • Struts2 con Hibernate
  • Spring Framework 3.0
    • Inyección de dependencias IOC
    • El Contenedor
    • Los beans
    • Autowiring – anotaciones
    • JSP & JSTL
    • ‘Plain-old’ JSPs versus JSTL
    • Librerías de Tag para Formularios
    • Tipos de Controllers
    • Handler mappings
    • Formularios y Validación
    • Interceptando un requests – con HandlerInterceptor interface
    • Manejo de Sesiones HTTP (SessionUtility)
    • Soporte a DAO
    • Modelo implementando JDBC
    • ORM Hibernate.
    • Configurando SessionFactory
    • El Hibernate Mapping
    • El HibernateTemplate
    • El Hibernate Dao Support
  • Servidor de Aplicaciones y EJB3
    • Introducción
    • Conceptos Generales.
    • Tipos de EJB.
    • Ciclo de vida de un EJB
    • EJB con estado v/s sin estado
    • ¿Qué es un bean de sesión?
    • EJB3 con GlassFish y JBoss
    • Interfaces Locales y Remotas
    • EJB Local vs Remoto.
    • Desplegar un EJB en el Servidor.
    • JAP – API de persistencia de entidades Java
    • Entidades y Anotaciones.
    • Campos y propiedades persistentes.
    • Claves Primarias en entidades.
    • Manejando entidades.
    • Persistencia en el componente EJB.
    • Lenguaje de Consulta de Persistencia Java.
    • JAP y Hibernate 3.
    • Implementando DAO con JAP (Modelo)
  • Configurando Hibernate CFG
  • La clase HibernateUtil
  • El Hibernate Mapping
  • Mapping anotados – Hibernate
  • Introducción EJB 3.0
  • JPA (Java Persistence API)
  • Mapping anotados – Java Api Persistencia (JAP)
(Temario extenso)

2012/11/12

Libro Head First Object Oriented Analysis and Design



 Acabo de terminar de leer el libro Head First Object-Oriented Analysis & Design

. Es un libro extenso de 600 páginas que abarca y resume los pasos para hacer 'great software' inlcuyendo los principios de diseño de orientación a objetos (muchos de ellos sacados de Bertrand Meyer y Robert C.Martin), la recogida de buenos requerimientos desde el cliente, los escenarios, los diagramas de uso, los casos de uso y características (Use Case Driven Development y Feature Driven Development), el 'domain analysis', características de la arquitectura de software, testeos y el Test Driven, programar por contrato y el 'Defensive Programming'.

Gracias a su amplitud se centra en muchos temas pero tal vez se echa en falta más concreción en algunos aspectos. De todas formas es un libro que recomiendo bien para repasar conceptos, bien para aprenderlos.

Es un libro muy afín como todos los de la serie Head First de O'Reilly.  Son libros pocos comunes en cuanto a la explicación de su contenido, lleno de imágenes, gráficos y situaciones corrientes lo que le hace ser un libro de aprendizaje ameno y rápido.

2012/10/31

Curso 'Programación Android para Móviles'

Gracias a BDI Formación por el curso 'Programación Android para Móviles' que, aunque introductorio, ha sido extenso y completo, abarcando los temas de Layouts (lineales, relativos y tablas), Menús, las Activity, los Intents, almacenamiento y Bases de Datos, y la interacción con Google Maps.
Un saludo.

2011/11/28

Mensaje "Could not find driver" en PDO (Symfony y Propel)

Recibí este error al ejecutar una sentencia PDO bajo Propel y Symfony (en windows):

Uncaught exception 'PDOException' with message 'could not find driver'

Problema:

Después de ver varios foros, blogs, discusiones, stackoverflow.com, etc., no encontraba la solución a pesar de que este error tenía 108.000 entradas en Google.

Phpinfo() me mostraba que todo estaba bien excepto que en la sección PDO y en la fila de 'PDO drivers' había un mensaje 'no value'.

La instrucción de consola 'php -m' me decía que tenía los módulos PDO correspondientes bien cargados, ¿qué estaba mal?


Planteamiento:

El problema no venía de Propel, en todo caso, sería una incorrecta configuración de PDO, pero revisando el sitio oficial de PHP y MySql, pues era la BBDD con la que estaba trabajando, y viendo que los módulos PDO y pdo_mysql estaban cargados correctamente, el origen tenía que ser mi servidor Apache.


Solución:

Revisé la configuración que hay que hacer para instalar PHP5 con Apache. Tenía las siguientes líneas:

LoadModule php5_module "C:\php5.3.8\php5apache2_2.dll"
AddType application/x-httpd-php .php

pero, me faltaba la que solucionaría este problema:

añadir al final de httpd.conf la siguiente instrucción

 PHPIniDir "c:/php5.3.8" 

que es el directorio donde tengo alojado mi PHP.

Después no hay olvidarse de reiniciar Apache.





2011/10/25

FormCollection vacío en ASP.NET MVC

Tenía mi form en html bien estructurado: su submit, sus campos tipo texto... pero al pasarlo a mi Controller parametrizado con FormCollection de la siguiente forma:

[HttpPost]
public ActionResult NuevoTrabajo(FormCollection valoresForm)
{
...
}

me dí cuenta que valoresForm no contenía ningún elemento!

Encontré la solución de este, sinceramente, problema sencillo: a los campos les faltaba la etiqueta 'name', sin 'name' no hay paso de valores desde un formulario aunque tengas los identificadores bien puestos. Lo dice la normativa de HTML (http://www.w3.org/TR/html401/interact/forms.html#h-17.2).

No es lo mismo

<input type="text" id="micampo" /> (incorrecto)

que

<input type="text" id="micampo" name="micampo" />
  (correcto)

2011/06/27

JSFIDDLE

Si quieres incluir código Javascript en tu página y ver su resultado al mismo tiempo, una forma elegante nos la ofrece JsFiddle (http://jsfiddle.net/)

Para ver un ejemplo: http://paulirish.com/2011/requestanimationframe-for-smart-animating/

2011/06/22

DNI Electrónico, PCKS#11 y Firefox

Para poder usar el DNI Electrónico en Firefox, haremos lo siguiente:

a) Dentro de Firefox ir a Herramientas | Opciones... | Avanzado | Cifrado (es una pestaña) y pulsar el botón Dispositivos de Seguridad.

b) Aquí pulsaremos el botón Cargar y escribiremos como nombre de módulo 'DNIe modulo PKCs#11' por ejemplo, pulsaremos el botón Examinar y cargaremos el archivo c:\windows\system32\UsrPkcs11.dll

MsiInv o cómo obtener información del software instalado en tu ordenador (en Windows)

Pues como dice el título, si quieres saber realmente qué software tienes instalado en tu computadora con el sistema operativo Windows, recom...