tag:blogger.com,1999:blog-333563722009-06-13T12:13:11.466-03:00PHP y mi camino en aprender PythonBlog sobre PHP y mi camino en el aprendizaje de Python. Encontraras aportes a la comunidad, pequeños script, tutoriales sobre algún tema en especial, siempre sobre PHP.
Temas sobre Python no van a sobrar, solo comentarios y vivencias propias.
Y temas variados relacionados con la computación.DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.comBlogger42125tag:blogger.com,1999:blog-33356372.post-6251213151295214102008-11-06T21:24:00.002-02:002008-11-06T22:23:21.087-02:00Spider en pythonEn los últimos meses estuve trabajando mucho por eso no volví a escribir, pero voy a estar tratando de retomar dicha costumbre de escribir.Ya que ultimamente estuve haciendo muchos spiders y de los más variados hoy voy a hablar sobre esto. Hasta ahora lo que mejor me resulto fue hacerlos en Python, mucho más fácil y rápido que en cualquier otro lenguaje. La única librería que realmente es "DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com4tag:blogger.com,1999:blog-33356372.post-9762515524367446242007-07-29T09:10:00.000-03:002007-07-29T09:19:45.183-03:00"Memcached: un alivio para las bases de datos""Memcached: un alivio para las bases de datos" este es el nombre de un artículo muy bueno sobre Memcached escrito por Pichongol (Daniel López) en "Maestros del Web". Memcached es una de las cosas nuevas que empecé a ver en la empresa donde empecé a trabajar, si bien ya conocía algo sobre este no lo había usado anteriormente porque nunca trabaje en un proyecto que valiera algo de esta talla. Aquí DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com3tag:blogger.com,1999:blog-33356372.post-7786865137986845762007-07-21T23:41:00.000-03:002007-07-22T00:00:31.818-03:00"PythonChallenge"PythonChallenge es una web donde se nos presenta varios desafíos que hay que ir resolviendo con Python (en realidad se puede solucionar con cualquier lenguaje). La idea es dar un "incentivo" para que se aprenda el lenguaje de una forma divertida y practica. La verdad es que la idea esta buena y es bastante adictivo tener un desafío adelante, empiezas con el primero "bueno, vamos a probar" y DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com1tag:blogger.com,1999:blog-33356372.post-54810347792038677332007-07-20T02:06:00.000-03:002007-07-20T02:14:36.097-03:00Tabla de comparación de tipos en PHPHoy de casualidad encontré algo bastante copado, una "Tabla de comparación de tipos" y que es eso con tan lindo nombre te preguntaras, bueno es muy simple es una tabla donde se muestra como se comportan distintos tipos de datos en PHP ante las comparaciones (flexibles como estrictas).En realidad esta tabla no tiene nada del otro mundo, pero nunca la había visto y me parece algo bastante lindo DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com1tag:blogger.com,1999:blog-33356372.post-91227302012859112672007-07-19T00:40:00.000-03:002007-07-19T01:19:15.434-03:00Jerarquía de las Excepciones en PythonLas Excepciones en Python son bastante fáciles de manejar y nos dan una forma muy buena de manejar los errores que pueden ocurrir en nuestros programas.Hay que tener cuidado cuando se intenta atrapar algunas excepciones, siempre debes tratar de agarrar algún tipo especifico de excepciones y mucho mejor si son excepción definidas por ti. Cuando se intenta agarrar cualquier tipo de excepciones DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-33564126728469453142007-07-18T00:14:00.000-03:002007-07-18T00:17:57.887-03:00Que imprime?No vale probarlo y responder... respondan lo que crean correcto y luego lo verifican si quieren (atentos despistados!).<?php$trece = chr(13);switch ($trece) { case "\r": echo 1; break; case "\n": echo 2; break; case "\n\r": echo 3; break;}?>Dario Ocles.DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com6tag:blogger.com,1999:blog-33356372.post-73820254571818883852007-07-16T22:10:00.000-03:002007-07-16T22:34:10.935-03:00CURL y PHPMuchas veces necesitamos abrir alguna pagina remota y tomar algo de su contenido, para eso existen varias funciones como fopen(), file_get_contents(). Pero existe un problema, que pasa si la pagina/script que intentamos abrir necesita de algún parámetro que vaya por POST? (si fuera GET se coloca en la URL) para estos casos se puede abrir un socket con fsockopen() e enviar las cabeceras HTTP DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com5tag:blogger.com,1999:blog-33356372.post-13653719804653788732007-07-15T20:27:00.000-03:002008-12-11T06:40:53.203-02:00Los Generadores de SymfonySymfony no es menos y como cualquier otro framework tiene para generar "scaffolding". Un "scaffolding" es una forma de generar un AMB "automático". Lo que se hace es generar código para manejar una tabla de la base de datos, simplemente se configura como conectarse a la base de datos y luego automáticamente se arma el código para un AMB o CRUD.A pesar de que lo anterior no solo es de Symfony, y DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-67016627586971175062007-07-14T18:17:00.000-03:002008-12-11T06:40:53.371-02:00El fin de PHP4Ayer 13 de Julio se anuncia en la pagina oficial de PHP que se le dejara de dar soporte a PHP4. Si quieren ver la nota simplemente vayan a php.net y podrán leerla sin problemas. En el anuncio dicen que después de este año (31 de Diciembre de 2007) se dejaran de publicar nuevas versiones y que solamente seguirán realizando parches de seguridad hasta el 08 de Agosto de 2008 (un día antes de mi DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-65981966964017457912007-07-12T21:24:00.000-03:002007-07-12T22:01:21.363-03:00Variable variable ¿?Una característica que PHP te da son las "variables variables". En realidad es algo que jamás use en algún desarrollo y dudo que algún día lo use, creo que hay muchas formas de hacer las cosas pero utilizar variables variables no es lo más "claro", es más diría que confunde bastante y no es fácil de leer código con variables variables.Es simple de leer lo siguiente?$nombre = 'dario';$variable = 'DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com2tag:blogger.com,1999:blog-33356372.post-77084889727242230922007-07-12T00:18:00.000-03:002008-12-11T06:40:53.717-02:00Symfony y su "guía definitiva"Este framework es de lo mejorcito que conocí. Este framework cuenta con un libro donde se enseña todo sobre este... obviamente el libro hay que pagarlo pero su traducción es libre y pueden descargar "Symfony, la guía definitiva" de aquí o pueden leerlo on-line desde aquí. Si tienen la oportunidad denlen la oportunidad y lean algunos capítulos, si esos no los convence nada lo hará xD ... es DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com4tag:blogger.com,1999:blog-33356372.post-49294215431295406442007-07-10T17:17:00.000-03:002008-12-11T06:40:53.765-02:00Aprender Python en pocos díasPor una cosa u otro nunca me puse a leer de manera sería alguna documentación de Python, simplemente leía la lista, algún capitulo de algo en concreto y dudas puntuales. Haces unos días (5 mas o menos) me propuse leer de punta a punta la Guía de aprendizaje de Python. Mi gran sorpresa es lo chica que es y lo rápido que se lee toda la guía. Con el poco tiempo que tengo ultimamente (muy poco por DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com1tag:blogger.com,1999:blog-33356372.post-69943144257336123232007-07-09T13:59:00.000-03:002007-07-09T14:25:37.595-03:00Ejemplo practico de la Interface Iterator de SPLExtendiendo el post anterior sobre SPL (Standar PHP Library), aquí voy a mostrar un ejemplo "mejor" (es relativo) del que se muestra en el libro de la certificación. En el post anterior comentaba que el ejemplo del libro si bien es bueno y cumple con su cometido creía que alguien con no mucha experiencia no vería todo el potencial de esto.Como siempre, yo no soy un experto en esto y puede que DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-44299732287549561792007-07-08T13:16:00.000-03:002007-07-08T13:57:05.713-03:00SPL - Standar PHP LibraryLa Standar PHP Library (SPL) es una adición que se le hizo a PHP para solucionar algunos problemas comunes. Sobre esto se habla en el capitulo 8 ("Elements pf Object-oriented Design) del libro de la certificación. Una de las implementaciones y ejemplos que muestra es la siguiente... como acceder a un objeto como si fuera un array. En el libro hay un ejemplo bastante "simplón" que si bien muestra DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-18290737064020142552007-07-06T23:03:00.000-03:002007-07-06T23:23:23.724-03:00Matar procesos de Windows con PHPSiguiendo con el post anterior "Reiniciar/apagar la computadora con PHP" vuelvo con este post y con el siguiente "tip". En Windows tenemos disponible dos comandos útiles uno es tasklist y el otro taskkill. Con el primero listamos los procesos y con el segundo lo matamos.Para listar los procesos:$procesos = "";exec("tasklist",$procesos);echo nl2br(print_r($procesos,true));Y para matarlos es tan DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com2tag:blogger.com,1999:blog-33356372.post-2729933627545061332007-07-04T14:25:00.000-03:002007-07-04T14:33:49.546-03:00Mi propia consolaHydra es el nombre de un kit de desarrollo de tu propia consola. Este kit te permite programar juego para esta "consola casera" y así hacer juegos del mismo estilo que se hacían en los años 70/80.Link a la noticiaLa noticia ya es "vieja" tiene varios días pero no quería dejar de nombrarla aquí ya que sería algo muy lindo obtener. No creo que la llegue a comprar ya que seria una de esas cosas que DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-63984051429491268882007-07-03T16:12:00.001-03:002007-07-03T16:12:30.239-03:00Intercambio de valores entre dos variables (Python)Extendiendo el post anterior aquí pretendo mostrar lo mismo pero Python el lenguaje más "elegante" que conozco. En el post anterior hacemos uso de dos funciones que nos provee PHP pero no estamos utilizando una "propiedad" del leguaje mismo.Unas de las cosas hermosas que tiene Python es la asignación multiple. Aquí, a diferencia del ejemplo anterior, no hacemos uso de funciones ni herramientas DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-82976011319061524752007-07-02T19:18:00.000-03:002008-12-11T06:40:54.083-02:00DCOP, GNU/Debian y KopeteHoy chateando con mi padre sobre algunas de las bondades de GNU/Linux quise mostrarle como se puede "jugar" con algunas cosas. Le explique sobre algunas cosas como los archivos FIFO y lo que podía hacer con ellos. También le mostré las cosas que se puede hacer gracias a DCOP... como por ejemplo saltar al siguiente tema en la lista de reproducción de Amarok y cosas de ese tipo. Como lo anterior noDarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com2tag:blogger.com,1999:blog-33356372.post-73397112171725258272007-07-01T03:57:00.000-03:002008-12-11T06:40:54.227-02:00Reiniciar/apagar la computadora con PHPGracias a un post en ForosDelWeb descubro algo interesante. En el post se pide algún código que reinicie/apague la pc con PHP. La computadora que hace de servidor en este caso es un Windows (crashes?). Me puse a buscar info y enseguida dí con una forma de apagar el Win y de inmediato termine con el siguiente código:exec('%systemroot%\system32\shutdown.exe -r -t 0');Si desean apagar simplemente DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com5tag:blogger.com,1999:blog-33356372.post-19198773419734559382007-07-01T01:51:00.000-03:002007-07-01T03:57:05.633-03:00Intercambiar valores entre dos variablesQue cosa tan simple dirán algunos. Como lo harias? Yo lo haría así:list($a,$b) = array($b, $a); Y tú? Lo harías igual?Dario Ocles.DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com2tag:blogger.com,1999:blog-33356372.post-71582495298699126332007-06-24T19:13:00.000-03:002007-06-24T20:38:07.608-03:00Problemas en GNU/Linux y ayuda de PythonHace unos días instale un Debian Etch pero tengo un detalle con el sonido. El sonido me anda pero cuando escucho algo si intento bajar o subir el volumen me quedo totalmente sin el y debo hacerlo desde los propios parlantes. También tengo instalado un Ubuntu Dapper que hace rato no usaba. Como en Ubuntu no tube ningún problema y en Debian si se me ocurrio investigar. Primero quiero agregar que DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-25640886031918361882007-06-23T16:56:00.000-03:002008-12-11T06:40:54.493-02:00Auto-completar en CMD.exe de WindowsSi trabajas o usastes GNU/Linux y has usado Bash, te acostumbras algunas cosas como puede ser el ir auto-completando los comando por medio de tab's. Es muy comodo escribir las primeras letras de un comando (o directoprio) apretar tab y que se complete automaticamente, si el nombre es muy difícil o muy largo el tab nos ayuda. El porque no viene activado por default en el shell de Win no lo sé, DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com1tag:blogger.com,1999:blog-33356372.post-56585544823589262732007-06-22T20:14:00.000-03:002007-06-22T21:22:52.124-03:00Composite Pattern en PythonEn un post anterior muestro como implementar el patron Composite en PHP. Hoy implemente el mismo código pero en Python, solamente como un jercicio propio y para empezar a hacer algo en Python ya que no hago mucho, solo leo :-(Ya que estoy remarco algunas cosas para el que no conozca Python. En python para marcar los bloques de código se hace por medio de la identación lo cual hace -obligadamente-DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-79651393476174698652007-06-19T01:42:00.000-03:002007-06-20T00:40:46.489-03:00Que lenguaje soy? Que extención de archivo soy?Soy friki! que le voy hacer?Which Programming Language are You?Which File Extension are You?DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0tag:blogger.com,1999:blog-33356372.post-63356077636499570562007-06-19T00:11:00.000-03:002007-06-19T00:50:39.758-03:00Array, equivalencias e igualdades.Cuanto más leo el libro de la certificación más "curiosidades" me encuentro. PHP cuenta con 11 funciones distintas para ordenar array's, un número nada despreciable. También veo que los array's pueden ser equivalentes (==) o identicos (===). Ser equivalente no es igual a ser identicos, pero no solo eso, sino que estas comparaciones estan atados a algunos "detallitos".$uno = array('a', 'b', 'c',DarioDariohttp://www.blogger.com/profile/08384144403805691117noreply@blogger.com0