Php

[Entrevista]Entrevista a Rasmus Lerford, creador del lenguaje PHP

Esto sin duda tenia que publicarlo en este blog ya que, es de suma importancia.

En este post les quiero platicar sobre una entrevista que vi en consumer.es en donde platican con  Rasmus Lerdorf, el cual por si alguno no lo sabe es el creador del lenguaje PHP, con el cual trabajan empresas tan importantes como, Google, Yahoo, Facebook, Ajaxman, y tambien donde estan escritos muchos cms’s como WordPress y PhpBB.

Rasmus Lerford, actualmente trabaja como arquitecto de infraestructuras en Yahoo!, y sigue colaborando con el desarrollo de Php, ademas de que forma parte de Linuxcare Inc. como investigador

A continuación les copio la entrevista.

¿Cómo definiría PHP para alguien que no es programador?

Es la pieza de tecnología que responde a una petición web y provee los datos. Cuando apuntas tu navegador hacia una página web, el servidor responde a la petición y luego trata de encontrar la información para construir la página que luego ves en el navegador. PHP sería la parte que envía una petición a la base de datos o a otro servidor para encontrar la información que luego enviará de vuelta al navegador.

rasmus lerdford

rasmus lerdford

¿Cuando desarrolló PHP pensaba que llegaría al nivel que tiene actualmente de popularidad y de uso?

No, no tenía ni idea de que iba a ser tan popular. Simplemente escribí algo que necesitaba. Estaba haciendo sitios web, necesitaba una herramienta y no estaba ahí. La gente empezó a utilizarla y su uso comenzó a extenderse a medida que se fue necesitando crear servicios en Internet. Así PHP se hizo cada vez más popular. Muchas de esas personas no eran técnicos en programación, provenían del departamento artístico: creativos o redactores que tenían que hacer una web con un editor HTML y les pedían que metieran los productos de la empresa, los precios y las características.

Ellos decían: “¡Un momento, que yo no soy programador; no puedo encargarme de la página y conectarla con una base de datos”. Pero sus jefes les respondían: “Sí, te tienes que encargar de eso”. Por eso un montón de gente que no eran programadores cuando la Web se popularizó y debían confeccionar sitios web tenían pánico y necesitaban una herramienta como PHP, que tiene una curva de aprendizaje muy plana. Es muy fácil arrancar, y puedes coger una página en HTML y hacerla dinámica con PHP. No tienes que leer muchos libros para conseguirlo con éxito y desarrollar una web.

Para mucha gente PHP es “eso” que va junto con MySQL. Aunque puede funcionar con otras bases de datos, se suelen usar juntos, tal vez por el tipo de licencia bajo la que se distribuyen. ¿Son buenos amigos PHP y MySQL?

MySQL hizo por las bases de datos lo que PHP por los lenguajes de programación: los hizo accesibles para mucha gente, para la gente normal. Con Oracle te sientas delante del ordenador, tratas de hacerte a la idea y tienes que leer, leer y leer muchas cosas complicadas, configuraciones, y debes entender muchos conceptos sobre cómo funcionan las bases de datos antes de hacer algo. MySQL es, o al menos era, una base de datos muy sencilla con la que podías hacer una cosa y hacerla bien.

No hacía todas las cosas que podía hacer Oracle, pero sólo necesitábamos hacer algo sencillo para la web, porque en los 90 no era necesario hacer cosas muy complicadas. Sólo necesitabas, por ejemplo, hacer una lista de productos y características o precios. En este contexto, un lenguaje de programación sencillo y fácil de entender, junto una base de datos simple que podías hacer funcionar sin grandes conocimientos, fueron la “killer application” (aplicación determinante) de la época. Podías hacer un sencillo formulario que consultara a una base de datos, buscara los resultados y los devolviera como resultado al navegador. Eso era todo lo que se necesitaba en ese momento.

¿Cuáles son los puntos fuertes de PHP frente a otros lenguajes de programación?

PHP como lenguaje de programación no es mejor, probablemente es peor que otros lenguajes, pero lo que tiene PHP es que está orientado a un objetivo: la programación web en Internet. Cada caso de la documentación del sitio PHP.net está explicado con un ejemplo y eso es lo que busca a gente. Se puede copiar y pegar directamente en el código y realmente resuelve el problema.

Leer más

[PHP] Convertir un XML a un Array de datos con Php

Antes de empezar este post dejenme les comento, como nota muy importante, que yo no hice este script, si no que lo encontre en la web y se me hizo interesante postearlo aqui lo hizo MA Razzaque Rupom , ya que funciona bastante bien y si algun dia tienen que hacer un parseador y no disponen de tiempo, y desean algo que funcione bien, pues para eso esta este script.

Resulta pues que yo estaba revisando algo que hice pero como que no me habia gustado mucho, y asi que me dedique a buscar alternativas que ya estuvieran hechas, para no reinventar la rueda.

Lo que buscaba era un parser de XML a PHP, pero que jalaran muy bien, entonces di con el siguiente codigo.

class.xmltoarray.php

< ?
/**
* XMLToArray Generator Class
* @author  :  MA Razzaque Rupom <rupom_315@yahoo.com>, <rupom .bd@gmail.com>
*             Moderator, phpResource (LINK1http://groups.yahoo.com/group/phpresource/LINK1)
*             URL: LINK2http://www.rupom.infoLINK2
* @version :  1.0
* @date       06/05/2006
* Purpose  : Creating Hierarchical Array from XML Data
* Released : Under GPL
*/

class XmlToArray
{

    var $xml='';

    /**
    * Default Constructor
    * @param $xml = xml data
    * @return none
    */

    function XmlToArray($xml)
    {
       $this->xml = $xml;
    }

    /**
    * _struct_to_array($values, &$i)
    *
    * This is adds the contents of the return xml into the array for easier processing.
    * Recursive, Static
    *
    * @access    private
    * @param    array  $values this is the xml data in an array
    * @param    int    $i  this is the current location in the array
    * @return    Array
    */

    function _struct_to_array($values, &$i)
    {
        $child = array();
        if (isset($values[$i]['value'])) array_push($child, $values[$i]['value']);

        while ($i++ < count($values)) {
            switch ($values[$i]['type']) {
                case 'cdata':
                array_push($child, $values[$i]['value']);
                break;

                case 'complete':
                    $name = $values[$i]['tag'];
                    if(!empty($name)){
                    $child[$name]= ($values[$i]['value'])?($values[$i]['value']):'';
                    if(isset($values[$i]['attributes'])) {
                        $child[$name] = $values[$i]['attributes'];
                    }
                }
              break;

                case 'open':
                    $name = $values[$i]['tag'];
                    $size = isset($child[$name]) ? sizeof($child[$name]) : 0;
                    $child[$name][$size] = $this->_struct_to_array($values, $i);
                break;

                case 'close':
                return $child;
                break;
            }
        }
        return $child;
    }//_struct_to_array

    /**
    * createArray($data)
    *
    * This is adds the contents of the return xml into the array for easier processing.
    *
    * @access    public
    * @param    string    $data this is the string of the xml data
    * @return    Array
    */
    function createArray()
    {
        $xml    = $this->xml;
        $values = array();
        $index  = array();
        $array  = array();
        $parser = xml_parser_create();
        xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
        xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
        xml_parse_into_struct($parser, $xml, $values, $index);
        xml_parser_free($parser);
        $i = 0;
        $name = $values[$i]['tag'];
        $array[$name] = isset($values[$i]['attributes']) ? $values[$i]['attributes'] : '';
        $array[$name] = $this->_struct_to_array($values, $i);
        return $array;
    }//createArray

}//XmlToArray
?>

Para usarlo lo haremos de la siguiente forma,

Leer más

[Revisiones] Destinia solicita Programador de PHP

Análisis de web esponsorizado

Destinia.com, cada día crece mas y para muestra basta un post.
En este arduo crecimiento una de las grandes agencia de viajes Destinia, necesita reforzar mas su equipo de trabajo por lo cual esta buscando programadores en PHP y MySQL, ojo esto es solo para España, por lo que veo aunque no lo especifican.

Las labores ha realizar básicamente sera:

  • Programación de sistema de venta de servicios turísticos por Internet
  • Documentación y revisión de código
  • Entre otros


El contrato sera:Contrato por obra, renovado a indefinido


Los requisitos son los siguientes
:

  • Se requiere experiencia probada de PHP y MySQL y en proyectos grandes en Internet
  • Al menos 2 años experiencia de programación con objetos
  • Buen nivel de ingles

Deseable:

  • Experiencia con portales de turismo, vuelos
  • sistemas de contabilidad Conocimientos de UML
  • XML
  • Javascript
  • AJAX
  • LINUX Jornada laboral

Todos los detalles los pueden consultar en esta url http://destinia.com/www/jobs/.

Cabe recalcar que la vacante esta gestionada por Infojobs.net una bolsa de trabajo bastante popular en muchos paises.

Esto significa que la empresa esta creciendo aunque no dan mas detalles, pero podemos decir que va por buen camino ya que para anunciarlo en varios blogs significa que estan mejorando dia con dia.

Como nota imporante cabe mencionar que, No se aceptarán currículos por correo o contacto telefónico, todo es por medio de Infojobs.

Leer más

[PHP] ¿Porqué la mascota de PHP es un elefante?

Muchos de seguro tenemos esa duda he aquí la respuesta.

Php logo

También eso me hizo recordar que venden unos elefantes “The ElePHPant”, es cual es como el de la siguiente imagen.

Php mascota

Este elefante lo pueden conseguir aquí | Ext/elephpant : the furry PHP mascot
Vía | ¿Por qué la mascota de PHP es un elefante?

Leer más

[PHP] Como saber cuando te visita GoogleBot

Hay veces en las que deseamos saber cuantas veces hemos sido visitados por algún robot de algún buscador.

Yo en lo personal siempre me ha gustado andar viendo con que frecuencia nos visita Google, para ver cada cuando me indexa, esto es solo digamos que por dos cosas SEO y curiosidad.

Bueno pues me acabo de encontrar un script en PHP que funciona de la siguiente forma: cada vez que te visita GoogleBot, te manda un mail, en realidad la función no es nada difícil ni complicado, solo que pues una ayuda nunca esta demás el código es el siguiente

[Php]

< ?php

if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Googlebot') !== false )
{
// tu email
$email_address = 'tumail@tudominio.com';

// enviando mail usando la funcion mail nativa de php
mail($email_address,'Googlebot te ha visitado', 'Googlebot ha visitado tu pagina:'.$_SERVER['REQUEST_URI']);
}
?>

[/Php]

Lo puse en español ya que la fuente esta en ingles esto es para que lo entiendan mejor aunque no creo que se les dificulte la implementación.

Vía | PHP: Be Notified When Google Crawls Your Site

Leer más

[Ajax]Phototype, manipulando imagenes usando Javascript

Feliz inicio de semana, una semana algo complicada para mi por múltiples cosas que tengo que hacer(pagar TC, pagar Salon, Pagar art de la casa etc..), pero sin duda postear un buen numero de artículos hará mas amena la semana.

El otro día vi un enlace no recuerdo en que pagina/Blog (ajaxian??), el cual nos comentaba sobre un script que nos permite hacer maravillas con las imagenes usando para ello PHP y GD, si no mal recuerdo, para muestra vean la siguiente imagen la cual fue rotada y se le agrego el efecto polaroid con esta libreria.

phototype

Se trata de Phototype, el cual funciona usando php y la librería Javascript Prototype, lo cual funciona de la siguiente forma.

[Javascript]



[/javascript]

En el caso anterior lo que hicimos fue modificar el tamaño de la imagen, usando el método resize

Existen varios métodos como:

  • resize
  • flipV
  • rotate
  • dropShadow
  • makeSketchy
  • toGreyScale
  • addCaption
  • y hasta addChuckNorris

Mas información de este Framework, aquí | Phototype: image manipulation with javascript

Leer más

[Eventos]Bugcon 2008 Conferencias sobre hacking y mas…

Bueno antes de que se me pase el tiempo y me olvide de esto les voy a platicar que tal estuvo el BugCon.

Como es costumbre no fui a todo el evento, aquí va la crónica del evento.

En primer lugar no tenia ni idea de donde quedaba UPIICSA, fui con mi novia, asi que tome un taxi desde el metro Bulevard Puerto Aéreo y el taxista se equivoco y me estaba llevando para el auditorio pero bueno, llegamos casi a las 10:40 mas o menos luego, en serio que no se como estén en UPIICSA ya que le pregunte a todos donde estaba el BUGCON y nadie sabia nada , hasta pensé que me había equivocado, pero la verdad nadie tenia idea de nada.

Resulta pues que después de preguntarle a muchos por fin pudimos dar con dicho lugar.

Entramos y pues había muy poca gente, había “como ya sabíamos” dos auditorios uno de Black Hat y otro de White Hack,entre al de BlackHat.

La ponencia la estaba dando “Sandino Araico Sánchez“, dando la conferencia de “Tu peor enemigo”.

Aqui nos hablo un poco del Spam, las maquinas Zoombies, el phishing y las politicas de seguridad de los “Sysamdin’s”.

Durante su participacion hablo sobre algunos software’s que destacan por x o y detalles como son:

  • Tomcat, Sandino nos recalco que el principal problema de Tomcat era que muestra demasiada información al generar errores, como paths, entre otras cosas.
  • Apache, que por problemas de max_clients y pipe_live puede darnos dolores de cabeza con los usuarios y el ancho de banda, respectivamente
  • Oracle, Por su posibilidad de escalar privilegios, y de tener por default una cuenta SYSTEM además de poder permitir ejecución de código(creo que son los PL/SQL’s)
  • Hubo también algunos mas que no recuerdo bien, como debian jaja, pero mejora hasta ahí le dejamos…….

Después nos fuimos a Google Hacking impartido por “Jesus Antonio Alvárez Cedillo” que sinceramente estuvo muy aburrida, ya que yo esperaba mas cosas, y simplemente nos “enseño” como usar las variables “site” con “index Of”, algo que creo, para los de Black Hat esperaban algo mas interesante.

Pero como la platica anterior duro tan poco tiempo, nos cambiamos a WhiteHat, donde estaba muy chido, lastima que solo pude ver el final y si no me equivoco esa conferencia fue “One Shot phishing on local area networks” impartida por “Héctor Leal Morales”, donde vimos(bueno casi no vi mucho) como se accede a una pc con windows hackeandola desde un Linux, usando ARP, estuvo interesante, lastima que solo llegue alfinal, creo que aqui como que se equivocaron creo que esta conferencia debio de ser al reves, pero bueno.

Luego les paso mas información de ese hackeo, lo realizo usando ethercap, para manipular ARP, o algo asi, luego les paso mas informacion.

Posteriormente vimos “Linux en consolas de video juegos” por Rolando Cedillo, esta platica realmente me impresiono, nos mostró básicamente los requerimientos para poder montar linux, y nos comento rápidamente como lo hizo, inclusive nos platico como están estructurados los sistemas internos de algunas consolas como Xbox, Wii y Playstation 3, también nos platico sobre las cualidades de las VPU’s(CPUS de Vectores o algo asi!!!), lastima que no pude escribir todo pero sin duda fue una de las que mas me gusto.

Y por ultimo asistí a ver la demostración de

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter