From 8339030f3b269efb21dcef77308945cbe09f9a60 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 3 May 2026 14:10:14 +0200 Subject: Reformat and tweak links Basically so that grepping for alex.corcoles.net returns less results --- ...pista-galactico-a-la-administracion-de-sistemas-ii.gmi | 11 +++-------- .../06/porque-django-no-es-la-solucion-definitiva.gmi | 15 +++++++-------- blog/content/2012/07/si-sigo-usando-una-blackberry.gmi | 5 +---- 3 files changed, 11 insertions(+), 20 deletions(-) (limited to 'blog/content/2012') diff --git a/blog/content/2012/04/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-ii.gmi b/blog/content/2012/04/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-ii.gmi index 6dad5b3b..ebd4625b 100644 --- a/blog/content/2012/04/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-ii.gmi +++ b/blog/content/2012/04/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-ii.gmi @@ -1,10 +1,10 @@ # 2012-04-22 La guía del autoestopista galáctico a la administración de sistemas (II) -Si seguisteis la entrega anterior de esta saga[1], deberíais estar con una lista de requerimientos y una decisión más o menos en firme de qué distribución de Linux usaremos para cumplir nuestros requerimientos (seguramente Debian o CentOS). +=> => ../../2012/03/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-i Si seguisteis la entrega anterior de esta saga, deberíais estar con una lista de requerimientos y una decisión más o menos en firme de qué distribución de Linux usaremos para cumplir nuestros requerimientos (seguramente Debian o CentOS). El paso siguiente es lanzarse a la piscina. Como dijimos anteriormente, una herramienta muy interesante a utilizar es la virtualización. La virtualización nos permite poder hacer instalaciones de sistemas operativos dentro de nuestro ordenador habitual, completamente aisladas del resto de nuestro entorno y con posibilidad de crear tantas instancias como queramos, de los sistemas operativos que queramos y crearlas, eliminarlas, arrancarlas y pararlas con total libertad. El único requisito duro que necesitamos es memoria; una máquina virtual consume en general tanta memoria como la que tenga la máquina que estemos virtualizando. A pesar de ello, hasta los ordenadores modernos más asequibles cuentan con respetables cantidades de memoria, y para muchas cosas, nos bastará para los habitualmente modestos requerimientos de lo que queramos montar (los ordenadores de hoy en día vienen con 4gb de RAM o más, y para una típica máquina con Linux, Apache, MySQL, etc. nos pueden bastar 256 o 512mb). Otro punto a tener en cuenta es la CPU- si bien en general no necesitaremos una CPU muy potente (una vez más, los requerimientos de CPU de los montajes habituales son bastante modestos), es interesante que nuestra CPU cuente con las extensiones de virtualización, que nos pueden facilitar la vida. Por último, en disco con unos 20-30gb libres por máquina virtual que deseemos suelen ser más que suficientes. -Respecto a los sistemas de virtualización, ciertamente existen muchos, pero cuando quiero virtualizar sistemas "de prueba" a los que quiero acceder desde mi ordenador de escritorio, me decanto por VirtualBox[2], un excelente sistema de virtualización de Sun Oracle,  totalmente gratuito y perfectamente funcional, que cubre perfectamente todo lo que le podamos pedir a un sistema de virtualización "de escritorio". +Respecto a los sistemas de virtualización, ciertamente existen muchos, pero cuando quiero virtualizar sistemas "de prueba" a los que quiero acceder desde mi ordenador de escritorio, me decanto por VirtualBox, un excelente sistema de virtualización de Sun Oracle,  totalmente gratuito y perfectamente funcional, que cubre perfectamente todo lo que le podamos pedir a un sistema de virtualización "de escritorio". Con VirtualBox instalado y la ISO del sistema operativo que queramos instalar, nos podemos poner en marcha; creamos la máquina virtual, le conectamos la ISO y nos ponemos con el proceso de instalación. La instalación de sistemas operativos Linux se ha simplificado mucho en los últimos tiempos y, especialmente en una máquina virtual donde prácticamente no hay problemas de hardware, la instalación tiende a ser extremadamente sencilla. Unos puntos a tener en cuenta: @@ -18,7 +18,7 @@ En todo caso, ya durante la instalación debemos aplicar una mecánica imprescin * Es una guía estupenda para saber cómo está configurada la máquina * También nos sirve de punto de partida para hacer copias de respaldo de la máquina -Esta guía no tiene que ser algo más complicado que un fichero de texto plano elaborado a base de copiar y pegar con el bloc de notas. Recomiendo incluir enlaces web a la documentación que hayamos usado (manuales, HOWTOs, etc.), pero aún así incluir lo que hemos hecho (el referente puede desaparecer o cambiar). Personalmente utilizo Redmine[3], un sistema de gestión de proyectos que incluye un correcto wiki, que hace bastante cómodo mantener esta documentación. +Esta guía no tiene que ser algo más complicado que un fichero de texto plano elaborado a base de copiar y pegar con el bloc de notas. Recomiendo incluir enlaces web a la documentación que hayamos usado (manuales, HOWTOs, etc.), pero aún así incluir lo que hemos hecho (el referente puede desaparecer o cambiar). Personalmente utilizo Redmine, un sistema de gestión de proyectos que incluye un correcto wiki, que hace bastante cómodo mantener esta documentación. Con la guía podemos tranquilamente instalar en nuestra máquina virtual, hacer pruebas, etc. y luego ser capaces de reproducir el proceso (sin pasos en falso) en nuestra máquina en producción. Una herramienta útil que nos proporciona la virtualización son los snapshots. Fácil y cómodamente podemos guardar estados de la máquina y volver a ellos posteriormente. Esto nos permite experimentar y luego volver atrás rápidamente; así pues podemos experimentar sin miedo a "ensuciar" la máquina, tomando un snapshot antes de comenzar. @@ -31,8 +31,3 @@ Una vez aquí, tenemos que ser capaces de: * Monitorización. Más allá de saber si los servicios están funcionando correctamente (algo a veces más problemático de comprobar de lo que parece), es interesante que recibamos notificaciones de los problemas y de ciertas métricas. Recomiendo siempre una herramienta como logwatch que nos envía un resumen diario de la actividad de la máquina. Una métrica muy interesante de monitorizar es el espacio en disco- si este se llena es un gran problema y es conveniente no dejar que suceda. Por supuesto, los errores en las copias de respaldo son otro punto muy importante. Estos temas se simplifican enormemente si podemos configurar el sistema para que pueda enviar correo con las herramientas estándar Con estos puntos cubierto, podemos dar un servicio que, pese a no ser completamente profesional, sin un uptime perfecto y sin redundancias, puede ser más que adecuado para la mayoría de los propósitos. - - -=> ../../2012/03/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-i 1: gemini://alex.corcoles.net/2012/03/la-guia-del-autoestopista-galactico-a-la-administracion-de-sistemas-i/ -=> https://www.virtualbox.org/ 2: https://www.virtualbox.org/ -=> http://www.redmine.org/ 3: http://www.redmine.org/ diff --git a/blog/content/2012/06/porque-django-no-es-la-solucion-definitiva.gmi b/blog/content/2012/06/porque-django-no-es-la-solucion-definitiva.gmi index 48700504..f3c172a9 100644 --- a/blog/content/2012/06/porque-django-no-es-la-solucion-definitiva.gmi +++ b/blog/content/2012/06/porque-django-no-es-la-solucion-definitiva.gmi @@ -1,12 +1,14 @@ # 2012-06-02 Porqué Django no es La Solución Definitiva -Hace tiempo ya explicaba por aquí las virtudes de Django[1]. En  resumen, se trata de un framework de desarrollo en web Python que implementa un interfaz de administración prácticamente automático a un esquema relacional. Vaya, que defines tus tablas y genera un interfaz dinámico para editar registros que te ahorra una barbaridad de tiempo (como podrá atestiguar cualquiera que haya tenido que hacerse uno). +=> ../../2011/01/django-o-la-fabrica-de-churros Hace tiempo ya explicaba por aquí las virtudes de Django. + +En  resumen, se trata de un framework de desarrollo en web Python que implementa un interfaz de administración prácticamente automático a un esquema relacional. Vaya, que defines tus tablas y genera un interfaz dinámico para editar registros que te ahorra una barbaridad de tiempo (como podrá atestiguar cualquiera que haya tenido que hacerse uno). Tras llevar más tiempo trabajando con Django, sigo convencido que en estos momentos es la mejor solución que existe para desarrollo web basado en CRUD sobre bases de datos; el admin no tiene equivalente alguno que yo conozca, y desarrollarse un sistema similar es extremadamente costoso. Sin embargo, creo que he aislado unos cuantos defectos clave que hay que tener en cuenta antes de comenzar a usarlo. -1. +1. Si usamos un esquema donde queramos que la edición de un registro tenga más de un nivel de indirección, el admin no soluciona esto. Pongamos por caso que tenemos una entidad "Empleado" , otra entidad "Proyecto" y una entidad intermedia que nos representa las asignaciones de Empleados a Proyectos (por ejemplo, en esta relación intermedia podríamos querer almacenar el tiempo durante el cual el Empleado está asignado al Proyecto, su porcentaje de dedicación a él, etc.). Podremos añadir un fantástico TabularInline que nos muestre las asignaciones de Empleados dentro de la vista de detalle de Proyecto, pero no hay manera de que se pueda editar el Empleado desde la vista detalle de Proyecto; podremos editar la relación intermedia (primer nivel de indirección), pero la segunda ya no. @@ -19,21 +21,18 @@ Esto nos limita bastante el interfaz sobre esquemas de datos moderadamente compl Ninguna de las tres soluciones es mínimamente satisfactoria -2. +2. El admin necesita más hipervínculos. En particular, la fantástica funcionalidad de los raw_id_fields, nos permite hacer que los campos clave foránea de nuestras entidades se puedan editar con un popup selector excelente, pero no nos permite saltar a la entidad enlazada. Una de las grandes virtudes de usabilidad de la web son los enlaces, y nos serían extremadamente útiles en más lugares del admin -3. +3. Django no proporciona suficiente potencia en el SQL subyacente a su ORM. En particular, sería harto conveniente poder disponer de, o bien un inspectdb más potente que nos permita trabajar continuamente con él (añadir campo en nuestra base de datos y que inspectdb añada dinámicamente el campo al modelo), o un mecanismo para poder personalizar automatizadamente el esquema generado; esto principalmente nos debería permitir implementar una "estrategia" de nombrado de tablas y columnas que nos permita, por ejemplo, que los nombres de tablas sean plurales o cambiar el nombre de las claves primarias surrogadas que Django añade automáticamente. Si no nos gustan los esquemas que genera Django automáticamente (y no deberían gustarnos), las alternativas son o aguantarnos, o especificarle repetidamente los nombres de tablas y columnas que debe usar o hackear Django para que haga lo que queramos. Una vez más, esto no es del todo satisfactorio. -4. +4. A un nivel más profundo, el código de Django no es muy amigable a la extensión. Es bastante complicado añadir funcionalidad derivando de las clases de Django; el código no siempre es fácil de seguir (ya que usa bastantes metaclases y otras pythonicidades de las que no soy muy fan) ni tiene un diseño orientado a objetos muy elaborado- se echa en falta que ciertas funcionalidades estén, como mínimo, aisladas en un propio método que podamos sobreescribir para cambiarlas (o utilizar el patrón estrategia, idealmente). Siempre nos queda la opción de forkear, pero esto no es muy mantenible, o hacer monkey-patching, lo que tampoco es muy recomendable ni mantenible. Pese a todos estos puntos, sigo pensando que el admin de Django es realmente algo único que nos puede ahorrar muchísimo trabajo y proporcionar un resultado de gran calidad para muchos, muchísimos proyectos. Pero aún es mejorable- y con unas pocas mejoras localizadas podría mejorar muchísimo. - - -=> ../../2011/01/django-o-la-fabrica-de-churros 1: gemini://alex.corcoles.net/2011/01/django-o-la-fabrica-de-churros/ diff --git a/blog/content/2012/07/si-sigo-usando-una-blackberry.gmi b/blog/content/2012/07/si-sigo-usando-una-blackberry.gmi index 98e52a78..15c0146e 100644 --- a/blog/content/2012/07/si-sigo-usando-una-blackberry.gmi +++ b/blog/content/2012/07/si-sigo-usando-una-blackberry.gmi @@ -1,6 +1,6 @@ # 2012-07-04 Sí, sigo usando una Blackberry -Hace eones apunte por aquí[1] que me pasaba a Blackberry, esa compañía que en aquel momento estaba apunto de extinguirse y ahora lo está mucho más. Allí indicaba las razones por las que escogía y por qué en aquel momento estaba muy contento. +=> ../../2011/06/dinosaurios-que-rondan-la-tierra Hace eones apunte por aquí que me pasaba a Blackberry, esa compañía que en aquel momento estaba apunto de extinguirse y ahora lo está mucho más. Allí indicaba las razones por las que escogía y por qué en aquel momento estaba muy contento. Sorprendentemente, y supongo que en gran parte porque me encanta llevar la contraria, un año después sigo muy contento. @@ -18,6 +18,3 @@ Indudablemente, la Blackberry tiene una larguísima lista de defectos, pero al f Además, la ergonomía no se limita al teclado. El trackpad es superior a la pantalla táctil para muchas cosas; copiar y pegar, darle a enlaces pequeños en páginas web, moverse por listas, etc. Los atajos de teclado y búsquedas incrementales son la guinda. Por supuesto, si existiese un Android (e incluso un iOS, pero lo veo menos probable que suceda) con teclado y touchpad, que los aprovechase bien (i.e. que las aplicaciones y el sistema operativo tengan atajos de teclado y sean navegables por touchpad), cuya batería aguantase y que no tuviera serias incompatibilidades... Pues probablemente no dudaría en cambiar, pero de momento, sólo hay un fabricante que se dedica a este segmento; segmento que cada vez parece más pequeño y que me temo que acabe desapareciendo... - - -=> ../../2011/06/dinosaurios-que-rondan-la-tierra 1: gemini://alex.corcoles.net/2011/06/dinosaurios-que-rondan-la-tierra/ -- cgit v1.2.3