¿Cómo funciona el sistema web?
Hace ya tiempo escribí una entrada parecida basándome en el sistema de correo, hoy el tema que nos ocupa es la web. El sistema web es el medio más usado por todos los usuarios de Internet, constituyéndose como el sistema asociado por defecto a la idea preconcebida que se tiene sobre Internet: páginas web.
Leer más ➤Banco de Pruebas (I): Velocidad
Hace tiempo hice algo parecido con los lenguajes de programación que entonces conocía, probando aquellos que eran de scripting, compilados y probando sobretodo, lo que tardan en levantar y hacer una operación tan simple como enumerar 100.000 números sacando por pantalla el número con un elevado a 2 de la posición en el que sale la impresión. Por ejemplo:
Leer más ➤Lua: el lenguaje de los videojuegos
Echando un vistazo a los lenguajes de programación, me llamó la atención un lenguaje que había visto desde hace tiempo y al que cada vez se le está dando más protagonismo: el lenguaje Lua.
Hay muchos lenguajes extensibles que se emplean para poder desarrollar addons, plugins, de modo que cualquier desarrollo se pueda aprovechar de las ventajas de tener un lenguaje liviano y potente para su extensión, sin necesidad de tocar, ni conocer, el código fuente con el que se realizó.
Leer más ➤Shell In A Box: Administración Remota en HTTP
La mayoría de los sistemas de tipo Unix tienen sistema de acceso vía consola a través de herramientas como telnet o SSH.
Estos elementos de conexión usan unos puertos específicos para la conexión, pero el primero no es nada seguro (todo se transmite en plano, tal y como se ve en pantalla, a través de la red) y el segundo requiere de la apertura de un puerto, que en muchas redes está filtrado o es inaccesible.
Leer más ➤Erlang Develop: Apoyo al desarrollo en Erlang
Llevo algún tiempo trabajando con Erlang/OTP y con sus facilidades a la hora de realizar prácticamente cualquier cosa. En lo que respecta al desarrollo de servicios concurrentes, de alta disponibilidad y sistemas críticos, es ideal.
Lo único que ha sido una piedra en el camino, es la curva de aprendizaje y la cantidad de código a modo de plantilla que hace falta para poder programar de forma rápida.
Por todo esto, decidí hacer un sistema de scripts (para Mac OS X y GNU/Linux, en principio, aunque en sistemas Solaris, HPUX, AIX, BSD, y demás sabores de Unix pueda funcionar sin cambios, e incluso en Windows a través de Cygwin), que faciliten la creación de proyectos y módulos de tipo OTP dentro del proyecto que se quiera desarrollar.
Leer más ➤XSLT (II): Descubriendo XPath
Hace unos días escribí un artículo sobre XSLT a modo de introducción sobre esta tecnología. El artículo era muy simple, ya que solo pretendía mostrarse como introducción y mostrar lo que, en sí, el sistema XSLT puede llegar a hacer.
Ahora, vamos a completar un poco más esa visión adentrándonos en el uso de XPath.
Leer más ➤ETL: Revisando el Software
Hace ya más de un año que escribí una entrada sobre ETL, donde comentaba los principios que lo fundan y algún que otro software disponible para realizar ETL. Revisando la entrada, me he dado cuenta de que el software que entonces encontré, ha cambiado bastante, incluso uno de ellos ha desaparecido como tal.
Leer más ➤XSLT (I): Hojas de Estilos para Transformación
Hace cuatro años que comencé a utilizar esta tecnología para el desarrollo web. Al principio como una forma de realizar una vista aislada del código base de la aplicación web, después como un metalenguaje más simple que el HTML y más enfocado a la presentación de formularios y datos específicos (semántica) en lugar de presentación.
Por último, hace poco, lo he visto muy útil para crear metalenguajes que simplifiquen cosas como VoiceXML. Este sistema y/o lenguaje que se basa en el uso de etiquetas XML, así como el uso de plugins a través de la etiqueta object (al igual que en HTML) y ECMAScript (o JavaScript) para agregar aún más dinamismo (y complejidad), supuso un reto.
El trabajo de XSLT, en todos estos escenarios fue la confección de un lenguaje intermedio (un metalenguaje) que se pudiese traducir de forma inmediata al lenguaje destinatario o esperado por el navegador o cliente que lo solicitara.
Leer más ➤Propiedad del Código
Cuando comencé a leer libros sobre Extreme Programming, me llamó la atención una de las propiedades de esta metodología de desarrollo, que era la propiedad del código.
Por mi parte he sido siempre muy comunista con respecto al código, no tengo el menor reparo en mirar, ampliar y corregir código de otras personas y dejo que los demás vean, opinen y corrijan y/o agreguen cosas a mis códigos... es la mentalidad del software libre.
Pero en las empresas ocurre lo contrario. Es muy normal, yo diría que incluso enfermizo, llegar a ver cómo cuando entras en una empresa en la que hay más de tres programadores, cómo cuando algo falla, cuando hay que hacer una nueva mejora, ampliación, adaptación, siempre dice uno en voz alta: ese código es de fulanito; indicando que ni lo va a ver, ni lo piensa modificar.
Leer más ➤Permisos en GNU/Linux
Nota: Realmente, es la declaración de permisos en sistemas Unix, BSD, Solaris, GNU/Linux y derviados, pero pongo el título principal como GNU/Linux, porque realmente es el único entorno en el que doy fe de que todo lo que hay escrito en este artículo funciona al 100%.
El sistema GNU/Linux, al igual que su inspiración Minix, y la raíz de estos sistemas, Unix, se basan en ficheros. Todo es un fichero. Por ello, la seguridad de acceso a este tipo de información es muy importante.
Leer más ➤Patrones de Análisis
Una de las personas que más ha aportado al mundo del desarrollo de software es, sin duda, Martin Fowler.
Leer más ➤Resolviendo Shikaku
Esta es una práctica que realicé (y comenté) en diciembre de 2008 para la asignatura de Programación III de la UNED.
La práctica se basaba en realizar un sistema para resolver tableros de shikaku, mediante el algoritmo de vuelta atrás. Mi solución es óptima pero no del todo correcta desde un punto de vista académico, ya que el uso del algoritmo (de backtracking) es menos usado de lo que debería.
Leer más ➤Categorías
Etiquetas
- programación (110)
- desarrollo de software (79)
- erlang (75)
- opinión (37)
- noticia (36)
- libros (28)
- servidores (26)
- desarrollo web (24)
- base de datos (24)
- administración de sistemas (23)
- php (22)
- desarrollo ágil (22)
- empresa (21)
- otp (20)
- ruby (19)
- ingeniería de negocio (18)
- elixir (18)
- desarrollo profesional (16)
- redes (16)
- seguridad (14)