Programación Funcional Avanzada
|
|
|
- Lucía Piñeiro Escobar
- hace 10 años
- Vistas:
Transcripción
1 Programación Funcional Avanzada Procesamiento de Texto Estructurado Ernesto Hernández-Novich Universidad Simón Bolívar Copyright Hernández-Novich (USB) Programación Funcional Avanzada / 23
2 Procesar JSON La lingua franca de los servicios web Formato JSON para intercambio de datos Basado en texto simple. Estructura legible para el humano. Subconjunto propio de JavaScript para serialización. Objetos construidos como listas nombre/valor. Nombres cadenas alfanuméricas. Valores null, cadenas, números, booleanos, arreglos unidimensionales u objetos anidados. Siempre hace falta un reconocedor. Mejor que XML... Hernández-Novich (USB) Programación Funcional Avanzada / 23
3 JSON en Haskell Aprovechando el sistema de tipos Haskell incluye reconocedores y emisores de JSON como casi cualquier otro lenguaje. Data.Aeson altamente optimizada y fácil de usar. Data.Aeson.Encode.Pretty mostrar JSON bonito Hernández-Novich (USB) Programación Funcional Avanzada / 23
4 Una encuesta sobre pizza... de una aplicación web, de un startup, blah data Person = Person { firstname ::!Text, lastname ::!Text, age ::!Int, likespizza ::! Bool } deriving ( Show ) La aplicación manejará los datos internamente en este formato. Los desarrolladores del front-end necesitan JSON. Hernández-Novich (USB) Programación Funcional Avanzada / 23
5 El API fundamental Data.Aeson Codificar JSON hacia un ByteString encode :: ToJSON a = > a - > ByteString Decodificar entrada JSON desde un ByteString decode :: FromJSON a = > ByteString - > Maybe a Decodificador con descripción de errores eitherdecode :: FromJSON a = > ByteString - > Either String a Variantes estrictas en el resultado decode :: FromJSON a = > ByteString - > Maybe a eitherdecode :: FromJSON a = > ByteString - > Either String a Hernández-Novich (USB) Programación Funcional Avanzada / 23
6 JSON desde y hacia archivos Intercambio de datos local [ { " firstname " : " John ", " lastname " : " Doe ", " age " : 24, " likespizza " : true }... ] No tiene por qué estar indentado. Podría ser gigantesco lazy ByteString FTW! Nos encantaría terminar con [Person]. Hernández-Novich (USB) Programación Funcional Avanzada / 23
7 JSON desde archivos La magia de GHC {-# LANGUAGE OverloadedStrings, DeriveGeneric # -} import Data. Text import GHC. Generics data Person = Person { firstname ::!Text, lastname ::!Text, age :: Int, likespizza :: Bool } deriving ( Show, Generic ) instance FromJSON Person instance ToJSON Person ByteString, Text o String? OverLoadedStrings GHC genera instancias FromJSON y ToJSON automáticamente. Hernández-Novich (USB) Programación Funcional Avanzada / 23
8 JSON desde archivos Pruebas con valores inmutables > eitherdecode $ fromstring goodjson :: Either String [ Person ] Right [ Person { firstname = " John ",... }, Person { firstname = " Rose ",... }] > eitherdecode $ fromstring badjson :: Either String [ Person ] Left " when expecting a Bool, encountered Number instead " Decodificación requiere Text o ByteString por eso fromstring Resultado o error de sintaxis explicativo. Hernández-Novich (USB) Programación Funcional Avanzada / 23
9 JSON desde archivos Y desde el archivo? main = do d <- ( eitherdecode <$> B. readfile " pizza. json ") :: IO ( Either String [ Person ] case d of Left err - > putstrln err Right ps - > print ps En este caso es necesario anotar el tipo deseado en otros programas podría no hacer falta según contexto. Aprovechar Control.Applicative Hernández-Novich (USB) Programación Funcional Avanzada / 23
10 JSON hacia archivos Codificar datos Haskell en JSON import qualified Data. ByteString. Lazy as B import qualified Data. ByteString. Lazy. Char8 as B8 person = Person { firstname = " Ernesto ", lastname = "áhernndez - Novich ", age = 45, likespizza = True } > B8. putstrln $ encode person {" lastname ":"áhernndez - Novich "," age ":45, " firstname ":" Ernesto "," likespizza ": true } Tanto Person como [Person] son codificables. Emitir ByteSring con la codificación adecuada. Hernández-Novich (USB) Programación Funcional Avanzada / 23
11 Ay, pero que feo! A los programas sólo les importa la belleza interna import Data. Aeson. Encode. Pretty B8. putstrln $ encodepretty person { " age ": 45, " firstname ": " Ernesto ", " lastname ": "áhernndez - Novich ", " likespizza ": true } Indentado y en orden alfabético. encodepretty es configurable indentación y orden. Hernández-Novich (USB) Programación Funcional Avanzada / 23
12 Y si está en un servicio web? Can I haz download? import Network. HTTP. Conduit ( simplehttp ) getjson :: IO B. ByteString getjson = simplehttp " http :// localhost /~ emhn / pizza. json " main = do d <- ( eitherdecode <$ > getjson ) :: IO ( Either String [ Person ]... Conduit modela streams perezosos archivos, HTTP... Hernández-Novich (USB) Programación Funcional Avanzada / 23
13 Más flexibilidad Data.Aeson Instancias FromJSON y ToJSON para muchos tipos Haskell. > decode " [1,2,3] " :: Maybe [ Int ] Just [1,2,3] > decode " {\" foo \":1,\" bar \":2} " :: Maybe ( Map String Int ) Just ( fromlist [("bar ",2),(" foo ",1)]) Hernández-Novich (USB) Programación Funcional Avanzada / 23
14 La implantación Parsec y librerías especializadas Objeto JSON es mapa de claves a valores Data.HashMap type Object = HashMap Text Value Arreglo (lista) JSON es un vector de valores Data.Vector type Array = Vector Value Un valor JSON puede ser data Value = Object! Object Array! Array String! Text Number! Scientific Bool! Bool Null Reconocedor escrito con AttoParsec y Blaze Hernández-Novich (USB) Programación Funcional Avanzada / 23
15 Procesamiento de HTML Y si quiero procesar HTML? Porque razones HTML está definido de manera muy precisa en un DTD los que escriben HTML suelen ser imprecisos (por no decir piratas). Múltiples librerías para manipular HTML y analizar su estructura. discutiremos Text.HTML y Text.XML Emitir HTML/XML correcto es un problema diferente que atacaremos más adelante. Descarguemos HTML para procesarlo... Hernández-Novich (USB) Programación Funcional Avanzada / 23
16 Procesamiento de HTML Conduit otra vez Es realmente práctico import Network. HTTP. Conduit ( simplehttp ) import qualified Data. ByteString. Lazy. Char8 as L url = " http :// www. google. com / search?q =42 " main = L. putstrln. L. take 500 = < < simplehttp url simplehttp interfaz simple basada en URL Sigue redirecciones automáticamente. Entrega el cuerpo de la respuesta omite encabezados. Lanza una excepción para los errores. http control sobre petición, respuesta, encabezados... Obtenemos el HTML en un ByteString Hernández-Novich (USB) Programación Funcional Avanzada / 23
17 Procesamiento de HTML Qué hacer con el HTML? Nos interesan elementos específicos del documento Queremos determinar cuántos resultados tiene la consulta donde dice about... results Esta en un <div> identificado como resultstats Construir el DOM (árbol HTML) Text.HTML.DOM Recorrer el DOM para encontrar el nodo Text.XML.Cursos Si han usado XPath, esto será un paseo; si no, también será un paseo. Hernández-Novich (USB) Programación Funcional Avanzada / 23
18 Procesamiento de HTML De ByteString a DOM HTML Reconocedor, propiamente dicho import Text. HTML. DOM ( parselbs ) import Text. XML. Cursor ( Cursor, attributeis, content, element, fromdocument, child, ($//), (& ), (&//), (>=>)) cursorfor :: String - > IO Cursor cursorfor url = do page <- simplehttp url return $ fromdocument $ parselbs page parselbs de ByteString a DOM HTML (Document) fromdocument de Document a un Cursor que, es un zipper! Hernández-Novich (USB) Programación Funcional Avanzada / 23
19 Procesamiento de HTML Búsqueda en el DOM Operando sobre el zipper Cursor findnodes :: Cursor - > [ Cursor ] findnodes = element " div " >= > attributeis " id" " resultstatus " >= > child element seleccionar elementos con nombre específico. attributeis filtrar sólo aquellos con el atributo descrito. child quedarse con los hijos del nodo en contexto. >=> composición Kleisli para Monads (WAT?) (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c Basta pasar de Cursor a texto Hernández-Novich (USB) Programación Funcional Avanzada / 23
20 Procesamiento de HTML Extrayendo el contenido De múltiples cursores... import qualified Data. Text as T extractdata :: Cursor - > T. Text extractdata = T. concat. content content tomar los nodos del Cursor que tengan texto. Como podría haber más de uno, usamos concat. Falta mostrar los resultados (que podrían ser varios en algunos escenarios) Hernández-Novich (USB) Programación Funcional Avanzada / 23
21 Procesamiento de HTML Mostrando los resultados Combinar y convertir a String processdata :: [ Text ] -> IO () processdata = putstrln. T. unpack. T. concat concat combinar múltiples Text. unpack Convertir Text en String Resta expresar el flujo del traductor. Hernández-Novich (USB) Programación Funcional Avanzada / 23
22 Procesamiento de HTML El programa principal Flujo de datos main = do cursor <- cursorfor url processdata $ cursor $// findnodes $ extractdata ($//) tomar todos los nodos de un Cursor que cumplan con el criterio de búsqueda. ($ ) aplicar la función de extracción a todos los nodos de una lista. Infijos, de la misma precedencia, asociando a la izquierda. Hernández-Novich (USB) Programación Funcional Avanzada / 23
23 Bibliografía Quiero saber más... RFC-4627 The application/json Media Type for JSON Documentación de Data.Aeson Documentación de Text.HTML.Dom Documentación de Text.XML.Cursor Hernández-Novich (USB) Programación Funcional Avanzada / 23
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro
USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que
CLASS JAVASCRIPT CLASES? OBJETOS PREDEFINIDOS. WINDOW, OBJETO GLOBAL. NUMBER, MATH, DATE, REGEXP, ERROR. (CU01144E)
APRENDERAPROGRAMAR.COM CLASS JAVASCRIPT CLASES? OBJETOS PREDEFINIDOS. WINDOW, OBJETO GLOBAL. NUMBER, MATH, DATE, REGEXP, ERROR. (CU01144E) Sección: Cursos Categoría: Tutorial básico del programador web:
OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)
APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero
Transformación de documentos XML con
Transformación de documentos XML con X S L T Necesidad de las transformaciones XML se presenta como un estándar para transmitir datos a través de Internet. Ante la posibilidad de que distintos centros
INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS
CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Estructuras de Datos y Algoritmos. Árboles de Expresión
Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Definición de XQuery.
Definición de XQuery. Podemos definir XQuery con un símil en el que XQuery es a XML lo mismo que SQL es a las bases de datos relacionales. XQuery es un lenguaje de consulta diseñado para escribir consultas
Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy
Capítulo 3: XML Spy como editor de documentos XML 1. Objetivos del capítulo Este capítulo pretende servir como una introducción a las funciones de la aplicación XML Spy, incluida dentro del conjunto de
Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008
Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Contenidos 1. Propósito 3 2. Introducción 4 3. Listados personalizados 5 3.1. Ejemplos prácticos 7 3.2. Consideraciones adicionales
Tema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Figura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
Programación Web Avanzada: AJAX y Google Maps
Programación Web Avanzada: AJAX y Google Maps Universidad de Colima México Soporte de AJAX en PHP Sergio Luján Mora Departamento de Lenguajes y Sistemas Informáticos DLSI - Universidad de Alicante 1 Introducción
LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
1 OBJETOS, DOM, JSON
OBJETOS, DOM, JSON 1 2 Objetos http://www.w3schools.com/js/js_obj_intro.asp Se delimitan con llaves. Contienen propiedades. Las propiedades del objeto: pares nombre: valor, separados por comas. var alumno
Guía de migración a firma HMAC SHA256 Conexión por Redirección
Guía de migración a firma HMAC SHA256 Conexión por Versión: 1.7 Versión: 1.7 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0 06/10/2015 Versión inicial del documento
Tutorial Servicios Web
Tutorial Servicios Web 1. Servicios Web con REST Como ya hemos usado SOAP para WebService, podemos afirmar que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para
XML y XQuery. Qué es XML? Qué es XML? (II) Ejemplo de fichero XML. Cuerpo de un documento XML. Estructura de un documento XML
Qué es XML? XML y XQuery BDSI 2008/09 Rafael Caballero Conjunto de reglas para definir lenguajes de marcado específicos No se trata de un lenguaje, sino de un metalenguaje XML no es: HTML: : Lenguaje de
extensible Markup Language (XML)
extensible Markup Language (XML) 1. INTRODUCCIÓN Jennifer Pérez Benedí Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia C/Camino de Vera s/n E-46071 Valencia- España
Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento
Sistemas de Información 12/13 XML (extensible Mark-up Language)
12/13 XML (extensible Mark-up Language) Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza ([email protected]) " Guión Introducción Ejemplos Documentos vs apliaciones XML Espacios
Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Fundamentos de las tecnologías de la información
Fundamentos de las tecnologías de la información la guerra de los formatos Diego Martín 2016 1 Definiciones W3C HTML CSS XML Introducción histórica HTML vs XML JSON XML vs JSON DTDsy XML SCHEMAs Qué formato
Cómo gestionar menús en Drupal 7
Cómo gestionar menús en Drupal 7 Los menús en Drupal son unas herramientas muy poderosas porqué proporcionan maneras para que los visitantes de nuestro sitio puedan llegar a páginas específicas. Estos
Análisis de esquemas XML [1]
Análisis de esquemas XML [1] Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Resumen Un esquema XML describe la estructura de
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
BÚSQUEDA AVANZADA EN INTERNET
BÚSQUEDA AVANZADA EN INTERNET Contenidos Objetivos Ventajas y desventajas de Internet Motores de búsqueda Características y Tipos Criterios de evaluación de la información recuperada de Internet Reglas
Capítulo 6. Introducción a la POO
Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en
VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes
VAST: Manual de usuario Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes Índice general Índice general 2 1. Introducción 4 2. Representación intermedia del AST 5 2.1. Funcionamiento del VAST
Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.
Árboles Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof. Paula Echenique Una de las estructuras de datos más importantes
XML para FP : Introducción
Supongamos que tenemos una tienda de pinturas, en la cual, mediante un software nos vamos en cargar de almacenar (sin valernos de un gestor de base datos) la información referente a los pedidos que se
MICROSITIOS. Perfiles
MICROSITIOS Perfiles API para el consumo de servicios encargados de la creación, visualización, edición, eliminación y demás operaciones sobre los perfiles de usuarios de Metaportal. METAPORTAL 18/07/2014
Visualización y Transformaciones en XML
Visualización y Transformaciones en XML 106 Visualización Los archivos XLM pueden ser vistos prácticamente en cualquier browser 107 Visualización Los XML en los web browsers no se despliegan como páginas
Tema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Datos Estadísticos y el Lenguaje XML
Datos Estadísticos y el Lenguaje XML Como Mejorar el Intercambio de Datos Estadísticos y la Adecuación de los Ficheros para su Carga en Bases de Datos, a través del Lenguaje XML Jorge Rubio Navarro 1 José
XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML
XML Introducción XML(eXtensible Markup Language) es un lenguaje de etiquetas. Hay que tener en cuenta que no es un lenguaje de programación y como tal no ejecuta instrucciones, XML se creó para estructurar,
VISUAL BASIC Diseño de Formularios MDI y Menús - Proyectos Aplica
VISUAL BASIC Diseño de Formularios MDI y Menús - Proyectos Aplica Forrmul laarri ioss MDII Un formulario MDI (Multiple Document Interface) es un contenedor de otros formularios. La aplicación MDI contendrá
ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)
APRENDERAPROGRAMARCOM ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK EJEMPLOS DE USO Y EJERCICIOS RESUELTOS (CU00820B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero
Interacción y manejo de documentos XML.
Interacción y manejo de documentos XML. Como último miembro de la familia XML, nos planteamos la tecnología por la cual una aplicación externa, escrita en no importa que lenguaje de programación, puede
GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)
APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha
Objetivos y Temario CURSO PROGRAMACION JAVASCRIPT Y JQUERY
Objetivos y Temario CURSO PROGRAMACION JAVASCRIPT Y JQUERY OBJETIVOS JavaScript es un lenguaje de programación para interactuar con los navegadores, que proporciona a los sitios Web dinamismo e inmediatez.
Herramienta Solver. Activar Excel Solver
Herramienta Solver Introducción: Solver forma parte de una serie de comandos a veces denominados herramientas de análisis Y si. Con Solver, puede encontrar un valor óptimo (mínimo o máximo) para una fórmula
3.2 Operaciones aritmético-lógicas en Pascal
3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES
Tarea 1 Diseño Web en entorno cliente José Luis Comesaña
Actualmente tengo instalados en mi sistema los navegadores Mozilla Firefox, Opera, Safari, Google Chrome e Internet Explorer (éste último porque venía con el sistema, de lo contrario no lo habría instalado).
XML. Necesitamos un formato de datos: Posibles usos. Estandard Robusto Extensible
Motivación.- XML XML Necesitamos un formato de datos: Estandard Robusto Extensible Posibles usos Serialización de objetos Registros financieros Gráficos vectoriales RPC Etc. XML.- Ficheros Muchos programas
9. Objetos y clases. 9.1. Clases
Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java
4 ARQUITECTURA DE COMUNICACIONES
4 ARQUITECTURA DE COMUNICACIONES Las redes de computadoras son típicamente heterogéneas. Por ejemplo, la red interna de una universidad puede estar hecha de múltiples plataformas. Puede haber un servidor
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación
Tipos de variables, características generales y aspectos específicos de PHP de estos elementos básicos de la programación.
Tipos de variables, características generales y aspectos específicos de PHP de estos elementos básicos de la programación. En el manual de páginas dinámicas hemos introducido el concepto de variable. En
7. Definición de un estilo en función del contexto.
7. Definición de un estilo en función del contexto. Este otro recurso que provee las CSS es la definición de un estilo para una marca HTML siempre y cuando la misma esté contenida por otra marca determinada.
José Ramón Olalla. Crear un curso nuevo en Edmodo. Manuales jr2.0 - José Ramón Olalla Celma
José Ramón Olalla Cuando accedemos a https://www.edmodo.com, encontramos la zona de acceso para usuarios registrados o bien el registro, diferente para profesores (1) y para el estudiante (2) (que son
GENERACIÓN Y CONSTRUCCIÓN DE DOCUMENTOS XML
RUEDA TORRES DULCE CAROLINA 3CM2 GENERACIÓN Y CONSTRUCCIÓN DE DOCUMENTOS XML Java & XML DESARROLLO > Generating Sample En este ejercicio se genera un documento XML en base a las reglas establecidas en
Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS
Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin
Programación I: Funciones y módulos
Programación I: Funciones y módulos Esteban De La Fuente Rubio 2 de abril de 23 Índice. Funciones.. Definición y llamado de funciones............................................. 2.2. Parámetros por omisión..................................................
Informática I Notas del curso
EXCEL Objetivo: Identificar la funcionalidad general de Excel, sus herramientas y recursos Excel Objetivo Particular: Conocer los métodos básicos de trabajo de Excel, para el manejo de registros, datos
Base de datos en la Enseñanza. Open Office
1 Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 1: Introducción Instituto de Tecnologías Educativas 2011 Introducción Pero qué es una base de datos? Simplificando mucho, podemos
DISEÑO ORGANIZACIONAL. Diseño web avanzado con HTML5 y CSS5
DISEÑO ORGANIZACIONAL Diseño web avanzado con HTML5 y CSS5 PRESENTACIÓN Curso de diseño de páginas web en el que se estudian técnicas avanzadas y novedosas gracias a la aplicación de los estándares web
XSL. Introducción. Introducción. Introducción
Introducción XSL 1 XSL (extensible Stylesheet Language)» XSLT (XSL Transformations)» XSL-FO (XSL Formatting Objects) XSLT:» Documento XML que especifica reglas para transformar un documento XML en otro
Tutorial Ambiente de Trabajo en InfoStat
INTRODUCCIÓN A LA INTERFAZ DE INFOSTAT CON R R Project, más conocido como R, es un lenguaje de programación que ha sido desarrollado principalmente para análisis estadístico. Es un lenguaje libre que permite
Roberto Gómez Cárdenas [email protected] http://homepage.cem.itesm.mx/rogomez. Qué es DOM?
DOM y PHP Roberto Gómez Cárdenas [email protected] http://homepage.cem.itesm.mx/rogomez mx/rogomez Lámina 1 Qué es DOM? Document Object Model Especificación de W3C http://www.w3.org/dom/ w3 Mecanismo para
Luis Eduardo Barón Bienvenidos al Módulo N. 3 de Internet Para Emprendedores. Yo soy Luis Eduardo Barón. Álvaro Mendoza Y yo soy Álvaro Mendoza.
Bienvenidos al Módulo N. 3 de Internet Para Emprendedores. Yo soy Luis Eduardo Barón. Y yo soy. En el día de hoy tenemos un módulo que has estado esperando. Ya viste cómo puedes buscar tu mercado, cómo
CONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,
Un kilobyte (KB) son 1024 bytes, un Megabyte (MB) son 1024 KB, un Gigabyte son 1024 Mb
El Explorador de Windows es la herramienta básica en un Sistema Operativo porque con ella controlaremos toda la información que tenemos guardada en nuestro disco duro, disquete, CD, USB, etc. Terminología
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
La elección de Blogger como la plataforma o lugar donde
1. INTRODUCCIÓN La elección de Blogger como la plataforma o lugar donde alojar nuestro blog es adecuada si no deseamos complicarnos con la instalación de un servidor propio, con todo lo que ello conlleva:
DESCARGA E INSTALACIÓN DE LA DOCUMENTACIÓN PARA LAS CLASES DEL API DE JAVA. CONSULTAR EN LOCAL O EN INTERNET? (CU00910C)
APRENDERAPROGRAMAR.COM DESCARGA E INSTALACIÓN DE LA DOCUMENTACIÓN PARA LAS CLASES DEL API DE JAVA. CONSULTAR EN LOCAL O EN INTERNET? (CU00910C) Sección: Cursos Categoría: Lenguaje de programación Java
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect
Introducción a XML - Validación y Parseo Huibert Aalbers, Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast a través de
Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.
Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios
EJEMPLOS JSON ARCHIVO O FICHERO DATOS. CAMBIO FORMATO CONVERTIDOR ON LINE JSON A XML Y XML A JSON. MINIFICAR (CU01214F)
APRENDERAPROGRAMAR.COM EJEMPLOS JSON ARCHIVO O FICHERO DATOS. CAMBIO FORMATO CONVERTIDOR ON LINE JSON A XML Y XML A JSON. MINIFICAR (CU01214F) Sección: Cursos Categoría: Tutorial básico del programador
JavaScript como Orientación a Objetos
Gustavo Lacoste ([email protected]) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas
Capítulo 1 Documentos HTML5
Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs
ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)
aprenderaprogramar.com Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A) Sección: Cursos Categoría: Curso creación y administración web: Joomla
Se puede acceder a dicho módulo a través de la siguiente dirección URL: https://docs.wto.org/dol2fe/pages/fe_search/fe_s_s001.aspx
BÚSQUEDA GUÍA Con esta guía aprenderá a utilizar el módulo Búsqueda de Documentos en línea y sus funciones de búsqueda avanzada para encontrar documentos oficiales de la OMC. Se puede acceder a dicho módulo
WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.
WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario. Índice contenido. INTRODUCCIÓN... 1-2 1. ENTORNO DE TRABAJO... 1-2 2. EDICIÓN DE PROGRAMAS...
Centro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Programa por Clase. 8. CSS3 9. Ejercicio Práctico 10. Examen
Curso CSS Clase 5 Programa por Clase 1. Repaso HTML. Introducción. Reglas CSS internas. 2. Etiquetas básicas de CSS (tipografía, subrayado, etc.) 3. Archivos CSS externos. Colores. Imágenes. 4. Modelo
Formularios HTML. Elementos de Programación y Lógica
Formularios HTML Elementos de Programación y Lógica Formularios HTML es un lenguaje de marcado cuyo propósito principal consiste en estructurar los contenidos de los documentos y páginas web. Sin embargo,
BLOG: PUNTADA A PUNTADA
BLOG: PUNTADA A PUNTADA Google Analytics paso a paso (segunda parte) Seguimos con la guía de Google Analytics. En la primera parte de Google Analytics paso a paso vimos cómo instalarlo en tu web o blog
Plantilla de texto plano
Plantilla de texto plano Esta es la plantilla seleccionada por defecto al crear una nueva página. Título: Es el título que aparecerá identificando a la página, así como en la cabecera del documento en
Inside. Gestión de Expedientes y Documentos Electrónicos
Inside Gestión de Expedientes y Documentos Electrónicos Documento de Integración Sistemas Desarrollo Versión 1.0 Fecha de revisión 25/02/2013 Realizado por Sistemas Desarrollo Inside v_1.0 / 1 ÍNDICE 1
EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO
20 EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO UNOS POCOS PASOS HACE APENAS MENOS DE UN MES, LANCÉ UNA NUEVA VERSIÓN ESTABLE DE EUROPIO ENGINE: LA 3.2.5. ESTO ME MOTIVÓ A TERMINAR DOS COMPLEMENTOS
UML, ejemplo sencillo sobre Modelado de un Proyecto
UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso
*si tuvieron algún problema pueden verificar la documentación oficial Vamos a crear una BD llamada droid_login como lo muestra la siguiente imagen:
Parte web Para realizar la parte web utilicé como lenguaje en la parte de servidor PHP (Version 5.3.1), como Base de Datos MySQL y como servidor Web Apache. Vamos a simular la nube para realizar pruebas
LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas
LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas HTML, XHTML Y CSS K008 10 horas Obtener un conocimiento base sobre las tecnologías usadas en la creación de páginas web. Conocer la estructura y comandos básicos
Aplicaciones Lineales
Aplicaciones Lineales Ejercicio Dada la matriz A = 0 2 0 a) Escribir explícitamente la aplicación lineal f : 2 cuya matriz asociada con respecto a las bases canónicas es A. En primer lugar definimos las
TPV Virtual Santander Elavon: Guía de desarrollador- Almacenamiento seguro de tarjetas con definiciones XML. Versión: 1.1
TPV Virtual Santander Elavon: Guía de desarrollador- Almacenamiento seguro de tarjetas con definiciones XML Versión: 1.1 Índice 1 Acerca de esta guía 3 1.2 Destinatarios.4 1.3 Requisitos previos 4 1.4
Envío y recepción de SMS mediante GSM-CTRL en una Galaxia vía OPC
Envío y recepción de SMS mediante GSM-CTRL en una Galaxia vía OPC infoplc.net Descripción General GSM-CONTROL SMS Gateway es un programa Windows que puede utilizarse para el control remoto en automatización
