Archive for the 'Programación' Category

¿C o Java?

Textual Education

Este ha sido, es y será durante un largo tiempo uno de los principales motivos de discusión en la historia de la computación, y sobre todo en el área académica. ¿Qué se debe aprender/enseñar en la carrera, C o Java?

Para mí la respuesta podría ser ambos o incluso ninguno, en realidad lo que se debe de aprender es a programar, esto implica el tener la capacidad de conocer cualquier nuevo lenguaje de programación que aparezca en el futuro, así como de indagar dentro de las entrañas del lenguaje para saber cómo sacarle el mayor provecho y desarrollar aplicaciones realmente eficientes.

Lo importante es saber portear o traducir código de un lenguaje a otro, saber estructurar el problema de una manera genérica para luego únicamente traducirlo a ese lenguaje de programación en el que se nos está pidiendo el desarrollo.

Ciertamente la industria se acopla a la oferta de profesionales en informática, prueba de ello es que al ser Java es uno de los lenguajes más enseñados actualmente, encontramos mucha demanda de conocedores de este lenguaje, lo que genera que más personas lo aprendan y todo esto se convierta en un circulo vicioso. Ahora bien, existen otros temas que rara vez se enseñarán en una universidad, tales como SAP o IBM WebSphere, pero su conocimiento tiene una buena demanda en el mercado y es bien remunerado.

Está bien llevar un curso que enseñe cómo manejar un lenguaje de programación específico, pero es mucho mejor tener los conceptos teóricos y abstractos, para poder desenvolverse en cualquier ámbito. Además, todo el mundo sabe que lo que hay que aprender es C ;-)
Creative Commons License photo credit: Mr.Thomas

Validando formularios con Yav

Si bien la mayoría de plataformas de desarrollo web cuentan con validación de formas integrada, realizan esta validación de forma muy básica: requieren campos obligatorios, validan el tipo de dato que se ha ingresado, etc.

Para esto utilizo la herramienta Yav, la cual cumple con todos los requerimientos deseados para estos casos:

  1. Basado en Javascript, por lo que le informa inmediatamente al usuario sobre el problema.
  2. Diferentes opciones de visualización: Mensaje de alerta, mensaje general en la página y mensajes de ayuda para cada campo.
  3. Validaciones comunes incluidas (campos requeridos, validación de direcciones de correo electrónico, números, fechas, …).
  4. Extensible. Es muy fácil crear reglas de validación propias.

Además de esto, posee soporte multilenguaje y en la versión 2.0 han agregado máscaras de entrada y soporte de Ajax, entre otras cosas.

Conexión a SFTP-SSH2 con PHP

En este post describo rápidamente como conectarse con PHP a un servidor SFTP que utilice SSH2. Debe notarse que SFTP no es lo mismo que FTP sobre SSL.

Primero debe de instalarse la extensión PECL/ssh2, la cual requiere las librerías OpenSSL y libssh2. La extensión puede ser instalada con PEAR: pear install ssh2, luego se agrega la extensión a php.ini y se reinicia el servidor web. Para confirmar que la instalación haya sido exitosa se puede revisar que la sección Registered PHP Streams incluya el conjunto de protocolos de SSH2, entre ellos ssh2.sftp:

ssh2.sftp en php.ini

Las funciones principales para realizar la conexión son:

  • ssh2_connect: Establece una conexión hacia un servidor SSH.
  • ssh2_auth_password: Realiza la autenticación sobre SSH utilizando la dupla usuario/contraseña.
  • ssh2_sftp: Solicita el subsistema SFTP del servidor SSH al que se está conectado.

Ahora veamos un breve ejemplo de como utilizar estas funciones para descargar y cargar archivos a un servidor SFTP:

// Creando conexión a servidor SSH, puerto 22
$conexion = ssh2_connect("miservidor.com", 22);
// Autenticandose en el servidor
ssh2_auth_password($conn, "usuario", "password");
// Solicitando subsistema SFTP
$sftp = ssh2_sftp($conn);
// Cargando un archivo al servidor, usando el stream ssh2.sftp
$upload = copy("archivo.local", "ssh2.sftp://$sftp/archivo.remoto");