Estoy algo liado montando una api para un pequeño proyecto mio, buscando
que sea lo más cercano a RESTFUL por motivos laborales y por aprender
cosas nuevas (entremedias estoy probando Emacs, que me esta costando un
rato el cambio desde Vim).
Como framework estoy usando bottle, ya que siempre estoy usando
Flask y quería probar otro distinto a ver qué tal. Y más adelante
intentaré montarlo de manera asíncrona, pero eso para más adelante.
Como digo, es una primera aproximación, imagino que el código final
tendrá una pinta muy diferente, pero para alguien que quiera cargar
dinámicamente los módulos y tratar de ejecutar las funciones es un buen
punto de …continue.
En el weekly python newsletter, enlazaban al problema de sacar la
suma máxima, dado un árbol y utilizando el movimiento del clásico
videojuego qBert (no del todo cierto porque qBert sí podía subir,
pero eso son tecnicismos). El árbol en concreto sería así:
chrismasTree = [
[75],
[95,64],
[17,47,82],
[18,35,87,10],
…continue.
El otro día vi en reddit algunos temas en los cuales se creaba
música a partir de una línea de código (en realidad algo mas, pero la
parte importante estaba solo en una) y como curiosidad personal, decidí
hacer una versión serpentina de dicho programa, una vez conseguido
(fácil, rápido y feo) quise poner un poco mas interés y utilizar
funciones lambda y generadores. El resultado es el siguiente:
#redirigir el output a /dev/audio o instalar sox y redirigir a
# "play -u -b 8 -t raw -r 8000 -" sin las comillas
#modificar la parte interna de la funcion int() para variar la "melodia"
func = lambda t:
…continue.
he decidido mejorar un poco el codigo de una de las funciones heredadas
de alguien que ni siquiera conozco (por suerte) y he decidido
convertirlo de
buf.write(" WHERE 1=1 ")
for col in to.pk:
buf.write( " AND " )
buf.write( col )
buf.write( " = %s" )
par.append( getattr( obj, to.map[ col ] ) )
a esto otro
buf.write("WHERE %s" % " AND ".join(["%s = %s" % (col,getattr(obj,to.map[col])) for col in to.pk])