miércoles, 2 de marzo de 2011

Página con libros GRATIS sobre programación web

Navegando por internet me he topado con una página que ofrece libros gratis para programación web. Por el momento, no se si seguirán actualizando, existen los siguientes manuales:
  • CSS avanzado

  • Symfony, la guía definitiva

  • Introducción a AJAX

  • Introducción a JavaScript

  • Introducción a CSS

  • Introducción a XHTML

  • Referencia de CSS 2.1

¡No dudéis en consultarla es una buena herramienta para programar nuestras páginas web!
Fuente: http://www.librosweb.es/

lunes, 28 de febrero de 2011

¿Qué lenguaje de programación aprendo?

A la hora de elegir aprender un nuevo lenguaje de programación, muchas veces nos guiamos por su reputación en un momento dado, por foros o por comparativas de alguna web.

Sin embargo, ¿te has planteado alguna vez qué lenguaje de programación merece realmente la pena aprender?

Código Spaghetti en Facebook

Sin título

Nos complace anunciar que ya estamos en Facebook. Si te haces fan de nuestra pagina, estarás al tanto de las entradas que vayamos escribiendo, podrás solicitar que escribamos sobre algún tema que te gustaría leer, escribir comentarios, etc..

A que esperas para pasarte por http://www.facebook.com/pages/Código-Spaghetti

sábado, 26 de febrero de 2011

Key Shortcuts en Notepad++

Últimamente, por el trabajo, estoy usando mucho la función "Reload from disk" que trae Notepad++. Esta función lo que hace es recargar el fichero que hay actualmente abierto, mostrando los nuevos cambios que han habido en el.

Para mi trabajo, es una función esencial, pero cada vez que quería refrescar el fichero tenia que ir con el ratón, seleccionar "File" y luego "Reload From Disk". Vamos, un coñazo.  ¿No hay ninguna tecla para hacer eso? Pues no, no la hay. Pero se puede poner.

Si vamos al menú "Setting/Shortcut mapper" (o “Configurar/Gestor de atajos de teclado” si lo tenemos en castellano) podemos indica la combinación de teclas que queramos para cada acción. 

image


Haciendo doble clic sobre la funciona que queremos realizar se nos abrirá un cuadro de dialogo para poder seleccionar la tecla que le queremos asignar.

image

Tan fácil como eso. Ahora, con una sola tecla ya recargo el fichero. Fácil y rápido.
Un saludo

jueves, 24 de febrero de 2011

Entity Framework: Filtrar datos con Linq en C#

Voy a escribir un tema que me ha llevado varias horas de búsquedas por internet. Lo que vamos a realizar es una búsqueda con Linq cuando se trata de filtrar por más de un campo.Tenemos un formulario como el siguiente:

image


Autenticación y autorización en Apache mediante .htaccess

Muchas veces, cuando hacemos una página web tenemos una parte publica y otra parte privada. El acceso a la parte privada normalmente requiere de autenticación con usuario/contraseña, la cual solemos hacer mediante programación de la web con PHP, ASP.NET, o el lenguaje que estemos usando.

Pero… ¿y si queremos proteger una carpeta entera? Por ejemplo, tenemos una serie de paginas en un directorio “admin”, y queremos proteger las webs de administración para que sólo el “admin” tenga acceso.

Tenemos dos formas de hacerlo: programando por código que cuando se accede a esas paginas el usuario esté logueado o bien mediante autenticación en el propio servidor.

En esta entrada vamos a ver como se hace mediante autenticación en el servidor.

Con dos simples pasos, podemos crear una contraseña con un servidor Apache XAMPP instalado en Windows.

1. Crear un fichero de passwords

htpasswd –c [dir_destino] [username]

 

Por ejemplo, para el usuario “admin” haremos lo siguiente:

image

El servidor almacenará la contraseña en MD5 en el fichero especificado. La opción “-c” es para crear el fichero en caso de que no exista. Una vez creado, se puede omitir este parámetro.

 

2. Creamos un fichero con nombre “.htaccess”

Dentro de este fichero escribimos lo siguiente:

AuthType Basic
AuthName "By Invitation Only"
AuthUserFile "C:\xampp\apache\conf\passwords"
Require user admin

 

Y copiamos el fichero en la carpeta que queremos proteger.

Ahora, cada vez que se intente acceder a una de las paginas contenidas dentro de ese directorio, aparecerá una ventana para introducir usuario y contraseña. El usuario debe ser “admin” y las contraseña aquella que hemos creado anteriormente.

Puede ser un poco raro autenticarte de esta manera, pero puede ser útil si las funciones protegidas las va a usar un solo usuario, y lo que buscas es tener un control de usuarios rápido, y concreto para paginas muy especificas.

miércoles, 23 de febrero de 2011

Datepicker con JQuery para nuestra web

¿Cuántas veces hemos tenido que validar una fecha y controlar que el usuario escriba el formato correcto?. Pues bien la librería JQuery nos ofrece un Datepicker con un diseño atractivo.
Nos fijamos en el siguiente código html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">

<head></head>

<body>

<form id="formulario">
<input type="text" name="fecha" id="datepicker"/>
</form>  
</body>

</html>

Validar Direccion e-mail en php

Cuando hacemos un formulario de registro para una web, tenemos que comprobar los campos. Uno de los campos más difícil de comprobar es el correo electrónico: debe tener el nombre de usuario, la arroba (@) y el dominio. El dominio al menos debe tener un punto (@gmail.com) o varios (@alu.ua.es).

Entonces, ¿cuál es la expresion regular para comprobar esas condiciones? Pues tan sencillo como:

<?php
function checkEmail($email)  
{  
    $reg = "#^(((([a-z\d][\.\-\+_]?)*)[a-z0-9])+)\@(((([a-z\d][\.\-_]?){0,62})[a-z\d])+)\.([a-z\d]{2,6})$#i";  
    return preg_match($reg, $email);  
}  
  
//Ejemplo:  
if(checkEmail("micorreo@gmail.com"))  
{  
    echo "email valido";  
}  
else  
{  
    echo "email invalido";  
}
?>

Con esta sencilla función, podemos comprobar que la dirección de correo sea una dirección valida  o no. Aunque luego esa dirección no exista, al menos el formato es correcto.

El SDK oficial de Kinect para esta primavera

Por fin: después de ver que no tener un SDK oficial para programar con Kinect no ha sido impedimento para que los desarrolladores exploten este dispositivo y hagan autenticas maravillas con el, Microsoft va a lanzar el SDK oficial y no comercial para Kinect en un par de meses.

Podéis leer la noticia completa en el siguiente enlace: NOTICIA COMPLETA

Para acabar, aquí podéis ver un video con los mejores hacks para Kinect hechos por la comunidad:

martes, 22 de febrero de 2011

Entity Framework vs NHibernate

image

A la hora de trabajar con bases de datos, últimamente los programadores tendemos a simplificarnos la vida (somos unos vagos, XD) y solemos usar algún ORB para mapear la base de datos y no pelearnos directamente con SQL.

En Java prácticamente no hay rival: a todo el mundo le gusta Hibernate. Sin embargo, en C# hay dos alternativas: NHibernate y Entity Framework.

Los lectores más avispados os habréis dado cuenta de que NHibernate no es más que la versión de .NET de Hibernate: aquel ORB tan famoso para Java.

En cambio, Entity Framework es de Microsoft, y se trata de la evolución natural de ADO.NET. Al ser de MS, se integra muy bien con las tecnologías .Net, como Visual Studio, C#, SQL Server, etc…

En la siguiente tabla podemos ver una tabla comparativa de rendimiento de ambas tecnologías:

image

Viendo esta grafica, seguramente habréis pensado “me quedo con NHibernate”. Pues si, no está mal, pero debo matizar que la nueva versión de Entity Framework 4.0 ha mejorado mucho, y que a la hora de trabajar, EF es mucho más cómodo y sencillo para el desarrollador. Luego, cada uno se siente cómodo con una tecnología y eso sólo lo puedes saber después de probar las dos.

Si queréis ver las graficas comparativas, y obtener el código fuente de las pruebas para testearlos vosotros mismos, podéis leer el informe completo en la siguiente web: http://gregdoesit.com/2009/08/nhibernate-vs-entity-framework-a-performance-test/

Instalar Cygwin en Windows

Si el otro día os contaba como trabajar en la consola de Windows como si fuera la consola de Linux, hoy voy a explicaros como instalar Cygwin

En un par de pasos, lo tendremos funcionando

SP1 de Windows 7

Hoy, 22 de febrero de 2011, se ha publicado oficialmente el Service Pack 1 de Windows 7. Esta actualización incluye mejoras en la seguridad, un cliente de escritorio remoto, soporte para USB 3.0, HDMI, mejor gestión de la energía y de la conectividad Wireless.

Puedes instalarte el SP1 a través de Windows Update

lunes, 21 de febrero de 2011

Cygwin: Trabaja en Windows como si fuera Linux

image

¿Hechas de menos usar la consola en Windows como la usas en Linux? La verdad es que la consola de Linux es bastante intuitiva y potente. Puede que el estar hecho por y para informáticos que trabajan en modo consola la haya hecho tan versátil.

Si quieres usar la consola en Windows como si estuvieras trabajando en Linux, tu solución se llama “CygWin”. Cygwin es una colección de herramientas que convierten la consola de Windows en una consola de Linux, con comandos como “ls”, “grep”, “ssh”, “cat”, etc…

Cygwin es totalmente gratuito y se puede descargar desde este enlace.

Instalar Perl en Windows

Ejecutar un script de Perl en Linux es muy fácil, ya que Perl viene instalado por defecto con Linux (o al menos en las distros que yo he probado), pero en Windows no es tan fácil. En Windows debemos instalar Perl y configurar cuiertos parametros antes de poder ejecutar un script.

Sin embargo hay una forma de hacer que instalar Perl en Windows sea muy fácil: “Active Perl”.
ActivePerl es un paquete de Perl “todo-en-uno” que nos instalar y configura Perl en un par de pasos, ya que lo hace todo por nosotros. Además, también instala “PPM"" (Perl Package Manager) el cual nos simplificará el proceso de instalar nuevos paquetes de Perl.

Es totalmente gratuito y nos lo podemos descargar de la siguiente web: http://www.activestate.com/activeperl

domingo, 20 de febrero de 2011

Insertar código formateado con Blogger

En ocasiones queremos introducir código de los diferentes lenguajes de programación y no queremos utilizar herramientas como Windows Live Writer y sus complementos, por ejemplo. Pues bien, navegando por internet he encontrado un página que nos puede resolver este problema.  La página en cuestión es http://tohtml.com/ .

sábado, 19 de febrero de 2011

Aplicación Java con MySQL

Imaginamos que creamos una base de datos MySQL para nuestra aplicación en Java. ¿Cómo podemos conectar nuestra base de datos con nuestra aplicación? Esto es lo que resolveremos con esta entrada.

Eliminar espacios en blanco en perl

Perl nos ofrece muchas facilidades a ala hora de trabajar con cadenas de texto, como por ejemplo hacer un split de una cadena y almacenar los valores en un array.
El problema viene cuando , por ejemplo, consideramos una coma (,) como carácter de corte y hay muchos espacios delante y detrás, los cuales no nos interesan. Entonces… ¿cómo eliminamos esos espacios en blanco?

martes, 15 de febrero de 2011

Video de Chema Alonso en la UA

Ya está disponible el video completo de la conferencia sobre seguridad que Chema Alonso dio el pasado jueves 10 de febrero en el salón de actos de la politécnica I

Recomiendo ver el video. Yo estuve ahí en persona y ha sido una de las mejores charlas a las que he tenido el placer de asistir.

Conferencia de Chema Alonso en la Escuela Politécnica Superior de la Universidad de Alicante

martes, 8 de febrero de 2011

Configurar Windows Live Writer para publicar en nuestro Blog con Blogspot


Sin título
A la hora de publicar entradas en nuestros blogs, todas las plataformas nos ofrecen un editor online para poder escribir entradas. Sin embargo, estos editores suelen ser pesados de  utilizar y, dada su sencillez, no dejan mucha libertad para realizar lo que el escritor desea hacer o dificultan mucho conseguir el resultado deseado.
Para evitarnos estos problemas, disponemos de Windows Live Writer, un programa gratuito que nos permite escribir entradas para nuestros blogs de una forma sencilla, con una interfaz parecida a Word y
Este programa se puede descargar gratuitamente desde el paquete “Winodws Live Essentials”
Una vez que lo bajamos y lo instalamos, vamos a ver como configuramos nuestro blog de “Blogger” para poder empezar a escribir artículos con él.

Hola Mundo

public static void main(string[] args)
{
 Console.WriteLine("Hello Blogspot!");
}