feed

Python

Cazadores de Mitos: Las propiedades privadas en Python

30 comentarios

Cazadores de Mitos: Python

El otro día discutía con un buen amigo en Twitter sobre lo que el llamaba “falta de private protected y public keywords“ en Python y recordé la tremenda confusión y desinformación que hay en la red en relación a las propiedades y/o métodos “privadas/os“ en el lenguaje creado por Guido Van Rossum.

En esta entrada voy a intentar explicar por qué no existen propiedades ni métodos privados en Python y por qué no son necesarios, por qué existe esta confusión sobre los métodos y propiedades (o atributos) que utilizan el underscore (_ y __) y cual es la auténtica naturaleza de los mismos.

Leer más

Anunciate aquí
Anunciate aquí

Otro que cae en las garras de Github, Django

13 comentarios

django github

Y con Django no nos referimos, claro está, ni al afamado cantante español ni al popular personaje del spaguetti-western interpretado por Franco Nero. No, nada de eso, Django es el poderoso y cada día más conocido framework de desarrollo web en Python (por ejemplo, el chico de moda Pinterest lo lleva en sus entrañas) y que en los últimos días ha abandonado definitivamente Subversión, sistema de control de versiones que utiliza desde sus albores, allá por 2005, para pasarse a Git y compartir su código en Github.

De hecho la gente del Django Project ya tenía un repositorio en Github pero lo que compartían eran versiones siempre muy antiguas y desfasadas de su código. Ahora eso ha cambiado y han decidido unirse al gran hype que hay alrededor de este popular repositorio de código por lo que todos los pythonistas pueden encontrar a partir de ahora versiones muy actualizadas y calentitas con las que jugar.

Y lo cierto es que, después de echarle un vistazo a este repositorio en Github de Django, esta gente tiene un código de mucha calidad. Realmente da gusto, si te gusta leer código (oye, cada uno tiene sus vicios), pasearte por su árbol de ficheros e ir abriendo cada uno e indagando en él (aunque, como es mi caso, ni siquiera tengas gran idea de Python). Un gran trabajo al que ahora todos podemos acceder y contribuir.

Vía | Nettus+
Descarga | Github
En Genbeta Dev | Otro proyecto más que migra a GitHub: ahora Spring Framework

Anunciate aquí

Mezzanine, otro más en la familia de los CMS... pero esta vez el padre es Django

1 comentario

mezzanine

Puede parecer que el mundo de los CMS está bastante abarrotado. Los hay de todos los colores, open source y propietarios, basados en PHP, en Java, en Ruby… Pero la verdad es que construidos sobre Django no hay muchos y, que diablos, cuantos más mejor, vivan la diversidad y la posibilidad de elección. El caso es que Mezzanine es un CMS basado en Django, con licencia BSD y que ha alcanzado recientemente su versión 1.0.

Leer más

Pack de release candidates para Python por motivos de seguridad

1 comentario

python-logo.png

La Python Software Foundation ha anunciado hoy la disponibilidad inmediata de las nuevas versiones candidatas para Python 2.6.8, Python 2.7.3, Python 3.1.5 y Python 3.2.3, todas ellas, con parches de seguridad.

El motivo principal del lanzamiento se debe al fix de un problema de seguridad que afecta a todas las versiones actualmente soportadas de Python que se da en todos los tipo de base “hash”, los diccionarios y los objetos de tipo set.

Las nuevas versiones de Python 2.7.3 y Python 3.2.3 incluyen el parche de seguridad como parte normal del set de bug fixes de sus respectivas ramas mientras que los parches de las versiones 2.6 y 3.1 se añaden como mantenimiento solo por motivos de seguridad.

Leer más

Exhaustiva comparativa entre los principales lenguajes interpretados

9 comentarios

hyperplyglot

A veces hay que quitarse el sombrero y aplaudir cuando se descubre algo bien hecho y con cierta utilidad, como es el caso de la comparativa (y a su vez guía de referencia) entre lenguajes interpretados que se han marcado en Hyperpolyglot. PHP, Python, Perl y Ruby al detalle y comparados de una manera muy visual y efectiva.

Características generales, aritmética y lógica, strings, expresiones regulares, fechas, arrays, funciones, control de ejecución, sistema de ficheros, entornos, librerías, módulos, objetos, testing, debugging y más características diseccionadas y comparadas entre los cuatro lenguajes. Además de una multitud de notas al pie para resolver cualquier duda que te pueda surgir.

Una chulada que te puede servir como guía de referencia si tienes que pasar de un lenguaje a otro de manera rápida o si quieres comparar los lenguajes en algún aspecto. En definitiva, muy útil.

Pd: y tienen otras muchas comparativas, la de los lenguajes inspirados en C++ también es muy buena.

Vía | mmoroca.es
Más info | Hyperpolyglot

Las tecnologías que usa el hype del momento: Pinterest

6 comentarios

pinterest

El mundo de las redes sociales, los servicios webs o las apps móviles cada vez se parece más al de la música o al del cine. Y junto a las grandes estrellas o las campañas de marketing agresivas, el hype (pronúnciese jaip) también se ha establecido en este mundo. El último gran hype se llama Pinterest, es un bookmarklet social a mitad de camino de Delicious (del clásico, no del pseudo-remake de ahora) y Tumblr que está todavía en beta privada (acceso por invitación) y que, a pesar de llevar dos años online, no ha sido hasta hace un par de semanas cuando ha explotado y se ha convertido en la comidilla del mundillo.

Leer más

La versión 12.0.0 de Twisted ha sido liberada

5 comentarios

twisted_logo_software.png

A las 14:35:15 hora española de hoy, Thomas Hervé anunciaba en la lista de desarrollo de Twisted la release de la versión 12.0.0 de la conocida librería de desarrollo.

Entre los cambios añadidos a esta nueva release se incluye la resolución de 47 tickets entre ellos:

  • Un fix al reactor de GTK2 que previene de wake-ups innecesarios
  • Soporte preliminar para IPv6 en el lado servidor
  • Bastantes arreglos a la implementación del nuevo protocolo basado en TLS
  • Mejoras a la documentación principal en la página web

Leer más

Testeando nuestras aplicaciones de red con Scapy

3 comentarios

trace3d_1.png

Scapy es un manipulador de paquetes interactivo realmente potente y flexible escrito en Python que permite esnifar, generar paquetes mangled, enviar paquetes de red, probar equpamiento, descubrir y escanear redes, y desarrollar nuevos protocolos de forma trivial.

Scapy puede ser ejecutado como utilidad standalone o bien puede ser incluida como librería en nuestros propios proyectos mediante import. Scapy está disponible en Linux y otros sistemas POSIX como Mac OS X. También existe un port a Windows que podéis encontar en secdev.

Para ejecutar Scapy necesitamos tener privilegios de superusuario en el sistema ya que es necesario el control de las interfaces de red. Esta herramienta puede ser realmente útil para testear la seguridad de nuestras aplicaciones y de sus protocolos, yo la he encontrado muy útil para testear protocolos creados con Twisted.

Leer más

Python: Mezclar listas sin duplicados ó Aibalaostia

32 comentarios

Python Lang

Todo programador necesita en algún momento alguna “tontada” como la de mezclar dos listas sin que se copien valores duplicados.

Hoy he necesitado hacer precisamente eso en Python y me he dicho a mi mismo, esto es una “tontada” y seguro que ya hay una forma trivial de hacerlo.

Cuando creemos que algo es trivial pero desconocemos como se hace, ¿qué es lo que hacemos?, pues si, recurrimos al tio Google para buscar y en mi caso he buscado “merge lists in python

Leer más

Be Pythonic, my friend

2 comentarios

Be Pythonic, my friend

En cafepy.com, ya hace un par de añitos, quisieron hacer un artículo para que los programadores que quisiésemos introducirnos en el (maravilloso) mundo de Python tuviésemos un punto de partida donde “desaprender” todo lo necesario y proceder con la inmersión necesaria en este nuevo lenguaje.

Lo llamaron “Be Pythonic” y en él nos muestran situaciones habituales que nos vamos a encontrar en forma de código, todo en base a estructuras muy comunes y tratando asuntos tremendamente básicos como los arrays, las estructuras de control o funciones.
Básicamente se hace hincapié en los iteradores y en el manejo de arrays, donde Python es un auténtico campeón, haciendo su tratamiento de un modo muy natural. Parece, de hecho, que el lenguaje se hizo pensando en hacer fácil jugar con este tipo de estructuras.

Más información | cafepy.com: By Pythonic
Más información | tree.net: What is Pythonic?

Anunciate aquí

WSL Weblogs SL