Archivo para la categoría ‘Programacion

La posibilidad de generar imágenes de mapas a modo de gráficas con Google Chart es posiblemente una de las funcionalidades más interesantes que trae este genial servicio, para ello únicamnete tenemos que hacer llamadas a Google Chart API con los datos necesarios.

Documentación Google Chart API | Mapas

Gracias a esta funcionalidad por fin podemos crear de una sencilla manera gráficos que muestren estadísticas globales por países.

Para la realización de los ejemplos que vamos a ver a continuación vamos a hacer uso de esta estructura de tablas que podemos conseguir en el apartado de descargas de MySQL.

Descarga World.sql

Esta entrada es un poco larga por lo que voy a adelantar el resultado de los ejemplos para que aquellos a los que no le interesa la programación de los mismos pueda acceder rápidamente a los datos.

Distribución de la población mundial

Distribución población mundial


Densidad de la población mundial

Mapa de densidad de población mundial


Esperanza de la población mundial

Mapa de esperanza de vida de la población mundial


GNP de la población mundial

Mapa de GNP de la población mundial


Area de superficie por países

Mapa de área de superficie de los países


Google Doctype

16 de mayo de 2008

en: Negocio|Programacion

Google Doctype es una buen noticia para los desarrolladores… ya que se trata de una enciclopedia abierta y una librería de referencia escrita por desarrolladores web para desarrolladores web.

Especialmente útil me parece este apartado en el que podemos encontrar la descripción de un gran número de propiedades de CSS.

Aquí puedes ver la lista de temas.

Encima todo este contenido está bajo licencia Creative Commons 3.0 Attribution por lo que podemos enlazar y citar la fuente sin problema alguno.

¿Cómo ordenar datos?

12 de mayo de 2008

en: Programacion

Uno de los procedimientos más comunes a la hora de procesar datos y generar aplicaciones de todo tipo es el procesamiento de los datos, por procesamiento entendemos la clasificación u ordenación de los mismos.

A menudo esta acción pasa desapercibida porque interactuamos con datos almacenados en bases de datos, las bases de datos nos dan las herramientas necesarias para ordenar, buscar y recuperar aquellos datos que deseamos (“order by id”,”where nombre like ‘%Man%’”); ¿Qué ocurriría si no pudieramos utilizar estas herramientas?

Pues tendriamos que encontrar un método de ordenación y procesamiento de datos que se adecúe a nuestras necesidas, en primer lugar deberíamos de analizar los diferentes métodos de ordenación y determinar cuántas comparaciones se realizarían en los diferentes casos que nos encontremos.

En este análisis deberíamos estudiar si necesitamos orden ascendente o descendente o si los datos a ordenar van a ser numéricos o alfanuméricos.

Los métodos son bien conocidos para muchos y todo el mundo que ha programado, se habrá encontrado alguna vez con la realización de alguno de estos famosos algoritmos de ordenación.

El futuro de PHP

9 de mayo de 2008

en: Programacion

El 13 de Julio de 2007, en el tercer aniversario del lanzamiento de PHP 5, se anunció que el desarrollo de PHP 4 iba a ser parado de manera definitiva, esto significa que a partir del 1/1/2008 no va a haber más versiones de PHP 4.4 y que se continuarán resolviendo problemas críticos de seguridad hasta el 08/08/2008, traduciendo que antes de esa fecha deberiamos tener nuestras aplicaciones corriendo bajo PHP 5.

El 11 de Noviembre del 2005 el núcleo principal de desarrolladores de PHP se encontraron en París para decidir el camino que iba a tomar PHP6, del encuentro salieron todos los cambios que iba a sufrir.

Hay que tener en cuenta estos cuatro puntos:

  1. La mayoría de las nuevas funcionalidades planeadas para PHP 6, saldrán en PHP 5.3 y 5.4.
  2. La migración de aplicaciones PHP 5 a PHP 6 será mucho más costosa que de PHP 4 a PHP 5.
  3. PHP 6 aportará sobre todo soporte para Unicode y tardará todavía, al menos, un año más.
  4. Pese a la salida de Eclipse PDT, Zend Studio seguirá desarrollándose.

Nuevas características de PHP V6

Soporte Unicode

Posiblemente la mejora más notable para la nueva versión de PHP, está característica nos permitirá adaptar nuestra aplicaciones a las necesidades de la internacionalización, uno de los grandes problemas de la red.

Unicode es un estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en cualquier forma e idioma pueda ser codificado para el uso informático.

Actualmente podemos activar esta característica bajo petición, con lo cual PHP consume más recursos al tener que guardar las clases, funciones y el resto de elementos necesarios.

Namespaces

El uso de namespaces no provee de organización para proyectos donde la librería de clases es extendida y genera un desorden tenerlas en un scope global, por lo tanto tendríamos mejor organizacion para proyectos en capas lógicas o fisicas.

Nuevas características de PHP V6 (Web 2.0)

SOAP

SOAP (Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAP es uno de los protocolos utilizados en los “Web Services”.

La extensión de SOAP para PHP llegó con PHP V5, pero esta extensión no está habilitada por defecto, en PHP V6 a menos que cambies la configuración por defecto SOAP estará habilitado por defecto permitiendo sin ninguna modificación desarrollar aplicaciones que se beneficien de los “Web Services”.

XML

Desde PHP V5.1, XMLReader y XMLWriter forman pare del núcleo de PHP, esto facilita el trabajo con documentos XML dentro de las aplicaciones PHP, lo bueno es que igual que con la llegada de esta nueva versión el funcionamiento mejorará ya que XMLReader y XMLWriter estarán activadas por defecto.

Principales cambios con versiones anteriores

Resgister Globals

El compilador nos devuelve un error E_CORE_ERROR cuando se encuentre con una variable global registrada.

Magic Quotes

Al igual que con Register Globals, su uso provocará un E_CORE_ERROR, afectará a magic_quotes, magic_quotes_sybase y magic_quotes_gpc.

Desaparece el modo seguro

Parece ser que el motivo es que daba una impresión de seguridad no real.

Se abandona el soporte de Freetype1 y GD1

Son librerías que tienen ya muchos años y con versiones actualizadas.

HTTP_*_VARS

En PHP6 sólo $_POST y $_GET serán aceptados, HTTP_*_VARS devolverán errores.

El futuro de PHP

En estos momentos PHP 5.2.5 es la versión más popular a pesar de que versiones como: PHP 4.4.8 y 4.4.4. siguen teniendo un gran número de usuarios.

Versiones PHP en involución


Este gráfico presenta datos de sitios webs que han modificado su versión de PHP en el mes de Abril, como se puede ver poco a poco va desapareciendo las versiones 4.x de PHP.


En esta entrada vamos a ver una solución por si por algún motivo en concreto quereis convertir las extensiones PHP de vuestro sitio web en otro tipo de extensión, ya sea alguna conocida con .htm o alguna que se te ocurra, en este ejemplo utilizaremos .wii.

Como convertir páginas con extensión .PHP a la extensión que desees

Los requisitos para realizar este truco es tener un servidor Apache version 1.3 ó superior. La solución es redefinir los procesos de ejecución asociados a los tipos de archivos mod_mime de Apache.

Despues de esta breve introdución pasaremos a la explicacion de eeste sencillo proceso de cambiar las extensiones .php por .wii en nuestro servidor.

Tenemos que indicar al servidor que ejecute los archivos .wii como .php.

La primera cosa que necesitaremos hacer es configurar Apache para permitir que utilicemos ”.wii” como extensión.

  • Abrimos el archivo de Apache httpd.conf y vamos al área donde esta AddType application/x-httpd-php .php y apenas agreguemos un .wii detrás de él. Debe parecerse esto:
    AddType application/x-httpd-php .php .ass
  • Una vez que hayas conseguido incorporar tu “.wii” en el archivo de httpd.conf, reinicia apache. Generalmente podría ser “reiniciar httpd” o “reiniciar apachectl”, todo depende de tu sistema.

Ahora, una vez que cambiemos todas nuestras extensiones “.wii” de PHP en vez de” .php ” podrás ver las paginas de esta manera:

"tusitio/index.wii" y funcionará justo como fuera "tusitio/index.php"

Otra cosa que podemos ajustar en el Apache en el archivo de httpd.conf es el ServerSignature a OFF y después corregir tu archivo de php.ini para incluir el “expose_php = off”.

Estos ajustes juntos harán más difícil a usuarios maliciosos descubrir la versión del servidor y otras informaciónes valiosas que pueden poner en peligro tu servidor.

Recapitulación rápida de lo que acabamos de hacer:
1.) Corregir httpd.conf para reflejar “AddType application/x-httpd-php .php .wii”

2.) Corregir httpd.conf para reflejar “ServerSignature off”

3.) Corregir el archivo de php.ini para reflejar el “expose_php = off”

4.) Renombrar todos los archivos de .php a .wii y después fijar todos los enlaces para reflejar .wii en vez de .php

5.) ¡Reiniciar Apache y prepararte para mostrar tu extension .wii!

Averiguar si una web utiliza PHP

Bueno si te gusta o desarrollas tus aplicaciones con Php seguro que alguna vez te has preguntado que webs con una gran cantidad de tráfico utilizan php como soporte principal de sus aplicaciones.

Para ver que grandes webs utilizan Php comprobemos por ejemplo las 100 primeras del Ranking Alexa.

  1. Yahoo INC

  2. Wikipedia.org

  3. Friendster.com

  4. Facebook.com

  5. Digg.com

  6. Sourceforge.org

  7. Flickr.com

Y no unicamente lo utilizan las grandes webs sino que tambien es utilizado por CMS cómo Wordpress y Drupal.

Ahora probablemente te preguntes y cómo podemos saber si de verdad estos sitios utilizan Php… hay diferentes maneras:

- La primera es mirar la extensión de los archivos que se pueden ver en las diferentes URLs de los sitios (no funciona si esta utiliza URLs Amigables) ó si lo han ocultado con un método como por ejemplo el que anteriormente hemos visto.

- La segunda manera es un pequeño truco no muy conocido…

* PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 – Creditos Php
* PHPE9568F34-D428-11d2-A769-00AA001ACF42 – Logo Php
* PHPE9568F35-D428-11d2-A769-00AA001ACF42 – Logo Zend
* PHPE9568F36-D428-11d2-A769-00AA001ACF42 – Huevo de Pascua

www.dominio.com/?=*(código)

Pongamos un ejemplo:
http://www.meneame.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000: si este enlace nos devuelve los créditos de Php será porque esta página esta desarrollada con este lenguaje, cómo puedes comprobar Meneame.net está desarrollada con Php.
Sin embargo en el caso http://www.google.com/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 nos devuelve una página de error porque no está desarrollada con Php.

Es una buena pregunta y seguramente te harás si te gustaría empezar a programar, lo mejor en estos casos es preguntar a personas experimentadas y que están capacitados para dar buenos consejos.

En estos momentos probablemente la mejor idea sea aprender algún lenguaje web (PHP, ASP.net, etc) ya que es la tendencia en estos momentos, dentro del mundo del desarrollo web sin duda el lenguaje idóneo es PHP y si no te sientes realmente atraido por el desarrollo web los más recomendables serían: C, C ++, Java y Visual Basic.

PHP como primer lenguaje de programación

En CodeUtopia nos dan un buen número de razones por las que PHP es un buen primer lenguaje de programación.

PHP no es un lenguaje excesivamente complejo y con una curva de aprendizaje asequible, es bastante fácil de aprender pero también te permite aprender características de lenjuages más complejos como son los lenguajes de programación orientados a objetos.

Es posiblemente el lenguaje web más popular lo que hace que haya numerosos tutoriales y ejemplos de código que agilizan el periodo de aprendizaje.

Debido a su enorme popularidad probablemente sea con el lenguaje que más fácilmente encontrarás trabajo.

Por lo tanto PHP reune las características más importantes que un primer lenguaje de programación debe reunir:

  • Emepzar a programar es realmente sencillo
  • Es potente y proporciona funciones de alto nivel con poco código
  • Es fácil ver nuestro progreso en un corto periodo de tiempo

¿Por qué comenzar con PHP y no con C?

Aunque PHP posee grandes coincidencias con los lenguajes más comunes de la programación estructurada (C y Perl) es más recomendable que estos ya que nos permite involucrarnos con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.

Con C tenemos bastantes conceptos difícles de entender como es el caso de los punteros, se necesita una gran cantidad de código para las aplicaciones más sencillas y para principiantes puede ser un tanto difícil enamorarse de la consola.