Actualmente estoy trabajando en un prototipo de aplicación bastante
sencillo, pero que requiere que aprenda bastantes cosas (y por lo tanto
voy algo lento). Uno de los pequeños problemas con los que me enfrenté
fue la creación de un sistema de usuarios y no quería dejar el
password en abierto en la base de datos aun cuando solo fuera a
utilizarlo yo.
Echando un ojo al módulo crypt de Python, requería un poco de
sal, por lo que me vi de repente con que no quería meter la sal ni en
un fichero de configuración ni obviamente en el código fuente. Por lo
que finalmente decidí que la sal …continue.
Esta mañana he encontrado un enlace recopilatorio de lecturas sobre
python, cubriendo un buen montón de temas. Algunos de los mencionados ya
los nombré hace poco.
Intentaré actualizar este post segun vaya leyendo algunos de esos
artículos si merecen algún tipo de reseña especial.
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.
Estoy intentando hacer la transición del código de Python de una
aplicación desde mx.DateTime a la librería estándar de Python datetime.
Las razones son 2, por un lado quitarnos una dependencia que no hace
falta realmente y por otra facilitar la transición a psycopg2 (estamos
usando el 1 ahora mismo). La mayor parte de las cosas son fácilmente
traducibles ya que en ocasiones usan la misma sintaxis o parecida.
Si bien nadie debería jugar demasiado con epoch dado que Python
ofrece múltiples opciones para jugar con la fecha tanto en mx.DateTime
como en datetime, parece que los tiempos de C no se olvidan y hay quien
lo prefiere. Esto, …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])
La sintaxis básica de Python es algo que se aprende en una tarde, menos
incluso según la experiencia de cada uno. Lo que se tarda más es conocer
todo eso que viene después, todo lo que hace el código de Python más
legible, o sencillo. Por ello, desde hace algún tiempo intento reservar
un poco de tiempo cada día a leer algo sobre como mejorar esa parte.
Para recordármelo y para ayudar a aquel que busque información de un
nivel intermedio he montado la siguiente lista de recursos de python que
hay que leer en algún momento:
« Next