<?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>Polar Geek &#187; google</title>
	<atom:link href="http://www.polargeek.net/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.polargeek.net</link>
	<description>Desarrollo web, tips, diseño, php, javascript...</description>
	<lastBuildDate>Thu, 29 Jul 2010 09:33:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Buenas prácticas de JavaScript por Google</title>
		<link>http://www.polargeek.net/buenas-practicas-de-javascript-por-google/</link>
		<comments>http://www.polargeek.net/buenas-practicas-de-javascript-por-google/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 04:00:35 +0000</pubDate>
		<dc:creator>José</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.polargeek.net/?p=1636</guid>
		<description><![CDATA[Introducción Javascript, como quizá ya he dicho alguna vez, es el lenguaje con mayor relación de uso y desconocimiento del mismo, y cuando falla, la gente se sorprende, a pesar de que hayan empezado a programar en JavaScript sin tener ni idea del asunto. Aquí vemos una serie de buenas prácticas traidas de Google, en [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción</h2>
<p>Javascript, como quizá ya he dicho alguna vez, es el lenguaje con mayor relación de uso y desconocimiento del mismo, y cuando falla, la gente se sorprende, a pesar de que hayan empezado a programar en JavaScript sin tener ni idea del asunto.</p>
<div class="img"><img src="http://static.polargeek.net/uploads/javascript/google_logo.png" alt="Logo Google" /></div>
<p>Aquí vemos una serie de buenas prácticas traidas de Google, en su mayoría, que nos aclararán muchas ideas y nos ayudarán a mejorar nuestro código.</p>
<h2>Buenas prácticas</h2>
<h3>Uso de la palabra var</h3>
<p>A pesar de que se puede declarar una variable dentro de una función sin var, no es recomendable, porque no está claro en que contexto podemos acceder a ella. De tal forma, que no hay colisiones de nombres entre diferentes variables.</p>
<h3>Uso de punto y coma</h3>
<p>Quizá no sepas que JavaScript tiene por defecto lo que se llama <i>implicit insertion</i>, esto significa que por defecto inserta punto y coma el solito antes de cada salto de línea. Esto, que en principio podría parecer bueno y cómodo se convierte en un auténtico dolor de cabeza en ciertos casos, como este: </p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">MyClass.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">myMethod</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #CC0000;">42</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #006600; font-style: italic;">// Sin punto y coma</span>
&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #006600; font-style: italic;">// Inicialización de variables aquí</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Declaramos un método (no nos paremos a lo de prototype, ya lo explicaré en otro post) y después usamos una función anónima, pues bien, a la función primera se le pasa la segunda como parámetro, ¿intuitivo al máximo verdad? Pues para evitarlo sólo tenemos que tener en mente que siempre tenemos que usar los puntos y comas cuando acabemos una línea.</p>
<h3>Usar objetos para tipos primitivos</h3>
<p>Si queremos tener una variable de tipo booleana, o de un tipo primitivo hacer esto puede liar bastante las cosas: </p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> x <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Boolean<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hi'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Intuitivamente pensaríamos que no se va a imprimir nada, pero lo cierto es que si ejecutas el código, verás el alert con el texto &#8216;hi&#8217;.</p>
<p>Por tanto cuando queramos iniciar una variable de tipo primitivo, como &#8220;Boolean&#8221;, debemos usar la siguiente sintaxis: </p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> x <span style="color: #339933;">=</span> Boolean<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hi'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Y ahora no veremos el &#8216;hi&#8217;. De hecho si usamos el typeof para ver el tipo de datos que tenemos podemos comprobar que lo que estábamos creando antes no era un booleano, sino un objeto.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">typeof</span> Boolean<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'boolean'</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">typeof</span> <span style="color: #003366; font-weight: bold;">new</span> Boolean<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'object'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ambas son true, así que tienes que tener claro cuando estás haciendo una variable de tipo objeto y cuando del tipo primitivo boolean.</p>
<h3>Los estándares se deben imponer</h3>
<p>Usa funciones o métodos estándar antes que otros que no lo son, porque favoreceran la compatibilidad entre navegadores y tu código se podrá integrar en otros más fácilmente, por ejemplo es preferible usar string.charAt(3) que string[3].</p>
<h2>Reglas de Estilo</h2>
<p>En todo lenguaje hay una serie de buenas prácticas, pero también un cierto estilo que nos ayuda a poder entender mejor el código y a adquirir una serie de reglas que hacen que el código sea igual en estilos en cualquier lugar.</p>
<h3>Nombres</h3>
<p>Siempre todo junto y cuando son varias palabras pues con mayúsculas a partir de la segunda.</p>
<ul>
<li>Funciones: estoEsUnaFuncion</li>
<li>Variables: estoEsUnaVariable</li>
<li>Clases: estoEsUnaClase</li>
<li>Enumerados: enumeradoTres</li>
<li>Métodos: estoEsUnMetodo</li>
<li>Constantes: ESTO_ES_UNA_CONSTANTE</li>
</ul>
<h3>Strings</h3>
<p>Preferiblemente con &#8221; (comillas simples) en vez con &#8220;&#8221; (comillas dobles), sobre todo de cara a que cuando escribimos HTML en un string, no tenemos que &#8220;escapar&#8221; las comillas.</p>
<h3>Paréntesis</h3>
<p>Solo cuando hagan falta, por ejemplo, no uses paréntesis en operadores como delete, typeof o void, o después de palabras reservadas como return, throw, case o new.</p>
<h3>Se consciente de lo que es true o false </h3>
<p>Uno de tantos problemas tontos con los que te encuentras cuando programas en JavaScript es asumir que ciertas cosas son verdaderas o falsas. Aquí tienes una lista: </p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">null</span> <span style="color: #006600; font-style: italic;">//false</span>
undefined  <span style="color: #006600; font-style: italic;">//false</span>
<span style="color: #3366CC;">''</span> string vacío <span style="color: #006600; font-style: italic;">//false</span>
<span style="color: #CC0000;">0</span> como número <span style="color: #006600; font-style: italic;">//false</span>
&nbsp;
<span style="color: #3366CC;">'0'</span> cero como string  <span style="color: #006600; font-style: italic;">//true</span>
<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> array vacío  <span style="color: #006600; font-style: italic;">//true</span>
<span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span> objeto vacío  <span style="color: #006600; font-style: italic;">//true</span></pre></td></tr></table></div>

<h3>Comenta con estilo</h3>
<p>Cuando se comenta el código además de hacer la razón por la que hacemos algo tenemos la posibilidad de generar documentación a la vez de manera sencilla, siguiendo una serie de reglas. Google lo hace así, y muchos desarrolladores lo recomiendan, en concreto podemos usar <a href="http://code.google.com/p/jsdoc-toolkit/">JSDoc</a>, y si todos lo hiciéramos sería más sencillo leer el código de otros y entenderlo, así que adelante con ello.</p>
<h2>Más información</h2>
<p>Tienes más consejos y buenas prácticas <a href="http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml#Visibility__private_and_protected_fields_">aquí</a>, hay muchos más, solo he destacado los más importantes y relativamente fáciles de explicar para no irme mucho del tema.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.polargeek.net/buenas-practicas-de-javascript-por-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejecutar Código Javascript Online con Google</title>
		<link>http://www.polargeek.net/ejecutar-codigo-javascript-online-con-google/</link>
		<comments>http://www.polargeek.net/ejecutar-codigo-javascript-online-con-google/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 23:36:48 +0000</pubDate>
		<dc:creator>José</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[playground]]></category>

		<guid isPermaLink="false">http://www.polargeek.net/?p=1156</guid>
		<description><![CDATA[El concepto La idea parte, de Google, más concretamente, está realizada por Ben Lisbakken. La explicación más en profundidad de como funciona esto la puedes ver abajo, en la conferencia que da el propio Ben Lisbakken (también habla sobre otras cosas, como por ejemplo reducir el tiempo de carga de tus páginas). Así que el [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.polargeek.net/uploads/2010/19/google_code.jpg"/></p>
<h2>El concepto</h2>
<p>La idea parte, de Google, más concretamente, está realizada por Ben Lisbakken. </p>
<p>La explicación más en profundidad de como funciona esto la puedes ver abajo, en la conferencia que da el propio Ben Lisbakken (también habla sobre otras cosas, como por ejemplo reducir el tiempo de carga de tus páginas).<br />
Así que el concepto es el siguiente: Una aplicación web donde puedes&#8230;</p>
<ul>
<li>Ver ejemplos de código Javascript (principalmente utilizando las API&#8217;s AJAX de Google).</li>
<li>Editar tu propio código.</li>
<li>Hacer debug de éste con la ayuda de Firebug.</li>
<li>Compartir el código con todo el mundo, con una url que no se borrará y que podrás pasar a quien quieras.</li>
</ul>
<h2>Utilización</h2>
<p>La utilización es bastante sencilla, simplemente vamos a <a href="http://code.google.com/apis/ajax/playground/">http://code.google.com/apis/ajax/playground/</a> y empezamos a ver los ejemplos. Cuando quieras cambiar algo, escribe en el cuadro de la derecha y haces click en &#8220;Run Code&#8221;. (Para exportarlo, botón de la flecha a la derecha).</p>
<p>El debug se hace con firebug, así que puedes poner breakpoints en el código y ver el contenido de las variables u objetos en cada momento.</p>
<p>Dejo una imagen:<br />
<img src="http://static.polargeek.net/uploads/2010/19/ajax-api-playground.jpg" alt="" width="606" height="464" border="0" /></p>
<h2>Conferencia</h2>
<h2 class="h2_listado">Vídeo</h2>
<p><object width="626" height="532"><param name="movie" value="http://www.youtube-nocookie.com/v/s4Lppyuu4nI&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/s4Lppyuu4nI&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="626" height="532"></embed></object></p>
<h2 class="h2_listado">Transparencias</h2>
<p><object id="doc_279240292463082" name="doc_279240292463082" height="500" width="450" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" ><param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"><param name="wmode" value="opaque"><param name="bgcolor" value="#ffffff"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="FlashVars" value="document_id=16935754&#038;access_key=key-h60i26pn2sxg7fkp8c8&#038;page=1&#038;viewMode=slideshow"></object></p>
<h2>Enlaces</h2>
<ul class="padding">
<li><a href="http://code.google.com/apis/ajax/playground/">Ajax Playground</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.polargeek.net/ejecutar-codigo-javascript-online-con-google/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PHP] Google Sets</title>
		<link>http://www.polargeek.net/php-google-sets/</link>
		<comments>http://www.polargeek.net/php-google-sets/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 00:52:49 +0000</pubDate>
		<dc:creator>José</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[clases]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.polargeek.net/?p=803</guid>
		<description><![CDATA[Introducci&#243;n Google Sets es un servicio de Google, que permite obtener palabras del mismo conjunto que las que introducimos. Es decir, si damos &#8216;rojo&#8217;,'verde&#8217;, obtenemos Predicted Items verde rojo azul amarillo blanco negro naranja rosa gris &#8230; Su uso es muy amplio, desde simple admiración por lo que Google ha llegado a acumular en cuanto [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducci&oacute;n</h1>
<p>Google Sets es un servicio de Google, que permite obtener palabras del mismo conjunto que las que introducimos. Es decir, si damos &#8216;rojo&#8217;,'verde&#8217;, obtenemos</p>
<table style="height: 338px;margin:auto;" border="0" cellspacing="2" cellpadding="8%" width="324" align="center" summary="List of items which may be members of your set, one item per row">
<tbody>
<tr>
<td style="background-color: #e6f2ea;" width="300" valign="top"><center><strong><span style="font-family: Arial,sans-serif; color: #000000;">Predicted Items</span></strong></center></td>
</tr>
<tr>
<td style="background-color: #f9f4df; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=verde">verde</a></span></td>
</tr>
<tr style="text-align: center;">
<td style="background-color: #fff9e4;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=rojo">rojo</a></span></td>
</tr>
<tr>
<td style="background-color: #f9f4df; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=azul">azul</a></span></td>
</tr>
<tr>
<td style="background-color: #fff9e4; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=amarillo">amarillo</a></span></td>
</tr>
<tr>
<td style="background-color: #f9f4df; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=blanco">blanco</a></span></td>
</tr>
<tr>
<td style="background-color: #fff9e4; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=negro">negro</a></span></td>
</tr>
<tr>
<td style="background-color: #f9f4df; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=naranja">naranja</a></span></td>
</tr>
<tr>
<td style="background-color: #fff9e4; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=rosa">rosa</a></span></td>
</tr>
<tr>
<td style="background-color: #f9f4df; text-align: center;" valign="top"><span style="font-family: Arial,sans-serif;"><a href="http://www.google.com/search?hl=en&amp;q=gris">gris</a></span></td>
</tr>
<tr>
<td style="background-color: #fff9e4; text-align: center;" valign="top">&#8230;</td>
</tr>
</tbody>
</table>
<p>Su uso es muy amplio, desde simple admiración por lo que Google ha llegado a acumular en cuanto a información se refiere, hasta black SEO, utilizando como palabras relacionadas lo que nos devuelva.</p>
<p>El problema es que solo hay una interfaz web, no existe una API ni nada parecido, por lo que he decidido crear una clase en PHP, que permita obtener de manera medianamente sencilla, un array con todas las palabras. En un alarde de originalidad la he llamado Gooset.</p>
<p>Para ello he hecho uso de <a href="http://simplehtmldom.sourceforge.net/">PHP Simple HTML DOM Parser</a>, que es una clase para parsear html (recomendada 100%).</p>
<p>Despu&eacute;s he hecho la clase y en el constructor ya obtengo todo el conjunto, de tal forma que solo hace falta llamar al m&eacute;todo <em>get_set</em> para que nos lo devuelva en un array.</p>
<p>La clase en si es muy simple, de todas formas si tienes alguna duda no dudes en usar los comentarios</p>
<h1>Uso</h1>
<p></br ></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./gooset.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$obj_gooset</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> gooset<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'bmw'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ferrari'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$obj_gooset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_set</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$elemento</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$elemento</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/br &gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Salida:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">bmw 
ferrari 
ford
honda
audi
hyundai
jaguar
chrysler
chevrolet
jeep
kia
...</pre></td></tr></table></div>

<p>El m&aacute;ximo de par&aacute;metros son 5. Con un n&uacute;mero mayor el resultado no cambia, as&iacute; que en ese caso se devuelve un error a trav&eacute;s de una expepci&oacute;n, lo que es un punto a favor, puesto que despu&eacute;s de eso no tenemos que comprobar nada (en PHP el script se para cuando se eleva una excepci&oacute;n).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./gooset.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$obj_gooset</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> gooset<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'bmw'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ferrari'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'mercedes'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'audi'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'hummer'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'jaguar'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$obj_gooset</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_set</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$elemento</span><span style="color: #009900;">&#41;</span>
	<span style="color: #b1b100;">print</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$elemento</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/br &gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Salida:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">Error de uso: 5 elementos máximo</pre></td></tr></table></div>

<h1>Descarga desde GitHub</h1>
<div class="desc_clase"><a href="http://github.com/polargeek/PHP-Google-Sets/blob/master/gooset.php"><img src="http://static.polargeek.net/uploads/coding_128_clase.png" alt="" style="width: 128px; padding-top: 12px;"/></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.polargeek.net/php-google-sets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Oficinas de Google</title>
		<link>http://www.polargeek.net/oficinas-de-google/</link>
		<comments>http://www.polargeek.net/oficinas-de-google/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 17:34:48 +0000</pubDate>
		<dc:creator>José</dc:creator>
				<category><![CDATA[Inspiración]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[oficinas]]></category>

		<guid isPermaLink="false">http://maxgeek.wordpress.com/?p=214</guid>
		<description><![CDATA[- Mountain View California, Estados Unidos (GooglePlex) Cuarteles generales de Google. También llamado GooglePlex (por Google y Complex). 47,038 m² de complejo adquiridos por Google. Tiene paneles solares que proporcionan casi un 30% de la energía necesaria para estas oficinas. Buscando sus coordenadas Google Maps podemos verlo mejor, además con Street View nos damos cuenta [...]]]></description>
			<content:encoded><![CDATA[<h4>- Mountain View California, Estados Unidos (GooglePlex)</h4>
<p>Cuarteles generales de Google. También llamado GooglePlex (por Google y Complex). 47,038 m² de complejo adquiridos por Google. Tiene paneles solares que proporcionan casi un 30% de la energía necesaria para estas oficinas. Buscando <a href="http://maps.google.com/?q=37.423156,-122.084917+(Google%20Inc.)&amp;hl=en" target="_blank">sus coordenadas Google Maps</a> podemos verlo mejor, además con Street View nos damos cuenta que los empleados, cuando pasó el coche por allí estaban avisados.</p>
<p style="text-align: center;" align="center"><a href="http://www.flickr.com/photos/34505745@N00/350631669/"><img class="aligncenter size-full wp-image-216" title="Google Plex" src="http://static.polargeek.net/uploads/2009/06/2.jpg" alt="Google Plex" width="480" height="333" /></a></p>
<p align="center"><a href="http://www.flickr.com/photos/bryangreen/2306917494/in/set-72157604033641899/"><img class="aligncenter size-full wp-image-220" title="Google Plex 3" src="http://static.polargeek.net/uploads/2009/06/google-plex-3.jpg" alt="Google Plex 3" width="480" height="360" /></a></p>
<p align="center"><a href="http://www.flickr.com/photos/69283075@N00/389965805/"><img class="aligncenter" title="Google Plex 2" src="http://static.polargeek.net/uploads/2009/06/3.jpg" alt="Google Plex 2" width="500" height="375" /></a></p>
<h4>- Nueva York, Estados Unidos</h4>
<p>Las actividades desarrolladas aquí están más relacionadas con el producto y el diseño gráfico. Se nota ¿no?</p>
<p><span id="more-214"></span></p>
<p align="center"><a href="http://www.flickr.com/photos/jpwain/457681688/"><img class="size-full wp-image-221  aligncenter" title="google-nyc01" src="http://static.polargeek.net/uploads/2009/06/google-nyc01.jpg" alt="google-nyc01" width="480" height="360" /></a><br />
<a href="http://www.flickr.com/photos/jpwain/457681722/"><img class="size-full wp-image-222  aligncenter" title="google-nyc02" src="http://static.polargeek.net/uploads/2009/06/google-nyc02.jpg" alt="google-nyc02" width="480" height="361" /></a><br />
<a href="http://www.flickr.com/photos/jpwain/436758558/"><img class="size-full wp-image-223  aligncenter" title="google-nyc03" src="http://static.polargeek.net/uploads/2009/06/google-nyc03.jpg" alt="google-nyc03" width="480" height="360" /></a></p>
<p align="center">
<h4>- Zurich, Suiza</h4>
<p>Esta es una de las oficinas más divertidas, en el sentido de más cosas curiosas para el disfrute de los empleados. Si quieres ver más fotos <a href="http://picasaweb.google.com/zurich.office.images/ZurichOfficePhotos#" target="_blank">pincha aquí</a>.</p>
<p align="center"><a href="http://www.flickr.com/photos/25227298@N03/2383266568/in/set-72157604354775378/"><img class="size-full wp-image-231 aligncenter" title="zurich01" src="http://static.polargeek.net/uploads/2009/06/zurich01.jpg" alt="zurich01" width="480" height="318" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382435075/in/set-72157604354775378/"><img class="size-full wp-image-232 aligncenter" title="zurich02" src="http://static.polargeek.net/uploads/2009/06/zurich02.jpg" alt="zurich02" width="480" height="318" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2383269260/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-233" title="zurich04" src="http://static.polargeek.net/uploads/2009/06/zurich04.jpg" alt="zurich04" width="480" height="318" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382436029/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-236" title="zurich03" src="http://static.polargeek.net/uploads/2009/06/zurich03.jpg" alt="zurich03" width="480" height="318" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382437729/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-234" title="zurich05" src="http://static.polargeek.net/uploads/2009/06/zurich05.jpg" alt="zurich05" width="480" height="360" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382439155/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-235" title="zurich06" src="http://static.polargeek.net/uploads/2009/06/zurich06.jpg" alt="zurich06" width="480" height="360" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382441043/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-237" title="zurich07" src="http://static.polargeek.net/uploads/2009/06/zurich07.jpg" alt="zurich07" width="480" height="318" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382439739/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-238" title="zurich08" src="http://static.polargeek.net/uploads/2009/06/zurich08.jpg" alt="zurich08" width="480" height="360" /></a><br />
<a href="http://www.flickr.com/photos/25227298@N03/2382439739/in/set-72157604354775378/"><img class="aligncenter size-full wp-image-239" title="zurich09" src="http://static.polargeek.net/uploads/2009/06/zurich09.jpg" alt="zurich09" width="480" height="360" /></a></p>
<h4>- Santa Mónica Arizona, Estados Unidos</h4>
<p>Aquí se resuelven los problemas principales en los que pensamos cuando nos imaginamos a los ingenieros de Google: Youtube, Google AdSense, calidad en las búsquedas&#8230;.</p>
<p align="center"><a href="http://www.flickr.com/photos/72609409@N00/438245164/"><img class="aligncenter" title="Arizona 1" src="http://static.polargeek.net/uploads/2009/06/az01.jpg" alt="Arizona 1" width="480" height="360" /></a><br />
<a href="http://www.flickr.com/photos/uicukie/340277923/in/set-72157594452635667/"><img class="aligncenter" title="Arizona 2" src="http://static.polargeek.net/uploads/2009/06/az02.jpg" alt="+" width="480" height="319" /></a><br />
<a href="http://www.flickr.com/photos/uicukie/340287738/in/set-72157594452635667/"><img class="aligncenter" title="sm01" src="http://static.polargeek.net/uploads/2009/06/sm01.jpg" alt="sm01" width="333" height="500" /></a><br />
<a href="http://www.flickr.com/photos/uicukie/340286340/in/set-72157594452635667/"><img class="aligncenter" title="sm02" src="http://static.polargeek.net/uploads/2009/06/sm02.jpg" alt="sm02" width="480" height="319" /></a><br />
<a href="http://www.flickr.com/photos/uicukie/340278667/in/set-72157594452635667/"><img class="aligncenter" title="sm03" src="http://static.polargeek.net/uploads/2009/06/sm03.jpg" alt="sm03" width="480" height="319" /></a></p>
<p>¿Conoces un sitio mejor donde trabajar?</p>
<p>Vía | <a href="http://www.elmundo.es/albumes/2008/03/07/google_zurich/" target="_blank">www.elmundo.es</a></p>
<p>Vía | <a href="http://www.fayerwayer.com/2008/04/oficinas-de-google-en-zurich-desde-donde-no-estoy-escribiendo-este-post/" target="_blank">http://www.fayerwayer.com</a></p>
<p>Vía | <a href="http://www.flickr.com" target="_blank">www.flickr.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.polargeek.net/oficinas-de-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
