Archivo de la etiqueta: php

Todo lo que sube baja, ¿de dónde es este código?

Números bailando, ¿de dónde es este código?

Volvemos con un nuevo acertijo en nuestra serie ¿De dónde es este código?, aunque esta vez va a ser algo distinto, ya que no se trata de un proyecto del mundo del Software Libre, sino de un algoritmo clásico.

Por tanto, esta vez no traemos código fuente propiamente dicho, sino un pseudocódigo que seguro que a más de uno le sonará de sus primeros años de estudios de informática.

El código

 function miAlgoritmo(lista, limSup, limInf) { pivote = lista[limSup]; i = limInf - 1; j = limSup; if (i < j) return; do { while (lista[i] < pivote) i++; while (lista[j] > pivote) j--; if (i < j) { swap = lista[i]; lista[i] = lista[j]; lista[j] = swap; } } while (i < j) swap = lista[i]; lista[i] = lista[sup]; lista[sup] = swap; miAlgoritmo(lista, limInf, i - 1); miAlgoritmo(lista, i + 1, limSup) }

El reto

Una vez acertado el nombre del algoritmo, lo que seguramente os resulte muy fácil, hay otras preguntas acerca del mismo para las que buscamos vuestra respuesta.

  • ¿Cuál es el orden de complejidad promedio de este algoritmo? ¿Y en el peor de los casos? ¿De qué depende obtener uno u otro?
  • ¿Qué dos características de la versión que hemos publicado en pseudocódigo hacen que sea más lento de lo que podría de estar optimizado?
  • Antes de la aparición de este algoritmo, había otros que solucionaban el mismo problema por fuerza bruta, sin divide y vencerás ni ninguna otra estrategia. ¿Qué complejidad computacional tenían?
  • ¿Serías capaz de decir algún software real que implemente este algoritmo?
  • Y la más inquietante, ¿qué tiene que ver la foto que encabeza el artículo con el algoritmo en cuestión?

Ya se avecinan las navidades y nace Freeguras, una tienda de artesanía dedicada al Software Libre

freeguras

Freeguras es una tienda online española (afincados en Ciudad Real) que se dedica a la creación y distribución de figuras artesanales con iconos del Software Libre (como un Tux al estilo Red Hat, el elefante de PHP o el muñeco de GIMP, entre otros), regalo perfecto para cualquier pica código estas próximas navidades, que no están tan lejos ya. Además algo que me ha gustado bastante en esta propuesta es que donan el 10% de los beneficios a la Free Software Fundation (FSF).

freegura

Todas las figurillas están hechas a mano con arcilla de modelar y el proceso completo dura entre una hora y hora y media y también aceptan nuevos modelos para sus figuritas, siempre que sean dedicados al software libre. Es un claro ejemplo de porqué es bueno mezclar aficiones.

Como ya he comentado el 10% de los beneficios serán destinados a la Free Software Fundation, aunque si alguien quiere darle su granito de arena a otro proyecto de código abierto puede especificarlo, lo que hace su compra más atractiva aún… ¿estas Navidad qué friki no desearía una? Seguir leyendo Ya se avecinan las navidades y nace Freeguras, una tienda de artesanía dedicada al Software Libre

Google anuncia que Cloud SQL ya permite conexiones nativas MySQL

Google Cloud SQL MySQl Soporte

Aunque no sea una actualización tan importante como la que se produjo hace unas semanas, al menos en contenido, el anuncio de Google de soportar conexiones nativas MySQL a Google Cloud SQL posibilita trabajar de una forma distinta a lo que se hacía hasta ahora con las bases de datos en la nube.

Esto significa que se da entrada a estándares abiertos como es el conector MySQL Wire para bases de datos basadas en MySQL, recordemos que Google lleva probando hace tiempo ya MariaDB. Además de esto, se da la posibilidad de acceder a esas bases de datos en la nube con las herramientas habituales como Toad, MySQL Workbench o, incluso, desde la línea de comandos.

Las ventajas que enumeran usando MySQL Wire Protocol:

  • La baja latencia entre las aplicaciones que se ejecuten en Google Compute Engine y Google App Engine.

 

  • Podemos usar cualquiera de los conectores estándar, tales como Connector/J, Connector/ODBC y Connector/NET. Esto hace realmente versátil acceder a una base de datos en la nube de Google Cloud SQL desde cualquiera de nuestras aplicaciones.

 

Con esta actualización el binomio PHP y MySQL se ve reforzado facilitando a los recién llegado no tener que variar demasiado la forma de conectar sus aplicaciones con base de datos trabajando en la nube, incluso migrándolas tal cual a una instancia de Google Cloud.

MySQL Workbench

En la documentación de Google Cloud SQL podemos ver varios ejemplos para conectar diversas herramientas como MySQL Worbench, Toad para MySQL o SQuirrel. Así como el uso de JDBC (aunque deprecado).

Desde hace un tiempo Google está empeñado en ofrecer servicios que AWS lanzó ya hace unos pocos años. Mientras que Google lanzó Cloud SQL en junio, AWS lanzó el servicio sobre MySQL en 2009 y en 2012 empezó a ofrecer soporte a bases de datos Oracle. Aún sigue siendo discutible el precio del coste por horas que ofrece Google SQL o el que ofrece Amazon a los que hay que valorar recursos o transferencia usada. Seguir leyendo Google anuncia que Cloud SQL ya permite conexiones nativas MySQL