<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Moy Blog &#187; dev-php</title>
	<atom:link href="http://www.moythreads.com/wordpress/category/dev-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.moythreads.com/wordpress</link>
	<description>Abandon All Hope, Ye Who Read This Blog</description>
	<lastBuildDate>Sat, 26 Dec 2009 06:38:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CIISA 2007 ( actualizado con presentacion corregida )</title>
		<link>http://www.moythreads.com/wordpress/2007/06/04/ciisa-2007/</link>
		<comments>http://www.moythreads.com/wordpress/2007/06/04/ciisa-2007/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 00:53:44 +0000</pubDate>
		<dc:creator>moy</dc:creator>
				<category><![CDATA[dev-php]]></category>

		<guid isPermaLink="false">http://www.moythreads.com/wordpress/2007/06/04/ciisa-2007/</guid>
		<description><![CDATA[Chale, de plano soy malisimo para esto de actualizar el blog. En fin. EstarÃ¨ dando una plÃ tica en el CIISA 2007 ( Congreso Internacional en IngenierÃ¬a de Software y Sus Aplicaciones ) en Julio. El tema: &#8220;Vulnerabilidades en Aplicaciones Web PHP&#8221;. Justo acabo de terminar el material y enviarlo para su revisiÃ²n. Aqui dejo ligas [...]]]></description>
			<content:encoded><![CDATA[<p>Chale, de plano soy malisimo para esto de actualizar el blog. En fin. EstarÃ¨ dando una plÃ tica en el <a href="http://ciisa.gda.itesm.mx/" title="CIISA 2007" target="_blank">CIISA 2007</a> ( Congreso Internacional en IngenierÃ¬a de Software y Sus Aplicaciones ) en Julio. El tema: &#8220;Vulnerabilidades en Aplicaciones Web PHP&#8221;. Justo acabo de terminar el material y enviarlo para su revisiÃ²n. Aqui dejo ligas al material tambiÃ¨n para quien pueda interesarse.</p>
<p><a href="http://www.moythreads.com/congresos/ciisa2007/ciisa2007_formatocompleto_SilvaMoises.ppt" title="CIISA 2007 Vulnerabilidades PHP" target="_blank">Vulnerabilidades en Aplicaciones Web PHP ( presentaciÃ²n PowerPoint )</a></p>
<p><a href="http://www.moythreads.com/congresos/ciisa2007/ejercicioscompleto_SilvaMoises.pdf" title="CIISA 2007 Vulnerabilidades PHP" target="_blank">Vulnerabiliades en Aplicaciones Web PHP ( tutorial para ejercicios PDF )</a></p>
<p><a href="http://www.moythreads.com/congresos/ciisa2007/code-ciisa2007.zip" title="CIISA 2007 Vulnerabilidades PHP" target="_blank">Vulnerabilidades en Aplicaciones Web PHP ( codigo )</a></p>
<p>Cualquier correcciÃ²n o sugerencia serÃ  bienvenida&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moythreads.com/wordpress/2007/06/04/ciisa-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk Manager Interface PHP extension</title>
		<link>http://www.moythreads.com/wordpress/2006/12/08/asterisk-manager-interface-php-extension/</link>
		<comments>http://www.moythreads.com/wordpress/2006/12/08/asterisk-manager-interface-php-extension/#comments</comments>
		<pubDate>Fri, 08 Dec 2006 01:15:12 +0000</pubDate>
		<dc:creator>moy</dc:creator>
				<category><![CDATA[asterisk]]></category>
		<category><![CDATA[dev-php]]></category>

		<guid isPermaLink="false">http://moy.ivsol.net/wordpress/?p=17</guid>
		<description><![CDATA[Ha pasado algo de tiempo desde mi ultimo post, pero he andado algo ocupado. Por estos dias ya empece a escribir ( al fin ) mi extensiÃ³n en C para el lenguaje PHP, esta extensiÃ³n le darÃ¡ soporte a PHP para conectarse directamente y sin escalas al API del manager de Asterisk. En linux ya [...]]]></description>
			<content:encoded><![CDATA[<p>Ha pasado algo de tiempo desde mi ultimo post, pero he andado algo ocupado. Por estos dias ya empece a escribir ( al fin ) mi extensiÃ³n en C para el lenguaje PHP, esta extensiÃ³n le darÃ¡ soporte a PHP para conectarse directamente y sin escalas al API del manager de Asterisk. En linux ya compila y funciona al 80%. Necesito terminar ese 20% restante y darle soporte para windows.</p>
<p>El API general para PHP es:</p>
<p>resource ami_connect(string host, string user, string passwd)<br />
bool ami_send_action(resource ami, string action, [array data])<br />
array ami_read(resource ami, int timeout)<br />
bool ami_attach(resource ami, string event, callback user_callback)<br />
bool ami_detach(resource ami, string event)<br />
int ami_queue_action(resource ami, string action, [array data], [callback user_callback])<br />
void ami_loop(resource ami)<br />
void ami_disconnect(resource ami)</p>
<p>CONSTANTS</p>
<p>AMI_KILL_LOOP<br />
AMI_EXIT_LOOP</p>
<p>Y este es un script que he estado usando para probar:</p>
<p><a target="_blank" title="AMI API Test" href="http://moy.ivsol.net/scripts/ami.php">http://moy.ivsol.net/scripts/ami.php</a></p>
<p>Es interesante empezar a conocer mas a fondo como funciona el zend engine. Ya con algo mas de experiencia explicare a detalle como hacer una extensiÃ³n, de momento solo quiero hacer menciÃ³n que dentro del zend engine, todas las variables son representadas como una estructura de C llamada zval. Asi que por ejemplo, para recibir una variable como argumento usualmente se hace algo como esto:</p>
<p>zval *my_argument; // declaramos el apuntador a la variable PHP</p>
<p>int my_length; /* aqui el zend engine pondra la longitud del argumento, en este caso es una cadena */</p>
<p>zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, &#8220;s&#8221;, &#038;my_argument, &#038;my_length);</p>
<p>de esta forma tenemos el argumento enviado por el usuario y la longitud de la cadena, el argumento &#8220;s&#8221; es una cadena de formateo, es necesario para especificar de que tipo debe ser el zval, en este caso una cadena.</p>
<p>ahila&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moythreads.com/wordpress/2006/12/08/asterisk-manager-interface-php-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mas de TDD</title>
		<link>http://www.moythreads.com/wordpress/2005/10/29/mas-de-tdd/</link>
		<comments>http://www.moythreads.com/wordpress/2005/10/29/mas-de-tdd/#comments</comments>
		<pubDate>Sun, 30 Oct 2005 03:36:03 +0000</pubDate>
		<dc:creator>moy</dc:creator>
				<category><![CDATA[dev-php]]></category>

		<guid isPermaLink="false">http://phpmexic.u33.0web-hosting.com/wordpress/?p=3</guid>
		<description><![CDATA[bueno, al fin he podido resolver el problema que tenÃ­a con el test suite para el proxy. Los problemas se debÃ­an principalmente a mi inexperiencia y la dificultad intrÃ­nseca de probar sockets. Afortunadamente el test estÃ¡ corriendo bastante bien usando incluso un par de pcntl_forks() y un workaround para generar eventos de forma aleatoria.
Para una [...]]]></description>
			<content:encoded><![CDATA[<p>bueno, al fin he podido resolver el problema que tenÃ­a con el test suite para el proxy. Los problemas se debÃ­an principalmente a mi inexperiencia y la dificultad intrÃ­nseca de probar sockets. Afortunadamente el test estÃ¡ corriendo bastante bien usando incluso un par de pcntl_forks() y un workaround para generar eventos de forma aleatoria.</p>
<p>Para una explicaciÃ³n mas detallada aqui estÃ¡ el link al cÃ³digo y al foro de sitepoint donde seguimos comentandolo.</p>
<p><a href="http://www.sitepoint.com/forums/showthread.php?t=309538">thread de sitepoint</a></p>
<p><a href="http://phpmexic.u33.0web-hosting.com/wordpress/code/misc/AmiProxyTest.php">CÃ³digo del test</a></p>
<p>se ven,</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moythreads.com/wordpress/2005/10/29/mas-de-tdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XP &amp; TDD</title>
		<link>http://www.moythreads.com/wordpress/2005/10/28/xp-tdd/</link>
		<comments>http://www.moythreads.com/wordpress/2005/10/28/xp-tdd/#comments</comments>
		<pubDate>Fri, 28 Oct 2005 10:01:26 +0000</pubDate>
		<dc:creator>moy</dc:creator>
				<category><![CDATA[dev-php]]></category>

		<guid isPermaLink="false">http://phpmexic.u33.0web-hosting.com/wordpress/?p=2</guid>
		<description><![CDATA[bueno, con la novedad de que por fin hemos decidido iniciar con extremme programming, metodologÃ­a que estÃ¡ intimamente ligada con el Test Driven Development. Principalmente lo desafiante para un principiante como yo, es que tienes que cambiar radicalmente tu forma de programar. Ahora debes escribir tests automatizados de tu cÃ³digo incluso antes de que escribas [...]]]></description>
			<content:encoded><![CDATA[<p>bueno, con la novedad de que por fin hemos decidido iniciar con extremme programming, metodologÃ­a que estÃ¡ intimamente ligada con el Test Driven Development. Principalmente lo desafiante para un principiante como yo, es que tienes que cambiar radicalmente tu forma de programar. Ahora debes escribir tests automatizados de tu cÃ³digo incluso antes de que escribas tu cÃ³digo. Las reglas son simples:</p>
<p>1. disenias tu API<br />
2. escribes tests para tu API (los tests deben probar funcionalidad)<br />
3. escribes el cÃ³digo que debe pasar los test<br />
4. corres tus tests<br />
5. corriges lo que seguramente no pas&ouacute; los tests, y vuelves al paso 3.</p>
<p>&#8220;code a little, test a little&#8221; dicen en varios sitios relacionados con el TDD.</p>
<p>Pero pues se nos ocurriÃ³ iniciar con una aplicaciÃ³n complicada por dos cosas:</p>
<p>1. la habiamos iniciado sin haber decidido utilizar XP, por lo que no pudimos aplicar la de escribir primero los tests, mas bien tuvimos que hacer los tests despuÃºs de que ya existÃ­a cÃ³digo escrito.<br />
2. la aplicaciÃ³n es un proxy, y probar sockets, servidores y clientes, es una bronca incluso para programadores experimentados con TDD, como se puede apreciar en los siguientes posts de sitepoint donde hemos estado comentando la mejor forma de hacerlo. El post estÃ¡ un poco inactivo desde hace unos dias por que no he respondido, pero espero hacerlo pronto. Incluso el cuate que escribiÃ³ el framework para testing &#8220;simpletest&#8221; me comenta que es un poco complicado.</p>
<p>sitepoint: <a href="http://www.sitepoint.com/forums/showthread.php?t=309538">thread en site point aqui</a></p>
<p>de rato &#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moythreads.com/wordpress/2005/10/28/xp-tdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
