Mis primeros pasos con MongoDB

Para ser honesto yo ya había instalado MongoDB hace años, pero no es sino hasta ahora que me ha tocado un proyecto en el cual creo que le puedo sacar mucho provecho. En vista de esto, me senté a jugar un poco con la herramienta. La Internet cuenta con muchos lugares de donde podemos bajar […]

Trucos con ‘static’ en Java

Les voy a mostrar un pequeño truco en Java. ¿Cual es la salida del siguiente código? package com.kodegeek; public class StaticWeird { public static int count = 0; public static void print() { System.out.println(++count); } /** * What is the output? * @param args */ public static void main(String [] args) { StaticWeird weird = […]

Decoración de funciones en Python usando functools

La decoración de funciones, usando functools, en Python nos permite eliminar código repetitivo que debemos escribir una y otra vez, y también nos permite modificar funciones existentes con unas pocas lineas de código. Como ejemplo, veamos la tubería que escribí hace tiempo atrás: #!/usr/bin/env python3 import sys, re def grep(expression): while True: text = (yield) […]

‘Contexts’ en Python

En Python, un contexto (context) es una clase que implementa los métodos ‘__enter__’ y ‘__exit__’ los cuales son llamados si la clase en llamada con la palabra reservada ‘with’. Por ejemplo, los descriptores de archivo (file handle) en Python se pueden llamar con un contexto, ahorrando llamar ‘finally’ para cerrar archivos, sin importar si hay […]

Functors en Python

Un ‘functor’ es u objeto el cual puede ser llamado como si fuera una función. En Python simplemente hay que implementar el método ‘__call__’. En este ejemplo, vamos a tomar a los candidatos presidenciales del articulo anterior y vamos a escribir una pequeña clase (llamada SortKey) la cual nos va a permitir ordenar por cualquier […]

Slots, Abstracts classes en Python 3

¿Se acuerdan del ejemplo anterior usando classes en Python? En este caso hice un par de cambios para aprender más sobre clases abstractas y slots (una manera de ahorrar memoria en Python cuando creamos objetos). En este caso: Uso un ‘slot’ para guardar sólo 3 atributos que son definidos en el constructor Declaro la propiedad […]