Programación

Php - Html // Funciones

Enviado por konoyek el Mar, 14/04/2009 - 21:33.
Clasificado en:

hola en realidad estoy creando un codigo php pero lo que busco es ingresar variables dentro de formatos de campos de texto, es decir en input ejemplo:

<?
$a = 1 + 1

echo ""
?>

Como poner tu aplicación web en un CD-ROM: server2go

Enviado por clbustos el Vie, 30/01/2009 - 17:55.

Lo que es que te cobren la palabra de entregar una aplicación basada en web de uso interno. Lo que está en el proyecto es ley, ¿lo sabían?
Hace años me tocó entregar una aplicación web que debía ser "Instalable", así que me las apañe para crear un instalador propio basado en Nsis, en el cual a punta de expresiones regulares en php reemplazaba los archivos de configuración de mysql, apache y el mismo php, para que calzaran con la ruta de instalación. Era un poco engorroso de debuguear, pero funcionaba bien.

Tratando de no repetir la misma experiencia, y considerando que el cliente solamente querría verlo y consultar información de forma rápida, consideré que la opción de usarlo desde un CD sería la mejor. Buscando en la red, encontré varias opciones propietarias, pero una opción gratuita que me pareció bastante interesante fue Server2Go.

Pequeño agregador de feed RSS

Enviado por clbustos el Vie, 07/11/2008 - 00:19.

A petición de mi viejo amigo Christian, hice un pequeño agregador que permite mostrar los últimos post de un conjunto de feeds. Cuenta con las siguientes características:

  • Soporta feeds RSS y ATOM, gracias a XML_Feed_Parser, de PEAR
  • Permite definir el tiempo mínimo de actualización
  • Sólo actualiza los ítemes cuando es necesario
  • Se encuentra separada la lógica de actualización con la presentación. Esto permite poner en un cron la actualización y en la página la presentación

Acá va un pequeño test de uso

  1.  <?php
  2.  require_once("Agregador.php");
  3.  $ag = new Agregador(HOST, USER, PASSWORD, DATABASE);
  4.  
  5.  $feeds = array(
  6.   'http://www.coronelb.cl/feed/',
  7.   'http://dichatoaldia.cl/?feed=rss2',
  8.   'http://www.lajino.cl/noticias/?q=node/feed'
  9.  );
  10.  
  11.  $ag->cargar_feeds($feeds);
  12.  
  13.  $lista_feeds=$ag->ultimos_items($feeds);
  14.  
  15.  foreach($lista_feeds as $item) {
  16.   echo "<p>{$item['feed_title']}: <a href='{$item['item_link']}'>{$item['item_title']}</a> (".date("d-m-Y",$item['timestamp']).")</p>";
  17.  }
  18.  
  19.  ?>

Adjunte todas las bibliotecas necesarias en el zip, que pueden descargar aquí: Agregador.zip

Código para hacer edición en el lugar, con jQuery y Symfony

Enviado por clbustos el Vie, 10/10/2008 - 15:54.

Acostumbrado a usar jQuery y no teniendo en el plugin sfJqueryPlugin de Symfony las funciones para hacer edición en el lugar, bajé el plugin Another In-Place Editor, jQuery Plugin en su versión pack, lo agregué en /web/js/jq/ y agregué la siguiente función en /plugins/sfJqueryPlugin/lib/helper/jQueryHelper.php

  1.  <?php
  2.  function jq_input_in_place_editor_tag($element_id, $url, $options=array()) {
  3.   sfContext::getInstance()->getResponse()->addJavascript('jq/jquery.inplace.pack.js');
  4.   $values="url:'".url_for($url)."',params: 'ajax=yes'";
  5.   $textarea=false;
  6.   if(isset($options['rows'])) {
  7.   $textarea=true;
  8.   $values.=", textarea_rows: ".$options['rows'];
  9.   }
  10.   if(isset($options['cols'])) {
  11.   $textarea=true;
  12.   $values.=", textarea_cols: ".$options['cols'];
  13.   }
  14.   if($textarea) {
  15.   $values.=", field_type: 'textarea'";
  16.   }
  17.   $code="$(\"#$element_id\").editInPlace({".$values."});";
  18.   return jq_javascript_tag($code);
  19.  }
  20.  ?>

La función tiene los mismos argumentos de input_in_place_editor_tag, así que puede ser utilizada sin mayores cambios

Alegrías de Geek: CDF para Chi-cuadrado calculado y por simulación

Enviado por clbustos el Vie, 29/08/2008 - 00:10.

Como me toca trabajar haciendo estadísticas de bases de datos variadas, siempre había tenido la idea de programar en ruby (mi lenguaje de preferencia) las funciones de formateo y estadísticas que con más frecuencia utilizaba. En particular, me interesaba implementar las funciones de estimación de parámetros para muestras estratificadas y por conglomerado, que ningún paquete estadístico que conozca ofrece fácilmente.

Hace un par de semanas comencé a trabajar en el paquete estadístico, el cual llamé 'RubySS'. Ya tengo listas la clase Vector (similar a la Vector de la biblioteca estándar) y Dataset, con una extensión para calcular las distribuciones acumuladas para las distribuiones chi, t y normal, entre otras. Utiliza Ruby/GSL si está disponible, para acelerar los cálculos y, como corresponde, casi todas las funciones tienen su test de regresión correspondiente.

Closures: respuesta a Vekman

Enviado por clbustos el Vie, 01/08/2008 - 11:49.
Clasificado en:

Leyendo el comentario de Venkman, debo reconocer que tiene razón en que el ejemplo que utilicé en el artículo era de funciones anónimas y no de un closure propiamente tal.

Para entender la diferencia, les pido que lean el interesante artículo Blocks and Closures in Ruby, donde el autor de Ruby nos habla sobre ambas estructuras. Leyendo con atención, llegué al siguiente ejemplo operacional en Ruby que puede ser útil para ver como funciona una closure:

  1.  def ciclo(colores)
  2.   x=-1
  3.   return Proc.new {
  4.   x=(x+1) % colores.size
  5.   colores[x]
  6.   }
  7.  end
  8.  closure=ciclo(%w{rojo azul negro})
  9.  1.upto(10) {|i|
  10.   puts closure.call
  11.  }

La salida en

rojo
azul
negro
rojo
azul
negro
rojo
azul
negro
rojo

Como se podrán dar cuenta, la función ciclo devuelve un procedimiento, dentro del cual se mantienen las variables colores y x. Cada vez que se llama el Proc, ahora convertido en closure, x se incremente en uno y nos entrega el elemento del array que corresponde.

Novedades para PHP 5.3: namespaces, closures, Phar

Enviado por clbustos el Jue, 31/07/2008 - 03:54.
Clasificado en:

Traduzco literal de php.net:

La próxima versión de PHP 5.3 introduce algunas nuevas características mayores como namespaces, closures, bindings tardío estático, funciones de i18n, secciones en los archivos INI, y Phar entre otras

¿Qué tiene de importante esto? Varias cosas:

La mejor explicación para crear columnas de alto variable con CSS

Enviado por clbustos el Lun, 28/07/2008 - 12:45.

Uno de los grandes misterios de la humanidad es como crear una estructura de dos o más columnas de alto variable, usando sólo CSS. En más de una ocasión he tenido que reinventar la rueda, pero gracias a BarelyFitz Design y su artículo Learn CSS Positioning in Ten Steps', ¡he visto la luz!

La idea, muy sencilla, es la siguiente

  • Utilizar un div contenedor con position:relative
  • Cada columna se define con un ancho definido (que puede ser un porcentaje, para que sea fluido) y con float:left
  • Como último elemento dentro del div contenedor, creamos un div con clear:both

Eso sería todo! Veamos como se ve :)

Código fuente:

  1.  <div style='position:relative;width:50%;background:purple;color:white'>
  2.  Este es el contenedor
  3.  <div style='width:20%;float:left;background:#bbb;'>Col 1<br />Col 1<br />Col 1</div>
  4.  <div style='width:20%;float:left;background:#ccc;'>Col 2</div>
  5.  <div style='clear:both;background:#333;color:white'>Pie</div>
  6.  </div>

Demo:

Este es el contenedor
Col 1
Col 1
Col 1
Col 2
Pie

Camino a una reseña de la biblioteca estándar de Ruby

Enviado por clbustos el Lun, 28/07/2008 - 03:42.

Como tengo pensado crear una pequeña aplicación estadística en Ruby que me alivie mi cotidiano procesamiento de datos en el trabajo, decidí que era una buena idea revisar la biblioteca estándar de ruby por funciones básicas que puede que ya estén listas.
Si bien existen variados recursos sobre la biblioteca estándar, como excelente la reseña de Programming Ruby, la documentación rdoc en ruby-doc o esta Quick Reference, no he encontrado hasta ahora alguna que comente todas las diversa bibliotecas de de una manera evaluativa, señalando para que podrían ser útiles o cuales son versiones de otras, por ejemplo.
Por tanto, me decidí a reseñar de forma breve cada uno de los archivos de mi /usr/lib/ruby/1.8, para ver que cosa me puede ser útil. Como estamos en un mundo abierto, les ofrezco la primera partida, que va desde "abbrev.rb" a "generator.rb", en formato PDF y Latex. Si alguien sabe para que sirve e2mmap.rb o finalizer.rb, que avise :)

Versión de CtagsSideKick con íconos para php y ruby

Enviado por clbustos el Dom, 27/07/2008 - 03:53.
Clasificado en:

CtagsSideKick es un plugin para jEdit que permite ver los tags (objetos como funciones, clases, métodos, etc.) producidos por ctags en el Sidekick. Si no entendieron nada de lo que dije, en breves palabras significa que tengo un listado con todas las clases y sus métodos y propiedades, tanto para PHP y Ruby, en mi editor de texto regalón.
El único problema que observé es que el plugin no tenía los íconos para interface y métodos y propiedades en PHP y para el "singleton method" en Ruby. Como soy un maniático, me metí en el archivo de configuración del jar y agregué los íconos que faltaban.

Distribuir contenido