miércoles, 28 de septiembre de 2011

DJANGO_SETTINGS_MODULE... The simplest way to configure!

Looking for simple and efficient way to configure my environment to develop different django apps, and set the environment variable DJANGO_SETTINGS_MODULE on the fly, I found this function to bash us greatly simplifies our work.
You just have to edit and add user bash_profile
function setdsm() {
# add the current directory and the parent directory to PYTHONPATH
# sets DJANGO_SETTINGS_MODULE
export PYTHONPATH=$PYTHONPATH:$PWD/..
export PYTHONPATH=$PYTHONPATH:$PWD
if [ -z "$1" ]; then
x=${PWD/\/[^\/]*\/}
export DJANGO_SETTINGS_MODULE=$x.settings
else
export DJANGO_SETTINGS_MODULE=$1
fi

echo "DJANGO_SETTINGS_MODULE set to $DJANGO_SETTINGS_MODULE"
}
And then from our project directory run:
user$ setdsm

I hope this functios will be as as useful for you as is for me.

Link to source

lunes, 6 de junio de 2011

Dump object attributtes python

Una forma simple de hacer debuging es dumpear los atributos de los obejtos que manejemos, que en el caso de python la forma más simple es:

print object.__dict__

El cual nos imprimirá el diccionario de atributos del objeto en cuestión.-

domingo, 5 de junio de 2011

Cast an ArrayList to an Array of strings (android)

Me topé con la necesidad de catear un arraylist a un array de strings desarrollando una app para android, por suerte luego de una simple búsqueda encontre la fomar más simple de realizarlo :D

String [] myStringsArray = myArrayList.toArray(new String[myArrayList.size()]);

Lección aprendidad para un domingo :D

martes, 31 de mayo de 2011

nodejs mysql database

Este es un pequeño articulo como utilizar node.js como web server para mostrar los resultados de una consulta a un motor de base de datos MySQL.


Lo primero que debemos ver es tener el módulo necesario "mysql", estoy utilizando la versión 0.5.0-pre.

#node -v
v0.5.0-pre


Lo primero que hacemos es crear el objeto para la consulta:

var Client = require('mysql').Client,
client = new Client();
client.user = 'user';
client.password = 'password';
client.host='127.0.0.1';
client.port='3306';
client.database='base_de_datos'
client.connect();


Luego creamos el servidor:

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});

Y dentro de este realizamos la consulta, y la asociamos a su función de callback

client.query(
"select * from table where campo1 > 1 limit 10;",
function select(err, results, fields) {
if (err) {
console.log("Error: " + err.message);
throw err;
}

Sacamos los datos por la consola y por la pantalla

console.log("Number of rows: "+results.length);
console.log(results);


for (var i in results){

var result = results[i];
res.write(result.campo1+"\n");
}

res.end();
});

Terminamos el código bindeando un puerto para escucha

}).listen(1337, "0.0.0.0");
console.log('Server running ');



El script completo es:


var Client = require('mysql').Client,
client = new Client();
client.user = 'user';
client.password = 'password';
client.host='127.0.0.1';
client.port='3306';
client.database='DB'
client.connect();


var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});


client.query(
"select * from table where campo1 > 1 limit 10;",
function select(err, results, fields) {
if (err) {
console.log("Error: " + err.message);
throw err;
}
console.log("Number of rows: "+results.length);
console.log(results);
res.write(results);

for (var i in results){

var result = results[i];
res.write(result.campo1+"\n");
}
res.end();
});

}).listen(1337, "0.0.0.0");
console.log('Server running ');

martes, 3 de mayo de 2011

Simple (one line) web server python

the simplest way to serve up page or file sharing is go to the directory and run:
$ python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"

Then go to http://:8000 and see your files :D

viernes, 1 de abril de 2011

Instalar virtualBox-4

En la web de virtualbox se encuentra un completo tutorial de como actualizar a la última versión del producto, la web es: VirtualBox 4.
Para los usuarios de distribuciones basadas en Debian simplemente deben agregar el repositorio a la lista de repos disponibles y lo pueden instalar con el manejador de paquetes de su preferencia.

jueves, 27 de enero de 2011

Eliminar ^M

Cuantas veces nos encotramos que al abrir un archivo con el vim vemos los molestos delimitadores de carry return (^M), una forma simple de eliminarlos es con el comando de reemplazo:

%s/\r//g

y ya podemos seguir editando nuestro archivo :D