Archivos para 15 septiembre 2011

Git Apesta

Git es el mejor nombre para esta aplicación.  Aunque podriamos reemplazar la  «G» por «Sh». ^^

Deja un comentario

Clases Dinámicas con Python

Esto es un tutorial sumamente simple. Pero nunca está de más.

Acá tenemos un ejemplo de como instanciar un objeto guardando el nombre de la clase en una variable:

>>class A():
     def __init__(self):
        print "New Object of Class A"
>>>class B():
     def __init__(self):
        print "New Object of Class B"
>>> aClass = B
>>> newObject = aClass()
"New Object of Class B"
>>> aClass = A
>>> newObject = aClass()
"New Object of Class A"

También podemos hacer exactamente lo mismo pero usando el nombre de las clases con un string. Suponiendo que ya tenemos definidas las dos clases del ejemplo anterior (Clase A y Clase B):

>>> nombreA = "A"
>>> nombreB = "B"
>>> newObject = eval(nombreB)()
"New Object of Class B"
>>> newObject = eval(nombreA)()
"New Object of Class A"

Como vemos, la magia se encuentra en la funcion eval de Python,

 

Espero que les sirva!

, ,

Deja un comentario

Configurar MySql con Django Ubuntu Server y Windows

Asumiendo que ya tengan el Django y el MySlq instalados (igual seguro me hago un tiempito y armo un post), es muy probable que, tras configurar el settings.py de algún proyecto, y colocar

'ENGINE': 'django.db.backends.mysql'

y luego intentar ejecutar cualquier comando con django, nos salga algo como:

Error loading MySQLdb module: No module named MySQLdb

Bien, es algo sumamente fácil de solucionar. Este error simplemente significa que nos está faltando MySqldb, que no es más que un paquete de Python para usar MySql. Dado que ni python, ni django lo traen consigo, a veces podemos sufrir un poco hasta que entendemos que pasa (sobre todo si recién se empieza en esto de instalar entornos).

Si nos encontramos en Ubuntu, la solución es tan simple como abrir una consola y tipear:

sudo apt-get install python-mysqldb

y si nos encontramos en windows, debemos bajar el conector, de este sitio: http://sourceforge.net/projects/mysql-python/. Asegurense de bajarse el binario para la versión que tienen de python, sino también van a tener dolores de cabeza.

Si no saben que version de python tienen, abran una consola de windows (el cmd), y escriban python. Lo primero que les aparece es un encabezado seguido de la consola de python. en dicho encabezado se encuentra la versión de python:

Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Si todo funciona fue bien, ya no deberíamos tener más problemas al respecto. Espero sirva!
 

 

 

, ,

Deja un comentario

ShortCuts Flash Builder 4

Usar un buen IDE siempre es bueno, pero usarlo bien es todavía mejor. La comodidad y la fluidez para trabajar son indispensables para aumentar la productividad y, sobre todo, sentirse menos frustrado haciendo cosas molestas.

Les voy a dejar una serie de shortcuts y tips para FlashBuilder 4, sin duda muy cómodos.

Si sos usuario de MacOs solo reemplazá la tecla Control por Command, como seguro ya sabés.

Asistente (Control + Space): Un viejo conocido de muchos desarrolladores, más si vienen de cualquier Eclipse o derivado. Nos muestra el asistente según donde estemos posicionados y nos da una guía de como seguir (completando variables, métodos, etc).

Comentario en bloque (Control + Shift + C):  Sumamente útil, cuando lo descubrí fui muy feliz. Básicamente comenta (/* */) el sector de código que tengas seleccionado.  Si ya está comentado, lo descomenta.

Organizar Imports(Control + Shift + O): Se encarga de organizar los statement de los import, eliminando los no usados y acomodando por package si hace falta. No es un comando que vivas usando pero es realmente util.

Rapido acceso al Outline (Control + O): Amo este tipo de Shortcuts. Nos permite visualizar y dirigirnos rápidamente las variables y métodos del archivo que tengamos abierto. He visto algunos (incluyendome a mí tiempo atrás), hacés Control + f (find-search) buscando el método o variable en cuestión y navegando entre comments y demás. Este shortcut es indudablemente más práctico y veloz.

Abrir recurso (Control + Shift + R): Como el anterior, un shortcut para amar. Nos permite buscar rápidamente por nombre cualquier clase o recurso de nuestro proyecto. Se puede incluir caracteres ? y * en la búsqueda (la ventanita explica para que sirven). Un tip interesante es que podemos buscar escribiendo solo las mayúsculas. Por ejemplo, si tenemos una clase ResourceLoader, podemos escribir RL y la encontrará.

Encontrar la llave Perdida (Control + Shift + P): Suena a una aventura de Indiana Jones, y, a veces, es medio parecido encontrar donde cierra una llave ({ y }). Con este shortcut se soluciona facilmante 🙂

Encontrar Declaraciones (Control + G): autoexplicativo

Encontrar Referencias (Control + Shift +G):  idem

Ir a la declaración (F3): sumamente práctico. Si tenemos una variable que estamos usando, o un metodo al que estamos incvocando, un objeto creando, etc, con colocarnos encima y tocar f3 accedemos a la declaración del mismo.

Volver a la última posición de edición (Control + Q): A veces nos emocionamos tocando f3 o buscando cosas o abriendo recursos y nos olvidamos dondes estabamos o hay que ir buscando entre archivos cuál era el punto del que partimos. Con este shortcut podemos retroceder en dicha cadena de movimiento y búsqueda.

 

Hay varios shortcuts más, pero estos son los que más uso y realmente agilizan mucho el trabajo. Si me doy cuenta alguno más lo sumo!

 

 

 

, , , ,

Deja un comentario

Instalando SVN en Aptana Studio 3

Como es sabido, Aptana es un IDE basado en Eclipse para PhP, Python, etc. Por defecto trae la posibilidad de usar cvs como control de versiones, pero si usás SVN es muy fácil instalarle la funcionalidad para integrarlo.

Vincular el repositorio al proyecto

  1. En Aptana, ir al menú “Help” -> “Install new software”.
  2. Ingresar “http://subclipse.tigris.org/update_1.6.x”.
  3. Instalar Subclipse.
  4. Abrir el menú desplegable del proyecto a vincular, seleccionar “Team -> Share Project -> SVN”

Recibir (update)

  1. Abrir la perspectiva “Team Synchronizing”
  2. En la vista “Synchronize”, ir al botón “Synchronize”
  3. Seleccionar el proyecto a sincronizar y seleccionar “Finalizar”.
  4. Si hay actualizaciones, seleccionar “Update All Incoming Changes”

Enviar (commit)

Luego de realizar cambios en los archivos, repetir los pasos anteriores, pero seleccionar “Update All Outgoing Changes”

, , ,

Deja un comentario