May 08, 2012

uokesita

Charlas AXAS 2012 Desarrollo de Aplicaciones para Páginas Web y Dispositivos Móviles

Una conferencia diseñada tanto para desarrolladores de aplicaciones web y programas para dispositivos móviles, como para cualquier persona que esté interesada en mejorar sus procesos de manejo de información en internet, uniendo a los expertos y visionarios de la web para discutir las tecnologías y plataformas más adecuadas a sus necesidades.

Usted tendrá la oportunidad de ver de cerca las experiencias y compartir los conocimientos en el área de desarrollo y aplicaciones que permitirán que su organismo, negocio o empresa, se beneficie directamente para impulsar sus procesos informáticos a un nivel más avanzado.

Nuestros ponentes provienen de diversas áreas de la industria, siendo reconocidos por su amplia trayectoria y experiencia.

Este año la cita será el día viernes 18 de Mayo en el Teatro Juares de Barquisimeto. Le invitamos a asistir al avento que le brindará la oportunidad de mejorar su productividad como desarrollador y como gerente de tecnología de su empresa.

Mas informacion: https://www.facebook.com/events/452485038100036/456662871015586/?ref=notif¬if_t=plan_mall_activity

Tags: eventos

Apr 19, 2012

uokesita

FLISOL 2012 - Maracaibo

http://cesarsevilla.files.wordpress.com/2012/04/poster2012v1-2.png

Este es el cronograma de charlas para FLISOL 2011 de Maracaibo:

  • - Empresas que prosperan con productos abiertos por Jorge Urdaneta
  • - El Escritorio Ligero por Rafael Cayama
  • - Modo de producción» del Software Libre por Ángel Ramírez
  • - Wikipedia OffLine por Wilfredo Rodríguez
  • - Red de Facilitadores Comunitarios Canaima GNU/Linux por Mariel Adarmes (CNTI)
  • - XBMC / La revolución del Media Center por Raúl Mier
  • - Avances de Wine por Luis Alvarado

Para mayor información puedes visitar http://flisol.net/FLISOL2012/Venezuela/Maracaibo

Para otras sedes: http://flisol.net/FLISOL2012/

Si quieres dar alguna charla puedes registrarte en http://registro.flisol.org.ve/

Tags: eventos

Mar 14, 2012

uokesita

Introducción a Git (video)

Hace tiempo hice una serie de videos de Git (Sistema distribuido de control de versiones). Acá presento el primero de 3 videos, en este video doy una breve descripción de git, como configurarlo en tu maquina y algunos comando básicos.

ACTUALIZACION: He colocado el texto completo de este tutorial por si alguien le va mas el tutorial escrito.

Seguir leyendo...

Tags: git

Mar 12, 2012

uokesita

Enlaces de la semana

Tags: general

Mar 05, 2012

uokesita

Enlaces de la semana

Tags: general

Mar 04, 2012

uokesita

Ruby tips - Cambiando el contexto con irb

Podemos cambiar el contexto en el que nos encontramos cuando hacemos script/console en nuestra aplicación Rails. Veamos un ejemplo (suponemos que tenemos un modelo User en nuestra app)

              >> script/console 
              Loading development environment.
              
              >> irb User
              >> self
              => User(id: integer, username: string, first: string, last: string, email: string, phone: string, password_salt: string, password_hash: string, created_at: datetime, updated_at: datetime)
              >> find(:last)
              => #<User id: 12784, username: "test", first: "FirstName", last: "LastName", email: test@mail.com, phone: nil, password_salt: "am2r+CLM", password_hash: "e9d933c05f7c4ef1f3008d31fdwe31c622753dfe7c83bef8cb1...", created_at: "2012-01-18 06:50:43", updated_at: "2012-02-10 23:26:12">
              
              >> irb User.find(:last)
              >> username
              => "test"

Podemos incluso usar nuestros controladores o helpers:

              >> irb ApplicationController
              >> self
              => ApplicationController
              >> self.before_filters
              => [:check_authentication, ...]

Ya que esto es irb, tambien nos sirve en cualquier script dentro o fuera de Rails. Espero les sea de utilidad.

Tags: rails ruby

Feb 27, 2012

uokesita

Enlaces de la semana

Tags: general

Feb 20, 2012

uokesita

Enlaces de la semana

Tags: general

Feb 14, 2012

uokesita

7mo Refresh Maracaibo

Sábado 18 de Febrero.
3:00 pm
Biblioteca Pública del Estado Zulia (Av. El Milagro)

Agenda:

  • - La publicidad online: mas allá de Adsense Adsense es la herramienta principal para la publicidad online del gigante de la internet: Google, por ello, muchos (incluyendome), tuvimos nuestra primera experiencia midiendo y cobrando gracias a ella, pero, como el tiempo pasa, y lo único constante es el cambio, procedo a listar otras alternativa interesantes para ofrecer espacios publicitarios en nuestras páginas, más allá (en principio) del propio Adsense, y que estan en español. (20 min)
    Fernando Fuentes @emprendovzla

  • - Tablets, dos años de historia (20 min)
    Jorge León@jorgeleon

  • - 5 tips en 5 minutos: Aprendiendo a programar (5 min)  
    Osledy Bazo@uokesita

  • - Mesa Redonda

  • - Wine - Windows en Linux La ponencia está orientada a demostrar los avances en el soporte de aplicaciones y juegos de Windows para Linux (30 min)
    Luis Alvarado, Miembro del proyecto UBUNTU @luisalvaradox

  • - Diaspora: Una red social más abierta para todos Diapora es la red social que nos pone en control de nuestra información, mientras nos ofrece una experiencia de conexión social novedosa y fabulosa. Esta presentación no solo busca presentar la herramienta que ha sido base para proyectos como Google +, sino también mostrar a la vibrante comunidad que comparte contenido en esta red social. (30 min)
    Effrain Valles, Miembro del proyecto UBUNTU @effiejayx

Tags: eventos

Feb 13, 2012

uokesita

Enlaces de la semana

Tags: general

Feb 07, 2012

uokesita

Hablemos de Testing

Este articulo no es para tratar sobre ¿porque debemos hacer tests?, ni de como hacerlos es sobre los test de validación y algunos de sus tipos.

Los test de validación son tests que miden algún aspecto de la implementación de nuestro programa contra una expectativa, resultado o comportamiento y nos ayuda a responder si el programa cumple o no con esa expectativa.

Uno de los beneficios de hacer tests es que al crearlos nos vemos forzados a entender detalladamente el objetivo de nuestro programa. Esto se extiende mas alla de los programadores, tambien el cliente participara ya que para hacer los tests necesitaremos que el cliente sea muy especifico y nos de detalles de como quiere que se comporte el programa, eso realmente hace nuestro trabajo mas facil.

Los test que validan que el software funciona en condiciones ideales son llamados positive test, test positivos o mejor conocidos como test que prueban el camino feliz (happy path), estos test usan datos de entrada conocidos y que no producen excepciones o condiciones de error. Por lo tanto no nos servirán si queremos validar la infinidad de condiciones en las que el programa puede ser usado. Para esto debemos hacer tests que ejerciten el lado negativo, camino triste o sad path, estos probaran las posibles variaciones que puedan presentarse y que puedan generar un comportamiento no previsto.

Tests de Aceptación:

En los tests de aceptación el desarrollador debe ponerse en los zapatos del cliente y pensar como éste con respecto a las necesidades de sus usuarios. Es común que para estos tests contemos con la presencia del cliente para que detalle lo que desea que el programa haga. El objetivo es proveer confianza de que el sistema cumple con las expectativas del cliente y los usuarios.

Generalmente los test de aceptación son del tipo black box o caja negra, en otras palabras, están enfocados en la usabilidad y funcionalidad de la aplicación mas que en el detalle tecnico. Por eso intenta replicar el uso real de la aplicación en producción por los usuarios.

Estos test generalmente prueban una gran parte del programa o el programa completo, y pueden consistir de un script que emule las acciones que un humano puede realizar al utilizar el sistema. Una forma de hacerlos es escribir los requerimientos del cliente detalladamente y luego llevarlos a un test, pueden ser escritos por el mismo cliente en un lenguaje coloquial detallando cada acción que requiera que realize el sistema.

Tests Unitarios:

El objetivo de estos tests es buscar defectos en algún componente del programa, (modulos, objetos, clases, etc) estos pueden ser probados separadamente y verifican su funcionamiento correcto independientemente de otros componentes.

Son escrito por los desarrolladores y del tipo white boox o caja blanca, ya que prueban la funcionalidad interna del código, se dice de caja blanca o transparente porque prueba el código como tal (funciones, metodos, valores de variables), y no una funcionalidad general. Los test unitarios expresan un solo hecho por ello un test unitario no debe depender de otro test u otra funcionalidad.

Estos test permiten la colaboración colectiva, cuando se crean test unitarios permite proteger el componente de ser accidentalmente dañado por otro desarrollador. Tambien permiten la re-factorizacion, después de cada cambio los test unitarios pueden verificar que un cambio en el código no causo un fallo en la funcionalidad y resultados del programa.

Los test unitarios no pueden asegurar que el programa como tal funciona 100% correctamente pero puede demostrar que los componentes que usa el programa funcionan independientemente de otros.

Tests de Integración:

Como su nombre lo indica estos tests prueban la integración de varios componentes, por ejemplo pueden probar que dos test unitarios (o dos componentes independientes) trabajen en conjunto para producir un resultado esperado, es decir se prueba la interfaz entre esas dos unidades. Los componentes pueden ser otros modulos, funciones/metodos, clases, servicios externos, bases de datos, etc.

Escribir tests unitarios puede ser una tarea difícil cuando el programa es hecho por varios equipos de trabajo que construyen diferentes modulos y componentes por ello es importante que antes de hacer un test de integración los componentes independientes ya tengan sus test unitarios y cumplan con estos. La idea es probar combinaciones de piezas que eventualmente daran como resultado una funcionalidad completa.

Estos son algunos de los tests que podemos aplicar en nuestros desarrollos, en este blog hemos escrito varios artículos de testing que puedes leer para reforzar tu conocimiento:

Tags: testing

Feb 06, 2012

uokesita

Enlaces de la semana

Tags: general