Menus basico con Listas y CSS

Menus basico con Listas y CSS

Creación de menús básicos con listas utilizando CSS

En la red existen numerosos ejemplos de como crear menús utilizando hojas de estilo (CSS) pero muy pocos de ellos explican el proceso de creación es decir los razonamientos que hay que hacer para poder realizar estos elementos.

En estos apuntes intentaré explicar el proceso de elaboración de un menú de este tipo, razonando la utilización de las diferentes propiedades.

El uso de listas para esta función se enmarca dentro de las directrices de accesibilidad web y se adapta perfectamente al concepto de Web 2.0.

Aclaremos antes de empezar que lo que se va explicar a continuación será válido y funcionará si se utiliza el DTD adecuado que para todos los temas de CSS de grafikas.es son el XHTML Transitional y el Stricttambién son válidas con XHTML 1.1. Cualquier otro DTD o la ausencia del mismo en el documento puede hacer inservible lo aquí explicado. No se ha intentado mantener compatibilidad con IE5 dado que actualmente no es usado por más de un 1% de los internautas. Aunque la mayoría de lo explicado funcionará también en este navegador.

Leer más

Diseñar un periodico con Quark o Indesign

Cuando tuve que realizar esta labor y decidí encontrar ayuda por Internet, me encontré con que no había nada, no se explicaba en ningún sitio el porqué de las medidas y como calcularlas sólo encontré sitios donde te explicaban como poner columnas en un documento o guías pero nada más. Con este texto trato de explicar el porqué de las cosas, lógicamente no pretende ser la «biblia» sobre este tema pero si dar una respuesta más o menos coherente al porqué de unas medidas y no otras.

Por lo tanto con este trabajo queremos mostrar cómo se diseña la maqueta de un periódico utilizando estos programas sin ningún tipo de automatismo. Es cierto que los medios de comunicación si disponen de automatismos para facilitar la labor de elaborar un periódico distinto cada 24 horas, pero la base del proceso es más o menos la que aquí se va a exponer.

Leer más

Expresiones regulares y filtros

Expresiones regulares y filtros

Una expresión regular es un patrón que define a un conjunto de cadenas de caracteres. Las expresiones regulares se construyen de forma análoga a las expresiones aritméticas. Existe la posibilidad de combinar expresiones simples; para ello, debemos emplear distintos operadores.

Los bloques básicos de construcción son las expresiones regulares que referencias un único carácter. La mayoría de los caracteres, incluyendo todas las letras y dígitos, son expresiones regulares que se definen a si mismos. Cualquier metacarácter con significado especial debe ser precedido del símbolo backslash para que pierda su significado especial.

Una lista de caracteres encerrados dentro de [] referencia cualquier carácter sencillo de esa lista. Si el primer carácter es un ^ entonces estaremos haciendo referencia a los caracteres que no aparecen en la lista.

Los caracteres ^ y $ son metacaracteres que representan una cadena vacía al principio y al final de la línea, respectivamente. Los símbolos < y > representan una cadena vacía al principio y al final de una palabra.

Una expresión regular que representa un carácter sencillo puede ser continuada con uno o varios caracteres de repetición:

?El elemento precedente es opcional y debe coincidir al menos una vez.
*El elemento precedente debe coincidir cero o más veces
{n}El elemento precedente debe coincidir exactamente n veces
+El elemento precedente debe coincidir una o más veces.
{,m}El elemento precedente es opcional y debe coincidir al menos m veces.
{n,m}El elemento precedente debe coincidir al menos n veces pero no más de m veces.

Dos expresiones regulares pueden unirse con el operador |. La expresión resultante representa cualquier cadena que responda a uno de los dos patrones.

Ejemplos:

PatrónQué representa
pabloLa cadena pablo
^pabloLa cadena pablo al comienzo de una línea.
pablo$La cadena pablo al final de una línea.
^pablo$La cadena pablo formando una única línea.
niñ[oa]La cadena niño o niña
ni[^aeiou]oLa tercera letra no es una vocal minúscula.
ga.oLa tercera letra es cualquier carácter.
^….$Cualquier línea que contenga 4 caracteres.
^.Cualquier línea que comienza por punto.
^[^.]Cualquier línea que no comienza por punto.
niños*niño, niños, niñoss, niñosss, etc
“niño”niño entre comillas dobles.
“*niño”*niño con o sin comillas dobles.
[a-z][a-z]*una o más letras minúsculas.
[a-z]+una o más letras minúsculas (sólo válido en algunas aplicaciones).
[^0-9A-Z]cualquier caracter que no sea ni número ni letra mayúscula.
[a-zA-Z]cualquier letra sea mayúscula o minúscula.
[Ax5]cualquier carácter que sea A, x o 5.
niño|niña|nadauna de las tres palabras.
(s|arb)ustola palabra susto o arbusto.
ga?t[oa]gato, gata, gasto, gaita, etc.
<gacualquier palabra que empiece por ga.
 ño>cualquier palabra que termine por ño
<niño>la palabra niño
o{2,}dos o más oes en una misma fila.

Siempre que empleemos expresiones regulares con grep, deben se encerradas entre comillas dobles para que el interprete de órdenes no los considere. Si dentro de la expresión regular tenemos el metacarcter $ , deberemos emplear comillas simples en lugar de las comillas dobles.

Filtros

sort: Sintaxis sort [-ndt] [+campo] [archivo(s)]
Este filtro se utiliza para ordenar líneas compuestas por cmpos, separados por tabuladores, aunque podemos especificar cualquier tipo de separador de campo. Si a sort no le pasamos ningún archivo como prámetro, tomará su entrada de la entrada estándar como cualquier filtro. Con este filtro podemos ordenar las líneas de uno varios archivos según un campo en particular. Esta ordenación no produce ninguna modificación en los archivos tratados.

Algunas opciones:

-nconsidera el valor numérico para ordenar los campos.
-dconsiderar sólo espacios en blanco y caracteres alfanuméricos.
-t seputiliza sep como separador de campos.

grep: Sintaxis grep [-inv] patrón [archivo(s)]

Es un filtro que permite buscar cadenas de caracteres en los archivos que le indiquemos
Opciones:

-iIndica a grep que se ignoren mayúsculas y minúsculas
-vvisualiza por pantalla las líneas que no contienen el patrón indicado.
-nmuestra por pantalla el número de línea en que se encuentra el patrón.

wc: Sintaxis wc [-lwc] [archivo(s)]
Se trata de un contador de líneas, palabras y caracteres.
Opciones:

-lvisualiza sólo el número de líneas.
-wvisualiza sólo el número de palabras.
-cvisualiza sólo el número de caracteres.

cut: Sintaxis cut -c lista [archivo(s)]
cut -f lista [-dcar] [archivo(s)]
Se usa para cortar y pasar a la salida estándar las columnas o campos de la entrada estándar o del archivo especificado. La opción -c es para cortar columnas y -f para cortar campos. Al cortar un campo, existe la opción -d para especificar los caracteres de separación entre los distintos campos (car). Por defecto el delimitador es el tabulador, al menos que se indique otra cosa.
Una lista es una secuencia de números que se usa para indicarle a cut qué campos o columnas se quieren cortar. Hay varios formatos para esta lista.

X-YColumnas o campos desde X hasta Y inclusive.
X-Columnas o campos desde X hasta el final.
X-YColumnas o campos X e Y.

tr: Sintaxis tr [-dsc] cadena1 cadena2
Se emplea como traductor. Como todo filtro tr lee datos de la entrada estándar, los procesa y deposita los resultados en la salida estándar. Busca los caracteres indicados por cadena1 y los sustituye por cadena2.

-dsirve para eliminar los caracteres indicados por cadena 1
-selimina caracteres repetidos indicados por cadena1
-cindica contrario, que no coincida con cadena1.

tee: Sintaxis tee [-a] [archivo(s)]
Esta orden orden lee la entrada estándar por defecto y escribe su salida a la salida estándar y al archivo especificado. Si se utiliza la opción -a (append), tee  añade su salida al archivo en lugar de sobreescribirlo.

find: Sintaxis find camino expresión
La orden find es una de las más potentes de UNIX, pero también una de las que tienen una sintaxis más compleja. Esta orden se usa para examinar toda la estructura de directorios, o señalados en la línea de órdenes. Una vez localizados, podemos hacer que ejecute distintas acciones sobre ellos. El campo expresión sirve para indicar los criterios de selección de los archivos y la acción que queremos aplicarles al encontrarlos.

Ejemplo:
$ find / -name ifconfig                               (busca el archivo ifconfig dentro de la estructura de directorios)
La opción -name indica a find que únicamente se busquen los archivos cuyo nombre se especifica a continuación. Cuando find no puede buscar en un determinado directorio por no poseer derechos de acceso, no los comunica. Para evitar estos mensajes de error podemos redirigir el error a /dev/null.
Ejemplo:
$ find / -name login 2>/dev/null
Opciones:

-userle indicamos a find que seleccione los archivos que pertenezcan al usuario que se indica a continuación de -user.
-groupselecciona los archivos pertenecientes al grupo indicado a continuación.
-mtime narchivos modificados hace n días.
-mtime -narchivos modificados en los últimos n días.
-mtime +narchivos modificados hace más de n días.
-size -marchivos cuyo tamaño es menor de m bloques.
-size +marchivos cuyo tamaño es mayor de m bloques.
-type xarchivos del tipo indicado por x (d directorios, f archivos, l enlaces, etc.).
-inum narchivos cuyo inodo es n
-perm modearchivos cuyos permisos sean los dados por mode.
-exec ordenejecuta la orden usando como argumento los resultados de la búsqueda.

Todas estas opciones pueden ser negadas con el carácter ! seguido de un espacio en blanco.

sed: Sintaxis  sed [-f f_ord] [-n] [archivo(s)]
La herramienta sed es un editor de flujo (stream editor) utilizado para manipular archivos de texto. sed copia los archivos indicados (por defecto, el archivo estándar de entrada) en la salida estándar después de procesarlos. Este procesamiento de los archivos de entrada se lleva a cabo línea por línea, acorde con las órdenes dadas a sed, estas órdenes pueden residir en un archivo, en cuyo caso usaremos la opción -f seguida del nombre del archivo que contiene las órdenes (f_ord). La opción -n se utiliza si queremos ver la línea que está siendo procesada.
Algunas órdenes de sed:
         sustituye  sed ‘s/procesar/manipular/g’ archivo        (aquí indicamos que queremos sustituir procesar por manipular a lo largo de todo   el archivo, lo indica g.)
d    borra sed ‘1,3d’ archivo   (elimina desde la línea 1 hasta la 3 del archivo)

y   traduce caracteres (los cambia por otros) sed ‘y/[aeiou]/[AEIOU]/’ archivo               (cambia las vocales en minúsculas por vocales en mayúsculas).

Procesos (LINUX)

Procesos

Cada proceso en UNIX tiene asociado un número que lo identifica. Este número es asignado por el núcleo, y se denomina identificador de proceso o PID (process identitifier). Además del PID los procesos tienen asignado otro número denominado PPID (parent PID), que identifica el proceso padre.
Todo proceso, desde que se inicia hasta que termina, va pasando por una serie de estados, cada uno con unas características determinadas.
Estados:

  1. El proceso se está ejecutando. En máquinas con un sólo procesador sólo puede haber un proceso en ese estado. UNIX permite que la CPU sea compartida por varios procesos, dividiendo todo el tiempo del procesador en cuantos o rodajas, y asignado esos cuantos alternativamente a cada proceso, acorde con su prioridad.
  2. El proceso está durmiendo. Un proceso entra en este estado cuando no puede proseguir su ejecución por faltarle algún recurso o porque está esperando la terminación de una operación de entrada salida.
  3. El proceso no dispone del procesador, pero está listo para ejecutarse. Continuará su ejecución en cuanto se lo indique el planificador de la CPU.

Como hemos visto es posible ejecutar varios procesos de forma que parece que lo hacen simultáneamente, si estamos en la consola y ejecutamos un programa este no devuelve el prompt del shell hasta que no finaliza su proceso, para permitir que podamos ejecutar otros procesos será necesario enviar este primer proceso a segundo plano, lo cual se puede hacer de dos formas.

  1. Una vez que está en marcha pulsar ctrl+z lo que hará aparecer de nuevo el prompt y dejará el proceso en suspenso. Si queremos ponerlo en marcha debemos utilizar el comando bg <numero> donde numero indica el proceso que queremos pasar a segundo plano. Si en lugar de bg utilizamos fg <numero> lo que haremos será traer el proceso a primer plano y no podremos hacer otra cosa hasta que lo enviemos a segundo plano o lo paremos.
  2. Ejecutar un comando terminando la línea de orden con el símbolo &, el cual le indica al shell que ejecute la orden y que la pase a segundo plano.

Para saber que procesos se están ejecutando en un instante determinado podemos emplear la orden ps.
Si ejecutamos ps sin opciones nos devolverá los procesos asociados a nuestro terminal.

Para obtener más información debemos usar las distintas opciones que nos permite la orden ps aquí se exponen algunas de las más usadas.

-e         nos informa de todos los procesos que hay en el sistema.
-f         proporciona una lista completa de cada proceso.
-l          da listados largos y completos que contienen muchos detalles de los procesos
-a         muestra los procesos de otros usuarios.
-A        muestra todos los procesos
-x         muestra procesos sin ningún terminal asociado
-u         muestra el usuario y el tiempo de inicio.

Ejemplos:

USER              Usuario propietario del proceso.
PID                 Identificador del proceso.
%CPU             % de uso de los recursos de la CPU
%MEM           % de memoria utilizada.
VSZ                indica la cantidad de kilobytes del programa en la memoria virtual.
RSS                 indica la cantidad del kilobytes del programa en memoria.
TTY                terminal de control asociado al proceso.
STAT              información acerca del estado del proceso. R: listo; S: durmiendo; T: detenido; Z:                               Zombie (su proceso padre no los detuvo apropiadamente).
START            Hora de inicio del proceso.
TIME              Tiempo que lleva ejecutándose
COMMAND  Nombre del programa que contiene la imagen del proceso.

Otra orden que nos permite estudiar los procesos en ejecución es top.

También puede resultar muy útil utilizar la orden pstree que nos mostrará los procesos en forma de árbol permitiendo ver las dependencias de procesos padre e hijos.

Para enviar señales a los procesos en ejecución se utiliza la orden kill cuya sintaxis es:

kill -señal PID – Envia la señal al proceso indicado por PID.

Cuando un proceso recibe una señal puede actuar de tres formas diferentes:

  1. Ignorar la señal
  2. Invocar a la rutina de tratamiento por defecto proporcionada por el núcleo.
  3. Invocar una rutina propia que se encargará de tratar dicha señal.

Cada señal tiene asociado un número entero positivo que la identifica. En el caso del UNIX System V
existen 19 diferentes, numeradas del 1 al 19.

1        SIGHUP: Es enviada a todos los procesos asociados a un mismo terminal cuando se pulsa la tecla de interrupción. Por defecto provoca la terminación de los procesos que la reciben.
2        SIGINT: Interrupción. Es enviada a todos los procesos asociados a un mismo terminal cuando se pulsa la tecla de interrupción. Por defecto provoca la terminación de los procesos que la reciben.
3        SIGQUIT: Salir. Es similar a SIGINT, pero en este caso se envía cuando pulsamos la tecla de salida Ctrl-4.
5        SIGTRAP: Es enviada cuando se ejecutan instrucciones paso a paso en un programa. Por defecto provoca la terminación de los procesos que la reciben.
6        SIGIOT: Fallo de hardware
7        SIGEMT: Fallo de hardware
8        SIGFPE: Es enviada cuando el hardware detecta un error en una operación en coma flotante. Por defecto provoca la terminación de los procesos que la reciben.
9        SIGKILL: Provoca la terminación del proceso. Esta señal no puede ser ignorada.
10        SIGBUS: Error de acceso a memoria.
11        SIGSEGV: Violación de segmentos de memoria
12        SIGSYS: No se usa
13        SIGPIPE: Intento de escritura en una tubería en la cual no hay nadie leyendo.
14        SIGALARM: Es enviada al proceso cuando alguno de sus temporizadores llega a cero. Por defecto provoca la terminación de los procesos que la reciben.
15        SIGTERM: Indica que el proceso debe terminar. Puede ser ignorada.
16        SIGUSR1: Reservada para el usuario.
17        SIGUSR2: Reservada para el usuario.
18        SIGCLD: Se envía al padre de un proceso si éste muere.
19        SIGPWR: Fallo de alimentación.

Por defecto la orden kill envía la señal 15 al proceso especificado. Si queremos eliminar el proceso definitivamente lo mejor es enviarle la señal 9.

Problemas de vídeo en html5

Problemas de vídeo en html5

¿Cuál era el problema con el vídeo en html5?

El standard de html5 soporta vídeo, pero lamentablemente diferentes navegadores ofrecen diferente soporte para formatos de video de html5.

Hay tres principales estanderes:

Ogg Theora, que es apoyada por todos los navegadores Internet Explorer (el soporte de Safari requiere una instalación manual).

H.264, que es apoyado por todo el mundo menos por Firefox.

VP8/WebM, que es apoyado por todos (aunque Safari e Internet Explorer requieren instalación manual).

Leer más

Telegram

Telegram

Mucho se está hablando durante las últimas semanas de Telegram, la aplicación de comunicación que a todas luces se presenta como el competidor más serio de Whatsapp, que sigue, al menos de momento, liderando el mercado mundial de aplicaciones de comunicación instantánea.

Leer más

Cómo desinstalar completamente OneDrive en Windows

Cómo desinstalar completamente OneDrive en Windows

OneDrive viene instalado con Windows 10 y está habilitado de forma predeterminada si inicias sesión con una cuenta de Microsoft. Sin embargo, si no lo utilizas y no deseas que se ejecute en segundo plano, hay algunos trucos que puedes usar para deshabilitarlo o deshacerte de él completamente en Windows 10.

Te mostramos cómo deshacerte del icono de OneDrive en el Explorador de archivos con un hack de registro, pero eso no desinstala el programa y seguirá apareciendo en otro lugar. Aunque Microsoft no proporciona una forma fácil de quitarlo, puedes deshabilitarlo en todas partes en Windows 10 o desinstalarlo manualmente.

Leer más

Enrutamiento

La tabla de encaminamiento.

En los sistemas bajo Linux, la información sobre cómo han de dirigirse los datagramas se almacena en una estructura del kernel llamada tabla de encaminamiento. Es esta tabla de encaminamiento la que hay que manipular para configurar las decisiones de encaminamiento, basándose en la información fija que suministra el administrador (para el encaminamiento estático), o bien en la información de accesibilidad adquirida mediante BGP, (Border Gateway Protocol, Protocolo para pasarelas de frontera), para el encaminamiento dinámico.

Leer más

¿Que es internet?

Algunos definen Internet como «La Red de Redes», y otros como «Las Autopistas de la Información».

Efectivamente, Internet es una Red de Redes porque está hecha a base de unir muchas redes locales de ordenadores, es decir, redes formadas por unos pocos ordenadores en un mismo edificio o empresa.

Además, ésta es «La Red de Redes» porque es la más grande. Prácticamente todos los países del mundo tienen acceso a Internet. En algunos, como los del Tercer Mundo, sólo acceden los multimillonarios y en otros como EEUU o los países más desarrollados de Europa, conectarse es algo al alcance de cualquiera.

Leer más

Rotulacion. Escribir textos con AutoCAD

1.- Rotulación. Escribir textos con AutoCAD.

No cabe duda que escribir letras o textos completos es una labor habitual y engorrosa, (en el dibujo técnico) que lleva mucho tiempo para obtener un resultado aceptable. En CAD la escritura es un proceso sencillo y preciso que permite utilizar cientos de tipos de letras diferentes ya sean grandes o pequeñas, cursivas con cualquier ángulo etc..

Leer más