Google
 

Blog de Rodrigo Juarez sobre TI

  • Meta

12 Nov

Don’t chase every ball MS throws

Del foro de codeproject

Don’t chase every ball MS throws. You’re a developer, not a dog - if you can get the job done faster using ASMX, or ASHX, or a custom HTTP server, or carrier pigeons… then do it. I have it on a reliable source that WCF rocks… but until you have had the time to learn it well enough to be fast using it (i haven’t) then write what you need using what you already know.

31 Oct

Optimizacion de NHibernate

Articulo (en ingles) sobre consideraciones iniciales para la optimización de NHibernate
http://www.flux88.com/BlameNHibernateWhyNot.aspx

28 Oct

Depuración de aplicaciones con DebugView y el appender de log4net OutputDebugStringAppender

En este post se muestra en forma práctica como configurar un sistema de depuración para una aplicación de múltiples capas, desarrollada en VS 2008, con la interfaz de usuario en un sitio web, y utilizando NHibernate para la persistencia.
Aprovechando la integración de NHibernate con log4net y que log4net puede enviar información de depuración a la maquina local, utilizamos DebugView para ver dicha información.

Herramientas utilizadas, descarga e instalación

DebugView (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx)
Descargar el archivo comprimido y descomprimir en la carpeta deseada.
log4Net (http://logging.apache.org/log4net/index.html)
Al utilizar NHibernate internamente, en la carpeta donde se encuentran los binarios de NHibernate, se encuentra el archivo log4net.dll, que es el que necesitaremos referenciar para hacer funcionar log4net

Configuración de log4net

En el archivo app.config de mi proyecto de test, incorporo las siguientes líneas de configuración.

Consultar la pagina de log4net para obtener mayor información sobre opciones de configuración especificas

Cambiar el valor de priority dentro de root dependiendo de la cantidad de información que quiere obtenerse. Los posibles valores son (ordenados de mayor a menor prioridad)
• ALL
• DEBUG
• INFO
• WARN
• ERROR
• FATAL
• OFF
Podemos desactivar completamente el funcionamiento de log4net, cambiando el valor de threshold entre ON y OFF

Ver la depuración

Al iniciar el DebugView y correr los test (en mi caso utilizando ReSharper) la ventana del DebugView comienza a mostrar la informacion de depuración sobre lo que se esta ejecutando

Enviar mensajes al depurador dentro de la aplicación

Podemos enviar nuestros propios mensajes a log4net que serán visibles en la ventana de DebugView.
En la clase en la que deseo enviar información, agrego la siguiente propiedad para configurar log4net

private static ILog _log;
public static ILog log
{
get
{
if (_log == null)
{
log4net.Config.XmlConfigurator.Configure();
_log = LogManager.GetLogger("TestLog");
}
return _log;
}
}

Luego en el código, envío la información mediante


public void CBUTest()
{
log.Info("Test de Salida");

13 Oct

Pasarelas de pago

En este post voy a ir agregando distintas pasarelas de pago y costos asociados, asi como comentarios sobre el servicio o su utilización


DineroMail

Permite trabajar con Argentina, Mexico, Chile, Colombia y Brasil
Ingresando a la pagina de Argentina, vemos que trabaja con tarjeta de crédito, Pago Facil, Rapipago, Bapro Pagos y Cobro Express.
Se puede cobrar desde una pagina web, por correo electronico o enviando cupones para que el cliente imprima y pague con los medios anteriormente citados.

Enlaces de interes


Decidir

Enlaces de interes


PayPal

Enlaces de interes


2Checkout!

Enlaces de interes

27 Sep

Acceso a datos con NHibernate (Implementacion de un repositorio y uso de criteria)

En el sitio de NHibernate encontré un muy buen post (en ingles) sobre la implementación de la capa de acceso a datos utilizando NHibernate, la parte que me pareció particularmente interesante, son los métodos de consulta a datos, utilizando detached criteria

Acceso a datos con NHibernate

25 Sep

Cambio de temas ASP.Net y DevExpress

Utilizando la suite de controles de DevExpress es muy sencillo modificar el tema de todo el sitio asi como de los controles.

A continuacion se muestra el mismo sitio con tres temas distintos


Tema Black Glass


Tema Soft Orange


Tema Youthful

Para utilizar los temas que se distribuyen con DevExpress, debemos copiarlos desde Archivos de programa\Developer Express .NET v8.2\Sources\DevExpress.Web.ASPxAutoFormats a la carpeta App_Themes de nuestro sitio web.
Una vez en nuestra carpeta App_Themes, es necesario realizar una pequeña modificacion. Dentro de la carpeta de cada tema, existe a su vez nuevamente la carpeta app_themes y el nombre del tema, debemos mover el contenido de dicha carpeta al App_Themes/tema inicial.
Por ejemplo, los archivos que originalmente se encuentran en RutaWeb/App_Themes/Glass/App_Themes/Glass deben moverse a RutaWeb/App_Themes/Glass/

No todos los temas incluyen la personalización para todos los controles que existen en la suite. Los controles soportados los podemos determinar por los archivos .skin que se encuentran dentro de la carpeta del tema.

Al compilar el sitio web puede surgir un error sobre librerias dll faltantes, lo que se produce, cuanto tenemos el archivo .skin correspondiente a un control no utilizado por nuestro sitio web. Las posibles soluciones son la eliminacion del archivo .skin o la inclusión de una referencia a la dll faltante.

Finalmente, en el pre init de la pagina que queremos que tome el tema, utilizar el siguiente codigo

protected override void OnPreInit(EventArgs e)
{
this.Theme = "Glass";
base.OnPreInit(e);
}

Funciona correctamente tanto en Visual Studio 2005 como en Visual Studio 2008, la version de DevExpress utilizada es la 8.1.2

Referencias
DevExpress ASP.NET Themes – Easy 3 Step Customization for Your Projects

26 Aug

NHibernate 2.0 GA disponible y nuevo sitio para la comunidad

Ya esta disponible NHibernate 2.0 GA
La pagina en NHibernate.org no se encuentra actualizada, ya que el team de NHibernate ha creado un nuevo sitio para la comunidad NHForge.org
Algunos enlaces de interes
Descarga
Post en la pagina de Ayende
Articulo en InfoQ

05 Aug

Parsear el pubDate de origenes RSS

Al intentar obtener la fecha desde un origen RSS, podemos encontrar problemas al momento de convertir el string devuelto por pubDate ya que puede ser no reconocido como una cadena convertible.
El formato por defecto para las fechas en RSS es el determinado por la RFC 822

A continuacion, se encuentra una sencilla funcion en C# que devuelve un valr DateTime a partir de una cadena pasada como parametro con formato RFC 822 (el valor de hora no es parseado)


protected static DateTime ParseDateRFC822(string pDate)
{
try
{
string[] _fecha = pDate.Split(’ ‘);
string[] _meses = {”Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Aug”, “Sep”, “Oct”, “Nov”, “Dec”};
int _mes = Array.IndexOf(_meses, _fecha[2]) + 1;
return new DateTime(int.Parse(_fecha[3]), _mes, int.Parse(_fecha[1]));
}
catch(Exception oEx)
{
return DateTime.Now.Date;
}
}

09 Jul

Problemas de conexión con Speedy en Argentina julio 2008 - Posible solucion?

En la semana del 6 de julio de 2008 he tenido varios problemas de conexión a internet utilzando el servicio brindado por la empresa Speedy.
El servicio a funcionado en forma intermitente.
En los ratos que he podido conectarme, estuve buscando información al respecto ;)
Al parecer es un problema con el servicio de DNS, y como solucion, he cambiado los mismos por los provistos por la empresa www.opendns.com.
Los datos del servidor DNS son los siguientes
208.67.222.222
208.67.220.220

Aqui les dejo un enlace externo sobre como cambiar las DNS

Saludos!

02 Jul

Domain Driven Design en la práctica

Encontre este extenso e interesante articulo en InfoQ sobre DDD y varios temas relacionados con el mismo.
El articulo esta en ingles y se puede acceder aqui

© 2008 Blog de Rodrigo Juarez sobre TI | Entries (RSS) and Comments (RSS)

Powered by Wordpress, design by Web4 Sudoku, based on Pinkline by GPS Gazette