PROGRAMACIÓN

WSDL

WSDL, las siglas de Web Services Description Language, es un formato del Extensible Markup Language (XML) que se utiliza para describir servicios web (WS). La versión 1.0 fue la primera recomendación por parte del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se convirtió en la recomendación actual por parte de dicha entidad.

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.

Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.

El WSDL nos permite tener una descripción de un servicio web. Especifica la interfaz abstracta a través de la cual un cliente puede acceder al servicio y los detalles de cómo se debe utilizar.

ESTRUCTURA DEL WSDL

La estructura del WSDL tiene los siguientes elementos:

Tipos de datos

<types>: Esta sección define los tipos de datos usados en los mensajes. Se utilizan los tipos definidos en la especificación de esquemas XML.

Mensajes

<message>: Aquí definimos los elementos de mensaje. Cada mensaje puede consistir en una serie de partes lógicas. Las partes pueden ser de cualquiera de los tipos definidos en la sección anterior.

Tipos de puerto

<portType>: Con este apartado definimos las operaciones permitidas y los mensajes intercambiados en el Servicio.

Bindings

<binding>: Especificamos los protocolos de comunicación usados.

Servicios

<service>: Conjunto de puertos y dirección de los mismos. Esta parte final hace referencia a lo aportado por las secciones anteriores.

Con estos elementos no sabemos qué hace un servicio pero sí disponemos de la información necesaria para interactuar con él (funciones, mensajes de entrada/salida, protocolos…)

Anuncios
PROGRAMACIÓN, WEB

XHTML

XHTML (eXtensible HyperText Markup Language), es básicamente HTML expresado como XML válido. Es más estricto a nivel técnico, pero esto permite que posteriormente sea más fácil al hacer cambios o buscar errores entre otros. En su versión 1.0, XHTML es solamente la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén claramente separadas. La versión 1.1 es similar, pero parte a la especificación en módulos. En sucesivas versiones la W3C planea romper con los tags clásicos traídos de HTML.

Las principales ventajas del XHTML sobre el HTML son:

  • Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
  • Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.
  • Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.).
PROGRAMACIÓN

COMANDOS BÁSICOS DE GIT

git config

Uno de los comandos más usados en git es git config, que puede ser usado para establecer una configuración específica de usuario, como sería el caso del email, un algoritmo preferido para diff, nombre de usuario y tipo de formato, etc. Por ejemplo, el siguiente comando se usa para establecer un email:

git config --global user.email sam@google.com

git init

Este comando se usa para crear un nuevo repertorio GIT.

git add

Este comando puede ser usado para agregar archivos al index. Por ejemplo, el siguiente comando agrega un nombre de archivo temp.txt en el directorio local del index:

git add temp.txt

git clone

Este comando se usa con el propósito de revisar repertorios. Si el repertorio está en un servidor remoto se tiene que usar el siguiente comando:

git clone alex@93.188.160.58:/path/to/repository

Pero si estás por crear una copia local funcional del repertorio, usa el comando:

git clone /path/to/repository

git commit

El comando commit es usado para cambiar a la cabecera. Ten en cuenta que cualquier cambio comprometido no afectara al repertorio remoto. Usa el comando:

git commit –m “mensaje”

git status

Este comando muestra la lista de los archivos que se han cambiado junto con los archivos que están por ser añadidos o comprometidos.

git push

Este es uno de los comandos más básicos. Un simple push envía los cambios que se han hecho en la rama principal de los repertorios remotos que están asociados con el directorio que está trabajando. Por ejemplo:

git push  origin master

git checkout

El comando checkout se puede usar para crear ramas o cambiar entre ellas. Por ejemplo, el siguiente comando crea una nueva y se cambia a ella:

command git checkout -b <banch-name>

Para cambiar de una rama a otra solo usa:

git checkout <branch-name>

git remote

El comando git se usa para conectar a un repositorio remoto. El siguiente comando muestra los repositorios remotos que están configurados actualmente:

git remote -v

Este comando te permite conectar al usuario con el repositorio local a un servidor remoto:

git remote add origin <93.188.160.58>

git branch

Este comando se usa para listar, crear o borrar ramas. Para listar todas las ramas se usa:

git branch

para borrar la rama:

git branch -d <branch-name>

git pull

Para poder fusionar todos los cambios que se han hecho en el repositorio local trabajando.

git merge

Este comando se usa para fusionar una rama con otra rama activa:

git merge <branch-name>

git diff

Este comando se usa para hacer una lista de conflictos. Para poder ver conflictos con el archivo base usa:

git diff --base <file-name>

El siguiente comando se usa para ver los conflictos que hay entre ramas que están por ser fusionadas para poder fusionarlas sin problemas:

git diff <source-branch> <target-branch>

Para solo ver una lista de todos los conflictos presentes usa:

git diff

git tag

Etiquetar se usa para marcar commits específicos con asas simples. Por ejemplo:

git tag 1.1.0 <instert-commitID-here>

git log

Ejecutar este comando muestra una lista de commits en una rama junto con todos los detalles. Por ejemplo:

commit 15f4b6c44b3c8344caasdac9e4be13246e21sadw
Author: Alex Hunter <alexh@gmail.com>
Date:   Mon Oct 1 12:56:29 2016 -0600

git reset

Para resetear el index y el directorio que está trabajando al último estado comprometido se usa este comando:

git reset - -hard HEAD

git rm

Este comando se puede usar para remover archivos del index y del directorio que está trabajando:

git rm filename.txt

git stash

Este es uno de los comandos menos conocidos, pero ayuda a salvar cambios que no están por ser comprometidos inmediatamente, pero temporalmente.

git show

Se usa para mostrar información sobre cualquier objeto git.

git fetch

Este comando le permite al usuario buscar todos los objetos de un repositorio remoto que actualmente no reside en el directorio local que está trabajando. Por ejemplo:

git fetch origin

git ls-tree

Para ver un objeto de árbol junto con el nombre y modo de cada uno de ellos, y el valor blob´s SHA-1, se usa:

git ls-tree HEAD

git cat-file

Usando el valor SHA-1, se puede ver el tipo de objeto usando este comando. Por ejemplo:

git cat-file –p d670460b4b4aece5915caf5c68d12f560a9fe3e4

git grep

Este comando le permite al usuario buscar en los árboles de contenido cualquier frase o palabra. Por ejemplo, para buscar por http://www.tupaginaweb.com en todos los archivos se usaría:

git grep “www.tupaginaweb.com”

gitk

Este es la interfaz gráfica para un repositorio local que puede invocar.

git instaweb

Con este comando un servidor web puede correr interconectado con el repositorio local. Un navegador web también está automáticamente dirigido a el:

git instaweb –http=webrick

git gc

Para optimizar el repositorio por medio de una recolección de basura, que limpiara archivos innecesarios y los optimizara.

git archive

Este comando le permite al usuario crear archivos zip o tar que contengan los constituyentes de un solo árbol de repositorio:

git archive – -format=tar master

git prune

Con este comando los objetos que no tengan ningún puntero entrante serán eliminados.

git fsck

Para poder hacer un chequeo de integridad del sistema de archivos git, usa este comando. Cualquier objeto corrompido será detectado.

git rebase

Este comando se usa para la re aplicación de los compromisos en otra rama. Por ejemplo:

git rebase master
PROGRAMACIÓN

SINTAXIS PARA COMENTAR EN HTML

Para comentar dentro del lenguaje de Html, tenemos que escribir los siguientes caracteres: <!–     –>

Dentro del espacio que se encuentra entre <!–  y  –> tendrá que ir todo lo que queramos que sea comentario. A parte, este tipo de comentario acepta comentarios multilinea.

Ejemplo:

<!--Comentario en html-->
<!-- Comentario
multilinea en html.-->
PROGRAMACIÓN

ETIQUETAS HTML 5.2

Etiqueta Descripción Atributos principales
html engloba todo el documento lang
head delimita el encabezado del documento
title título del documento (se muestra en la pestaña del navegador)
base / URI base para direcciones relativas href, target
link / enlace a otros archivos (hoja de estilo, etc.) href, rel, media, type, title
meta / metainformación sobre el documento name, content, charset
style hoja de estilo incluida en el documento type, title
body delimita el cuerpo del documento
article artículo
section sección
nav navegación
aside lateral
h1 a h6 encabezado (de nivel 1 a 6)
header cabecera
footer pie
address dirección (información sobre el autor)
p párrafo
hr / separador
div división
blockquote cita larga (que incluye varios párrafos) cite
pre texto preformateado
main principal
figure ilustración
figcaption pie de ilustración
br / salto de línea
wbr posible salto de línea
a hiperenlace href, target, download, rel, type
span contenedor de texto genérico
strong importante
em énfasis
sub subíndice
sup superíndice
abbr abreviatura title
b atención
cite obra
data datos value
dfn definición title
kbd teclado
i tecnicismo
mark resaltado añadido posteriormente, no en el original
q cita cite
s incorrecto
small comentario
time fecha y hora datetime
u sonido inarticulado
code código (de programa de ordenador)
samp salida (de programa de ordenador)
var variable (de programa de ordenador)
bdo dirección de escritura dir
bdi ignorar dirección de escritura dir
ins texto insertado cite, datetime
del texto borrado cite, datetime
picture imagen múltiple para diferentes resoluciones o densidades
img / imagen alt, src, usemap, ismap, width, height
iframe marco incrustado en el documento src, srcdoc, name, sandbox, width, height
embed src, type, width, height
object objeto data, type, width, height
param / parametro para <objeto> name, value
video src, poster, preload, autoplay, loop, muted, controls, width, height
audio src, preload, autoplay, loop, muted, controls
source origen de <img>, <audio> o <video> src, type
track kind, src, srclang, label, default
map mapa de imagen name
area / área en mapa de imagen alt, coords, href, hreflang, rel, shape, target, type
ol lista ordenada reversed, start, type
ul lista no ordenada
li elemento de lista (ordenada o no ordenada) value
dl lista de definición
dt término en lista de definición
dd definición en lista de definición
table tabla border
caption leyenda de tabla
colgroup grupo de columnas span
tbody cuerpo de tabla (grupo de filas)
thead cabecera de tabla (grupo de filas)
tfoot pie de tabla (grupo de filas)
tr fila
td celda colspan, rowspan, headers
th celda de cabecera colspan, rowspan, headers, scope, abbr
col columna span
form formulario accept-charset, action, autocomplete, enctype, method, target
label etiqueta de un control form, for
input / control (hay varios tipos) type (submit, reset, button, text …)
button botón name, type, value, form
select caja de lista name, multiple, size, …
datalist
optgroup grupo de opciones en una caja de lista label
option opción de caja de lista label, selected, value
textarea área de texto name, cols, rows, …
output cálculo name, for
progress barra de progreso value, max
meter indicador value, min, max, low, high, optimum
fieldset grupo de controles name, disabled
legend leyenda de grupo de controles
details desplegable
summary leyenda para <details>
dialog cuadro de diálogo de una aplicación
script script src, type, charset, async, defer
noscript contenido a mostrar en navegadores que no admiten <script>
template plantillas utilizables por scripts
canvas zona de dibujo utilizable por script width, height
ruby notación ruby
rb elemento de notación ruby (base)
rt elemento de notación ruby (texto)
rtc elemento de notación ruby (contenedor)
rp elemento de notación ruby (paréntesis)
!DOCTYPE tipo de documento (versión de html empleada)
<!– … –> comentario (sólo visible en el código fuente)
PROGRAMACIÓN, WEB

LENGUAJE DE MARCADO

Un lenguaje especializado basado en SGML es el que se emplea para redactar la versión digital del Oxford English Dictionary. Permite búsquedas sofisticadas, además de facilitar la conversión a HTML.

Un lenguaje de marcado o lenguaje de marcas es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación.

El lenguaje de marcas más extendido es el HTML (HyperText Markup Language, lenguaje de marcado de hipertexto), fundamento del World Wide Web (entramado de comunicación de alcance mundial).

Los lenguajes de marcado suelen confundirse con lenguajes de programación. Sin embargo, no son lo mismo, ya que el lenguaje de marcado no tiene funciones aritméticas o variables, como poseen los lenguajes de programación. Históricamente, el marcado se usaba y se usa en la industria editorial y de la comunicación, así como entre autores, editores e impresores.

CLASES DE LENGUAJES DE MARCADO

Se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. Por ejemplo, el HTML contiene etiquetas puramente procedimentales, como la B de bold (negrita), junto con otras puramente descriptivas (‘BLOCKQUOTE, el atributo HREF). El HTML también incluye el elemento PRE, que indica que el texto debe representarse tal y como está escrito.

Marcado de presentación

El marcado de presentación es aquel que indica el formato del texto. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información. El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo, resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados.

Marcado de procedimientos

El marcado de procedimientos está enfocado hacia la presentación del texto, sin embargo, también es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el código en el mismo orden en que aparece. Por ejemplo, para formatear un título, debe haber una serie de directivas inmediatamente antes del texto en cuestión, indicándole al software instrucciones tales como centrar, aumentar el tamaño de la fuente, o cambiar a negrita. Inmediatamente después del título deberá haber etiquetas inversas que reviertan estos efectos. En sistemas más avanzados se utilizan macros o pilas que facilitan el trabajo.

Marcado descriptivo

El marcado descriptivo o semántico utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en qué orden. Los lenguajes expresamente diseñados para generar marcado descriptivo son el SGML y el XML.

Una de las virtudes del marcado descriptivo es su flexibilidad: los fragmentos de texto se etiquetan tal como son, y no tal como deben aparecer. Estos fragmentos pueden utilizarse para más usos de los previstos inicialmente. Por ejemplo, los hiperenlaces fueron diseñados en un principio para que un usuario que lee el texto los pulse. Sin embargo, los buscadores los emplean para localizar nuevas páginas con información relacionada, o para evaluar la popularidad de determinado sitio web.