jueves, 12 de marzo de 2015

RESUMEN VIDEO DE UBUNTU.

UBUNTU -GESTIÓN DE PERMISOS.



GNU/Linux ofrece menor flexibilidad que Windows en la gestión de permisos.


Tipos de permisos:

-r(lectura): Permite al usuario leer el contenido del fichero, o listar el contenido de un directorio.

-w(escritura): Permite al usuario escribir o modificar el contenido de un ficero.En directorios es posibloe crear nuevos directoris o ficheros en su interior.

-x(ejecución): Permite al usuario ejecutar el fichero si es un programa. Para directorios permite cambiar el directorio.


Puede ser otorgados a:

-Propietario
-Grupo
-Otros



Para poder establecer los permisos sobre un archivo o directorio, se utiliza una cadena de 10 carácteres:

- --- --- ---

-El primer carácter es el tipo de archivo [-(Archivo), d(Directorio), l(Enlace)].

-Los tres siguientes son los permisos del propietario, los otros tres los permisos del grupo, y los tres últimos, los permisos del resto de usuarios.


Ejemplo:

rwx rwx rwx
Es un directorio. El propietario tiene permiso de lectura, escritura y ejecución. Los demás tiene los mismos permisos.

- rw- r-- r--
Es un archivo. El propietario tiene permiso de lectura y escritura. El grupo sólo de lectura y el resto,de lectura también.



Sólo se pueden cambiar los permisos de un archivo o directorio si se es su propietario o el superusuario root.
Para ello se utiliza el comando chmod:

chmod  {a,u,g,o} {+,-} {r,w,x}  fichero


{a,u,g,o}: Indica a qué usuarios afecta el cambio de permisos.

-a: Todos
-u: Usuario
-g: Grupo
-o: Resto de usuarios


{+,-}: Si se activa o desactiva el permiso correspondiente.


{r,w,x}: Ya los conocemos.



Ejemplos:

chmod  a+r fichero
Da permiso de lectura a todos los usuarios.


chmod  og-x fichero
Anula el permiso de ejecución al grupo y al resto de usuarios menos el propietario.


También podemos utilizar el comando chmod con códigos numéricos en octal con ésta tabla:




Ejemplos:

chmod 700 fichero
Asigna el permiso - rwx --- ---


chmod 550 fichero
Asigna el permiso - r-x r-x ---


chmod 755 fichero 
Asigna el permiso - rwx r-x r-x



Se puede cambiar el propietario de un fichero mediante el comando chown:

chown <nuevopropietario> fichero


También se puede cambiar el grupo de un fichero mediante el comando chgrp:

chgrp <nuevogrupo> fichero






viernes, 27 de febrero de 2015

Teoría 1306.3

LOS 5 ERRORES MÁS COMUNES EN HTML:

-Usar el mismo ID para varios elementos.
-Definir mal o no definir la codificación de carácteres.
-No definir el elemento "title".
-Atributos "alt" mal.
-Nombres de "id" o "class" inválidos.
-Formularios inaccesibles y difíciles de usar.
-No especifiar el color de fondo.
-Nombres de "id" y clases llamadas en función de su aspecto y no de lo que hace.
-Anchura fija, no hacerla demasiado ancha.


CAJA NEGRA:

Elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno.


CAJA BLANCA:

Las pruebas de caja blanca se centran en los detalles procedimentales del software, por lo que su diseño está fuertemente ligado al código fuente. El testeador escoge distintos valores de entrada para examinar cada uno de los posibles flujos de ejecución del programa y cerciorarse de que se devuelven los valores de salida adecuados.


PRUEBA UNITARIA:

Es una forma de comprobar el correcto funcionamiento de un módulo de código. Ésto sirve para asegurar que cada uno de los módulos funcione correctamente por separado.


VALIDACIÓN HTML:


-El PRECODIGO, es el antes del código, bocetos más la preparación de la estructura.

-Comprobar el acceso a archivos externos .JS y .CSS

-Comprobación METAS, Title y H1 para comprobar que tienen coherencia entre ellos y mejorar así la indexación.

-Verificar la tabulación del código HTML y separar las partes del código bien diferenciadas con comentarios. Ejemplo <!-- MENÚ LATERAL DERECHO -->

-Apartado NOSCRIPT bien complementado.

-Comprobar las buenas prácticas de programación en variables y nombres, identificadores, clases etc.. que tengan sentido con la tarea función que realizan.

-Realizar un prueba de caja Negra completa a la página.

-Realizar pruebas unitarias es comprobar individualmente un elemento cuando una prueba de caja negra da fallida.

-Compruebo que la declaración de documento sea actual y completo. DOCTYPE.

-Usar los Id como identificador único, no aplicar el mismo a varios elementos, para eso están las class.

-Que una página web no dependa del js, css, flash o span y no abusar de estos.

-Colocar directorio base para tener el html, js, css en una carpeta y el resto en otra.<BASE>

-Hacer validación completa de formularios incluidos en la web.

-Definir mal o no definir la codificación de caracteres.<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

-Realizar pruebas de caja blanca, principalmente en los formularios. Las principales técnicas de diseño de pruebas de caja blanca son:
  • Pruebas de flujo de control
  • Pruebas de flujo de datos
  • Pruebas de bifurcación (branch testing)
  • Pruebas de caminos básicos

-Las herramientas para desarrolladores nos sirven para detectar errores en tiempo real y para localizar partes del código deseado para realizar pruebas posteriores. Para hacer pruebas de posicionamiento si tocar el código fuente.

-Verificar en validador de HTML.
  • Etiquetas que no están bien cerradas o fallos de código.
  • Declaración de idioma.
  • Etiquetas alt de las imágenes.
  • Código obsoleto.


VALIDACIÓN CSS:


-Buen enlace del HEAD al archivo, comprobar su ejecución.
-Comprobar que los selectores se dirigen hacia el elemento adecuado y funcionan correctamente.
-Comprobar que otros selectores tienen más prioridad y están sobreescribiendo una propiedad y/o valor.
-Que le posicionamiento corresponde con el objetivo que pretendemos y sus efectos.
-Utilizar colores codificados en Hexadecimal o RGB o RGBA. Por el motivo de que el rojo en cada navegador es diferente.
-Siempre que se pueda utilizar expresiones de CSS reducidas.
-Combinación de selectores con código común, para reducir líneas de código.
-Utilizar selectores coherentes y no utilizar palabras reservadas para ellos.
-OJO al dato señor@s con los caracteres especiales tipo Ñ o @ o “” etc…
-Comentar el código correctamente, al igual que tabularlo y dejar espacios para su correcta visualización.
-Colocar el código por zonas comentado par su mejor búsqueda. Ejemplo Menú.
-Para validar el código CSS incrustado en el HTML utilizar validador con este archivo específico de CSS.
  • Pasar un validador de CSS validador CSS del W3C.:
    • Las propiedades están mal escritas o tienen valores no permitidos
    • Errores de sintaxis, llaves, llamadas a selectores, propiedades etc…
    • El punto y coma después de cada línea.

martes, 10 de febrero de 2015

Parte 1306.1 Segundo ejercicio de formulario.

SEGUNDO EJERCICIO FORMULARIO:



Nombre:
Introducir entre 3 y 10 carácteres.
/^[a-zA-Z]{3,10}$/

Con el elemento onblur, si está mal escrito al salir el foco, se pondrá de color rojo el div y no te dejará salir del campo.
Cuando esté bien escrito volverá a ponerse de color blanco y dejará salirte del campo.


Apellidos:
Introducir dos apellidos:
/^[A-Za-záéíóúñ]{2,}(\s][A-Za-záéíóúñ]{2,})+$/

Con el elemento onblur, si está mal escrito al salir el foco, se pondrá de color rojo el div y no te dejará salir del campo.
Cuando esté bien escrito volverá a ponerse de color blanco y dejará salirte del campo.


Parte 1306.1 Primer ejercicio formulario.

PRIMER EJERCICIO FORMULARIO




BOCETO:

Nombre:
Introducir entre 3 y 10 carácteres.
/^[a-zA-Z]{3,10}$/



Apellidos:
Introducir dos apellidos:
/^[A-Za-záéíóúñ]{2,}(\s][A-Za-záéíóúñ]{2,})+$/



Correo electrónico:
Ya lo valida el propio ordenador.



Teléfono:
Introducir con 9 números.
/^\d{9ç$/



Mensaje:
Introducir entre 9 y 150 carácteres.
/^[a-zA-Z+{9,150}$/



Parte 1306.1 Tutorial sobre Expresiones regulares en Javascript para validación de campos en formularios Html.

Las expresiones regulares se encuentran delimitadas por el carácter barra (/). 


– Número de teléfono nacional (sin espacios) 

• Ejemplo: 954556817 

• Exp. Reg.: /^\d{9}$/ o también /^[0-9]{9}$/ 


Comienza (^) por una cifra numérica (\d) de la que habrá 9 ocurrencias ({9}) y aquí acabará la cadena ($). 
NOTA: La expresión “\d” equivale a la expresión “[0-9]”, y representa a un carácter de una cifra numérica, es decir, ‘0’ o’1’ o ‘2’ o ‘3’ ... o ‘9’.

– Número de teléfono internacional

• Ejemplo: (+34)954556817 

• Exp. Reg.: /^\(\+\d{2,3}\)\d{9}$/ 

Comienza (^) por un paréntesis (\(), le sigue un carácter + (\+), después una cifra numérica (\d) de la que habrá 
2 o 3 ocurrencias ({2,3}), después le sigue un paréntesis de cierre (\)), luego viene una cifra numérica de la que habrá 9 ocurrencias ({9}), y aquí acabará la cadena ($). 
NOTA: Puesto que los caracteres: (, ), +, *, -, \, {, }, |, etc... tienen significados especiales dentro de una expresión regular, para considerarlos como caracteres normales que debe incluir una cadena deben de ir precedidos del carácter de barra invertida \. 


– Fecha con formato DD/MM/AAAA

• Ejemplo: 09/01/2006 

• Exp. Reg.: /^\d{2}\/\d{2}\/\d{4}$/ 

Comienza (^) por una cifra numérica (\d) de la que habrá 2 ocurrencias ({2}), después una barra (\/), seguida de 
2 cifras numéricas, otra barra, 4 cifras numéricas, y aquí acabará la cadena ($). 


– Código postal

• Ejemplo: 41012 

• Exp. Reg.: /^\d{5}$/ 

Únicamente contiene 5 cifras numéricas. 


– Email

• Ejemplo: usuario@servidor.com 

• Exp. Reg.: /^(.+\@.+\..+)$/ 

Comienza (^) por caracteres cualesquiera que no sean salto de línea (.) de los que habrá al menos una ocurrencia (+), después el carácter arroba (\@), seguido de al menos un carácter que no podrá ser el salto de línea (.+), después viene el carácter punto (\.), seguido de al menos un carácter donde ninguno podrá ser el salto de línea  (.+), y aquí acabará la cadena ($). 


– Número entero

• Ejemplo: -123 

• Exp. Reg.: /^(\+|\-)?\d+$/ o también /^[+-]?\d+$/ o también /^[+-]?[0-9]+$/ 

Comienza (^) opcionalmente (?) por el carácter + o por el carácter -, por lo que puede que incluso no aparezcan ninguno de los 2; seguidamente vienen caracteres de cifras numéricas (\d) de los que al menos debe introducirse uno (+), y aquí acabará la cadena ($). 


– Número real

• Ejemplo: -123.35 o 7,4 o 8 

• Exp. Reg.: /^[+-]?\d+([,.]\d+)?$/ 

Comienza (^) opcionalmente (?) por el carácter + o por el carácter -, por lo que puede que incluso no aparezcan ninguno de los 2; seguidamente vienen caracteres de cifras numéricas (\d) de los que al menos debe introducirse uno (+), y, opcionalmente, aparecerá un punto o coma decimal seguido de al menos una cifra numérica, y aquí acabará la cadena ($).



1. Introducción 

Las Expresiones Regulares son patrones que permiten buscar coincidencias con combinaciones de caracteres dentro de cadenas de texto. 

2. Creación de una expresión regular 

Dos métodos: 

1) La primera opción compila la expresión regular cuando se evalúa el script, por lo que es mejor cuando la expresión regular es una constante (delimitada por barras) y no va a variar a lo largo de la ejecución del programa. 

exp_reg1 = /^[0-9]+/; 

La variable se convierte en una variable del tipo expresión regular, por tanto, puede usarse con ella el método test para validar la cadena. 


 if(exp_reg1.test(“123”)==false)

2) La segunda opción compila la expresión regular en tiempo de ejecución (guardada en una variable de tipo cadena o en un campo de un formulario). Aquí los delimitadores son las comillas dobles, no las barras. 

exp_reg2 = new RegExp("^[0-9]+"); // Ahora exp_reg2 es una variable que contiene una expresión regular. 

 exp_reg3 = new RegExp(formu.campo1.value); 

// exp_reg3 tendrá como expresión regular el contenido del campo campo1 del formulario formu. 

exp_reg4 = new RegExp(cadena1); 

// exp_reg4 tendrá como expresión regular el contenido de la variable de cadena cadena1. 


if(exp_reg3.test(“123”)==false) // Ahora podrá usarse el método test en las variables.

3. Creación de los patrones 

Una expresión regular es una combinación de caracteres normales con caracteres especiales. Por ejemplo, la expresión regular /ejemplo/ encontrará la subcadena "ejemplo" dentro de la cadena "Esto es un ejemplo.". 

Con la utilización de caracteres especiales se consigue encontrar coincidencias con los retornos de carro, los tabuladores, el inicio o el final de las palabras, las repeticiones de caracteres... 

La siguiente tabla muestra una lista de los caracteres especiales más importantes, así como su significado y un ejemplo de aplicación:



4. Aplicación a la validación de campos de formularios 

Una de las aplicaciones más habituales de las expresiones regulares es la validación de campos de formularios. Para ello, se crea una función de validación que contiene una expresión regular por cada tipo de campo que se desea validar. 

Por ejemplo, podemos crear una expresión regular para campos de teléfono, que compruebe que se han introducido sólo números, espacios o el carácter '-' en el campo correspondiente. 

Para validar los campos se utiliza el método test de la expresión regular correspondiente. Este método compara la cadena que se le pasa como argumento con el patrón de la expresión regular.

La función de validación se invoca utilizando el evento onSubmit del formulario. Cuando la validación no da positivo, la función de validación devuelve false. Esto cancela el submit, de modo que el usuario pueda corregir la entrada incorrecta. En caso contrario, se devuelve true. El tag form quedaría así: 


<form name="formu" action="datos.php" onSubmit="return ValidaCampos(this)">

Validación con expresiones regulares y Javascript:

Las expresiones regulares son modelos que describen las combinaciones de caracteres en el texto. Se podrían definir como una serie de caracteres que forman un patrón, que representan a otro grupo de caracteres mayor, de tal forma que podemos comparar el patrón con otros conjuntos de caracteres para ver las coincidencias. Las expresiones regulares pueden utilizarse en múltiples lenguajes de programación pero en esta entrada vamos a ver un ejemplo de validación de formularios mediante Javascript y haciendo uso de expresiones regulares.





La tabla siguiente contiene algunos de los patrones más utilizados a la hora de validar formularios:




TUTORIAL SOBRE EXPRESIONES REGULARES EN JAVASCRIPT PARA VALIDACIÓN DE CAMPOS EN FORMULARIOS HTML:



viernes, 30 de enero de 2015

UF1325.7 Ejercicios de Efectos de Javascript.

EJERCICIO DE EFECTOS:


-Efecto de cara con ojos en movimiento.

-Imagen persiguiendo al puntero.

-Botón que al pulsar te lleva a imprimir la página directamente.

-Vínculo que al pasar el ratón por encima salta una ventana emergente.

-Efecto de contador de visitante en la página.



CÓDIGO HTML:


<!DOCTYPE html>
<html lang="es">

  <head>
    <title>Prueba 1305.06</title>
    <meta  content="text/html; charset=iso-8859-1">
    <meta name="Recuperación" content="Recuperación 1305.06">
    <LINK REL="stylesheet" HREF="recu1305.06.css" TYPE="text/css">
    <SCRIPT language=javascript src="jseyes.js"></script>
    
    <style type="text/css">
    BODY {overflow-x: hidden;}
    </style>
    
  </head>
  <body>
  
       <noscript>
       Este navegador no comprende los scripts que se están ejecutando, debes actualizar tu versión de navegador a una más reciente.
       <br><br>
       <a href://netscape.com>Netscape</a>.<br>
       <a href://microsoft.com>Microsoft</a>
       </noscript>
       
       
       <script language="JavaScript1.2">


var trailLength = 8 // The length of trail (8 by default; put more for longer "tail")
var path = "rollingstones.png" // URL of your image

var standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
var i,d = 0

function initTrail() { // prepares the script
images = new Array() // prepare the image array
for (i = 0; i < parseInt(trailLength); i++) {
images[i] = new Image()
images[i].src = path
}
storage = new Array() // prepare the storage for the coordinates
for (i = 0; i < images.length*3; i++) {
storage[i] = 0
}
for (i = 0; i < images.length; i++) { // make divs for IE and layers for Navigator
document.write('<div id="obj' + i + '" style="position: absolute; z-Index: 100; height: 0; width: 0"><img src="' + images[i].src + '"></div>')
}
trail()
}
function trail() { // trailing function
for (i = 0; i < images.length; i++) { // for every div/layer
document.getElementById("obj" + i).style.top = storage[d]+'px' // the Y-coordinate
document.getElementById("obj" + i).style.left = + storage[d+1]+'px' // the X-coordinate
d = d+2
}
for (i = storage.length; i >= 2; i--) { // save the coordinate for the div/layer that's behind
storage[i] = storage[i-2]
}
d = 0 // reset for future use
var timer = setTimeout("trail()",10) // call recursively 
}
function processEvent(e) { // catches and processes the mousemove event 
if (window.event) { // for IE
storage[0] = window.event.y+standardbody.scrollTop+10
storage[1] = window.event.x+standardbody.scrollLeft+10
} else {
storage[0] = e.pageY+12
storage[1] = e.pageX+12
}
}

initTrail() 
document.onmousemove = processEvent // start capturing

//-->
</script>
       
       
       <script src="jseyes.js">

//Script created by Pintér Gábor, http://www.propix.hu
//Visit http://javascriptkit.com for this script

</script>

<script>
    jseyes();
</script>
       
       
       
       <script class="parapadeo" type="text/javascript">
       window.setInterval (BlinkIt, 500);
       var color = "red";
       function BlinkIt () {
              var blink = document.getElementById ("blink");
              color = (color == "#ffffff")? "red" : "#ffffff";
              blink.style.color = color;
       blink.style.fontSize='36px';}
       </script>
       <div id="blink">Nuria</div>
       <div id="blink" onclick="parent.location='http://norfipc.com'">
       </div>
       
       
       
       <a href="http://tu-sitio.com" 
       onmouseover="javascript:alert('Buenos dias a tooooooooooodos!!!!!!!');return false">Vínculo</a>
       
       </br>
       </br>

       <script type="text/javascript">
       var ran
       ran = Math.round(Math.random()*50000)
       document.write("Usted es el visitante " + ran + " de esta página.")
       </script>

       </br>
       </br>


       <input type="button" value="Imprime esta página" onclick="window.print()">
       
       <h1>Ejercicios Efectos</h1></br>
 
  <h3>Colores de fondo.</h3>
  <div  class="caja1">
 
  </div>
 
 
 
  <h3>Imagen de sustitución.</h3>
  <div class="caja2">
 
  </div>

  </body>

</html>

UF1305.7 Sección de búsqueda por Google.

BÚSQUEDA POR GOOGLE:


1.Con todas las palabras:
Escribir todas las palabras que quieres buscar.


2.Con las palabras o frase exactas:
Escribir la palabra o frase exacta que queremos buscar.


3.Con cualquiera de estas palabras:
Saldrán los resultados que contengan al menos una de las palabras que hayas introducido.


4. Con ninguna de estas palabras:
Nos encontrará algo que no contengan las palabras que hayamos escrito.


5.
Idioma:
Los resultados saldrán en el idoma escrito.


6.
Región:
Buscar en función de que tipo de archivo quieres.


7.Formato de archivo:

Sólo se mostrarán los archivos con el formato buscado.

8.Fecha:
La búsqueda por fecha retorna páginas actualizadas cada determinado tiempo.


9.Rango numérico:
Sirve para especificar en la búsqueda un rango de números que debe contener la página.


10.Presencia:

Restringimos qué parte de la página se realiza la página.


11. Dominios:
Nos permite buscar sólo en un dominio o sitio web.


12.Derechos de uso:
No se mostrarán resultados de contenido esplícito.


13.Búsqueda segura:
Se usa pra filtrar el contenido sexual explícito que aparecerá en la búsqueda.


14.Similar:
Buscas contenido en la web similar a una página web seleccionada en el cuadro de texto.  


15.Enlace:
Muestra qué página web poseen un enlace a una página determinada.