Ir al contenido principal

Entradas

Mostrando entradas de 2014

Gscanf , el scanf de C con limitación máxima de caracteres usando NCurses y GCC

Introducción Siempre he sido un poco melancólico y me ha llamado la atención el desarrollo de aplicaciones en modo texto, sobre todo cuando recuerdo mis primeros programas hechos en Turbo Basic 1.0. He ido a algunos establecimientos y en pleno 2014 he visto que usan programas TUI ( Text User Interface) , y no es que estén anticuados.  Por ejemplo, conozco un establecimiento que tiene un servidor Linux y los puntos de venta se conectan por terminal usando ssh , teniendo tan solo un equipo sin X y sin nada más para aprobechar recursos.   Por ese motivo fue que me puse a investigar sobre qué librería usarían esos programas. Buscando di con la libreria NCurses  , habrán muchas más , pero esta lleva muchos años, es un proyecto GNU, tiene libros oficiales que explican como funciona y mucha documentación. Al grano Recordando cuando empecé a programar en Turbo Basic 1.0 para MSDOS , me acuerdo que una vez necesité tener un  input  con limitación d

Configurar Hibernate 4.3.7 con Spring MVC 4.0.6

Configurar Hibernate 4.3.7 con Spring MVC 4.0.6 Aveces  cuando creamos un proyecto Spring MVC  , configurar Hibernate para usarlo en nuestro proyecto MVC puede llegar a ser una auténtica aventura ( no lo digo yo solo , lo he leido en varios post mientras buscaba información) ,  Para quitarte el mal trago de buscar información , te voy a dejar este post con la configuración necesaria para configurar Hibernate 4.3.7 que es la última versión estable hasta el momento, creando un proyecto Spring MVC desde cero. Empecemos... Primer paso: Crear el nuevo proyecto. Abrimos nuestro STS ( Spring Tool Suite) , un derivado de Eclipse para trabajar con Spring, y vamos a Nuevo-> Spring-> Spring Project Segundo paso: Elegimos Spring MVC Project Y escribimos el título de nuestro proyecto. Tercer paso: Elegimos el nombre del paquete. Finalmente pulsamos "Finish" y ya tenemos nuestro proyecto por defecto creado. Ahora pasamos

LPIC-1 101 y 102

Certificación LPIC-1 101-102. Linux Certification Institute. Esta entrada es especial para mi porque he aprobado el certificado LPIC-1 de Linux. Al buscar información sobre las certificaciones , pues encontré información confusa y sé de algunas personas que quieren prepararse el exámen para un futuro , y si las bases de los exámenes no cambian quería aclararle las dudas. Quien no sepa lo que es LPIC-1 , es una certificación del Linux Professional Institute  la cual avala que tienes los conocimientos mínimos para gestionar un sistema operativo Linux independientemente de su distribución, como siempre te pongo la información más extendida   aquí .  El LPIC-1 es el primer exámen de todos y te digo desde ya que tiene su dificultad. Esto lo digo porque yo mismo al llevar un par de años con Linux , creía que mis conocimientos en Linux eran suficientes y solo había visto la punta del iceberg. Y en el primer nivel tocas muchas cosas. Lo que te quiero decir con esto es que e

El juego de la vida de John Horton Conway en Python 3.4 y Java

El juego de la vida en Python 3.4 y Java Swing Hace cosa de un año más o menos había programado "El juego de la vida" en Java por curiosidad.  Un buen amigo un día que pasó por casa vió que había hecho ese juego , él me dijo: "Si quieres hacer un buen ejercicio para cuando tengas que empezar con un lenguaje de programación nuevo y quieras conocer su sintaxis rápido , programa el juego de la vida" .  Pues esta vez me ha tocado empezar con Python y para seguir su consejo hice el juego y la verdad es que me ha valido porque he tocado lo básico de Python , condicionales, bucles, arrays, funciones ... casi todo lo básico. A diferencia con el de Java, es que en Pytho n lo hice en modo texto , usando la terminal ya que para poder usar ventanas tengo que usar  WxPython   y muy a mi pesar ahora mismo el tiempo apremia y no quería extenderme más con la librería de ventanas ya que por el momento la necesidad de usar ventanas con Python no me hace f

TDD - Pruebas de unidad con PHPUnit en Ubuntu con Composer

TDD - Pruebas de unidad con PHPUnit En esta entrada quiero enseñarte con un ejemplo como hacer   pruebas de unidad con PHPUnit.  e instalarlo en Ubuntu. Pero primero una pequeña introducción por si estás perdido ... ¿Qué es TDD ?. Si alguien puede explicar mucho mejor que yo qué es TDD , pues ese es  Carlos Ble  y su libro Diseño Ágil con TDD  ya que yo practicamente estoy introduciéndome en el mundillo ya que TDD son muchas cosas . Pero en pocas palabras, TDD es hacer los test de tus funciones y luego codificar la función en sí. TDD es una disciplina , es cambiar tu manera de programar de siempre. Hacer TDD con PHPUnit es hacer una batería de pruebas de unidad (test) , para todas las funciones de tu programa y en caso de que alguna no supere la prueba, PHPUnit te avisará y sabrás que hay algo mal en tu código, en el sentido de que la función no devuelve lo esperado para el test.  Podrás decir ... " Vaya rollo ! ¿No tengo poco trabajo con programar

Configurar JAVA_HOME, MAVEN_HOME, M2_HOME, CATALINA_HOME EN UBUNTU.

Configurar JAVA_HOME, MAVEN_HOME, M2_HOME, CATALINA_HOME EN UBUNTU. Este post lo escribo porque necesitaba  configurar mi JAVA_HOME , para poder trabajar con  Apache Maven . y editando mi  .profile  lo solucioné. Y si alguien quiere hacerlo, pues así puede. Dentro de nuestro home, existe un archivo oculto llamado .profile y editandolo podemos crear  variables de entorno para nuestro usuario logueado en el sistema. Aquí tienes un  .profile completo, de Ubuntu 12.10 # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "