Instalar y configurar Django manualmente desde el repositorio

Aunque en la entrada de la presentación de Django se habla de la instalación del framework, a través de dos métodos: script install.py e instalación de paquete desde el repositorio; vamos a explicar otro método más, algo más largo pero a la vez más compatible. Nos quita la limitación del paquete de que la versión no sea la más reciente (limitación que no tiene el método de instalación con install.py).

Doy por supuesto que tenéis instalado Python en vuestro equipo.

  1. Nos dirigimos a nuestro directorio $HOME
  2. Descargamos la última revisión del proyecto: svn co http://code.djangoproject.com/svn/django/trunk/ djtrunk
  3. Averiguamos cuál es el directorio en el que Python guarda los paquetes:  python -c “from distutils.sysconfig import get_python_lib; print get_python_lib()”
  4. Nos dirigimos al directorio que nos indique y creamos un fichero de nombre django.pth (el fichero podéis crearlo con nano mismo nano django.pth).
  5. En dicho fichero indicamos sólo una línea con el directorio en el que hemos descargado el código de Django (en nuestro caso será /home/miusuario/djtrunk).
  6. Añadimos a la variable PATH la ruta de los binarios de Django:
    1. Editamos el fichero con las variables de entorno /etc/environment
    2. Añadimos a la variable PATH la ruta: PATH=”lo_que_haya_antes: $HOME/djtrunk/djtrunk/django/bin”

    Ya podemos probar la instalación de Django. Podéis probar a importar el módulo Django desde Python o podéis probar a crear un sitio y lanzar el servidor de prueba: read more

Leer más » 2 Comentarios

Conocer Django: presentación, introducción y ejemplo de desarrollo

A lo largo de la presentación que adjuntamos en este enlace y con motivo del trabajo voluntario planteado en las prácticas de Programación Avanzada, José Antonio Sánchez Pallero y yo, hemos tratado de transmitir una idea general acerca de Django, el framework libre basado en Python orientado a la creación rápida de aplicaciones web. Al final del mismo y para completar la explicación, presentamos un pequeño ejemplo de desarrollo haciendo uso de esta herramienta.

Toda persona que haya tenido contacto con el desarrollo web, sabrá de los inconvenientes que crean temas como: el control de las entradas del usuario, la interacción con la base de datos, la creación de direcciones amigables para los buscadores (tan necesario para el SEO), la modificación de las estructuras de datos una vez creadas o la definición de distintos roles de permisos para los usuarios del sistema. read more

Leer más » 15 Comentarios

Instalar y configurar Apache como servidor de ASP.NET con Mono

Si hace unos días hablábamos de la posibilidad de ejecutar aplicaciones ASP.NET en nuestro equipo Linux con XSP, hoy traemos la que podría ser la segunda parte de ese artículo: hacer esto mismo pero con Apache y mod_mono.

¿Por qué escoger este binomio en lugar de XSP? La respuesta es fácil: XSP es un servidor de pruebas, no de producción y si queremos tener un servicio o aplicación web ejecutando de forma decente en producción, mejor utilizar Apachemod_mono. Las razones no son sólo por la escalabilidad y eficiencia que permite Apache, sino que están relacionadas por la seguridad que provee el servidor más utilizado a nivel mundial y por la gran variedad de opciones que nos ofrece. read more

Leer más » 4 Comentarios

Empezar a programar en Pygame

A través de esta entrada vamos a introducirnos en el mundo del desarrollo de aplicaciones gráficas usando una librería llamada pygame que nos proporciona las herramientas necesarias para crear de forma relativamente sencilla nuestros juegos en el lenguaje de programación Python.

¿Qué es Pygame?

Pygame es un conjunto de módulos que nos ayudan a crear videojuegos o aplicaciones gráficas (no necesariamente videojuegos) en dos dimensiones. Pygame incluye gráficos y bibliotecas de sonido diseñados para ser utilizados directamente bajo Python. Está construido bajo Simple DirectMedia Layer (SDL), que a su vez son un conjunto de bibliotecas desarrolladas en lenguaje C, proporcionando las funciones básicas para realizar operaciones de dibujado 2D, gestión de efectos de sonido y música, y carga y gestión de imágenes. De esta manera, a través de Pygame podemos abstraernos de la lógica del juego (o aplicación) en si mismo, haciendo posible el uso de un lenguaje de alto nivel como Python para estructurar el juego. read more

Leer más » 7 Comentarios

Ejecutar distintos lenguajes de programación en una web

Cuando leí ayer la noticia en Kabytes la verdad que me resultó un tanto curiosa, pero era algo escéptico en cuanto a las posibilidades que podía brindar en realidad ideone, que es el nombre del servicio. Por ahora es una versión beta por lo que todavía puede haber defectos, pero en líneas generales funciona bien.

La web nos presenta un cuadro donde elegir el lenguaje: Ada, C, C#, C++, Cobol, Common Lisp, Java, Lua, Prolog, Python, Ruby, Visual Basic.NET… entre otros muchos, un cuadro para elegir si queremos resaltar la sintaxis y un cuadro de texto para introducir nuestro código. Una vez lo hayamos introducido lo enviamos y la web nos devuelve el resultado de la ejecución. read more

Leer más » 4 Comentarios

Diferenciar i++ y ++i

operador

Si alguna vez habéis programado en un lenguaje de programación con sintaxis heredada de C: el mismo C, C++, Java, C#… seguro que habéis utilizado el operador postincremento, sobre todo en iteraciones for, el famoso: i++ (o equivalente). Lo que es menos frecuente es haber utilizado el operador ++i, pero si lo habéis utilizado seguro que lo habéis hecho para algo similar al anterior. La diferencia entre ambos es algo que un día me inquietó y que hoy os voy a comentar. read more

Leer más » 11 Comentarios

Comparar fechas en formato MySQL con PHP

Es un problema con el que cualquier persona que utilice PHP y MySQL se encuentra muy a menudo. Hasta que PHP no trate directamente esos datos y se sobrecarguen internamente los operadores de comparación para que todo sea directo, tendremos que valernos de métodos como el que os muestro para poder comparar dos fechas en formato MySQL con PHP (formato MySQL, es decir fecha en formato inglés con guiones y el orden invertido respecto al nuestro).

La siguiente función devuelve:

  • 1 si la fecha a es mayor que la fecha b
  • 0 si son iguales
  • -1 si la fecha a es menor que la fecha b

function comparar_fechas_mysql($a, $b) { $a_v=explode("-",$a); $anyo_a = $a_v[0]; $mes_a = $a_v[1]; $dia_a = $a_v[2]; $b_v=explode("-",$b); $anyo_b = $b_v[0]; $mes_b = $b_v[1]; $dia_b = $b_v[2]; if($anyo_a > $anyo_b) return 1; else { if($anyo_a < $anyo_b) return -1; else { if($mes_a > $mes_b) return 1; else { if($mes_a < $mes_b) return -1; else { if($dia_a > $dia_b) return 1; else { if($dia_a < $dia_b) return -1; else return 0; } } } } } } read more

Leer más » 7 Comentarios

Novedades en Java 7

java_logo

Aunque todavía queda un poco para el lanzamiento de la versión estable de Java 7 (ahora mismo si no me equivoco están en la actualización 17 de Java 6), aquí os traigo una serie de mejoras que va a incorporar y que podéis ya probar a través del JDK 7 Early Access.

La recopilación de las mejoras ha salido publicada en el blog tecnológico de JoeJag (en inglés) y aquí os la dejo traducida:

Soporte mejorado para colecciones

A partir de ahora las colecciones podrán declararse al estilo de Ruby o Perl. En lugar de tener que hacer:
List list = new ArrayList();
list.add("item");
String item = list.get(0);
read more

Leer más » 7 Comentarios

Atajos de teclado en tus aplicaciones web con JavaScript

keyboard-shortcut

A través de un post publicado por Omeyas Web, el blog de unos amigos (que a su vez está referenciado de otro post aparecido en el blog de Andrés Nieto) me entero de un sencillo método para controlar los atajos de teclado en las aplicaciones web.

En aplicaciones en local es muy fácil y útil manejar los atajos de teclado, mientras que en aplicaciones web, los métodos para hacerlo no son nada estándares y tenemos que remitirnos a script como el que os dejo. El futuro facilite todo esto, ya que sistemas operativos como Google Chrome OS y proyectos similares, trasladan la realidad a la web, por lo que es necesario potencia este tipo de herramientas. read more

Leer más » 1 Comentario

¿qué opinas sobre DIA?

DIA

DIA es una aplicación libre para la creación de diagramas bajo GTK+ y multiplataforma, bajo licencia GPL. Personalmente la considero una de las mejores aplicaciones en cuanto a creación de diagrama (de casi cualquier tipo) para nuestro entorno GNU/Linux.

¿Por qué os cuento todo esto? Ayer sábado, leyendo la lista de correo de mi universidad me sorprendió la opinión que tienen al respecto algunos compañeros sobre DIA y las alternativas propuestas, bajo mi opinión no son comparables. A continuación tenéis el hilo de la conversación, he decidido no proporcionar direcciones de correo ni nombres por preservar el anonimato de esta gente: read more

Leer más » 15 Comentarios