Julio 22nd, 2008

Modelo Vista Controlador

Posiblemente, si te dedicas a la programación, habrás oido hablar del Modelo Vista Controlador (MVC), ese mismo que tus profesores te insistían en usar tanto. El objetivo de este tipo de modelos es de intentar repetirse lo menos posible y de tenerlo todo organizado o sea hacer una distinción entre la lógica de toda la aplicación y presentación.

Los Fundamentos básicos del MVC son los siguientes:

  • Modelo: Esta sirve como representación específica de toda la información con la cual el sistema va a trabajar. La lógica de datos nos puede llegar a asegurar la integridad de ellos y nos permitirá derivar nuevos datos. ¿Como lo hace?  Pues , no permitiendonos comprar un número de unidades negativas, y también calculando si hoy puede ser el cumpleaños del usuario/a o también los totales, impuestos o importes en un sistema de venta.
  • Vista: Presenta el modelo con el que va a interactuar el usuario, más conocida como interfaz.
  • Controlador: El controlador responde más bien a eventos, normalmente son acciones que el usuario invoca, implica cambios en el modelo y también en la vista (interfaz).

¿Cuáles son los origenes del Modelo Vista Controlador?

Buscando un poco de información historica, podemos decir que este fue descrito por primera vez en 1979 por Trygve Reenskaug (hace ya basante tiempo, para el sector que tratamos), trabajador de Smalltalk, en unos laboratorios de gran investigación de Xerox.

La implementación del modelo fue descrita en este documento.

Frameworks MVC

Los MVC cumplen perfectamente el fin particular de cualquier frameworks, (una estructura bien definida que da soporte a un proyecto web también nos ayuda a que nuestro proyecto sea organizado y bien desarrollado).
Diagrama de Flujo de un framework MVC

Modelo Vista Controlador
Modelo Vista Controlador

1. El index.php nos inicializa el nucleo de nuestra aplicación.
2. El enrutador nos examina nuestra petición HTTP y nos ayuda a determinar que se debe de hacer.
3. Si existe, la cache nos devuelve nuestro archivo HTML sin necesidad de pasar por el sistema , ahorrandos la carga que esto nos conlleva.
4. La Seguridad, ya que antes de que se cargue el controlador se filtran los datos enviados para que estos puedan resultar fiables.
5. El controlador nos carga el modelo, librerias, helpers, plugins y todos los demás recursos necesarios para satisfacer nuestra petición.
6. Finalmente, cuando la Vista está renderizada, esta es enviada al navegador, encontes si la cache se encuentra habilitada, se almacena el resultado para la próxima ocación que la URL sea servida.

Julio 2nd, 2008

CodeIgniter, Framework PHP

Framework php

CodeIgniter es un gran framework para PHP creado para ofrecer un alto rendimiento, además este framework es bastante ligero y muy sencillo de configurar.

A la larga lista de frameworks para PHP, y que ha conseguido que php vuelva a ser el lenguage de programación web por excelencia (recordemos que lo utilizan todas las grandes compañías online) dejando en la cuneta a otros grandes lenguages como ruby y su framework rails; este framework podría pasar por una alternativa mas, pero si la aplicación que desarrollamos requiere de una plataforma que no decante mucho nuestra estructura y que necesite un alto CodeIgniter debería ser tu elección.

Cumple perfectamente el fin de cualquier framework, una estructura bien definida que da soporte a nuestro proyecto web y que ayude a que este nuevo proyecto sea organizado y desarrollado.

La documentación de CodeIgniter es muy buena y esto nos facilita en gran medida aprender a utilzarlo, sólo echando un simple vistazo a los videotutoriales de su página sabremos como podemos empezar a utilizarlo.

Link | Codelgniter

Julio 2nd, 2008

Claves foráneas con MySQL

Para empezar hay dos cosas que debemos intentar tener claras ¿Qué es un clúster y que prestaciones puede ofrecer? Un cluster agrupa uno o varios sectores de un disco, que se encuentran consecutivos o adyacentes  y que puede o debe ser utiliado para los siguientes objetivos:

  • Alta disponibilidad (High Availability)
  • Alto rendimiento (High Performance)
  • Equilibrio de la carga (Load Balancing)
  • Escalabilidad. (Scalability)

Un clúster en el caso de  MySQL es una tecnología que nos permitirá optimizar el rendimiento de nuestras bases de datos con un hardware no muy costoso y con unos pocos requerimientos de software. Un clúster MySQL integra dos cosas: un servidor MySQL y un motor de almacenamiento en memoria denominado NDB clúster que nos permite funcionar en un conjunto de pcs.

MySQL INNODBE

Según este pequeño esquema las tablas de la BBDD se integran usando el motor NDB y se podría acceder a los datos almacenados a través de cualquiera de sus nodos, estos nodos funcionarían como espejos unos de otros, lo que nos permite que la caída de uno de los nodos de datos no afecte al conjunto de ordenadores.

Los principales procesos que nos serán necesarios para hacer funcionar un clúster de MySQL son: MySQLD, NDB_MGMD, NDBD.

Claves foránes en MySQL

A partir de la versión 4.0, MySQL agregó InnoDB (un gran exito) a la lista de tipos de tablas soportadas por MySQL, para los que no saben demasiado sobre este tipo de tablas de almacenamiento de datos decir que MyISAM es el utilizado por defecto (aunque no permite claves foráneas y nos puede llevar algún quebradero de cabeza usar SQL sin saber esto) en la mayoría de los casos pero no por ello el que más se adapte a las necesidades de nuestra aplicación. Puesto que entre otras cosas no permite claves foráneas.

Junio 27th, 2008

Posicionamiento en buscadores

En uno de estos ataques de orgullo, llevo un tiempo intentando posicionar en buscadores mi blog por un término muy especial el nombre por el cual me conocen mis amigos, ¡juanra!. Y cada vez la cosa pinta mejor, estoy entre las primeras posiciones con neleste aplicando solo unos cuantos trucos seo y sin aplicar los más imporatentes, puesto que ni mi Title ni mi description ni mi url dice juanra por ninguna parte.

No ha sido nada fácil, hay que ver solo la cantidad de Resultados que muestra google en la búsqueda y con los cuales compito. Con esto se demuestra que es posible cambiar tu posicionamiento en buscadores con una buena estrategia.

Link | Desarrollo Web Lanzarote

Junio 27th, 2008

Infojobs Trends

logo infojobs

¿Quieres saber el salario NETO habitual en tu puesto de trabajo?, infojobs tiene desde hace bastante tiempo una aplicación donde puedes avereriguar cual es el salario medio neto en españa en un puesto parecido al tuyo.

Consulta las tendencias salariales de los términos de tu interés sobre más de 900.000 ofertas de empleo con salario informado publicadas en InfoJobs.net

Link | Infojobs Trends

Junio 27th, 2008

IBM Chips Refrigerados con Agua

Logo IBMLos procesadores de la mayoría de ordenadores actuales tienen un gran problema, el calor. Aunque actualmente los equipos informáticos llevan ventiladores o refrigeración líquida, el sobrecalentamiento sigue siendo uno de los retos de los grandes fabricantes informáticos. Tras más de una década de trabajo en este tema, el Instituto Fraunhofer de Berlín en colaboración con IBM  han creado un tipo de chip que lleva un sistema único en el mundo de refrigeración gracias a el bombeo de agua. Debido a este nuevo sistema, mucho más eficaz que los de la actualidad, la velocidad de procesamiento de datos será mucho mayor.

Fuente | EuropaPress

Junio 26th, 2008

Averiguar Tráfico de Una Web Con Google

Google Vs Alexa

Desde hace tiempo, la opción “más fiable” que teníamos de averiguar el tráfico de una determinada web, era mediante alexa. Y lo pongo entre comillas porque sus datos son bastante influenciables, solo tenemos que instalarnos la barra de alexa y ver como nuestro tráfico (para alexa) sube como la espuma. Ahora contamos con google trend para webs, un servicio de google que nos ayuda a ver el tráfico de webs pero que recoge datos más fiables, puesto que trabaja con los enlaces que llegan de todos los productos google como analytics, adsense o la barra google. ¿Derechos de privacidad? me preguntan algunos, decir que aceptamos sus condiciones cuando insertamos estos productos.

Link |Google Tend Websites

Junio 26th, 2008

Nuevo Hosting

Hace tiempo que la web no cargaba bien, se debia a que el hosting donde está alojada restringía las IPs españolas cuando se le antojaba, (era un hosting gratuito, no le podía pedir más). Pues bien, buscando un hosting gratuito , he encontrado una promoción de puntogeek para tener uno durante un año. Nada, estoy de suerte, busco dominio y sale promoción, busco hosting y lo mismo. Esta si que es la mejor forma de tener un hosting gratis.

Link | Hosting Gratis con PuntoGeek

Junio 4th, 2008

Errores Típicos al trabajar con CSS

Para hacer las cosas bien al trabajar con CSS tenemos un abanico de opciones tan grandes como nuestro dominio del lenguaje, pero para que las cosas salgan mal hay una cantidad enorme de errores que podemos cometer.

Aquí dejo 5 de los errores más comunes al manejar css, al que agrego otro propio de nuestro lenguaje.
No cerrar los corchetes.

Mientras definimos los atributos de cada elemento, nuestro código se llena de un mar de corchetes abriendo y cerrando, por lo que dejar uno abierto es sumamente fácil y causará que todo el código abajo de él no trabaje debidamente. Para evitar este error hay que ser muy ordenado con nuestro código y para encontrar este corchete abierto el firebug es una estupenda herramienta.
#conteneiner {width: 100%;margin:0 auto;/* Falta el corchete de cierre, todo el código siguiente no tendrá efecto */
#header {
background-color: #fff;
font-size: 0.8em;
}
No listar los atributos adecuadamente.

Un problema similar al anterior se presenta al listar los atributos de cada clase o selector, cada atributo debe terminar con un punto y coma. No terminar un atributo con el punto representará automáticamente la anulación del siguiente atributo, creándonos un dolor de cabeza para buscar porque no se aplica un color, un tipo de letra, etc.
#header {background-color: #fff/* Falta el punto y coma que termina un atributo, el siguiente atributo no será leido */font-size: 0.8em;
}
Escribir mal el nombre de un selector o clase.
Todos tenemos malas pasadas con el teclado y escribir código no es la excepción. Hay que tener cuido al escribir correctamente el nombre de la clase o selector porque de otro modo simplemente es como si no existiera.
#haeder {/* la cabecera regularmente se escribe "#header", no "#haeder", esto hace imposible su lectura */background-color: #fff;font-size: 0.8em;
}
Escribir mal el nombre de un atributo.

Muy similar al anterior, pero cometiendo el error de escribir mal un atributo, que provocará que simplemente no se aplique.
#header {background-color: #fff;fotn-size: 0.8em;/* El atributo "fotn-size" no existe y no podrá ser leído, el correcto es font-size */
}
Confundir el valor de los atributos.

Cada atributo tiene una cantidad de opciones predefinidas que no deben ser confundidas. Esto lo da la experiencia y después de consultar la literatura debida. Dar mal el valor a un atributo hará que sea reconocido.
#header {background-color: #fff;font-size: 0.8em;vertical-align: center;
/* La alineación vertical no permite "center", en ella se usa el valor "middle" para alinear al centro verticalmente */
}
Acentos y caracteres del español en clases y selectores.

Como hablantes del español es muy tentador usar las palabras tal como las dicta el diccionario, pero para nuestra desgracia, los acentos y caracteres propios del español (como la ñ) son tomados como caracteres extraños en varios navegadores y por tanto, convertidos en sus equivalente, algo poco que resulta recomendable y que en muchos casos se traduce en que ni las clases, ni sus atributos sean aplicados.
#píe-de-página {/* Aunque nos gusten los acentos (¿si?), su uso es muy poco recomendado */clear: both;font-size: 0.7em;
}
Estos son errores que seguramente la mayoría que ha trabajado con CSS ha cometido o cometerá alguna vez. La recomendación general es ser lo más organizado con el código, para que en verdad el código sea “poesía”.

Junio 4th, 2008

Iphone 3G en España con Telefónica y a 100€

iphone, apple

Telefónica ha confirmado, mediante una escueta nota de prensa, que lanzará el iphone en España. En esta pequeña, pero detallada nota, no dicen que lo vayan a lanzar en exclusiva, algo que de ser cierto, lo hubieran dejado claro en esta nota…Por otra parte, en algunos blogs un rumor está cogiendo fuerza, y es que telefónica podría lanzar el iphone a un precio no superior a 100€ con un contrato de permanencia.

ACTUALIZACIÓN

Si quieres recibir noticias de ultima hora, oficiales, suscríbete aquí.

Link | Nota de prensa de Telefónic - Rumor Xataca