Selecciona el Idioma

sábado, 15 de junio de 2013

TABLA HEXADECIMAL , DECIMAL, BINARIO, OCTAL

TABLA DE CÓDIGOS










También hay otro modo de hacer el cambio de binario a decimal y decimal binario por ejemplo: Mediante una tabla como esta: Cada vez que subimos un nivel en superindex multiplicamos por 2 su valor como podéis ver. Así podemos subir niveles tantos como sean necesarios. Pero cuando se trate de Ip's solo habrá 7 niveles, porque son como máximo 1 byte ( 8 bits) , que es hasta nivel 2 7, Ddo que la suma de estos 7 niveles da 255 y esa es la última red posible , Que se usa para la máscara de subred.
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
Por ejemplo si tenemos el código binario : 11010010 en la tabla se mira:
DE BINARIO A DECIMAL
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
1 1 0 1 0 0 1 0
Se trata de sumar los dígitos de la tabla que contengan 1 , si es 0 no se suma es decir : 128+64+16+2= 210
Pero con este mismo método también podemos hacer justo lo contrario pasar un valor decimal a binario por ejemplo con el número 100, ahora en vez de sumar el valor decimal de los niveles los hemos de ir restando. Por ejemplo empezar con el nivel 2 6= 64, dado que el nivel 7 equivale a 128 y se pasa del número 100. entonces restaríamos 64 a 100. 100-64=36, y así hasta llegar a 0. Así formaríamos nuestro valor binario es decir:64+32+4
DE DECIMAL A BINARIO
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
0 1 1 0 0 1 0 0
Para convertir un número hexadecimal en decimal o binario, solo debemos hacer uso de la siguiente tabla de datos.
Decimal Hexadecimal Binario
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1111
Lo más fácil y aconsejable es coger un numero decimal y para pasarlo a hexadecimal primero convertir ese decimal en binario., después dividimos ese número binario en bloques de 4 en 4 y hacemos la conversión final del binario a hexadecimal.

Para más info Clic aqui

Se empiezan a crear los bloques desde el final hacía delante, y si faltan números, para complementar los bloques de 4 dígitos, se añaden 0 a la izquierda.



Para más info suscribete a Desy Repara

MS-DOS

Fue uno de los primeros sistemas operativos de Windows. Es monotarea y monousuario. Ya esta prácticamente obsoleto. Pero hay cosas interesantes que se pueden crear desde este sistema que trabaja en modo comandos y no interfaz de usuario. Por ejemplo la creación de ARCHIVOS POR LOTES.
Como crear un archivo por lotes (.bat):

@echo off
CLS
:INICIO
echo
echo A.Notepad.exe
echo B.Iexplorer.exe
echo C.Calc.exe
echo D.Dxdiag.exe
set choice=
set/p choice=Escribe la letra...
If not "%choice%"==""set choice=%choice:~0,1%
If "%choice%"=="A" goto Notepad.exe
If "%choice%"=="B" goto Iexplore.exe
If "%choice%"=="C" goto Calc.exe
If "%choice%"=="D" goto Dxdiag.exe
echo "%choice%" -no es válido. Intentelo de nuevo.
echo.
goto INICIO
:Notepad.exe
Notepad.exe
goto INICIO
:Iexplorer.exe
Iexplorer.exe
goto start
:Calc.exe
goto start
:Dxdiag.exe
Dxdiag.exe
:end
goto end
PAUSE



Encontrar caracteres y letras y guardar en otro archivo ,ejecutado desde un archivo por lotes (.bat):

Por ejemplo  creamos  un archivo llamado: Buscador.bat
FIND "casa"%1  lacasa.txt>%2 resultado.txt

Lo mismo podemos hacer con un archivo por lotes para encontrar carpetas y guardarlas:
creamos Solucionador.bat
DIR "*solo*"%1   c:\Deberes>%2  solucionador.txt


Imprimir un archivo:

c:\type    elperro.txt>prn

Imprimir etiqueta y número de série:

c:\vol >prn

ordenar un archivo en otro:

c:\sort invitados2.txt


para más info suscribete a Desy Repara

                                                                                                                                                                                           

Escritorios Remotos

Hay muchos programas y diferentes tipos de acceso a escritorio remoto para Linux y Para Windows. Veamos unos cuantos:

SSH:

Es un servidor para ejecutar en linux (apt-get install openssh-server). Su función es la de un protocolo i programa que lo implementa, sirve para acceder a máquinas remotas. Mediante un interprete de comandos y también puede redirigir el tráfico de cualquiera para poder ejecutar programas gráficos si hay un servidor. para iniciar el servicio: sudo /etc/init.d/ssh restart.

La aplicación Putty de linux , la podemos instalar: sudo apt-get install pterm, sudo apt-get install putty, sudo apt-get install putty-tools. Se han de instalar estos 3 paquetes correctamente. El pterm, es un emulador de terminal x. Mientras que el paquete putty incluye los clientes Telnet y SSH. Y las putty-tools sirven para actualizar el estado si se han hecho cambios. Ahora podemos acceder a ordenadores con acceso remoto a través del putty terminal y del putty ssh cliente. Nos logeamos con su nombre de usuario y password del ordenador al que queramos acceder. El putty también tiene una versión para windows. El puerto oficial de Telnet es el 23.Aunque hoy en día se aplica más el Secure Shell (SSH).Que son similares ambos pero el SSH usa cifrado.

Desde windows Xp y los que le siguen en adelante, hay una aplicación por defecto para acceder y que puedan acceder a través de escritorio rmeoto. Para poder acceder a uno con esta aplicación, Ambos ordenadores tanto servidor- como cliente al que accederemos han de tener en esta aplicación que encontramos a través de panel de control---> remoto: activado el acceso remoto. Si uno de los dos lo tiene desactivado, no podrán acceder. Dentro de esta aplicación hay que dar permisos desde opciones avanzadas, a que usuarios podrán tener acceso a su uso. Además ambos ordenadores deberán estar encendidos para poder acceder a ellos. Uno porque necesitará ejecutar el programa y el otro porque necesitarán acceder a el. Podemos acceder logeandonos con el nombre de usuario o el de la IP. Pero siempre nos pedirá la contraseña. En el caso de que tenga una. Hoy en día con windows8 todos los ordenadores posen una contraseña de forma obligatoria. Pero si es un windows7 o anterior puede que no tenga protección por contraseña. Deberíamos poner una. Y si quieres evitar que puedan acceder a través de acceso remoto desactiva la casilla de acceso remoto en panel de control---> remoto.

Pero hay más programas con un mejor control de seguridad, el problema es que si los queremos obtener de forma gratuita, solo nos dejarán probar la versión de prueba. Uno de los que me parecen mejores del mercado tras realizar una serie de pruebas es el TEAMVIEWER.

TEAMVIEWER:

Nos da la opción de instalar o ejecutar como portable.Mi preferido Podemos y deberíamos también instalarlo con la opción de poder acceder con acceso remoto a la máquina que lo estamos instalando. Así que lo primero que nos saldrá pues, es una ventana para la configuración de acceso remoto a la misma máquina donde estamos instalando el software. Hemos de crear o acceder con una cuenta de correo electrónico. Podemos crear unan ueva o usar una ya existente. Cuando ya tenemos todo correcto, nos sale la ventana de acceso remoto.

Hay que clicar en: - ordenadores y contactos- y añadir el pc donde queremos conectar. haciendo clic en el símbolo de un pc+. El otro ordenador también ha de usar este mismo programa para poder acceder a el y viceversa. Usa un ID y contraseña propios y únicos del programa. Por eso transmite mayor confiabilidad y difícil acceso si quisiera entrar a el una persona no ingrata.

Otro programa similar es el DAMEWARE, un poco más complejo quizás. Pero de mismo efecto y seguridad. Su versión de prueba a diferencia de TEAMVIEWER que dura 30 días. Este, solo dura 14 días. Por lo demás es similar en instalación. Y para acceder en acceso remoto hay que hacer clic derecho sobre el PC agregado previamente al que queremos acceder. Seleccionar REMOTE CONTROL--->MINI REMOTE CONTROL -RDP.

VNC:

Programa sobre linux de software libre basado también en estructura cliente-servidor .Remotamente a través de un ordenador cliente.

Para más info suscribete a Desy Repara

miércoles, 12 de junio de 2013

Administración de BBDD (WORKBENCH)


Este pequeño cuestionario de pruebas esta especialmente pensado para MySQL Workbench, pero también puede ser usado con comandos similares en PostgreSQL y/o PhpMyAdmin

1.Desde un usuario con privilegios(root) . Haz que el usuario us2 solo se pueda conectar desde la máquina en la que estas y a la base de datos bdprova. También, solo podrá utilizar las ordenes: SELECT, INSERT i LOCK TABLES:
Desde root, vamos a la pestaña de users & privileges, y clicamos en el usuario usu2.
Vamos a schema privileges y a add entry , le ponemos los datos que requiere: el host Localhost ,en Schema (bdprova) y los Privilegios se ponen desde la pestaña inferior. En Object rights marcamos: SELECT e INSERT. Y en Other Rights: LOCK TABLES.
2.Qué privilegios tiene SecurityAdmin? Qué privilegios se activan al escoger esta opción?
Se activan los privilegios “CREATE USER, GRANT OPTION, RELOAD y SHOW DATABASES".
3.Qué diferencias hay entre DBManager y BackupAdmin?
DBManager tiene todo tipos de derechos para ejercer sobre la administración en todas las bases de datos. BackupAdmin por otro lado, solo tiene el mínimo de derechos para hacer un backup (copia de seguridad) de cualquier base de datos.
En la siguiente imagen veréis la pantalla para establecer los permisos deseados al usuario seleccionado.Si los permisos no están establecidos solo podrá hacer uso de las bases de datos


Como veis en la imagen de a bajo lo hemos configuradop ara que podamos conectar desde cualquier host y a cualquier base de datos.


5. Haz el usuario/a “a3@%” con los privilegios que necesite y limita el número de consultes a 2 por hora. Después conecta con este usuario y prueba a hacer 3 consultas seguidas.
Con un límite de 2 consultas por hora ,cuando hacemos la tercera consulta en menos de una hora , nos dice que hemos sobrepasado el límite de consultes.
6.¿Como se actualizan las tablas de privilegios?
Con el comando, mediante terminal: Flush_privileges .
7.Cuál o cuales privilegios son necesarios para cambiar la contraseña de los usuarios/as? Pon de nueva contraseña del usuario3 “usuario3usuario3” utilitzando mysqladmin y la orden SET. Escribe las ordenes .
El privilegio será: Grant options ,cuando se hace en el usuario que queremos que dé privilegios.

SET PASSWORD

mysql> UPDATE mysql.user SET Password=PASSWORD('usuario3usuario3')
    -> WHERE User='usuario3';
mysql> FLUSH PRIVILEGES;

8.Es posible guardar la contraseña de administrador en el archivo de configuración? Dónde?
Es posible modificando el archivo: my.cnf: sudo nano /etc/myslq/my.cnf de Ubuntu.
En windows modificaríamos el my.ini que esta en el directorio de la instalación.
Hay que añadir estas lineas en el apartado cliente:
[client]
user = nombredeusuario
password = passworddeusuario
port = 3306
host = localhost

9.Desde administrador revoca todos los permisos para el usuario3 (que se quede solo con USAGE).
REVOKE ALL PRIVILEGES ON *.* FROM 'usuario3'@'%'; GRANT USAGE ON *.* TO 'usuario3'@'%';
10.Escribe la orden para mostrar los permisos de usuario3.
SHOW GRANTS FOR usuario3;
ROLLBACK / COMMIT
Al hacer una consulta o transacción en MySQL, se suele empezar con un BEGIN, y acabar con un COMMIT para guardar las ordenes o ROLLBACK para deshacer y no guardar.
11.Como se comprueba si autocommit esta activado? Desactivalo.
Para desactivar el autocommit hemos de hacer :
SET AUTOCOMMIT= 0;
Pero eso se suele hacer cuando usamos tables transicionales, es decir con motor de almacenamiento InnoDB o BDB.
MyISAM, el que estamos utilitzando en esta tabla, es un motor no transicional.
O Sino hacer uso del comando START TRANSACTION + comandos a ejecutar. En este caso no se ejecutará el autocommit, pero solo en la primera acción.
12.Si quieres hacer una transacción con autocommit activado, pero no lo quieres desactivar, como la haces?
Con el comando START TRANSACTION. En vez de BEGIN. I después , añadimos el resto de comandos+ COMMIT para finalizar y que se ejecute o ROLLBACK para que no se ejecute.
13.Cuál es la orden para cambiar una tabla MyIsam a InnoDB?
ALTER TABLE nombretabla ENGINE=InnoDB;
14.Diseña una transacción que ejecutarás desde la línea de ordenes.
Ponemos el Autocommit a 0: SET AUTOCOMMIT =0;
Después ejecutamos la transacción:
BEGIN;
SELECT * FROM Molinero_myisam WHERE ASIGNATURA ='BDD';
COMMIT;

15.Crear una vista a partir de una tabla ya creada.

USE dbuoc;
CREATE VIEW clients_moli AS SELECT nom_cli, nif,telefon FROM clients;



16.Haz un SELECT donde se vean todos los registros de la tabla virtual.
SELECT * FROM clients_moli;
17.Modifica la vista para incluir o excluir algún campo más.

USE dbuoc;

ALTER VIEW clients_moli AS SELECT  codi_cli,nom_cli, nif, telefon, ciutat FROM clients;

18.borra la vista DROP VIEW clients_moli;
CREAR DISPARADOR (TRIGGER):
crear disparador que se ejecute al insertar un empleado y que actualice el presupuesto sumándolo al sueldo del nuevo empleado.
DROP TRIGGER  Dbuoc IF EXIST ;
DELIMITER |

CREATE TRIGGER  Dbuoc  BEFORE INSERT ON departamentos
FOR EACH ROW
BEGIN
     
   SET  new.empleado= (SELECT sueldo FROM empleats);

   UPDATE  presupuesto SET new.presupuesto= (SELECT sueldo + presupuesto  FROM empleados,departamentos )
  
END ;
 |


DELIMITER ;

SELECT * FROM departamentos;

añadir nuevo empleado en la tabla empleados: INSERT INTO empleados VALUES ('18','desiree', 'moli','3000','DIR','Barcelona','1');


20.Hacer un disparador que se ejecute al borrar un empleado y que actualice el presupuesto del departamento restando el sueldo.
DROP TRIGGER IF EXISTS   Dbuoc2 ;
DELIMITER
|
CREATE TRIGGER  Dbuoc2
BEFORE DELETE ON empleados  
FOR EACH ROW
 UPDATE departamentos SET  presupuesto=presupuesto -  old.sueldo WHERE  old.nom_dpt=departamentos.nom_dpt AND old.ciudad_dpt=departamentos.
ciudad_dpt;
|
DELIMITER

SELECT * FROM departamentos;



21.Escribe un procedimiento que es llame proc_apellido, donde apellido es tu apellido, que muestre de todos los clientes de la ciudad que le pones como un parametro, su nombre, su DNI y su núm. de teléfono. Hazlo utilizando parámetros siempre que se pueda. Si no hay ningún cliente, ha de mostrar: “En aquesta trista ciutat no hi ha cap client...encara!”. Ejecuta el procedimiento para la ciudad de Girona.

DROP PROCEDURE IF EXISTS PROC_MOLI;
DELIMITER |
create procedure PROC_MOLI (IN ciudad VARCHAR(50))
Begin
  IF (SELECT nom_cli FROM clientes WHERE  ciudad=ciudad) IS NULL THEN
     SELECT CONCAT ('EN LA CIUDAD', ciudad, 'NO HAY CLIENTES') AS ciudad;
   ELSE
     SELECT nom_cli,nif,telefon FROM clientes WHERE  ciudad=ciudad;
  END IF;
END;
|
DELIMITER

CALL PROC_MOLI (@w);

22.Escribe una función que se llame “func_apellido”, donde apellido es tu apellido, que devuelva la fecha de inicio del proyecto del empleado que cobra más. Utiliza la función MAX y las variables que necesites.

DROP FUNCTION IF EXISTS FUNC_MOLI;
  DELIMITER |

CREATE FUNCTION  func_moli ( )   RETURNS  DATE
-RETURN  (SELECT data_inici FROM proyectos INNER JOIN empleados ON
proyectos.codi_proj=empleados.num_proj WHERE  codi_empl=(SELECT codi_empl
FROM empleados WHERE sueldo= (SELECT max(sueldo) FROM empleados)));
|
DELIMITER
SELECT FUNC_MOLI();

  

Para más info suscribete a Desy Repara

martes, 11 de junio de 2013

EDITOR VI (LINUX)

1.- MovimentO del cursor.
Genera un  ARCHIVO llamado "fitxer1". Introduce10 línies de text.
vi fitxer1
y
escribire 10 líneas
 :wq

1.2 Utiliza los comandos de movimiento del cursor a bajo, a izquierda, a la derecha y arriba. j es desplaça a la linea cap avall k es desplaça a la linea cap adalt h es desplaça a l'esquerra l es desplaça a la dreta
Realiza los següents apartados, utilizando ordenes del editor. a) Situat al final del text. G$ b) Situat al principi del text. 1G Situat al final de la cinquena línia 5G$ Torna al principi de la mateixa línia. 5G
1.4 En la situación actual, muévete dos palabras a la derecha. vuelve a la posición anterior. l l , 5G o també h h
2.- Añadir texto. Inserta una nueva línea delante de la primera. nos situamos en la primera linea 1G, a continuación i ( y podemos escribir delante de la primera linea).
2.2 Situate en la segunda palabra de la tercera línea e inserta una nueva palabra delante de ella. nos situamos con el 3G, l l hasta llegar a la palabra que nos dice, y pulsamos la letra i, y escribimos una nueva palabra.
Añade texto al final de la línea actual. A
3.- Borrar texto. Borra los cinco primeros caracteres de la línea actual. 5x
Elimina la línea actual y la siguiente con una sola orden. 2dd
Situate en la segunda palabra de la línea actual y borra el resto de la línea. d$
4.- Opciones de Entorno. Numera las líneas. :se nu
Establece el retorno de carro en la columna 65. : set wm=65
5.- Busca, substituye y elimina. Substituye todas las ocurrencias del articulo "el" por "la".
Borra todas las líneas que contienen la palabra "como".
6.- Copiar i mover líneas de información. 5yy ( copia las lineas), P las mueve (pega lo ultimo copiado)

REDIRECCIONAMIENTO Y FILTROS

Pipe (“tubería”, canonada)

Permite enlazar la salida de un programa a la entrada de otro .

Exe: ls *|more ls *|less cat f1|sort

Redireccionamiento de la salida

> Crea un archivo nuevo

 >> añade información al final de un archivo ya existente.Si no existe lo crea.

 Ex: echo 1 2 3 4 > lista.txt echo “final del archivo”>>lista.txt lls>salida.txt

lls > archivo.txt El mensaje de error va al archivo.

tee

Lee información de la entrada estándard y la escribe en la salida estándard y en 1 o varios archivos.

tee -a: añade al final

Ex: Teniendo la siguiente pipe “cmd1|cmd2|cmd3>f1” y queriendo saber cual es la salida del primer comando:

cmd1|tee f1|cmd2|cmd3>f2 Ex: echo “Hola”|tee f1 (muestra “Hola” por pantalla y lo guarda en f1)

Cat f1|sort|tee f2 (guarda en f2 y muestra por pantalla el archivo f1 ordenado)

cut

Imprime las columnas o campos indicados de uno o varios archivos.

-d delim: indica el delimitador

-f list: indica la fila

-c list: indica los carácteres en columna

Ex: cut –d: -f1 /etc/passwd

 Muestra los nombres de usuario del archivo passwd :

cut –d: -f1,5 /etc/passwd

 Muestra los nombres de usuario y descripción del archivo passwd :

cut –c1 /etc/passwd

 Muestra la 1ra columna (1 caràcter) :

cut –c1,2,3 /etc/passwd

 Muestra las tres primeras columnes (tres caràcters)


OTROS CASOS:

head imprime las primeras línies de un archivo:

 -n n: n primeras líneas
 -c n: primeros n bytes o kylobytes (5k) o megabytes (5m)  
• nl numera les líneas de cada página  
• od muestra el contenido de los archivos en varios formatos
 -t type: indica el formato de salida (A: caràcter, c: ASCII, O: octal, x: hexadecimal)  
• paste junta líneas de uno o más archivos en columnas vertical 
-d ‘n’ separa las columnas con el carácter ‘n’ en vez del carácter por defecto.
 tab -s: junta las líneas de los archivos en líneas en vez de columnas (1 línia per fitxer) .


 
split:
 Divide el archivo de entrada en grupos de un determinado número de líneas y guarda el resultado en varios archivos
 -n : divide en grupos de n líneas:
 split –n 10 fin fout 

 Fin quedara partido en archivos de 10 líneas fouta foutb foutc... (si fin se perdiera podríamos recuperar-lo haciendo: cat fouta foutb foutc>fin) 

tac: muetra las líneas de un archivo en orden inverso.

tail

 Muestra las últimas líneas del archivo -n .
-m: muestra las m últimes líneas.
 -f: el archivo se actualiza continuamente, por ejemplo archivos de log . 
tr tr [options] [string1] [string2] Reemplaza los caracteres de “string1” por “string2” 
-d elimina “string1” de la salida
 -s junta caracteres repetidos
 Ex:  cat f1|tr a-z A-Z  tr a-z A-Z

wc

 Imprime el número de caracteres, palabras y líneas de los archivos indicados 
-c: caràcters -l: línies -w: paraules 
Ex: Mostrar els comptadors de f1, f2 i f3  wc f[123] 
  

grep

 Busca en archivos .
 -c: solo el número de les líneas
 -h: no incluye el nombre del archivos cuando buscamos en diferentes archivos
 -i: case-sensitive -n: muestra el número de las líneas 
-v: las líneas que no contienen la expresión.
 Ex:  grep –i linux f1 
 Busca en f1 la palabra “linux” sin discriminar entre mayúsculas y minúsculas 
grep ‘^linux’ f1.
 Muestra las líneas de f1 donde sale linux a principio de la línea :
grep ‘x$’ f1 
 muestra las líneas de f1 que acaban con ‘x’
 grep –c ‘^$’ f1 
 muestra el numero de líneas vacías en f1 grep ‘^null$’ f1 
 muestra las líneas de f1 que solo contienen la palabra ‘null’. 
grep ‘[0-9][0-9][0-9]’ f1 
 muestra las líneas de f1 que contienen 3 dígitos seguidos 
grep ‘.....’ f1 
 muestra las líneas con más de 5 caracteres 
grep ‘.’ f1 
 muestra las líneas que no estan en blanco  .

find

 find [directorio] [expresión] Recorre una jerarquía de directorios buscando archivos seleccionados según  un criterio.
Ex: find / -print 
 muestra la ruta por pantalla los directorios y archivos del disco
 find / -type f -print 
 muestra la ruta por pantalla los archivos del disco
find / -type d -print 
 muestra la ruta por pantalla los directorios del disco
 find / -atime +30 -print 
 muestra ficheros  y directorios con más de 30 días de antigüedad
 find /usr/local –name ‘*.texi’ 
 Busca en el directorio /usr/local los archivos  *.texi find /usr/src –name 
‘*.c’ –size +100k -print 
 Busca archivos .c de más de 100k 

find ./PDF ./red –iname ‘*.pdf’ 
 Busca archivos pdf en mayúsculas o minúsculas en los directorios 
PDF i red
 find /home –user ali 
 Busca los archivos en /home propiedad del usuario ali 
find /home –uid 1014 
Busca los archivos en /home amb uid 1014 find . ! –iname ‘*a*’ –iname ‘*.jpg’
Devuelve archivos jpg que no contienen ninguna ‘a’.

ENLACES

ENLACES HARD:

Enlaces "hard", físicos o duros. Referencia a un mismo archivo; consiste en una nueva entrada de directorio que apunta a un archivo ya existente y apuntando desde otra entrada de directorio. El contenido esta solo en un lugar, pero se puede acceder al archivo desde varios links,posiblemente con diferentes nombres:( echo 'Hola a tots de nou!' > adeu ls –i adeu ).



Vemos el número de INODES del archivo ln adios adios.ln0

 ln crea un segundo nombre en el mismo archivo; no se hace copia, se crea un enlace (link).

ls –i adios*

 Muestra el número de Inode ( ls -l adeu* )

 Muestra un segundo en la columna de enlaces: ( ln adeu adeu.ln1 ln adeu adeu.ln2 : ls -l adios* ) .

 Muestra enlaces hard en estos archivos:

mkdir dir2 ln adios dir2/hastaluego

 Hace aparecer en dir2 un enlace hard. Su contneido NO esta repetido.

rm adios* ls -l dir2/adios

 Cuando se borra un archivo con varios enlaces, solo se borra el enlace. El archivo se borrará cuando desaparezca el último enlace.

ln dir2 dir2ln

 Da error; no se puede crear un enlace hard para un directorio.

ENLACES SOFT:

Enlaces “soft”, simbólicos o suaves. Un enlace soft es un archivo que apunta a otro archivo o directorio. El archivo de enlace soft contiene solo la ruta de otro archivo o directorio.

ln -s nota nota.ls0

 crea nota.ls0 como enlace simbòlic.

ls –l nota*

 El archivo nota.ls0 es un enlace soft apuntando al archivo nota. Aparece una “l” en propiedades y la ruta. Los bits de permisos en un enlace soft no se usan. Se usan los del archivo original!!!

ls –l –L nota.ls0



muestra los permisos del archivo al que apunta el enlace.

ln -s dir2 dir2ls

 crea dir2ls como enlace soft fins hacia otro directorio.

ls -l

 muestra la letra l en el tipo de archivo para indicar que es un enlace soft.

ls dir2 ls dir2ls 

muestran el mismo contenido de archivos.

ls -l dir2ls

 muestra que es un enlace soft e indica hasta donde apunta.

cd dir2ls ; ls -l

 muestra el contenido de dir2 , enlazado desde dir2ls .

pwd 

indica el directorio con nombre del enlace, però /bin/pwd  muestra el verdadero directorio, no el enlace soft ; pwd indica la ruta para la que se llega al directorio, /bin/pwd indica la ruta de acceso al verdadero directorio. Usar /bin/pwd para evitar ser engañado por enlaces simbólicos a directorios. pwd es interno del shell, /bin/pwd es un programa a parte.

cd .. mv dir2 DIR2

 Cambia el nombre del dir. real; el enlace soft sigue apuntando a a dir2 , así que:

cd dir2ls 

Da error, ya que no existe .

mv DIR2 dir2

 Devuelve el nombre original al que apunta el enlace.

rmdir dir2ls

 Da error porqué no es un directorio, sino un enlace.

rm dir2ls

 Borra el enlace. Un enlace soft se borra con rm , y no con rmdir .

ls dir2

 Cuando se borra un enlace soft, solo se borra un archivo, no el objeto real.

COMANDOS

BUSCAR COMANDOS

Man :

man nom_comanda L'estructura de les pàgines de manual està organitzada amb el nom de la comanda, en quina de les 9 seccions de la base de dades es troba segons la tipologia (w), una breu descripció, les opcions i arguments que pot tenir, etc.

Apropos:

Apropos lista todas les páginas de manual que contienen una palabra concreta (en archivos, directorios, comandos...). Ex: apropos calendar

pwd :

Nos muestra por pantalla el directorio actual en que nos encontramos.

cd :

Cambia de directorio. CD + nombre_directorio (sube un nivel)(ir adelante) . Mientras que CD .. (baja un nivel) (ir atras)

ls :

lista archiovos y directorios del actual directorio . Tiene varias opciones como ls -l,ls -la, ls -R...

mkdir:

Crea un directorio que colgará del directorio actual donde lo creemos.por ejemplo desde /home/Asix1 hacemos mkdir directorio si por el contrario hacemos: mkdir -p /home/asix3 : crea un directorio a la vez que crea un nuevo camino de directorios y subdirectorios en caso de que no existan .

rmdir :

rmdir + nombre_directorio :borra el directorio especificado, solo si esta vacío. Se aconseja usar rmdir -p /ruta/directorio : borra el directorio y todo el camino especificado en caso de que los directorios y subdirectorios no esten vacíos.

cat :

Muestra el contenido de un archivo por pantalla. ejemplo: cat + nombre_archivo.

more :

Muestra el contenido de un archivo pausando entre páginas ( para ver más hay que darle a more con la barra espaciadora avanza la página, la letra b retrocede.)

cp :

copia un archivo o directorio a otro lugar. Se puede copiar y pegar en un mismo directorio ejecutando la línea de ordenes: cp archivo.txt nuevoarchivo.txt por ejemplo.

rm :

Borra ficheros. rm archivo.txt : Borra el fichero especificado. rm -i archivo.txt : borra interactivamente pidiendo confirmación . rm -f archivo.txt : borra forzado .

mv

Mueve la ubicación del archivo.Ejemplo: mv /usr/local/squid/etc/squid.conf . : mueve el squid.conf al directorio actual ( . ) mv arxiu1 arxiu2 : convierte arxiu1 en arxiu2 (en el mismo directorio) mv *.tar ../../perl : mueve todos los archivos .tar al directorio perl .

less :

Parecido a more , pero solo permite paginar (ls *|less ;ls *|more)

touch :

Sirve para crear archivos (touch fichero.txt).Cambia el tiempo de acceso y modificación de los archivos . Mientras que,touch -a: solo cambia el tiempo de acceso.Y touch -m solo cambia el tiempo de modificación. touch -t timestamp (pe: 15 de desembre del 2010 a les 6:45 pm). 

domingo, 9 de junio de 2013

XPATH - XQUERY

Igual que en Lenguaje SQL, el XPATH i XQUERY es un lenguaje para realizar , consultas basadas en contenido web. Para ello hemos de tener creado un XML con su XSL, y ayudándonos del programa QUIZX , podremos realizar consultas sobre estos documentos.

DESCRIPTORES DE CAMINOS:

Sirven para seleccionar elementos que se encuentran en cierto
camino en el ´arbol.
Los descriptores se forman simplemente nombrando tags
separados por /.
Si el descriptor comienza con / se supone que es un camino desde
la ra´ız.
Si el descriptor comienza con // se supone que el camino descrito
puede comenzar en cualquier parte en el ´arbol.
Impl´ıcitamente se supone que todos los descriptores se refieren a
caminos que avanzan en la profundidad del ´arbol.

EJEMPLO:

<#Empresa>
<#departamento telefono="8741460">
<#codigo>B02<#/codigo>
<#nombre>Marketing<#/nombre>
<#empleado salario="200000">
<#rut>10934412<#/rut>
<#nombre>Parra<#/nombre>
<#/empleado>
<#empleado salario="600000">
<#rut>12008991<#/rut>
<#nombre>Chavez<#/nombre>
<#/empleado>
...
<#/departamento>
<#/Empresa>

El desciptor //nombre selecciona la lista
de todos los tag nombre en cualquier
lugar del documento.
En este caso se obtienen los nombres de
los departamentos y de los empleados.

ATRIBUTOS:

Para referirse a los atributos de los elementos se usa @ antes del
nombre, por ejemplo @telefono.
En un descriptor de camino los atributos se nombran como si
fueran tag hijos pero anteponiendo @.
en el ejemplo DEPARTAMENTO TELEFONO="8741460"  este último después del =, es su atributo.

CONDICIONES DE SELCCIÓN:

En un descriptor una condici´on entre par´entesis cuadrados [...]
puede seguir al nombre de un tag o atributo (sin usar /).
En este caso se seleccionan los elementos que siguen el camino del
descriptor pero que adem´as cumplen la condici´on especificada.
En las condiciones se pueden usar comparadores (<, >, <=, >=, =,
!=) y conectivos l´ogicos (or, and)

Si en una usamos:

/Empresa/departamento/empleado[@salario > 500000]
selecciona los elementos empleados tales
que su atributo salario es mayor a 500000.

PREDICADOS:

La expresión
\Empresa\departamento[1]\empleado\rut
entrega el rut de los empleados del primer
elemento departamento en el documento.
Por ejemplo la expresión
\Empresa\departamento\empleado[last()]\rut
entregaría el rut del ´ultimo elemento empleado de cada departamento en el árbol, y
\Empresa\departamento\empleado[last()-1]\rut
el rut del penúltimo elemento empleado en
el árbol.
Por ejemplo la expresión
\Empresa\departamento[count(empleado)>1]\codigo
entrega el elemento código de todos los
departamentos que tienen más de un
(elemento) empleado.

AXES:

El descriptor /Empresa/departamento es realmente una forma
abreviada del descriptor /Empresa/child::departamento.
En este ´ultimo se ha hecho explícito el deseo de seguir por los
hijos de Empresa
El @ es simplemente una abreviación de la dirección attribute::
El descriptor
/Empresa/departamento[@telefono = "2354928"] es
entonces una forma abreviada de
/Empresa/child::departamento[attribute::telefono = "2354928"].
La expresión
\\nombre[nombre = ’González’]\parent::empleado\rut
entrega el rut del empleado de nombre González.
La búsqueda se realiza primero encontrando
un nodo nombre con contenido González, se
sigue avanzando hacia el padre que debiera
ser un elemento empleado, y luego al subelemento (hijo) rut.

En general el estandard XPath cuenta con una extensa funcionalidad. Por ejemplo funciones para manejo de strings, conversi´on num´erica, fecha y horas, funciones de agregaci´on t´ıpicas , etc. etc. Una referencia completa se puede encontrar en este enlace: XPATH

EJEMPLOS DE XQUERY:

Por ejemplo el siguiente es un camino en XPath (note el archivo
expl´ıcito):
doc("empresa.xml")\Empresa\departamento\empleado[@salario>500000]\nombre
es v´alido tambi´en en XQuery.
Pero usando for-where-return se puede obtener un resultado
equivalente:
for $x in doc("empresa.xml")\Empresa\departamento\empleado
where $x\@salario > 500000
return $x\nombre

En la consulta
for $x in doc("empresa.xml")\Empresa\departamento\empleado
where $x\@salario > 500000
return $x\nombre
• for se usa para seleccionar nodos y almacenarlos en una
variable $x
• where se usa para discriminar algunos de los nodos
seleccionados
• return se usa para especificar que se quiere retornar
Todas las variables en XQuery comienzan con $

En general la sintaxis de una expresi´on simple en XQuery es:
for  in 
where 
return 
El where puede ser omitido si se quieren seleccionar todos los
nodos sin restricci´on.
El return puede ser condicional (usando if)y as´ı tener m´as
versatilidad en la salida
Adem´as el return puede especificar m´as que simplemente
expresiones XPath, puede mezclar tags XML que tambi´en se
quieran a la salida

MÁS EJEMPLOS:

En la siguiente expresi´on
for $emp in doc("empresa.xml")\\empleado
return if ($emp\@salario > 1000000)
then {data($emp\nombre)}
else {data($emp\nombre)}
el resultado debiera ser algo como
...
Soto
Perez

Una expresi´on XQuery puede tambi´en llevar un preambulo lo que
nos permite por ejemplo generar p´aginas html:


    { for $emp in doc("empresa.xml")\\empleado return if ($emp\@salario > 1000000) then
  • {data($emp\nombre)}
  • else
  • {data($emp\nombre)}
  • }

Hay mucho que decir acerca de XQuery (tanto o m´as que acerca
de XPath).
Aun no es un estandard en la Web, pero ya est´a siendo muy usado.
Una referencia completa se puede encontrar en el enlace:
 XQUERY

a partir del siguiente XML;Crea una consulta XQuery que dé, de resultado una tabla HTML que nos muestre el nombre del curso, el profesor que lo imparte y el número de places disponibles.

XML:



 
  Normativa ISO9001
  80
  15
  15/03/2013
  25/06/22013
  Juan Antonio Mercado
  3
 
 
  Calculo diferencial 1
  120
  20
  10/02/2013
  20/06/2013
  Montserrat Garcia
  4
 
 
  Ingles
  29
  30
  20/01/2013
  23/11/2013
  Steven Collins
  1
 
 
  Calculo Diferencial 2
  100
  15
  10/01/2013
  20/05/2013
  Montserrat Garcia
  2
 
 
  Comptabilitat
  800
  25
  10/10/2012
  20/05/2013
  Elisenda Martinez
  2
 
 
  Informatica
  32
  10
  10/01/2013
  20/05/2013
  Eduardo Ruiz
  5
 


Consulta: for $nomb in doc("academia.xml")//academia/curs let $nombre:=$nomb/nom let $prof:=$nomb/professor let $plces:=$nomb/places return concat(

{data($nombre)}

,"-",

{data($prof)}

,"-",

{data($plces)}

)

 crea una nueva consulta pero estableciendo la condición de ser cursos
con una cuota trimestral. Ha de aparecer ordenado según el número de plazas.

Consulta:

for $nomb in doc("academia.xml")//academia/curs
let $nombre:=$nomb/nom
let $prof:=$nomb/professor
let $plces:=$nomb/places
where $nomb/preu/@periodicitat = "trimestral"
order by $plces
return concat(

{data($nombre)}

,"-",

{data($prof)}

,"-",

{data($plces)}

)

Crea una consulta XQuery que dé, de resultado una tabla HTML que nos muestre los cursos que
se realizan a la sala número 2 y  que el precio sea menor de 35 euros.

Consulta:

for $nomb in doc("academia.xml")//academia/curs
let $nombre:=$nomb/nom
where $nomb/aula = 2 and  $nomb/preu < 35
return {data($nombre)}


DESCARGAR QUIZX STUIDIO:

QUIZX STUDIO

Para más info suscribete a Desy Repara

DTD (XML/XSL)

DTD (Document Type Difinition) Define que elementos son acceptados y en que posiciones han de estar dentro de un document XML. Este DTD estará en referencia dentro de un documento XML y deberá definir : - Léxico - Reglas sintácticas

Veamos un ejemplo (sin almohadilla inicial en Element, para ejecutar código dentro del XML)(ni almohadilla en Doctype):


<#!DOCTYPE colegio 

[<#!ELEMENT colegio (alumno*)>
<#!ELEMENT alumno (nombre, apellido, edad)>
<#!ELEMENT nombre (#PCDATA)>
<#!ELEMENT apellido (#PCDATA)>
<#!ELEMENT edad (#PCDATA)>
]>

Este DTD correspondería a un XML como el siguiente para ser correcto ( clic botón derecho y selecciona inspeccionar elemento para ver código):




 
Juan
Requena
19
 
 
Eloy
Gutierrez
22
 
 
Oscar
Ortiz
20
 
 
Anna
Domenech
18
 

Si deseamos indicar que està vacío, hemos de usar la categoría EMPTY (sin almohadillas): <#!ELEMENT home EMPTY> // Exemple:

Si deseamos indicar que puede tener cualquier conjunto de carácteres, pero ningun otro elemento (sin almohadilla en Element) usaremos #PCDATA: <#!ELEMENT nombre (#PCDATA)>

También podemos declarar un elemento que continga otro elemento . Per ejemplo: un elemento que puede tener un elemento o un elemenot :

<#!ATTLIST persona (hombre|mujer)'hombre'>

Podemos declarar, un elemento que ha de tener almenos un elemento :

<#!ELEMENT colegio (alumno+)>

Si utilizo *, estoy declarando que puede estar vacío o contener más elementos. Puedo decir que puede estar vacío o contener elementos :

<#!ELEMENT colegio (alumno*)>

ATTLIST:

Por ejemplo, si tenemos el siguiente elemento: podríamos tener la siguiente definición en el DTD (sin almohadilla):

<#!ATTLIST sexe tipus (home | dona) home>

CREAR CV

En lenguaje XML/XSL, igual que en cualquier otro lenguaje, podemos crear varias cosas, desde un texto plano, a cualquier otro tipo, siempre que ejecutemos bien los ocmandos necesarios. En este caso vamos a crear la estructura para un curriculum web, Empezamos con la demostración del XML ( para obtener código haga clic botón derecho sobre el contenido y seleccione inspeccionar elemento):

#
 
  img/pibe.jpg
  Desirèe
  Martinez
  Inarejos
  35 años
  
   30
   Septiembre
   1978
  
  Barcelona
  42312298D
  
   Palacios
   134
   08083
   Barcelona
  
  
   img/telefono.png
   93
   388.98.33
  
  
   img/mobile.png
   +34
   670892212
  
  desy_mar_ina@hotmail.com
  img/logo.png
  img/separador.png
  
   
    
     Administradora de Sistemas / Administración WEB
    2 Años de experiencia
    Experta en Windows y sistemas UNIX, (administración, desarrollo 
       y humanización de Productos).
       Diseño 3D, Desarrollo e implementacón de planos digitalizaciones, 
       diseñoo industrial. 
      
   
   
    
     
      Abril
      Julio
      2012
     
     
      Imaginación Constructiva. CRADE
     
     
      Diseño Industrial - Gráfico
     
     Prácticas Profesionales
     Creación y desarrollo de Productos
    
   
   
    
     Licenciatura en Diseño Industrial
     2005
     2010
     Facultad de Arquitectura y diseño de la Universidad de Girona.
    
    
     Certificado en Carrera General
     1998
     2003
     Bachillerato en IES Pompeu Fabra, Badalona.
    
    
     Certificado de Técnico 
     1995
     1998
     Secundaria "IES La Pineda" , Badalona.
    
   
   
    
     Inglés
     50%
    
     
     Catalán
     90%
    
   
   
    
     Informática
     Modelado y Diseño en 3-D en software de Diseño. Manejo de Rhinoceros,Crazy Talk, Autocad, Hypershot, 3Ds Studio, poser,Particle illusion y paquete elemental de diseño gráfico, corel Draw, Photodraw de Microsoft y Photoshop CS4.
     
    
   
  
 
 
#

Por otro lado ahora vamos con el XSL para adjuntar el XML a este y que funcione correctamente.(Para ver el código utilizado presione el botón del derecho del ratón y seleccione inspeccionar elemento)





 Practica 5 - Rubio 



 
  


 de  .

()
()
Experiencia profesional
-

Función:
Formación Académica
-
Otros datos
Idiomas:

XML

XML es un lenguaje, Similar al HTML pero con sus propias etiquetas, veamos un sencillo ejemplo ( quitar almohadillas para ejecutar código):

Libro Seguridad Informática 20 han de incluir cd de soporte paper Navigator A3 5 sin agujeros


<#comanda>
<#producto codi=”3303F”>
<#nom> Libro Seguridad Informática <#/nom>
<#cantitat>20<#/cantitat>
<#comentarios> han de incluir cd de soporte<#/comentarios>
<#/producto>
<#producto codi=”2103S”>
<#nom> paper Navigator A3<#/nom>
<#cantitat>5<#/cantitat>
<#comentarios> sin agujeros  <#/comentarios>
<#/producto>
<#/comanda>

-Documentos bien formados: documentos sintàcticament correctos, es decir, siguen las regla expuestas (tabulación, coherencia,...). − Documentos válidos: documentos bien formados y que cumplen los requisitos de una estructura definida (DTD) .

La estructura de los archivos con XML: − Les datos a almacenar(XML) − La estructura o semántica (DTD)(dentro del XML) − Presentación (XSL)( otro archivo independiente, pero que ha de ir unido al XML del mismo)

EJEMPLO: en un primer archivo creamos el XML

<#?xml version="1.0" encoding="UTF-8"?>
<#colegio>
 <#alumno>
<#nombre>Juan<#/nombre>
<#apellido>Requena<#/apellido>
<#edad>19<#/edad>
 <#/alumno>

<#/colegio>

En otro, el XSL que irá adjunto al XML anterior:

<#?xml version="1.0" encoding="UTF-8"?>
<#xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<#html>
<#body>
<#h1>Ejemplo<#/h1>
<#table>
<#tr>
<#th>Nombre<#/th>
<#th>Apellido<#/th>
<#th>Edad<#/th>
<#/tr>
<#xsl:for-each select="colegio/alumno">
<#tr>
<#td><#/td>
<#td><#/td>
<#td><#/td>
<#/tr>
<#/xsl:for-each>
<#/table>
<#/body>
<#/html>
<#/xsl:template>
<#/xsl:stylesheet>

Para vincular el XSL con el XML y que funcione bien, hay que añadir la siguiente línea al archivo XML : <#?xml-stylesheet type="text/xsl" href="tabla1.xsl"?> donde tabla1.xsl es el nombre del archivo a vincular.

Para recorrer un conjunto de elementos (por exemple, recorrer todos los alumnos de la escuela), hemos de usar la estructura xsl:for-each (sin almohadillas):

<#xsl:for-each select="colegio/alumno"> ... <#/xsl:for-each>

Para extraer el valor de un elemento tenemos la siguiente instrucción:

donde “nombre” será el nombre del elemento ,del cual queremos extraer el valor.

Si deseamos mostrar resultados ordenados y no como están guardados en el fichero xml, tenemos la siguiente instrucción se puede variar según el orden que deseamos obtener en la búsqueda: Hay operadores lógicos

  • Igualtat '=
  • Desigualtat !=
  • Menor que (<) <
  • Major que (>) >
  • Menor o igual que(<=) <=
  • Mayor o igual que (>=) >=

Para indicar condiciones tenemos la siguiente instrucción( sin almohadillas): <#xsl:if test="expressió"> ... <#/xsl:if>

En caso de ser muchas variantes de condiciones mejor usamos CHOOSE

<#xsl:choose>
<#xsl:when test="expressió">
...
<#/xsl:when>
<#xsl:when test="expressió">
...
<#/xsl:when>
<#xsl:when test="expressió">
...
<#/xsl:when>
<#xsl:otherwise>
...
<#/xsl:otherwise>
<#/xsl:choose>

CSS 2




ALINEACIÓN:
Hay cuatro tipos de alineación en textos: alineación a la izquierda, a la derecha, centrada y justificada. Para ello hemos de emplear la siguiente sintaxis en el STYLE ( puede crearse con clases o de modo simple):
h1 { text-align: center } p { font-size: 20px } p { text-align: justify } blockquote { font-size: 20px } blockquote { text-align: right}
ALINEACIÓN VERTICAL DE UN TEXTO:
Se realiza normalmente mediante tablas y lo hemos de insertar dentro de las cledas (td) por ello se puede crear en clases como en en el ejemplo de a continuación:
td.t {vertical-align: top} td.b {vertical-align: bottom}
IMAGEN ENVUELTA EN TEXTO:
Para ello hemos de usar los terminos float (right | left).Las especificaciones las haremos dentro del STYLE:
p {text-align: justify} img {float: left} img {margin: 20px} p.q {float: right; width: 250px; margin: 8px; padding: 8px; border: blue solid thin} <#body>
OvidiCum subit illius tristissima noctis imago, quod mihi supremum tempus in urbe fuit, cum repeto noctem,

CAPAS:
La posición y medida de las capas <#div>, las especificamos como todo CSS en el STYLE del mismo documento o creamos otro documento anexado al propio llamado nombre.css; Los tipos que hay son tres: ABSOLUTE | RELATIVE| STATIC. Aunque en la mayoría de caos, solo usaremos dos (ABSOLUTE | RELATIVE).
• absolute: Se situa en una posición referida al angulo superior izquierdo del documento; usaremos top y left. • static:Se situa en la izquierda y a una distáncia del margen superior equivalente a la suma de las alturas de elementos que le preceden, independientemente de la posición real de estos. Es la opción por defecto. • relative:Se situa en una posición que también se ha de especificar con top y left, relativa al final del elemento DIV anterior.

div {border-collapse: collapse; padding: 0}
div.a {position: static; width: 300px; height: 180px; border: thin solid red}
div.b {position: relative; left: 80px; top: 40px; width: 200px; height: 180px;
border: thin solid green}
div.c {position: static; width: 350px; height: 150px; border: thin solid teal}
div.d {position: relative; left: 380px; top: -120px; width: 200px; height: 200px;
border: thin solid blue}
div.e {position: absolute; left: 350px; top: 200px; width: 200px; height: 150px;
border: solid thin black}

Además con el atributo visible podemos ocultar o no una capa, con la sintaxis siguiente:
• div { visibility : hidden | visible } (solo una de las dos opciones)

CSS

Para ver otros métodos en CSS visitar : CSS2
En anteriores contenidos, ya os he explicado como hacer gran variedad de cambios de tipo de estilo CSS, pero aquí os presento unos diferentes a los vistos anteriormente:
CURSIVA: Por ejemplo si queremos escribir en  cursiva , habéis de aplicar el siguiente código sin almohadillas sobre el texto que queráis modificar:<#em>texto en cursiva<#/em> o también se puede usar <#i>cursiva<#/i>.
NEGRITA: Para poner algo en NEGRITA, hay dos formas con el mismo o similar resultado : <#strong>texto en negrita<#/strong> o bien <#b>texto en negrita <#/b>.
SUBRAYAR: para subrayar un texto, <#u>texto subrayado<#/u>.
SUPERÍNDICE/SUBÍNDICE: Para crear un superíndex o un subíndex, se hace con SPAN: #element {# vertical-align: super | sub }
se establece dentro del style con clases( sin almohadillas para ejecutar códigos:
#span.exp {vertical-align: #super} #span.sb {vertical-align: #sub} span.exp {vertical-align: super} span.sb {vertical-align: sub}
pero se ha insertar dentro del body, en el lugar que deseamos crearlo:entre BLOCQUOTE:
<#blockquote>
HNO3
<#/blockquote> <#blockquote>h = gt2 / 2
<#/blockquote>
HNO3
h = gt2 / 2

LETRA CAPITAL: Para crear una letra capital ( primera letra de texto más grande al resto, como ocurre en los cuentos ( dentro del STYLE )en el caso de querer modificar un paragráfo :
#p { text-indent: 30px } #p:first-letter { font-size: 150%; color: blue }
TEXTO EN FORMATO PREVIO: Conseguir un texto con formato previo (dentro del body) con las etiquetas <#pre>, <#/pre>:
<#pre> En quin llavi de dona seria, en quin lloc de muntanya o del pla aquesta tonada floria? Quina fou la primera que es trobà amb la blanca melodia com una oreneta caçada amb la mà, sense esquerperia? Quina dona del meu país, amb aire amorós i enyoradís, vestida de sarja i esclop, peró amb una veu molt clara va cantar per primer cop la cancó del Noi de la Mare? <#/pre>
 En
 quin
 llavi de
 dona seria,
 en quin lloc de
 muntanya o del pla
 aquesta tonada floria?
 Quina fou la primera que es
 trobà amb la blanca melodia com
 una oreneta caçada amb la mà, sense
 esquerperia? Quina dona del meu país, amb
 aire amorós i enyoradís, vestida de sarja i esclop,
 peró amb una veu
 molt clara va
 cantar per primer
 cop la cancó del
 Noi de la Mare?

SÍMBOLOS DE LAS LISTAS: Se pueden cambiar los símbolos de las listas con especificaciones correctas en el style:
ul { list-style-type: square } ol { list-style-type: lower-alpha }
• decimal (1, 2, 3...) • upper-roman (I, II, III...) • lower-roman (i, ii, iii...) • upper-alpha (A, B, C...) • lower-alpha (a, b, c) • none (vacío) • disc (circulo negro) • circle (circulo blanco) • square (cuadrado negro)
Color de los vínculos, enlaces:
Los navegadores assignan un color diferente a los enlaces no visitados, a les visitados y a los activos . Para la especificación de estos colores se usan los conocidos pseudo-elementos de A<#a>:
• a:link {color: #color}= a:link{color:#fff321} para link creado
• a:visited {color: #color}=a:link{color:#ff4444} para link visitado recientemente
• a:active {color: #color}= a:link{color:#000123} para link activo actual
• a:hover {color: #color}= a:link{color:#ff7777} para cuando pasamos el cursos por encima del link
INSERTAR IMAGEN COMO FONDO:
También es posible insertar una imagen como fondo de un elemento (tabla, parágrafo, body...); hace falta que la imagen no forme parte del documento, que solo contiene la referencia. element {background-image: url(adreça)} e incluso hacer que se repita como un mosaico: • element {background-repeat: repeat | repeat-x | repeat-y | no-repeat} (por defecto, repeat).
body {background-image: url(h15g.gif)} body {font-size: 20px}
BORDES:
Los valores del grueso de los bordes son THIN (fino),MEDIUM (medio) y THICK (grueso). Los principales valores de estilo son NONE (ninguno), SOLID (continuo), DOUBLE ( doble trazo), dotted (punteado) Y dashed (trazos cortos). I el color se especifica de la manera habitual. Si hace falta , se pueden establecer especificaciones como : border-width e incluso: borderbottomwidth, construidas con terminos top, bottom, left y right y los de grosor, estilo y color
por ejemplo:

h1 {border: thin solid #ff9000}
table {width: 40%; margin-left: 30%}
table.a { border: thin solid #ff9000 }
table.b { border-collapse: collapse }
td { border: thin solid #00ffff; padding: 20px }
img { margin-left: 10%; border-left: thick solid #00ff00; border-right: thick
solid #00ff00 }



FORMULARIOS

FORMULARIOS:


Los datos recogidos han de ser procesados por algun programa. Este programa puede estar:
  • En el mismo documento
  • En otro documento situado en un servidor, que se envía al usuario junto con los datos.
En los dos primeros casos se usa el JavaScript , al cual nos referirem más tarde. En el servidor se usan varios programas: CGI, ASP i, especialmente, el PHP. Si usamos código javascript hemos de añadir la siguiente línea en el HEAD:

Por lo que hace el código HTML usado en los formularios, se limita a dos cometidos:
  • • Recoger y presentar los datos.
  • • Tramsmitir los datos al servidor y, si es el caso, sustituir el documento por el de destino.

FORMULARIOS Y ATRIBUTOS:
Un formulario queda delimitado por las etiquetas( sin almohadillas) <#form> ... <#/form> La etiqueta <#form> ha de ir acompañada siempre del atributo action y, si los datos se han de dirigir al exterior ,además añadir el atributo method
Method: tiene dos formas de trabajar(POST y GET), pero es recomendable usar preferiblemente GET.
  • POST: No incorpora datos anexados a la URL.
  • GET: si incorpora los datos anexados a la URL.
LOS CONTROLES:
Hay cuatro tipo de controles:
  1. Cuadros de Texto.
  2. Campos de Validación.
  3. Menús Desplegables
  4. Botones
El conjunto de controles se ha de añadir dentro de parágrafos o tablas. Cada tipo de control tiene sus etiquetas y atributos.
BOTONES:/b>
Botones submit , sirven para la transmisión de datos del documento indicado por action. Este ha de tener los mecanismos adecuados para el proceso de datos. En caso de ninguna indicación en contra , el documento de destino se cargará en nuestro ordenador.
Botones reset , que tienen por objetivo borrar los datos entrantes en el formulario y comenzar a rellenarlo de nuevo.
Botones button, que sirven para transmitir algún proceso con los datos. Han de llevar asociado algún programa que indique, lo que hace falta hacer con los datos. El hecho de presionar el botón, por si solo, no nos hace cambiar de documento.
La sintaxis, para los tres, es:(sin almohadillas)
  • <#input type="tipo" ... value="Leyenda" />
o bien:
  • <#button type="tipus" ... >Leyenda

Donde Leyenda es una frase como: borra, Renueva, Envía, De acuerdo, Ahora o similares, y tipo adopta uno de los dos valores (reset | submit) en el caso de input
ETIQUETAS:
Con las etiquetas <#label>...<#/label> se pueden incluir rótulos anexados a controles de los formularios, de manera similar a la siguiente:( sin almohadillas)
Rètol<#/label><#input type=...
CUADROS DE TEXTO: Los cuadros de texto de una línea recogen o presentan textos o nombres relativamente cortos. El formato correcto es el siguiente: (sin almohadillas)
<#input type="text" size="100" value="valor" id=”nombre” />
Hay tres tipos más de cuadros de texto. Los dos primeros son variantes del anterior. El tercero es diferente.
a) De contraseña:
Al teclear el texto dentro de la casilla, solo aparecerán asteriscos ******. Pero contendrá los auténticos caracteres, aunque cifrados. veamos un ejemplo ( sin almohadillas, para ejecutar código) <#input type="password" id="nom" />
</ hr>
b) Escondidos
A veces se transmite algún dato sin que el usario lo sepa. Por ejemplo, cuando se transmite un formulario , su contenido de fecha y hora. Los campos de texto escondidos se limitan a recoger estos datos. Como no interviene el usuario, los valores han de estar constantemente ya previstos por el autor del documento o sino es imprescindible que algún programa recoja los datos y los inscriba. veamos un ejemplo (sin almohadillas para ejecutar código):
<#input type="hidden" id="nom" />
c) De diversas líneas
<#textarea id="nom" rows="n" cols="n">valor
El texto valor es el valor inicial del cuadro de texto. Las propiedades rows y cols hacen referencia a la altura y anchura del cuadro (filas x columnas) . Si hace falta, se puede añadir un atributo : readonly="readonly" (readonly) ( solo lectura). Notamos que mientras el valor inicial en los cuadros de texto de una sola línea es un atributo de la propiedad value, en los de más de una , es un texto comprendido entre las etiquetas inicial y final.
CAMPO DE VALIDACIÓN:
Selección de una opción entre varias:(ejemplo, sin almohadillas para ejecutar código)
<#input type="radio" name="nom" value="valor_1" /> <#input type="radio" name="nom" value="valor_2" /> ... (, sin barra final)
Es imprescindible que el nombre sea el mismo para todas las opciones. El atributo checked="checked" (checked ) establece, si se desea , una selección inicial por defecto:
<#input type="radio" name="nom" value="valor" checked="checked" /> (, sin barra final) El formulario trasmite al lugar de destino la pareja: nom=valor seleccionada.
Para formular una o mas preguntes que se hayan de responder con: sí/no se especifican así (sin almohadillas) :
<#input type="checkbox" name="nom" /> (, sense barra final) En este caso, si hay más d'una pregunta, el valor de name ha de ser diferente en cada caso. El rótulo se indica como en el caso anterior. Pero en cada selección afirmativa, el formulario trasmite al lugar de destino la pareja nom=on.
Menús Desplegables:
Los menús desplegables se especifican con la sigiente estructura ( sin almohadillas, para ejecutar código) :

<#select name="nom" size="1">
<#option value="valor_A">Soltero<#/option>
<#option value="valor_B">Casado<#/option>
<#option value="valor_C">Divorciado<#/option>

<#/select>



El atributo SIZE , es el numero de líneas que se verán simultáneamente en el menú desplegable, normalmente se elige 1 o 2. si es corto, 10 o más si es largo.
Si hay varias opciones diferentes es posible agruparlas en grupos: <#optgroup label="nombre_del_grupo">



sábado, 8 de junio de 2013

TIPOS DE CLASES (Lenguaje de Marcas)

Que pasa si quieres añadir en un mismo documento varios elementos del mismo tipo pero con diferentes condiciones. Por ejemplo si quisieras añadir 2 o más parágrafos pero unos de un color y otros de otro. Pues para eso, existen las CLASES
Se han de definir en el STYLE y dentro del BODY, en el STYLE sería así:(sin almohadillas)

<#style type="text/css">
 p.uno{color:#00ff00}
 p.dos {text-align:center, color:#000fff}
 p.tres {back-ground color:#ffff44, color:#003466}
<#/style>

Mientras que el BODY, sería así:

<#body>
  <#p class="uno"> texto del parágrafo <#/p>
  <#p class="dos"> texto del paragrafo<#/p>
  <#p class="tres"> texto del parágrafo <#/p>
<#/body>



Imágenes (Lenguaje de Marcas)

Los archivos de imagen se pueden añadir a un documento XHTML, HTML... Los más usados son .jpg, .png, .gif....

ETIQUETA IMG:

Para añadir imágenes a un documento se utilitza la etiqueta (sin almohadillas): <#img/>( <#img sin la etiqueta final se cierra así />). Por ejemplo:

<#img src= "dirección donde se encuentra la imagen" alt="texto descriptivo"/>

<#img src="imagenes/imagen3.jpg" alt="imagen3"/>

Como dirección se pone la ruta relativa o ruta absoluta. Además hemos de insertar la etiqueta <#img> dentro de un parágrafo (<#p>) o una capa (<#div>),encabezado(<#h1>),celda de una tabla(<#td>) o similares para que no nos de error.

Se le puede configurar un tamaño de altura y ancho. Con Height y Width, siempre dado en pixeles su tamaño.Se configura dentro del STYLE. Por ejemplo:

<#style type=text/css> #img {height:"380", width:"250"}

También se suele hacer uso de inserción de imágenes por hipervinculo. En vez de un texto , se puede hacer servir una imagen como origen de un hipervinculo. Por ejemplo: (sin almohadillas)

<#a href="direccion1">

<#img src="direccion2" alt= texto descriptivo>

<#/a>

Donde dirección1 es la dirección - relativa o absoluta del documento de destino y dirección2 es la dirección relativa o absoluta de la imagen.

TABLAS ( Lenguaje de Marcas)

ESTRUCTURAS BÁSICAS:

Una tabla, es una cuadrícula donde insertar información.Donde hay celdas, en sentido horizontal se llaman filas y en vertical columnas. La tabla se crea con la etiqueta: (sin almohadillas)<#table> <#/table>.

Dentro de esta tabla, podemos crear filas que se crean con la etiqueta: (sin almohadillas)<#tr> <#/tr>. I dentro de estas filas crear celdas con la etiqueta: 8sin almohadillas) <#td> <#/td> o <#th> <#/th>. Las TD son celdas básicas y simples, las TH son celdas en negrita y centradas.

Ejemplo:

<#table>

 <#tr>

  <#td>PRUEBA<#/td>

  <#th>PRUEBA2<#/th>

 <#/tr>

<#/table>

Ejemplo gráfico:

PRUEBA PRUEBA2

ENCABEZADO DE TABLA Y COLUMNAS:

El título en las tablas se crea con la etiqueta :(sin almohadilla)<#caption>TÍTULO<#/caption>. Que se introduce justo después de la etiqueta <#table>, y antes de abrir un <#tr>. Veamos un ejemplo gráfico:

TABLA
Prueba
Prueba2

Aunque también dentro de la tabla se pueden crear títulos, insertados dentro de las celdas con la etiqueta <#th> <#/th>.Veamos un ejemplo:

<#table>

<#caption>TÍTULO<#/caption>

 <#tr>

  <#th>PRUEBA<#/th>

  <#th>PRUEBA2<#/th>

 <#/tr>

Y ahora en modo gráfico

TíTULO
Prueba
Prueba2

En la siguiente imagen podéis ver el código de ejemplo de una tabla con varios formatos

Combinación de celdas:

Para combinar celdas, se puede hacer de dos modos. Dependiendo del tipo de combinación que deseemos realizar.

  1. Combinación por columnas: Colspan= "numero" de columnas a combinar en una sola
  2. Combinación por filas: Rowspan=" numero" de filas a combinar en una sola

Ejemplo de combinación de 2 columnas en la segunda celda de la primera fila

1 2 3
4 5 6 7

Y ahora un caso contrario en el que aplicaremos La combinación por filas uniremos 2 filas con rowspan.

1 2 3
4 5 6 7

Si aun así no os ha quedado claro, aquí debajo tenéis una imagen. Ya sabéis lo que dicen, una imagen vale más que mil palabras.

BORDES:

Para conseguir la visibilidad de los bordes de las tablas, podemos poner dentro del STYLE lo siguiente (sin almohadillas):

  • table {border-collapse: collapse}
  • td { border: thin solid blue (o otro color)
  • th { border: thin solid blue (o otro color)

Marcadores (Lenguaje de Marcas)

Marcadores (Lenguaje de Marcas)

MARCADORES

Marcadores dentro de un documento:

Es muy recomendable usar marcadores dentro de documentos muy largos . Cada marcador recibe un nombre (ID)y queda fijado por la presencia de su valor.( sin almohadillas para ejecutar código , excepto en el caso de ="#nombre", que si la incorpora)

  • <#a name="nombre">
  • EL enlace entre el punto de partida y el de destino se construye con la fórmula:

  • <#a href="#nombre">

Documento en Ventana Diferente:

Para lograr crear un enlace que se habrá en una ventana diferente mientras que conservamos el documento actual en la misma. Hemos de añadir el atributo target, en la creación del hipervínculo. por ejemplo : ( sin almohadillas, para ejecutar código)

<#a href="http://www.google.es"> target="nueva"><#/a>

Haz clic aquí para comprobar el resultado

Correo:

Similar al enlace, podemos enganchar el correo electrónico de la siguiente forma:(sin almohadillas para ejecutar código)

<#a href="mailto:dirección@servidordecorreo">Texto a enviar <#/a>

<#a href="mailto:admin_d@yahoo.es"> hola que tal<#/a>

Redireccionamiento Automático

Es una especie de hipervinculo especial, que, desde la página que lo contiene , remite automáticamente a otra página después de un tiempo de espera especificado en segundos. Esta redirección se inserta en el HEAD, de la siguiente forma (sin almohadillas, para ejecutar código).

<#meta http-equiv="refresh" content="n;url=dirección"/>

<#meta http-equiv="refresh" content="15;url=exercici1.xhtml"/>

Color:

Normalmente, el texto es de color negro y el fondo blanco. Pero siempre, estamos a tiempo de cambiarlo. Podemos obtener diferentes colores de texto y de fondo con códigos como los siguientes dentro del STYLE (sin almohadilla al principio de línea para ejecutar código).

<#style type="text/css">

p {color: #ff0015}

body {background-color: #ff0323}

El color, se usa para cmabiar el color del texto, mientras que Background color para cambiar el color de fondo.

Los colores fundamentales son <#000000= negro>, <#ffffff= blanco>. Pero podéis poner el color que queráis. Si no sabéis el código del color podéis mirarlo en : Códigos de colores

Su particularidad es, que son en formato Hexadecimal, es decir de la A a la F y del 0 al 9, en un bloque de 6 dígitos .

Estructura de Documentos (Lenguaje de Marcas)

Una cosa es el nombre del documento y otra cosa es su título. El título se incluye dentro del HEAD como hemos visto en el apartado anterior. Mientras que el nombre del documento se pondrá al aguardar el archivo con la extension .xhtml o .html (.htm).
Parágrafos y Saltos de Línea:
Como hemos visto anteriormente la creación de parágrafos se hace con la etiqueta <#p><#/p> dentro del <#body>.

Pero la acumulación de parágrafos no hace produce más líneas en blanco. Si deseamos añadir una, hemos de emplear el código: (sin puntos, para ejecutar código)

<#p>&.n.b.s.p;<#/p>
El código insertado dentro de las etiquetas del parágrafo sirve para crear espacios en blanco. Se puede usar dentro de otras etiquetas, que existan dentro del BODY.
Mientras que los saltos de línea simples , se indican con la etiqueta ( sin almohadilla, para ejecutar código)<#br />.
Separadores Horizontales:
Un separador horizontal es una línea que delimita dosp artes de una misma página. Se representa con la etiqueta: <#hr />

Centrar un Texto:
Podemos centrar un título insertado en HEAD por ejemplo, con el siguiente código :
<#style type="text/css">
h1 {#text-align:center}
<#/style>
Listas:
Hay dos tipos de listas las Ordenadas que se llaman así por que usan secuencia numérica (1,2,3...) y las No Ordenadas que se llaman así por que su orden es por secuencia de viñetas.
NO ORDENADAS:
la sintaxis correcta para su creación es:(sin almohadillas)
<#ol>
<#li> Limpia cristales<#/li>
<#li> Esponja de baño <#/li>
<#/ol>
ORDENADAS:
la sintaxis correcta para su creación es:(sin almohadillas)
<#ol>
<#li> Limpia cristales<#/li>
<#li> Esponja de baño <#/li>
<#/ol>
Listas de Definición
Su inicio y fin se hace con la etiqueta ( sin almohadillas) <#dl> <#/dl> En términos definidos con <#dt> <#/dt>. y las definiciones con <#dd> <#/dd>.( ver imagen de a bajo)

Tipo y Medida de la letra :
Podemos cambiar ambas cosas con: ( sin almohadilla para ejecutar código)
<#style type="text/css">
{# font-family: courier} o otro tipo, el que queramos
{#font-size: 38px} o otro tamaño de letra que queramos en pixels
<#/style>





Hipervinculos:
Es una conexión entre dos documentos diferentes se representa con el siguiente código : (sin almohadillas)
<#a href="dirección"> texto de enlace <#/a>
por ejemplo:
<#a href="http://www.facebook.com">Facebook <#/a>
Facebook
Ver imagen de a bajo como ejemplo de datos XHTML

La imagen anterior es incompleta dado que falta falta cerrar lasl istas, el body y lo más importante el html.

XHTML (lenguaje de marcas)

el XHTML es un lenguaje similar al HTML. Se complementa con CSS. Es el lenguaje para la creación de páginas web , como esta (Blogs, contenido web, archivos xhtml). Hay varias versiones de DOCTYPE para crear en XHTML. Para ver el código XHTML, podemos hacerlo de varias formas, descargando el archivo web y abrirlo con un editor de texto (WordPAD, Notepad...), o también desde algunos navegadores como Mozzilla firefox , internet explorer ( botón derecho --> ver código fuente)o Google chorme ( haciendo clic con botón derecho sobre la página que queremos obtener el código y seleccionar "inspeccionar elemento" en google chrome)
La información que obtendremos sera similar a esta ( ver imagen)


Posteriormente, al haber creado el archivo XHTML, se ha de Validar para comprobar que hay 0 errores. sino nuestro archivo es incorrecto y débil. Para ello hacerlo desde: W3C
El archivo XHTML se divide en diferentes partes, veamos algunas de ellas:
HEADcontiene:

  • El título del documento
  • META, determinados datos auxiliares
  • Indicaciones sobre preguntas formales (Hojas de estilo)
  • Herramientas para dinamizar el documento, como por ejemplo un javascript





BODYcontiene:
  • Contenido del texto (cuerpo)
  • Elementos de estructura, como tablas, capas...
  • Imagenes,sonidos, applets de java, animaciones flash...
  • Enlaces(links)... todo lo que se desea crear para la vista de la web.

La creación de estos documentos se ha de realizar mediante un editor de texto (WordPad,Notepad++...) el cual podamos guardar al finalizar con extensión .xhtml o .html (.htm)
Titulo y Parágrafos:
Se introduce dentro del HEAD, justo después del META. Por ejemplo :(sin almohadillas para que se ejecute el código)
<#head>
<#meta http-equiv="Content-Type" content="text/html"; charset=ISO-8859-15" />
<#title> EJEMPLO <#/title>
<#/head>
Mientras que los parágrafos van dentro del BODY. Justo después de cerrar la etiqueta HEAD, como estructura del texto, para separarlo entre parágrafos. por ejemplo:(sin almohadillas para que se ejecute el código)
Después del HEAD <#/head>
<#body>
#<#p>Aquí el primer parágrafo <#/p>
#<#p> Aquí segundo parágrafo <#/p>
#<#p> y así tantos, como quieras <#/p>
<#/body>
ORGANIZACIÓN DE ELEMENTOS:
ELEMENTOS, ATRIBUTOS Y VALORES(quitar almohadillas para que se ejecute el código)
Hay etiquetas que contienen valores por ejemplo lo es el caso de los links 8hipervínculos):
  • <#a href="http://www.google.es"> google <#/a>

El valor del atributo a href es lo que va dentro de las comillas. Es decir, el contenido.
Lo mismo pasa con el atributo imagen ( ver foto de abajo)

DOCUMENTOS EXTERNOS
Los casos más típicos son:
  • Direcciones de otros documentos que nos enlaza el documentos actual.
  • Referencias a imagenes que se han de presentar conjuntamente con el texto.



Estructura Y Forma:
Crear espacios en blanco:(quitar almohadilla inicial para que se ejecute el código ( y el punto que hay en 160, pero no su almohadilla))
sin paréntesis ni almohadillas, para ejecutar código .
& # 1 6 .0;   o también podemos usar <#xsl:text> espacio <#/xsl /text>;
A,H1 Y BLOCKQUOTE
Con <#a href="nombre.htm"> nombre <#/a> creamos un link a este archivo.
Con las etiquetas <#blockquote> nombre <#/blockquote> hacemos que los parágrafos interiores tengan sangría a la izquierda.
las etiquetas <#h1> TITULO <#/h1>, obtenemos el encabezado de mayor tamaño, podemos usar tantos ocmo pequeño lo deseemos, cada número mayor a uno, reduce un poco el tamaño del encabezado. por ejemplo h2,h3,h4,... ( ver imagen de a bajo)

Para hacer los bordes de las capas div redondeados:
border-radius:10px; -moz-border-radius:10px;-webkit-border-radius:10px;
Para cambiar el color al puntero de una lista: (sin almohadillas excepto en el color.)
#li.li1:before{ content:". "; font-family:webdings;font-size:20px; color:#FFA500;}
Acuérdate de hacer un list-syle:none. para que se aplique bien la clase li1:before.

Para crear marquesina  de texto en movimiento de derecha a izquierda:
<MARQUEE>"Aquí el texto"</MARQUEE>


Ejemplo de texto en movimiento