[pyar] Nueva herramienta libre - Validación con la comunidad

Marcelo Fernandez marcelo.fidel.fernandez en gmail.com
Jue Oct 18 17:37:25 ART 2012


El 18 de octubre de 2012 17:10, Daniel Moisset
<dmoisset en machinalis.com> escribió:
> 2012/10/18 Aníbal Lovaglio <aniballovaglio en yahoo.com.ar>
>>
>> Buenas tardes a todos.
>>
>> Estamos encarando un proyecto como trabajo profesional de nuestras
>> carreras y nos sugirieron que sería una buena idea validar nuestro enfoque
>> con la comunidad de python. Cabe destacar que ninguno de los dos integrantes
>> del equipo tiene mucha experiencia en esta tecnología y podríamos valernos
>> de su experiencia para ahorrarnos algunos disgustos.
>>
>> El objetivo del proyecto es construir una herramienta online para alumnos
>> y docentes de materias de programación de las carreras de sistemas, cuyo fin
>> es lograr la entrega y corrección sistematizada de trabajos prácticos de
>> programación. Se tratará de una herramienta de Software Libre con un diseño
>> incremental por módulos y tenemos intención de dejar el camino allanado para
>> futuros equipos que quieran continuar con el desarrollo de nuevas
>> funcionalidades.
>
>
> Me parece piola, más de una vez como docente me hubiera venido bien (ahora
> no tanto, desde que hacemos que los alumnos entreguen en repositorios SVN,
> la parte más tediosa que era juntar todo y tener registro del día de entrega
> se hace sola). Pero poder correr tests contra la entrega y cosas así sería
> muy piola
>
>>
>> La aplicación está planteada como un servicio de acceso web, al cuál los
>> usuarios podrán acceder desde cualquier navegador. Los alumnos cargarían sus
>> entregas, estas serían desempaquetadas, compiladas en caso de ser necesario,
>> y probadas según los criterios establecidos por los docentes. Los docentes
>> podrían acceder a revisar los resultados de estas entregas, generar reportes
>> o cargar nuevos trabajos prácticos para ser entregados.
>>
>
> Lo único peligroso acá es el sandboxing. Si estás corriendo código que el
> alumno sigue, deberías poner a correr esto de forma que ese código no te
> pueda reventar el sistema (por error o por malicia). Es decir, debería
> correr bajo otro usuario, con limites de tiempo, uso de memoria, disco, etc.

+1 a lo que dice Darni, y dado lo complejo que es hacer esto 100%
confiable en Python (hay unas cuantas implementaciones, habría que
evaluar y probar), yo pensaría en hacerlo directamente en una VM guest
chiquita, que sea creada y eliminada luego de la prueba, directamente.

Podés usar libvirt para esto, que es independiente del hypervisor
(podés usar KVM, Xen, Qemu, Virtualbox, hasta VMWare) y tiene bindings
para python:

http://libvirt.org/bindings.html

Y ya que estamos, veo que en la parte de applications aparecen
programas de integración continua que usan muchos por acá, Jenkins y
Buildbot; hasta quizás te sirva integrar alguno de estos bajo esta
modalidad de VM guest que te digo.

http://libvirt.org/apps.html#continuousintegration

Saludos
-- 
Marcelo F. Fernández
Buenos Aires, Argentina
Lic. en Sistemas de Información

E-Mail: marcelo.fidel.fernandez en gmail.com
Blog: http://blog.marcelofernandez.info
Twitter: http://twitter.com/fidelfernandez



More information about the pyar mailing list