Variables compartidas en PHP – APC

Los que alguna vez trabajamos con ASP y luego nos pasamos a PHP solo extrañamos una cosa, las variables de Aplicación… Algunos se preguntarán, ¿Qué son las famosas variables de aplicación?

Es muy fácil, la forma mas sencilla de explicarlos es que se imaginen un contador de visitas a una página web, en PHP cómo lo harías? Bueno, tradicionalmente son dos maneras:

  1. Haces una conexión a la base de datos y ya sea en un parametro o en una tabla donde guardas los registros de las visitas, actualizas o insertas lo que tengas que insertar y luego haces una consulta para saber la cantidad de visitas
  2. En un archivo de texto vas guardando la cantidad de visitas + 1 según vayan llegando los visitantes, luego lees el archivo para mostrarlo en la web

Pues en ASP esto es mucho mas fácil, porque puedes tener una variable de Aplicación que es accedida desde cualquier parte del código, lo mejor es que esa variable podrá ser modificada o leída por cualquier session, cualquier cliente y siempre será la misma variable para todos.

Pues bien, en PHP eso también es posible y lo acabo de descubrir… quizás ya tu lo sabías pero yo no (soy de la vieja usanza)… se llama «Caché Alternativo de PHP» que te permite tener variables en memoria para que sea accedida por cualquier cliente.

Aquí tienes toda la documentación http://mx.php.net/manual/es/book.apc.php , pero básicamente son 3 métodos los que mas usas:

  • apc_add — Poner una nueva variable en caché en el almacén de datos
  • apc_store — Guardar una variable en caché en el almacén de datos
  • apc_fetch — Traer una variable almacenada desde la caché

Algunos dirán, «eyyyy!! pero existe memcache», y si, tienen razón, pero son dos cosas diferentes, esto es algo nativo de PHP y ademas no necesitas tener corriendo ningun servicio, en cambio el memcache por si solo gasta memoria, por otro lado, los que usan hosting baratos no siempre cuentan con memcahe, además no siempre vale la pena tener un memcache gastando memoria para almacenar una variable. Todo es la conveniencia, de todas formas es una alternativa nativa.

Espero sea útil, a mi me sirvió 🙂

Problema con el email del iPhone: «Este mensaje esta vacío»

Desde hace un tiempo la aplicación email de mi iPhone venia presentando un problema, todo los mensajes se ponían en «Este mensaje esta vacío» y no me permitía leer nada, me tocaba apagar el telefono y volverlo a encender.

El problema era la aplicación AutoProtect, la he desinstalado y no me ocurre mas el problema. En mi caso era esta aplicación pero quizas sea alguna otra de Cydia en tu caso.

Quise compartir la solución porque me estaba volviendo loco al tener que apagar el teléfono para poder leer los benditos correos y seguro que a mucha gente le esta ocurriendo.

Importancia de un Blog o CMS en las redes sociales

Por lo general las redes sociales son muy cambiantes, la información es volátil y todo desaparece muy rápido.

Por ello, todo lo que pongamos en las redes sociales debe estar almacenado en un lugar que no pase, que siempre este allí para verlo, ya sea mediante las redes sociales o no. Esa es la importancia de un blog o cualquier CMS, que la información que das día a día no se pierda.

Mi consejo es, todo lo que vayas a poner en la redes sociales primero debes tenerlo puesto en tu blog o CMS y luego compartelo a las redes sociales, así no votas todo tu trabajo a la basura, ya que todo lo que haces servirá para el SEO de tu web.

¿SEO o SEM? Ups, aveces SEM pero prefiero el SEO

En estos días me he metido a google y queria ver como iba el posicionamiento de Bubok Colombia en los buscadores y me he encontrado con esta imagen, y me dije: «Upsss, esto está lleno de campañas SEM, ¿Valdrá la pena hacer SEO?» bueno, soy de los que piensa que el SEO es muy importante, que se debe trabajar en ello ya que es una campaña a futuro, donde el trabajo se ve reflejado en el tiempo… pero cuando veo esta imagen digo: «Si no puedes con el enemigo, compra una campaña SEM 🙂» jajajaj

¿Debo pedir un aumento de sueldo?

En un libro que he leído han puesto una historia muy interesante, la escritora del libro no conoce el autor de la historia, yo estuve buscando por internet el autor y tampoco lo encontré así que alguien sabe o el autor reconoce su historia que por favor me escriba y le hacemos saber a la escritora para que le haga referencia en la segunda edición del libro o en este blog 🙂

¿Cuál es la diferencia entre hacer las cosas y hacerlas bien?

Jesús trabajaba en una empresa desde hacían 5 años, nunca había sido amonestado, y cumplía su trabajo con normalidad. Cierto día, entró a la oficina del Gerente para hacerle un reclamo:

– Señor: trabajo en la empresa desde hace 5 años, pero siento que no he sido tomado en cuenta para las promociones y ascensos. Mi compañero Ramón ingresó hace sólo 1 año y ya ha sido promovido a Supervisor.

El Gerente, con cierta preocupación, le dijo:

– Jesús, antes de responderte a tu pregunta, quisiera que me ayudes a resolver un pequeño problema: quiero dar fruta en el almuerzo. En calle hay un camión que vende frutas, y que se para siempre al frente. Averigua si tienen frutas frescas.

Jesús se esmeró en cumplir la tarea, y a los 5 minutos estaba de regreso.

– Señor: tienen naranjas para la venta.

– Y ¿cuánto cuestan?

– Disculpe. No pregunté.

– No importa. ¿Vistes si había suficientes naranjas para darles a todos acá en la oficina?

– No me di cuenta. Y tampoco pregunté.

– ¿Hay alguna otra fruta, por si hay personas que no comen naranja?

– No lo sé, señor. Pero creo que…

– Siéntate un momento, Jesús.

El Gerente tomó el intercomunicador y le encargó a Ramón, el compañero de Jesús, la misma tarea. A los 10 minutos llegó Ramón.

– Bien Ramón, ¿Qué noticia me traes?

– Señor, en este momento están vendiendo naranjas, las suficientes para atender a todo el personal, pero si prefiere, en media hora van a buscar melones y mangos. Aquí tiene la lista de los precios de cada fruta, y me dicen que si compramos en grandes cantidades, nos darán un buen descuento. Dejé apartadas las naranjas, pero si usted escoge otra fruta, debo regresar para rectificar el pedido.

– Muchas gracias, Ramón.

Entonces se dirigió a Jesús, que aún seguía allí, y le dijo:

– Disculpa Jesús, ¿En qué estábamos?

– En nada señor. Con su permiso…

Ingeniero de Sistema, ¿Ingeniero?

ufff, hace tiempo quería escribir este artículo sin denigrar mi profesión y sin faltar el respeto a mis colegas Ingenieros, lo he resuelto, no voy a hablar de los Ingenieros de Sistemas sino de algunos otros Ingenieros. Lo que quiero con esto es generar conciencia de ¿Cómo debe ser un Ingeniero de Sistemas?

¿Qué ocurre si un Ingeniero Civil hace una mala construcción de un edificio?

Correcto, la respuesta es esa! el edificio puede colapsar, lo que significa que se perderían muchas vidas y mucho dinero, lo que conllevaría al fracaso total de la carrera profesional del Ingeniero encargado.

¿Qué ocurre si un Ingeniero Farmacéutico fabrica un mal medicamento?

Lo evidente, materia a mucha personas… lo que sucede después es la salida del mercado del fármaco, el cierre inminente de la productora de fármacos y el descenso de la carrera del Ingeniero.

¿Qué ocurre si un Ingeniero Electrónico fabrica un mal Electrocardiógrafo?

Se generarían malos electrocardiogramas, lo que generaría un sin número de muertes producidas por falta de tratamiento debido a los malos resultados obtenidos en los exámenes.

Así me puedo pasar mencionando cualquier cantidad de ejemplo de ingenieros, pero mi punto es: ¿Qué ocurre si a un software le ocurre algo? Simple, se saca un parche, una versión con el error corregido y pasa absolutamente nada. Esto no es de las empresas pequeñas, es algo general, X cantidad de versiones de messenger para tapar Y o Z bug, W parches de Microsoft Office para corregir M o N errores.

Hay que poner en practica la Ingeniería y dejar de ser unos simples programadores.