martes, 13 de agosto de 2019

Servicios Web

Servicios Web:


W3C: lo define como un sistema de software, diseñado para soportar la interacción entre dos o mas maquinas a través de una red que a su vez tienen interoperabilidad.

Que es interoperabilidad:
Es la habilidad de  dos o mas maquinas de intercambiar información y utilizar la información intercambiada.


Características de Servicios Web:


  • Tiene interoperabilidad.
  • Devuelve mensajes.
  • Utiliza un protocolo principal SOAP.
  • Utiliza una interfaz descrita en WSDL.
  • Ejecución en cualquier plataforma.
  • Software escritos en distintos lenguajes.

 Ventajas:

-Aporta interoperabilidad.
-Permite que diferentes software puedan compartir datos he integrarlos entre si.
-Fomentan protocolos y estándares basados en texto.


Inconvenientes:

-Su rendimiento es mas bajo sí se compara con otros modelos de computación distribuida.
-Al apoyarse en HTTP puede esquivar medidas de seguridad de firewall. 
-El grado de desarrollo a la hora de realizarse transacciones no puede compararse con otros estándares abiertas de computación distribuida.

Que es un firewall?
(cortafuegos) un sistema informático o una red informática que esta diseñado para bloquear los accesos no autorizado, permitiendo de igual manera las comunicaciones autorizadas.


Estándares que utiliza un Servicie Web:


-SOAP: es un protocolo estándar que define como dos objetos(maquinas) pueden intercambiar información por medio de datos XML.

Las características mas importantes de SOAP son:

Extensibilidad.
Neutralidad.
Independencia.

-XML: es una meta-lenguaje permite difinir lenguajes de marcas, para almacenar datos de forma legible.

Da soporte a a bases de datos, permite compatibilidad entre sistemas, para compartir información de forma legible, segura y fácil.

Fue desarrollado por W3C.

WSDL: se utiliza para describir servicios web(WS), esta basado en XML y se puede usar en combinación con SOAP  y XML.

-UDDI: es uno de los estándares básicos de servicios web, su objetivo es ser accedido por los mensajes SOAP y dar lugar a documentación WSDL.

-WS-Security:
Es un protocolo de comunicación que suministra un medio para dar seguridad a los SW.

-REST: es un estilo de arquitectura de software, hace uso de protocolo HTTP, proporciona una API que utiliza cada uno de sus métodos (GET,POST,PUT,DELETE, etc.)

-JSON: es un formato de texto sencillo para el intercambio de datos tal como XML.
Es un subconjunto de los objetos de JavaScript.











jueves, 11 de julio de 2019

JSF

Que es JSF?

JSF es una tecnología y framework para Java, esta basado en paginas web y su objetivos es simplificar el desarrollo de las interfaces de usuario JEE.
Utiliza jsp pero fácilmente se puede adaptar a archivos xul.
JSF trabaja con la libreria Prime Faces

Características de JSF?
Tiene una librería PrimeFaces
La librería contiene AJAX
Contiene un ManageBean que es el intermediario entre mi Dao y mi interface JSF
Es un framework MVC
Se integran Flacets
Tiene una interfaz JavaServer Faces

Que es una API en JSF?
JSF incluye un conjunto de APIs para representar componentes de una interfaz de usuario y administrar su estado.

Diferencias entre JSP, JSF y SPRING:



JSF
JSP
SPRING
·        Es una tecnología que ayuda a crear páginas web dinámicas.
·        Se basa en generar un fichero .jsp que es traducido a una clase Servlet que  a su vez es compilada y ejecutada.
·        JSP es el “bajo nivel”, es lo más básico de las páginas web con java del lado del servidor, junto con los Servlets.
·        Servlet permiten mezclar código html y java en los jsp.
·        Es un framework para la generación web dentro de una aplicación web.
·        Tiene dos formas de uso JSP o Facelests. Inicialmente se usaban JSPs,pero apartir de la versión 1.2 se usan Flacests.
·        JSF está construido sobre JSP/Servlets, es más alto nivel y está pensado para poder construir aplicaciones web más rápidamente que sono con JSP.
·        JSF independiza la lógica de negocio de la de capa de presentación gracias al patrón MVC.
·        Es un stack alternativo a Java EE. Como tal, proporciona una serie de servicios similares a los del stack.
·        Spring es un framework para creaer código de alto rendimiento,liviano y reutilizable.
·        Spring es un framework liviano debido a su implementación POJO(Plain Old Java Object).


Stack: Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos.

viernes, 5 de julio de 2019

JSP

Que es JSP?

Nos ayuda a darle dinamismo a las paginas web, permitiendo así, mezclar código java con etiquetas html.
Su función es saber como procesar información de un servidor web, con el objetivo de generar una respuesta.

Ventajas  Jsp:


  • Es una manera mas sencilla de agregarle dinamismo a las paginas web.
  • Se puede separar el código por medio de MVC y así trabajar de manera mas ordenada.
  • JSP puede trabajar en conjunto con servlet facilitando la creación de las aplicaciones.

 Desventajas Jsp:

  • La mayor parte de la lógica de la aplicación se ejecuta en el servidor, por lo que corre riesgo de sobrecargarse.
  • La aplicación no funciona si ocurre algún problema con el servidor o con la conexión de red.

Que es una API en JSP? 

Es una colección de paquetes, clases, interfaces etc, estos se encuentran contenidos en un paquete principal : java.servlet.jsp


Formas de usar JSP: 

Los elementos utilizados para insertar código Java dentro de JSP son tres.
  1. Scriptlet Tag = <% codigo>
  2. Expression Tag = <%= expresion>
  3. Declaration Tag = <%! declaration>
 Nota: 
Dentro de una expresión podemos utilizar todo lo que usaríamos con un out.println.
Las declaraciones podrán ser usadas desde cualquier parte de mi pagina JSP, cabe destacar que hay que tener cuidado con estas ya que pueden guardar información y esto puede causar errores en nuestro resultado

Directivas JSP:

Las directivas nos permiten configurar alguna información que pueda ser usada en nuestra pagina JSP .
Hay tres directivas que exiten en JSP.
  1. Include:  permite incluir o insertar contenido de otro archivo jsp.                            Por ejemplo si quisiéramos utilizar un encabezado para todos mis archivos jsp, podría crear un archivo que lo contenga e incluirlo en mis otros archivos con  la directiva include.
  2. Taglib: permite utilizar librerías y también las librerías creadas por nosotros.
  3. Page: se utiliza para establecer algunas propiedades en nuestra pagina jsp, importar clases, gestionar errores, etc.

Que es JSTL

Son un conjunto de etiquetas y librerías de Java EE que extienden JSP.
Encapsulan funcionalidades para muchas aplicaciones JSP. Ademas JSTL define un nuevo lenguaje de expresiones llamado EL.

JSTL tiene contenidas 4 librerías:

  1. core: interacciones,condicionales,manipulación de URL y otras funciones generales.
  2. xml: para la manipulación de XML y para XML-Transformation.
  3. sql: para gestiones conexión a base de datos.
  4. fmt: para la internacionalización y formateo de las cadenas de caracteres como cifras.

Importancia de JSTL:
Nos ayuda darle dinamismo a las paginas estáticas. Contienen cuatro librerías muy potentes para la creación de nuestras paginas web, tiene la facilidad de poder personalizar etiquetas propias y su código es sencillo.

Estructuras Selectivas:
-Simples: están compuesta de una sola condición si es verdadera se ejecuta la acción y si es falsa no hará nada.

if (edad > 17)

Dobles: están compuesta solamente de una condición, si es verdadera ejecutara la acción y si es falsa ejecutara otra acción.

if (edad > 17)
puts “Es mayor de edad”
else
puts “Es menor de edad”

Multiples: múltiples o anidadas están compuesta por un if principal y luego por else if lo que indica que pueden realizarse distintas acciones dependiendo de las múltiples condiciones.

if (edad > 17)
puts “Es mayor de edad”
elsif (edad < 18)
puts “Es menor de edad”

Estructuras Iterativas:
while: este bucle repetirá una acción mientras se cumpla determinada acción.

var color = "" 
while (color != "rojo"){ 
    color = prompt("dame un color (escribe rojo para salir)","") 
}

do/while: se utiliza cuando no se sabe cuantas veces se haba de ejecutar el bucle,igual que el bucle while, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutara una vez.

var color 
do { 
    color = prompt("dame un color (escribe rojo para salir)","") 
} while (color != "rojo")

For:En este tipo de iteración, siempre se necesita una variable que lleve el control de las veces que se repite el proceso por esto se le conoce también como ciclos con variables de control.


Que es una Sesión?
Una sesión es una serie de comunicaciones entre un cliente y un servidor en la que se realiza un intercambio de información.Por medio de una sesión se puede hacer un seguimiento de un usuario a través de la aplicación.

El tiempo de vida de una sesión comienza cuando un usuario se conecta por primera vez a un sitio web pero su finalización puede estar relacionada con tres circunstancias.

-Cuando abandona el sitio web.

-Cuando se alcanza un tiempo de inactividad que es previamente establecido, en este caso la sesión es automáticamente eliminada. Si el usuario siguiera navegando se crearía un nueva sesión.

-Cuando se ha cerrado o reiniciado el servidor.

Que es JavaBeans:
Es una clase en Java que sigue ciertos requisitos al momento de crearse de acuerdo a las especificaciones de la API para JavaBeans de la plataforma Java.

Especificaciones que se debe de tener en cuenta para que una clase sea un JavaBean:

  1. Debe tener un constructor vacío.
  2. Debe implementar la interfaz Serializable.
  3. Las propiedades/atributos deben ser privados.
  4. Debe de tener métodos getters o setter  o amos que permitan acceder a sus atributos.
Patrón MVC:

Modelo: Son las clases con sus atributos y sus métodos getter and setter.
Vista: aquí se encuentra la interfaz de la aplicación.
Controlador: aquí es donde se separa la parte lógica de la interfaz, actúa como intermediario entre el modelo y la vista.




sábado, 8 de junio de 2019

Java Web


¿Que es una pagina Dinámica?

Las paginas web dinámicas son aquellas en las que la información presentada se genera a partir de una petición del usuario de la pagina.

Esto se hace posible porque una pagina dinámica tiene asociada un Base de Datos desde la que se permite visualizar la información contenida en ella.

¿Que es el modelo Cliente-Servido?

Este modelo permite conectar a varios clientes a los servicios que provee un servidor.

Figura 01. Modelo Cliente Servidor

¿Que es Java Servlets?

Un servlet es una clase que maneja solicitudes,las procesa y responde con una respuesta, amplia las capacidades de los servidores al que se accede por medio de un modelo de solicitud-respuesta.

Los servlets están bajo el control de otra aplicacion Java Servlet Container. Cuando una aplicación que se ejecuta en un servidor web recibe una solicitud, el servidor entrega la solicitud al Servlet Container,que a su vez la pasa al Servlet de destino y se devuelve una respuesta.

Cada petición HTTP recibida se procesa en un hilo, e invoca un método del servlet.


Resultado de imagen para servlets container

¿Ventajas y Desventajas de los Servlets?

  • Servlet es un codigo java.
  • Escribir codigo para servlet es mas dificil que JSP ya que es html en java.
  • Servlet desempeña un papel de controlador en el enfoque MVC.
  • Servlet es mas rapido que JSP.
  • Servlet puede aceptar todas las solicitudes de protocolo.
  • En Servlet,podemos anular el metodo service().
  • En Servlet, la administracion de sesiones por defecto no esta habilitada, el usuario debe habilitarlo explicitamente.
  • En Servlet tenemos que implementar todo, como la logica de negocios y la logica de presentacion en solo un archivo de servlet.(preguntar)
  • Modificacion en Servlet es una tarea que consume mucho tiempo porque incluye la recarga,la recompilacion y el reinicio del servidor.

¿Característica de  Java Servlets?

  • Amplia las capacidades de los servidores.
  • Se utiliza en la creación de paginas web dinámicas.
  • Lee datos enviado por el cliente
  • Se ejecutan en una maquina virtual dentro del proceso del servidor

¿Ciclo de vida de un Servlet?

El ciclo de vida de Servlet incluye pricipalmente las siguiente cuatro estapas.



¿Ciclo de vida de un Servlet?

package com.gorka.servlets;
import javax.servlet.*;

import javax.servlet.http.*;

public class MiServlet extends HttpServlet

{
      public void init(ServletConfif config) throws ServletException

{
                 super.init(config);

}
// METODO POST PARA RESPONDER A UNA PETICION POST

public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{

}
// METODO GET PARA RESPONDER A UNA PETICION GET public void doGet(HttpServletRequest req, HttpServletResponse res) {

}
public void destroy() {

   // Liberar recursos

}

}

¿Que es una clase GenericServlet?

Clase abstracta public GeneriServlet
extiende java.lang.Object

GenericServlet facilita la escritura de Servlet.

La clase GenericServlet implementa las interfaces Servlet,ServletConfig y Serializable. Proporciona la implementacion de todos los métodos de estas interfaces,excepto el método de servicio.


¿Métodos principales de Servlet?










viernes, 7 de junio de 2019

Java

¿Que es un servidor?

Un servidor es un ordenador(con sus programas) que esta al servicio de otros ordenadores,dispositivos electrónicos(impresoras,móviles,etc.)y personas a los que suministra información.


¿Que es un servidor web

Un servidor web almacena los archivos propios de una pagina web(texto,imagen,video,etc) y muestra a los clientes a través de los navegadores.Utilizando el protocolo HTTP(Hipertext Transfer Protocal).

El espacio que ofrecen estos servidores para el alojamiento de los sitios web se conoce como hosting.

Ejemplos de servidores web: apache,java.

Apache Tomcat:

Apache Tomcat es un servidor web de código abierto y un sistema servlet,que utiliza varias especificaciones Java EE como Java Servlet,JavaServlet Pages(JSP),Expression Language y WebSocket para proporcionar un entorno de servidor web HTTP "Java Puro".

Tomcat permite que los servlets se reutilicen en una amplia variedad de entornos,o para que los componentes se desarrollen de forma asincrona entre si 

Ciclo de vida de un servlet con Tomcat https://www.mulesoft.com/tcat/tomcat-servlet

Glassfish

Glassfish es un servidor de aplicaciones que implementa la plataforma JavaEE5, por lo que soporta la ultimas versiones de tegnoligia como JSP,Servlet,Java API etc.
Glassfish ademas de ser un servidor de aplicaciones, es una comunidad de usuarios ,que descargan y utilizan libremente y es codigo abierto.

Pero si implementa la plataforma JavaEE,entonces que es JavaEE?.Java Enterprise Edition JEE es esencialmente una forma estándar de desarrollar Aplicaciones Java Empresariales que sean portables,esto quiere decir,que puedan ser utilizadas en mas de un servidor sin importar el fabricante.


Otros servidores de Java

  • Apache Geronimo.
  • Jetty.
  • JOnAs.
  • Oracle WebLogic.
  • Sap NerWeaver.
  • Sun Java System Aplication Server.
  • WlidFly.
  • WhereSphere Application Server.

Arquitectura de Cliente Servidor

Resultado de imagen para arquitectura de cliente servidor

Tipos de datos Java




Variables:

Las variables son contenedores para almacenar valores de datos

Sintaxis
type variable = value;
int  numero   = 20;

Constante:

Una constante es una variable del sistema que mantiene un valor a lo largo de toda la vida.

Ejemplo: cuando usamos en nuestra conexión a base de datos en Java las constantes url,user y password.

private static final String URL = "jdbc:mysql//localhoast:3306/ciudadanos";


Identificadores:

Son los nombres que pueden tener las clases,los métodos y las variables, no tienen espacios ni caracteres especiales

Ejemplo
private int numero = 20;

Comentarios:


/* Pueden ocupar mas de una linea*/
//Solo pueden ocupar una linea




Operadores Java


Resultado de imagen para operadores java


Clases para el manejo de fechas en Java

Uno de los problemas mas comunes de los desarrolladores es el manejo de fechas,tiempo y zonas horarias,para resolver este problema se solía utilizar api's como Joda Time, Java 8 incluyo un conjunto de api's que nos ayudan a resolverlo sin incluir dependencias adicionales.

LocalDate:

Un LocalDate representa una fecha e formato ISO(yyy-MM-dd) sin tiempo.

Ejemplo
LocalDate date = LocalDate.now();
System.out.println(date)

2019-06-09

LocalTime:

LocalTime representa una hora sin la fecha,del mismo modo que con LocalDate podemos crealo


Ejemplo
LocalTime time = LocalTime.now();
System.out.println(time);

11:02:06.198

LocalDateTime:


Es la combinacion entre LocalDate y LocalTime

Ejemplo
LocalDateTime dateTime = LocalDateTime.now()
System.out.println(dateTime)

2019-06-09T11:02:06.198


ZonedDateTime:

Se utiliza cuando queremos trabajas con fechas y tiempo pero agrega el factor de las zonas horarias,para esto utiliza un Zoneld el cual es un identificador de zonas 

Ejemplo

import java.time.ZoneId;
import java.util.Set;

public class LocalDateExample {
    public static void main(String[] args) {
        Set availableZoneIds = ZoneId.getAvailableZoneIds();
        for (String zoneId : availableZoneIds) {
            System.out.println(zoneId);
        }
    }
}

Date


Funciones para el manejo de cadenas

Es un conjunto de cero a mas caracteres consecutivos.

Metodos o FuncionesCometido
length()Devuelve la longitud (número de caracteres) de la cadena
charAt (int pos)Devuelve el carácter que hay en una cierta posición
toLowerCase()Devuelve la cadena convertida a minúsculas
toUpperCase()Devuelve la cadena convertida a mayúsculas
substring(int desde, int cuantos)Devuelve una subcadena: varias letras a partir de una posición dada
replace(char antiguo, char nuevo)Devuelve una cadena conun carácter reemplazado por otro
trim()Devuelve una cadena sin espacios de blanco iniciales ni finales
startsWith(String subcadena)Indica si la cadena empieza con una cierta subcadena
endsWith(String subcadena)Indica si la cadena termina con una cierta subcadena
indexOf(String subcadena, [int desde])Indica la posición en que se encuentra una cierta subcadena (buscando desde el principio, a partir de una posición opcional)
lastIndexOf(String subcadena, [int desde])Indica la posición en que se encuentra una cierta subcadena (buscando desde el final, a partir de una posición opcional)
valueOf( objeto )Devuelve un String que es la representación como texto del objeto que se le indique (número, boolean, etc.)
concat(String cadena)Devuelve la cadena con otra añadida a su final (concatenada) También se pueden concatenar cadenas con "+"
equals(String cadena)Mira si las dos cadenas son iguales (lo mismo que "= =")
equals-IgnoreCase( String cadena)Comprueba si dos cadenas son iguales, pero despreciando las diferencias entre mayúsculas y minúsculas
compareTo(String cadena2)Compara una cadena con la otra (devuelve 0 si son iguales, negativo si la cadena es "menor" que cadena2 y positivo si es "mayor").


Funciones Matemáticas Java:

En cuanto las funciones matemáticas en Java,las funciones vienen definidas en la clase Math.

Función matemática
 Significado
 Ejemplo de uso
 Resultado
 abs
 Valor absoluto
 int x = Math.abs(2.3);
 x = 2;
 atan
 Arcotangente
 double x = Math.atan(1);
 x = 0.78539816339744;
 sin
 Seno
 double x = Math.sin(0.5);
 x = 0.4794255386042;
 cos
 Coseno
 double x = Math.cos(0.5);
 x = 0.87758256189037;
 tan
 Tangente
 double x = Math.tan(0.5);
 x = 0.54630248984379;
 exp
 Exponenciación neperiana
 double x = Math.exp(1);
 x = 2.71828182845904;
 log
 Logaritmo neperiano
 double x = Math.log(2.7172);
 x = 0.99960193833500;
 pow
 Potencia
 double x = Math.pow(2.3);
 x = 8.0;
 round
 Redondeo
 double x = Math.round(2.5);
 x = 3;
random
 Número aleatorio
 double x = Math.ramdom();
 x = 0.20614522323378;
floorRedondeo al entero menordouble x = Math.floor(2.5);x = 2.0;
 ceil
Redondeo al entero mayor
double x = Math.ceil(2.5);
x = 3.0;



Estructuras selectivas:


if: cuando la sentencia de comparación sea verdadera se ejecute una acción.
if...else: if cuando la sentencia de comparación sea verdadera se ejecute una acción y de igual manera si la comparación no es correcta se le asigna una acción a else.


Estructuras interactivas:

También conocidas como bucles,las instrucciones iterativas tienen la misión de ejecutar las mismas instrucciones de código un numero de veces, determinado por una condición

While: este bucle evalúa la condición,si es cierta ejecutara las instrucciones de su interior,una vez ejecutadas regresara al comienzo y se repetirá el proceso de evaluar/ejecutar.Este proceso solo finalizara cuando en el la evaluación de como resultado false.
while (condición)
         {
          //Instrucciones a ejecutar
         }
for: En esta equivalencia veremos que nacionalización es empleada para dar un valor inicial a la variable que utilizaremos para ser evaluada después en la condición. La condición,que sera evaluada para comprobar si se detiene o no el blucle for,y la evaluación,empleada para indicar los incrementos que se realizaran sobre la variable.
for (inicialización;condición;evaluación){
          //instrucciones a ejecutar
         }
         

Para que sirven los filtros en Servlet?

Los filtros proporcionan un nuevo tipo de objeto denominado filtro que permite transformar una solicitud o modificar una respuesta.
Pueden encadenar filtros de modo que un grupo de filtros puedan actuar en la entrada y salida de un recurso o grupo de recursos especificado.

Resultado de imagen para filtros en servlets






























viernes, 10 de mayo de 2019

JavaScript

 Java Script

¿Que es JavaScript?


Es uno de los mas potentes e importantes lenguajes de programacion en la actualidad pro tres enfoques claros: es util,practico y esta disponible en cualquier navegador web.

JavaScript nace como  oun lenguaje sencillo destinado a añadir algunas caracteristicas interactivas a las paginas web.

Caracteristicas de Java Script

  • Es liviano.
  • Multiplataformas,ya que se puede utilizar en Windows,Linux o Mac .
  • Es imperatico y estructurado, mediante un conjunto de istrucciones indica al computador que tarea debe realizar.
  • Prototipado,debido a que usa prototipos en vez de clases para el uso de herencia.
  • Orientado a objetos y enventos.
  • Es interpretado,no se compila para poder ejecutarse.
  • Es interpretado por el navegador

Diferencia entre Java y JavaScript


Java:  
  • Es un lenguaje de progrmacion orientado a objetos.
  • compilador, para programar en Java necesitamos un Kit de desarrollo y compilador.
  • Java es un lenguaje de programacion fuertemente tipado, esto quere decir que al declarar una variable tendremos que indicar su tipo.
  • Java es mucho mas complejo pero mucho mas potente,robusto y seguro.

Java Script:
  • No orienta a objetos,esto quiere decir que podremos programar sin necesidad de crear clases.
  • compilador, JavaScript , este lenguaje no necesita que sus programas se compilen si no que estos se interpretan por pate del navegador cuando este see lee.
  • A diferenecia de java y su lenguaje tipado,javascript no tiene esas caracteristica, podemos meter en una variable la informacion que deseemos.
Formas de Incluir JavaScrip a una pagina html:
  1. La primera insertar JavaScript en HTML es directar.Utilizando la etiqueta <script> </script> que debe envolver todo el codigo JS que escribas.Se puede agregar el codigo JS: entre etiquetas <head> y entre etiquetas <body>. 
Ejemplo:

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>JAVASCRIPT IS USUALLY PLACED HERE</script>
<title>Time right now is: </title>
</head>
<body>
<script>JAVASCRIPT CAN ALSO GO HERE</script>
</body>
</html>

  1.  Agregar codigo JavaScirpt a un archivo separado: a veces insertar JavaScript en HTML directamente no parece ser la mejor opcion.Sore todo porque algunoss scripts de JS debe utilizarse en varias paginas, por lo tanto , es mejor mantener el codigo JavaScript en archivos separado.Es por esto quee la forma mas aceptable de incluir JavaScirpt en archivos externos
Ejemplo:

Hacemos referiencia al archivo JavaScript desde HTML asi:

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Time right now:</title>
</head>
<body>
</body>
<script src="js/myscript.js"></script>
</html>

El contenido del archivo myscirpt.js sera:

let d = new Date();
document.body.innerHTML = "<h1>Time right now is:  " + d.getHours() + ":" + d.getMinutes() 
+ ":" + d.getSeconds()</h1>"

Estructura basica de JavaScript:

ejemplo programa básico javascript

         

Como colocar comentarios en JavaScirpt?

lineal:
<script>
  // Este un comentario de una única línea
  alert("Escibiendo comentarios en javascript!"); //Aquí puedo poner una nota de lo que hace esta línea
  // alert("Esto no se ejecuta");
</script>
 multilineal:
<script>
    alert("Escribiendo comentarios multi-línea en javascript");
    /*
    alert("Esto no se ejecuta");
    alert("Esto no se ejecuta");
    alert("Esto no se ejecuta");
    alert("Esto no se ejecuta");
    alert("Y esto tampoco");
    Y este texto puede decir lo que yo quiera
    para acordarme de algo
    */
</script>

Tipos de datos en JavaScript:


  • Boolean: solo puede poner valores true o false
  • Null: inexisten o invalido objeto o direccion 
  • Undefined: se le asigna a variable que solo han sido declarados o a los argumentos formales para los cuales no exite argumento
  • Number: todo tipo de numeros (Integers, Floats, Doubles, or Bignums.)
  • String: secuencia de caracteres utilizados pare representar el texto.
  • Symbol(nuevo en ECMAScirpt 6)
  • Object : se refiere a una estructura de datasos que contiene datos e instrucciones para trabajar con lo datos. Algunas veces los Objects se refieren a cosa del mundo real,por ejemplo, un object de un carro o mapa en una juego de carreras.                                                                           
Variable:
Todas las variables de JavaSript se crean de la misma forma(median la palabra reservaada var)
Los tipos de datos basicos de JavaScript son los numeros,com 3 0 12.57; las cadenas,como "Hola Mundo"; los valores booleanos,cuyo valor puede ser true o false; el valor especial null y el valor especial undefined,que indica que no se asigno ningun valor para la variable.



 quiere incluir...Se debe incluir...
Una nueva línea\n
Un tabulador\t
Una comilla simple\'
Una comilla doble\"
Una barra inclinada                                                \\

Constantes :

La idea de usar constantes es indicar a otras personas que cierto componente,funcion o variable no va a cambiar su referencia.
Ejemplo:

El siguiente ejemplo prouduce unas salidad "a es 7"

const a = 7;
document.writeln("a es " + a + ".");

 Identificadores:


Un identificador es un conjunto de caraceres alfaumericos de cualquier longitud que sirve para indentificar las entidades del programa(clase,funciones,varables, tipos compuestos).Los identificadores pueden ser combinados de letrea u numeros.

Palabras reservadas en JavaScript


Resultado de imagen para palabras reservadas de javascript y su definicion

JavaScript Operadors y Expresiones

Operadores:

JavaScript tiene los siguientes tipos de operadores:

  • Operadores de asignacion:

Nombre Operador abreviadoSignificado
Operadores de asignaciónx = yx = y
Asignación de adiciónx += yx = x + y
Asignación de sustracciónx -= yx = x - y
Asignación de multiplicaciónx *= yx = x * y
Asignación de divisiónx /= yx = x / y
Asignación de restox %= yx = x % y
Asignación de exponenciaciónx **= yx = x ** y
Asignación de desplazamiento a la izquierdax <<= yx = x << y
Asignación de desplazamiento a la derechax >>= yx = x >> y
Asignación de desplazamiento a la derecha sin signox >>>= yx = x >>> y
Asignación AND binariax &= yx = x & y
Asignación XOR binariax ^= yx = x ^ y
Asignación OR binariax |= yx = x | y

  • Operadorese de comparacion:

OperadorDescripciónEjemplos devolviendo true
Igualdad (==)Devuelve true si ambos operandos son iguales.3 == var1
"3" == var1
3 == "3"
Desigualdad(!=)Devuelve true si ambos operandos no son iguales.var1 != 4
var2 != "3"
Estrictamente iguales (===)
Devuelve true si los operandos son igual y tienen el mismo tipo. Mira también Object.is y sameness in JS.
3 === var1
Estrictamente desiguales (!==)
Devuelve true si los operandos no son iguales y/o no son del mismo tipo.
var1 !== "3"
3 !== "3"
Mayor que (>)
Devuelve true si el operando de la izquierda es mayor que el operando de la derecha.
var2 > var1
"12" > 2
Mayor o igual que (>=)Devuelve true si el operando de la izquierda es mayor o igual que el operando de la derecha.var2 >= var1
var1 >= 3
Menor que (<)Devuelve true si el operando de la izquierda es menor que el operando de la derecha.var1 < var2
"2" < 12
Menor o igual que (<=)Devuelve true si el operando de la izquierda es menor o igual que el operando de la derecha.var1 <= var2
var2 <= 5

  • Operadores aritmeticos:

OperadorDescripciónEjemplo
Resto (%)
Operador binario correspondiente al módulo de una operación. Devuelve el resto de la división de dos operandos.
12 % 5 devuelve 2.
Incremento(++)
Operador unario. Incrementa en una unidad al operando. Si es usado antes del operando (++x) devuelve el valor del operando después de añadirle 1 y si se usa después del operando (x++) devuelve el valor de este antes de añadirle 1.
Si x es 3, entonces ++xestablece x a 4 y devuelve 4, mientras que x++ devuelve 3 y, solo después de devolver el valor, establece x a 4.
Decremento (--)
Operador unario. Resta una unidad al operando. Dependiendo de la posición con respecto al operando tiene el mismo comportamiento que el operador de incremento.
Si x es 3, entonces --xestablece x a 2 y devuelve 2, mientras que x-- devuelve 3 y, solo después de devolver el valor, establece x a 2.
Negación Unaria (-)
Operación unaria. Intenta convertir a número al operando y devuelve su forma negativa.
-"3" devuelve -3.
-true devuelve -1.
Unario positivo (+)Operación unaria. Intenta convertir a número al operando.+"3" devuelve 3.
+true devuelve 1.
Exponenciación(**Calcula la potencia de la base al valor del exponente. Es equivalente a baseexponente2 ** 3 devuelve 8.
10 ** -1 devuelve 0.1.

  • Operadores logicos:
OperadorUsoDescripción
AND Lógico (&&)expr1 && expr2
Devuelve expr1 si puede ser convertido a false de lo contrario devuelve expr2. Por lo tanto, cuando se usa con valores booleanos, && devuelve true si ambos operandos son true, en caso contrario devuelve false.
OR Lógico(||)expr1 || expr2
Devuelve expr1 si puede ser convertido a true de lo contrario devuelve expr2. Por lo tanto, cuando se usa con valores booleanos, || devuelve true si alguno de los operandos es true, o false si ambos son false.
NOT Lógico(!)!expr
Devuelve false si su operando puede ser convertido a true, en caso contrario, devuelve true.
  • Operadores Bit a bit:
ExpresiónResultadoDescripción binaria
15 & 991111 & 1001 = 1001
15 | 9151111 | 1001 = 1111
15 ^ 961111 ^ 1001 = 0110
~15-16~00000000...00001111 = 11111111...11110000
~9-10~00000000...00001001 = 11111111...11110110
  • Operadores de cadena de caractes:
var mistring = "alfa";
mistring += "beto"; // devuelve "alfabeto" y asigna este valor a "mistring".
  • Operador condicional(ternario):
El operador condicional es el uncio operador de JavaScirpt que enecesita tres operados.El operador asignado uno de dos valores basado en una condicion .La sintaxis es:
 condición ? valor1 : valor2

Ejemplo
var estado = (edad >= 18) ? "adulto" : "menor";
  • Operador coma:
EL operaddor coma(,) simplemente evalua ambos operandos y tertona el balor del ultimo.Este eoperadodr es ante todk utilizado dentro de un ciclo for
  • Operadores unarios:
Un operacion unaria es una operacion que solo necesita un operando
  • Operadores relacionales:
Un operador relacional compara sus operandos y retorna un valor booleano basado en si la comparacion es verdadera. 

Estructura de Control de Errores y manejo de Errores Java

Las estructuras de control en JavaScript y en la mayoria de los lenguajes de programacion se utilozan en para definir el flujo de instrucciones que se van ejecutando.Si no fuera por las estructuras de control lo unico que podriamos hacer es ejecutar una instruccion tras otra y no tendrinamos forma de aplicar unas funciones u otras segun las condiciones que nosostros queramos establecer.

Tipos de contro de control en JavaScript:
  • Estructuras condicionales: este tipo de estructuras de control tiene ocmo objetivo realizar una bifurcacion del flujo de instrucciones.Por ejemplo cuando colocamos una condicion, y pedimos que si cumple con esa condicion haga algo dereminado y si no cumple que haga otra cosa ya determinada.
  • Estructuras de repeticion: este tipo de estructuras de control tambien conocidas como bucles se utilizan para realizar de forma repetida varas acciones.
  • Estructuras de control de errores: estas estructuras son clave en el mundo de la seguridad informatica.Son aquellas que permiten controlar los errores que el usuario fina comete de forma fortuita o intencionada y poder seguir trabajando de forma normal.

Estructuras Selectivas:

Estas estructuras son las que comúnmente son conocidas como Los Si,su función es validar objetos del software como por ejemplo que en una caja de texto solo puede ingresar números;También sirven para controlar acciones del software de modo que se pueda colocar a hacer algo al programa cuando pase esa acción.

Existen 4 tipos de c condicionales, Estas son:
Simples
Compuestos
Anidados
Horizontales


Estructuras Interactivas:

Estas estructuras son comúnmente llamadas como ciclos y se caracterizan porquw hacen una misma acción varias veces, Hay dos tipos y estas son:
For
While

Excepciones con Throw:

La forma mas sencilla para lanzar errores es sutilizando throw. Este comando permite enviar al navegador  un evento similar al que se produce cuando ocurre algun imprevisto o nos encontramos anteun  tipo inesperado de datos.El lenguaje permite enviar todo tipo de elementos,incluyendo texto,numeros,valores booleanos o incluso objetos.Sin embargo.la opciona mas usual es enviar el objetos nativo Error.

throw new Error( "Something bad happened." );

Un ejemplo tipico de uso es insetarlo como condicional ejemplo:

function mySum(){
  var result = 0,
  l = arguments.length;
  if( l > 10 ) throw console.error( 'Too much arguments!' );
    for( var x = 0; x < l; x++ ){
    result += arguments[x];
  }
  return result;
}
 
console.log( mySum( 3, 4, 34, 5, 7, 8, 1, 32 ) );  // 94
console.log( mySum( 3, 4, 34, 5, 7, 8, 1, 32, 3, 5, 8 ) );  // Error: Too much arguments
// El resto del código, será ignorado tras lanzar la excepción...
// ...
// ...

Exepcion con Try/Catch

Try Catch corresponde a un tipo de estructura de control JavaScript conla que comprobar el flujo de un programa frente a comportamientos inesperados.La diferencai ente esta estructura y la anterior es que mientras throw detiene  completamente la ejecucion,catch realiza una axxion determinada frente a los errores para proseguir despues conel flujo definido.

Este tipo de exepciones se estructuran mediante un bloque de codigo que evalua una condicion previa y propone en consecuencia una ejecucion predefinida y otra alternativa frente a anormalidades.La sintaxis es sencilla y actua como un condicional mas:

function checkPassword( my_string ){
  var msg = {};
  try {
    if( my_string.length < 6 ) throw 'SHORT';
    if( my_string.length > 10 ) throw 'LONG';
    msg.status = 'Pass Validated';
  } catch( err ) {
    if( err == 'SHORT' ) msg.status = 'Pass is too short';
    if( err == 'LONG' ) msg.status = 'Pass is too long';
  } finally {
    console.log( 'Password evaluated: ' + msg.status );
  }
}
 
checkPassword( '1234' ); // Password evaluated: Pass is too short
checkPassword( '12345678901' ); // Password evaluated: Pass is too long
checkPassword( '12345678' ); // Password evaluated: Pass Validated
 
console.log( 'The execution continues here... ' );

¿Que es una función en JavaScript?

Una función de JavaScript se un bloque de código diseñado para realizar una tarea en particular.

Una función de JavaScript se ejecuta cuando "algo" lo invoca(lo llama).
La forma mas común de definir una función es usando la palabra reservada "function" seguido de un único nombre de función, y de los parámetros deseados (puede ser sin parámetros), y un bloque de instrucciones dentro de llaves.

¿Cuales son las partes de una función?

function nombre_funcion(parametros){

  instrucciones;
}
Ejemplo:
function sumar(){

   var num1 = 5;
   var num2 = 8;
  suma = num1 + num2;
  alert("La suma es: "+suma);
}

Tipos de funciones en JavaScript:

Funciones Simples



¿Que es un parámetro?

El nombre de un argumento que se pasa a la función. Una función puede tener hasta 255 argumentos.
Los argumentos de una función se enumeran dentro de los paréntesis() en la definición de la función.

Funciones Predeterminadas en JavaScript:

JavaScript cuenta con una serie de funciones predefinidas.Estas funciones realizan una serie de tareas complejas,como por ejemplo la presentación de cuadros de dialogo en pantalla,adición de texto y especificaciones HTML a un documento,cálculos matemáticos ect.
Su formato general es función(parámetros).

Las funciones predefinidas suelen aplicarse a un objeto.Se indica asi:

objeto.funcion()

por ejemplo:

document.write()
documento es un objeto y write una función.
Algunas funciones actuan sobre objetos especiales : por ejemplo, las funciones matemáticas actúan sobre el objeto Math.
Una función asociada a un objeto se denomina método.
Hay funciones predeterminadas que no usan ningún argumento,como por ejemplo close(); otras usan uno,como alert(argumento), y otras usan dos,como es el caso de prompt(argumento_1,argumento_2).

Función PROMPT():
La función prompt() usa dos argumentos: con el primero se formular una pregunta y con el segundo se sugiere una respuesta por defecto. 

Función CONFIRM():
La función confirm() usa un argumento que se traduce en un enunciado.Este argumento solo puede ser un literal, pero tambien puede venir dado por una variable.La función preseta el enunciado acompañado de dos botones,uno de confirmación y otro de desconformidad.

Funcion ALERT()

Presenta una ventana pequeña con el mensaje indicado y un boton de conformidad.El mensaje pude se dato por un literal o una varialbe.
alert(mensaje)



Funciones Anidadas:

Es cuando puedes usar funciones dentro de otras




  • eval: tiene como argumento una expresión y devuelve el valor de la misma.
  • escape y unescape: estas funciones permiten codificar cadenas de caracteres en formato URL. Esta codificación es necesaria en la creación automática de enlaces de hipertexto o en la definición de propiedades persistentes como los cookies.
  • parseFloat: convierte un string a un numero en punto flotante.Si se encuentra otros caractes que no sean numeros, el signo +, el - o un exponente,devuelve el valor encontrado hasta ese punto.
  • isNaN: comprueba si el valor pasado por parametros es numerico o no.El resultado de esta función es un booleano.Es decir,evalua un argumento para ver si es NaN:Not Number
  • parseInt: convierte una cadena de caracteres de entrada a un numero entero con una base especifica

Servicios Web

Servicios Web: W3C: lo define como un sistema de software, diseñado para soportar la interacción entre dos o mas maquinas a través de una...