sábado, 12 de octubre de 2019

Un primer proyecto de Machine Learning con Python paso a paso, el “Hola Mundo”

En este artículo vamos a realizar un proyecto de Machine Learning con Python. Prepararemos datos con pandas, ajustaremos y evaluaremos modelos con scikit-learn La mejor manera de aprender el aprendizaje automático es diseñando y completando pequeños proyectos. Python puede ser intimidante al principio, es un lenguaje interpretado popular y potente. A diferencia de R, Python es un lenguaje completo y una plataforma que se puede usar tanto para investigación como desarrollo y de sistemas de producción.

Un primer proyecto de Machine Learning con Python paso a paso, el “Hola Mundo”
Mujer trabajando en un CPD
También hay muchos módulos y bibliotecas para elegir, que ofrecen múltiples formas de realizar cada tarea. Podemos sentirnos abrumados. La mejor manera de comenzar a usar Python en ML (Machine Learning) es realizar un proyecto completo.

Un proyecto de ML  puede no ser lineal, pero tiene varios pasos bien conocidos:

1. Definición del problema
2. Preparar datos
3. Evaluar algoritmos
4. Mejorar los resultados
5. Muestra de Resultados

Con esto, tendremos una plantilla para utilizar en proyectos sucesivos.

sábado, 5 de octubre de 2019

Primeros pasos con Oracle SQL Developer

Acerca de SQL Developer


Oracle SQL Developer es un entorno de desarrollo integrado (IDE) para trabajar con SQL sobre bases de datos Oracle. Oracle ofrece este producto gratis. Oracle SQL Developer admite pestañas automáticas, información del código, coincidencia de corchetes y coloreado de sintaxis para PL / SQL. 

Oracle SQL Developer es una aplicación gráfica útil para realizar tareas básicas de exploración, creación, edición y eliminación de objetos de una base de datos; ejecuta sentencias y scripts SQL; edita y depura código PL/ SQL; también manipula y exporta (descargar datos; y visualiza y crea informes.
Lo podemos descargar en la página de Oracle SQL developer. Se conecta utilizando la autenticación estándar de Oracle. Una vez conectado, permite realizar operaciones sobre objetos en la base de datos.

También permite conectarse a esquemas de MySQL y bases de datos de terceros (que no sean Oracle), como Microsoft SQL Server, Sybase Adaptive Server, Microsoft Access e IBM DB2. Permite ver metadatos y datos en estas bases de datos; y migrar de datos desde las bases de datos anteriormente descritas hasta Oracle. 

Interfaz de usuario de SQL Developer


La ventana de SQL Developer generalmente utiliza el lado izquierdo para la navegación para buscar y seleccionar objetos, y el lado derecho para mostrar información sobre los objetos seleccionados.

La figura muestra la ventana principal:

Primeros pasos con Oracle SQL Developer

sábado, 28 de septiembre de 2019

Modelado de datos

Un modelo de datos es una representación de la información consumida y producida por un sistema. El modelado de datos implica analizar los objetos de datos presentes en un sistema y las relaciones entre ellos. Los modelos de datos pueden ser conceptuales, lógicos y físicos y permiten analizar y modelar un sistema en todos los niveles de abstracción.

Modelo conceptual de datos 


Un Modelo Conceptual de Datos (CDM) representa la estructura lógica de un dato independientemente de cualquier software o estructura de almacenamiento de datos. Proporciona una representación formal de los datos necesarios para dirigir una empresa o negocio. Puede contener objetos de datos que aún no están implementados en una base de datos.

Modelado de Datos
Minifiguras trabajando en equipo.

sábado, 14 de septiembre de 2019

Exportar una tabla de Access a MySQL

Tenemos una base de datos en Access y necesitamos importar los datos desde Access que están en Windows a una base de datos MySQL que está en un servidor Linux.  Nos enfrentamos a dos dificultades importantes:

La primera es exportar datos de Access a MySQL, he buscado en internet y he encontrado algunos trucos, pero suelen ser métodos complejos que implican descargar en nuestro equipo controladores ODBC y luego hay que configurarlos, las pruebas que hice no fueron exitosas.

La otra dificultad es que el destino no se encuentra en el mismo equipo sino en un servidor web con Linux.

La solución final que tomé y yo creo que aunque no es directa es relativamente sencilla: consiste en exportar los datos en un archivo XML y luego recuperarlos en MySQL importando el archivo XML. Pero hay un problema que veremos más adelante: el formato.

Para exportar en XML basta con entrar en Access y en la pestaña datos externos elegir Archivo XML

Exportar datos desde Access


Exportar una tabla de  Access a MySQL

sábado, 31 de agosto de 2019

Paso de valores y formularios en WordPress

Antes de comenzar conviene tener clara la diferencia entre un tema hijo y un tema desde cero.

Temas hijo y temas desde cero

En primer lugar hay dos conceptos diferentes: Un tema hijo y un tema desde cero. Para hacer un tema desde cero sólo necesitamos crear una subcarpeta en themes ponerle el nombre de nuestro tema desde cero y añadir un archivo llamado style.css que puede estar también vacío y contener sólo estas líneas.

/*
Theme Name: Nombre tema desde cero
Theme URI: https://wordpress.org/themes/temacero/
Text Domain: temacero
*/

El inconveniente de un tema desde cero es que perdemos todos los formatos, cabeceras, estilos, etc. La ventaja es que es muy ligero y podemos hacer con él lo que queramos.

Nota: los nombres de los archivos y las URL´s son muy importantes en Wordpress,  así por ejemplo si creamos uno llamado page-contacto.php  Wordpress lo buscará si no encuentra nada en page.php  y lo mostrará si ponemos en el navegador  una url del estilo localhost/wordpress/contacto  si el nombre del archivo es diferente no funcionará)

si ponemos localhost/wordpress en el navegador, se  abrirá la página principal page.php pero no mostrará nuestro código del archivo anterior , para que lo muestre hay que forzarlo poniendo localhost/wordpress/contacto.

Otra alternativa son los temas hijo, en este caso copiamos el tema completo y lo renombramos como tema-child, en style.css tenemos que añadir una línea indicando quien es el tema padre.

@import url("../tema-padre/style.css");

La ventaja de este método es que conservamos todos los estilos y funcionalidades, el inconveniente, es que ocupa más.

No me voy a extender más porque hay mucha información en la web sobre cómo hacer temas hijo o temas desde cero, lo que nos interesa es una vez tenemos nuestro tema como añadirle funcionalidad y de eso ya sí que no hay nada en la web.

En nuestro caso hemos optado por un tema hijo para no perder funcionalidad.

Formularios en un tema hijo de WordPress

Lo primero que realizaremos será añadir un formulario a la página de inicio, para ello en WordPress elegiremos como página de inicio la home. Para ello tendremos que tener una página en blanco llamada Home en pages.

Paso de valores y formularios en WordPress

sábado, 17 de agosto de 2019

Depurar Temas y Plugins de WordPress Con Eclipse y Xdebug

Hay veces que no basta con las herramientas de WordPress y necesitamos depurar su código interno para hacer lo que queramos y tener más control sobre nuestra página web o blog.

Un depurador remoto, es un programa instalado en el lado del servidor que intercepta todo el código PHP que es ejecutado. Entre otras funciones, tiene la capacidad de parar la ejecución del código a mitad y pasar información a un cliente externo, como un Entorno de Desarrollo Integrado (IDE, Integrated Development Environment). mostraremos cómo usar el depurador remoto XDebug y el IDE de código abierto Eclipse juntos para procesar el código de WordPress y resolver errores. 

En la mayoría de sitios que he visitado para buscar información te cuentan la chorrada de que en el archivo wp-config.php hay que poner la entrada define ('WP_DEBUG' = , true); y a correr, como si todo el mundo supiéramos ya como montar un entorno de desarrollo y depuración para WordPress. No ha sido fácil encontrar información de cómo hacer esto, pero esto es lo que he conseguido después de buscar mucho y probar. Esta guía es para Linux, pero se puede aplicar prácticamente igual (excepto los comandos de Linux) para instalarlo sobre Windows.

El entorno de desarrollo

Se supone que ya tenemos instalado un servidor Apache/PHP/MySQL y una instalación de WordPress. Si no es así, aquí están las instrucciones para hacerlo.

Instalar Xdebug

Para instalar XDebug en el servidor tenemos que abrir un terminar con permisos de root y escribir.

sudo apt-get install php-xdebug

Reiniciamos el servidor apache, para ello basta con pulsar el botón restart del servidor apache de la carpeta Manage Servers del panel de administración de Bitnami-LAMP.  Si no vemos este panel, lo podemos arrancar desde el terminal de Linux con:

sudo  cd /opt/wordpress

y luego escribimos

./manager-linux-x64.run

Esto nos abrirá esta pantalla en la que en la pestaña Manage server podemos poner en marcha MySQL y el servidor Apache.

Reiniciar el servidor Apache desde Bitnami