Introducción a ES6

Exportación de datos en PHP a documentos.

Hoy vamos a explicar como exportar datos de una web con base de datos a distintos formatos de documentos.
 
Tenemos que distinguir dos tipos:
  • PDF
  • Word y Excel
 
¿Porqué distinguimos de dos tipos?
Porque para imprimir en PDF necesitaremos una una librería externa a PHP, sin embargo .doc y .xls lo vamos a convertir en las cabeceras (header()).
 
Empecemos por explicar el escenario de trabajo.
Tenemos una web que administra una base de datos que guarda preguntas y respuestas.
 
Captura1
Queremos que el administrador tenga la opción de exportar la base de datos a documentos.
 
Empecemos viendo cómo vamos a exportar estos datos.
 
Primero vamos a centrarnos por lo más sencillo.
Para ambos casos de tipos de formatos vamos a necesitar una página la cual vamos a imprimir en un documento. La vamos a llamar impresion.php.
 
Captura2
 
Crearemos un nuevo script que se va a encargar de gestionar la exportación.
En este nuevo script, lo primero que debemos hacer es comprobar el tipo de extensión
 
Captura3
Como observareis, detectamos extensiones solamente en función de .doc y .xls, ya que el siguiente paso es detectar si es PDF por el tipo.
 
Ahora solamente nos centraremos en los .doc y .xls
 
Una vez que detectamos que no es PDF, escribimos las cabeceras correspondientes.
 
Captura5 (1)
Siendo la cabecera que se va a encargar de exportar los datos:
 Captura4
 
El atributo filename, va a ser el archivo que nos va a generar, que decidimos ponerle de nompre “preguntas” y le añadimos la extensión detectada anteriormente.
 
Una vez hecho el require del documento de impresión creado antes, vamos a imprimir en .doc o en .xls.
 
Veamos el resultado: 
 Captura6
 
 
Ahora pasamos a trabajar con el formato PDF, para ello necesitaremos la libreria DOMPDF, el cual nos lo descargaremos de GitHub y lo incluiremos en nuestro script.
 
Ahora dentro de la detección del formato PDF, realizamos lo siguiente.
 Captura7
 
Como vemos, lo primero que hacemos es incluir la libreria.
Creamos la clase Dompdf para poder acceder a sus métodos.
Lo primero, es necesario cargar el HTML a imprimir, es importante añadir la ruta completa, que en mi caso es una constante que contiene:
 
“http://localhost/sabioGC/util/”
 
Una vez cargamos el HTML, renderizamos el resultado y una vez renderizamos, generamos el PDF con el título que queramos y su extensión .pdf
 
Así de simple.
 
Veamos el resultado:
Captura8 
 
Sin más, espero que os sea de ayuda.
 
Emanuel Galván Fontalba – Web Developer.
 
 

 

Concurso SEO – Sysmana 2016

Desde Rincón Main { } queremos recomendaros la asistencia a las conferencias que se darán en el marco de la Sysmana 2016,un evento anual organizado por el departamento de informática del I.E.S. Gran Capitán en el que profesionales del sector IT ofrecen a los alumnos de los ciclos de ASIR y DAW conferencias y coloquios sobre diferentes herramientas y proyectos informáticos.

Para saber más sobre ello pincha aquí


FTP activo Vs. FTP pasivo

Breve artículo para explicar las diferencias básicas entre los modos FTP activos y pasivos.

MODO ACTIVO
Se trata del habitual por defecto. Este modo crea dos conexiones diferentes. La primera para la transmisión de comandos desde cualquier puerto de nuestro ordenador, inferior al 1024 hacia el puerto 21 del servidor. Con esta conexión, y con el comando #port, se informa al servidor del puerto de nuestra máquina que va a escuchar los datos del servidor.

Así, para descargar un fichero, el servidor es quien inicia la transferencia de los datos, desde su puerto 20 al puerto que se le ha sido indicado. Es por eso que se le llama modo activo.

MODO PASIVO
En cambio, en pasivo es el cliente quien va a iniciar la conexión con el servidor. Lo primero se abre una conexión de control desde un puerto de la maquina local al puerto 21 del servidor. Ahora el cliente pide al servidor un puerto abierto. Una vez recibida la respuesta, es el cliente quien establece una conexión con el servidor a través del puerto que se le ha enviado.


Como conclusión, podemos decir que en el modo pasivo las conexiones se establecen por el cliente, mientras en en activo se establecen por la maquina que envía los datos.



Junto con Rafael Miranda Ibañez

Git – Bash. Tutorial.

Git-Logo-2Color-910x198
 
Vamos a hacer un breve resumen de como usar Git desde consola.
Explicaremos como usarlo a nivel individual como para hacer colaboraciones.
Sin más, espero que os sea útil. 
 
 
Creación del repositorio:
Lo vamos a crear desde GitHub:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader
Copiamos el enlace del repositorio:
 usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (1)
Ahora desde la consola de Git, vamos a clonar el repositorio:
 usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (2)
Despues de clonar, nos situamos dentro del proyecto clonado.
Ahora escribimos el código correspondiente y lo guardamos dentro de este repositorio.
 
Cuando acabemos hacemos un git status para ver si se a añadido al repositorio local con éxito:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (4)
Ahora vamos a hacerle un add:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (5)
Vemos de nuevo el git status y vemos como se han quedado en el stage área:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (6)
Vamos a hacer nuestro primer commit:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (7)
Volvemos a ver el git status y comprobamos que ya no están en el stage área.
Ahora vamos a hacer un push sobre el commit hecho, para subirlo a nuestro repositorio remoto:
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (9)
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (10)
Ahora hacemos lo mismo con el resto de versiones:
 
usoDeGitEmanuelGalvanFontalba.pdf - Adobe Reader (11)

TUTORIAL DE JAVA (1): Consejos y comentarios.

Antes de seguir leyendo, debes de leerte uno de los post anteriores donde explico como instalar JDK.


Consejos previos:

Antes de empezar a programar, debemos de conocer una serie de conceptos y consejos para conseguir un buen programa y código.


Lo primero que debemos plantearnos es si nuestro programa va a ser privativo o lo vamos a compartir con otros programadores.


Si decidimos que el programa va a ser privativo y no queremos que nadie lo entienda, debemos de ofuscar el código, es decir, el nombre de las variables, métodos, campos, estados, excepciones, etc, no deben de ser claros. Ejemplo:


int x; (variable que va a ser la edad)

public void metodo1(int x); (método que aumentará la edad en +1)


Tampoco se debería comentar el código ni tabular el código.


Si por el contrario decimos que el código lo vamos a compartir con otros programadores o el caso de que no nos importe que sea legible, el código ha de ser claro y conciso.


El nombre de las variables, métodos, campos, estados, etc han de estar bien escritos:


int edad;

public void cumpleanios(int edad);


En este caso el código ha de estar bien comentado y correctamente tabulado.


Conociendo el entorno de java:


– Comentarios:

Para comentar el código, debemos ver el tipo de comentario que queremos hacer.


El primero que vamos a definir es el comentario en linea (//), el comentario no puede superar una línea. Se suele usar para comentar cosas que te quedan por hacer en el código o por hacer una breve aclaración de alguna línea de código.




public void cumpleanios(int edad){
    ++edad; // incrementar en uno la edad

}


Ahora pasemos a definir el comentario en bloque(/* comentario */), el comentario suele ser grande y para no hacer varios comentarios en linea, pasamos a hacer un solo comentario pero en bloque. Suele usarse para grandes comentarios dentro del código.


public void cumpleanios(int edad){

    /* En este comentario vamos a definir este método

    comentario comentario comentario comentario

    comentario comentario comentario comentario

    comentario comentario comentario comentario */

    ++edad;

}


El siguiente comentario que vamos a definir se suele usar para hacer un comentario formal e ilustrativo de nuestro código, haciendo de resumen de éste. Este comentario va a ser javadoc (/** comentario*/)


/**

* Programa de ejemplo para comentario javadoc

*

* @autor Emanuel Galván Fontalba

* @version 1.0

*/

public class Ejemplo(){
    public static void main(String [] args){

      //codigo

      //codigo

      //codigo

    }

}


Éste comentario requerirá generarlo más adelante y se genera un documento en HTML, el cual se puede visualizar más adelante.


-Conceptos generales:


Bloque de código:

Todo lo que va en un bloque de código, irá entre llaves ({ código }).


Cerrar lineas de código:

Líneas de código que no definen un bloque de código, se cerrará con punto y coma ( ; ).


Reglas generales de sintaxis:


-En el nombre de las variables, la primera letra es en minúscula.

-En el nombre de las clases, la primera letra es en mayúscula.

-En el nombre de métodos, la primera letra es minúscula.




Tras esta pequeña introducción pasamos a programar y establecer los comentarios correctamente:


/**

* Programa que muestra por pantalla “Hola mundo”

*

* @autor Emanuel Galván Fontalba

* @version 1.0

*/

public class HolaMundo(){ //Bloque de código
    public static void main(String [] args){
      System.out.println(“Hola mundo!!”); // Muestra por pantalla en consola

    }

}



Todo esto lo ejecutamos correctamente como se indica en la entrada donde comentamos como instalar JDK.

Documentación Javadoc de Oracle: Enlace

Editores de páginas web.

pasos-a-seguir-para-crear-pagina-web
 
Antes de nada vamos a definir claramente que es un editor de páginas web.
Un editor de páginas web es una aplicación diseñada con el fin de facilitar la creación y edición de documentos HTML o XHTML.

¿Cómo nos facilita esto? 

Una de las formas es usando fragmentos de código, que nos va a ahorrar muchísimo tiempo a la hora de escribir nuestras marcas.
Cuando vamos a crear nuestras páginas webs, lo más habitual es encontrarnos código repetido “mil veces”. Para ahorrarnos escribirlos a mano, aparecen los fragmentos de código o snippets, que no son más que un “trozo” de código, el cual reusaremos a lo largo de nuestro marcado.

Con estas herramientas nos ahorraremos tiempo y varios quebraderos de cabeza. 
 
Vamos a clasificarlos en dos grupos. Los específicos para Windows y los que se usan en Linux o son multiplataforma.
 
Editores Windows
 
CoffeeCup HTML Editor:
 
Las principales características del CoffeeCup HTML Editor son sus asistentes (inserción de imágenes, enlaces, menús HTML, etc.) tratando a los elementos HTML como objetos con sus propiedades, resaltado de sintaxis (HTML, CSSPHP…) , editor visual (WYSIWYG), y poco más. Ha quedado un tanto desfasado, aunque sigue siendo muy válido como editor HTML.
 
Su precio es de 69 dolares.
 
 
 
Adobe Dreamweaver:
 
Es muy similar a CoffeeCup aunque con mayores prestaciones, aunque también es mucho más caro.
 
En la última versión dispone de un mejorado soporte de CSS, que junto a su autocompletado de atributos CSS (ideal para los que empiezan) lo convierte quizás en uno de los editores más cómodos para trabajar con CSS.
 
Al igual que CoffeeCup, sus asistentes harán gran parte del trabajo para los más novatos, aunque de poca utilidad para los más avanzados. Incluye lo que han llamado Spry, una librería de widgets y efectos mediante Javascript.
 
Su precio es de 24,59€ al MES.
 
 
 
Linux / Multiplataforma                                            
Amaya:
 
Está desarrollado por la W3C (World Wide Web Consortium), la asociación que se encarga de construir los estándares web.
 
Es un navegador y un editor web, cuya peculiaridad es que permite editar directamente cualquier página web que se visualice, y que permite editar SVG y MathML, para codificar e integrar junto con HTML. Es bastante rudimentario  y carece de asistentes.
 
Su software es libre.
 
URL: Amaya
 
 
Aptana:
 
Este editor está basado en Eclipse, e incluso puede usarse como plugin en éste. Su asistente de código (HTML, CSS y Javascript) es único, mostrando documentación en línea de todos y cada uno de los elementos, como en qué navegadores está soportada una función de Javascript o un atributo CSS.
 
Además muestra información en línea sobre las funciones Javascript propias. Viene con depurador de Javascript. Es el editor web más completo del mercado y además es libre (gratuito y con código fuente abierto).
 
Software libre.
 
URL: Aptana
 
 
Zend Studio:
 
Más que un editor web, es todo un entorno de desarrollo para PHP. Tiene auto completado de código HTML (no para Javascript y CSS) además de para PHP, y no es posible editar en modo WYSIWYG, aunque el resaltado de sintaxis les podría valer a los desarrolladores más expertos.
 
Su punto fuerte está en su editor y depurador PHP. Su soporte para gestionar bases de datos (MySQL, MS SQL Server, Oracle, PostgreSQL, …), lo convierte en uno de los mejores entornos de desarrollo web para PHP existente.
 
Su precio es de 89 dolares, aunque dispone de una versión de prueba.
 
BlueGriffon:

 

Este editor WYSIWYG utiliza por debajo el motor de renderizado de Firefox para visualizar las páginas a medida que las vamos editando. 
 
Cuenta con ayudas a la escritura de código y ofrece incluso la posibilidad de probar en tiempo real transformaciones 3D de CSS3 sin abandonar el editor. 
 
Es gratuito, código abierto y multiplataforma (Windows, Mac y Linux) y está disponible en Español entre otros muchos idiomas.