IRC log started Wed Dec 12 20:12 |
fernand0 | Hola, |
fernand0 | hoy presentamos aquí a Álvaro del Castillo. |
fernand0 | Creo que es suficientemente |
fernand0 | conocido en el mundo del software libre hispano, pero por si acaso algunas |
fernand0 | pinceladas: |
fernand0 | es editor de barrapunto y desarrollador activo del Slashcode, |
fernand0 | en colaboración directa con la gente de slashdot.org. |
fernand0 | Además, escribe |
fernand0 | habitualmente en diversas publicaciones informáticas. |
fernand0 | Actualmente trabaja en Andago, empresa dedicada al desarrollo de soluciones |
fernand0 | para empresas basadas principalmente en software libre. |
fernand0 | Su conferencia va a tratar sobre el Slashcode, que es el conjunto de |
fernand0 | programas que hacen funcionar sitios como http://www.barrapunto.com/ |
fernand0 | http://slashdot.org/ y otros. |
fernand0 | Pero no sólo es un sistema de foros y |
fernand0 | comunidades virtuales, como nos va a mostrar el conferenciante hoy. |
fernand0 | Una vez más, agradecer a todos ustedes su presencia. |
fernand0 | También agradecer al |
fernand0 | conferenciante por el interés mostrado desde el principio en este congreso. |
fernand0 | Álvaro, |
acs | Hola |
acs | Estoy aquí hoy para presentar slashcode |
acs | aunque nos gusta más llamarlo simplemente slash |
acs | La presentación va a ser bastante práctica |
acs | y vamos a utilizar el que todos estamos conectados a Internet para ir viendo en una maqueta real |
acs | las distintas partes de slashcode. |
acs | Pero antes de lanzarnos al código, vamos a ir presentando un poco la arquitectura de slash |
acs | Y vamos a hablar de porqué es importante conocerlo |
acs | slash es el software que está detrás de grandes sitios como slashdot o barrapunto |
acs | Y ha sido capaz de crear comunidades virtuales alrededor de ellos |
acs | Ha sido está quizá su principal característica |
acs | Pero es un software que ha ido madurando mucho desde su nacimiento allá por 1997 |
acs | Nos vamos a centrar en como es el software actualmente, después de haber sufrido diversos la |
acs | lavados de cara |
acs | y mucha recodificación |
acs | El resultado final es un código mujy limpio, mantenible y ampliable ... a pesar de ser Perl :-) |
acs | Perl parece que podría |
acs | no ser el lenguaje más adecuado para un proyecto ambicioso pero slash demuestra que no es así |
acs | La arquitectura básica de slash se base en el uso de Perl como entorno de programación |
acs | Y usando Perl, se definen una serie de APIs de programación |
acs | Con ellas se controla el acceso a base de datos o la presentación de datos |
acs | Pero con esto sólo tendríamos un servidor de aplicaciones |
acs | Y una de las claves de slash es su gran iontegración con Apache |
acs | Para ello, se usa mod_perl, un módulo Apache que permite el uso desde Apache de los cientos de librerías de Perl |
acs | Y además, mod_perl permite acceder a todo el API de Apache mediante una interfaz orientada a objetos para Perl |
acs | Ambos forma la arquitectura básica, apache+mod_perl, sobre la que se construye todo lo demás |
acs | bueno, después de esta introducción teórica vamos a comenzar a mostrar el uso real de slash |
acs | Para ello nada mejor que ir a un sitio con slash2.2 funcionando, la última versión de slash |
acs | Barrapunto aún no lo tiene asi que nos tendremos que ir a otra maqueta |
acs | La que se encuentra en http://charla.futurnet.es |
acs | Desde aquí agradecer al ISP Futuernet las facilidades dadas para montar la charla |
acs | Espero que no tengáis problemas con el acceso ya que es una maqueta que vamos a montar desde cero |
acs | La máquina ya tiene slash 2.2 instalado, un proceso que no es complejo por ejemplo para una distribución Debian Potato |
acs | Y un proceso que está perfectamente documentado |
acs | partimos pues de que tenemos slash 2.2 instalado en una máquina |
acs | proceso que se resume en instalar apache+mod_perl |
acs | y las librerías de Perl necesarias |
acs | si alguno tenéis problemas con dicha instalación podéis preguntar dentro de la lista de desarrollo de slash de Barrapunto |
acs | Además de apache-perl |
acs | necesitáis tener mysql instalado |
acs | la versión 3.23 es necesaria para la nueva serie slash 2.2 |
acs | Dicho esto vamos con los pasos que daríamos para crear un nuevo sitio slash |
acs | Por defecto toda la instalación de slash va a /usr/local |
acs | la librerías van a /usr/local/lib/site_perl/Slash y /usr/local/lib/site_perl/i386-linux/Slash |
acs | y los programas de gestión de slash a /usr/local/slash |
acs | Ahora mismos en charla.futurnet.es podéis ver un sitio slash, pero vamos a crear uno nuevo desde cero |
acs | El primer paso es crear la base de datos donde vivirán todos los datos de slash |
acs | Para ello nos apoyamos en la herramienta mysqladmin. Hay que tener acceso a la base de datos para poder hacer todo esto ;-) |
acs | cascada:/usr/local/slash# mysqladmin -p create charla |
acs | Enter password: |
acs | Bien, ya tenemos una base de datos charla preparada para slash, aunque aún está totalmente vacia |
acs | slash utiliza un módulo de Perl llamado DBIx::Password para acceder a las bases de datos |
acs | para ello, tenemos que dar de alta el nombre de la base de datos y el usuario, clave y host para acceder a ella dentro del fichero |
acs | /usr/lib/perl5/DBIx/Password.pm |
acs | Lo mejor suele ser copiar otra entrada y modificar los datos de forma adecuada |
acs | Vamos a crear una entra asociada al usuario "charla" que de acceso a esta nueva base de datos |
acs | Para ello, añado dentro de este fichero: |
acs | }, |
acs | Es una nueva entrada dentro de la tabla hash $virtual1 |
acs | La clave es eso que aparece con "xxxx" ;-) |
acs | Con esto le estamos indicando a slash como debe acceder a la base de datos |
acs | En una misma máquina podemos tener múltiples sitios slash |
acs | Cada uno de ello deberá de tener un usuario virtual (Virtual User) diferente |
acs | en nuestro caso este usuario es "charla" |
acs | En la máquina por ejemplo, hay otro sitio más funcionando |
acs | Una vez que hemos hecho esto la creación de un nuevo sitio slash es realmente sencilla |
acs | cascada:/usr/local/slash# /usr/local/slash/bin/install-slashsite -u charla |
acs | Tras ello se nos preguntarán cosas muy sencillas como el nombre del host: |
acs | charla.futurnet.es |
acs | el usuario y el grupo al que pertenecerán todos los ficheros del sitio (nobody/nogroup) |
acs | Los plugin que queremos dejar instalados en el nuevo sitio, que lo mejor es dejar al principio los que vienen por defecto |
acs | Y un usuario y clave para el usuario administrador del nuevo sitio |
acs | Asi como una cuenta de correo |
acs | Una vez completados los datos el resultado es |
acs | que reiniciando apache ya tenemos el nuevo sitio instalado y dispuesto para dar servicio |
acs | Para ello lo que se hace es incluir dentro del fichero de configuración de Apache un nuevo virtual host |
acs | lo que asegura que no habrá conflictos con otros sitios |
acs | que pudieran ya estar funcionando |
acs | En concreto las líneas claves son: |
acs | NameVirtualHost 195.76.98.41 |
acs | Include /usr/local/slash/httpd/slash.conf |
acs | Decimos que la IP 195.76.98.41 va a tener varios dominios a su cargo |
acs | y que se incluya el fichero de configuración /usr/local/slash/httpd/slash.conf |
acs | Este fichero /usr/local/slash/httpd/slash.conf, incluye de forma automática los ficheros de configuración de todos los sitios que se vayan sumando al sistema slash |
acs | Si probáis ahora a acceder a http://charla.futurnet.es/ veréis que hay dos historias que antes no estaban |
acs | hemos creado un nuevo sitio |
acs | totalmente separado del anterior |
acs | Bien, una vez que tenemos nuestro sitio slash funcionando, ha llegado el momento de darle nuestro toque personal |
acs | querremos cambiar el diseño |
acs | los colores |
acs | los logos |
acs | las cajas que aparecen |
acs | y querremos añadir nuevas funcionalidades que no incluya slash, algo que haremos a través de los plugins |
acs | Vamos a realizar unos pequeños cambios en la configuración del sitio |
acs | para ello voy a entrar como el usuario admin que definí en la instalación y voy a cambiar el sitio |
acs | lo más llamativo suele ser un cambio de colores, por lo que es lo primero que voy a hacer. Vamos a poner como color de fondo el blanco |
acs | Vamos con el cambio de color para lo que accedo a la interfaz de admin de slash |
acs | a la sección de colores |
acs | y ya está |
acs | he modificado el color de fondo y lo he puesto en blanco sustituyendo el primer color de la paleta de fondos |
acs | todo lo que podéis ver en la página de charla.futurnet.es está basado en diferentes plantillas |
acs | de hecho si probáis a ver el código fuente de la página veréis comentarios del estilo |
acs | Este comentario indica el comienzo de una plantilla |
acs | la que se encarga de la cabecera |
acs | si quiero modificar el aspecto de la cabecera de todas las páginas de un sitio me basta con cambiar esta plantillas |
acs | para realizar este cambio tenemos dos opciones |
acs | 1. Volcar la plantilla a un fichero de texto y utilizar cualquier editor, volviendo a introducirla luego en la BD |
acs | 2. Utilizar la interfaz web de edición de plantillas |
acs | Vamos a seguir el paso 2 |
acs | Para ello, y presentado en el sistema como el usuario administrador, voy al menú de edición de plantillas y selecciono la plantilla header;misc;defaultheader;misc;defaultheader;misc;default |
acs | header;misc;default |
acs | perdón ;-) |
acs | Voy a poner un titulo bien grande para que veáis todos el cambio |
acs | si accedéis ahora a http://charla.futurnet.es |
acs | veréis que aparece una gran titular al comienzo de todas las páginas |
acs | Lo que hemos visto hasta aquí es sólo la punta del iceberg |
acs | el sistema de plantillas en el que se basa slash es muy potente |
acs | y nos llevaría varias horas ver todas sus posibilidades |
acs | por ejemplo, cada sección puede tener su propio juego de plantillas |
acs | y cada servlet Perl (programas .pl) también puede tener su juego de plantillas |
acs | de esta forma podemos forzar a que nos aparezca un titular distinto en función de la página o la sección en la que nos encontremos |
acs | las plantillas son una de las piezas claves de slash y son muy útiles para crear todo tipo de aplicaciones web |
acs | El sistema de plantillas además es muy rápido y para aumentar aún más su eficiencia se puede activar un sistema de cachés |
acs | cuyo problema es que los cambios no se reflejan de forma automática |
acs | Bueno, dejemos las plantillas un poco de lado y vamos a adentrarnos en el código |
acs | Si algo no queda claro, no dudéis en preguntar :-) |
acs | Todo el código que da servicio a un sitio slash se instala dentro de un directorio específico para cada sitio, como no podía ser de otra forma |
acs | En nuestro caso, ese sitio es |
acs | /usr/local/slash/site/charla.futurnet.es |
acs | y más en concreto, en el directorio htdocs |
acs | El código de slash está totalmente separado de la visualización |
acs | como veremos, el código llama a las plantillas con parámetros para presentar los contenidos |
acs | pero en el código Perl de los servlets de slash no aparece una sola línea de HTML |
acs | Programadores y editores pueden pues trabajar de forma independiente |
acs | más que editores quería decir diseñadores |
acs | como ejemplo de código que viene con slash vamos a ver index.pl, la página de entrada a los sitios más comunes slash |
acs | es la página que muestra todas las noticias más recientes cuando usamos slash como un foro |
acs | asi como un conjunto de cajas, conocidas como slash boxes, con diversas funcionalidades e información |
acs | El servlet perl que vamos a analizar es pues: |
acs | /usr/local/slash/site/charla.futurnet.es/htdocs/index.pl |
acs | Para editar el fichero podéis utilizar editor favorito |
acs | #!/usr/bin/perl -w |
acs | # This code is a part of Slash, and is released under the GPL. |
acs | # Copyright 1997-2001 by Open Source Development Network. See README |
acs | # and COPYING for more information, or see http://slashcode.com/. |
acs | # $Id: index.pl,v 1.11.2.24 2001/08/20 13:37:52 pudge Exp $ |
acs | use strict; |
acs | use Slash; |
acs | use Slash::Display; |
acs | use Slash::Utility; |
acs | Estas primeras líneas indican que el código se va a ejecutar con todos los avisos posibles (perl -w) y se importan unas librerías básicas de slash |
acs | Además, se indica que la licencia del código es GPL, algo que a todos nos alegra mucho :) |
acs | Como veremos luego, slash permite que las extensiones (plugins) no tengan que ser GPL |
acs | lo que permite el uso de slash como arquitectura en proyectos con partes de código cerrado |
acs | Vamos con el inicio de index.pl |
acs | sub main { |
acs | Dentro de la función principal se realizan diversas llamadas a funciones del API de Slash. En concreto obtenemos un conjunto de objetos que nos van a permitir |
acs | acceder a la base de datos ($slashdb), a las variables de configuración del sitio que se fijan desde la interfaz web ($constants), al perfil del usuario actual ($user) |
acs | y a todos los datos que se hayan podido enviar a través de formularios ($form) |
acs | Esta información será básica para poder llevar a cabo las funciones del servlet Perl |
acs | Continuemos viendo el código: |
acs | redirect($refer); |
acs | return; |
acs | } |
acs | En este caso se chequea la operación que ha solicitado el usuario |
acs | http://charla.futurnet.es/index.pl |
acs | es una medida de protección |
acs | vemos como se van usando los objetos de contexto |
acs | hasta ahora hemos visto el uso de $form y $user |
acs | que son en realidad conjuntos de datos en una tabla hash de Perl |
acs | que nos permite de forma muy sencilla acceder a toda la información necesaria para poder ir construyendo el programa |
acs | vamos a continuar con el código que sigue |
acs | my $c; |
acs | redirect($ENV{SCRIPT_NAME}), return if $c; |
acs | } |
acs | Este código es el responsable de subir y bajar las cajas de contenidos que aparecen en la parte de la derecha de la página de entrada a un foro slash |
acs | Cuando un usuario se abre una cuenta en el sistema |
acs | puede seleccionar que contenidos, titulares de noticias de otros sitios, quiere que le aparezcan en las cajas de la derecha de la página principal |
acs | Si el usuario no está presentando, o no ha configurado esas cajas, le aparecerán unas cajas por defecto |
acs | Pero si tiene una cuenta y ha selecciona que cajas quiere ver, podrá ordenarlas pulsando sobre unas flechas que aparecen en cada una de las cajas |
acs | Pocas operaciones más se pueden pasar a index.pl |
acs | De hecho si continuamos viendo el código |
acs | my $section; |
acs | } else { |
acs | } |
acs | En caso de que no hayamos especificado la sección, se supone que es index. Tras ello se fijan parámetros para visualizar el número de historias en función de las preferencias del usuario |
acs | Para obtener el título de la página de nuevo llamamos a la funcion getData de la API de slash que irá a unas plantillas especiales con datos sobre la página que estamos accediendo |
acs | Y tras ello se llama a la función header que es la que muestra la cabecera de la página, utilizando la plantilla header;misc;default |
acs | que ya vimos antes |
acs | ha llegado el momento de mostrar las historias |
acs | y las cajas de la derecha de la página de entrada |
acs | para ello |
acs | lo primero es ver el número de historias a mostrar |
acs | y tras ello nos vamos a la BD a por las historias, pero como es tradicional en slash, no accedemos a la BD directamnete si no a través de la API de slash |
acs | $limit, |
acs | ); |
acs | Como vemos, le pasamos cuantas historias queremnos y la sección si es necesario |
acs | Para mostrar las historias y los bloques utilizamos dos llamadas que, utilizando el sistema de plantillas, devuelven el contenido a visualizar |
acs | Finalmente ha llegado el momento de mostrar el resultado al usuario, es decir, la página index.pl |
acs | slashDisplay('index', { |
acs | }); |
acs | slashDisplay es una de las funciones más importantes de slash |
acs | Es la que se encarga de acceder al sistema de plantillas, seleccionar la plantilla adecuada ('index' en este caso) |
acs | y pasarle todos los parámetros necesarios para mostrar la página HTML que será mostrada al usuario |
acs | finalmente mostramos el pie de página con: |
acs | footer(); |
acs | y eso es todo lo necesario para mostrar la página principal del sistema de foros de slash |
acs | si ponemos todo el código junto no es difícil de entender ni modificar a nuestro gusto |
acs | sub main { |
acs | redirect($refer); |
acs | return; |
acs | } |
acs | # why is this commented out? -- pudge |
acs | my $c; |
acs | redirect($ENV{SCRIPT_NAME}), return if $c; |
acs | } |
acs | my $section; |
acs | } else { |
acs | } |
acs | $limit, |
acs | ); |
acs | slashDisplay('index', { |
acs | }); |
acs | footer(); |
acs | } |
acs | Con esto damos por cerrado el análisis del código de lo que es parte del núcleo de slash |
acs | pero no nos vamos a quedar aquí |
acs | vamos a ver como podemos ampliar slash para realizar otro tipo de labores |
acs | Por ejemplo, imaginemos que queremos un sistema que sirva como Pizarra de ventas de nuestros comerciales |
acs | Para ello deberemos de tener unas tablas que guarden cada una de las ventas de nuestros comerciales |
acs | Además, deberemos tener el programa que nos permita gestionar la entrada, modificación y borrado de datos del sistema |
acs | asi como los informes |
acs | de ventas, previsiones .... |
acs | Cada comercial podrá ver sólo sus ventas, su previsión y su evolución |
acs | pero los supervisores podrán ver todas las ventas asi como acceder a informes específicos |
acs | vamos a ver como hacer esto con slash |
acs | y para ello lo que hacemos es crear un nuevo plugin para slashcode |
acs | le llamaremos Slash-Vendor |
acs | Lo mejor para crear un nuevo plugin suele ser partir de uno que ya existiera y modificarlo |
acs | los ficheros que nos encontramos en este plugin son |
acs | cascada:/usr/local/slash/plugins/Slash-Vendor# ls -l |
acs | total 80 |
acs | -rw-r--r-- 1 acs acs 37 Dec 7 18:10 AUTHORS |
acs | -rw-r--r-- 1 acs acs 99 Dec 7 18:10 Changes |
acs | -rw-r--r-- 1 acs acs 97 Dec 7 18:21 MANIFEST |
acs | -rw-r--r-- 1 root acs 17392 Dec 11 21:31 Makefile |
acs | -rw-r--r-- 1 acs acs 293 Dec 7 18:11 Makefile.PL |
acs | -rw-r--r-- 1 acs acs 154 Dec 7 18:26 PLUGIN |
acs | -rw-r--r-- 1 acs acs 164 Dec 7 18:09 README |
acs | -rwxr-xr-x 1 acs acs 2005 Dec 11 22:14 Vendors.pm |
acs | drwxr-sr-x 5 acs acs 4096 Dec 7 18:39 blib |
acs | -rw-r--r-- 1 root acs 772 Dec 12 14:17 dump-es.sql |
acs | -rw-r--r-- 1 acs acs 753 Dec 12 07:35 dump.sql |
acs | -rw-r--r-- 1 acs acs 524 Dec 11 21:53 mysql_schema.sql |
acs | -rw-r--r-- 1 acs acs 0 Dec 11 21:35 pm_to_blib |
acs | drwxr-sr-x 2 acs acs 4096 Dec 12 07:33 templates |
acs | drwxr-sr-x 2 root acs 4096 Dec 12 07:36 templates-es |
acs | -rw-r--r-- 1 acs acs 765 Dec 11 21:36 test.pl |
acs | -rwxr-xr-x 1 acs acs 3230 Dec 12 14:20 vendors.pl |
acs | Tenemos una librería (en realidad es una clase) propia para este plugin Vendors.pm, el servlet que dará el servicio vendors.pl y las tablas y plantillas asociadas al plugin |
acs | Cada plugin pues tiene sus propias plantillas, sus propias tablas (si son necesarias) y el código necesario |
acs | En este caso las tablas de este plugin son: |
acs | DROP TABLE IF EXISTS orders; |
acs | CREATE TABLE orders ( |
acs | id MEDIUMINT UNSIGNED NOT NULL auto_increment, |
acs | uid MEDIUMINT UNSIGNED NOT NULL, |
acs | customer_id MEDIUMINT UNSIGNED NOT NULL, |
acs | product VARCHAR(64), |
acs | units TINYINT UNSIGNED NOT NULL, |
acs | total INT UNSIGNED NOT NULL, |
acs | comment VARCHAR(255), |
acs | stamp TIMESTAMP, |
acs | PRIMARY KEY (id) |
acs | ); |
acs | DROP TABLE IF EXISTS customer; |
acs | CREATE TABLE customer ( |
acs | customer_id MEDIUMINT UNSIGNED NOT NULL auto_increment, |
acs | billing_id int unsigned, |
acs | name varchar(64), |
acs | PRIMARY KEY (customer_id) |
acs | ); |
acs | Estas tablas se gestionarán desde Vendors.pm, que es la clase que dará la funcionalidad necesaria para el servlet vendors.pl |
acs | Vamos a ver el código que nos podemos encontrar dentro de vendors.pl |
acs | #!/usr/bin/perl -w |
acs | use strict; |
acs | use Apache; |
acs | use Date::Manip; |
acs | use XML::RSS; |
acs | use Slash; |
acs | use Slash::DB; |
acs | use Slash::Display; |
acs | use Slash::Vendors; |
acs | use Slash::Utility; |
acs | sub main { |
acs | Es totalmente similar al que vimos para index.pl, salvo que aquí se usan más librerías, como Slash::Vendors. |
acs | Lo primero que se hace es crear un objeto que permita acceder a la funcionalidad de Vendors.pm |
acs | Tras ello, definimos todas las operaciones que pueden ser invocadas sobre vendors.pl |
acs | ); |
acs | Si queremos ampliar las operaciones que se pueden llevar a cabo por vendors.pl, basta con incluirlas en esta lista |
acs | y luego implementarlas |
acs | Como véis es una forma muy ordenada de llevar a cabo la labor :) |
acs | Es decir, la operación por defecto es listas los pedidos del usuario actual |
acs | Casi hemos terminado con este código |
acs | header('Vendors'); |
acs | titlebar("100%", "Vendors"); |
acs | print createMenu('vendors'); |
acs | footer(); |
acs | } |
acs | En el caso del que el usuario sea anónimo no le dejamos entrar (if getCurrentUser('is_anon')) |
acs | y tras ello, mostramos la cabecera de página de nuevo con header, luego mostramos un titular de la página, el menú asociado al plugin con la orden print createMenu('vendors'); |
acs | Para cerrar de nuevo ponemos el pie de página |
acs | footer(); |
acs | el código com,pleto queda |
acs | sub main { |
acs | # The name for the op has to be using getData - acs |
acs | ); |
acs | header('Vendors'); |
acs | titlebar("100%", "Vendors"); |
acs | print createMenu('vendors'); |
acs | footer(); |
acs | } |
acs | Un código muy compacto, fácil de mantener y ampliar, gracias a la API de slash en gran parte |
acs | Como vemos, tenemos un control total sobre el usuario actual y su perfil |
acs | No vamos a profundizar más en el código de slash, pero espero que esta pequeña introducción os haya servido para ver la potencialidad de este servidor de aplicaciones |
acs | Su ampliación a través de plugin es muy sencilla una vez que se conoce como llevarla a cabo |
acs | Por último me gustaría resaltar el gran rendimiento que tiene este software: en slashdot se han llegado a servir 75 páginas/segundo |
acs | Y pensar que todas ellas son dinñamicas |
acs | dinámicas |
acs | Un gran sistema de caché entre otros elmentos permiten lograr estas marcas |
acs | Con slash tenemos pues un sistema que nos permite controlar de forma sencilla los usuarios y sus perfiles |
acs | Por otro lado nos facilita mucho el acceso a las bases de datos, con un sistema de cachés potentes |
acs | Y no olvidemos el potente sistema de plantillas que permiten una gran personalización del sitio utilizando todo tipo de parámetros |
acs | Sin duda, slash es un gestor de contenidos |
acs | que está pasando a ser un servidor de aplicaciones a pasos agigantados |
acs | robusto y con licencia GPL |
acs | ¿qué mas se puede pedir? X-) |
acs | ¿Preguntas? |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
fernando | plas plasp las plas plas plas plasplas plasplas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
fernando | plas plasp las plas plas plas plasplas plasplas |
fernando | plas plasp las plas plas plas plasplas plasplas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
fernando | plas plasp las plas plas plas plasplas plasplas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | son aplausos ;) |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
fernando | bueno |
fernando | hay preguntas ? |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas plas plas |
Ston | wow |
viZard | Muy impresionante ! |
viZard | todo perl XD |
Ston | acs: si mal no vi es slash un module de perl ? |
Ston | o se puede considerar uno ? |
fernando | yo tengo una pregunta |
SuperR | plas plas plas plas plas plas plas plas plas plas plas plas plas plas plas plas plas |
acs | Ston, slash es algo más que un módulo de Perl |
Yamil | 02,15HOLA A TODOS |
Yamil | HOLA A TODOS |
acs | son varios modulos |
acs | pero hay partes que si son módulos de Apache |
acs | y trabajan muy íntimamente con él |
acs | por ejemplo, el control de usuarios |
Ston | acs: y como maneja el numero de fork que pueden manejar los usuarios para que estos no se termine para el usario que corre el apache ? |
acs | hmmm, no entiendo la pregunta Ston |
Ston | ok |
Ston | mira cuando programos cgi tengo el problema de que se abre un pid por aca proceso de este |
acs | ahhhh |
acs | ya sé por donde vas |
Ston | y se me caban los pid para el usario y no puedo seguir ejecutando |
acs | mod_perl hace que sólo haya único Perl ejecutándose para todas las invocaciones que reciba un proceso apache |
acs | de todas formas, es extraño ese problema |
acs | yo creo que no lo he tenido |
Ston | me paso en una sparc con mas de 64 proceso de un usario no podia hacer mas nada! |
acs | bueno, es un caso algo específico de esa configuración me temo |
Ston | corriendo solaris |
acs | conozco poco de las limitaciones de solaris |
pask | ston eso es modificable via so .. |
Ston | ok! no tendria limitaciones slash con el manejo de una gran cantidad de usuarios ? |
pask | nº max de proces por usuario, nº maximo de archivos abiertos por usuario y por sistema ... etc |
Ston | pask: trate de modificar, pero no llegue a terminar ;) |
pask | ;-) |
Ston | pask: ahora uso bsd y linux para los server X-) |
fernando | yo tengo otra pregunta sobre el slash |
fernando | alvaro |
acs | dime fernand0 |
fernando | si pudieras volver el slash al principio de los tiempos? |
fernando | volverías a elegir perl ? |
acs | Creo que sí, aunque quizá evaluaría Java |
viZard | cuando los hombres eran hombres y hacian sus propios drivers ? |
Ston | acs: podria incorporase slash a otra base de datos ? |
acs | hay ya proyectos para usar postgres y oracle |
acs | están avanzados pero no para producci'on :( |
acs | en http://slashcode.com tenéis toda la información sobre slashcode |
cron | holas y marullos |
cron | google esta down |
viZard | je, que fuerte |
fernando | Si no hay más preguntas |
cron | como esta quisqueya |
[freedom] | hasta luego :) |
fernando | Agradecer otra vez a Alvaro su interesantisima conferencia |
Ston | cron: lloviendo |
Ston | plas plas plas plas plas plas plas |
fernando | y a todos ustedes por haber acudido aquí |
Ston | plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
viZard | plas plas plas plas plas plas plas plas plas plas plas |
acs | gracias a todos por mla atención y ¡a probar slash!!!! |
fernando | plas plas plas plas plas plas plas plas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plas plas plas |
fernando | plas plas plas plas plas plas plas plas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
Ston | plas plas plas plas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
MJesus | plas plas plas plas plas plas plas plasplas plas plas plasplas plas plas plasplas plas plas plas |
acs | hasta pronto !!!! |
Ston | plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas |
Ston | plas plas plas plas plas plas plas |
Ston | adios acs |
Ston | /k cron |
cron | /kb cron |