<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkQFQXo-cSp7ImA9WhRWFUo.&quot;"><id>tag:blogger.com,1999:blog-19450532</id><updated>2012-01-03T04:05:10.459-03:00</updated><category term="discusiones" /><category term="templates" /><category term="Día de los Inocentes" /><category term="principios de diseño" /><category term="configuración" /><category term="buenas practicas" /><category term="plagio" /><category term="web" /><category term="servidores" /><category term="material" /><category term="profesionalizar" /><category term="singleton" /><category term="phpbeers" /><category term="uruguay" /><category term="interfaces" /><category term="debianday" /><category term="api" /><category term="presentacion" /><category term="calidad" /><category term="fotos" /><category term="surforce-social" /><category term="bolsa de trabajo" /><category term="google docs" /><category term="opinión" /><category term="sesiones" /><category term="foros" /><category term="css" /><category term="reflexiones" /><category term="setlocale" /><category term="web 2.0" /><category term="tips" /><category term="utf8" /><category term="video" /><category term="SPL" /><category term="usabilidad" /><category term="unicode" /><category term="eclipse" /><category term="libro" /><category term="diseño" /><category term="errores" /><category term="herencia" /><category term="crontab" /><category term="humor" /><category term="scripting" /><category term="consejos" /><category term="UTU" /><category term="POO" /><category term="fuegos artificiales" /><category term="especializar" /><category term="refactoring" /><category term="idioma" /><category term="html_select_date" /><category term="zend framework jquery dojo" /><category term="senior" /><category term="casos de uso" /><category term="críticas" /><category term="optimización" /><category term="UML" /><category term="meneame" /><category term="inocentada" /><category term="taller" /><category term="gui" /><category term="ofertas de trabajo" /><category term="batch" /><category term="online" /><category term="semana2" /><category term="mvc" /><category term="formato" /><category term="ort" /><category term="curso" /><category term="surforce-modules" /><category term="Argentina" /><category term="Zend_Layout" /><category term="estándares" /><category term="zend framework" /><category term="smarty" /><category term="html" /><category term="grupophp" /><category term="Helpers" /><category term="framework" /><category term="cursos" /><category term="zend" /><category term="Año nuevo" /><category term="google" /><category term="svn" /><category term="screencast" /><category term="encuesta" /><category term="wiki" /><category term="podcast" /><category term="semana3" /><category term="manuales" /><category term="gestion" /><category term="montevideo" /><category term="recuerdos" /><category term="surforce-core" /><category term="IDE" /><category term="viaje" /><category term="php6" /><category term="debianuruguay" /><category term="diferencias" /><category term="php4" /><category term="namespaces" /><category term="surforce-cms" /><category term="frases" /><category term="frontend" /><category term="screencasts" /><category term="surforce-base" /><category term="semana4" /><category term="instalación" /><category term="estadisticas" /><category term="resumen" /><category term="ambiente" /><category term="code" /><category term="linux" /><category term="mootools" /><category term="patrones de diseño" /><category term="debug" /><category term="gratuito" /><category term="Zend_View" /><category term="reuniones" /><category term="iso-8859-1" /><category term="ajax" /><category term="entrevistas" /><category term="PHP5.3" /><category term="proyecto" /><category term="surforce-library" /><category term="meeting" /><category term="ejemplos" /><category term="herramientas" /><category term="cosas mal hechas" /><category term="netbeans" /><category term="s5" /><category term="charlas" /><category term="teletrabajo" /><category term="crítica" /><category term="preguntas" /><category term="namespace" /><category term="noticias" /><category term="twitter" /><category term="novedades" /><category term="empresas" /><category term="polemica" /><category term="eventos" /><category term="dreamhost" /><category term="crackers" /><category term="objetos" /><category term="PHP5" /><category term="surforce" /><category term="universidad" /><category term="excepciones" /><title>PHP Senior</title><subtitle type="html">Como convertirse en un "Desarrollador PHP Senior" y no morir en el intento... escrito por &lt;u&gt;&lt;a href="http://enriqueplace.blogspot.com"&gt;Enrique Place&lt;/a&gt;&lt;/u&gt; de &lt;u&gt;&lt;a href="http://www.surforce.com"&gt;SURFORCE&lt;/a&gt;&lt;/u&gt;</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://phpsenior.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>289</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/phpsenior" /><feedburner:info uri="phpsenior" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>phpsenior</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;C08MQ34_fSp7ImA9WhRXFU8.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-473831827406925153</id><published>2011-12-21T23:44:00.000-03:00</published><updated>2011-12-21T23:44:42.045-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-21T23:44:42.045-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cursos" /><category scheme="http://www.blogger.com/atom/ns#" term="novedades" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="surforce" /><category scheme="http://www.blogger.com/atom/ns#" term="zend framework" /><title>Preventa de cursos 2012 y descuentos del 20% hasta el viernes!</title><content type="html">Estimados todos!&lt;br /&gt;
&lt;br /&gt;
Esta semana iniciamos la &lt;b&gt;preventa de cursos&lt;/b&gt; PHP5 / Zend Framework 2012 con &lt;b&gt;20% de DESCUENTO&lt;/b&gt; hasta este viernes 23/12!&lt;br /&gt;
&lt;br /&gt;
Estamos armando los grupos, la &lt;b&gt;primera fecha de inicio es la segunda semana de enero 2012 &lt;/b&gt;para los cursos relacionados con PHP5 e Introducción a Zend Framework, y &lt;b&gt;la primer semana de febrero 2012&lt;/b&gt; el segundo grupo de cursos relacionados con PHP5 y Zend, incluyendo además Análisis y Diseño, Patrones de Diseño y talleres prácticos de desarrollo.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Para realizar las compras&lt;/b&gt;, primero registrarse en &lt;a href="http://registracion.surforce.com/"&gt;registracion.surforce.com&lt;/a&gt; y luego ingresar al sistema de autogestión &lt;a href="http://usuarios.surforce.com/"&gt;usuarios.surforce.com&lt;/a&gt;, sección "comprar" (especificar en los comentarios el período de inicio, enero o febrero).&lt;br /&gt;
&lt;br /&gt;
Los descuentos de esta semana son para TODOS los PRODUCTOS, incluye libro y cursos individuales e intensivos.&lt;br /&gt;
&lt;br /&gt;
Para regalar o regalarse en navidad. ;-)&lt;br /&gt;
&lt;br /&gt;
Felices fiestas y empecemos con fuerza el 2012!&lt;br /&gt;
&lt;br /&gt;
Saludos! ;-)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-473831827406925153?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/1rpmxeUdtqI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/473831827406925153/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=473831827406925153" title="0 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/473831827406925153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/473831827406925153?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/1rpmxeUdtqI/preventa-de-cursos-2012-y-descuentos.html" title="Preventa de cursos 2012 y descuentos del 20% hasta el viernes!" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2011/12/preventa-de-cursos-2012-y-descuentos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNSXYzfSp7ImA9WxFQFEg.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-4401877106078607788</id><published>2010-05-09T23:33:00.001-03:00</published><updated>2010-05-09T23:38:18.885-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-09T23:38:18.885-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="objetos" /><category scheme="http://www.blogger.com/atom/ns#" term="sesiones" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><title>Pasar objetos por sesión</title><content type="html">Como no es la primera vez que me lo han preguntado, y tampoco es la primera vez que veo esta duda en un foro, les agrego un ejemplo sobre el tema. ;-)&lt;br /&gt;
&lt;br /&gt;
En sí, la única "complejidad técnica", más que nada asociada a la falta de experiencia en cómo trabaja PHP, es que&lt;b&gt; debemos siempre requerir los fuentes de la clase del objeto en cuestión, y particularidad mediante, antes de iniciar la sesión&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;script src='http://pastie.org/953189.js'&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script src='http://pastie.org/953195.js'&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script src='http://pastie.org/953196.js'&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
No hace falta serializar los objetos, las sentencias de sesión ya se encargan de todo el trabajo, ante dudas de cómo trabaja, siempre&lt;a href="http://ar.php.net/manual/es/book.session.php"&gt; el manual oficial&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Saludos! &lt;img alt="" border="0" class="inlineimg" src="http://static.forosdelweb.com/images/smilies/wink.gif" title="apachar ojo" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-4401877106078607788?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/gvnb_85n_Rk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/4401877106078607788/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=4401877106078607788" title="7 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4401877106078607788?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4401877106078607788?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/gvnb_85n_Rk/pasar-objetos-por-sesion.html" title="Pasar objetos por sesión" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/05/pasar-objetos-por-sesion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUHQHc5fCp7ImA9WxFQE04.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-3417675028832964110</id><published>2010-05-08T11:50:00.000-03:00</published><updated>2010-05-08T11:50:31.924-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-08T11:50:31.924-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="herramientas" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title>Herramientas: compartir / comentar / publicar código de ejemplo via web</title><content type="html">Para los que estamos regularmente respondiendo dudas de código y dando ejemplos, herramientas como &lt;a href="http://pastie.org"&gt;Pastie&lt;/a&gt; son muy útiles gracias a lo "independiente" de la plataforma. Bien podemos enviar &lt;a href="http://pastie.org/951421"&gt;el enlace al código&lt;/a&gt;, o directamente "embeberlo" en un post:&lt;br /&gt;
&lt;br /&gt;
&lt;script src='http://pastie.org/951421.js'&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Y lo bueno es que puedes colorear la sintaxis según el lenguaje que sea, respeta la indentación, etc... muy práctico! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-3417675028832964110?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/LIuZdeK3o_Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/3417675028832964110/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=3417675028832964110" title="5 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/3417675028832964110?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/3417675028832964110?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/LIuZdeK3o_Y/herramientas-compartir-comentar.html" title="Herramientas: compartir / comentar / publicar código de ejemplo via web" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/05/herramientas-compartir-comentar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QHRX89fyp7ImA9WxFQE08.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-6398330052673806947</id><published>2010-05-08T10:19:00.001-03:00</published><updated>2010-05-08T10:28:54.167-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-08T10:28:54.167-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ejemplos" /><category scheme="http://www.blogger.com/atom/ns#" term="UML" /><category scheme="http://www.blogger.com/atom/ns#" term="POO" /><category scheme="http://www.blogger.com/atom/ns#" term="foros" /><title>Ejemplo de composición: Factura y detalle de factura</title><content type="html">Este es un ejemplo publicado &lt;a href="http://www.forosdelweb.com/f68/modelando-clases-804640/"&gt;a partir de la duda de un usuario&lt;/a&gt;, y como son preguntas que se hacen reiteradamente, les dejo el ejemplo aquí (cualquier duda la discutimos en los comentarios de este post):&lt;br /&gt;
&lt;br /&gt;
La relación debería ser "composición" (no tiene sentido la existencia de  "detalle" sin la relación con factura, por lo tanto es una "relación de  vida" entre ambas clases) y el diagrama UML sería el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" border="0" src="http://yuml.me/diagram/scruffy/class/%5BFactura%5D++-%3E%5BFacturaDetalle%5D" /&gt;&lt;br /&gt;
&lt;br /&gt;
y la traducción a código sería:&lt;br /&gt;
&lt;br /&gt;
Factura.php&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: 5px 20px 20px;"&gt;&lt;div class="smallfont" style="margin-bottom: 2px;"&gt;Código PHP:&lt;/div&gt;&lt;div class="alt2" dir="ltr" style="border: 1px inset; height: 194px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;"&gt;&lt;code style="white-space: nowrap;"&gt;    &lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;require_once&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'FacturaDetalle.php'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;
&lt;br /&gt;
class&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;Factura&lt;/span&gt;&lt;span style="color: #007700;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style="white-space: nowrap;"&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; private&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$_colDetalle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;array();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; public&amp;nbsp;function&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;addDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;(&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;FacturaDetalle&amp;nbsp;$detalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$this&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;_colDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;[]&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$detalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000bb;"&gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;   &lt;/code&gt;  &lt;/div&gt;&lt;/div&gt;FacturaDetalle.php&lt;br /&gt;
&lt;div style="margin: 5px 20px 20px;"&gt;&lt;div class="smallfont" style="margin-bottom: 2px;"&gt;Código PHP:&lt;/div&gt;&lt;div class="alt2" dir="ltr" style="border: 1px inset; height: 82px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;"&gt;&lt;code style="white-space: nowrap;"&gt;    &lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;class&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;FacturaDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style="white-space: nowrap;"&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;/**&amp;nbsp;código&amp;nbsp;de&amp;nbsp;la&amp;nbsp;clase&amp;nbsp;**/&lt;/span&gt;&lt;span style="color: #007700;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code style="white-space: nowrap;"&gt;&lt;code&gt;&lt;span style="color: black;"&gt;&lt;span style="color: #007700;"&gt;}&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000bb;"&gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;   &lt;/code&gt;  &lt;/div&gt;&lt;/div&gt;Forma de uso: index.php&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: 5px 20px 20px;"&gt;&lt;div class="smallfont" style="margin-bottom: 2px;"&gt;Código PHP:&lt;/div&gt;&lt;div class="alt2" dir="ltr" style="border: 1px inset; height: 322px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;"&gt;&lt;code style="white-space: nowrap;"&gt;    &lt;code&gt;&lt;span style="color: black;"&gt; &lt;span style="color: #0000bb;"&gt;&lt;/span&gt;&lt;span style="color: #007700;"&gt;require_once&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'Factura.php'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;
require_once&amp;nbsp;&lt;/span&gt;&lt;span style="color: #dd0000;"&gt;'FacturaDetalle.php'&lt;/span&gt;&lt;span style="color: #007700;"&gt;;&lt;br /&gt;
&lt;br /&gt;
abstract&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;Index&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #007700;"&gt;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;function&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;main&lt;/span&gt;&lt;span style="color: #007700;"&gt;()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$factura&amp;nbsp;&lt;/span&gt;&lt;span style="color: #007700;"&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;Factura&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff8000;"&gt;//&amp;nbsp;Agrego&amp;nbsp;4&amp;nbsp;detalles&amp;nbsp;a&amp;nbsp;la&amp;nbsp;factura&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$factura&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;addDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;(new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;FacturaDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$factura&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;addDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;(new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;FacturaDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$factura&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;addDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;(new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;FacturaDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;$factura&lt;/span&gt;&lt;span style="color: #007700;"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;addDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;(new&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;FacturaDetalle&lt;/span&gt;&lt;span style="color: #007700;"&gt;());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;Index&lt;/span&gt;&lt;span style="color: #007700;"&gt;::&lt;/span&gt;&lt;span style="color: #0000bb;"&gt;main&lt;/span&gt;&lt;span style="color: #007700;"&gt;();&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000bb;"&gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;   &lt;/code&gt;  &lt;/div&gt;&lt;/div&gt;Más información sobre el tema de &lt;a href="http://phpsenior.blogspot.com/2010/03/video-de-la-charla-introduccion-poo-uml.html" target="_blank"&gt;diagramas y traducción de relaciones &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Saludos! &lt;img alt="" border="0" class="inlineimg" src="http://static.forosdelweb.com/images/smilies/wink.gif" title="apachar ojo" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-6398330052673806947?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/H6mqTRvoh9s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/6398330052673806947/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=6398330052673806947" title="7 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/6398330052673806947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/6398330052673806947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/H6mqTRvoh9s/ejemplo-de-composicion-factura-y.html" title="Ejemplo de composición: Factura y detalle de factura" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/05/ejemplo-de-composicion-factura-y.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcNRXk-fip7ImA9WxFREk0.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-554904320636283221</id><published>2010-04-25T10:44:00.000-03:00</published><updated>2010-04-25T10:44:54.756-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-25T10:44:54.756-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="batch" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="crontab" /><title>Ejecución de scripts en modalidad "batch" y validar sintaxis</title><content type="html">Muchas veces necesitamos correr &lt;a href="http://es.wikipedia.org/wiki/Batch"&gt;procesos "batch"&lt;/a&gt; que se ejecutarán a determinada hora desde un &lt;a href="http://es.wikipedia.org/wiki/Cron_%28Unix%29"&gt;cron (unix/linux)&lt;/a&gt; y no tienen ningún tipo de interacción con el usuario, a lo sumo, generarán un reporte de resultados del proceso en un log. Este tipo de procesos pueden ser tan variados como respaldos, transferencias de datos entre sistemas, envío masivo de mails a la base de usuarios, etc.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;30 13 * * *&amp;nbsp; enrique php /var/www/batch/sincronizarBases.php &amp;amp;&amp;gt;/dev/null&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Aquí se ve la ejecución para el usuario &lt;b&gt;enrique&lt;/b&gt;, el cual llegada las&lt;b&gt; 13:30 hs&lt;/b&gt; ejecutará el comando &lt;b&gt;php /var/www/batch/sincronizarBases.php&lt;/b&gt; y toda la salida de mensajes internamente será redireccionada a un archivo de log.&lt;br /&gt;
&lt;br /&gt;
También se puede evitar tener que llamar desde consola el comando &lt;b&gt;php &lt;/b&gt;y decirle internamente que el ejecutable es el binario de php, además de tener que darle&lt;b&gt; permisos de ejecución&lt;/b&gt; al archivo en cuestión (chmod +x ), por lo que la invocación quedaría así (sin la invocación de php):&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;30 13 * * *&amp;nbsp; enrique /var/www/batch/sincronizarBases.php  &amp;amp;&amp;gt;/dev/null&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
y la primera línea de nuestro scripts debería ser:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;#!/usr/bin/php -q&lt;br /&gt;
&lt;br /&gt;
// código fuente&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Bien podríamos usar otro tipo de lenguaje o simple scripting bash, pero tener todo un sistema desarrollado en PHP permite luego reusar componentes o clases dentro de estos scripts "batch", así que bien podemos seguir usando nuestro lenguaje base de desarrollo.&lt;br /&gt;
&lt;br /&gt;
Como último detalle que quería comentarles, es que amén que&lt;b&gt; siempre hay que probar todo en consola antes de agregarlo al crontab&lt;/b&gt;, sucede que si bien sabemos que funciona todo correctamente, a veces tenemos que hacer modificaciones al scripts y que probablemente luego no nos tomamos el trabajo de volver a revisar nuevamente. Para estas situaciones les dejo un pequeño "tips" que puede ser de ayuda con errores básicos que nos pueden suceder sin darnos cuenta:&lt;br /&gt;
&lt;br /&gt;
Luego de editar nuestro fuente, &lt;b&gt;podemos verificar la sintaxis básica del código&lt;/b&gt;, evitando por lo menos no cometer un error en algun ";" o similar (obviamente, esto no asegura que no hayamos cometido un error de lógica):&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;php -l sincronizarBases.php&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;No syntax errors detected in sincronizarBases.php&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
En caso contrario&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Parse error: syntax error, unexpected T_INCLUDE in sincronizarBases.php on line 33&lt;br /&gt;
Errors parsing sincronizarBases.php&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Espero que les sea de utilidad ;-)&lt;br /&gt;
&lt;br /&gt;
¿tienen alguna sugerencia más o experiencias en estos temas que quieran compartir?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-554904320636283221?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/mXZnJEP20ZM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/554904320636283221/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=554904320636283221" title="5 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/554904320636283221?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/554904320636283221?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/mXZnJEP20ZM/ejecucion-de-scripts-en-modalidad-batch.html" title="Ejecución de scripts en modalidad &quot;batch&quot; y validar sintaxis" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/04/ejecucion-de-scripts-en-modalidad-batch.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMMSHs6fyp7ImA9WxFREEk.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-2610330265123286393</id><published>2010-04-23T13:34:00.000-03:00</published><updated>2010-04-23T13:34:49.517-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-23T13:34:49.517-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IDE" /><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><category scheme="http://www.blogger.com/atom/ns#" term="screencast" /><category scheme="http://www.blogger.com/atom/ns#" term="zend framework" /><title>[screencast] Cómo usar Zend Framework en Netbeans 6.9</title><content type="html">Hace un buen tiempo que vengo usando Netbeans como IDE "todo terreno", tanto para PHP5 puro como para desarrollar bajo Zend Framework. Si bien usar Zend bajo Netbeans no aportaba ninguna ayuda especial, es muy bienvenido que lo hayan incorporado ahora con la nueva versión (ya puedes &lt;a href="http://netbeans.org/community/releases/69/"&gt;bajar la versión 6.9 Beta&lt;/a&gt;, en pocos días ya estará la versión final).&lt;br /&gt;
&lt;br /&gt;
Aquí una explicación de los primeros pasos para sacarle el máximo de provecho:&lt;br /&gt;
&lt;br /&gt;
 &lt;object width="480" height="376"&gt;&lt;param name="movie" value="http://mediacast.sun.com/flash/jw-flv-player/mediaplayer.swf?width=480&amp;height=360&amp;autostart=false&amp;type=flv&amp;file=http%3A%2F%2Fmediacast.sun.com%2Fusers%2FJeffreyRubinoff%2Fmedia%2Fzf.flv"/&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;embed src="http://mediacast.sun.com/flash/jw-flv-player/mediaplayer.swf?width=480&amp;height=360&amp;autostart=false&amp;type=flv&amp;file=http%3A%2F%2Fmediacast.sun.com%2Fusers%2FJeffreyRubinoff%2Fmedia%2Fzf.flv" type="application/x-shockwave-flash" allowfullscreen="true" width="480" height="376"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
          &lt;br /&gt;
¿y tú, ya lo probaste? ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-2610330265123286393?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/v7GVxdyoAew" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/2610330265123286393/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=2610330265123286393" title="4 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/2610330265123286393?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/2610330265123286393?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/v7GVxdyoAew/screencast-como-usar-zend-framework-en.html" title="[screencast] Cómo usar Zend Framework en Netbeans 6.9" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/04/screencast-como-usar-zend-framework-en.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEHQ3Y7eip7ImA9WxFTF08.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-5834837839274349735</id><published>2010-04-08T08:53:00.000-03:00</published><updated>2010-04-08T08:53:52.802-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-08T08:53:52.802-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IDE" /><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><category scheme="http://www.blogger.com/atom/ns#" term="svn" /><title>[SVN] Resolución de conflictos usando un IDE (Netbeans)</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://www.ext3cow.com/Blog/A5D08A69-4F96-49F0-9AD0-22208CF877C6_files/subversion_logo_hor-468x64.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://www.ext3cow.com/Blog/A5D08A69-4F96-49F0-9AD0-22208CF877C6_files/subversion_logo_hor-468x64.png" width="200" /&gt;&lt;/a&gt;Dicen que una imagen vale más que mil palabras, así que me pareció bueno mostrarles algo que es relativamente "común" que suceda en un proyecto, y es, &lt;b&gt;que existan conflictos entre las modificaciones de uno o más desarrolladores&lt;/b&gt;, muchas veces por modificar las mismas líneas de código en el mismo lapso de tiempo.&lt;br /&gt;
&lt;br /&gt;
Los sistemas de versionado, si bien se encargan de mantener sincronizado un proyecto donde pueden trabajar muchas personas, &lt;b&gt;en determinados casos no puede hacer "magia" &lt;/b&gt;y cuando se dan los conflictos (porque no sabe qué líneas deben quedar como definitivas) nos deja a nosotros la responsabilidad de decidir qué hacer.&lt;br /&gt;
&lt;br /&gt;
En este caso veremos cómo luego de trabajar sobre un fuente, al intentar hacer un commit el &lt;a href="http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado"&gt;IDE&lt;/a&gt; (en este caso &lt;a href="http://netbeans.org/"&gt;Netbeans for PHP&lt;/a&gt;) me avisa que ya existieron cambios en el repositorio &lt;a href="http://es.wikipedia.org/wiki/Subversion"&gt;SVN&lt;/a&gt;, y que luego de hacer mi actualización local (update) me reporta que hay "conflictos" con los cambios.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_G8kpjzIeQ4o/S7odyaZtmhI/AAAAAAAAEuc/q6XzRY4G-Fw/s1600/conflicto0.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_G8kpjzIeQ4o/S7odyaZtmhI/AAAAAAAAEuc/q6XzRY4G-Fw/s320/conflicto0.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Por lo general, usemos o no un IDE, ocurrirá lo siguiente:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;nuestro fuente quedará marcado en las líneas que ocurrieron el conflicto (por lo tanto si estamos ejecutando este fuente, ahora dejará de funcionar y dará error de sintaxis) &lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;y 3 archivos más, con la información de las líneas del problema (.mine, .r198 y .r241, estos últimos hacen referencia a las líneas del conflicto).&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;ul&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S7od1I5UwoI/AAAAAAAAEuk/G3XKHGoM_p0/s1600/conflicto1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S7od1I5UwoI/AAAAAAAAEuk/G3XKHGoM_p0/s320/conflicto1.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;En el caso de Netbeans (aunque en &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; es muy similar), nos posicionamos sobre el fuente en cuestión, botón derecho, Subversion &amp;gt; Resolve Conflicts... y nos desplegará la siguiente interfaz &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S73A9JVa9HI/AAAAAAAAEvM/UR7mupidj3Q/s1600/conflicto2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="276" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S73A9JVa9HI/AAAAAAAAEvM/UR7mupidj3Q/s320/conflicto2.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;Mostrando en la parte superior ambos archivos, la versión local (izq) y la versión remota (der)&lt;/b&gt;, y sobre cada una de ellas hay un botón de "Aceptar" para que nosotros decidamos cual de las dos se queda (descartando la opuesta) y podremos ver cómo va quedando la versión final en la parte inferior central.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S73BrUMJZbI/AAAAAAAAEvQ/KrD2OTsjA9o/s1600/conflicto3.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S73BrUMJZbI/AAAAAAAAEvQ/KrD2OTsjA9o/s320/conflicto3.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Aquí podemos visualizar cómo se vería si aceptáramos la versión del lado derecho (versión remota)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_G8kpjzIeQ4o/S73ByevhNeI/AAAAAAAAEvU/qA2hJSLtCHE/s1600/conflicto4.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="170" src="http://4.bp.blogspot.com/_G8kpjzIeQ4o/S73ByevhNeI/AAAAAAAAEvU/qA2hJSLtCHE/s320/conflicto4.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
Al finalizar de responder cual versión del conflicto queremos dejar nos preguntará si queremos finalmente salvar todos los cambios y&lt;b&gt; marcar el archivo como "resuelto"&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S7od-8op2pI/AAAAAAAAEvE/1t84g0hDKFA/s1600/conflicto5.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S7od-8op2pI/AAAAAAAAEvE/1t84g0hDKFA/s320/conflicto5.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Y conflicto solucionado, ahora podemos seguir adelante, no sin antes volver a charlar con el equipo de desarrollo para tratar de evitar estos problemas a futuro.&lt;br /&gt;
&lt;br /&gt;
Saludos! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-5834837839274349735?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/pVbPf0MZJhM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/5834837839274349735/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=5834837839274349735" title="1 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/5834837839274349735?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/5834837839274349735?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/pVbPf0MZJhM/svn-resolucion-de-conflictos-usando-un.html" title="[SVN] Resolución de conflictos usando un IDE (Netbeans)" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_G8kpjzIeQ4o/S7odyaZtmhI/AAAAAAAAEuc/q6XzRY4G-Fw/s72-c/conflicto0.gif" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/04/svn-resolucion-de-conflictos-usando-un.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUAQnk6eyp7ImA9WxFTEUo.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-4447078217977137199</id><published>2010-04-02T00:00:00.001-03:00</published><updated>2010-04-02T00:00:43.713-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-02T00:00:43.713-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IDE" /><category scheme="http://www.blogger.com/atom/ns#" term="namespaces" /><category scheme="http://www.blogger.com/atom/ns#" term="screencasts" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5.3" /><title>PHP Namespace Support in NetBeans IDE 6.8</title><content type="html">Interesante cómo va creciendo poco a poco las funcionalidades de Netbeans para PHP y cómo ya se asoma el soporte de PHP 5.3, como así también soporte para diversos frameworks PHP. Para tener en cuenta ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;object id="flashObj" width="486" height="322" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"&gt;&lt;param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;publisherID=1460825906" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="flashVars" value="videoId=44818649001&amp;linkBaseURL=http%3A%2F%2Fchannelsun.sun.com%2Fvideo%2Fphp%2Bnamespace%2Bsupport%2Bin%2Bnetbeans%2Bide%2B6.8%2F44818649001&amp;playerID=1640183659&amp;domain=embed&amp;" /&gt;&lt;param name="base" value="http://admin.brightcove.com" /&gt;&lt;param name="seamlesstabbing" value="false" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="swLiveConnect" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;publisherID=1460825906" bgcolor="#FFFFFF" flashVars="videoId=44818649001&amp;linkBaseURL=http%3A%2F%2Fchannelsun.sun.com%2Fvideo%2Fphp%2Bnamespace%2Bsupport%2Bin%2Bnetbeans%2Bide%2B6.8%2F44818649001&amp;playerID=1640183659&amp;domain=embed&amp;" base="http://admin.brightcove.com" name="flashObj" width="486" height="322" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" swLiveConnect="true" allowScriptAccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-4447078217977137199?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/8eKcfQMDGgA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/4447078217977137199/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=4447078217977137199" title="2 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4447078217977137199?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4447078217977137199?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/8eKcfQMDGgA/php-namespace-support-in-netbeans-ide.html" title="PHP Namespace Support in NetBeans IDE 6.8" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/04/php-namespace-support-in-netbeans-ide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UBRH84eip7ImA9WxBbFkg.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-4764356075484967581</id><published>2010-03-14T21:23:00.001-03:00</published><updated>2010-03-15T10:20:55.132-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-15T10:20:55.132-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="video" /><category scheme="http://www.blogger.com/atom/ns#" term="POO" /><category scheme="http://www.blogger.com/atom/ns#" term="charlas" /><category scheme="http://www.blogger.com/atom/ns#" term="screencasts" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="grupophp" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Video de la charla: "Introducción a POO / UML / PHP5"</title><content type="html">Lo prometido es deuda ;-). Ya se encuentran disponibles &lt;a href="http://grupophp.com.ar/eventos/view/primeras-charlas"&gt;los videos de todas las charlas&lt;/a&gt; que hicimos a través del &lt;a href="http://grupophp.com.ar/"&gt;Grupo PHP Argentina&lt;/a&gt; el Sábado 6/Marzo en el Hotel Las Naciones, Corrientes 818 1º, Capital Federal.&lt;br /&gt;
&lt;br /&gt;
No más palabras, aquí la charla (sí, casi no se me veía, luego se corrigió en las demás charlas ;-))&lt;br /&gt;
&lt;embed allowfullscreen="true" allowscriptaccess="always" flashvars="config={&amp;quot;key&amp;quot;:&amp;quot;#$b6eb72a0f2f1e29f3d4&amp;quot;,&amp;quot;playlist&amp;quot;:[{&amp;quot;url&amp;quot;:&amp;quot;http://www.archive.org/download/Enrique_Place-Introduccion_a_POO_UML_PHP5/format=Thumbnail?.jpg&amp;quot;,&amp;quot;autoPlay&amp;quot;:true,&amp;quot;scaling&amp;quot;:&amp;quot;fit&amp;quot;},{&amp;quot;url&amp;quot;:&amp;quot;http://www.archive.org/download/Enrique_Place-Introduccion_a_POO_UML_PHP5/Enrique_Place-Introduccion_a_POO_UML_PHP5_512kb.mp4&amp;quot;,&amp;quot;autoPlay&amp;quot;:false,&amp;quot;accelerated&amp;quot;:true,&amp;quot;scaling&amp;quot;:&amp;quot;fit&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;h264streaming&amp;quot;}],&amp;quot;clip&amp;quot;:{&amp;quot;autoPlay&amp;quot;:false,&amp;quot;accelerated&amp;quot;:true,&amp;quot;scaling&amp;quot;:&amp;quot;fit&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;h264streaming&amp;quot;},&amp;quot;canvas&amp;quot;:{&amp;quot;backgroundColor&amp;quot;:&amp;quot;0x000000&amp;quot;,&amp;quot;backgroundGradient&amp;quot;:&amp;quot;none&amp;quot;},&amp;quot;plugins&amp;quot;:{&amp;quot;audio&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;http://www.archive.org/flow/flowplayer.audio-3.0.3-dev.swf&amp;quot;},&amp;quot;controls&amp;quot;:{&amp;quot;playlist&amp;quot;:false,&amp;quot;fullscreen&amp;quot;:true,&amp;quot;gloss&amp;quot;:&amp;quot;high&amp;quot;,&amp;quot;backgroundColor&amp;quot;:&amp;quot;0x000000&amp;quot;,&amp;quot;backgroundGradient&amp;quot;:&amp;quot;medium&amp;quot;,&amp;quot;sliderColor&amp;quot;:&amp;quot;0x777777&amp;quot;,&amp;quot;progressColor&amp;quot;:&amp;quot;0x777777&amp;quot;,&amp;quot;timeColor&amp;quot;:&amp;quot;0xeeeeee&amp;quot;,&amp;quot;durationColor&amp;quot;:&amp;quot;0x01DAFF&amp;quot;,&amp;quot;buttonColor&amp;quot;:&amp;quot;0x333333&amp;quot;,&amp;quot;buttonOverColor&amp;quot;:&amp;quot;0x505050&amp;quot;},&amp;quot;h264streaming&amp;quot;:{&amp;quot;url&amp;quot;:&amp;quot;http://www.archive.org/flow/flowplayer.h264streaming-3.0.5.swf&amp;quot;}},&amp;quot;contextMenu&amp;quot;:[{&amp;quot;View+Enrique_Place-Introduccion_a_POO_UML_PHP5+at+archive.org&amp;quot;:&amp;quot;function()&amp;quot;},&amp;quot;-&amp;quot;,&amp;quot;Flowplayer 3.0.5&amp;quot;]}" height="504" src="http://www.archive.org/flow/flowplayer.commercial-3.0.5.swf" type="application/x-shockwave-flash" w3c="true" width="640"&gt;&lt;/embed&gt; &lt;br /&gt;
&lt;h4&gt;Presentación&lt;/h4&gt;&lt;div id="__ss_3367396" style="width: 425px;"&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introduccinapoo-final-100308132214-phpapp02&amp;stripped_title=enrique-place-introduccin-a-poo-uml-php5" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introduccinapoo-final-100308132214-phpapp02&amp;stripped_title=enrique-place-introduccin-a-poo-uml-php5" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;
Quiero aclarar algunos detalles sobre el contexto de la charla, ya que recibí algunas críticas (que las acepto):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Estaba saliendo de una gripe&lt;/b&gt;, por lo que me era difícil hablar mucho tiempo sin parar de toser, pero bien pude hacerlo, aunque al final de la charla me vino un ataque de tos por espacio de 5 minutos ;-)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Razón por lo que la charla fue rápida y casi sin pausa&lt;/b&gt; (que generalmente es todo lo contrario, me gusta interactuar y que me interrumpan), ya que no sabía si iba a tener que suspenderla (cosa que no sucedió).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Trato de ser "duro" para generar polémica&lt;/b&gt; y que posteriormente se hable de estos temas fuera de la charla misma, algo que creo sucedió ya que recibí muchos comentarios sobre el tema ;-)&lt;/li&gt;
&lt;li&gt; &lt;b&gt;Estoy hablando particularmente de PHP 5.2&lt;/b&gt;, esta charla cambiaría si estábamos hablando de 5.3&lt;/li&gt;
&lt;li&gt;&lt;b&gt;No quiero decir que los autoloads no sirvan para nada&lt;/b&gt;, simplemente que prefiero que los desarrolladores se acostumbren a medir las consecuencias de relacionar las clases, y que si hacemos todo "automático", muchas veces ayudados con los autoloads, nuestro sistema saldrá muy perjudicado. Las relaciones se planifican antes y durante el desarrollo del sistema, no es "porque la tengo disponible, la uso"... así no se hacen sistemas POO.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;De todas formas, prefiero dar charlas concretas, directas y breves&lt;/b&gt;, y que el auditorio quede con ganas de más a que se aburran o saturen. Además, éramos varios oradores y no sabíamos si nos daba el tiempo para todos (varias razones para suspender mi segunda charla).&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Espero todos sus comentarios, dudas o críticas ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-4764356075484967581?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/99AeQEEXA6Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/4764356075484967581/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=4764356075484967581" title="7 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4764356075484967581?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4764356075484967581?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/99AeQEEXA6Q/video-de-la-charla-introduccion-poo-uml.html" title="Video de la charla: &quot;Introducción a POO / UML / PHP5&quot;" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/03/video-de-la-charla-introduccion-poo-uml.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHRH8-cSp7ImA9WxBbEEg.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-7652686123819611304</id><published>2010-03-08T09:12:00.000-03:00</published><updated>2010-03-08T09:12:15.159-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-08T09:12:15.159-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="UML" /><category scheme="http://www.blogger.com/atom/ns#" term="POO" /><category scheme="http://www.blogger.com/atom/ns#" term="charlas" /><category scheme="http://www.blogger.com/atom/ns#" term="presentacion" /><category scheme="http://www.blogger.com/atom/ns#" term="grupophp" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Primera versión presentación realizada en las charlas del Grupo PHP Argentina</title><content type="html">&lt;div style="width:425px" id="__ss_3363823"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/enriqueplace/introduccin-a-uml-poo-php5" title="Introducción a UML / POO / PHP5"&gt;Introducción a UML / POO / PHP5&lt;/a&gt;&lt;/strong&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introduccinapoo-final-100308053624-phpapp02&amp;stripped_title=introduccin-a-uml-poo-php5" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=introduccinapoo-final-100308053624-phpapp02&amp;stripped_title=introduccin-a-uml-poo-php5" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/enriqueplace"&gt;Enrique Place&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href="http://grupophp1.eventbrite.com/"&gt;Este sábado pasado&lt;/a&gt; hice una rápida charla de 24 minutos(a pesar de mi gripe y mi posibilidad de empezar con un ataque de tós durante la misma ;-)). La idea es que luego estará diponible todo el audio de la misma, y posteriormente veré de complementar con textos esta presentación para que sea más fácil de seguir.&lt;br /&gt;
&lt;br /&gt;
Pronto, más novedades! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-7652686123819611304?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/YIiMuDQ6IGI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/7652686123819611304/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=7652686123819611304" title="7 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/7652686123819611304?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/7652686123819611304?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/YIiMuDQ6IGI/primera-version-presentacion-realizada.html" title="Primera versión presentación realizada en las charlas del Grupo PHP Argentina" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/03/primera-version-presentacion-realizada.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QARH46fyp7ImA9WxBUGEQ.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-8728693684443384414</id><published>2010-03-06T13:02:00.000-03:00</published><updated>2010-03-06T13:02:25.017-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-06T13:02:25.017-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="charlas" /><category scheme="http://www.blogger.com/atom/ns#" term="grupophp" /><category scheme="http://www.blogger.com/atom/ns#" term="eventos" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Fotos desde las charlas del Grupo PHP Argentina!</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S5J8cqNv_fI/AAAAAAAAEtM/InX7BP59G6g/s1600-h/DSC06052.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S5J8cqNv_fI/AAAAAAAAEtM/InX7BP59G6g/s400/DSC06052.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-8728693684443384414?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/Dvg_03MqYD0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/8728693684443384414/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=8728693684443384414" title="1 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/8728693684443384414?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/8728693684443384414?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/Dvg_03MqYD0/fotos-desde-las-charlas-del-grupo-php.html" title="Fotos desde las charlas del Grupo PHP Argentina!" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S5J8cqNv_fI/AAAAAAAAEtM/InX7BP59G6g/s72-c/DSC06052.JPG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/03/fotos-desde-las-charlas-del-grupo-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQCQ3c6cSp7ImA9WxBUEEk.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-8666885820070921674</id><published>2010-02-24T17:46:00.000-03:00</published><updated>2010-02-24T17:46:02.919-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-24T17:46:02.919-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="charlas" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="eventos" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>[confirmado] Primeras charlas del Grupo PHP Argentina - 6/3/2010</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a href="http://grupophp.com.ar/"&gt;&lt;img alt="Primeras Charlas del Grupo PHP" height="400" src="http://grupophp.com.ar/img/banners/grupophp-primeras_charlas-160x400.png" width="160" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;strong style="font-family: Verdana,sans-serif;"&gt;Primeras charlas GrupoPHP&lt;/strong&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Sábado 6 de Marzo, 2010 a  las 9:30 AM&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;Hotel Las Naciones, Corrientes 818 2º piso&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://grupophp1.eventbrite.com/" style="font-family: Verdana,sans-serif;"&gt;Ver Agenda&lt;/a&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;  -  &lt;/span&gt;&lt;a href="http://grupophp1.eventbrite.com/" style="font-family: Verdana,sans-serif;"&gt;Inscripción Obligatoria&lt;/a&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt; - &lt;/span&gt;&lt;a href="http://grupophp.com.ar/pages/banners" style="font-family: Verdana,sans-serif;"&gt;Banners promocionales&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-8666885820070921674?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/ti0kCWbkeoI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/8666885820070921674/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=8666885820070921674" title="2 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/8666885820070921674?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/8666885820070921674?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/ti0kCWbkeoI/confirmado-primeras-charlas-del-grupo.html" title="[confirmado] Primeras charlas del Grupo PHP Argentina - 6/3/2010" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/02/confirmado-primeras-charlas-del-grupo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YNQXg7eyp7ImA9WxBVEkU.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-6305404258005504707</id><published>2010-02-14T16:30:00.000-03:00</published><updated>2010-02-15T22:53:10.603-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-15T22:53:10.603-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="buenas practicas" /><category scheme="http://www.blogger.com/atom/ns#" term="debug" /><category scheme="http://www.blogger.com/atom/ns#" term="errores" /><title>Cambio de opinión: en algunos casos acepto el uso de null == $var</title><content type="html">Hace un tiempo &lt;a href="http://phpsenior.blogspot.com/2009/03/polemica-discusion-debemos-usar-null.html"&gt;hice un extenso post&lt;/a&gt; comentando sobre el "difundido fanatismo" de algunos desarrolladores de usar &lt;span style="font-weight: bold;"&gt;al revés &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;las condiciones de igualdad en un if &lt;/span&gt;, en mi opinión "contranatura", sin respetar como alguna vez nos enseñaron nuestros primeros docentes (ver artículos como &lt;a href="http://phpsenior.blogspot.com/2008/10/martin-fowler-cdigo-como-documentacin.html"&gt;"Código como documentación"&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if ($variable == "valor")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Por lo que este orden nos permite hacer una redacción natural de la lógica que estamos codificando, es decir:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if ($edad == 30)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se traduciría como&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;"Si la edad es igual a 30"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Por lo que actualmente hay una "seudo-moda" de hacerlo al revés,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;if (30 == $edad)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se traduciría como&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;"Si 30 es igual a edad"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Algo que, luego de haber pasado algunos años dando clases a distintos niveles de desarrolladores, empezando por personas con cero conocimiento del tema, &lt;span style="font-weight: bold;"&gt;siento que esta práctica no hace más que dificultar la lectura natural de las condiciones&lt;/span&gt;, y en consecuencia, ofuscar el código.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Amante de lo simple como soy&lt;/span&gt; (considero que el verdadero arte y esencia de la programación es hacer las cosas simples, no complejas), &lt;span style="font-weight: bold;"&gt;me opuse completamente&lt;/span&gt; a esta práctica, aún con los argumentos técnicos de que esta técnica podría salvarnos en caso de asignaciones accidentales del tipo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if ($edad = 30)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lo cual en PHP terminaríamos modificando el valor de $edad (porque estamos usando un solo "=" y no dos), algo que no sucedería si hiciéramos&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;if (30 = $edad)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;De todas formas me pareció exagerado al extremo, cambiar algo que se hizo por años, desde los inicios de los tiempos, solo para cubrir esta &lt;span style="font-style: italic; font-weight: bold;"&gt;"hipotética situación tan poco probable"&lt;/span&gt;, ni que hablar que todo IDE respetable nos detecta este error y es fácil de ver y corregir.&lt;br /&gt;&lt;br /&gt;Bien, suerte que gracias a los errores uno aprende y&lt;span style="font-weight: bold;"&gt; me pasó hace relativamente poco este error con consecuencias bastante importantes&lt;/span&gt;, por lo que voy a describir &lt;span style="font-weight: bold;"&gt;en qué situación SI sugiero esta práctica&lt;/span&gt; (no siempre, no con todo el código):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si por una razón extrema tienes que modificar código en producción&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;y además no puedes usar un IDE que te asista, y tienes que usar un editor sin asistencia en la codificación (como el Editplus, Notepad++, etc)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Sí, y solo sí, mientras tengas que alterar o agregar una condición que pueda generar este error&lt;/span&gt;, invierte la condición para estar cubierto ante cualquier distracción. Pero luego de hecho, fuera de producción, corrige el código, para clarificar su entendimiento.&lt;br /&gt;&lt;br /&gt;De todas formas, lo veo complicado de hacer si no estás acostumbrado a ello.&lt;br /&gt;&lt;br /&gt;Pero bueno, cuando me sucedió me hizo reconocer que había una situación muy específica que podría ser aplicable y útil, aún para una persona con experiencia como yo ;-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿Alguna vez te fue verdaderamente útil esta práctica? ¿alguna otra?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-6305404258005504707?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/5rncXNpI6tc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/6305404258005504707/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=6305404258005504707" title="11 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/6305404258005504707?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/6305404258005504707?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/5rncXNpI6tc/cambio-de-opinion-en-algunos-casos.html" title="Cambio de opinión: en algunos casos acepto el uso de null == $var" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>11</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/01/cambio-de-opinion-en-algunos-casos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8GR3k-cSp7ImA9WxBVEUU.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-1280048903401421855</id><published>2010-02-14T16:19:00.009-03:00</published><updated>2010-02-14T19:33:46.759-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-14T19:33:46.759-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dreamhost" /><category scheme="http://www.blogger.com/atom/ns#" term="calidad" /><category scheme="http://www.blogger.com/atom/ns#" term="svn" /><title>[SVN] Agregar notificación por email en caso de cambios en el repositorio</title><content type="html">&lt;div style="text-align: justify;"&gt;Esto es muy productivo en cualquier equipo de trabajo,&lt;span style="font-weight: bold;"&gt; recibir notificación por email de cada vez que ocurre un cambio en un repositorio de un proyecto donde estés trabajando&lt;/span&gt;, esto permite tener a todo el equipo notificado y coordinado con los cambios, y en caso de problemas poder detectarlo rápidamente (se tocó un archivo que no correspondía, un error, cambio no planeado, etc). También permite aumentar el contro de calidad si esto es revisado por el teamleader (o un responsable de QA) que revise si se cumplen los criterios de calidad prefijados.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Les dejo la configuración que hay que hacer en el hosting &lt;a href="http://dreamhost.com/"&gt;dreamhost.com&lt;/a&gt;, pero que también pueden aplicar en vuestros servidores:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;En el directorio del proyecto SVN&lt;/span&gt; tienen que buscar el subdirectorio hooks, y copiar el archivo de ejemplo post-commit.tmpl como &lt;span style="font-weight: bold;"&gt;post-commit&lt;/span&gt; (donde agregaremos todas las acciones que queremos que ocurran una vez que existan un commit):&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;REPOS="$1"&lt;br /&gt;REV="$2"&lt;br /&gt;&lt;br /&gt;/usr/share/subversion/hook-scripts/commit-email.pl --from info@surforce.com "$REPOS" "$REV" desa1@gmail.com desa2@gmail.com desa3@gmail.com  &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Y listo, ahora luego de que cualquier desarrollador haga un commit, nos llegará a todos un email con un diff con los cambios realizados, por ejemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;Author: alejandro145&lt;br /&gt;Date: 2009-12-04 14:49:01 -0800 (Fri, 04 Dec 2009)&lt;br /&gt;New Revision: 16&lt;br /&gt;&lt;br /&gt;Modified:&lt;br /&gt;public/js/jquery/ui/themes/ui-&lt;div id=":6j" class="ii gt"&gt;&lt;wbr&gt;lightness/ui.datepicker.css&lt;br /&gt;Log:&lt;br /&gt;Cambia el tamaño del widget para elegir fechas&lt;br /&gt;&lt;br /&gt;Modified: public/js/jquery/ui/themes/ui-&lt;wbr&gt;lightness/ui.datepicker.css&lt;br /&gt;==============================&lt;wbr&gt;==============================&lt;wbr&gt;=======&lt;br /&gt;--- public/js/jquery/ui/themes/ui-&lt;wbr&gt;lightness/ui.datepicker.css    2009-12-04 21:48:09 UTC (rev 15)&lt;br /&gt;+++ public/js/jquery/ui/themes/ui-&lt;wbr&gt;lightness/ui.datepicker.css    2009-12-04 22:49:01 UTC (rev 16)&lt;br /&gt;@@ -1,5 +1,7 @@&lt;br /&gt;/* Datepicker&lt;br /&gt;------------------------------&lt;wbr&gt;----*/&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;+.ui-widget.ui-datepicker { font-size:.8em }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; +&lt;/span&gt;&lt;br /&gt;.ui-datepicker { width: 17em; padding: .2em .2em 0; }&lt;/div&gt;&lt;/blockquote&gt;&lt;div id=":6j" class="ii gt"&gt;&lt;/div&gt;&lt;br /&gt;Las líneas agregadas aparecen a la izquierda con un "+" o un "-" si estas son eliminadas.&lt;br /&gt;&lt;br /&gt;Que les sirva de referencia para su trabajo en equipo ;-)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;PD:&lt;/span&gt; por las dudas, ya que es un error que he cometido seguido, &lt;span style="font-weight: bold;"&gt;el scripts tiene que tener permisos de ejecución&lt;/span&gt; (confunde muchas veces que el ejemplo .tmpl no tenga permisos de ejecución, y uno viene y lo copia directamente y piensa que es solo cambiar el contenido), ya que es SVN lo tiene que ejecutar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-1280048903401421855?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/Kl6hdGfrBj0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/1280048903401421855/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=1280048903401421855" title="3 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/1280048903401421855?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/1280048903401421855?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/Kl6hdGfrBj0/svn-agregar-notificacion-por-email-en.html" title="[SVN] Agregar notificación por email en caso de cambios en el repositorio" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/02/svn-agregar-notificacion-por-email-en.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MMQXwyeip7ImA9WxBWFUs.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-1753243737729911808</id><published>2010-02-07T13:27:00.003-03:00</published><updated>2010-02-07T13:51:20.292-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-07T13:51:20.292-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="charlas" /><category scheme="http://www.blogger.com/atom/ns#" term="meeting" /><category scheme="http://www.blogger.com/atom/ns#" term="eventos" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Las charlas que daré el 6/Marzo/2010 (Argentina)</title><content type="html">&lt;div style="text-align: justify;"&gt;Como comentaba en un &lt;a href="http://phpsenior.blogspot.com/2010/02/breve-resumen-de-la-reunion-php-meeting.html"&gt;anterior post&lt;/a&gt;, a través del &lt;a href="http://grupophp.com.ar/"&gt;Grupo PHP Argentina&lt;/a&gt; estamos preparando una serie de charlas abiertas para todos los desarrolladores y empezar a forjar una comunidad sólida de profesionales y mejorar la percepción de nuestra tecnología ("PHP es informal", "PHP no es serio", "Con PHP no se puede", "PHP no es para grandes organizaciones", etc).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aún se encuentran en preparación las introducciones que expliquen el contenido de cada charla, (por ahora tenemos los títulos generales que aportó cada uno de los organizadores), pero puedo ir comentando las que daré tentativamente el próximo 6/Marzo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Introducción a POO / UML / PHP5&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El objetivo de la charla es  abordar los &lt;span style="font-weight: bold;"&gt;conceptos básicos de la POO para PHP5&lt;/span&gt; y cómo a través de un  lenguaje de diseño estándar como &lt;span style="font-weight: bold;"&gt;UML&lt;/span&gt; (muy usado en el ambiente  profesional) se debe hacer la traducción de diseños a código PHP5,  particularmente &lt;span style="font-weight: bold;"&gt;entender la importancia de las relaciones entre clases&lt;/span&gt;,  cómo afectan a nuestros sistemas y &lt;span style="font-weight: bold;"&gt;corregir un error que la mayoría  comete&lt;/span&gt;: ubicar correctamente los require_once de cada relación entre  clases.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Arquitectura Zend / SURFORCE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Zend Framework es una excelente  herramienta para desarrolladores que aún necesitan tener control de los  "desarrollos a medida" pero quieren evitar el "desarrollo artesanal". &lt;span style="font-weight: bold;"&gt; Zend nos ofrece una nueva capa de abstracción&lt;/span&gt; que nos permite  desarrollar sobre ella, fácilmente, nuevas herramientas de más alto  nivel (gracias a que sus componentes están altamente desacoplados). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SURFORCE (&lt;a href="http://www.surforce.com"&gt;empresa&lt;/a&gt;) presentará la arquitectura que actualmente está  usando para maximizar el reuso de componentes entre sistemas,&lt;/span&gt;  permitiendo evitar el desarrollo repetitivo de funcionalidades  recurrentes, como ser login, gestión de usuarios, administradores, etc,  bajo el nombre de &lt;a href="http://code.google.com/p/surforce-core/"&gt;SURFORCE_CORE&lt;/a&gt;, &lt;a href="http://code.google.com/p/surforce-library/"&gt;SURFORCE_LIBRARY&lt;/a&gt; y &lt;a href="http://code.google.com/p/surforce-modules/"&gt;SURFORCE_MODULES&lt;/a&gt;  (todos proyectos libres bajo la GPL).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Introducción al Estándar de Codificación de Zend &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Nadie a esta  altura debe dudar de &lt;span style="font-weight: bold;"&gt;los beneficios de una estandarización&lt;/span&gt; en ninguna  actividad (organización, disminución de costos y esfuerzos, etc). Pero  el problema de los estándares es cuando no existen, no se siguen o  existen muchos para seguir (se pierde el concepto de "estándar"). Para  el mundo Java la empresa SUN es el pilar que define los lineamientos  generales y ningún desarrollador duda en no seguirlos. De la misma  forma, &lt;a href="http://www.zend.com"&gt;&lt;span style="font-weight: bold;"&gt;la empresa Zend&lt;/span&gt;&lt;/a&gt; (de donde vienen la mayoría de las mejoras de  PHP) debería ser nuestro referente y &lt;span style="font-weight: bold;"&gt;nosotros los desarrolladores  deberíamos seguir el &lt;a href="http://framework.zend.com/wiki/display/ZFDEV/PHP+Coding+Standard+%28draft%29"&gt;estándar de codificación Zend&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Así que no se olviden de &lt;a href="http://twtpoll.com/r/43lowf"&gt;ir votando las charlas&lt;/a&gt; y estar al tanto de todos los medios de comunicación que iremos notificando los avances y cualquier novedad.&lt;br /&gt;&lt;br /&gt;Te esperamos, a ver si los desarrolladres PHP nos juntamos y empezamos a trabajar para formar una verdadera comunidad que nos benefice a todos ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-1753243737729911808?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/_CVCSZw_6zQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/1753243737729911808/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=1753243737729911808" title="1 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/1753243737729911808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/1753243737729911808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/_CVCSZw_6zQ/las-charlas-que-dare-el-6marzo2010.html" title="Las charlas que daré el 6/Marzo/2010 (Argentina)" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/02/las-charlas-que-dare-el-6marzo2010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkECSH09cCp7ImA9WxBWFUg.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-5216747672634890288</id><published>2010-02-07T12:01:00.002-03:00</published><updated>2010-02-07T13:04:29.368-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-07T13:04:29.368-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reuniones" /><category scheme="http://www.blogger.com/atom/ns#" term="charlas" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="eventos" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Breve resumen de la segunda reunión del Grupo de Usuarios PHP Argentina</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_G8kpjzIeQ4o/S27ROgFYYkI/AAAAAAAAEr0/LeOxGaoXRUo/s1600-h/etiquetada.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 296px;" src="http://3.bp.blogspot.com/_G8kpjzIeQ4o/S27ROgFYYkI/AAAAAAAAEr0/LeOxGaoXRUo/s400/etiquetada.jpg" alt="" id="BLOGGER_PHOTO_ID_5435511847343645250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Voy a tener que optar por "publicar algo breve" a "no publicar", ya que de lo contrario voy a escribir un post por mes, y nunca fue mi idea :-(. Creo que la mayoría sabrá que cuando inician los cursos que estamos dictando a través de &lt;a href="http://www.surforce.com/educacion_a_distancia.php"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;surforce&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;com&lt;/span&gt;&lt;/a&gt; empiezo a estar un poco desbordado de trabajo y concentrarme casi exclusivamente a los alumnos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G8kpjzIeQ4o/S27RTJizOwI/AAAAAAAAEr8/UpfER21Rj9A/s1600-h/22469_1350829536322_1398886138_984291_1585597_n.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_G8kpjzIeQ4o/S27RTJizOwI/AAAAAAAAEr8/UpfER21Rj9A/s400/22469_1350829536322_1398886138_984291_1585597_n.jpg" alt="" id="BLOGGER_PHOTO_ID_5435511927192369922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Así que bueno, quería hacer un resumen más completo de &lt;a href="http://phpsenior.blogspot.com/2010/01/segunda-php-meeting-argentina-sabado.html"&gt;la reunión que hicimos el sábado pasado&lt;/a&gt;, pero aquí van los titulares:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Nos reunimos varios desarrolladores &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;PHP&lt;/span&gt; con&lt;span style="font-weight: bold;"&gt; las mismas inquietudes&lt;/span&gt; para tratar de "hacer algo por la comunidad &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;PHP&lt;/span&gt;", particularmente promover nuestra tecnología y consolidar una &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;organización&lt;/span&gt; que nos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;nuclee&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Algo que nos preocupa a todos es que &lt;span style="font-weight: bold;"&gt;muchos desarrolladores / empresas consideran a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;PHP&lt;/span&gt; como una "tecnología poco seria"&lt;/span&gt;, por lo que queremos trabajar en ese sentido para cambiar radicalmente esa percepción a través de charlas.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Ya lo veníamos hablando en &lt;a href="http://phpsenior.blogspot.com/2009/12/fotos-de-la-pasada-php-mini-meeting.html"&gt;la primer reunión&lt;/a&gt;, &lt;span style="font-weight: bold;"&gt;empezar con charlas informativas&lt;/span&gt;, y para ello debíamos buscar un lugar para hacerlas. Tenemos algunas ideas, oficinas ofrecidas de algunas empresas, hasta &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;universidades&lt;/span&gt; (aún no tenemos una confirmada).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Fijamos la fecha de mejor conveniencia para todos, el&lt;span style="font-weight: bold;"&gt; sábado 6 / Marzo&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Estamos tratando de pulir la idea general&lt;/span&gt;, si es una serie de charlas informales, o tendrá más perfil de jornada ó conferencia (por ahora se puede decir que va primando la primera).&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;El temario general de charlas introductorias se pasará en limpio y publicará en el sitio oficial, por ahora &lt;a href="http://twtpoll.com/r/43lowf"&gt;los títulos que más les interesen se pueden votar&lt;/a&gt;, para ver si dejamos alguna afuera, o cómo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;priorizamos&lt;/span&gt; el orden de las mismas. La idea es que dentro de unos días &lt;span style="font-weight: bold;"&gt;todos los que quieran ir a las charlas confirmen su lugar&lt;/span&gt; para que nos podamos organizar con tiempo en base al público que participará.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S27h79ilVwI/AAAAAAAAEsc/kpoIqUqoJwI/s1600-h/todos.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S27h79ilVwI/AAAAAAAAEsc/kpoIqUqoJwI/s400/todos.jpg" alt="" id="BLOGGER_PHOTO_ID_5435530220530915074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S27XGjbvQgI/AAAAAAAAEsE/_vT9Z8UvtOQ/s1600-h/61310252.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S27XGjbvQgI/AAAAAAAAEsE/_vT9Z8UvtOQ/s400/61310252.jpg" alt="" id="BLOGGER_PHOTO_ID_5435518307873538562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Se está discutiendo el tema de armar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;podcasts&lt;/span&gt; o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;videocast&lt;/span&gt; o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;streaming&lt;/span&gt;&lt;/span&gt;, aún no está definido si contamos con la infraestructura y &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;organización&lt;/span&gt; suficiente como para hacerlo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S27YL7z6MgI/AAAAAAAAEsM/-dAgleMKPv8/s1600-h/votacion.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 122px;" src="http://2.bp.blogspot.com/_G8kpjzIeQ4o/S27YL7z6MgI/AAAAAAAAEsM/-dAgleMKPv8/s400/votacion.gif" alt="" id="BLOGGER_PHOTO_ID_5435519499828343298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para más información, tienen el &lt;span style="font-weight: bold;"&gt;sitio &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;web&lt;/span&gt; "oficial"&lt;/span&gt; del grupo en &lt;a href="http://grupophp.com.ar/"&gt;grupophp.com.ar&lt;/a&gt; (en la página pueden extraer información sobre otros medios, como foro de discusión, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;twitter&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;facebook&lt;/span&gt;, etc).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S27YTEXU_8I/AAAAAAAAEsU/-zYQfSkgnv4/s1600-h/votacion2.gif"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 310px; height: 400px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/S27YTEXU_8I/AAAAAAAAEsU/-zYQfSkgnv4/s400/votacion2.gif" alt="" id="BLOGGER_PHOTO_ID_5435519622383468482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;¡Así que esperamos su &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;participación&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;PD&lt;/span&gt;: todas las demás fotos se encuentran en &lt;a href="http://grupophp.com.ar/"&gt;el grupo de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;facebook&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-5216747672634890288?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/EeiWsIbGXL8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/5216747672634890288/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=5216747672634890288" title="0 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/5216747672634890288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/5216747672634890288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/EeiWsIbGXL8/breve-resumen-de-la-reunion-php-meeting.html" title="Breve resumen de la segunda reunión del Grupo de Usuarios PHP Argentina" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_G8kpjzIeQ4o/S27ROgFYYkI/AAAAAAAAEr0/LeOxGaoXRUo/s72-c/etiquetada.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/02/breve-resumen-de-la-reunion-php-meeting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUASHw_fCp7ImA9WxBXF04.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-549724890361097942</id><published>2010-01-28T14:28:00.002-03:00</published><updated>2010-01-28T23:30:49.244-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-28T23:30:49.244-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reuniones" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="meeting" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Segunda "PHP Meeting Argentina" - Sábado 30/1 - 10hs</title><content type="html">Para quienes estén por Buenos Aires y quieran unirse a nosotros y organizar la comunidad PHP local, nos estaremos juntando este próximo sábado en la segunda "PHP Meeting" (&lt;a href="http://phpsenior.blogspot.com/2009/12/fotos-de-la-pasada-php-mini-meeting.html"&gt;aquí la primera&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fecha:&lt;/span&gt; Sábado 30 de Enero&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hora:&lt;/span&gt;   10:00 (AM) hasta el mediodía.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lugar: &lt;/span&gt; Tronador 2650 3 B (en las oficinas que nos ofrece un colega)&lt;br /&gt;&lt;br /&gt;&lt;iframe marginheight="0" marginwidth="0" src="http://maps.google.com.ar/maps?f=d&amp;amp;source=s_d&amp;amp;saddr=67%3D+Cabildo+y+Juramento&amp;amp;daddr=Tronador+2650,+capital+federal&amp;amp;hl=es&amp;amp;geocode=FSyg8P0djwaE_CGB9Vk2w2G31g%3BFeuO8P0da7eD_ClfCUXyYra8lTGziHVbPbX_pQ&amp;amp;mra=pe&amp;amp;mrcr=0&amp;amp;sll=-34.561865,-58.465588&amp;amp;sspn=0.021629,0.052314&amp;amp;ie=UTF8&amp;amp;ll=-34.56553,-58.468625&amp;amp;spn=0.00902,0.02427&amp;amp;output=embed" width="425" frameborder="0" height="350" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com.ar/maps?f=d&amp;amp;source=embed&amp;amp;saddr=67%3D+Cabildo+y+Juramento&amp;amp;daddr=Tronador+2650,+capital+federal&amp;amp;hl=es&amp;amp;geocode=FSyg8P0djwaE_CGB9Vk2w2G31g%3BFeuO8P0da7eD_ClfCUXyYra8lTGziHVbPbX_pQ&amp;amp;mra=pe&amp;amp;mrcr=0&amp;amp;sll=-34.561865,-58.465588&amp;amp;sspn=0.021629,0.052314&amp;amp;ie=UTF8&amp;amp;ll=-34.56553,-58.468625&amp;amp;spn=0.00902,0.02427" style="color: rgb(0, 0, 255); text-align: left;"&gt;Ver mapa más grande&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;Aquí les muestro un posible camino desde Cabildo y Juramento (una zona conocida, pueden llegar en subte línea "D", bajar en la estación "Juramento" y posteriormente tomar un taxi). Pueden consultar también &lt;a href="http://mapa2.buenosaires.gov.ar/"&gt;http://mapa2.buenosaires.gov.ar/&lt;/a&gt; que está muy completo y en la sección de "cómo llegar" muestra todos los colectivos posibles y sus recorridos (Google,  aún te falta ;-))&lt;br /&gt;&lt;br /&gt;Nos concentramos en 2 horas concretas para tratar todos los temas de la comunidad y  finalmente hacer algunas charlas semi-informales de los temas que cada  uno quiera presentar.&lt;br /&gt;&lt;br /&gt;Están todos invitados ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-549724890361097942?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/eW6sbwOvL4I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/549724890361097942/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=549724890361097942" title="4 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/549724890361097942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/549724890361097942?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/eW6sbwOvL4I/segunda-php-meeting-argentina-sabado.html" title="Segunda &quot;PHP Meeting Argentina&quot; - Sábado 30/1 - 10hs" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/01/segunda-php-meeting-argentina-sabado.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcFRXg8eyp7ImA9WxBXFEo.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-4773639083499271107</id><published>2010-01-25T23:27:00.002-03:00</published><updated>2010-01-25T23:30:14.673-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-25T23:30:14.673-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="frontend" /><category scheme="http://www.blogger.com/atom/ns#" term="buenas practicas" /><category scheme="http://www.blogger.com/atom/ns#" term="presentacion" /><category scheme="http://www.blogger.com/atom/ns#" term="gui" /><title>Presentación: "Frontend. Principios básicos. Una guía de estilo y fundamentos web"</title><content type="html">Me encontré por accidente revisando unos foros de linkedin. Aunque algunos puntos pueden ser discutibles, si no tienes alguna referencia clara sobre el tema, esta presentación me parece una buena guía para empezar.&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px;text-align:left" id="__ss_2971290"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/kilianbarrera/frontend-principios-bsicos-una-gua-de-estilo-y-fundamentos-web" title="Frontend. Principios básicos. Una guía de estilo y fundamentos web."&gt;Frontend. Principios básicos. Una guía de estilo y fundamentos web.&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=frontendparadesarrolladoresv0-2-100122074158-phpapp02&amp;stripped_title=frontend-principios-bsicos-una-gua-de-estilo-y-fundamentos-web" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=frontendparadesarrolladoresv0-2-100122074158-phpapp02&amp;stripped_title=frontend-principios-bsicos-una-gua-de-estilo-y-fundamentos-web" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/kilianbarrera"&gt;Kilian Barrera&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-4773639083499271107?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/ANKhceeaYeU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/4773639083499271107/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=4773639083499271107" title="2 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4773639083499271107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4773639083499271107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/ANKhceeaYeU/presentacion-frontend-principios.html" title="Presentación: &quot;Frontend. Principios básicos. Una guía de estilo y fundamentos web&quot;" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/01/presentacion-frontend-principios.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIASX4zfyp7ImA9WxBQF0Q.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-7287194144071214477</id><published>2010-01-18T01:52:00.002-03:00</published><updated>2010-01-18T01:55:48.087-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-18T01:55:48.087-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cursos" /><category scheme="http://www.blogger.com/atom/ns#" term="POO" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP5" /><category scheme="http://www.blogger.com/atom/ns#" term="surforce" /><category scheme="http://www.blogger.com/atom/ns#" term="zend framework" /><title>¡Iniciamos inscripciones para los cursos Febrero 2010!</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt;Damos oficialmente el anuncio de apertura de inscripciones para los cursos y talleres que iniciarán el &lt;span style="font-weight: bold;"&gt;1ro de Febrero de 2010&lt;/span&gt;! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt; &lt;strong&gt;'Cursos Abiertos' &lt;&gt; 'Cursos Intensivos'&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt; Les comento que los 'cursos abiertos' se van armando de forma libre a medida que los alumnos se van registrando. Si sobre la fecha de inicio del curso no se llegó al cupo mínimo de 10 alumnos, se postergará una semana el inicio del curso. En caso de superar el máximo de 20 alumnos, se abrirá un único segundo grupo a la semana siguiente. El próximo período de cursos se abrirán recién a partir de Marzo 2010 (fecha a confirmar). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt;Todos los cursos tienen una duración promedio de 2 meses, pero &lt;span style="font-weight: bold;"&gt;existe la posibilidad de armar grupos INTENSIVOS y REDUCIDOS de 1 mes de duración&lt;/span&gt; (a un costo mayor). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt; &lt;strong&gt;¡Promoción!&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt;Es de público conocimiento que hace 3 años que los precios de los cursos se han mantenido invariables, por lo que este año aumentarán los 'cursos abiertos' de &lt;span style="font-weight: bold;"&gt;USD 50 &lt;/span&gt;a&lt;span style="font-weight: bold;"&gt; USD 60&lt;/span&gt;. Pero, a modo de promoción, &lt;strong&gt;quienes se inscriban durante esta semana&lt;/strong&gt; (plazo hasta el domingo 24/1), lo podrán hacer a &lt;strong&gt;precio congelado&lt;/strong&gt;! (luego no se aceptarán reclamos ;-)). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt; ¡No pierdas tú lugar! Accede a &lt;a href="http://usuarios.surforce.com/" target="_blank"&gt;usuarios.surforce.com&lt;/a&gt; e ingresa a la sección COMPRAR. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt; Toda la información sobre los cursos en &lt;a href="http://surforce.com/" target="_blank"&gt;surforce.com&lt;/a&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(0, 0, 0);font-size:-1;" &gt;&lt;br /&gt;Saludos! ;-)&lt;br /&gt;&lt;br /&gt;Enrique Place&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SURFORCE TEAM&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://www.surforce.com/" target="_blank"&gt;www.surforce.com&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-7287194144071214477?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/93BPPKVkoak" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/7287194144071214477/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=7287194144071214477" title="6 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/7287194144071214477?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/7287194144071214477?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/93BPPKVkoak/iniciamos-inscripciones-para-los-cursos.html" title="¡Iniciamos inscripciones para los cursos Febrero 2010!" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/01/iniciamos-inscripciones-para-los-cursos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ICQn4_fSp7ImA9WxBRGU8.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-319530351397872330</id><published>2010-01-08T00:26:00.002-03:00</published><updated>2010-01-08T00:32:43.045-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-08T00:32:43.045-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="diseño" /><category scheme="http://www.blogger.com/atom/ns#" term="frases" /><title>Sobre la "complejidad de los diseños" ...</title><content type="html">&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"Me cansé de advertir sobre los riesgos de la ambiguedad, la complejidad y la ambición desmedida de los nuevos diseños, pero nadie escuchó mis consejos. He llegado a la conclusión de que &lt;span style="font-weight: bold;"&gt;existen dos formas de construir un diseño de software:&lt;/span&gt; simplificándolo hasta el punto que resulte obvio que no hay en él errores o complicándolo de tal forma que los errores que haya en él no sean tan obvios".&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Tony Hoare, Turing Award Lecture, 1980 (refiriéndose al diseño del lenguaje &lt;a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%83%C2%B3n_Ada"&gt;Ada&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-319530351397872330?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/yo_iK4zVQLg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/319530351397872330/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=319530351397872330" title="3 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/319530351397872330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/319530351397872330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/yo_iK4zVQLg/sobre-la-complejidad-de-los-disenos.html" title="Sobre la &quot;complejidad de los diseños&quot; ..." /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/01/sobre-la-complejidad-de-los-disenos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MDRn84fSp7ImA9WxBRGUw.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-2384242960113030544</id><published>2010-01-07T23:55:00.002-03:00</published><updated>2010-01-07T23:57:57.135-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-07T23:57:57.135-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="optimización" /><category scheme="http://www.blogger.com/atom/ns#" term="frases" /><title>Para los que me preguntan constantemente sobre la "optimización"</title><content type="html">&lt;blockquote style="font-style: italic;"&gt;"Las reglas de la optimización son sencillas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Regla 1&lt;/span&gt;: No optimices.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Regla 2 (solo para expertos):&lt;/span&gt; No optimices todavía."&lt;br /&gt;&lt;br /&gt;&lt;cite&gt;Michael A. Jackson&lt;/cite&gt;&lt;/blockquote&gt;&lt;cite&gt;&lt;/cite&gt;&lt;br /&gt;&lt;br /&gt;Comparto 100% ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-2384242960113030544?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/3hldoa3GYAE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/2384242960113030544/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=2384242960113030544" title="5 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/2384242960113030544?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/2384242960113030544?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/3hldoa3GYAE/para-los-que-me-preguntan.html" title="Para los que me preguntan constantemente sobre la &quot;optimización&quot;" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2010/01/para-los-que-me-preguntan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQARH07cSp7ImA9WxBREkQ.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-5579257579078105658</id><published>2009-12-31T18:08:00.004-03:00</published><updated>2009-12-31T18:19:05.309-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-31T18:19:05.309-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="entrevistas" /><title>¡Pregúntame lo que quieras!</title><content type="html">Cómo lo comentaba &lt;a href="http://enriqueplace.blogspot.com/2009/12/formspringme-o-preguntame-lo-que.html"&gt;en mi blog personal&lt;/a&gt;, estoy probando el nuevo servicio &lt;a href="http://www.formspring.me"&gt;formspring.me&lt;/a&gt;, en el cual de forma muy sencilla (una de las razones del éxito de estos proyectos: utilidad + simplicidad) pueden hacerme pregunta de los temas que quieran, los cuales responderé con gusto ;-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sz0UwZbIEfI/AAAAAAAAErQ/j7w5br3H6X0/s1600-h/preguntame.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 143px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sz0UwZbIEfI/AAAAAAAAErQ/j7w5br3H6X0/s400/preguntame.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5421512348114883058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.formspring.me/enriqueplace"&gt;Sigue todas las preguntas y respuestas&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-5579257579078105658?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/PBlDQMUgWYM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/5579257579078105658/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=5579257579078105658" title="2 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/5579257579078105658?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/5579257579078105658?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/PBlDQMUgWYM/preguntame-lo-que-quieras.html" title="¡Pregúntame lo que quieras!" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sz0UwZbIEfI/AAAAAAAAErQ/j7w5br3H6X0/s72-c/preguntame.gif" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2009/12/preguntame-lo-que-quieras.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYHRHkzeCp7ImA9WxBSGEg.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-3931035023189929557</id><published>2009-12-26T14:48:00.005-03:00</published><updated>2009-12-26T16:52:15.780-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-26T16:52:15.780-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="resumen" /><title>PHPSenior: el resumen del año 2009</title><content type="html">&lt;div style="text-align: justify;"&gt;Siguiendo la costumbre de muchos blogs, les hago un resumen de los artículos "más técnicos" que se trataron durante el año. Particularmente este año no fue el más activo en lo que respecta a la creación de nuevos contenidos, ya que &lt;a href="http://phpsenior.blogspot.com/2009/02/disponible-el-libro-poo-para-php5.html"&gt;la escritura del libro&lt;/a&gt; y &lt;a href="http://registracion.surforce.com/cursos"&gt;los posteriores cursos&lt;/a&gt; que se fueron dictando durante todo el año nos mantuvieron a todos muy ocupados (incluyo a mis dos grandes colegas y docentes que me acompañan: &lt;a href="http://bolsadeideas.cl/zsamer/"&gt;Andrés Guzmán&lt;/a&gt; y Nicolás Fornaro).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Para este próximo año 2010 tengo muchos proyectos&lt;/span&gt;, algunos relacionados con este blog y otros relacionados con &lt;a href="http://www.surforce.com/"&gt;SURFORCE&lt;/a&gt;, los cursos, la nueva versión del libro de POO (que la vengo demorando porque quiero estrenar nuevo material asociado) y las próximas novedades en cursos y libros.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Aquí el resumen de los temas que se trataron durante el año&lt;/span&gt;, y espero, el próximo año sea mucho más productivo en todo sentido ;-)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Enero &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/01/disponible-la-primera-versin-de.html"&gt;Disponible la primera versión de SURFORCE-CORE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/01/reglas-bsicas-para-trabajar-con-clases.html"&gt;Reglas básicas para trabajar con clases bajo PHP (actualizado)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Febrero&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/02/por-que-no-deberiamos-usar-los-short.html"&gt;Por qué no deberíamos usar los "short tags" &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/02/disponible-el-libro-poo-para-php5.html"&gt;¡Disponible el libro: "POO para PHP5"! (actualizado)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Marzo&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/03/polemica-discusion-debemos-usar-null.html"&gt;Polémica / discusión: ¿Debemos usar "null == $var" ó "$var == null"?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Abril&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/04/como-usar-componentes-de-zend-framework.html"&gt;Cómo usar componentes de Zend Framework fuera del MVC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/04/nueva-version-del-libro-poo-para-php5.html"&gt;Nueva versión del libro: "POO para PHP5" (edición "abril 2009")&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/04/que-nombres-ponerles-nuestros.html"&gt;¿Qué nombres ponerles a nuestros componentes en un framework MVC?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mayo&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/05/por-actualizar-apurado-de-zf-17-18.html"&gt;Por actualizar apurado de ZF 1.7 a 1.8 (actualizado)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Junio&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/06/google-docs-para-gestionar-proyectos.html"&gt;Google Docs para gestionar proyectos a distancia (actualización 23/6)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/06/lo-bueno-de-usar-un-ide-svn-captura.html"&gt;Lo bueno de usar un IDE + SVN (captura)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Julio&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/07/entrando-en-la-optimizacion-extrema.html"&gt;¿Entrando en la "optimización extrema"?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/07/comentar-codigo-de-forma-invisible.html"&gt;Comentar código de forma "invisible"&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Agosto&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/08/copiar-sin-citar-plagio.html"&gt;Copiar sin citar = Plagio&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/08/por-que-usar-un-zend-framework.html"&gt;¿Por qué usar un (zend) framework?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 class="post-title"&gt; &lt;/h3&gt;&lt;span style="font-weight: bold;"&gt;Septiembre&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/09/cajon-del-recuerdo-reflotando-viejos.html"&gt;Cajón del recuerdo: reflotando viejos posts anteriores a PHPSenior&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/09/pregunta-recibida-consejos-para-hacer.html"&gt;Pregunta recibida: "¿Consejos para hacer las interfaces web?"&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/09/plagio-segundo-intento-desarrollador.html"&gt;Plagio, segundo intento: "Desarrollador Senior" versus "PHP Senior"&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Octubre&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/10/excepciones-como-forzar-un-backtrace-en.html"&gt;Excepciones: Cómo forzar un "backtrace" en un sistema que no usa try/catch&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/10/discusion-cual-es-tu-grado-de-madurez.html"&gt;Discusión: "¿cuál es tu grado de madurez en POO?"&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/10/primeros-pasos-en-zend-framework-como.html"&gt;Primeros pasos en Zend Framework: cómo "aprender a pescar"&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Noviembre&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/11/conoces-la-clase-datetime.html"&gt;¿Conoces la clase "DateTime"?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Diciembre&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://phpsenior.blogspot.com/2009/12/fotos-de-la-pasada-php-mini-meeting.html"&gt;Fotos de la pasada PHP Mini Meeting - Argentina (14/11/2009)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¡Feliz Año 2010! ;-)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-3931035023189929557?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/4rn48DtpbGg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/3931035023189929557/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=3931035023189929557" title="2 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/3931035023189929557?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/3931035023189929557?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/4rn48DtpbGg/phpsenior-el-resumen-del-ano-2009.html" title="PHPSenior: el resumen del año 2009" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2009/12/phpsenior-el-resumen-del-ano-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UAQHs7eyp7ImA9WxBTFEs.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-4480167516758158505</id><published>2009-12-10T15:13:00.004-03:00</published><updated>2009-12-10T15:20:41.503-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-10T15:20:41.503-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="video" /><category scheme="http://www.blogger.com/atom/ns#" term="IDE" /><category scheme="http://www.blogger.com/atom/ns#" term="herramientas" /><category scheme="http://www.blogger.com/atom/ns#" term="netbeans" /><title>Video Promocional de la nueva versión Netbeans 6.8</title><content type="html">La mayoría ya debe saber que en la actualidad estoy usando más Netbeans que ZendStudio, particularmente porque prefiero usar "software libre" y no tener que usar "software ilegal" ;-)&lt;br /&gt;&lt;br /&gt;Aquí les dejo el video promocional (aunque gran cantidad de mejoras son para Java, es un IDE muy completo para PHP y ya empezaron con el desarrollo del soporte para Zend Framework).&lt;br /&gt;&lt;br /&gt;&lt;object id="flashObj" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0" height="322" width="486"&gt;&lt;param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;amp;publisherID=1460825906"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="flashVars" value="videoId=55590187001&amp;amp;linkBaseURL=https%3A%2F%2Fchannelsun.sun.com%2Fmedia%2Fshow%2F14814&amp;amp;playerID=1640183659&amp;amp;domain=embed&amp;amp;"&gt;&lt;param name="base" value="http://admin.brightcove.com"&gt;&lt;param name="seamlesstabbing" value="false"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="swLiveConnect" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://c.brightcove.com/services/viewer/federated_f9/1640183659?isVid=1&amp;amp;publisherID=1460825906" bgcolor="#FFFFFF" flashvars="videoId=55590187001&amp;amp;linkBaseURL=https%3A%2F%2Fchannelsun.sun.com%2Fmedia%2Fshow%2F14814&amp;amp;playerID=1640183659&amp;amp;domain=embed&amp;amp;" base="http://admin.brightcove.com" name="flashObj" seamlesstabbing="false" type="application/x-shockwave-flash" allowfullscreen="true" swliveconnect="true" allowscriptaccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" height="322" width="486"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-4480167516758158505?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/u7hkwDFSQJw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/4480167516758158505/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=4480167516758158505" title="5 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4480167516758158505?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4480167516758158505?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/u7hkwDFSQJw/video-promocional-de-la-nueva-version.html" title="Video Promocional de la nueva versión Netbeans 6.8" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2009/12/video-promocional-de-la-nueva-version.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAAR3Y_cSp7ImA9WxBTE0s.&quot;"><id>tag:blogger.com,1999:blog-19450532.post-4964607247745272413</id><published>2009-12-08T23:11:00.017-03:00</published><updated>2009-12-09T11:09:06.849-03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-09T11:09:06.849-03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reuniones" /><category scheme="http://www.blogger.com/atom/ns#" term="meeting" /><category scheme="http://www.blogger.com/atom/ns#" term="eventos" /><category scheme="http://www.blogger.com/atom/ns#" term="Argentina" /><title>Fotos de la pasada PHP Mini Meeting - Argentina (14/11/2009)</title><content type="html">&lt;div style="text-align: justify;"&gt;El pasado sábado 14/11 nos reunimos varios "phperos" en Argentina en una primer &lt;a href="http://phpsenior.blogspot.com/2009/11/evento-php-mini-meeting-argentina.html"&gt;"PHP Mini Meeting"&lt;/a&gt;. Les voy a hacer un breve resumen de lo que presencié, más algunos comentarios muy personales que hice sobre cada exposición, donde lejos de criticar, intento tratar de transmitirles lo que se trató en cada charla. Desde ya felicito el interés y la dedicación de cada uno de los que dedicó su tiempo personal para preparar y luego presentar cada charla.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JjIAsE2I/AAAAAAAAEqs/BZVbjZm0Z2g/s1600-h/IMG_9567.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JjIAsE2I/AAAAAAAAEqs/BZVbjZm0Z2g/s400/IMG_9567.jpg" alt="" id="BLOGGER_PHOTO_ID_5413055776173069154" border="0" /&gt;&lt;/a&gt;&lt;a href="http://alpv.tk/"&gt;Andrés Proaño&lt;/a&gt;, organizador de esta primer reunión, se encargó de mostrarnos su &lt;a href="http://alpv.tk/software/pxLib/pxLib-0.5.5-beta.tar.gz"&gt;proyecto PX&lt;/a&gt;, una librería desarrollada en objetos para generar código Xhtml. La única crítica que tuve para hacerle es que no estaba respetando los &lt;a href="http://phpsenior.blogspot.com/2009/01/reglas-bsicas-para-trabajar-con-clases.html"&gt;estándares mínimos de codificación POO&lt;/a&gt;, como ser que las clases iniciaran en mayúsculas, singular, etc. Para no ser menos, sugerí que adoptara &lt;a href="http://framework.zend.com/manual/en/coding-standard.html"&gt;el estándar de codificación Zend&lt;/a&gt;, tema que tal vez en una próxima reunión me encargue de dar.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IwRSSgVI/AAAAAAAAEqE/LIEzTd6JckA/s1600-h/IMG_9500.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IwRSSgVI/AAAAAAAAEqE/LIEzTd6JckA/s400/IMG_9500.jpg" alt="" id="BLOGGER_PHOTO_ID_5413054902489481554" border="0" /&gt;&lt;/a&gt;&lt;a href="http://twitter.com/peraferrer"&gt;Germán Peraferrer&lt;/a&gt; nos presentó su proyecto ORMphp, herramienta que desarrolló en su empresa para acelerar el trabajo de sus desarrolladores y poder competir con otras empresas en su mismo rubro, logrando acortar los tiempos en preparar prototipos funcionales para sus futuros clientes.&lt;br /&gt;&lt;br /&gt;Según nos comentó a través de su &lt;a href="http://www.slideshare.net/peraferrer/ormphp-beta-v10-presentacin"&gt;presentación&lt;/a&gt;, luego de generar la configuración base de conexión a la base de datos, la herramienta genera todos los modelos necesarios (clases) que luego podemos incorporar a nuestros desarrollos y que contienen todas las operaciones necesarias para trabajar con la persistencia de objetos. Según comentamos, &lt;span style="font-weight: bold;"&gt;fácilmente podríamos integrarlo a Zend Framework &lt;/span&gt;(ya que este aún no cuenta con un ORM), y aún mejor, ya viene &lt;span style="font-weight: bold;"&gt;incorporada la generación de webservices&lt;/span&gt; para poder acceder a los datos desde cualquier fuente de origen.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IVXkqByI/AAAAAAAAEp0/xvVMNqajGxQ/s1600-h/IMG_9456.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IVXkqByI/AAAAAAAAEp0/xvVMNqajGxQ/s400/IMG_9456.jpg" alt="" id="BLOGGER_PHOTO_ID_5413054440320665378" border="0" /&gt;&lt;/a&gt;Lo único que tengo para criticarle a Germán es que aún no haya liberado como proyecto libre su herramienta (usando tal vez &lt;a href="http://code.google.com/"&gt;code.google.com&lt;/a&gt;) y tener acceso a una documentación como un wiki y a un svn para bajar su código actualizado. De todas formas Germán ya &lt;span style="font-weight: bold;"&gt;nos envió el código fuente de la herramienta y una guía de uso&lt;/span&gt;, en lo cual estoy en deuda porque aún no pude sentarme a probar, pero que haré dentro de poco (ya que tengo mucho interés de evaluarla y ver si puedo incorporarla en alguno de mis desarrollos actuales :-))&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Nota:&lt;/span&gt; con Germán ya habíamos tenido algún intercambio amistoso sobre &lt;span style="font-weight: bold; font-style: italic;"&gt;"reinventar la rueda"&lt;/span&gt;, ya que yo le decía que habían demasiados "ORM's", pero bueno, nos pusimos de acuerdo que a veces no queda otra, las herramientas pueden ser muy complicadas de aprender (curva de aprendizaje empinada) y otras tienen demasiadas funcionalidades que no usaremos nunca, lo que nos obliga a generar proyectos más concretos y específicos.&lt;br /&gt;&lt;br /&gt;De todas formas, &lt;span style="font-weight: bold;"&gt;no sugiero nunca&lt;/span&gt; empezar primero creando algo nuevo sin evaluar honestamente las alternativas existentes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IkGr7qlI/AAAAAAAAEp8/MsKQZ_GjpAM/s1600-h/IMG_9460.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IkGr7qlI/AAAAAAAAEp8/MsKQZ_GjpAM/s400/IMG_9460.jpg" alt="" id="BLOGGER_PHOTO_ID_5413054693485816402" border="0" /&gt;&lt;/a&gt;Aquí estoy de espaldas, a tres ventanas de twitters, haciendo algún que otro comentario en vivo sobre la charla.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_G8kpjzIeQ4o/Sx8I-qFHFdI/AAAAAAAAEqM/9zGhritO0MA/s1600-h/IMG_9522.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_G8kpjzIeQ4o/Sx8I-qFHFdI/AAAAAAAAEqM/9zGhritO0MA/s400/IMG_9522.jpg" alt="" id="BLOGGER_PHOTO_ID_5413055149663262162" border="0" /&gt;&lt;/a&gt;&lt;a href="http://desarrollophp.blogspot.com/"&gt;Sebastian Waisbrot&lt;/a&gt;, quién nos presentó sus experiencias usando el framework &lt;a href="http://codeigniter.com/"&gt;CodeIgniter&lt;/a&gt;. Este framework fue uno de los tantos que analicé oportunamente antes de dejar de perder el tiempo y decantarme por &lt;a href="http://framework.zend.com/"&gt;Zend Framework&lt;/a&gt; ;-)&lt;br /&gt;&lt;br /&gt;En resumen, y confirmando con las palabras de Sebastian, sigo desaconsejando su uso: el equipo de desarrollo sigue una seudo-filosofía similar a Debian, quieren ser "ultra" estables y seguros, además, les preocupa en demasía la compatibilidad hacia atrás, lo que lleva a que aún esté &lt;span style="font-weight: bold;"&gt;internamente desarrollado en PHP4&lt;/span&gt;. Por el resumen de funcionalidades que se comentaron (tal vez por la versión que actualmente usa Sebastian), está bastante lejos de la mayoría de los frameworks más conocidos (Zend, Cake, etc).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JWirOqMI/AAAAAAAAEqk/W5kMWXkdjuc/s1600-h/IMG_9538.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JWirOqMI/AAAAAAAAEqk/W5kMWXkdjuc/s400/IMG_9538.jpg" alt="" id="BLOGGER_PHOTO_ID_5413055559992518850" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Nota:&lt;/span&gt; sugiero recorrer &lt;a href="http://desarrollophp.blogspot.com/"&gt;el blog de Sebastian&lt;/a&gt;, ya que &lt;span style="font-weight: bold;"&gt;encontré muy buenos artículos sobre POO&lt;/span&gt; que recomiendo enormemente (lamentablemente desde el año pasado que no lo actualiza).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IGwd8KZI/AAAAAAAAEps/QugclairBqE/s1600-h/IMG_9447.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_G8kpjzIeQ4o/Sx8IGwd8KZI/AAAAAAAAEps/QugclairBqE/s400/IMG_9447.jpg" alt="" id="BLOGGER_PHOTO_ID_5413054189305342354" border="0" /&gt;&lt;/a&gt;Aquí estoy a la derecha, sentado junto a Adrián, otro "phpero" que tuve el gusto de conocer.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_G8kpjzIeQ4o/Sx8H7xy2H6I/AAAAAAAAEpk/upBSsDlx9GU/s1600-h/IMG_9477.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_G8kpjzIeQ4o/Sx8H7xy2H6I/AAAAAAAAEpk/upBSsDlx9GU/s400/IMG_9477.jpg" alt="" id="BLOGGER_PHOTO_ID_5413054000682901410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JyUmYwfI/AAAAAAAAEq0/Xz1pwf41hf4/s1600-h/IMG_9605.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JyUmYwfI/AAAAAAAAEq0/Xz1pwf41hf4/s400/IMG_9605.jpg" alt="" id="BLOGGER_PHOTO_ID_5413056037250449906" border="0" /&gt;&lt;/a&gt;Finalmente, luego de terminar, el resto nos fuimos a comer unas pizzas y a&lt;span style="font-weight: bold;"&gt; planear un proyecto de &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://es.wikipedia.org/wiki/LUG"&gt;LUG&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;, similar a los que existen para GNU/Linux, pero pensado para PHP&lt;/span&gt; (una idea que comparto desde hace muchos años). Así que esperamos que se puedan seguir armando charlas para todos los desarrolladores PHP que quieran participar y compartir sus conocimientos, y terminar de construir una comunidad tan fuerte como cualquier otra de Software Libre.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Quiero agradecer las fotos a &lt;/span&gt; &lt;a href="http://fotografiko.com/"&gt;Jonathan Margulis&lt;/a&gt;, joven fotógrafo profesional que nos acompañó y le dio otro toque de estilo a las fotos (&lt;a href="http://alpv.tk/events/2009/phpmm/photos/index.php?spgmGal=phpmm&amp;amp;spgmPage=1"&gt;muy buenas&lt;/a&gt;, hasta me veo más flaco y todo ;-))&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;PD:&lt;/span&gt; lamento no tener el nombre de todos ni sus blogs, pero como comenté en la reunión, el hecho de comunicarse &lt;a href="http://groups.google.com.ar/group/php-arg?hl=es&amp;amp;pli=1"&gt;a través de un foro&lt;/a&gt; y que la mayoría use &lt;span style="font-weight: bold;"&gt;seudónimos&lt;/span&gt;, dificulta enormemente que nos conozcamos y que asociemos lo que decimos y quienes somos ;-)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Así que quienes participaron&lt;/span&gt;, bienvenidos a enviarme en los comentarios sus nombres y datos para ser actualizados en este post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19450532-4964607247745272413?l=phpsenior.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/phpsenior/~4/Z9Zv5L1XEyY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://phpsenior.blogspot.com/feeds/4964607247745272413/comments/default" title="Comentarios de la entrada" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=19450532&amp;postID=4964607247745272413" title="6 Comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4964607247745272413?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/19450532/posts/default/4964607247745272413?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/phpsenior/~3/Z9Zv5L1XEyY/fotos-de-la-pasada-php-mini-meeting.html" title="Fotos de la pasada PHP Mini Meeting - Argentina (14/11/2009)" /><author><name>Enrique Place</name><uri>https://profiles.google.com/110366465047862255784</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-8zUGjAUWuss/AAAAAAAAAAI/AAAAAAAAEx0/_uEyIb8c0yk/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_G8kpjzIeQ4o/Sx8JjIAsE2I/AAAAAAAAEqs/BZVbjZm0Z2g/s72-c/IMG_9567.jpg" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://phpsenior.blogspot.com/2009/12/fotos-de-la-pasada-php-mini-meeting.html</feedburner:origLink></entry></feed>

