Interesante proyecto el que reseñan en genbetadev. SubGit nos permite tener un repositorio de código en subversion y git a la vez. Habrá que probarlo pero tiene buena pinta para los que nos cuesta cambiar las viejas costumbres.
Categoría: programación
Crear versión mobile de una web sobre DJANGO
Buscando como hacer una aplicación django apta para escritorio y móviles encontré bastante info, como por ejemplo:
- http://mobiforge.com/developing/story/build-a-mobile-and-desktop-friendly-application-django-15-minutes
- http://stackoverflow.com/questions/1057252/django-how-do-i-access-the-request-object-or-any-other-variable-in-a-forms-clea
- http://stackoverflow.com/questions/164427/change-django-templates-based-on-user-agent
- http://sullerton.com/2011/03/django-mobile-browser-detection-middleware/
- http://opensource.washingtontimes.com/blog/2010/feb/17/loading-templates-based-request-headers-django/
Pero al final la que más me ha convencido la encontré a través de stackoverflow (como no!):
http://stackoverflow.com/questions/2321172/detect-mobile-browser-not-just-iphone-in-python-view
Se basa en el uso de un middleware, el minidetector. En su web hay una brevisima documentación, que además no es correcta 🙁 pero tampoco es tan difÃcil echarlo a andar:
- Nos lo bajamos al directorio de nuestro proyecto:
svn co http://minidetector.googlecode.com/svn/trunk/minidetector
- Lo añadimos a la lista de middlewares en el settyngs..py
'minidetector.Middleware'
- Y ya podemos jugar en las vistas con el parámetro mobile del objecto request, por ejemplo cambiando los templates
def my_mobile_view(request):
if request.mobile:
#do something with mobile
}}}
Ya solo nos falta usar nuetsra framework web mobile preferido (como http://jquerymobile.com)
Un trozito de nube gratis de la mano de RedHat
La gente de RedHat ha montado su nube y nos da acceso gratuito paraque subamos nuestras aplicaciones. La verdad es que tiene muy buena pinta. DiaroLinux tiene un muy buen post que explica como empzar con OpenShift y como poner online una aplicación PHP:
http://diariolinux.com/2012/01/25/openshift-computacion-gratuita-en-la-nube-de-redhat
Y como últimamente estoy muy centrado en django, os dejo el ejemplo de la propia gente de OpenShift para poner en marcha una app django:
https://github.com/openshift/django-example
Y un post donde dan algunas tips:
http://blog.ianweller.org/2011/05/12/openshift-express-first-thoughts/
Gestionando excepciones no capturadas en Python
Muy interesante el apunte de blackshell, me lo guardo 🙂
http://blackshell.usebox.net/archive/excepciones-no-capturadas.html
Pequeño snipet para tener un script bash que se ejecute como un servidor
Solo repostear esto de howtoforge para que no se me olvide 🙂
http://www.howtoforge.com/simple-bash-script-to-work-as-a-daemon
Hacer busquedas de google desde python
Tengo un proyectillo personal sobre calcular el posicionamiento de una web en google (dondesalgoengoogle.es, pero aune stá verde solo para uso interno). Como siempre en python hay ya muchas cosas hechas y esta no es un caso distinto. Lo estoy haciendo el django (por eso tanto post sobre él) y usando la librerÃa de catonmat:
http://www.catonmat.net/blog/python-library-for-google-search/
Es bastante sencilla de utilizar:
from xgoogle.search import GoogleSearch, SearchError try: gs = GoogleSearch("quick and dirty") gs.results_per_page = 50 results = gs.get_results() for res in results: print res.title.encode("utf8") print res.desc.encode("utf8") print res.url.encode("utf8") print except SearchError, e: print "Search failed: %s" % e
Usar cron de manera gráfica en apps django
Uno de los problemas tÃpicos en aplicaciones web es el ejecuta trabajos de manera cÃclica y programada. En django hay una interesante aplicación que podemos añadir a nuestro proyecto para gestionar tareas que queremos que se ejecuten a una cierta hora unos dÃas concretos. Se trata de django-cronograph y en si documentación encontramos más detalles http://readthedocs.org/docs/django-chronograph/en/latest/overview.html
Realmente es sencilla de usar:
- añadidos la app a nuestro proyecto (copiamos el directorio, la añadimos en settings.py, hacemos un syncdb etc)
- Si queremos ejecutar algún acción de nuestros modelos o similar creamos un nuevo comando de administración de django siguiendo estas instrucciones:https://docs.djangoproject.com/en/dev/howto/custom-management-commands/
- Añadimos una entrada en cron que lance el comando de cronograph
- Desde la parte admin podemos empezar a definir nuestras tareas periodicas.
Lungo, otro framework HTML para desarrollo móvil multiplataforma
Es uno de los mantras de estos meses: el desarrollo para multi-plataforma para terminales móviles.Ya he hablado del tema y hasta reseñado phonegap y ahora me encuentro con este joven proyecto:
Tan joven que aun no se puede ni descargar 🙂 Valga este apunte para que ternelo en el radar y estar atento a sus evoluciones.
Super-chuleta de python
VÃa alfredo me entero de este post http://ubuntulife.wordpress.com/2011/08/27/mega-cheatsheet-de-python-la-chuleta-de-python-mas-completa-que-he-visto-hasta-la-fecha/
y esta magnifica super-chuleta de python (solo le faltan unas patatas de guarnición 🙂 ) La tenemos en PDF o en ODT (para facilitar su digestión cocinándola a nuestro gusto).
Yo ya la tengo a buen recaudo, para cuando tengo «hambre» de python 🙂
Probando PhoneGap
Hace unos meses hablaba de varias alterativas para el desarrollo de aplicaciones para móviles. PhoneGap es una plataforma para el desarrollo de aplicaciones para móviles con html, que nos permite desarrollar aplicaciones para varias plataformas (Android, IOs, blackberry, symbian,…) sin tener que aprender los sistemas de cada plataforma. El desarrollo lo hacemos en HTML5+Javascript, si javascript no mola mucho, pero podemos usar la librerÃa JQuery y JQueryMobile.
La verdad es que desarrollar algo sencillo es bastante fácil. He probado el ejemplo dan de como consumir datos de un API a través de JSON y me ha gustado bastante. No he probado la parte de acceso a BBDD en local y demás recursos del sistema móvil (GPS, acelerometros, etc) y solo he probado a compilar para Android. Pero la impresión es bastante buena. Eso sÃ, no sirve para cualquier tipo de aplicación. Pero si tenemos una web en versión mobile no nos costará mucho el hacer de ella una aplicación nativa, disponible en el market, etc.