Entradas

Mostrando entradas de 2011

Recorrer diccionarios usando LINQ

En este ejemplo se puede ver claramente cómo recorrer un diccionario usando LINQ. using System; using System.Collections.Generic; using System.Linq; static class TestDictionary { static void Main() { Dictionary frenchNumbers; frenchNumbers = new Dictionary(); frenchNumbers.Add(0, "zero"); frenchNumbers.Add(1, "one"); frenchNumbers.Add(2, "two"); frenchNumbers.Add(3, "three"); frenchNumbers.Add(4, "four"); var evenFrenchNumbers = from entry in frenchNumbers where (entry.Key % 2) == 0 select entry.Value; } } Fuente: http://www.java2s.com/Code/CSharp/CatalogCSharp.htm

[Svn] Branches, trunk y tag

Mucha gente seguro ha oido hablar de Svn. Para la gente que no tenga idea de qué se trata, puede hechar un vistazo en google a los conceptos de subversión, control de versiones, etc. El objetivo de este post es ayudar a los que recién se inician en el control de versiones con Svn, a organizar un proyecto dentro del repositorio, y para que al que le hayan aparecido estas carpetas les dé un buen uso. Trunk - Carpeta de trabajo actual. En esta carpeta se pondrá el código del trabajo día a día . Tags - Carpeta de releases. En esta carpeta se agregan copias de la carpeta Trunk, para cada versión de lanzamiento de la aplicación. Branches - Carpeta de ramas. En esta carpeta se colocarán copias de la carpeta Trunk, en caso de que paralelamente se deseen realizar experimientos sobre el proyecto , siendo estos experimentos riesgosos para el mismo dada la magnitud de sus cambios. La idea básicamente es trabajar sobre la carpeta trunk. Trunk representa el "tronco" del

Documentar código Python con Doxygen

Imagen
Trabajando en un proyecto grupal en Python, el otro día decidimos generar la documentación del código utilizando Doxygen. Para ello, abrimos este programa, establecimos las configuraciones correspondientes, y a la hora de generar la documentación no pasaba nada... Googleando, descubrimos que para hacer esto con Python es necesario utilizar un plug-in: Doxypy . Link de doxypy: http://code.foosel.org/doxypy Para utilizarlo, deben descomprimir el archivo, en nuestro caso lo hicimos en la carpeta del proyecto, y luego especificar en Doxygen su dirección. A continuación, una de imagen de ayuda:  Y listo, con eso les queda configurado Doxygen para poder generar documentación de Python. Espero que les sea útil, saludos!

Las 10 habilidades más importantes para los programadores

Imagen
Es importante asegurarse que nos estamos beneficiando lo más posible cuando invertimos tiempo y esfuerzo en capacitarnos y aprender cosas nuevas. En la siguiente lista veremos las 10 habilidades que deberíamos aprender para que nuestro currículum sea relevante por los siguientes 5 años. Esta lista no es completa ni cubre algunos nichos de mercado (como ser los mainframes). Sin embargo, si aprendés al menos siete elementos de esta lista no te vas a equivocar. 1. Uno de los "3 Grandes" (Java, .NET, PHP) A menos que ocurra algún cambio radical en el mundo del desarrollo (como ser un asteroide que caiga sobre Redmond), la mayoría de los desarrolladores van a necesitar conocer alguno de los Tres Grandes sistemas de desarrollo: Java , .NET (VB.NET o C#), o PHP. Y tampoco alcanza con conocer al lenguaje principal. A medida que los proyectos crecen y van acaparando más funcionalidad, vamos a necesitar conocer los frameworks y librerías asociadas con profundidad. 2. Aplicacio

"Python No Muerde", un excelente libro de Python!

Python no muerde es un libro que aún se encuentra en desarrollo, pero la verdad que tiene cosas muy interesantes. El link: Python No Muerde

Ordenar lista en python - Super fácil!

En este ejemplo se muestra una clase llamada TestOrdenamiento, que posee una lista de elementos definida dentro del constructor, y posee un método que se encarga de ordenarla de mayor a menor. testordenamiento.py class TestOrdenamiento: def __init__(self): '''Constructor. Genera una lista nueva.''' self.lista = [4, 1, 5, 25, 2, 7, 0, -10, -100] def ordenarMayorAMenor(self): '''Ordena la lista de mayor a menor.''' cmp = lambda x,y: self.__cmpMayorMenor(x, y) self.lista.sort(cmp) def mostrar(self): print self.lista def __cmpMayorMenor(self, x, y): '''Comparador. Este método define la forma en la que se compararán dos elementos de la lista. En este caso se comparan de mayor a menor.''' if x < y: return -1 elif x == y: return 0 else: return 1 Es ba

[Muy interesante] C# versus Java: eventos

Navegando por la internet encontré un link muy interesante acerca de una comparación de utilización de eventos en C# y en Java. Además de la comparación, enseña a usar eventos en Java, eventos en C#, y unos cuantos secretos. Muy recomendado. http://www.marteens.com/trick53.htm

¿Android?

Ayer, en mi búsqueda por comprarme un nuevo celular, mirando entre ciertas características, vi que en varios de ellos decía "Android"... Entonces me dije, ¿Qué es Android?... Primer lugar de búsqueda, Wikipedia . De ahí aprendí qué es Android, y cuáles son sus características. Aquí un pequeño resumen: Android es un sistema operativo basado en Linux para dispositivos móviles , como teléfonos inteligentes y tablets . La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Glibc . El s