• Publicidad

Apache como módulo de Perl

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Apache como módulo de Perl

Notapor neoranger » 2014-11-26 08:54 @412

Buenas, gente.

Les tengo una pregunta que nos surgió en el trabajo y creo que es muy necesaria por el proyecto que estamos encarando y queremos sacarnos esta duda.

Por ahora nosotros estamos usando Catalyst para hacer un servidor de prueba pero el tema es que queremos depurar lo que hicimos y es muy probable que el cliente en el proyecto en el que estamos trabajando tenga Apache, así que queremos ver si podemos levantar un servidor Apache y utilizarlo como módulo de Perl para poder depurar, ya sea en Eclipse (aunque el complemento EPIC anda cuando quiere), o en cualquier otra IDE donde se pueda depurar Perl (si me pueden recomendar una, mejor).
"Ante muchos ojos todos los errores son obvios." Linus Torvalds
Avatar de Usuario
neoranger
Perlero nuevo
Perlero nuevo
 
Mensajes: 34
Registrado: 2014-11-17 08:10 @382

Publicidad

Re: Apache como módulo de Perl

Notapor explorer » 2014-11-26 09:48 @450

Yo sólo puedo apuntarte alguna dirección que he encontrado, porque el Catalyst me queda un poco lejano. Y cuando trabajaba con EPIC, me resultaba más cómodo y rápido usar técnicas de depuración clásica de programas que no usar el modo de depuración de Perl. Y si tenía que depurar una aplicación web, lo que hacía es tener una terminal en donde iba saliendo la actividad web (registros log), por lo que tenía una visión inmediata de qué es lo que pasaba y qué errores salían.

El depurar paso a paso sólo lo he usado cuando un trozo de código era muy oscuro o para ver los efectos colaterales de las bibliotecas. Para los demás casos, usando módulos como Smart::Comments me es más que suficiente. En último caso, usar el propio depurador de Perl (perl -d).

En perl.apache.org hay información sobre el depurado de Perl con Apache, pero no sé si se puede aplicar a cualquier tipo de programa o si es obligatorio instalarlo bajo mod_perl. Por ejemplo, está Apache::Debug.

En el foro de EPIC también se comenta algo sobre la depuración con mod_perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Apache como módulo de Perl

Notapor neoranger » 2014-11-26 10:35 @482

Pero, ¿qué es mod_perl? ¿Es un interprete modificado? ¿O es como Strawberry que ya viene con módulos instalados?

Gracias por la documentación. La idea no es usar el depurador por consola, sino más bien algo más visible, pero está bueno lo que decís, podemos implementar eso.

¡Gracias!
"Ante muchos ojos todos los errores son obvios." Linus Torvalds
Avatar de Usuario
neoranger
Perlero nuevo
Perlero nuevo
 
Mensajes: 34
Registrado: 2014-11-17 08:10 @382

Re: Apache como módulo de Perl

Notapor explorer » 2014-11-26 13:02 @585

mod_perl es igual a como mod_php: un módulo Apache con un intérprete de Perl integrado (resumen).

Lo utilizan los sitios web que desean aumentar la velocidad de ejecución de los programas Perl. La mejora está entre los 400 y los 1200 % más de velocidad. El truco está en que cuando mod_perl carga un programa, lo compila y lo mantiene en memoria para las siguientes ejecuciones. Eso ahorra posteriores tiempos de carga y compilación, a costa de que el programador debe acordarse de reiniciar las variables globales en cada nueva petición (no asumir que tienen un valor indefinido, como cuando se arranca el programa por primera vez).

La instalación se ha mejorado con los años, y se pueden hacer auténticas diabluras con él (como por ejemplo, hacer colgar o cerrar el propio Apache). Por eso se recomienda usarlo en ambientes muy estrictos, donde se controle bien quién puede manejarlo. Si se hace bien, puede dar muy buenas prestaciones (yo mismo lo he usado un par de años). Incluso trae algún módulo para hacer muy rápida la transición de programas CGI a mod_perl.

Sitios web con múltiples visitas, como tiendas (comercio electrónico) o juegos en línea, lo suelen usar. Sitios con mucha carga, como IMDB, también lo usan.

Pero... para aprovechar toda la potencia de mod_perl, requiere una curva de aprendizaje un poco empinada (al menos así era hace unos años). La documentación, sin embargo, es buena. Por aquí ya hemos hablado un poco del asunto (hay que usar más el sistema de búsqueda;))

También tienes libros. «Practical mod_perl», de Stas Bekman y Eric Cholet (O'Reilly, mayo 2003) está disponible para descarga, pero creo que sólo habla de mod_perl v1. «mod_perl Deveoper's Cookbook», de Geoffrey Young (Sams Publishing, febrero 2002) es de la misma época. El más moderno es «mod_perl2 User's Guide Book», de Stas Bekman y Jim Brandt (OnyxNeon, agosto 2007) (Amazon). Bueno, son siete años, pero el caso es que funciona.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Apache como módulo de Perl

Notapor neoranger » 2014-11-26 13:14 @593

¡Genial! Gracias por la ayuda. Definitivamente necesitamos un entrenamiento en el trabajo para poder entender a fondo Perl.

La información que me pasaste y los libros son geniales pero, ¿mod_perl corre sólo bajo Linux? ¿Hay alguna manera de tener mod_perl en Windows o en todo caso, instalar Apache en Windows y después un módulo en Perl?
"Ante muchos ojos todos los errores son obvios." Linus Torvalds
Avatar de Usuario
neoranger
Perlero nuevo
Perlero nuevo
 
Mensajes: 34
Registrado: 2014-11-17 08:10 @382

Re: Apache como módulo de Perl

Notapor explorer » 2014-11-26 13:42 @612

neoranger escribiste:¡Genial! Gracias por la ayuda. Definitivamente necesitamos un entrenamiento en el trabajo para poder entender a fondo Perl.
Esto no es Perl... Trabajar con Catalyst, mod_perl y Apache es de Perl muy avanzada (pero bastante avanzado). Yo hubiera escogido un entorno de trabajo más agradable, como Mojolicious o Dancer2, un entorno orientado a objetos como Moose, y ponerlo en práctica en el sitio web. Más adelante, al ver el rendimiento del sitio, si veo que se queda corto en prestaciones, pensaría en mod_perl, y sólo en ese caso.

neoranger escribiste:La información que me pasaste y los libros son geniales pero, ¿mod_perl corre sólo bajo Linux? ¿Hay alguna manera de tener mod_perl en Windows o en todo caso, instalar Apache en Windows y después un módulo en Perl?
Sí, sí que es posible (está descrito en la documentación de mod_perl), pero casi nadie lo hace: Windows es un juguete comparado con Linux. De hecho, todas las instalaciones conocidas de mod_perl están en Linux.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Apache como módulo de Perl

Notapor neoranger » 2014-11-26 13:52 @620

Estamos usando Catalyst porque fue lo primero que se nos ocurrió, todavía estamos en tentativas con el cliente que, dicho sea de paso, no tenemos información de cómo se manejan ellos. Lo peor de todo esto es que el mismo cliente tiene armado su propio framework. Digamos que estamos a ciegas y que estamos haciendo esto para no perder el tiempo y aprender un poco del comportamiento de Perl.
"Ante muchos ojos todos los errores son obvios." Linus Torvalds
Avatar de Usuario
neoranger
Perlero nuevo
Perlero nuevo
 
Mensajes: 34
Registrado: 2014-11-17 08:10 @382

Re: Apache como módulo de Perl

Notapor explorer » 2014-11-26 17:04 @753

Pues... habéis empezado muy fuerte :)

Por todos estos hilos veréis problemas y soluciones de todos los tamaños, así que os puede servir como ejemplos o prácticas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Apache como módulo de Perl

Notapor danimera » 2014-11-26 19:31 @855

Ufff...

Yo te recomendaría mejor que no te vayas tan allá, tan lejos...

¿Por qué no piensan en usar Dancer o inclusive CGI-Application...? Catalyst es algo poderoso, más complejo, difícil, diría yo...

CGI-Application lo puedes correr sobre Windows en Apache y funciona de maravilla. Tiene su depurador y un resto de complementos; es maduro, estable, flexible, etc.

CGI-Application se aprende en 8 horas, Dancer creo que en poco menos, pero no sé si puedas usarlo con Apache. Dancer trabaja nativamente con PSGI... Pero en Dancer haces cosas más rápidas y es como lo que está de moda es lo moderno ^^

Si usas cualquiera de estos dos que te recomiendo tienes un servidor que puede ayudarte mucho, inclusive en tiempo real, ya que tengo experiencia en ambos...
Última edición por explorer el 2014-11-26 19:48 @866, editado 2 veces en total
Razón: recomendaria => recomendaría; vallas => vayas; alla => allá; puntos suspensivos; que => qué; mas => más; dificil => difícil; diria => diría; se => sé; mas => más; rapidas => rápidas; esta => está;
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Apache como módulo de Perl

Notapor neoranger » 2014-11-27 09:46 @449

explorer escribiste:Pues... habéis empezado muy fuerte :)

Por todos estos hilos veréis problemas y soluciones de todos los tamaños, así que os puede servir como ejemplos o prácticas.


¡¡Ja,ja,ja,ja,ja!! Sí, sí, arrancamos muy fuerte. Como es una empresa grande, estamos acostumbrados a trabajar así pero al ser todo nuevo tenemos muchas dudas, por eso hago tantas preguntas y como yo soy uno del equipo de desarrolladores necesito saber todo a la perfección para poder arrancar el proyecto de la mejor manera.

danimera escribiste:Ufff...

Yo te recomendaría mejor que no te vayas tan allá, tan lejos...

¿Por qué no piensan en usar Dancer o inclusive CGI-Application...? Catalyst es algo poderoso, más complejo, difícil, diría yo...

CGI-Application lo puedes correr sobre Windows en Apache y funciona de maravilla. Tiene su depurador y un resto de complementos; es maduro, estable, flexible, etc.

CGI-Application se aprende en 8 horas, Dancer creo que en poco menos, pero no sé si puedas usarlo con Apache. Dancer trabaja nativamente con PSGI... Pero en Dancer haces cosas más rápidas y es como lo que está de moda es lo moderno ^^

Si usas cualquiera de estos dos que te recomiendo tienes un servidor que puede ayudarte mucho, inclusive en tiempo real, ya que tengo experiencia en ambos...


Gracias por las recomendaciones, voy a buscar información sobre CGI-Aplication porque no la conozco. Sabemos que Catalyst es muy poderoso pero hasta que no sepamos con qué framework vamos a trabajar se nos hace muy complicado ver qué hacer y qué no, pero voy a tener muy en cuenta tus recomendaciones. Muchas gracias.
"Ante muchos ojos todos los errores son obvios." Linus Torvalds
Avatar de Usuario
neoranger
Perlero nuevo
Perlero nuevo
 
Mensajes: 34
Registrado: 2014-11-17 08:10 @382

Siguiente

Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado