<?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>Neleste 2.0 &#187; Tutos</title>
	<atom:link href="http://www.neleste.com/category/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neleste.com</link>
	<description>Información sobre Desarrollo Web</description>
	<lastBuildDate>Thu, 05 Jan 2012 11:00:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FATAL: Ident authentication failed for user XXXXX</title>
		<link>http://www.neleste.com/fatal-ident-authentication-failed-for-user/</link>
		<comments>http://www.neleste.com/fatal-ident-authentication-failed-for-user/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 14:54:04 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Tutos]]></category>
		<category><![CDATA[postgreSQL]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=207</guid>
		<description><![CDATA[He instalado postgres en un servidor CentOS, luego he creado el usuario, contraseña y bbbdd. Pero si me intento conectar por PHP, shell o navicat usando la siguiente sintaxis:
psql -d mibbdd -U usuario -W 
Me devuelve el siguinte error:
psql: FATAL: Ident authentication failed for user "username"
¿Como corregir este error?
Abrimos el fichero de configuración de postgres: [...]]]></description>
			<content:encoded><![CDATA[<p>He instalado postgres en un servidor CentOS, luego he creado el usuario, contraseña y bbbdd. Pero si me intento conectar por PHP, shell o navicat usando la siguiente sintaxis:</p>
<pre>psql -d mibbdd -U usuario -W </pre>
<p>Me devuelve el siguinte error:</p>
<pre>psql: FATAL: Ident authentication failed for user "username"</pre>
<p>¿Como corregir este error?<br />
Abrimos el fichero de configuración de postgres: /var/lib/pgsql/data/pg_hba.conf :</p>
<pre># vi /var/lib/pgsql/data/pg_hba.conf</pre>
<p>El fichero controla</p>
<ol>
<li>Desde que host se permite conectar.</li>
<li>Que clientes están autentificados.</li>
<li>Que usuario the postgres pueden usar.</li>
<li>A qué BBDD pueden acceder</li>
</ol>
<p>Por defecto, PostgreSQL usa autentificación basada en IDENT. Todo lo que debes hacer es permitir al usuario y contraseña que utilizas para tu conexión. IDENT nunca permitirá que entres a través de las opciones -U y -W. Concatena el permiso al fichero para que puedan entrar todos los usuarios del localhost.</p>
<pre>local	all	all	trust
host	all	127.0.0.1/32	trust</pre>
<p>Guarda y cierra el fichero, luego restaura el servicio postgreSQL:</p>
<pre># service postgresql restart</pre>
<p>Ahora, deberías ser capaz de entrar usando el comando:</p>
<pre># psql -d myDb -U username -W</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/fatal-ident-authentication-failed-for-user/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Módelo Vista Controlador y algunas variantes</title>
		<link>http://www.neleste.com/modelo-vista-controlador-y-algunas-variantes/</link>
		<comments>http://www.neleste.com/modelo-vista-controlador-y-algunas-variantes/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:20:39 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[modelo vista controlador]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=194</guid>
		<description><![CDATA[Flex es un framework creado para poder llegar a usar otros frameworks. Nos centraremos en este artículo en la base de otros frameworks, como PureMVC o Cairngorm, esta característica es el patrón Módelo Vista Controlador (MVC). Analizaremos este patrón que tanto nos gusta y entonces veremos algunas otras aproximaciones para compararlas y adjuntaré proyectos de [...]]]></description>
			<content:encoded><![CDATA[<p>Flex es un framework creado para poder llegar a usar otros frameworks. Nos centraremos en este artículo en la base de otros frameworks, como PureMVC o Cairngorm, esta característica es el patrón Módelo Vista Controlador (MVC). Analizaremos este patrón que tanto nos gusta y entonces veremos algunas otras aproximaciones para compararlas y adjuntaré proyectos de ejemplo para entender el concepto que representa cada uno.</p>
<p><strong>Módelo Vista Controlador (MVC)</strong></p>
<p>El Módelo Vista Controlador es el patrón arquitectural más usado en la ingeniería del software. Este patrón nos separa el modelos de datos, el modelo de la capa de presentación (vista) y de la parte de control.</p>
<p><img title="Modelo Vista Controlador" src="http://www.neleste.com/wp-content/uploads/2010/07/MVC-300x199.png" alt="" width="300" height="199" /></p>
<p>De este modelo podemos decir, que gestiona la información y advierte a las otras capas de cambios en sus datos. Representa el dominio de datos. La vista representa gráficamente el modelo para que el usuario pueda interactuar él, es la interfaz de datos. El controlador recibe las peticiones de la vista y le responde actualizando el modelo de datos. Debido a que la vista observa los cambios en el modelo de datos, esta actualiza sus componentes en función de éstos.</p>
<p>La finalidad de este patrón será la de conseguir un bajo acoplamiento en sus aplicaciones. Este lo logra desacoplando los modelos de las vistas, reduce la complejidad en el diseño arquitectural e incrementando la flexbilidad y mantenimiento del código.</p>
<p>La aplicación para el ejemplo será esta:<br />
<img title="Aplicacion" src="http://www.neleste.com/wp-content/uploads/2010/07/app-300x170.png" alt="" width="300" height="170" /></p>
<p><strong>Módelo Vista Presentación (MVP)</strong></p>
<p><img class="alignnone size-full wp-image-197" title="MVP-300x200" src="http://www.neleste.com/wp-content/uploads/2010/07/MVP-300x200.png" alt="Módelo Vista Presentación" width="300" height="200" /></p>
<p>Este patrón es un derivado del anterior. Está centrado en la interfaz de usuario y también pensado para facilitar el la unidad de testeo y mejorar la separación conceptos en la presentación de la lógica del programa. Genera una implementación limipia del patrón Observer entre el modelo y la vista.</p>
<p>El modelo funciona como una interface que define los datos que serán mostrados luego en la vista. La vista es una interface que nos muestra los datos del modelo y lanza llamadas a la capa presentacion para que luego actúe con los datos. La presentacion recupera los datos del modelo y los modera y hacia la vista.</p>
<p>Normalmente, la vista instancia su objecto presentacion con el que se relacionará y luego le proporciona una referencia suya.<br />
El grado de lógica permitida en las vistas variara en función de la implementación que usemos: podremos hacer que la vista sea totalmente pasiva, alegando todas las operaciones a la presentacion. Otras versiones del MVP nos permiten más autonomía a la vista.</p>
<p>Si nos centramos en un punto de vista de capas, la presentacion se consideraría la capa de aplicación entre el modelo y la vista.</p>
<p>El creador del patrón MVP, Martin Fowler, decidió separarlo en dos patrones de presentación que ya hemos tratado en madeinflex, son el supervising presenter y el passive view.</p>
<p><strong>MVC vs MVP</strong></p>
<p>Los une la idea de que el modelo alberga los datos y la vista los representa. Tanto el controller como el presenter se encargan de coordinar la aplicación y es en estas clases donde está la diferencia: el Presenter tiene más responsabilidades, maneja los datos del modelo y trata las propiedades de la vista que recibirá como parámetro.</p>
<p><strong>Modelo Vista Adaptación (MVA)</strong></p>
<p>Como en los dos patrones anteriores, se pretende separar el modelo de datos de la vista para poder realizar cambios en la vista y que estos no afecten al modelo de datos.</p>
<p>MVA y MVC intentan solucionar este problema con dos aproximaciones diferentes:</p>
<ul>
<li>MVC mantiene un estructura triangular entre el modelo, la vista y el controller, en la cual las tres entidades serían los vértices del triángulo y las aristas las vías de comunicación entre éstas.</li>
<li>MVA lo soluciona de otra forma, lo hace mediante una estructura lineal en la cual en una punta estará la vista, en la otra el modelo y en el centro el adapter o mediating controller, pero se evita la comunicación directa entre la vista y el modelo.</li>
</ul>
<p>Así pués, en este modelo, la vista está totalmente separada del modelo de datos y estas entidades sólo se pueden comunicar a través el adapter, dicho de otro modo, sólo el adapter tiene conocimiento del modelo y de la vista.</p>
<p>Con esta separación de comportamientos, conseguiremos que una amplia variedad de vistas puedan acceder indirectamente al modelo de datos mediante el mismo adapter. Las vistas también se olvidan del modelo de datos, ya que es el adapter quien las comunica con éste.</p>
<p>Esto también nos permite poder usar diferentes adapters para cada par vista / modelo. Un ejemplo podría ser la aplicación de una entidad bancaria, para cada una de sus delegaciones, puede ser que con los mismos datos y la misma vista se tengan que manipular los datos de maneras diferentes, para eso podremos tener diferentes adapters sin tener que modificar ni la vista ni el modelo de los datos.</p>
<p>MVA también es conocido como &#8220;mediating-controller&#8221;. Hay quien cree que como base sigue la misma idea que MVP, aunque hay gurús del software que se matan y defienden diferencias entre ellos.</p>
<p>Aquí os dejo un <a rel="nofollow" href="http://rogue-development.com/uploads/model_adapter/ModelAdapterExample.html">enlace de un proyecto</a> de ejemplo para que podais analizarlo vosotros mismos.</p>
<p>Autor: Sergi Dote Teixidor </p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/modelo-vista-controlador-y-algunas-variantes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Optimizando nuestro código PHP</title>
		<link>http://www.neleste.com/optimizando-nuestro-codigo-php/</link>
		<comments>http://www.neleste.com/optimizando-nuestro-codigo-php/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 08:56:50 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Tutos]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=178</guid>
		<description><![CDATA[1 – Inicializa las variables antes de utilizarlas. Estás, se inicializan solas, pero con un coste de tiempo.
2 – Debes estar en constante aprendizaje, cada vez el lenguage PHP se hace más fuerte, y salen nuevas características interesantes sobre este..
3 – Incrementar una variable en el método de una clase es lo mas rápido, que [...]]]></description>
			<content:encoded><![CDATA[<p>1 – Inicializa las variables antes de utilizarlas. Estás, se inicializan solas, pero con un coste de tiempo.</p>
<p>2 – Debes estar en constante aprendizaje, cada vez el lenguage PHP se hace más fuerte, y salen nuevas características interesantes sobre este..</p>
<p>3 – Incrementar una variable en el método de una clase es lo mas rápido, que incrementar una variable global.</p>
<p>4 – Incrementar una variable global a un fichero puede llegar a ser hasta dos veces más lento que en un entorno local.</p>
<p>5 – Incrementar una variable local en un método es lo más rápido. Casi lo mismo que llamar a una variable local en una función.</p>
<p>6 – Incrementar una variable indefinida puede ser hasta 9 ó 10 veces más lento que una ya declarada.</p>
<p>7 – Declarar una variable global, a pesar de que no la llegues a utilizar en ninguna función hace más lento tu script, PHP tiene que chequear si la variable existe.</p>
<p>8 – Llamar a una función a una función con un parametro puede tomar aproximadamente el mismo tiempo que de 7 a 8 operaciones con variables locales, y esa misma llamada a un método supondrían unas 15 operaciones. Aún así, es más rapido que usar variables globales.</p>
<p>9 – Si necesitas saber el timestamp (tiempo de ejecución) de acceso a un script, considera utilizar la variable $_SERVER['REQUEST_TIME'] en lugar de time(), es mucho más rapido.</p>
<p>10 – $row['id'] es hasta 7 veces más rápido que el mecanismo $row[id].</p>
<p>11 – $localvar++ es hasta 15 veces más rápido que function inc(){ $localvar++; }, debido a que debe acceder a la función.</p>
<p>12 – Los scripts PHP se compilan/interpretan cada vez que son ejecutados, a no ser se guarde el código objeto en un cache. Las herramientas de compilación de PHP pueden incrementan el rendimiento hasta un 100%.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/optimizando-nuestro-codigo-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Validar ccc con PHP</title>
		<link>http://www.neleste.com/validar-ccc-con-php/</link>
		<comments>http://www.neleste.com/validar-ccc-con-php/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 09:46:18 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Tutos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ccc]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=177</guid>
		<description><![CDATA[Identificación de una cuenta corriente o libreta de ahorros
En España las cuentas corrientes y las libretas de ahorros tienen una identidad única que se compone de 20 dígitos, el denominado Código Cuenta Cliente. Este código identifica a la entidad bancaria, sucursal y cuenta de forma única de tal modo que actúa como dirección de la [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Identificación de una cuenta corriente o libreta de ahorros</strong><br />
En España las cuentas corrientes y las libretas de ahorros tienen una identidad única que se compone de 20 dígitos, el denominado Código Cuenta Cliente. Este código identifica a la entidad bancaria, sucursal y cuenta de forma única de tal modo que actúa como dirección de la cuenta para la realización de cualquier operación financiera.</p>
<p><strong>Esquema del código de identificación de una cuenta bancaria</strong></p>
<p style="text-align: center;"><img class="aligncenter" style="text-align: center;" title="esquema ccc" src="http://www.neleste.com/wp-content/uploads/2010/01/esquema_codigo_cuenta_cliente.gif" alt="esquema ccc" /></p>
<p><strong>Proceso de cálculo de los dígitos de control</strong><br />
a) Dígito de control de la entidad y sucursal</p>
<table border="1">
<tbody>
<tr>
<td><strong>Posicion</strong></td>
<td><strong>Factor</strong></td>
<td><strong>Datos</strong></td>
<td><strong>Operación</strong></td>
<td><strong>Resultado</strong></td>
</tr>
<tr>
<td>Unidad:</td>
<td>6</td>
<td>8</td>
<td>6x8</td>
<td>48</td>
</tr>
<tr>
<td>Decena:</td>
<td>3</td>
<td>3</td>
<td>3x3</td>
<td>9</td>
</tr>
<tr>
<td>Centena:</td>
<td>7</td>
<td>3</td>
<td>7x3</td>
<td>21</td>
</tr>
<tr>
<td>Unidad de millar:</td>
<td>9</td>
<td>0</td>
<td>9x0</td>
<td>0</td>
</tr>
<tr>
<td>Decena de millar:</td>
<td>10</td>
<td>7</td>
<td>10x7</td>
<td>70</td>
</tr>
<tr>
<td>Centena de millar:</td>
<td>5</td>
<td>7</td>
<td>5x7</td>
<td>35</td>
</tr>
<tr>
<td>Unidad de millón:</td>
<td>8</td>
<td>0</td>
<td>8x0</td>
<td>0</td>
</tr>
<tr>
<td>Decena de millón:</td>
<td>4</td>
<td>2</td>
<td>4x2</td>
<td>8</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><strong>Suma</strong></td>
<td>191</td>
</tr>
</tbody>
</table>
<p>Cálculos:</p>
<p>191/11 = 17; Resto = 191-(17x11) = 4; Dígito = 11-4 = 7</p>
<p>- Si el resultado es 11, el dígito buscado es 0</p>
<p>- Si el resultado es 10, el dígito buscado es 1</p>
<p>b) Dígito de control de la cuenta</p>
<table border="1">
<tbody>
<tr>
<td><strong>Posicion</strong></td>
<td><strong>Factor</strong></td>
<td><strong>Datos</strong></td>
<td><strong>Operación</strong></td>
<td><strong>Resultado</strong></td>
</tr>
<tr>
<td>Unidad:</td>
<td>6</td>
<td>1</td>
<td>6x1</td>
<td>6</td>
</tr>
<tr>
<td>Decena:</td>
<td>3</td>
<td>2</td>
<td>3x2</td>
<td>6</td>
</tr>
<tr>
<td>Centena:</td>
<td>7</td>
<td>3</td>
<td>7x3</td>
<td>21</td>
</tr>
<tr>
<td>Unidad de millar:</td>
<td>9</td>
<td>4</td>
<td>9x4</td>
<td>36</td>
</tr>
<tr>
<td>Decena de millar:</td>
<td>10</td>
<td>5</td>
<td>10x5</td>
<td>50</td>
</tr>
<tr>
<td>Centena de millar:</td>
<td>5</td>
<td>2</td>
<td>5x2</td>
<td>10</td>
</tr>
<tr>
<td>Unidad de millón:</td>
<td>8</td>
<td>0</td>
<td>8x0</td>
<td>0</td>
</tr>
<tr>
<td>Decena de millón:</td>
<td>4</td>
<td>0</td>
<td>4x0</td>
<td>0</td>
</tr>
<tr>
<td>Centena de millón:</td>
<td>2</td>
<td>1</td>
<td>2x1</td>
<td>2</td>
</tr>
<tr>
<td>Unidad de millar de millón:</td>
<td>1</td>
<td>3</td>
<td>1x3</td>
<td>3</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td><strong>Suma</strong></td>
<td>134</td>
</tr>
</tbody>
</table>
<p>Cálculos:</p>
<p>134/11 = 12; Resto = 191-(12x11) = 2; Dígito = 11-2 = 9</p>
<p>- Si el resultado es 11, el dígito buscado es 0</p>
<p>- Si el resultado es 10, el dígito buscado es 1<br />
<strong>A continuación, implementaremos el algoritmo en php</strong></p>
<div class="igBar"><span id="lphp-2"><a href="#" onclick="javascript:showPlainTxt('php-2'); return false;">C&oacute;digo</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-2">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">function</span> ccc_valido<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">//$ccc sería el 20770338793100254321</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$valido</span> = <span style="color:#000000; font-weight:bold;">true</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">///////////////////////////////////////////////////</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">//&nbsp; &nbsp; Dígito de control de la entidad y sucursal:</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">//Se multiplica cada dígito por su factor de peso</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">///////////////////////////////////////////////////</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> = <span style="color:#CC66CC;color:#800000;">0</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">4</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">8</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">5</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">10</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">4</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">9</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">5</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">7</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">6</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">3</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">7</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">6</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$division</span> = <a href="http://www.php.net/floor"><span style="color:#000066;">floor</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$suma</span>/<span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$resto</span>&nbsp; &nbsp; = <span style="color:#0000FF;">$suma</span> - <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$division</span>&nbsp; * <span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$primer_digito_control</span> = <span style="color:#CC66CC;color:#800000;">11</span> - <span style="color:#0000FF;">$resto</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$primer_digito_control</span> == <span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$primer_digito_control</span> = <span style="color:#CC66CC;color:#800000;">0</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$primer_digito_control</span> == <span style="color:#CC66CC;color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$primer_digito_control</span> = <span style="color:#CC66CC;color:#800000;">1</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$primer_digito_control</span> != <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">8</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$valido</span> = <span style="color:#000000; font-weight:bold;">false</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">///////////////////////////////////////////////////</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dígito de control de la cuenta:</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">///////////////////////////////////////////////////</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> = <span style="color:#CC66CC;color:#800000;">0</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">1</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">2</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">12</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">4</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">13</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">8</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">14</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">5</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">15</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">10</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">16</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">9</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">17</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">7</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">18</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">3</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$suma</span> += <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">19</span><span style="color:#006600; font-weight:bold;">&#93;</span> * <span style="color:#CC66CC;color:#800000;">6</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$division</span> = <a href="http://www.php.net/floor"><span style="color:#000066;">floor</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$suma</span>/<span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$resto</span> = <span style="color:#0000FF;">$suma</span>-<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$division</span>&nbsp; * <span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$segundo_digito_control</span> = <span style="color:#CC66CC;color:#800000;">11</span>- <span style="color:#0000FF;">$resto</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$segundo_digito_control</span> == <span style="color:#CC66CC;color:#800000;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$segundo_digito_control</span> = <span style="color:#CC66CC;color:#800000;">0</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$segundo_digito_control</span> == <span style="color:#CC66CC;color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$segundo_digito_control</span> = <span style="color:#CC66CC;color:#800000;">1</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#0000FF;">$segundo_digito_control</span> != <span style="color:#0000FF;">$ccc</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#CC66CC;color:#800000;">9</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#0000FF;">$valido</span> = <span style="color:#000000; font-weight:bold;">false</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">return</span> <span style="color:#0000FF;">$valido</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/validar-ccc-con-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Buscar y Reemplazar en Linux</title>
		<link>http://www.neleste.com/buscar-y-reemplazar-en-linux/</link>
		<comments>http://www.neleste.com/buscar-y-reemplazar-en-linux/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 09:48:27 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutos]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=163</guid>
		<description><![CDATA[Esta es una instrucción sencilla que quería compartir, y es que muchas veces me ha salvado incluso la vida, o por lo menos me ha quitado un dolor de cabeza, puesto que cambiar una palabra en un fichero es fácil, pero cuando se tratan de 100 ficheros...
grep -rlZ 'textoareemplazar' /ruta/ &#124; xargs -r0 perl -pi [...]]]></description>
			<content:encoded><![CDATA[<p>Esta es una instrucción sencilla que quería compartir, y es que muchas veces me ha salvado incluso la vida, o por lo menos me ha quitado un dolor de cabeza, puesto que cambiar una palabra en un fichero es fácil, pero cuando se tratan de 100 ficheros...</p>
<p><code>grep -rlZ 'textoareemplazar' /ruta/ | xargs -r0 perl -pi -e 's/textoareemplazar/textonuevo/g'</code></p>
<p>Sirve sobre todo en servidores con mucha "morralla histórica" en la que queramos cambiar una frase/instrucción que se repite. Eso si, cuidado con su uso, si reemplazamos algo que no debemos podemos tener un caos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/buscar-y-reemplazar-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cajas de Igoogle</title>
		<link>http://www.neleste.com/cajas-de-igoogle/</link>
		<comments>http://www.neleste.com/cajas-de-igoogle/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 08:53:25 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[cajas]]></category>
		<category><![CDATA[igoogle]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=155</guid>
		<description><![CDATA[Llevo bastante tiempo intentando lograr hacer el efecto de arrastrar y soltar de las cajas de igoogle, hay poquísima información en la red respecto a cómo se consigue crear este efecto, a pesar de que es algo  muy interesante a nivel de diseño.

¿Como he conseguido lograr el efecto? La base de todo es la [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo bastante tiempo intentando lograr hacer el efecto de arrastrar y soltar de las cajas de igoogle, hay poquísima información en la red respecto a cómo se consigue crear este efecto, a pesar de que es algo  muy interesante a nivel de diseño.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-156 aligncenter" title="cajaigoogle" src="http://www.neleste.com/wp-content/uploads/2008/10/cajaigoogle.gif" alt="Cajas Igoogle" width="371" height="213" /></p>
<p>¿Como he conseguido lograr el efecto? La base de todo es la clase <a rel="nofollow" href="http://www.prototypejs.org/download"> prototype</a> que podeis descargar desde ese link.  Prototype es un framework hecho en  JavaScript que se sirve para ayudar a un desarrollo sencillo y dinámico de aplicaciones web (como cualquier framework) con el uso de técnicas Ajax.<br />
Luego mediante CSS, y definiendo las capas en el init() de javascript (se encuentr todo en el fichero index.html) podremos adaptarlo como queramos.</p>
<p>Enlaces |<a title="Cajas de Igoogle" href="http://www.neleste.com/demos/igoogle/">Demo</a> - <a rel="nofollow" href="http://www.prototypejs.org/download">Prototype</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/cajas-de-igoogle/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Estructurar una web con css</title>
		<link>http://www.neleste.com/estructurar-una-web-con-css/</link>
		<comments>http://www.neleste.com/estructurar-una-web-con-css/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 14:08:39 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tutos]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=152</guid>
		<description><![CDATA[Cuando maquetamos una web, lo primero siempre es tener una estructura definida bien sólida 2 columnas -3 filas, 4 filas- 2 columna,.. etc. Siempre he defendido el trabajo sin tablas, y si eres iniciado y crear estas filas y columnas te cuesta, puedes optar por descargártelas desde  este link. Los chicos de IronMyers se han molestado [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando maquetamos una web, lo primero siempre es tener una estructura definida bien sólida 2 columnas -3 filas, 4 filas- 2 columna,.. etc. Siempre he defendido el trabajo sin tablas, y si eres iniciado y crear estas filas y columnas te cuesta, puedes optar por descargártelas desde  <a title="Estructura Css" rel="nofollow" href="http://layouts.ironmyers.com/100_percent_Layouts/">este link</a>. Los chicos de IronMyers se han molestado en crear una serie de plantillas con muchas combinaciones.</p>
<p style="text-align: center;"><img class="aligncenter" style="margin: 0 0 0.5em 0.5em;" src="http://www.neleste.com/wp-content/uploads/2008/10/estructuras-300x1971.jpg" alt="estructuras" width="419" height="276" align="center" /></p>
<p>Como verás, el código quedará más limpio y estructurado, con la consecuente perdida de peso en nuestro site que nos ayudará a que cargue más rápido.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/estructurar-una-web-con-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modelo Vista Controlador</title>
		<link>http://www.neleste.com/modelo-vista-controlador/</link>
		<comments>http://www.neleste.com/modelo-vista-controlador/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 13:44:47 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Artículos]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[modelo vista controlador]]></category>
		<category><![CDATA[mvc]]></category>

		<guid isPermaLink="false">http://www.neleste.com/?p=148</guid>
		<description><![CDATA[Posiblemente, si te dedicas a la programación, habrás oido hablar del Modelo Vista Controlador (MVC), ese mismo que tus profesores te insistían en usar tanto. El objetivo de este tipo de modelos es de intentar repetirse lo menos posible y de tenerlo todo organizado o sea hacer una distinción entre la lógica de toda la [...]]]></description>
			<content:encoded><![CDATA[<p>Posiblemente, si te dedicas a la programación, habrás oido hablar del Modelo Vista Controlador (MVC), ese mismo que tus profesores te insistían en usar tanto. El objetivo de este tipo de modelos es de intentar repetirse lo menos posible y de tenerlo todo organizado o sea hacer una distinción entre la lógica de toda la aplicación y presentación.</p>
<p><strong>Los Fundamentos básicos del MVC son los siguientes:</strong></p>
<ul>
<li>Modelo: Esta sirve como representación específica de toda la información con la cual el sistema va a trabajar. La lógica de datos nos puede llegar a asegurar la integridad de ellos y nos permitirá derivar nuevos datos. ¿Como lo hace?  Pues , no permitiendonos comprar un número de unidades negativas, y también calculando si hoy puede ser el cumpleaños del usuario/a o también los totales, impuestos o importes en un sistema de venta.</li>
</ul>
<ul>
<li>Vista: Presenta el modelo con el que va a interactuar el usuario, más conocida como interfaz.</li>
</ul>
<ul>
<li>Controlador: El controlador responde más bien a eventos, normalmente son acciones que el usuario invoca, implica cambios en el modelo y también en la vista (interfaz).</li>
</ul>
<p><strong>¿Cuáles son los origenes del Modelo Vista Controlador?</strong></p>
<p>Buscando un poco de información historica, podemos decir que este fue descrito por primera vez en 1979 por Trygve Reenskaug (hace ya basante tiempo, para el sector que tratamos), trabajador de Smalltalk, en unos laboratorios de gran investigación de Xerox.</p>
<p>La implementación del modelo fue descrita en <a rel="nofollow" href="http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html">este documento</a>.</p>
<p><strong>Frameworks MVC</strong></p>
<p>Los MVC cumplen perfectamente el fin particular de cualquier <a href="http://www.neleste.com/codeigniter-framework-php/">frameworks</a>, (una estructura bien definida que da soporte a un proyecto web también nos ayuda a que nuestro proyecto sea organizado y bien desarrollado).<br />
<strong>Diagrama de Flujo de un framework MVC</strong></p>
<p><img class="alignnone size-full wp-image-149" title="Modelo Vista Controlador" src="http://www.neleste.com/wp-content/uploads/2008/07/mvc1.png" alt="Modelo Vista Controlador" width="500" height="147" /><br />
<strong>Modelo Vista Controlador</strong></p>
<p>1. El index.php nos inicializa el nucleo de nuestra aplicación.<br />
2. El enrutador nos examina nuestra petición HTTP y nos ayuda a determinar que se debe de hacer.<br />
3. Si existe, la cache nos devuelve nuestro archivo HTML sin necesidad de pasar por el sistema , ahorrandos la carga que esto nos conlleva.<br />
4. La Seguridad, ya que antes de que se cargue el controlador se filtran los datos enviados para que estos puedan resultar fiables.<br />
5. El controlador nos carga el modelo, librerias, helpers, plugins y todos los demás recursos necesarios para satisfacer nuestra petición.<br />
6. Finalmente, cuando la Vista está renderizada, esta es enviada al navegador, encontes si la cache se encuentra habilitada, se almacena el resultado para la próxima ocación que la URL sea servida.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/modelo-vista-controlador/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Ajax en php</title>
		<link>http://www.neleste.com/ajax-en-php/</link>
		<comments>http://www.neleste.com/ajax-en-php/#comments</comments>
		<pubDate>Thu, 29 May 2008 17:19:23 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[Tutos]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.neleste.com/ajax-en-php/</guid>
		<description><![CDATA[Hoy en día resulta algo feo ver una página que no utiliza ajax, además que a los usuarios no nos gusta mucho ver como nuestras páginas vuelven a cargar a la hora de enviar un formulario, subir una imagen etc, etc.
La manera más sencilla de empezar a utilizar ajax, es con la clase xajax, que [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en día resulta algo feo ver una página que no utiliza ajax, además que a los usuarios no nos gusta mucho ver como nuestras páginas vuelven a cargar a la hora de enviar un formulario, subir una imagen etc, etc.</p>
<p>La manera más sencilla de empezar a utilizar ajax, es con la clase xajax, que nos trae un cumulo de funciones que simplifican nuestra tarea. Está bastante bien implementada, y no le falta de nada. A continuación explicaré por qué resulta tan sencillo:<br />
<code>&lt;?php include './xajax/xajax_core/xajax.inc.php';$xajax = new xajax();$rqstAdd =&amp; $xajax-&gt;register(XAJAX_FUNCTION, 'doAdd');</code></p>
<p><code>$rqstReset =&amp; $xajax-&gt;register(XAJAX_FUNCTION, 'doReset');</code></p>
<p><code>// set the parameters$rqstAdd-&gt;setParameter(0, XAJAX_JS_VALUE, 39);</code></p>
<p><code>$rqstAdd-&gt;setParameter(1, XAJAX_JS_VALUE, 571);</code></p>
<p><code>$xajax-&gt;processRequest();</code></p>
<p><code>function doAdd($a, $b)</code><br />
<code>{</code></p>
<p><code>$response = new xajaxResponse();</code></p>
<p><code>$response-&gt;assign('answer', 'innerHTML', $a + $b);</code></p>
<p><code>$response-&gt;assign('reset', 'style.display', 'block');</code></p>
<p><code>return $response;</code></p>
<p><code>}</code></p>
<p><code>function doReset()</code></p>
<p><code>{</code></p>
<p><code>$response = new xajaxResponse();</code></p>
<p><code>$response-&gt;clear('answer', 'innerHTML');</code></p>
<p><code>$response-&gt;assign('reset', 'style.display', 'none');</code></p>
<p><code>return $response;</code></p>
<p><code>}</code></p>
<p><code>?&gt;</code><br />
Las funciones doreset y do add son las que proximamente podremos llamar desde cualquier parte de la pagina, sin necesidad de volver a cargarla!<br />
<code>&lt;form action="#" method="post"&gt;</code><br />
<code>&lt;input type="button" onclick="<strong>&lt;?php $rqstAdd-&gt;printScript(); ?&gt;</strong>" id="btnAdd" value="Click Me" /&gt;</code><br />
<code>&lt;input type="button" onclick="<strong>&lt;?php $rqstReset-&gt;printScript(); ?&gt;</strong>" id="btnReset" value="Reset" /&gt;</code><br />
<code>&lt;p id="answer"&gt;&lt;/p&gt;</code><br />
<code>&lt;/form&gt;</code></p>
<pre class="codeBlock" id="exampleSetup2"></pre>
<p>ahí esta el truco,  llamamos a las funciones en javascritp pero gracias a el objeto XmlHttpRequest, podemos interactuar con los ficheros php.</p>
<p>Link  | <a href="http://xajaxproject.org/" rel="nofollow">xajaxproject</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/ajax-en-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unos cuantos hacks css</title>
		<link>http://www.neleste.com/unos-cuantos-hacks-css/</link>
		<comments>http://www.neleste.com/unos-cuantos-hacks-css/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 13:42:27 +0000</pubDate>
		<dc:creator>juanra</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tutos]]></category>
		<category><![CDATA[hacks css]]></category>

		<guid isPermaLink="false">http://www.neleste.com/unos-cuantos-hacks-css/</guid>
		<description><![CDATA[Estoy totalmente en contra de los hacks css, siempre hay otro camino para conseguir el diseño que queramos (Por favor, no uses nunca tablas. ¡ese no es el camino!). Pero cuando no queda otro camino hay que usarlos, aquí dejo una lista de ellos.

_left barra delante de la propiedad  ejemplo:( .menu{ left:40em;_left:30em;}). La barra [...]]]></description>
			<content:encoded><![CDATA[<p>Estoy totalmente en contra de los hacks css, siempre hay otro camino para conseguir el diseño que queramos (Por favor, no uses nunca tablas. ¡ese no es el camino!). Pero cuando no queda otro camino hay que usarlos, aquí dejo una lista de ellos.</p>
<ul>
<li><code>_left barra delante de la propiedad  ejemplo:( .menu{ left:40em;_left:30em;}). La barra solo actua en IE6.</code></li>
<li><code>.left punto delante de la propiedad  ejemplo:( .menu{ left:40em;.left:30em;}). El punto actua tanto en IE6 e IE7.</code></li>
<li><code>.menu, x:-moz-any-link {left:40em}. Estilo solo para mozilla firefox 1.0 o superior.</code></li>
<li><code>@media screen and (-webkit-min-device-pixel-ratio:0) {.menu{ left:40em;.left:30em;}}. Solo para Safari y Opera</code></li>
</ul>
<p>Intenta evitarlos, normalmente un hack lleva a otros problemas de proporciones. Pero si vez que no queda otro remedio...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neleste.com/unos-cuantos-hacks-css/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

