Planeta BSD

FreeBSD, OpenBSD, NetBSD, …. Berkeley Software Distribution

Archivo para May, 2007

Disponible Alpha 7

Se ha liberado la Alpha número 7 de Nexenta GNU/OpenSolaris, que entre las características nuevas contiene OpenSolaris & NWS build 61, además de…

Leer el post completo »

En: Uncategorized — May 17, 2007

FreeBSD en cambios masivos (ports)

Si desde hace unos dias encuentras que tu árbol de ports no se actualiza es por el siguiente tema :vuxml 1.1_1
security Vulnerability and eXposure Markup Language DTD

Bump modification date for the latest mod_perl entry, this was forgottenby erwin,…

Leer el post completo »

En: Uncategorized — May 17, 2007

Inkubot: Tengo un MAC

En un momento de ocio, me compre un Mac.

Acá esta la foto del Desktop

(more…)

Leer el post completo »

En: Uncategorized — May 16, 2007

HDA ya disponible en FreeBSD 6-STABLE!

Según esta entrada, parece que ya tenemos disponible el driver High Definition Audio (HDA) para la plataforma 6-STABLE de FreeBSD.
Otro pequeño paso hacia un buen desktop con FreeBSD.

Have a nice day ;-)
TooManySecrets

Leer el post completo »

En: Uncategorized — May 14, 2007

Hablando un poco de FreBSD

Hace unos dias con ocasión del Flisol pude dictar una charla sobre FreeBSD, mucha gente se intereso en el tema y me pidieron copias y las diapos que ahora coloco aquí, es mas llego alguien con su pc especificamente para que le instalaramos FreeBSD y…

Leer el post completo »

En: Uncategorized — May 11, 2007

Bug en IPv6: Actualizar Ahora!

Si tienes un sistema DragonFly, deberías Actualizarlo ya. Otros sistemas también deberían ser actualizados, si es que hay actualizaciones disponibles.La…

Leer el post completo »

En: Uncategorized — May 10, 2007

Inkubot: Asterisk y SS7

Señalización 7, o SS7 es un protocolo de telefonía tradicional que utilizamos siempre, toda nuestra red de teléfonos (o la mayor parte) trabaja sobre numero 7, este protocolo surge para reemplazar los antiguos R2 y SS5 que son protocolos con señalización dentro de banda. Recuerdan cuando existían esas cajas que emitían sonidos y podías llamar gratis ? Con SS7 todo eso se acabo, la señalización ahora es fuera de banda y muchas cosas mas, pero no viene al caso.

Asterisk no soporta SS7, aunque existen desarrollos para dar el soporte, estos proyectos se llaman libss7 y chan_ss7. El primero es un desarrollo de Digium y que se incluirá luego en Asterisk, el segundo corresponde a la gente de Sifira.

Acá voy a explicar como dar el soporte a estas dos posibles librerías con Asterisk y una trama E1 SS7 de Gtd

(more…)

Leer el post completo »

En: Uncategorized — May 9, 2007

KillFill: Validadores

Validacion es un proceso que es necesario en cualquier tipo de software.
A momento de desarrollar un sistemilla en .NET no pude encontrar ninguna herramienta que facilite el uso de definiciones sobre objetos de ciertas condiciones requeridas, antes de ejecutar algun proceso con los objeto de forma comoda, hasta hace un par de semanas: Castle.Core.Validations.

CastleProject es un proyecto espectacular, que provee de una serie componentes modernos a desarrolladores en la plataforma .NET, tales como AOP (programacion oriendata al aspecto) o Container (Microkernel, DI, Inyeccion de dependencias).

Hace como 6 meses que no sacan un nuevo beta de su proxima version 1.0, y me acorde de ellos :)
Husmie en un snapshot y encontre el componenterijillo…
La verdad no es nada del otro mundo, pero esta super util :P

Comunmente se le llama “objetos de negocio” a un grupo de objetos que guardan información valiosa sobre/con los cuales de hacen los procesos del sistema, tanto internos como de comunicación.

La mision es simple: validar que ciertas condiciones, necesarias, se cumplan y esten presentes en un objeto de negocio, antes de “meterlos a la jugera”.
A nadie le gustan los jugos hechos con frutas podridas.. :P

Contexto:

//En la cocina podria haber un Cheff, juguera vaso, y naranjas.
Cheff cheff = new Cheff();
Juguera juguera = new Juguera();
Vaso vasoDeJugo = new Vaso();
List naranjas = BolsaDeHilo(41);

//El cheff toma las naranjas
cheff.Manos = naranjas;

//Las inspecciona
cheff.Inspeccionar(); (*)

//Usa la jugera
cheff.Herramienta = juguera;

//Hace el jugo.
vasoDeJugo = cheff.Procesar();

Luego de que el “Cheff” toma en sus manos las naranjas, las inspecciona.

El Cheff no es experto en naranjas, lo unico que sabe es mirar la naranja y observar un par de atributos para descidir si es apta o no para el proceso que continua.
Es aqui (*) donde se hace la validacion:

public void Inspeccionar()
{
foreach (Naranja naranja in manos)
if ( !validador.IsValid(naranja) )
throw new ApplicationException(
string.Format(”Naranja invalida: {0}”, runner.GetErrorSummary(n).ErrorMessages)
);
}

Para cada naranja, vemos si es valida. Tal cual.

La definicion de las condiciones que debe cumplir una naranja, puede hacerse (o no) de manera acoplada, por ejemplo

[ValidateNotSameValueAttribute(true)]
public bool Podrida
{
get { return podrida; }
set { podrida = value;}
}

Si una naranja esta podrida, entonces la validacion cortara el flujo de ejecucion con una Escepcion:

Unhandled Exception: System.ApplicationException: Naranja invalida: Field must not equals ‘False’
at JugoNaranjas.Cheff.Inspeccionar () [0×0002a] in /home/killfill/Projects/JugoNaranjas/JugoNaranjas/Cheff.cs:23

otro ejemplo podria ser:

[ValidateEmailAttribute(”huh?”)]
public string Comprador
{
get { return comprador; }
set { comprador = value;}
}

Si el atributo “Comprador” de una naranja no es un correo, la escepcion sera:

Naranja invalida: huh?

Hay un par de validadores (Validate*) simples ya echos, pero podriamos perfectamente hacer uno especial:

public class ValidadorColor : AbstractValidator
{
public override bool IsValid (object o, object fieldValue)
{
return ((Naranja) o).Color != “verde”;
}

public override bool SupportsWebValidation {
get { return true; }
}
}

Donde se define que si la naranja no es verde, entonces no esta buena…
(De pasadita habilitamos el uso Web)

Para poder usar esta definicion directamente en una Naranja, se debe hacer un Atributo, a modo de Adaptador a esta nueva validacion

public class ValidaColorAttribute : Castle.Components.Validator.AbstractValidationAttribute
{
public ValidaColorAttribute() : base(”Las naranjas verdes son acidas…”)
{}

public override IValidator Build()
{
IValidator validator = new ValidadorColor();
ConfigureValidatorMessage(validator);
return validator;
}
}

Sin entrar en mas detalles, aqui de define el mensaje de excepcion, y se escribe el metodo Build, que el componente usa para obtener en validador que le corresponde al atributo.

El atributo se usaria igual que los otros…

[ValidadaColor]
public string Color
{
get { return color; }
set { color = value;}
}

Con eso, nos aseguramos que el jugo no quede acido, pues si hay una naranja verde, obtendriamos:

“Naranja invalida: Las naranjas verdes son acidas…”

saludos.

Leer el post completo »

En: Uncategorized — May 8, 2007

KuArZo: C# y Mono

Una nueva etapa comienza y es hora de volver a retomar programacion, pero ahora a nivel profesional y que mejor forma de hacerlo que en nuestro ambiente preferido. Gracias al excelente trabajo de Mono, hoy en dia solo basta entender y conocer el lenguaje para programar sin problemas en “aspx” o en “c sharp”.

 Mas adelante les estare publicando informacion de avances y/o mejores practicas para quienes como yo se esten iniciando.

Leer el post completo »

En: Uncategorized — May 5, 2007

OpenBSD 4.1

Como ya es costumbre y siempre a tiempo, el día de ayer, quedó oficialmente Liberada la nueva versión 4.1 de OpenBSD.

Leer el post completo »

En: Uncategorized — May 2, 2007

buddy icon Planeta BSD, es un planeta que recopila escritos en español relacionados con los sistemas BSD (FreeBSD, OpenBSD, NetBSD,...) y todo lo relacionado con ellos. Hay pocos sitios que hablen sobre BSD en español, y los que hay cuesta encontrarlos, con este planeta pretendo juntar todos esos Blogs o Webs en las que comentan sus aventuras con *BSD.

Secciones

Buscador

Pulsa ENTER al terminar de escribir

Categorias


Warning: Invalid argument supplied for foreach() in /home/inkilino/public_html/Planetas/planetabsd.es/wp-includes/template-functions-category.php on line 321

Contribuidores


Sindicar

Puedes Sindicar el contenido de este blog en tu lector de noticias usando alguna de las siguientes formas: RSS 2.0 o Atom



Creado por Diseño y Desarrollo Web y gestionado con WordPress

Planeta BSD © 2010 — Algunos derechos reservados

compuntoes