Feb 8

php cheat sheet

Saludos espartanos,

Hoy os traemos una chuleta para desarrolladores que trabajen en php bastante curiosa. Aun queda modificar/añadir mucho, pero será interesante seguir su evolución.

Os pongo directamente el enlace a la web del creador (Manz): Chuleta php.

Huahhhh!!

(visto en Ubuntu Life)

Ene 2

Bonito nombre, plataformas middleware.

Me he querido plantear para este post un reto: mostrar a los profanos de la informática qué es lo que comúnmente se conoce como ‘middleware’, y a los que ya estamos entraditos en el mundo de los binarios, algún ejemplo real de las últimas tecnologías de este tipo.

Bien, partiendo de que todos los que leáis esto sabéis por lo menos qué es el software y qué el hardware, podemos decir que la parte middleware es una capa intermedia, abstracta, situada entre dos niveles funcionales de una computadora (o varias computadoras), que permite conectar los servicios que ofrece uno de ellos para que puedan ser utilizados por el otro.

Esto, dicho así, puede parecer muy duro, pero se entiende fácilmente si pensamos, a nivel de programación, en un sistema operativo.  De una forma bastante bruta, un sistema operativo no es más que el software que permite al programador utilizar los servicios que ofrece el hardware de la computadora.
Imaginemos, pues, intentar abrir un archivo sin utilizar la API que éste ofrece: tendríamos, en primer lugar, que leer la tabla de localización de los bloques de disco para poder leer el contenido del archivo.  Esta tabla, sería diferente si se programa sobre Windows, UNIX ó MAC.  Luego tendríamos que manejar los accesos al disco duro ‘a pelo’ manejando los cabezales, los tamaños de los clusters, etc…
Esto es lo que proporciona un middleware: abstracción.  Encapsular los detalles del manejo de un determinado procedimiento en una simple función; en nuestro caso, esta función sería similar a un FileOpen, fopen u open a secas, en la que simplemente indicamos el nombre del archivo y el sistema operativo ya se encargará del resto.

Un S.O. es un ejemplo, pero en realidad existen infinidad de lugares dentro del amplio mundo de la informática en los que cabe utilizar una plataforma que haga las funciones de un middleware.  A distintos niveles, podríamos nombrar varias, aunque hay más:

  • A nivel del propio computador, encontramos la BIOS, que maneja los dispositivos físicos al más bajo nivel, ofreciendo el manejo de la memoria, los discos (IDE, …), la caché, el vídeo estándar, etc… También están los conocidos controladores o drivers, que se encargan de ampliar la funcionalidad de la BIOS para aquellos dispositivos que no le son conocidos.
  • Ya a un nivel mucho más alto, tenemos, por ejemplo los servidores de aplicaciones, como es el caso de Tuxedo, que se encargan de abstraer tareas tan tediosas como la sincronización o comunicación entre procesos, u ocultar actividades complejas como la transaccionalidad en bases de datos distribuidas.
  • Por poner un último ejemplo, en los últimos tiempos han aparecido plataformas middleware de más alto nivel, que permiten crear aplicaciones que se ejecutan parcialmente en cientos o miles de computadoras, pero que permiten verlas desde el exterior como una única aplicación.  Estos sistemas permiten crear aplicaciones que procesan millones de datos concurrentemente de forma distribuida, como si de un único ordenador se tratara.  Ejemplo de estas plataformas podrían ser Alchemi o ProActive, cuya popularidad está creciendo enormemente en los campos de la ingeniería.

En el próximo post hablaré de ProActive, una conocida mía que me ha salvado el culo en alguna ocasión.

Nov 6

Impresora flash

Saludos espartanos,

Hoy hablaremos de algo que, para nada es complicado de averiguar, pero que si no lo conoces te puede llevar un rato de navegación: Imprimir desde flash.

Flash dispone de una clase que nos permite imprimir MovieClips de manera bastante sencilla. Vamos a utilizarla al pulsar un botón:

Código:

on (press) {
  var imprimirMC = new PrintJob();
  var usuarioAcepta = imprimirMC.start();
  if (usuarioAcepta) {
    imprimirMC.addPage(nombre del movieclip a imprimir, área de impresión, si es bitmap, número del frame);
    imprimirMC.send();
  }
  delete imprimirMC;
}

Comportamiento, línea a línea:

  1. Creamos una instancia de la clase PrintJob, con nombre imprimirMC.
  2. Mostramos el diálogo de impresión al usuario con start. En este punto, flash detiene su ejecución a la espera que el usuario seleccione impresora y acepte.
  3. Si el usuario aceptó la impresión…
  4. Añadimos un MovieClip para imprimir (pueden ser cuantos queramos).
    • Indicamos entre comillas el nombre del mismo. Segun este método, debe estar cargado en pantalla (no nos valió indicar aquí el id de la librería) con un nombre.
    • (opcional) Indicamos el área de impresión del movieclip, del estilo (sin comillas): {xMin:0, xMax:600, yMin:0, yMax:800}
    • (opcional) True si es un bitmap, false en caso contrario.
    • (opcional) Nos permite indicar aquí el frame concreto del MovieClip que queremos imprimir.
  5. Enviamos los datos a la impresora para que imprima.
  6. Liberación de recursos.

Aparte, podeis ver más info de la clase PrintJob y su uso en la documentación del propio flash. Recordad que solo muestro el camino, ahora os toca investigar ;).

Oct 20

Hola!

¿Quién no ha tenido que compartir batalla con la preciosa ayuda de sus compañeros? ¿Quién no ha necesitado organizar qué objetivos ataca cada guerrero para ser óptimos?

Con un programa cvs (Concurrent Versions System) conseguimos todo esto y más. Todo programador ha tenido que enfrentarse a código extenso manipulado por varios programadores de manera concurrente. A todos nos ha pasado que fulanito te pisa el codigo de cierta librería que escribes, o que él quiere manipular cierta librería y necesita obtener los cambios que otro ha realizado sobre ella, o simplemente ha hecho un estropicio y necesita recuperar una versión de días atrás. Para ello nacieron los cvs’s.

Hay muchos y muy buenos cvs en el mundillo del software libre. Entre ellos destacamos Subversion. A continuación exponemos pequeños tutoriales y fuentes de descarga.

No lo olvideis , la unión hace la fuerza, siempre que esta unión sea organizada.

Oct 19

¡Saludos Espartanos!

Aunque la librería más conocida y utilizada hasta hace poco era Prototype, ha surgido jQuery, un nuevo tipo de librería de javascript que  ha sido diseñado para cambiar tu forma de escribir javascript, nada de  un conjunto de innecesarias y complicadas mejoras. jQuery es una “librería JavaScript muy rápida y muy ligera que simplifica el desarrollo de la parte de cliente de las aplicaciones web. Actualmente va por la version 1.2.1

Es posible hacer lo que se tarda 5 dias con AJAX en solo 10 lineas con jQuery.

jquery.jpg

Para utilizar jQuery, solamente es necesario descargar la librería y enlazar en nuestras páginas el único archivo JavaScript que la forma

La librería se puede descargar en dos versiones: la versión descomprimida ocupa 61 KB y es la mejor opción para desarrollar aplicaciones. La versión comprimida ocupa sólo 20 KB y es la opción ideal en el servidor de producción, para minimizar el tiempo de carga de la aplicación.

Aqui teneis varios ejemplos:

Espero que esto os sirva para animaros a adentraros en esta fascinante libreria de javascript y no como estos cobardes atenienses que siguen anclados en el pasado.

Oct 10

Utilidad del comando SUDO

 

Hola Esparta!

Hoy vamos a tratar de arrojar luz al tema del uso de la consola (o línea de comandos, para los que esten pensando en videojuegos) en GNU/Linux. Este es un tema muy manido por la controversia que suscita el dilema de si usar la consola es útil o solo cool. Nuestro lema es: “Los espartanos hacen lo que quieren, no lo que le dictan los atenienses”. Por eso, no está de más el listar de una manera medianamente detallada los comandos más útiles que puedes usar en la consola de Linux.

Navegando con nuestra valkiria hemos encontrado un extenso listado de comandos clasificados por grupo al que esta enfocado y con descricion e incluso ejemplos. Todo totalmente en castellano. Está pensado para distribuciones Debian o basadas en ellas (como Ubuntu, Mint, Knoppix, etc), pero la gran mayoría de los comandos son genéricos de GNU/Linux.

Listado de comandos en HTML

Listado de comandos en PDF

 

También tenemos una buena chuleta (CheatSheets) en formato Gif que puedes imprimir.

 

Chuleta de comandos GNU/Linux

Y por último y a modo de regalo, ponemos un enlace a un blog con un excelente listado de chuletas para una gran variedad de lenguajes de programación.

Recordad, la consola es una amiga más, al igual que los entornos gráficos. Lo que está claro es que cada uno elige sus amigos. Tu, como buen espartano, también.

Hasta la próxima.

 

 

Oct 2

Aleluyaaaaa

Saludos espartanos,

La comunidad de desarrolladores de php está estos días de enhorabuena ya que, vía PHP Senior, a su vez vía Blog de Inwe, nos enteramos que la próxima versión de php, la 5.3, implementará un sistema de namespace. Esto se traducirá en una mejor orientación a objetos, código más legible y mayor escalabilidad y mantenimiento de las aplicaciones. La sorpresa ha sido doble, pues hacía meses que se discutía si añadir esta funcionalidad a php 6 o no.

Aunque dada la frecuencia de actualización por parte de los proveedores de hosting de sus sistemas (muchos aun trabajan con php 4.3 y anteriores O_oUUU), tendremos que buscar alternativas a quienes tenemos contratados servidores compartidos (yo espero que por poco tiempo).

De hecho, hace unos meses comentamos aquí una opción que, incluso con cambios mínimos, podría valer hasta para php 4: Namespace (packages) para PHP 5.

En cualquier caso, nosotros, espartanos, levantamos nuetras lanzas a la espera de que se libere esta nueva versión y en señal de aprobación HUAHHHHH!!!

Sep 14

Kumbia, framwork para php 5

Saludos espartanos,

Hoy os hablaremos de un framework desarrollado por hispano-hablantes para php5, kumbia.

(copio-pego de su página de inicio)

¿Qué es kumbia Framework?

Kumbia es un web framework libre escrito en PHP5. Basado en las mejores prácticas de desarrollo web, usado en software comercial y educativo, Kumbia fomenta la velocidad y eficiencia en la creación y mantenimiento de aplicaciones web, reemplazando tareas de codificación repetitivas por poder, control y placer.

Sus principales características son:

  • Sistema de Plantillas sencillo
  • Administración de Cache
  • Scaffolding Avanzado
  • Modelo de Objetos y Separación MVC
  • Soporte para AJAX
  • Generación de Formularios
  • Componentes Gráficos
  • Seguridad

y muchas cosas más.

Adicional a esto Kumbia integra lo mejor de la Web en un solo framework para producir las aplicaciones Web del mañana (prototypejs, phpMailer, Smarty, FPDF, Script.aculo.us)

Yo lo he estado mirando y tiene muy buena pinta. Utiliza los patrones de diseño más populares, como Active Record y MVP. Además, tienen un manual muy currado en español que ayuda a comprenderlo. Recomendamos a todo desarrollador que le eche un vistazo.

Como dicen en su web: “Kumbia puede ser la solución que estabas esperando!”

En somosespartanos alzamos nuestros escudos en señal de aprobación (¡¡HUA HUA HUA!!).

Sep 4

large words

Saludos espartanos,

Hoy hablaremos de un plugin del wordpress que nos permite evitar que las palabras “excesivamente largas” (a mala idea, vaya) jodan el diseño wordpresiano.
Read the rest of this entry »

Sep 3

Enlaces

Saludos espartanos,

Después de mucho sin postear, os pongo a continuación varios enlaces de interés para todo aquel que se dedique al desarrollo web.

  • Guía de referencia rápida CSS 2.1
    • Antes de llenar tu página de tablas y grafiquitos que aumenten el peso de la misma, prueba las diferentes opciones que facilita CSS (qué pena que Microsoft Internet Explorer no respete los estándares).
  • Guía de referencia rápida XHTML
    • Una buena estructuración pasa necesáriamente por un documento xhtml (xml tb nos vale) válido.
  • WWW SQL Designer
    • Olvídate de hacer esquemas SQL en folios que siempre quedan pequeños utilizando esta herramienta online de fácil uso y potencial enorme. Pínchale a ‘online demo’ (panel derecho) y juega un poco con él.
    • WWW SQL Designer

« Previous Entries