Las directivas en JSP se usan para proporcionar información al motor JSP para generar la página. Existen tres tipos de directivas: página, inclusión de archivos y librería de etiquetas. La directiva page se usa para definir atributos que se aplican a toda la página JSP e incluye archivos, como el tipo de contenido, la página de error y la importación de clases.
Servlets que manejan datos de formularios HTMLjubacalo
El documento describe un formulario HTML que solicita el nombre de usuario y contraseña de un usuario. Luego, un servlet recupera estos parámetros y los muestra en otra página generada por el servlet. El servlet usa los métodos getParameter de HttpServletRequest para recuperar los valores de los campos del formulario enviados a través del método POST.
El documento explica cómo utilizar beans en JSP. Se crea una clase bean que define atributos y métodos. Luego, en un formulario JSP se capturan datos del usuario y se almacenan en instancias de beans mediante las etiquetas <jsp:useBean>, <jsp:setProperty> y <jsp:getProperty>. Finalmente, en una página de procesamiento se muestran los valores almacenados y resultados de métodos de los beans.
Los JavaBeans son componentes reutilizables e independientes de la plataforma que permiten trabajar en equipo de forma eficiente al ocultar la implementación y mostrar solo los servicios que ofrecen. Los JavaBeans se pueden usar como controles de interfaz o para representar entidades y reglas de negocio en aplicaciones web. En JSP, las etiquetas <jsp:useBean>, <jsp:setProperty> y <jsp:getProperty> permiten instanciar y configurar JavaBeans y acceder a sus propiedades y métodos.
Este documento explica los tres métodos para insertar código Java en una página JSP: expresiones, scriptlets y declaraciones. Las expresiones evalúan código Java y escriben el resultado, los scriptlets ejecutan código arbitrario y pueden escribir en la salida, y las declaraciones definen variables fuera de los métodos del servlet generado.
CONECTAR C# CON POSTGRESQL USANDO NPGSQL 2.0.11Miguel Angel
El documento describe los pasos para conectar una aplicación C# a una base de datos PostgreSQL usando el conector Npgsql. Incluye la creación de una biblioteca de clases con métodos para conectarse, ejecutar consultas y transacciones, y un proyecto de prueba que referencia esta biblioteca y configura la conexión a la base de datos.
Introducción a Doctrine 2 ORM.
Una introducción y uso básico de Doctrine 2 ORM en PHP sin utilizar frameworks, a través de un proyecto sencillo usado como ejemplo.
El codigo PHP del proyecto se puede descargar de su repositorio de Github: (https://github.com/gonfert/cine.git)
Presentación realizada para la X Symfony Zaragoza
Las directivas en JSP se usan para proporcionar información al motor JSP para generar la página. Existen tres tipos de directivas: página, inclusión de archivos y librería de etiquetas. La directiva page se usa para definir atributos que se aplican a toda la página JSP e incluye archivos, como el tipo de contenido, la página de error y la importación de clases.
Servlets que manejan datos de formularios HTMLjubacalo
El documento describe un formulario HTML que solicita el nombre de usuario y contraseña de un usuario. Luego, un servlet recupera estos parámetros y los muestra en otra página generada por el servlet. El servlet usa los métodos getParameter de HttpServletRequest para recuperar los valores de los campos del formulario enviados a través del método POST.
El documento explica cómo utilizar beans en JSP. Se crea una clase bean que define atributos y métodos. Luego, en un formulario JSP se capturan datos del usuario y se almacenan en instancias de beans mediante las etiquetas <jsp:useBean>, <jsp:setProperty> y <jsp:getProperty>. Finalmente, en una página de procesamiento se muestran los valores almacenados y resultados de métodos de los beans.
Los JavaBeans son componentes reutilizables e independientes de la plataforma que permiten trabajar en equipo de forma eficiente al ocultar la implementación y mostrar solo los servicios que ofrecen. Los JavaBeans se pueden usar como controles de interfaz o para representar entidades y reglas de negocio en aplicaciones web. En JSP, las etiquetas <jsp:useBean>, <jsp:setProperty> y <jsp:getProperty> permiten instanciar y configurar JavaBeans y acceder a sus propiedades y métodos.
Este documento explica los tres métodos para insertar código Java en una página JSP: expresiones, scriptlets y declaraciones. Las expresiones evalúan código Java y escriben el resultado, los scriptlets ejecutan código arbitrario y pueden escribir en la salida, y las declaraciones definen variables fuera de los métodos del servlet generado.
CONECTAR C# CON POSTGRESQL USANDO NPGSQL 2.0.11Miguel Angel
El documento describe los pasos para conectar una aplicación C# a una base de datos PostgreSQL usando el conector Npgsql. Incluye la creación de una biblioteca de clases con métodos para conectarse, ejecutar consultas y transacciones, y un proyecto de prueba que referencia esta biblioteca y configura la conexión a la base de datos.
Introducción a Doctrine 2 ORM.
Una introducción y uso básico de Doctrine 2 ORM en PHP sin utilizar frameworks, a través de un proyecto sencillo usado como ejemplo.
El codigo PHP del proyecto se puede descargar de su repositorio de Github: (https://github.com/gonfert/cine.git)
Presentación realizada para la X Symfony Zaragoza
Acceso a BBDD mediante un servlet que delega temporalmente el procesamiento de la petición a un segundo servlet que conecta y realiza operaciones con la base de datos.
Este documento describe los pasos para crear una conexión a una base de datos Postgres utilizando JDBC, incluyendo identificar la base de datos, obtener el driver JDBC, configurar la variable CLASSPATH, importar java.sql, cargar el driver, obtener la conexión mediante DriverManager.getConnection(), y ejecutar consultas SQL.
Este documento describe varios servicios web de Google, incluyendo Gmail (servicio de correo electrónico), Google Maps (servicio de mapeo), Google Docs (procesador de texto y hoja de cálculo en línea), Google AdSense (servicio de publicidad contextual), y Google Analytics (herramienta de análisis web). También menciona otros servicios como Google Reader, Google Calendar, Google Books, Google Scholar y Google Talk. En total, el documento lista más de 40 servicios web diferentes ofrecidos por Google.
Este documento describe el uso de JDBC y JavaBeans en aplicaciones web JSP. Explica cómo ejecutar sentencias SQL para insertar, actualizar y eliminar datos, y cómo obtener resultados de consultas SQL en objetos ResultSet. También cubre el uso de JavaBeans en JSP mediante la acción <jsp:useBean> y cómo mostrar datos de la base de datos en vistas JSP.
Este documento proporciona una introducción a MySQL, incluyendo cómo instalarlo y configurarlo, usar el cliente MySQL, crear bases de datos y tablas, y realizar consultas básicas. Explica cómo crear usuarios y administrar los permisos, e introduce conceptos clave como tipos de datos, claves primarias y autoincrementales.
SqlConnection representa una sesión con una base de datos de SQL Server. Se usa para conectarse a una base de datos y ejecutar comandos. El estado de la conexión puede ser abierto o cerrado, y debe cerrarse explícitamente cuando ya no se necesite para liberar recursos. Proporciona métodos para crear comandos, consultar esquemas de la base de datos, y administrar transacciones.
Instalación y configuración de ldap server en Debian 8.7.1Diego Montiel
Este documento describe los pasos para instalar y configurar un servidor LDAP y clientes LDAP. A nivel de servidor, se instala slapd y paquetes relacionados, se configura la base de datos, el esquema y los permisos. Luego se agregan usuarios y grupos mediante scripts. En el cliente, se instalan paquetes LDAP, se editan archivos de configuración como nsswitch.conf y ldap.conf, y se prueba el login con usuarios LDAP.
SqlCommand representa instrucciones Transact-SQL o procedimientos almacenados que se ejecutan en una base de datos de SQL Server. Proporciona propiedades como CommandText, CommandTimeout y Connection, así como métodos para ejecutar comandos como ExecuteNonQuery, ExecuteReader y ExecuteScalar de forma síncrona y asíncrona. SqlCommand permite ejecutar diferentes tipos de sentencias SQL en una base de datos.
Este documento proporciona una introducción a JDBC y las bases de datos en Java. Explica los conceptos clave como conexiones a bases de datos, ejecución de sentencias SQL, tipos de statements, prepared statements, stored procedures, transacciones y más. También incluye ejemplos de código para establecer conexiones, consultas, inserciones, actualizaciones y eliminaciones de datos.
Visión General sobre los Paquetes
–Agrupan de forma lógica subprogramas.
–Compuestos de dos partes:
•Especificación
•Cuerpo
–No pueden ser llamados, parametrizados o anidados
–Permiten al SGBD leer múltiples objetos en memoria, de una sola vez.
Este documento proporciona una introducción a las pruebas unitarias. Explica la definición de pruebas unitarias, los marcos de prueba como JUnit, cómo escribir una primera prueba unitaria, diferentes tipos de pruebas, cómo usar Mockito para pruebas con dependencias, y cómo escribir código que sea fácil de probar mediante técnicas como inyección de dependencias. También discute excusas comunes para no escribir pruebas unitarias y cómo detectar código que no es fácil de probar.
El documento describe los componentes de Symfony, que son bibliotecas PHP independientes que resuelven problemas comunes de desarrollo web como la carga de clases, enrutamiento, solicitudes HTTP, validación de datos y más. El documento explica cómo instalar los componentes de forma individual y proporciona ejemplos de uso de componentes como Yaml, Finder, Process, DomCrawler, CssSelector y Templating.
Este documento describe la configuración necesaria para integrar el sistema OTRS con un directorio activo LDAP para autenticación de usuarios, sincronización automática de grupos y permisos, y autenticación de clientes. La configuración especifica la dirección del servidor LDAP, la base de datos, los atributos de usuario, y mapea los grupos LDAP a grupos y permisos en OTRS. Esto permite que OTRS obtenga información de usuario como nombre y correo electrónico del directorio activo y asigne accesos basados en la ubic
Este documento introduce jQuery y sus nuevas funcionalidades en la versión 1.3. Explica brevemente qué es JavaScript y su modelo DOM, y presenta jQuery como una librería que simplifica el uso de JavaScript al abstraer las diferencias entre navegadores. Detalla los selectores y filtros de jQuery para manipular elementos DOM, así como las nuevas características de jQuery 1.3 como mejoras en el rendimiento y compatibilidad con navegadores.
Charla hecha en el Codemotion celebrado en España los dias 18 y 19 de octubre para explicar de manera introductoria como administrar un entorno de mongodb en producción. Haciendo enfasis en hacer backups y sharding. Se recomienda descargar para su mejor visualización (Gifs animados ^_^)
Este documento describe los pasos para configurar un cluster de alta disponibilidad entre los servidores cganen1 y cganen6, incluyendo apagar servicios y bases de datos existentes, reasignar discos entre los nodos, configurar el cluster mediante Heartbeat y CRM, y probar la alta disponibilidad.
SqlDataAdapter es una clase que representa un conjunto de comandos de datos y una conexión de base de datos SQL que se utiliza para rellenar un objeto DataSet y actualizar una base de datos SQL. SqlDataAdapter actúa como puente entre un objeto DataSet y una base de datos SQL, permitiendo la carga y actualización de datos a través de comandos como SelectCommand, InsertCommand, UpdateCommand y DeleteCommand. SqlDataAdapter se utiliza comúnmente junto con SqlConnection, SqlCommand y DataSet para recuperar y guardar datos de una base de datos SQL.
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
Vagrant y Puppet son herramientas que permiten crear entornos de desarrollo portables y reproducibles mediante la virtualización y la automatización de la configuración. Vagrant usa máquinas virtuales para ejecutar el mismo sistema operativo y software en diferentes equipos. Puppet automatiza y asegura que la configuración de los sistemas sea consistente mediante manifests que definen los recursos y su estado deseado. Juntos, Vagrant y Puppet ayudan a los desarrolladores a tener entornos idénticos en local y producción.
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y PuppetRichard Moya
Este documento describe el uso de las herramientas Vagrant y Puppet para la virtualización y provisionamiento de entornos de desarrollo. Explica cómo Vagrant permite crear máquinas virtuales rápidamente a partir de imágenes predefinidas y cómo Puppet gestiona de forma declarativa la configuración de dichas máquinas mediante la instalación de paquetes, módulos y la configuración de archivos y servicios. También presenta Puphpet, una herramienta gráfica que facilita la generación del archivo de configuración de Vag
Charla sobre gestión de servidores con Puppet realizada en los cursos del GUL de la Universidad Carlos III de Madrid por Javier Turégano.
La charla se divide principalmente en 3 partes: describir el problema que encaramos cuando intentamos administrar el creciente número de servidores que requiere cualquier entidad que consuma servicios de IT, algunas de las posibles soluciones que podemos encontrar y qué características debe tener una solución a este problema y por último cómo Puppet puede ser esta solución y una pequeña introducción a cómo funciona.
Este documento presenta una introducción al lenguaje de configuración de Puppet. Explica conceptos clave como manifiestos, catálogos, nodos, módulos, clases, recursos y etiquetas. Detalla cómo se definen y declaran estos elementos para modelar y gestionar configuraciones de sistemas de forma declarativa con Puppet.
Acceso a BBDD mediante un servlet que delega temporalmente el procesamiento de la petición a un segundo servlet que conecta y realiza operaciones con la base de datos.
Este documento describe los pasos para crear una conexión a una base de datos Postgres utilizando JDBC, incluyendo identificar la base de datos, obtener el driver JDBC, configurar la variable CLASSPATH, importar java.sql, cargar el driver, obtener la conexión mediante DriverManager.getConnection(), y ejecutar consultas SQL.
Este documento describe varios servicios web de Google, incluyendo Gmail (servicio de correo electrónico), Google Maps (servicio de mapeo), Google Docs (procesador de texto y hoja de cálculo en línea), Google AdSense (servicio de publicidad contextual), y Google Analytics (herramienta de análisis web). También menciona otros servicios como Google Reader, Google Calendar, Google Books, Google Scholar y Google Talk. En total, el documento lista más de 40 servicios web diferentes ofrecidos por Google.
Este documento describe el uso de JDBC y JavaBeans en aplicaciones web JSP. Explica cómo ejecutar sentencias SQL para insertar, actualizar y eliminar datos, y cómo obtener resultados de consultas SQL en objetos ResultSet. También cubre el uso de JavaBeans en JSP mediante la acción <jsp:useBean> y cómo mostrar datos de la base de datos en vistas JSP.
Este documento proporciona una introducción a MySQL, incluyendo cómo instalarlo y configurarlo, usar el cliente MySQL, crear bases de datos y tablas, y realizar consultas básicas. Explica cómo crear usuarios y administrar los permisos, e introduce conceptos clave como tipos de datos, claves primarias y autoincrementales.
SqlConnection representa una sesión con una base de datos de SQL Server. Se usa para conectarse a una base de datos y ejecutar comandos. El estado de la conexión puede ser abierto o cerrado, y debe cerrarse explícitamente cuando ya no se necesite para liberar recursos. Proporciona métodos para crear comandos, consultar esquemas de la base de datos, y administrar transacciones.
Instalación y configuración de ldap server en Debian 8.7.1Diego Montiel
Este documento describe los pasos para instalar y configurar un servidor LDAP y clientes LDAP. A nivel de servidor, se instala slapd y paquetes relacionados, se configura la base de datos, el esquema y los permisos. Luego se agregan usuarios y grupos mediante scripts. En el cliente, se instalan paquetes LDAP, se editan archivos de configuración como nsswitch.conf y ldap.conf, y se prueba el login con usuarios LDAP.
SqlCommand representa instrucciones Transact-SQL o procedimientos almacenados que se ejecutan en una base de datos de SQL Server. Proporciona propiedades como CommandText, CommandTimeout y Connection, así como métodos para ejecutar comandos como ExecuteNonQuery, ExecuteReader y ExecuteScalar de forma síncrona y asíncrona. SqlCommand permite ejecutar diferentes tipos de sentencias SQL en una base de datos.
Este documento proporciona una introducción a JDBC y las bases de datos en Java. Explica los conceptos clave como conexiones a bases de datos, ejecución de sentencias SQL, tipos de statements, prepared statements, stored procedures, transacciones y más. También incluye ejemplos de código para establecer conexiones, consultas, inserciones, actualizaciones y eliminaciones de datos.
Visión General sobre los Paquetes
–Agrupan de forma lógica subprogramas.
–Compuestos de dos partes:
•Especificación
•Cuerpo
–No pueden ser llamados, parametrizados o anidados
–Permiten al SGBD leer múltiples objetos en memoria, de una sola vez.
Este documento proporciona una introducción a las pruebas unitarias. Explica la definición de pruebas unitarias, los marcos de prueba como JUnit, cómo escribir una primera prueba unitaria, diferentes tipos de pruebas, cómo usar Mockito para pruebas con dependencias, y cómo escribir código que sea fácil de probar mediante técnicas como inyección de dependencias. También discute excusas comunes para no escribir pruebas unitarias y cómo detectar código que no es fácil de probar.
El documento describe los componentes de Symfony, que son bibliotecas PHP independientes que resuelven problemas comunes de desarrollo web como la carga de clases, enrutamiento, solicitudes HTTP, validación de datos y más. El documento explica cómo instalar los componentes de forma individual y proporciona ejemplos de uso de componentes como Yaml, Finder, Process, DomCrawler, CssSelector y Templating.
Este documento describe la configuración necesaria para integrar el sistema OTRS con un directorio activo LDAP para autenticación de usuarios, sincronización automática de grupos y permisos, y autenticación de clientes. La configuración especifica la dirección del servidor LDAP, la base de datos, los atributos de usuario, y mapea los grupos LDAP a grupos y permisos en OTRS. Esto permite que OTRS obtenga información de usuario como nombre y correo electrónico del directorio activo y asigne accesos basados en la ubic
Este documento introduce jQuery y sus nuevas funcionalidades en la versión 1.3. Explica brevemente qué es JavaScript y su modelo DOM, y presenta jQuery como una librería que simplifica el uso de JavaScript al abstraer las diferencias entre navegadores. Detalla los selectores y filtros de jQuery para manipular elementos DOM, así como las nuevas características de jQuery 1.3 como mejoras en el rendimiento y compatibilidad con navegadores.
Charla hecha en el Codemotion celebrado en España los dias 18 y 19 de octubre para explicar de manera introductoria como administrar un entorno de mongodb en producción. Haciendo enfasis en hacer backups y sharding. Se recomienda descargar para su mejor visualización (Gifs animados ^_^)
Este documento describe los pasos para configurar un cluster de alta disponibilidad entre los servidores cganen1 y cganen6, incluyendo apagar servicios y bases de datos existentes, reasignar discos entre los nodos, configurar el cluster mediante Heartbeat y CRM, y probar la alta disponibilidad.
SqlDataAdapter es una clase que representa un conjunto de comandos de datos y una conexión de base de datos SQL que se utiliza para rellenar un objeto DataSet y actualizar una base de datos SQL. SqlDataAdapter actúa como puente entre un objeto DataSet y una base de datos SQL, permitiendo la carga y actualización de datos a través de comandos como SelectCommand, InsertCommand, UpdateCommand y DeleteCommand. SqlDataAdapter se utiliza comúnmente junto con SqlConnection, SqlCommand y DataSet para recuperar y guardar datos de una base de datos SQL.
Entornos de desarrollo para symfony2 con vagrant y puppetVicent Soria Durá
Vagrant y Puppet son herramientas que permiten crear entornos de desarrollo portables y reproducibles mediante la virtualización y la automatización de la configuración. Vagrant usa máquinas virtuales para ejecutar el mismo sistema operativo y software en diferentes equipos. Puppet automatiza y asegura que la configuración de los sistemas sea consistente mediante manifests que definen los recursos y su estado deseado. Juntos, Vagrant y Puppet ayudan a los desarrolladores a tener entornos idénticos en local y producción.
Virtualización y Provisionamiento: Entornos de desarrollo con Vagrant y PuppetRichard Moya
Este documento describe el uso de las herramientas Vagrant y Puppet para la virtualización y provisionamiento de entornos de desarrollo. Explica cómo Vagrant permite crear máquinas virtuales rápidamente a partir de imágenes predefinidas y cómo Puppet gestiona de forma declarativa la configuración de dichas máquinas mediante la instalación de paquetes, módulos y la configuración de archivos y servicios. También presenta Puphpet, una herramienta gráfica que facilita la generación del archivo de configuración de Vag
Charla sobre gestión de servidores con Puppet realizada en los cursos del GUL de la Universidad Carlos III de Madrid por Javier Turégano.
La charla se divide principalmente en 3 partes: describir el problema que encaramos cuando intentamos administrar el creciente número de servidores que requiere cualquier entidad que consuma servicios de IT, algunas de las posibles soluciones que podemos encontrar y qué características debe tener una solución a este problema y por último cómo Puppet puede ser esta solución y una pequeña introducción a cómo funciona.
Este documento presenta una introducción al lenguaje de configuración de Puppet. Explica conceptos clave como manifiestos, catálogos, nodos, módulos, clases, recursos y etiquetas. Detalla cómo se definen y declaran estos elementos para modelar y gestionar configuraciones de sistemas de forma declarativa con Puppet.
Puppet for Security Compliance - GOSCON 2010Puppet
Teyo Tyree's slides from GOSCON 2010. He covers the benefits for a modern approach to systems management and compliance and the key advantages of a model-driven approach to configuration management.
Package your Java EE Application using Docker and KubernetesArun Gupta
The document discusses packaging Java EE applications using Docker and Kubernetes. It provides an overview of Docker concepts like images, containers and registries. It then discusses Kubernetes which provides an orchestration system for Docker containers to provide capabilities like self-healing, auto-restarting and scheduling containers across hosts. Key Kubernetes concepts discussed include pods, services and replication controllers. Finally it provides some recipes for running Java EE applications on Kubernetes using Docker containers.
Este documento presenta las principales novedades de Drupal 7 relacionadas con el desarrollo, incluyendo las entidades en el núcleo, Entity API, Field API, Form API, render arrays, caché, File API, registro de código y Queue API. El orador destaca cómo estas mejoras facilitan el desarrollo y proporcionan más flexibilidad.
Rendimiento en aplicaciones web con Symfony2Asier Marqués
Este documento proporciona consejos sobre el rendimiento web y el rendimiento de bases de datos. Resalta la importancia de diseñar aplicaciones de forma escalable y optimizada desde el principio. Recomienda evitar consultas innecesarias, usar índices adecuados, particionar tablas grandes y almacenar en caché resultados cuando sea posible. También analiza herramientas para medir el rendimiento como Varnish y sugiere opciones alternativas como NoSQL para ciertos casos.
Este documento proporciona consejos sobre cómo mejorar el rendimiento de Magento. Explica cómo instalar Magento de forma básica, identificar cuellos de botella mediante herramientas como XHProf y Onestic Profiler, y realizar pruebas de carga. También recomienda el uso de caché externa como Varnish o Ezapps Zoom, y escalar la infraestructura separando la aplicación del servidor de base de datos.
Cómo hacer analítica de los logs que producen las aplicaciones. Introducción teorica y práctica de las tres herramientas ELK(ElasticSearch, Logstash y Kibana).
Este documento presenta una introducción a Symfony2, incluyendo una descripción de sus características principales como su arquitectura MVC, componentes y uso de bundles. También incluye una guía paso a paso para crear un pequeño CRUD con Symfony2 usando Doctrine ORM para gestionar los modelos y Twig para las plantillas.
El documento describe cómo persistir objetos en una base de datos relacional usando un ORM (Object Relational Mapper) como NHibernate. Explica que NHibernate mapea las clases de objetos a tablas de la base de datos y permite almacenar y recuperar objetos de forma que se comporten como si fueran persistentes, a pesar de que la base de datos subyacente sea relacional.
Este documento describe el uso de objetos relacionales mapeados (ORM) en Hibernate. Explica las ventajas de usar un ORM como Hibernate, como simplifica el trabajo con bases de datos relacionales al permitir el uso de objetos en lugar de filas y tablas. También describe los componentes clave de Hibernate como las clases de mapeo, la configuración y la API para realizar operaciones CRUD.
Este documento describe la arquitectura y componentes principales para conectar una aplicación Java a una base de datos MySQL utilizando JDBC. Explica cómo el driver JDBC MySQL implementa las interfaces estándar de JDBC para establecer una conexión cliente-servidor, y cómo las clases Connection, Statement y ResultSet permiten ejecutar consultas y actualizar datos en la base de datos. También resume los pasos típicos del ciclo de vida de una conexión JDBC.
Instalacion de Pentaho 5 con PostgreSQL 9.3Ciencias
Este documento proporciona instrucciones para instalar y configurar Pentaho BI Suite 5 CE con PostgreSQL 9.3. Primero, se crean las bases de datos y usuarios necesarios ejecutando scripts SQL. Luego, se realizan configuraciones de JDBC, Hibernate, Quartz y Jackrabbit para apuntar a las bases de datos de PostgreSQL. Finalmente, se proporcionan soluciones a errores comunes y se explica cómo iniciar sesión en la consola de usuario de Pentaho.
Este documento describe Node.js, un entorno de ejecución de JavaScript para el servidor. Explica que Node.js fue desarrollado en 2009 y usa un modelo de programación asíncrono basado en eventos. También describe características clave como el uso de módulos, streams y el objeto process, y cómo Node.js se puede usar para crear servidores HTTP y manejar E/S del sistema de archivos.
Systemd es un sistema y conjunto de herramientas para administrar servicios y daemons en Linux. Administra el arranque del sistema, servicios, sockets, puntos de montaje, cgroups y más. Usa unidades como .service, .socket, .target para describir y administrar estos componentes. Algunas de sus ventajas son iniciar servicios a demanda, optimizar recursos con cgroups y soportar snapshots del sistema. Se puede usar systemctl para administrar el estado y configuración de las unidades y servicios.
Este documento describe cómo configurar la replicación de datos entre un nodo maestro y un nodo esclavo utilizando PostgreSQL y la herramienta de replicación Slony-I en Windows. Los pasos incluyen instalar PostgreSQL y Slony-I, crear las bases de datos maestra y esclava, configurar pg_hba.conf y crear scripts de Slony para definir el cluster de replicación y las tablas a replicar. Una vez ejecutados los scripts en los nodos maestro y esclavo, la replicación se habilita de forma asíncrona para mant
Este documento describe cómo configurar la replicación de datos entre un nodo maestro y un nodo esclavo utilizando PostgreSQL y la herramienta de replicación Slony-I en Windows. Los pasos incluyen instalar PostgreSQL y Slony-I, crear las bases de datos en ambos nodos, configurar pg_hba.conf y firewall para permitir la conexión, crear scripts de Slony para definir la replicación, y ejecutar los scripts en cada nodo para iniciar la replicación de datos.
El documento describe el mapeo objeto-relacional (ORM) y el framework Hibernate. Explica las ventajas de usar ORM, como trabajar con objetos en lugar de filas de datos. También describe los componentes clave de Hibernate como las clases, los archivos XML de mapeo y de configuración, y cómo crear, leer, actualizar y eliminar objetos de la base de datos.
Este documento proporciona consejos sobre cómo lograr pruebas unitarias efectivas con Pytest. En primer lugar, explica que Pytest es un marco de pruebas maduro y bien documentado. Luego, destaca que las pruebas efectivas garantizan que el código funcione correctamente, habilitan la refactorización y ayudan a depurar. Finalmente, ofrece recomendaciones como usar fixtures, parametrización, marcadores y dobles de prueba para hacer que las pruebas sean rápidas, manejables y mantenibles.
Este documento describe la utilidad de JDBC para conectarse a bases de datos desde Java usando SQL. JDBC permite que una aplicación Java se conecte a diferentes bases de datos y las trate de forma uniforme. JDBC consta de dos capas: la capa de aplicación que contiene las clases para interactuar con la base de datos, y la capa de controlador que se encarga de establecer la comunicación con el RDBMS.
En este segundo Meetup nos vamos a centrar en la integración de Mulesoft con BBDD relacionales del tipo Oracle, PostgreSQL, MySQL
1.- Cómo se integra Java con Bases de Datos relacionales
2.- Somo los integradores capaces de hacer de DBA? pide ayuda a alguien que sepa de BBDD
3.- Pool de conexiones, que es y para que nos sirve para mejorar el rendimiento
4.- ApiKit OData, generación automática de API´s a partir de una conexión de BD
5.- Historias para no dormir y casos extraños que nos encontramos en los clientes
PARADIGMAS FP Y OOP USANDO TÉCNICAS AVANZADAS DE PROGRAMACIÓN ASÍNCRONAVíctor Bolinches
Este documento presenta conceptos sobre programación funcional y orientada a objetos, incluyendo paradigmas de programación, objetos inmutables, lambdas, traits, mixins, comunicación entre procesos asíncrona y síncrona, y el patrón promesa. También describe técnicas de programación funcional como traits, mixins y lambdas en varios lenguajes de programación como Java, C#, C/C++.
Este documento presenta una introducción a Oracle Coherence, una plataforma de memoria distribuida en red que permite el almacenamiento y procesamiento de datos a gran escala. Explica cómo funciona Coherence, cómo montar un cluster Coherence, cómo monitorear y operar Coherence, y presenta más funcionalidades avanzadas. Finalmente, incluye una demostración de uso de Coherence para consultar y procesar un gran grafo de datos de redes sociales.
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptxGabriela Soto
Este documento presenta el programa de un bootcamp de 4 semanas sobre fundamentos de inteligencia artificial que incluye introducciones a conceptos de machine learning, redes neuronales y TensorFlow.js, así como ejercicios prácticos. La cuarta semana se centra en introducir las redes neuronales y TensorFlow.js, explicando los componentes básicos de las redes neuronales, diferentes tipos de arquitecturas y cómo usar TensorFlow.js para ejercicios prácticos.
Similar a Presentación charla puppet madrid devops 2012 (20)
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...micarnavaltupatrimon
Mi Carnaval es la plataforma que permite conectar al usuario con la cultura y la emoción del Carnaval de Blancos y Negros en la ciudad de Pasto, esta plataforma brinda una amplia oferta de productos, servicios, tiquetería e información relevante para generarle valor al usuario, además, la plataforma realiza un levantamiento de datos de los espectadores que se registran, capturando su actividad e información relevante para generar la analítica demográfica del evento en tiempo real, con estos datos se generan modelos predictivos, que permiten una mejor preparación y organización del evento, de esta manera ayudando a reducir la congestión, las largas filas y, así como a identificar áreas de alto riesgo de delincuencia y otros problemas de seguridad.
4. Qué es puppet?
-- Sistema de gestión de la configuración
++ claaaroo... ¿Y eso para qué sirve?
-- Sirve para configurar y mantener un grupo de
máquinas, todas iguales, de forma fácil y
sencilla.
++ Ya! y algo más?
-- Permite actualizar automáticamente la
configuración de las máquinas, y auditarlas.
++ Ok.
5. Por qué puppet?
Consistencia y flexibilidad
● La configuración manual no es
recomendable. Errores humanos.
● Las "Golden Images" son un quebradero de
cabeza.
6. Por qué puppet?
Consistencia y flexibilidad
● La configuración y el mantenimiento se
realiza desde un control central.
● Permite reproducir configuraciones
completas en caso de desastre (10th floor
test).
7. Por qué puppet?
Consistencia y flexibilidad
● Roles, clases y nodos: misma definición,
misma configuración, o no ;)
● Un agente corre cada 30 minutos: cada 30
minutos se comprueba que todo está en su
sitio, y si no, se vuelve a poner en su sitio.
8. Por qué puppet?
Operativa
● La curva de aprendizaje y el <grin> "Time To
Market" </grin> son muy cortos.
● Toda la lógica de configuración bajo Puppet:
permite que cualquiera lo lea y entienda sin
tener que indagar.
● No más páginas horribles explicando cómo
configurar algo. Céntrate en el servicio en sí.
9. Por qué puppet?
Portabilidad
● La configuración, al ser reproducible,
permite llevar el servicio a una nube privada,
pública, o a un entorno de pruebas aislado
con facilidad.
● Si los módulos están bien escritos, no
debería importar mucho si se trata de
Debian, Ubuntu, CentOS o RHEL.
10. Cómo lo hace?
Tecnología
● Basado en lenguaje ruby.
● Utiliza un lenguaje específico de dominio
(DSL) orientado a "recursos"
Recursos? Comandos, Usuarios,
Ficheros, Paquetes de software,
Servicios, Configuraciones específicas,
etc.
11. Cómo lo hace?
La práctica:
Stand Alone (puppet apply)
● El programa (agente) accede a unos ficheros de
definición (.pp)
● Verifica si el estado de los recursos indicados en el
fichero coinciden con la situación actual.
● Si todo es correcto, aplica los cambios hasta
coincidir con lo indicado en el fichero de definición.
nodo
SCM
init.pp
Binarios
Fuentes
12. Cómo lo hace?
La práctica:
Servidor (puppetmaster)
● El cliente (agente) conecta al master y le envía
información de sí mismo. Parte de esa información
podría ser reutilizada para generar el catálogo (IP,
hostname, etc).
● El master compila un catálogo a medida para el nodo.
● Una vez el nodo dispone del catálogo éste se aplica
localmente llegando hasta el estado deseado.
● Puppet Master tiene su propia interfaz para descarga
de ficheros.
puppet
master
SCM
init.pp
Binarios
Fuentes
Binarios
Fuentes
nodo
nodo
nodo
Otros
15. Componentes de puppet
Lenguaje Facter
Puppet
agent
Puppet
Master
Consolas
External
Node
Classifiers
Store
Configs
Marionette
Collective
Nivel fácil
Nivel
Intermedio
Nivel
Avanzado
Nivel Experto
17. Lenguaje: Definición de Recursos
Recursos: elementos de un sistema operativo
File
Directory
Link
Mount
Points
Users
Groups
Hosts Packages
...
Tipos Nombres Parámetros
24. Variables
Variables personalizadas definidas en los manifests
Relativa
$version = "3.1.1"
Global (concepto: 'namespaces' y 'namespace raíz' $::)
$::version = "3.1.1"
De clase (namespace = clase::subclase::variable)
$glassfish::params::version = "3.1.1"
External lookups
Son siempre personalizados. Permiten definir los valores de una
variable personalizada consultando datos externos (un CSV, MySQL, etc).
Variables de sistema (obtenidas mediante facter, siempre globales)
$hostname, $architecture, $memorysize, $memoryfree,...
26. Facts
De sistema
Afirmación: "kernelversion es un fact"
facter: programa auxiliar que recolecta y muestra información (facts)
relativa al sistema.
Ej: facter kernelversion
2.6.32
Puppet accede a estas variables (facts) para usarlas en las definiciones, como
valores para asignar o para usarlas en las condiciones de puppet. Los facts
pueden extenderse creando tus propios ... "custom facts".
30. Parámetros
Te permiten diseñar módulos genericos que sirven para diferentes tipos de
servidor sin harcodear hostnames dentro de los manifests. Un ejemplo de
cómo NO hacerlo:
class sysctl {
case $hostname ? {
'database1.localdomain': {
file { "/etc/sysctl.conf":
source => "puppet:///sysctl/etc/sysctl.conf.database",
}
}
}
}
node database1.localdomain { include sysctl }
31. Parámetros
Una forma más limpia de hacerlo (no me atrevo a decir que la correcta):
class sysctl ( $server_role = 'default' ) {
file { "/etc/sysctl.conf":
source => "puppet:///sysctl/etc/sysctl.conf.$server_role",
}
}
node database1.localdomain {
class { 'sysctl': server_role => 'database' }
}
node frontend1.localdomain {
class { 'sysctl': server_role => 'frontend' }
}
33. Nodos
Puppet describe la configuración de un nodo, definiendo los recursos y sus
parámetros, en ficheros llamados
manifiestos (manifests o ficheros
*.pp).
Un nodo se referencia por ...
● un nombre estático
'bm.ovh.net'
● una expresión regular
/^bm..*$/
node '*.ovh.net' {
user { 'paquito':
ensure => present,
uid => 2000,
gid => 2000,
home => '/home/paquito',
managehome => true,
shell => '/bin/zsh',
require => [Package['zsh'],Group['fulanito']],
}
group { 'fulanito':
ensure => present,
gid => 2000,
}
package { 'zsh':
ensure => present,
}
}
34. Nodos
En un nodo puede definirse toda la
configuración que necesite esa máquina.
No es lo más elegante, pero funciona.
Si quieres hacerlo elegante y mantenible,
necesitarás definir roles y trabajar con
diferentes clases.
36. Clases
Las clases sólo definen lo que debe llevar el
sistema, para complementar estas definiciones,
se necesitan ficheros, binarios, scripts, etc.
Para estructurar una clase y sus herramientas
auxiliares se definen los módulos.
37. Módulos
Puppet define módulos como:
"re-usable bundles of code and data"
Contienen clases, binarios, imágenes, scripts,
tests, incluso código adicional para extender
las funcionalidades de puppet.
40. Relaciones entre recursos
Puppet es declarativo, lo que importa es el
final. El orden es cuestión de relaciones entre
recursos, no de posición en un fichero de
manifest.
Es responsabilidad nuestra establecer las
relaciones entre recursos y controlar el orden
de ejecución.
41. Referencias a Recursos
Relaciones entre recursos
Recurso Referencia y Genéricos
user User
file File
package Package
exec Exec
... ...
42. Relaciones entre recursos
before (antes) y require (después)
notify (publisher) y subscribe (subscriber)
File before Exec
Exec require File
File notify Exec
Exec subscribe File
43. Relaciones entre recursos
Ejemplo del fichero modules/sysctl/manifests/init.pp donde desplegamos un
fichero y solo si este cambia se ejecuta un comando.
class sysctl ( $server_role = 'default' ) {
file { "/etc/sysctl.conf":
source => "puppet:///sysctl/etc/sysctl.conf.$server_role",
}
exec { "reload_sysctl":
command => "/sbin/sysctl -p",
refreshonly => true,
returns => [ 0,255 ],
subscribe => File["/etc/sysctl.conf"],
require => File["/etc/sysctl.conf"],
}
}
44. Relaciones entre recursos
Ejemplo del fichero modules/sysctl/manifests/init.pp donde desplegamos un
fichero y solo si este cambia se ejecuta un comando.
class sysctl ( $server_role = 'default' ) {
file { "/etc/sysctl.conf":
source => "puppet:///sysctl/etc/sysctl.conf.$server_role",
notify => File["/etc/sysctl.conf"],
}
exec { "reload_sysctl":
command => "/sbin/sysctl -p",
refreshonly => true,
returns => [ 0,255 ],
require => File["/etc/sysctl.conf"],
}
}
45. Relaciones entre recursos
Ejemplo del fichero modules/rsync/manifests/server.pp donde algunos ficheros
solo se despliegan en sistemas Debian, y han de desplegarse antes de
levantar el servicio.
class rsync ( $server_role = 'default' ) {
case $operatingsystem {
Debian: {
file { "$rsync_default_config":
content =>
template("rsync/etc/default/rsync.erb.$server_role"),
notify => Service["$rsync"],
before => Service["$rsync"],
}
}
}
46. Relaciones entre recursos
Podemos crear stages que funcionan como
containers para tener un arbol de
dependencias más limpio.
stage { "boot": before => Stage["os"] }
stage { "service": }
stage { "os": before => Stage["service"] }
stage { "online": require => Stage["service"] }
class { 'apt': stage => 'boot' }
class { 'rsyslog': stage => 'os' }
class { 'zabbix': stage => 'os' }
class { 'nginx': conf_role => 'default', vhost_role => 'f00', stage => 'service'}
48. Componentes de puppet
Lenguaje Facter
Puppet
agent
Puppet
Master
Consolas
External
Node
Classifiers
Store
Configs
Marionette
Collective
Nivel fácil
Nivel
Intermedio
Nivel
Avanzado
Nivel Experto
50. Instalación
Por paquetería
# apt-get install puppet
# yum install puppet
Verificar las versiones de puppet (2.7.x recomendado)
También se puede descargar el código fuente. Mejor leer
la documentación para ello.
54. Uso: Primeros pasos
# puppet resource user root
# pupet resource user
# puppet resource package
# puppet resource service
55. Uso: Primeros pasos
# puppet resource package zsh ensure=latest
# puppet resource user paquito ensure=present
managehome=true shell=/bin/zsh
56. Uso: Primeros pasos
# vi init.pp
node 'bm.ovh.net' {
user { 'paquito':
ensure => present,
uid => 2000,
gid => 2000,
home => '/home/paquito',
managehome => true,
shell => '/bin/zsh',
require => [Package['zsh'],Group['fulanito']],
}
group { 'fulanito':
ensure => present,
gid => 2000,
}
package { 'zsh':
ensure => present,
}
}
# puppet apply init.pp
Con esto ya se puede trabajar.
Agrégale un repositorio de código o un servidor
de ficheros (SMB o NFS) y una entrada en el
crontab, y ya tienes una gestión de la
configuración mínima.
59. Componentes de puppet
Lenguaje Facter
Puppet
agent
Puppet
Master
Consolas
External
Node
Classifiers
Store
Configs
Marionette
Collective
Nivel fácil
Nivel
Intermedio
Nivel
Avanzado
Nivel Experto
60. Puppet Master
● Compila el catálogo y parsea las templates
para los nodos.
● Ofrece una PKI completa para emitir
certificados SSL a los nodos. Gestiona su
autenticación.
● Habilita la transferencia y backup de ficheros
(puppet:/// y filebucket)
61. Puppet Master
● Suele ser el encargado de servir los ficheros
a los agentes.
● Suele ser el encargado de recibir y procesar
informes de los nodos.
● Se recomienda utilizar Passenger con
NGiNX o Apache y a ser posible Ruby
Enterprise para un mejor rendimiento.
62. Cómo funciona el puppet master?
A nivel plataforma es una aplicación web (puerto HTTP
8140) con autenticación SSL de cliente.
Puppetmaster corre sobre Webrick (un servidor web usado
en rails), aunque también puede correr sobre
{apache|nginx} + (passenger|mongrel).
Al ser web, es ampliamente escalable: sólo tienes que
añadir más:
Balanceadores
Balanceadores
Sistemas de
ficherosSistemas de
ficherosSistemas de
ficheros
Balanceadores
Nodos
Nodos
Otros:
BBDD
LDAP
Otros:
BBDD
LDAP
63. Instalación del servidor
Por paquetería
# apt-get install puppetmaster
# yum install puppet-server
También se puede descargar el código fuente. Mejor leer
la documentación para ello.
64. Puppet Master: Entornos
Concepto:
Entorno es una agrupación de recursos a
desplegar en un conjunto de nodos de forma
estructural.
● Elemento de la configuración del master
● Permite mantener distintas versiones de
recursos en directorios separados
● Permite mantener distintos proyectos
separados en el mismo servidor puppet
● Por defecto: production.
● Se aplican con la opción --environment
puppet
master
[development] [production]
recurso
v1.2recurso
v1.2
recurso
v1.2recurso
v1
65. Puppet Master: CA
Puppet incorpora una CA para reconocer a
todos los nodos que gestiona.
=> el nombre del nodo se extrae del certificado
=> el nodo genera el CSR y puppetmaster
firma el certificado
=> para que funcione, el cliente y el servidor
deben de estar sincronizados (fallo de SSL)
=> un nodo no puede cambiar de nombre una
vez configurado. (necesita borrado de .pem)
=> la CA está basada en openssl y es sencilla
71. Puppet Master @ Tuenti
● SCM: svn, git, mercurial
● puppet1/puppet2: hacen pull del SCM.
Ambos atienden peticiones de catálogo.
Podemos utilizar cuantos queramos.
● puppet1: CA master. los certificados son
preferiblemente emitidos por ella y
replicados a otros masters.
● puppet1: servicio de invalidación de CA,
igual que el anterior.
● pdash1: reports (interfaz web y trabajos
batch)
72. Y hasta aquí por hoy...
Nos quedan todavía muchas cosas que
contar, pero vendrán más adelante.
74. Componentes de puppet
Lenguaje Facter
Puppet
agent
Puppet
Master
Consolas
External
Node
Classifiers
Store
Configs
Marionette
Collective
Nivel fácil
Nivel
Intermedio
Nivel
Avanzado
Nivel Experto
75. Componentes de puppet
Lenguaje Facter
Puppet
agent
Puppet
Master
Consolas
External
Node
Classifiers
Store
Configs
Marionette
Collective
Nivel fácil
Nivel
Intermedio
Nivel
Avanzado
Nivel Experto
76. Componentes de puppet
Lenguaje Facter
Puppet
agent
Puppet
Master
Consolas
External
Node
Classifiers
Store
Configs
Marionette
Collective
Nivel fácil
Nivel
Intermedio
Nivel
Avanzado
Nivel Experto