Es algo necesario para el buen funcionamiento de nuestras aplicaciones. Para añadir robustez a nuestros sistemas, haciendo que éstos se comporten de manera adecuada en situaciones imprevistas. Por ejemplo, si necesitamos crear un archivo y añadir cierta información, podemos, a priori, comprobar que el dispositivo en el que vamos a escribir tiene suficiente espacio libre, lo que nos puede ahorrar suplicios si los ficheros son demasiado grandes. También deberíamos ser capaces de comprobar que un disco de red está conectado antes de trabajar con él y, en muchos casos, anticiparnos a largas esperas y bloqueos por parte del sistema operativo.… Leer artículo completo
Puede ser muy útil, sobre todo cuando estamos creando o modificando las plantillas principales de nuestro tema en Magento saber si la página actual se trata de una página de CMS. Esto lo podemos saber muy fácilmente con:1$route = Mage:app()->getRequest()->getRouteName();La variable route tendrá el valor «cms» si se trata de una página CMS, o podrá obtener el valor de la ruta del controlador actual (dependiendo de si estamos en el carrito, página de categoría, producto, dentro de un plugin, etc).… Leer artículo completo
Cuando estamos trabajando con Magento, en ocasiones necesitamos conocer si actualmente nos encontramos en la home de nuestro sitio o en cualquier otra página. Normalmente, la home, tendrá un diseño diferente y por eso debemos diferenciarla de las demás.
Para ello, desde Magento 1.5+ tenemos una función que nos puede ayudar mucho en esta misión. Si nos encontramos en el header.phtml podemos comprobarlo llamando a:
1
2
3
4if ($this->getIsHomePage())
echo "Estoy en la HOME";
else
echo "No estoy en la HOME";Pero si nos encontramos en cualquier otra plantilla, tenemos que llamar a esa misma función que se encuentra en el header, para ello obtenemos el singleton del header y se lo preguntamos:
1
2
3
4if (Mage::getBlockSingleton('page/html_header')->getIsHomePage())
echo "Estoy en la HOME";
else
echo "No estoy en la HOME";O también podemos asignar el valor de Mage::getBlockSingleton(‘page/html_header’)-getIsHomePage() a una variable local y utilizar su valor en nuestra plantilla.… Leer artículo completo
Otra forma de enfrentarse con la concurrencia, en el maravilloso mundo de hacer varias cosas al mismo tiempo, es utilizar procesos hijos con fork(). La principal diferencia con respecto a los threads es que éstos son procesos completos, es decir, el sistema operativo les ha dado una zona de memoria de código, otra de datos, y otra de pila, a diferencia de los threads que compartían código y datos, sólo tenían la pila diferente.… Leer artículo completo
La semana pasada vimos una introducción y cómo podíamos hacer una carga estática de bibliotecas dinámicas o shared objects.
Hoy dedicaré el post a la carga dinámica, esto es, no hace falta que el objeto exista para poder compilar el programa principal, y el programa principal, no tiene por qué saber que lo va a utilizar hasta el último momento en que lo esté utilizando. Pueden utilizarse para extender la funcionalidad de nuestra aplicación una vez esté construida, puede que por nosotros, o por otra persona.… Leer artículo completo
En ocasiones, sobre todo en nuestro servidor de pruebas (que a lo mejor puede ser
nuestro servidor de producción), podemos perder la contraseña de root de MySQL, y es un
fastidio, porque se nos puede pasar por la cabeza reconfigurar el paquete y perderlo
todo, pero son momentos en los que hay que tener paciencia y si tenemos información, no
es plan de destruir gratuitamente los datos.Para ello, dejo unos sencillos pasos con los que restableceremos la contraseña de root
de MySQL (es necesario tener privilegios en el ordenador en el que está instalado
MySQL):