VERSION ACTUAL :

Inicio de sesión

Raulito el Friki

Raulito El Friki

COMENTARIOS

EN LINEA

Hay actualmente 0 usuarios conectados.

NUEVOS

  • FRANK1082
  • maestrodenada
  • usetecknics
  • ivanferraz
  • erasmo1916

Agregador de canales de noticias

Descargar ISO 27001 – ISO 9001 – ISO 26000

elj0na - Lun, 02/16/2015 - 21:50

Comparto con ustedes las siguientes ISO

ISO 27001 Information technology – Security techniques – Information security management systems – Requirements

ISO 9001 Quality management systems

ISO 26000 Socially responsible


El cerdo y la gallina

Jose Salgado - Lun, 02/16/2015 - 18:05

animal

Hablamos mucho de sinérgias, acuerdos, consensos, pero hay un detalle importante que hay que saber distinguir, no siempre ambas partes se juegan lo mismo. Suele ser normal que alguien quiera lanzar una asociación o proyecto y le salgan personas por todos los lados diciendo que fantástico, pero a la hora de la verdad, cuando hay que bajar a las trincheras, acaban siendo cuatro gatos quienes trabajan mientras el resto ejercen el nombre arte de opinar desde la grada.

He vivido en mis carnes más de una vez este fenómeno, y lo he experimentado en diferentes contextos: asociacionismo de barrio, sindicatos, grupos de profesionales, desarrollando software libre, y al final, son siempre un cinco por ciento que sacan el trabajo adelante y unos pocos quienes quieren ponerse la medalla.

Es por esto que cada vez veo con mejores ojos distintos niveles de participación, y en consecuencia, de poder de decisión. Si un grupo realiza todo el trabajo, no tiene sentido que todos puedan decidir -si opinar-

Si entramos en el mundo de la emprendeduría, no es suficiente con ser socio, hay que bajar a las trincheras y pelear en el barro, en el día a día, donde cada pequeña victoria tiene el sabor de guerra ganada. Socios que simplemente acuden a las reuniones a decir lo que piensan, criticar lo que se ha hecho, y aportar ideas que más que acelerar el crecimiento y expansión, consume recursos internos dejando al equipo bloqueado, no interesan como socios activos. Elaborar una estructura donde haya distintos niveles de socios, y de como se reparte el trabajo y las decisiones, es la parte más importante de cualquier tipo de aventura donde intervienen más de dos personas.

Y para esta teoría, vuelvo a ejemplificar con el proyecto de huevos fritos con bacon. Se han de unir dos perfiles, gallinas y cerdos, ¿pero adivinar quién pone más de su parte para que el plato salga adelante?

Película: Animal Farm

El cerdo y la gallina ha sido escrito para Exelisis. Visita la web para más información y compártelo si crees que es interesante.

Fricciones, retrasos y poder de decisión

Jose Salgado - Dom, 02/15/2015 - 18:05

decidir

El tiempo es un factor vital en cualquier negocio, quizás por eso decimos que el tiempo eso oro, y perder el tiempo es algo que no debería de aceptarse. Para desgracia nuestra y de todos los sistemas de gestión de recursos humanos, el tiempo siempre se escabulle entre los dedos de forma inevitable. El café que nos tomamos, la charla que tenemos sentados en la mesa de un compañero, etc… Pero por mucho que nos moleste estos minutos no orientados a la productividad pura, yo creo que son necesarios en su justa medida para crear un entorno informal adecuado y que la información -formal y no formal- fluya dentro de la organización.

El verdadero devorador de tiempo, que afecta tanto a la productividad como a la moral, es el que ocurre cuando las respuestas se retrasan de forma injustificada o bien, se se escala la decisión a un tercero para obtener el visto bueno. ¿En cuantas ocasiones hemos enviado una pregunta, bien redactada y escrita con educación, y no hemos tenido respuesta?, al no tener respuesta tenemos que volver a enviar otro mensaje, llamar por teléfono y que la respuesta sea la clásica: si, lo he visto y me lo estoy mirando. Y en este proceso contemplativo pueden pasar días o semanas.

Una vez superas este escollo y obtienes la información, toca negociar los detalles, que suele caer en una de estas dos categorías: o bien ha de preguntar a un superior si se puede hacer, o bien espera hasta el final para preguntar. En ambos casos te ves sumido de nuevo en el proceso de perseguir a un proveedor, patrocinador o cliente hasta tener una respuesta, que en caso de ser negativa, te obliga a iniciar el proceso desde cero otra vez, con el cansancio mental que esto conlleva.

Me fascina, y lo hace desde un punto de vista puro de RRHH, como es posible que una persona que está al cargo de un proceso, producto o departamente no sea capaz de decir nada en absoluto y tenga que consultarlo todo. ¿No se dan cuenta que es una pérdida de tiempo y dinero, para el posible cliente y para ellos?. Si tu equipo es bueno, deja que tome decisiones, seguro que alguna vez se equivocará, pero seguro que si tiene un buen mentoring aprenderá y todos ganaremos en el proceso.

Realmente no me cabe en la cabeza que personas que están en lugares para ocupar una silla sin decir ni si, ni no, ni todo lo contrario. Me agota mentalmente, acaba con mi paciencia, y lo más habitual es que busque una empresa alternativa que me ofrezca el servicio, me da igual que sea más cara, pero me da poca confianza una empresa que no da poder a sus empleados en el proceso de tomar decisiones y tienen a los clientes a la espera de una aparición divina para poder decidir.

Película: Sophie’s Choice

Fricciones, retrasos y poder de decisión ha sido escrito para Exelisis. Visita la web para más información y compártelo si crees que es interesante.

Haga su sitio web de su sucursal virtual

E-ais - Sáb, 02/14/2015 - 22:34
Para muchas empresas los espacios en línea que crean deben ser polivalente; que necesitan para crear la cultura de la marca y la autonomía es de la comunidad, pero también tienen que dar lugar a conversiones de ventas. Es por esta razón que su sitio web, no su página de Facebook, debe ser el foco central de la estrategia online y social. Su sitio web tiene dos características muy e-aisnoreply@blogger.com0

Liberado jQuery Archive List 3.0

Skatox - Sáb, 02/14/2015 - 12:54

Luego de mas de un año sin poder dedicarme a este proyecto personal, he podido liberar la versión 3.0 de jQuery Archive List un widget de WordPress para mostrar el historial de sitio de una mejor manera y con efectos de jQuery. El salto a la versión 3, es debido a grandes cambios en el código de Javascript y en algunas cosas internas de plugin.

Entre las mejoras de esta nueva versión podrán encontrar:

  • Re-escritura completa del código Javascript, ahora ocupa menos espacio, código mas entendible y debería funcionar mas rápido.
  • Finalmente he agregado soporte para tipos de entradas personalizadas, así que puedes usar este widget si tienes tipos de contenido personalizados.
  • Agregué la clase active a los elementos que enlazan a la página actual.
  • Agregué el atributo de título a los enlaces para generar código HTML validado por la W3C.
  • Se agregó traducción al Holadés (gracias a Patrick Schreibing).
  • Se migró la selección de categorías al API de WordPress.
  • Se solucionó errores de exclusión de categorías.
  • Se solucionó el error de la ausencia de la clase expanded  en los meses (gracias to pjarts).
  • Se solucionó el error de no expandirse los meses al seleccionar algunas opciones.

Descárgalo desde el gestor de Plugins de WordPress o desde el sitio oficial de jQuery Archive List Widget. Y cualquier reporte o duda, no te olvides de reportarla en los foros de soporte de WordPress.

LVM extension on the fly

Vanished - Vie, 02/13/2015 - 09:55
Introducció: En aquesta entrada mostrarem com veure si una partició configurada amb LVM es ampliable i com ampliar-la. L'ampliació d'una partició LVM és transparent per al sistema i no afecta el funcionament de les aplicacions en funcionant.

LVM: LVM estructura el disc amb Physical Volumes que formen Volume Groups. Aquestos volume groups s'assginen en porcions com a Logical Volumes.

Extensió: Si volem extendre un logical volume (LV) el primer que haurem de revisar és si el volume group al que pertany el LV disposa d'espai lliure sense assignar.

[root@home ~]# vgdisplay
--- Volume group ---
VG Name datavg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 186.27 GB
PE Size 4.00 MB
Total PE 47684
Alloc PE / Size 25600 / 100.00 GB
-> Free PE / Size 22084 / 86.27 GB
VG UUID 3r9tDv-34d4-6jbK-yLAA-YWMS-6qrx-Lr4EpM

--- Volume group ---
VG Name sysvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 5
Open LV 5
Max PV 0
Cur PV 1
Act PV 1
VG Size 136.44 GB
PE Size 32.00 MB
Total PE 4366
Alloc PE / Size 3213 / 100.41 GB
-> Free PE / Size 1153 / 36.03 GB
VG UUID gWILlV-9nHJ-ioac-1ckD-RRID-xU2U-meXs2O
Una forma més abreviada i fàcil de veure la informació si només volem ampliar un volum es la següent:
[root@home ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 6 0 wz--n- 136.44g 36.03g
VolGroup1 1 6 0 wz--n- 186.27.36g 86.27g
També podem revisar els Physical Volumes, en aquest cas és el mateix però podria haver varios physical volumes assignats a un volume group:
[root@home ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/cciss/c1d0p2 sysvg lvm2 a-- 136.44G 36.03G
/dev/cciss/c1d1p1 datavg lvm2 a-- 186.27G 86.27G
Revisem quina és la partició que necessita ser redimencionada.
[root@home ~]# df -h
Filesystem Size Used Avail Use% Mount
...
/dev/mapper/sysvg-data
83G 73G 6.0G 93% /data
...
També podem veure aquesta informació de la següent manera (aquest exemple ve d'una màquina diferent):
[root@home2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
LogVol00 VolGroup -wi-ao--- 3.91g
LogVol01 VolGroup -wi-ao--- 2.93g
LogVol02 VolGroup -wi-ao--- 5.88g
LogVol03 VolGroup -wi-ao--- 3.91g
LogVol04 VolGroup -wi-ao--- 16.00g
LogVol05 VolGroup -wi-ao--- 20.00g
u01 VolGroup1 -wi-ao--- 15.00g
u02 VolGroup1 -wi-ao--- 126.00g
u03 VolGroup1 -wi-ao--- 73.00g
u04 VolGroup1 -wi-ao--- 15.00g
u05 VolGroup1 -wi-ao--- 15.00g
u06 VolGroup1 -wi-ao--- 15.00g
Una volta que sabem quin logical volume es el que volem amplicar i comprovem que el volume group associat té espai lliure el redimencionem amb:
[root@home data]# lvextend -L +6G /dev/mapper/sysvg-data
Extending logical volume data to 91.41 GB
Logical volume data successfully resized
Una volta redimencionat extenem el sistema de fitxers per a que es puga utilitzar tota la partició.
[root@home data]# resize2fs /dev/mapper/sysvg-data
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/mapper/sysvg-data is mounted on /data; on-line resizing required
Performing an on-line resize of /dev/mapper/sysvg-data to 23961600 (4k) blocks.
The filesystem on /dev/mapper/sysvg-data is now 23961600 blocks long.
Una volta realitzat el extend podem veure el resultat amb lvs.

Enllaços: LVM Howto
LVM CentOS

Sigue el dinero

Jose Salgado - Jue, 02/12/2015 - 18:05

dinero

Celda J14-J4, este es el resultado de cualquier tipo de negocio, importación, exportación, ventas, industrial, legal o ilegal. Al final hay una celda en excel que nos da el beneficio final después de imputar todos los gastos de explotación, producción, amortización, financieros e impuestos.

Con la tecnología actual, es posible cruzar nuestros gastos con los ingresos de terceros, y de este modo tener un mapa fiscal bastante acertado de lo que está sucediendo en la economía. En teoría, si eso se hace correctamente podríamos radiografiar la sociedad y detectar fugas de capitales, dinero negro, y cualquier otro tipo de actividad.

Pero supongo que este tipo de control no interesa, ni a nosotros que más de una vez hemos pagado sin IVA, ni a los que pagan el IVA pero desvían el cuatro por ciento a sociedades pantallas, paraísos fiscales y cuentas opacas. La diferencia es que los que despistamos el IVA no alcanzamos ni por casualidad el importe de los segundos, y en el caso que estubiera equivocado, es dinero que se inyecta de nuevo en circulación creando y manteniendo empresas y trabajo -ilegal, pero trabajo al fin y al cabo-. El segundo, no genera el mismo efecto en la economía porque desaparece del sistema.

Con esto de la lista Falcine me vienen dos sentimientos encontrados, me fascina que hacienda persiga a todo currito y autónomo con una dureza que haría las envidias de la Gestapo, y estas personas -curiosamente influyentes- no solo no se les persiga, sino que se les de un plazo para regularizar su situación para no caer en delito fiscal.

Siguiendo con el razonamiento, si Hacienda no puede perseguirlos porque no tiene medios, habría que darles más medios. Es algo que me parece lógico. Y si resulta que las leyes están mal diseñadas, habría que cambiarlas porque lo que no tiene nombre es que el peso de la ley vaya en función de lo alto que estés en el escalafón social.

Sumado a todo esto, me parece que hablamos más que hacemos, y si encontramos que es indignante que existan cuentas opacas en Suiza, es cuestión de prohibir el tráfico de dinero a esos países. Pero claro, falta voluntad política para hacerlo. No se si es por el efecto en los mercados o el efecto en las personas que se suponen que son respetables, pero no se hace.

Es que para decir la verdad, estoy hasta el gorro de el estado y de hacienda. Estoy montando una empresa y pago por todo, incluso antes de facturar, los servicios que recibo por mis impuestos son cada vez menores -las ayudas por hijo que se supone que me tenían que pagar en el 2011 me las pagarán en el 2019- y me toca mucho la moral este tipo de casos.

Ya lo decían en una serie, olvídate de la política, olvídate de todo, sigue el dinero, quién lo tiene, como se mueve. Dime dónde lo vas a gastar y de quién lo vas a recaudar. El dinero, en al final, es el reflejo de todo. Mientras no me expliquen de forma clara y transparente -no como el recibo de la luz- lo que quieren hacer y sobretodo, los planes para hacerlo, ambos dos sectores: los respetables y el estado, tiene todo mi particular desprecio, unos por ladrones y otros por colaboradores necesarios.

Por cierto, y a nivel de curiosidad, buscar las portadas de los periódicos de todos los medios el día que se publicaron las listas, a ver si encontráis la noticia en alguna portada. En una sociedad que importa más el pijama de Belén Esteban que el mecanismo que han usado para defraudar cientos de miles de millones, es una sociedad condenada a ser esclava. Y por no extenderme, por esto mismo creo que el único camino para regenerarnos consiste en apostar todo lo que nos queda en educación, a ver si conseguimos una generación que sepa pensar, sea crítica y no se dedique a mirar el dedo cuando señalamos la luna.

Película: Catch Me If You Can

Sigue el dinero ha sido escrito para Exelisis. Visita la web para más información y compártelo si crees que es interesante.

Algunos apuntes sobre Bash

HelloIT - Jue, 02/12/2015 - 10:41

bashHe querido recoger algunas notas de Bash scripting para no tener que correr a Google (o a cualquier página de StackExchange) cada vez que las dudas me asalten.

/usr/bin/env bash vs /usr/bin/bash

Leí en la siguiente página sobre las "mejores prácticas en Bash" acerca del uso de "#!/usr/bin/env bash" en lugar del habitual "#!/usr/bin/bash" o "#!/bin/bash". La idea es usar"#!/usr/bin/env bash" pues de esta manera lo que hacemos es buscar en el PATH dónde está bash, el cual es probable se encuentre en ubicaciones distintas en servidores diferentes. Ésto evitará problemas portando scripts a otros entornos. [Más info] [2]

#!/usr/bin/env bash
Corchete simple vs Doble corchete

Básicamente, ambos sirven para evaluar expresiones. "[" es un alias para el comando "test" y tanto uno como el otro están disponibles en el estándar POSIX. "[[" sin embargo es una keyword, no un programa, y se trata una versión mejorada para evaluar expresiones, únicamente disponible en Bash, KornShell y Zsh. Si no estás preocupado por la portabilidad de tus scripts con sistemas donde no cuentes con Bash, es mejor usar siempre el doble corchete, por la funcionalidad extra que aporta (posibilidad de usar && y ||, expresiones regulares, pattern matching, etc.). [Más info] [2]

La siguiente evaluación será "true" pues b és mayor que a, 8 mayor que 4, y abcd entra dentro del patrón "a*":

if [[ b > a && 8 -gt 4 && abcd = a* ]]; then ...

PD: Dejo un enlace a la wikipedia donde se especifican los nombres en inglés de éstos símbolos, según la zona.

Doble paréntesis

El doble paréntesis en Bash se usa para evaluaciones aritméticas (casi idéntico a "let"), además de permitir manipulación de variables como lo haríamos en C, tipo (( var++ )).

Si ejecutásemos en Bash la siguiente instrucción, devolvería por pantalla el string "3+4":

a=3+4echo $a

En cambio, con el doble paréntesis podemos manipular operaciones aritméticas. Lo siguiente devolverá el número 10:

a=$(( 3 + 4 ))b=$(( a + 2 ))(( b++ ))echo $b
Comillas y dobles comillas

Todos los carácteres en una expresión entre comillas, son tratados como un string.

a=50;echo 'Aquí hay $a personas' Salida: Aquí hay $a personas

Las dobles comillas en cambio, permiten la expansión de los carácteres especiales ‘$’, ‘`’ y ‘\’ [Más info] [2]:

a=50;echo "Aquí hay $a personas" Salida: Aquí hay 50 personas
Control de errores y debug

En muchos sitios (aquí o aquí, por ejemplo) se insta a usar siempre, al inicio del script, el comando "set -e" (o lo que es lo mismo, "set -o errexit") lo cual detendrá la ejecución del script en caso de que algún comando produzca algún error. Sin embargo, al parecer en ocasiones ésto puede hacer que nuestro script no funcione como esperábamos, así que conviene ir con cuidado. [Más info] [2]

#!/usr/bin/env bash set -e

Referente al debug, podemos ejecutar un script en modo debug añadiéndo al incio del script "set -x" o ejecutándo el script directamente con "bash -x <script>".

#!/usr/bin/env bash set -x

 

Fuentes

http://mywiki.wooledge.org/BashFAQ/

http://kvz.io/blog/2013/11/21/bash-best-practices/

http://mywiki.wooledge.org/BashGuide/Practices

http://www.davidpashley.com/articles/writing-robust-shell-scripts/

Alfresco 5.0 and Liferay 6.2 CMIS integration

Tony de la Fuente - Mié, 02/11/2015 - 16:05
It is as easy as it sounds: Use same user and password in both servers, this can be done by having SSO or same LDAP on both applications. Also just use same user and password for both even with their internal DB. Add the two properties below to your Liferay configuration file and restart Liferay: 3rd: watch […]

Redimensionar fotos en bloque en Ubuntu y derivadas

eliasbrasa - Mar, 02/10/2015 - 11:01

Alguna que otra vez me ha tocado retocar el tamaño de unas fotos por diversas razones, por ejemplo si las voy a subir a una página web. La verdad es que redimensionar fotos de una a una puede convertirse en una tortura, por ello os voy a explicar como hacerlo:

Lo primero que debemos hacer es una copia de seguridad de las fotos y llevárnoslas a una carpeta aparte, para evitar problemas debemos siempre trabajar con una copia de seguridad ;) ;) ;) Vamos a utilizar una de las posibilidades del paquete ImageMagick, que normalmente viene instalado en estas distribuciones.

Abrimos el terminal y nos vamos a la carpeta donde estén esas fotos (en KDE te puedes ir con Dolphin y pulsar botón derecho –> acciones –> Abrir terminal aquí)

Ahora tenemos dos posibilidades, forzar una resolución o mantener la proporción:

Mantener la proporción pero mantener un ancho determinado: mogrify -resize 800 *.jpg

Obligar a una resolución determinada: mogrify -resize 800×600! *.jpg

Y tras un breve espacio de tiempo, dependiendo del tamaño de las fotos, tenemos las fotos reducidas en bloque.

Fuente: Muy Linux.


Korora 21 Disponible

Fedora Nicaragua - Mar, 02/10/2015 - 10:09


Korora, el remix de Fedora que busca hacer esta distribución mas amigable para nuevos usuarios de forma silimar a lo que hace Ubuntu con Debian, ya esta disponible para su descarga en la versión 21:


Así que si conoces a algun alguien que quiera dar su primeros pasos en Linux, pero no te gustaría verlo morir en el intento, Korora puede ser una buena opción para iniciarlo como su primer sistema operativo libre, con la ventaja de incluir todo lo que hace a Fedora Genial.

“Profe, ¿y esto para qué vale?”, mi conferencia en el II CEAM CLM

Gaussianos - Mar, 02/10/2015 - 05:45

El pasado día 16 de enero de 2015 tuve el honor de dar la conferencia de clausura del II CEAM de Castilla-La Mancha invitado por Juan Martínez Tébar. La charla en cuestión llevaba como título Profe, ¿y esto para qué vale?, y el objetivo de la misma fue dar algunas ideas, con ejemplos concretos, para responder a esa pregunta tan repetida por los alumnos de los distintos niveles educativos.

Podéis ver la charla completa en el siguiente vídeo:

"Profe, ¿y esto para qué vale?" Gaussianos en el II Congreso de Enseñanza y Aprendizaje de las Matemáticas from CRFP CLM on Vimeo.

Y no quiero dejar escapar esta oportunidad para destacar que en este evento tuve la oportunidad de conocer, entre otras personas, a Antonio Pérez Sanz y a Fernando Cuartero, además de poder compartir tiempo y conversación con el propio Juan Martínez Tébar, con Juan Medina (que también participó en el evento hablando de Owlas) y con José Ángel López Mateos y su compañera (no recuerdo el nombre), a los que además les tengo que agradecer que me devolvieran sano y salvo a mi humilde morada.

Entra en Gaussianos si quieres hacer algún comentario sobre este artículo, consultar entradas anteriores o enviarnos un mensaje.

Construye tú también el poliedro de Császár.

Optimiza el HTML, CSS, JS e imágenes de tu sitio web con Gulp

Skatox - Lun, 02/09/2015 - 08:00

Uno de los retos de los desarrolladores web al momento de crear páginas web, es encontrar el equilibrio perfecto entre ofrecer un sitio con excelente apariencia visual y usabilidad, pero cuyo tamaño sea lo menor posible para que la carga sea rápida. Pues un sitio web rápido permite: tener mas visitas con el rendimiento actual del servidor, se ahorran costos de ancho de banda, los usuarios sienten que es una buena página y navegan mas tiempo por ella, entre otras. Este procedimiento incluye varias tareas que realizan muchos desarrolladores web como: usar las versiones reducidas (comprimidas) de Javascript, comprimir y ofuscar nuestro código del lado del cliente,  optimizar las imágenes del sitio, comprimir los archivos CSS, combinar todos los archivos CSS y Javascript en un sólo archivo (para cada tecnología) para reducir el número de conexiones, etc. Algo que no es complicado pero consume tiempo y que se debe repetir cada vez que se hacen cambios en el sitio.

Gulp

Como este proceso es repetitivo y consume tiempo, lo mejor es hacer un script que automatice cada etapa, pero hoy en día existen herramientas como que nos permite facilitar todo lo mencionado anteriormente. En este artículo hablaré sobre Gulp, una herramienta para automatizar tareas que hace lo mismo que GruntJS pero es mas fácil de usar y entender.

¿Cómo empezar?

Para instalarlo, lo hacemos a través Node Package Manager de forma global para que se instale como un comando del sistema y poder ejecutarlo en cualquier parte:

npm install -g gulp

Luego en la raíz del proyecto creamos un archivo gulpfile.js donde especificaremos las tareas a realizar:

var gulp = require('gulp');
gulp.task('default', function() {
});
Añadir una tarea

Una tarea es un conjunto de procesos, por ejemplo, optimizar el código JS consiste en: reemplazar algunas liberias por sus versiones CDN, utilizar las versiones minificadas de librerías de terceros, luego concatenar los archivos, minificar y actualizar las referencias en el HTML. Cada uno de estos procesos podemos encontrarlos en el buscador de complementos de Gulp (en caso de no existir alguna puedes crearla y publicarla en Github) y se instalan con npm.

Gulp posee una importante característica: su sistema de flujos entre tareas. Cada una de ellas recibe un conjunto de data (generalmente archivos), realiza un proceso en ella y produce nueva data para ser enviada como entrada a otro flujo. Esto permite a tareas que modifiquen gran de archivos, hacer este procedimiento en RAM y solo escribir en el disco cuando ya se ha terminado de procesar todos los archivos, por lo que se ejecutará muy rápido.

Para verlo en acción, haremos una tarea para reducir el tamaño de los archivos JS como ejemplo, entonces nuestro primer paso es instalar el plugin uglify con NPM:

npm install --save-dev gulp-uglify

Luego se deben hacer dos cosas en el archivo gulpfile.js, una es importar esta el complemento en las dependencias y asignarla a una variable, luego con esta variable podemos ejecutar la función que se encargará de (en este caso) reducir el tamaño del código javascript. Para ello debemos hacer lo siguiente:

var uglify = require('gulp-uglify');
gulp.task('comprimir', function() {
gulp.src('lib/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist'))
});

Como podrás observar, hemos creado una tarea llamada comprimir , que recibe un conjunto de archivos (los archivos JS ubicados dentro de /lib), crea una tubería y ejecuta uglify que se encargará de comprimir cada uno de los archivos, finalmente entrega el resultado a la tubería que se enviará a la ruta de destino (esta se puede definir a donde uno desee). Así sucesivamente podemos ir creando procesos como los mencionados anteriormente y luego agruparlo en unas tareas mas generales, por ejemplo, tareas para generar una versión para depurar (cuya fuente no este comprimida), una versión para producción, una versión de producción para pruebas, entre otros. Esto lo puedes hacer al final haciendo algo como esto:

gulp.task('produccion', ['comprimir', 'copiar','cdn', 'less']);
Ejecutar las tareas

Finalmente puedes ejecutar el comando gulp en la raíz de tu proyecto y empezará a realizar todas las tareas de forma automática. En caso de que quieras ejecutar solo una tarea, puedes pasar por parámetro el nombre de la tarea:

gulp produccion

Con esto generas la versión de producción, o  por ejemplo, si tienes una tarea llamada less para generar los archivos CSS desde LESS, simplemente ejecuta:

gulp less
Tareas recomendadas

Para optimizar un sitio web, generalmente utilizo imagemin, jshint, minify-css, notify, imagemin-pngquant, uglify, usemin. Con estas puedo comprimir imágenes, mejorar el código javascript, concatenar archivos, reducir el tamaño, entre otros. Aunque te recomiendo leer un artículo de Addy Osmani sobre optimización de webs, pues lista una gran cantidad de tareas que puedes ir probando para usar al momento de mejorar tus sitios.

Finalmente, como te darás cuenta con Gulp puedes crear sitios web mas óptimos y ahorrando mucho tiempo. Existen una gran cantidad de tareas existentes que puedes agregar a tu proyecto y facilitar tu trabajo, por eso te recomiendo chequearlas en el buscador de plugins de Gulp y si no existe, puedes crearla y ayudar a otros programadores que necesiten algo similar.

Libro: Seguridad en Unix y Redes

elj0na - Sáb, 02/07/2015 - 00:16

Partiendo la lectura de un nuevo libro SEGURIDAD EN UNIX Y REDES

Seguridad_Unix_Redes-OpenLibra-350x459


Páginas

Suscribirse a Fedora-es sindicador