Datos duplicados al actualizar

Muchos programadores, entre los cuales me incluyo tenemos siempre la tendencia a reinventar el agua azucarada cuando decidimos crear un carrito de compras, un blog o un foro a partir de la nada. Eso no significa que estemos en contra de las herramientas gratuitas que abundan en Internet que sirven para esos mismos propósitos y que con toda seguridad funcionan mucho mejor. Lo que sucede, es que como desarrolladores, queremos aprender el funcionamiento y cada uno de los secretos de tales elementos, para tener la satisfacción de poder decir “yo puedo hacerlo”.

Pues bien, resulta que un problema común que a mi me ocurrió en mis comienzos y que sigue atrapando a más de algún desprevenido, es la duplicación de datos cuando luego de haberlos almacenado en la base de datos, presionamos la tecla F5 o el botón que actualiza o “refresca” la página. Un problema frustrante si trata de atacarse por el lado aparentemente más fácil, pero a su vez incorrecto. Veamos un caso típico.

Leer el resto del post »

,

3 Comentarios

Entradas relacionadas

Función para JSON en PHP 5.1 o inferior

Según la documentación oficial, las funciones de PHP para JSON solo están disponibles desde la versión 5.2.0 en adelante. Esto ha provocado más de algún dolor de cabeza a muchos programadores que han tenido que ingeniárselas con medios alternativos para transferir la información a javascript. Afortunadamente este ingenio a veces llega muy lejos y produce algunas cosas bastante eficientes, como la que les presento hoy. Es una función que ha llegado a mis manos vía Luis López y que básicamente es replica el trabajo que hace json_encode(). La dejó acá, libre para todo aquel que necesite utilizarla.

Leer el resto del post »

, ,

No hay comentarios

Entradas relacionadas

Joey Adams y sus MOPP Days

Luego de terminar el 2009 con demasiadas cosas que atender, retomo el blog este año con nuevo material de mucha utilidad y como siempre explicado de forma sencilla. Para mientras, puedo recomendar unas lecturas dedicadas a los que ya trabajan PHP pero omiten muchas buenas prácticas. Se trata de los excelentes artículos (en inglés) de Joey Adams de su serie “MOPP” o bien, “Month Of Professional PHP”:

Espero que este material les sea de utilidad y no dejen de revisar ese excelente blog porque aún faltan más MOPP days ;) .

No hay comentarios

Entradas relacionadas

JSON para principiantes

¿Qué es JSON?

Según Wikipedia “JSON, acrónimo de «JavaScript Object Notation», es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML.”, mientras que json.org lo define como “JSON (JavaScript Object Notation – Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo.” Lo cual no nos aclara la mayoría de dudas si deseamos entenderlo a fondo.

En realidad JSON no es más que una forma de estructurar texto, de manera que JavaScript pueda intercambiar información con otros lenguajes como ASP, C#, JAVA o Ruby entre muchos otros, pero en nuestro caso nos interesa PHP.

Leer el resto del post »

, ,

11 Comentarios

Entradas relacionadas

Diferencias de Java contra otros lenguajes.

Hoy les quiero platicar un poco sobre complicaciones que me han surgido en el camino, al momento de desarrollar en java, no solo cuando el ambiente o aplicación es web.

Existen ciertas diferencias no tan obvias (a mi punto de vista), con las que nos podemos topar, principalmente los programadores que hemos usado otros lenguajes, e incluso podemos llegar a tener grandes problemas por no profundizar en el tema, asumiendo que las cosas son como pretendemos que sean.

Las que he encontrado y me han dado uno que otro dolor de cabeza son:

Leer el resto del post »

4 Comentarios

Entradas relacionadas

Metodos Setters y Getters en Java.

Mi primer artículo colaborando en el blog, y se preguntarán “¿por qué este tema?”, sencillamente porque quería compartirles algo que depende del conocimiento de éstos tipos de métodos, que no son propios de java, pues son sobre todo una “buena costumbre” en la programación orientada a objetos en varios lenguajes, y además son parte de la especificación de JavaBeans.

La razón de crear estos métodos, es debido a que habitualmente se recomienda que los campos (o propiedades) de una clase sean de acceso privado, es decir, únicamente desde el interior de la clase, y que para accesar o modificar estos valores, se utilicen métodos públicos diseñados para esa tarea. Estos son los denominados setters (set – modificar) y getters (get – accesar).

Leer el resto del post »

, , , ,

No hay comentarios

Entradas relacionadas

Combos encadenados usando AJAX (jQuery)

Hace pocos días, vimos la forma de hacer un sencillo AJAX utilizando jQuery, pero nos limitamos a hacer que nuestro documento leyera de forma dinámica una porción de texto e imágenes. Hoy, subiremos un escalón y le daremos una mayor utilidad a esta tecnología que recién empezamos a aprender.

Cuando me iniciaban (porque admito que fue contra mi voluntad :D ) en el uso de jQuery, me vi en la imperiosa necesidad de hacer que cuando seleccionaba un elemento de una lista desplegable A, automáticamente cambiaran los elementos de otra lista B. Fue un día de trabajo dedicado a buscar y probar plugins que tuvieran esa funcionalidad, pero al final lo conseguí y con el asesoramiento de un compañero de trabajo todo quedó según los requerimientos y especificaciones iniciales.

Leer el resto del post »

, , , ,

11 Comentarios

Entradas relacionadas

REGEX Capítulo 3: Operadores

Resumiendo los capitulos anteriores el uno definimos lo que es una regex y sus partes. En el capítulo dos vimos en detalle los grupos o conjuntos, los cuales son una parte de estas. La segunda y última parte son los operadores. Para que me entiendan mejor quiero que tomemos una operación matemática

1 + 1

Todo mundo reconoce que los 1 es un operando y el signo + es un operador de suma lo que nos da de resultado el 2. Tomemos ahora el caso de una regex:

[a-uA-U]-?[0-2]\d(-|\s)\d+

Leer el resto del post »

1 Comentario

Entradas relacionadas

Modelo relacional: conceptos básicos

Introducción

Me imagino que a muchos algún cliente, familiar o amigo les han dicho mas de alguna vez algo parecido a esto: “Quiero una base de datos de clientes y una base de datos de productos, y otra base de datos de…” Debo reconocer que antes me frustraba y me enojaba cuando me decían esto, pero mejor decidí dedicarme a orientar un poco a las personas (sean de sistemas o no) sobre los fundamentos de las bases de datos y es lo que voy a tratar de hacer en este primer post, donde hablaremos del Modelo Relacional, también como conocido como la famosa “Base de datos”.

Leer el resto del post »

, ,

7 Comentarios

Entradas relacionadas

REGEX Capítulo 2: Grupos

En el capítulo anterior definimos lo que es una REGEX y las partes de esta. En el este capítulo vamos a discutir una de estas: Los grupos.

Codigo ASCII

Codigo ASCII

A partir de este momento cuando se mencione la palabra caracter se refiere a cualquier símbolo que contenga un código ASCII, ya sea imprimible o no.

Leer el resto del post »

,

4 Comentarios

Entradas relacionadas