martes, 23 de agosto de 2011

La verdad tras Unity Application Blocks - Parte I

Saludos, después de un buen tiempo vuelvo a escribir, el trabajo ustedes ya lo sabrán, en esta ocasión escribiré sobre algo que estuve viendo y aprendí, se trata sobre IoC y DI osea, Inversión de Control e Inyección de Dependencia en Unity

En esta serie de post de Unity, daremos respuestas a una serie de interrogantes que aparecieron mientras hacia un proyecto y al final del mismo pondremos un código completo de todo lo aprendido.

En este post veremos algo que es simple, cuando ya lo sabes o la curiosidad y la molestia hicieran de las suyas.

Cómo divido mi web.config o Appconfig en varios archivos de configuración para no centralizar en exceso mi configuración???

+ Bueno en realidad Unity no te permite de forma nativa tener varios archivos de configuración, como si lo hace Spring u otros IoC framework, pero eso no significa que no puedas hacer truquitos para poder hacerlo y que inclusive sea mejor que los clásicos, el truco es el siguiente:
++ En lugar de poner en duro y en forma centralizada todo el container de Unity en el webconfig, puedes divirlo por sections compuestas por uno o muchos containers, de la sgte manera:


Como se puede notar, estamos usando ConfigSections y de esta manera, se logra dividir el web.config de Unity en varios archivos, y esto dara lugar a que si usamos un mismo container en todos los archivos estos se vean entre si, ademas de muchas otras ventajas que seguro irán descubriendo con el transcurrir del tiempo

A continuación adjunto los archivos de configuración (web.config como uno de los section que hicimos para permitir el multi config file)




Espero puedan perdonar la pequenhes del post, pero espero esto quite muchas dudas, como la que yo tenia cuando comencé con Unity, la verdad es que ningun post en internet encontre que djera esto, esto salio por casualidad y un poco de curisidad. Saludos, nos vemos en el sgte. post que lo hare sobre algo mas interesante ... AOP..


NuSs

sábado, 16 de julio de 2011

Python + Django + GAE = miracles (Fedora 15) - I Parte

En esta entrada comentremos de como poder tener un ambiente de desarrollo, en Fedora, para poder programar en Python usndo como framework a Django y todo esto usando el Google AppEngine (que desde ahora llamaremos GAE).

Primero necesitaremos conocer algunas caracteristicas de aquello en lo que nos estamos metiendo, por supuesto lo que se tiene qu explicar es por supuesto: versiones de python y Djang las cuales GAE soporta, porque ya ustedes sabran que no podemos usar cualquier version de estos dos items, porque en si, GAE no es que no los soporte, sino que no se ejecutaran a su maxima extension o puede que simplemente halla modulos los cuales no tengan el mismo nombre; despues de haber dado este preludio comenzaremos:

Necesitamos:

  • Una pizca de python 2.5.X
  • Un cucharadito de Django 1.1.X
  • y por supuesto una taza sopera de GAE (la cual no diremos de donde descargarla porque mas adelante les daremos una receta de como obtenerla) 
Nota: Si se hallan en la misma situacion que yo al momento de escribir este post y se hallan en Fedora 15 u otra distribucion la cual lleva por defecto python 2.7.X o quien sabe superior, no te preocupes, despues de haberme perdido, buceado, navegado, etc. por la web encontre una forma completa (extraida de a pedacitos) para poder tener un entorno de desarrollo adecuado, y probado :).

A continuacion necesitamos "comenzar" a preparar el ambiente de desarrollo para que nuestras apps en python y django se puedan ejecutar sobre GAE

Para esto no importa que version de python tengamos instalado en nuestra PC ya que nosotros utilizaremos VirtualENV el cual nos podra permitir "montar" un ambiente de desarrollo para python desligado de las versiones de nuestro SO. Para ello usaremos nuestro viejo amigo: YUM


# yum install python-virtual-env

Algo muy importante que necesitaremos en el transcurso de este tutorial es por supuesto la herramienta "pip" que es similar a yum pero solo para python, lo pueden instalar con yum o sino de la siguiente forma:


$ sudo easy-install pip

Nota: Para los que hayan trabajado antes con python sabran que con easy-nstall y pip pueden instalar lo que deseen y mucho mas :)

Y ok ya tenemos instalado virtualENV, ahora comenzaremos el verdadero trabajo :). Montemos nuestro ambiente de desarrollo, para ello prepararemos una pequenha distribucion de carpetas para poder diferencias entre libraries (o bibliotecas) y nuestro code source:


$ mkdir -p foo/{env,src}
$ cd foo/
$ virtualenv --no-site-packages --python=python2.5 env/


Lo primero que hicimos fue crear la distribucion de carpetas en env se hallaran nuestras libraries y en src nuestro codifo fuente, despues de ello con el comando virtualenv, comienza la magia, le estamos pasando de parametros  --no-site-packages con esto le decimos a virtual env que cree un ambiente totalmente separado de nuestra distro y que no copie ninguna library del mismo, y con --python=python2.5 env/ que instale en el ambiente de desarrollo python en su version 2.5 (puede ser la que deseen solo cambien la version de python) en la carpeta env/.

Lo siguiente sera instalar django (ya sabemos que debe de ser la version 1.1.X para poder trabajar sin problemas con GAE) para ello usaremos, nuestro programita "pip"

$ pip -E env/ install Django==1.1

Nota: Cuando se desee instalar algun modulo en especial se necesita usar de esta forma con el operador == y la version que deseas.

Para anhadirle algunas opciones mas que no sn obligatorias, pero podrian ser utiles cuando programes (sobr todo en esta web2.0) puedes usar instalamos algunos eggs.


$ sudo pip -E env/ install -e hg+https://bitbucket.org/ubernostrum/django-registration#egg=django-registration
$ sudo pip -E env/ install -e git+https://github.com/flashingpumpkin/django-socialregistration.git#egg=django-socialregistration

Esta primera parte ya esta casi completa, solo necesitamos ver si lo que instalamos hasta el momento esta corrrecta y funcionalmente instalado, para ello usaremos yolk:


$ pip -E env/ install yolk
$ source env/bin/activate
(env)$ yolk -l

Con el primer comando, como ya sabemos, instalamos el programa o modulo que deseemos, en este caso yolk, con el segundo ordenamos al SO que active nuestro entorno customizado y por ultmo con yolk -l al igual que un ls -l, listara en este caso no archivos sino modulos y programas instalados en nuestor ambiente de desarrollo.

Con esto hemos llegado al final del primer tutotial, con fe como siempre digo, el segundo tutorial ya mostrara la instalacion mas adecuada que he encontrado para GAE y si no se hace muy extenso el como solucionar los problemas que no soy el unico que le han sucedido pero que para poder resarcirlos hay que bucear un buen rato.

Hasta la proxima, NuSs empowerment (asi se escribe no???)

XP

martes, 17 de agosto de 2010

Hello World!!

La primera entrada en este nuevo mundo... -w- que emoción, bueno como todo en el mundo se debe iniciar con un ...


... de aqui en adelante intentare hacer y dar lo mejor de mi, en este blog!!... un gran saludo a todos :D 

-----------------------
Nus