Está en: »

Artículos

Compresor de código javascript


Últimamente he estado añadiendo algunas actualizaciones para las cuales he añadido varias librerías javascript. Ya que el tamaño de carga estaba aumentando considerablemente, decidí utilizar algún compresor de código.

Tras bastante rato probando algunos con resultados poco satisfactorio (no funcionaban los códigos resultantes), encontré el proyecto JSMin del señor Douglas Crockford el cual me llamó la atención. Al ver que el proyecto estaba hospedado en code.google.com, me pareció una muy buena opción, pero claro, daba el código del proyecto para varios lenguajes.

Como es normal, me decanté por php (aquí está la variante del proyecto para php).

La cuestión es que es algo engorroso tener que editar el php cada vez que querramos comprimir algún archivo, y para colmo, el ejemplo sólo muestra el código, de manera que hay que ver la fuente, copiar y pegar en un archivo para guardarlo.

Así que por estas razones, opté por crear un pequeño script php el cual permite un upload de archivo y muestra luego una ruta para su descarga.

Continúe leyendo…

Montar recursos samba en GNU/Linux

En sistemas GNU/Linux – UNIX, lo normal para acceder a un dispositivo es montarlo en alguna ruta del sistema de ficheros. Para acceder a servidores samba, la mayoría de usuarios que conozco, utilizan konqueror, el cual soporta samba a través del maravilloso kioslave de kde. El problema es que al no estar montado, si por ejemplo accedemos a un vídeo, este se copiará al temporal de nuestro sistema y posteriormente se visualizará. Aparte de que si necesitamos que algún software de consola o no kde/Gnome acceda al sistema, no podrá. Principalmente por estos motivos (y algunos más) es recomendable montar el recurso compartido en nuestro sistema de ficheros.

Podemos hacerlo en consola con el siguiente comando:

mount.cifs //ip_o_nombre_del_servidor/recurso_compartido /ruta/al/directorio/donde/montarlo -o user=usuario_de_acceso,pass=contraseña_usuario_de_acceso,iocharset=iso8859-15,codepage=cp850

Es fácil de entender, pero explicaré las opciones (lo posterior a -o):

  • user -> usuario con el que queremos acceder al servidor.
  • pass-> contraseña del usuario anterior.
  • iocharset -> especifica los caracteres a utilizar en la configuración del servidor samba (iso8859-15 es la codificación por defecto en equipos windows)
  • codepage -> establece la codificación en el servidor.

A pesar de decantarme normalmente por usar la consola, es cierto que suele ser algo incómodo ya que habría que buscar los equipos, explorar recursos compartidos y montarlos. Hay una aplicación que suelo utilizar por comodidad para esta acción la cual se llama smb4k. En openSuse bastaría con un

zypper install smb4k

Continúe leyendo…

Exploración de recursos samba con el cortafuegos de openSuse activado

Si tenemos una openSuse con el cortafuegos activado, os habreis dado cuenta que al intentar explorar los recursos smb de una red no son detectados.

En openSuse 11, se incorporó una nueva utilidad en el cortafuegos la cual nos permite una exploración de equipos y recursos en la red que nos encontramos. Para activar dicha opción, nos dirigimos al panel de control yast, cortafuegos, difusión. Ahí, en la zona “Aceptando respuestas de difusion (broadcasts)” picamos en Añadir e introducimos la red y el servicio.

yast - Añadir red para exploración de recursos samba

yast - Añadir red para exploración de recursos samba

Con esta regla, permitimos la exploración para toda la red 192.168.1.x

El cortafuegos quedaría así:

yast - Configuración final del cortafuegos

yast - Configuración final del cortafuegos

De esta forma tenemos una exploración sin tener que renunciar a desactivar el cortafuegos de nuestro sistema. Claro está que esto habrá que hacerlo en cada uno de los equipos cliente que tengamos.

Windows como cliente NFS

Si por determinadas circunstancias necesitamos agregar equipos windows a una red NFS, este pequeño “HOWTO” puede sernos de gran utilidad.

Hay que tener en cuenta que tiene varios inconvenientes, y si queremos una red de equipos con distintos sistemas operativos, recomiendo encarecidamente utilizar el maravilloso samba. Al final del artículo explico algunos problemas con los que me topé y por lo que no lo recomiendo.

Descargamos el software Servicios de Windows para UNIX 3.5 desde http://www.microsoft.com/downloads/details.aspx?familyid=896C9688-601B-44F1-81A4-02878FF11778&displaylang=en

Si tenemos Windows Xp Home, el software no funcionará para esta versión. En esta dirección http://oreilly.com/pub/h/2883 explican como corregirlo.

Extraemos los archivos (en una ruta que recordemos, por ejemplo c:UNIX_services).

Lanzamos el asistente de instalación, aceptamos la licencia y elejimos “Custom Instalation”

Servicios de Windows para UNIX - inicio asistente instalación

Servicios de Windows para UNIX - inicio asistente instalación

Continúe leyendo…

Funciones para mssql (Microsft SQL Server)

Aquí os dejo una serie de funciones/sentencias para Microsoft SQL Server (mssql)
Continúe leyendo…

Configurar escáner en red – openSuse 11

Si tenemos un equipo en red con un escáner (como es mi caso) y quereis utilizarlo en otros equipos, con openSuse es bastante sencillo.

El demonio encargado de manejar el dispositivo se llama SANE (Scanner Access Now Easy). El mismo demonio permite el acceso mediante la redsin necesidad de otro software.

En el equipo que contiene el escáner:

  • Abrimos el panel de control YAST -> Hardware -> Escáner
  • Comprobamos que esté configurado (si no es el caso, seguramente lo haya detectado. Simplemente edite la detección y acepte tal cual está)
  • Picamos en el botón Otros y elejimos “Escanear en red”
  • Introducimos las ip de los equipos que se conectarán a este escaner separados por comas.
yast - configuración para compartir escáner

yast - configuración para compartir escáner

  • Siguiente y Terminar
  • Tenemos que abrir el puerto 6566 en tcp en el cortafuegos de esta máquina.

Ahora, en los equipos cliente:

Continúe leyendo…

Insertar valores retornados desde un select en MS SQL

Actualmente estoy desarrollando una aplicación (intranet) basada en php y mssql (Microsoft SQL server 2000) para un cliente.

Necesito realizar un volcado de algunos datos de una tabla en otra donde los campos son distintos. Para realizarlo, utilizo la sentencia:

INSERT INTO tabla2
SELECT campo1 AS campo1nuevo, campo2 AS campo2nuevo, campo3 AS campo3nuevo, campo4 AS campo4nuevo
FROM tabla1
WHERE campo1.tabla2 = 'valor a filtrar'

Continúe leyendo…

Comandos GNU/Linux para principiantes

Poco a poco, y con mucho esfuerzo, voy evangelizando a algunos usuarios, pero constantemente me están preguntando como era tal o cual comando.

Para estos “novatos”, encontré una lista (la cual adjunto en pdf), traducida por Fran Delgado, en la que se detallan los comandos más básicos:

Trabajando con archivos

  • ls –> listar contenido de un directorio
  • ls -al –> listado con atributos y archivos ocultos
  • cd newdir/ -> moverse al directorio newdir
  • cd –> moverse al directorio home
  • pwd –> mostrar la ruta actual
  • rm file –> borrar el archivo file
  • rm -r dir –> borrar el directorio dir
  • rm -f file –> borrar file sin emitir mensajes de error
  • rm -rf dir –> igual que el anterior pero con el directorio dir [**]
  • cp file1 file2 –> copiar file1 en file2
  • cp -r dir1 dir2 –> copiar el dir1 en dir2 (si no existe se crea)
  • mv file1 file2 –> renombra file1 como file2. Si file2 es un directorio lo mueve dentro del mismo.
  • ln -s file link –> crea un enlace simbólico de link hacia file.
  • touch file –> crea o actualiza file
  • cat > file –> redirecciona la entrada estándar a file
  • more file –> muestra el contenido de file
  • head file –> muestra las 10 primeras filas de file
  • tail file –> muestra las 10 últimas filas de file
  • tail -f file –> muestra las 10 últimas filas de file a medida que va creciendo.

Gestión de procesos
Continúe leyendo…

Router, firewall, proxy… bajo una máquina potente o poco potente

Hace ya tiempo que desistí de las horrendas funcionalidades de los router que ofrecen las operadoras de comunicaciones. Y es que cuando deseas una buena funcionalidad (y en este caso sólo hablo de enrutar), se suelen tener problemas varidados y habituales.

¿Qué decir de esos supuestos firewall que traen algunos? No creo que el cortafuegos que incorpora Windows XP sea tan deprimente (no puedo asegurarlo ya que no utilizo la plataforma Windows -bueno, sólo para probar algunos diseños-).

Ya hace basante que un cliente me preguntó que cómo podía controlar los accesos a internet de sus empleados. Por entonces no conocía muchas plataformas libres para dicho propósito, pero por no resignarme a ese caro y pesado ISA Server, me puse manos a la obra a buscar alguna buena solución abierta.

En dicha búsqueda, encontré muchas más soluciones de las que esperaba. Desde variantes de GNU/Linux hasta OpenBSD o FreeBSD, algo que me dió bastante alegría, ya que para controlar una red bajo un Directorio Activo de Microsoft pensaba que me tendría que limitar a ISA Server.

Bueno, detallo algunas impresiones de los más interesantes proyectos que encontré:
Continúe leyendo…

Crear copias de seguridad en servidor web de hosting mediante php

Cuando tenemos un cms alojado, normalmente suele tener algún sistema para las copias de seguridad. Pero también es cierto que la mayoría simplemente hacen un backup de la base de datos, dejando los adjuntos (imágenes, vídeos, ficheros…) descartados.

Otras veces, por necesidades del cliente, desarrollamos nosotros mismos la aplicación.

La cuestión es que sea cual sea el caso, se suele necesitar un sistema de backups medianamente funcional. Y para dicho propósito, he creado un script en php.

El funcionamiento del archivo es bien sencillo:
Continúe leyendo…