First Commit
Setup repo and website
This commit is contained in:
508
public/formacion/cursos/ApiWebDMVC.html
Normal file
508
public/formacion/cursos/ApiWebDMVC.html
Normal file
@@ -0,0 +1,508 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Web API con Delphi y DMVCFramework</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Web API con Delphi y DMVCFramework</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 490 € (IVA no incluido)
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Delphi Tokyo o superior, OOP y HTTP.<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
La disponibilidad de datos corporativos de forma remota no es una opción. Sus empleados necesitan acceso a información vital, incluso cuando no están en su puesto. En este curso, descubrirá lo simple (y poderoso) que es usar Delphi para escribir servicios RESTful / JSON usando DelphiMVCFramework. En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el framework apreciado en todo el mundo por su rapidez y sencillez. ¡El taller incluye el desarrollo real de un servidor RESTful completo y un cliente web javascript! ¡Este es el curso perfecto para aquellos que desean aprender a desarrollar web API con Delphi de forma rápida y sencilla!
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Introducción a DelphiMVCFramework</b></li>
|
||||
<li><b>¿Por qué DMVCFramework es el framework más popular en Github? ¿Qué lo hace único?</b></li>
|
||||
<li><b>Desarrollar web API con Delphi.</b></li>
|
||||
<li><b>Los controladores</b></li>
|
||||
<li><b>Las acciones</b></li>
|
||||
<li><b>Los filtros de acción</b></li>
|
||||
<li><b>Enrutamiento</b>
|
||||
<ul>
|
||||
<li>
|
||||
Parámetros mapeados de URL
|
||||
</li>
|
||||
<li>
|
||||
Parámetros fuertemente tipados
|
||||
</li>
|
||||
<li>
|
||||
Parámetros de cadena de consulta
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los atributos que hacen que DMVCFramework sea fácil de usar</b>
|
||||
<ul>
|
||||
<li>MVCPath. Soporte para expresiones regulares en MVCPath</li>
|
||||
<li>MVCHTTPMethod</li>
|
||||
<li>MVCProduces</li>
|
||||
<li>MVCConsumes</li>
|
||||
<li>MVCDoc</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Inyección de parámetros</b>
|
||||
<ul>
|
||||
<li>MVCFromBody</li>
|
||||
<li>MVCFromQueryString</li>
|
||||
<li>MVCFromHeader</li>
|
||||
<li>MVCFromCookie</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>¿Cómo preparar la respuesta para el cliente?</b>
|
||||
<ul>
|
||||
<li>JSON</li>
|
||||
<li>DataSet</li>
|
||||
<li>Binario</li>
|
||||
<li>Texto</li>
|
||||
<li>Stream</li>
|
||||
<li>HTML</li>
|
||||
<li>Personalizado</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Acciones funcionales</b></li>
|
||||
<li><b>Métodos de renderizado</b></li>
|
||||
<li><b>Diseñar una aplicación DMVCFramework</b></li>
|
||||
<li><b>Diseño de web API RESTful</b></li>
|
||||
<li><b>Notificaciones PUSH y eventos enviados por el servidor</b></li>
|
||||
<li><b>Middleware</b></li>
|
||||
<li><b>Autenticación básica</b></li>
|
||||
<li><b>Autenticación JWT</b>
|
||||
<ul>
|
||||
<li>Implementar la caducidad del token con el nuevo middleware TMVCJWTBlackListMiddleware</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Crear un mecanismo de autenticación y autorización personalizada.</b></li>
|
||||
<li><b>Server Side View</b>
|
||||
<ul>
|
||||
<li>¿Cuándo y cómo utilizar las vistas del lado del servidor?</li>
|
||||
<li>Introducción a TemplatePro (Sintaxis, Escenarios de uso, Integración con DMVCFramework)</li>
|
||||
<li>Desarrollo de aplicaciones y webs del lado del servidor con DMVCFramework y TemplatePro</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Integración con HTMX</b>
|
||||
<ul>
|
||||
<li>¿Qué es HTMX y por qué es un gran complemento para DMVCFramework?</li>
|
||||
<li>Desarrollo de aplicaciones web modernas sin (casi) usar javascript</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Analizar el rendimiento</b></li>
|
||||
<li><b>TMVCActiveRecord: ¡La programación orientada a objetos y lo relacional finalmente se llevan bien!</b>
|
||||
<ul>
|
||||
<li>Persistencia y mapeo</li>
|
||||
<li>CRUD</li>
|
||||
<li>Manejar fusiones complejas con TMVCActiveRecord.Merge y UOW</li>
|
||||
<li>Consultas con RQL</li>
|
||||
<li>Consultas complejas con SQL</li>
|
||||
<li>Gestionar las relaciones</li>
|
||||
<li>Simplifique el código transaccional con TransactionContext</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Inyección de dependencia con MVCInject</b>
|
||||
<ul>
|
||||
<li>Definir un servicio inyectable</li>
|
||||
<li>Inyectar servicios en controladores</li>
|
||||
<li>Inyectar servicios en otros servicios</li>
|
||||
<li>Buenas prácticas</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Sqids: qué son y cómo utilizarlos eficazmente en DMVCFramework</b>
|
||||
<ul>
|
||||
<li>El atributo MVCSerializeAsSqids</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Configuración automática con .env</b>
|
||||
<ul>
|
||||
<li>¿Cómo funciona .env?</li>
|
||||
<li>¿Qué ofrece DMVCFramework?</li>
|
||||
<li>Todas las configuraciones predeterminadas reconocidas por DMVCFramework</li>
|
||||
<li>¿Cómo utilizar .env en cualquier tipo de proyecto?</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Escenarios de uso: de micro a macro</b>
|
||||
<ul>
|
||||
<li>Servicios RESTful y/o JSON-RPC</li>
|
||||
<li>Utilice el atributo MVCJSONRPCAllowGET para permitir que los servicios JSON-RPC aprovechen el caché</li>
|
||||
<li>Comunicación 360°: desde mi máquina a Internet pasando por LAN</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Escribir un cliente WEB con javascript</b></li>
|
||||
<li><b>Escribir un cliente móvil con Delphi</b></li>
|
||||
<li><b>Convertir un servicio SOAP en un servicio RESTful</b></li>
|
||||
<li><b>Convertir un servicio SOAP en un servicio JSON-RPC</b></li>
|
||||
<li><b>Analizar el rendimiento con Profiler.Start</b></li>
|
||||
<li><b>Crear perfiles de porciones de código con Profiler.Trace</b></li>
|
||||
<li><b>Simplifique la deserialización de datos complejos y compuestos mediante el nuevo atributo MVCOwned</b></li>
|
||||
<li><b>Mejores prácticas para acelerar y optimizar el desarrollo con DMVCFramework</b></li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<a href="contact-us">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674</a>
|
||||
</address>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2024 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
555
public/formacion/cursos/CppBuilder1.html
Normal file
555
public/formacion/cursos/CppBuilder1.html
Normal file
@@ -0,0 +1,555 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>C ++ Builder 10.3 Rio Parte 1</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>C ++ Builder 10.3 Rio Parte 1</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="CppBuilder2.html">
|
||||
C ++ Builder 10.3 Rio Parte 2
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
El curso es apto para aquellos que inician con C++ Builder.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Un recorrido por C++ Builder</b>
|
||||
<ul>
|
||||
<li>
|
||||
Resumen de C++ Builder
|
||||
</li>
|
||||
<li>
|
||||
El entorno de C++ Builder
|
||||
</li>
|
||||
<li>
|
||||
Configuración del entorno
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Projects, Headers,CPP y Forms</b>
|
||||
<ul>
|
||||
<li>
|
||||
CPP y Forms
|
||||
</li>
|
||||
<li>
|
||||
Project Options
|
||||
</li>
|
||||
<li>
|
||||
Compiling and Linking
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Form Designer</b>
|
||||
<ul>
|
||||
<li>
|
||||
Overview
|
||||
</li>
|
||||
<li>
|
||||
Visual User Interface Design
|
||||
</li>
|
||||
<li>
|
||||
Configuring the Form Designer
|
||||
</li>
|
||||
<li>
|
||||
Naming Conventions
|
||||
</li>
|
||||
<li>
|
||||
Creating a Simple Form
|
||||
</li>
|
||||
<li>
|
||||
Using the Object Inspector to Set Properties
|
||||
</li>
|
||||
<li>
|
||||
Programming Events
|
||||
</li>
|
||||
<li>
|
||||
Running a Form
|
||||
</li>
|
||||
<li>
|
||||
Multi Device designer
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Muestra de componentes</b>
|
||||
<ul>
|
||||
<li>Overview</li>
|
||||
<li>Gestión de vistas</li>
|
||||
<li>Creación de una interfaz File System</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Menús</b>
|
||||
<ul>
|
||||
<li>Características comunes del menú</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>El lenguaje C++</b>
|
||||
<ul>
|
||||
<li>
|
||||
Overview
|
||||
</li>
|
||||
<li>
|
||||
Bases del lenguaje
|
||||
</li>
|
||||
<li>
|
||||
Elementos de control fundamentales
|
||||
</li>
|
||||
<li>
|
||||
Tipos de datos
|
||||
</li>
|
||||
<li>
|
||||
Estructuras de datos
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Estructura del programa y alcance</b>
|
||||
<ul>
|
||||
<li>
|
||||
Programa: estructura y sintaxis
|
||||
</li>
|
||||
<li>
|
||||
Unidad: estructura y sintaxis
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Programación Orientada a Objetos en C++</b>
|
||||
<ul>
|
||||
<li>
|
||||
Code Explorer y Class Completion
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>OOP avanzado</b>
|
||||
<ul>
|
||||
<li>Polimorfismo</li>
|
||||
<li>Herencia y herencia múltiple</li>
|
||||
<li>Método Overloading</li>
|
||||
<li>Objetos Typecasting</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Resumen de VCL</b>
|
||||
<ul>
|
||||
<li>Arquitectura VCL</li>
|
||||
<li>Componentes VCL</li>
|
||||
<li>Trabajando con Componentes</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Resumen de Firemonkey</b>
|
||||
<ul>
|
||||
<li>Arquitectura Firemonkey</li>
|
||||
<li>Componentes Firemonkey</li>
|
||||
<li>Firemonkey vs. VCL</li>
|
||||
<li>Trabajando con Componentes Firemonkey</li>
|
||||
<li>Escribiendo aplicaciones multiplataforma(Cross Plarform).</li>
|
||||
<li>Windows</li>
|
||||
<li>MacOSX</li>
|
||||
<li>iOS</li>
|
||||
<li>Animaciones y efectos</li>
|
||||
<li>FireUI</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>LiveBindings</b>
|
||||
<ul>
|
||||
<li>Introducción</li>
|
||||
<li>Usando LiveBindings en aplicaciones del mundo real</li>
|
||||
<li>Dominando LiveBindings en FireMonkey y VCL</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Usando el depurador(Debugger)</b>
|
||||
<ul>
|
||||
<li>Resumen</li>
|
||||
<li>Debugger Options</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Excepciones en C++</b>
|
||||
<ul>
|
||||
<li>Manejando errores en Run-time</li>
|
||||
<li>Exception Syntax</li>
|
||||
<li>Try…catch</li>
|
||||
<li>Excepciones definidas por el usuario</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Template y el ObjectRepository</b>
|
||||
<ul>
|
||||
<li>Creación de Templates</li>
|
||||
<li>Template Strategies</li>
|
||||
<li>Reglas generales de diseño de Templates</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
497
public/formacion/cursos/CppBuilder2.html
Normal file
497
public/formacion/cursos/CppBuilder2.html
Normal file
@@ -0,0 +1,497 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>C ++ Builder 10.3 Rio Parte 2</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>C ++ Builder 10.3 Rio Parte 2</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
El curso es apto para aquellos que inician con C++ Builder.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Programación dirigida por eventos</b>
|
||||
<ul>
|
||||
<li>
|
||||
La esencia de EDP
|
||||
</li>
|
||||
<li>
|
||||
La Orden de los Eventos
|
||||
</li>
|
||||
<li>
|
||||
Programming Event Handlers
|
||||
</li>
|
||||
<li>
|
||||
Opening Forms
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Tecnologías de acceso a datos</b>
|
||||
<ul>
|
||||
<li>
|
||||
Technologies Overview
|
||||
</li>
|
||||
<li>
|
||||
Elegir una tecnología de acceso a datos
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Creación de aplicaciones de base de datos</b>
|
||||
<ul>
|
||||
<li>
|
||||
Conexión a bases de datos en C ++ Builder
|
||||
</li>
|
||||
<li>
|
||||
Creación de una simple form de base de datos
|
||||
</li>
|
||||
<li>
|
||||
Agregando más controles Data-Aware
|
||||
</li>
|
||||
<li>
|
||||
Creando un Detail Form
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Usando Objetos TField</b>
|
||||
<ul>
|
||||
<li>Field Properties y el componente TField</li>
|
||||
<li>Formateando campos con Edit Masks</li>
|
||||
<li>Creación de campos calculados</li>
|
||||
<li>Campos de búsqueda</li>
|
||||
<li>validaciones</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>MenúUsando componentes FireDACs</b>
|
||||
<ul>
|
||||
<li>El componente TFDQuery</li>
|
||||
<li>Parámetros de TFDQuery</li>
|
||||
<li>La propiedad TFDQuery DataSource</li>
|
||||
<li>Edición de Registros</li>
|
||||
<li>Localizando registros en consultas</li>
|
||||
<li>El componente TFDQuery</li>
|
||||
<li>Open vs. ExecSQL</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Aspectos básicos de DataSnap</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Cuándo debe usarse DataSnap?
|
||||
</li>
|
||||
<li>
|
||||
Componentes DataSnap en la paleta de componentes
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Técnicas de interfaz de usuario I</b>
|
||||
<ul>
|
||||
<li>
|
||||
Técnicas de interfaz comunes
|
||||
</li>
|
||||
<li>
|
||||
Creación y liberación de forms
|
||||
</li>
|
||||
<li>
|
||||
Controlando los Cursores
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Técnicas de interfaz de usuario II</b></li>
|
||||
<li><b>Form Parenting</b></li>
|
||||
<li><b>Packages</b>
|
||||
<ul>
|
||||
<li>Utilizando Packages</li>
|
||||
<li>Creando un Package</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Threading</b>
|
||||
<ul>
|
||||
<li>Introduction</li>
|
||||
<li>Creación de Thread Objects</li>
|
||||
<li>Setting Thread Priorities</li>
|
||||
<li>Creación de Threads Anónimos</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Creación de componentes en Run-Time</b>
|
||||
<ul>
|
||||
<li>Cuando crear componentes en Run-Time</li>
|
||||
<li>Basing Components on Information Available Only at Run-time</li>
|
||||
<li>Case Study: Data-driven Component Instantiation</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Using the SVN Integration Overview</b>
|
||||
<ul>
|
||||
<li>Cómo interactúa C ++ Builder con SVN</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>C ++ Builder 10 características de Rio</b>
|
||||
<ul>
|
||||
<li>Refactoring</li>
|
||||
<li>Symbol Rename</li>
|
||||
<li>Método de extracción</li>
|
||||
<li>Declare Var</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
497
public/formacion/cursos/OOPDesignPattern.html
Normal file
497
public/formacion/cursos/OOPDesignPattern.html
Normal file
@@ -0,0 +1,497 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Aplicar realmente la OOP y el design pattern</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Aplicar realmente la OOP y el design pattern</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 3 días | <b>Precio</b>: 900 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>Conocimientos básicos de la OOP (herencia, polimorfismo, encapsulación).</li>
|
||||
<li>Buen conocimiento de Delphi o PHP o JAVA (comunicarse en el momento de la
|
||||
inscripción)</li>
|
||||
<li>Una PC para cada participante con una versión de Delphi instalada por encima de
|
||||
7, o un intérprete de PHP, o un entorno de desarrollo para Java 1.5 o superior</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
"Este curso cambia tu vida" - cit. un participante
|
||||
En este curso, apreciado por docenas de programadores en los últimos años, se abordan
|
||||
las fallas más obvias en el
|
||||
diseño "clásico" y las relativas soluciones ofrecidas por los principios SOLID y de
|
||||
design pattern.
|
||||
El curso incluye numerosos ejemplos y ejercicios.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<b>Introducción</b>
|
||||
<ul>
|
||||
<li>¿Qué hace que un sistema sea caro de gestionar?</li>
|
||||
<li>¿Alguna vez dijiste "mejor lo reescribimos en lugar de desperdiciar todo este
|
||||
tiempo"?</li>
|
||||
<li>Los Síntomas de un diseño "podrido"
|
||||
<ul>
|
||||
<li>Rigidez</li>
|
||||
<li>Fragilidad</li>
|
||||
<li>Inmovilidad</li>
|
||||
<li>Viscosidad</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Limitar las dependencias
|
||||
<ul>
|
||||
<li>Dependencias reales</li>
|
||||
<li>Dependencias artificiales</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Las técnicas para evitar botar trabajo (de los próximos años)
|
||||
<ul>
|
||||
<li>El sistema existente: ¡cómo salvar lo salvable!</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<b>Los principios de SOLID</b>
|
||||
<ul>
|
||||
<li>Single responsibility</li>
|
||||
<li>Open-closed</li>
|
||||
<li>Liskov substitution</li>
|
||||
<li>Interface segregation</li>
|
||||
<li>Dependency inversion</li>
|
||||
</ul>
|
||||
<b>Design Pattern GoF, el más utilizado</b>
|
||||
<ul>
|
||||
<li>¿Por qué los design pattern?
|
||||
<ul>
|
||||
<li>¿Quién lo necesitaba?</li>
|
||||
<li>¿Por qué han revolucionado el mundo del desarrollo de software?</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Para cada pattern se discutirán los siguientes puntos:
|
||||
<ul>
|
||||
<li>Propósito</li>
|
||||
<li>Motivación</li>
|
||||
<li>Aplicabilidad</li>
|
||||
<li>Colaboraciones entre pattern</li>
|
||||
<li>Consecuencias</li>
|
||||
<li>implementaciones</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Creacional
|
||||
<ul>
|
||||
<li>Abstract Factory</li>
|
||||
<li>Builder</li>
|
||||
<li>Factory Method</li>
|
||||
<li>Singleton</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Estructural
|
||||
<ul>
|
||||
<li>Adaptador</li>
|
||||
<li>Compuesto</li>
|
||||
<li>Adaptador</li>
|
||||
<li>Proxy (protección, remoto, virtual)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Comportamientos
|
||||
<ul>
|
||||
<li>Chain of responsibility</li>
|
||||
<li>Command</li>
|
||||
<li>Mediator</li>
|
||||
<li>Observer</li>
|
||||
<li>Strategy</li>
|
||||
<li>Template method</li>
|
||||
<li>State
|
||||
<ul>
|
||||
<li>Guiado por código</li>
|
||||
<li>Guiado por tabla de transiciones</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<b>Design Pattern Enterprise</b>
|
||||
<ul>
|
||||
<li>Pattern de base</li>
|
||||
<li>Pattern para la domain logic
|
||||
<ul>
|
||||
<li>Transaction Script</li>
|
||||
<li>Table Module
|
||||
<li>Domain Model
|
||||
</ul>
|
||||
</il>
|
||||
<li>Pattern para el acceso a la base de datos
|
||||
<ul>
|
||||
<li>Table Data Gateway</li>
|
||||
<li>Row Data Gateway</li>
|
||||
<li>Active Record</li>
|
||||
<li>Data Mapper</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
422
public/formacion/cursos/PHP.html
Normal file
422
public/formacion/cursos/PHP.html
Normal file
@@ -0,0 +1,422 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Desarrolla API con PHP</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Desarrolla API con PHP</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 días | <b>Precio</b>: 300 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
HTTP, Base de PHP<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="angular.html">
|
||||
Angular
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Independientemente de la plataforma, es necesario crear API para servir datos entre
|
||||
diferentes aplicaciones Client
|
||||
y los Endpoint. Se necesitan buenas API para los proyectos web y móviles, especialmente
|
||||
con enfoques mobile-first.
|
||||
Este curso de capacitación proporciona los conocimientos fundamentales necesarios para
|
||||
hacer posibles
|
||||
interacciones altamente interconectadas entre aplicaciones utilizando API RESTful.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Introducción a SlimFramework</b>
|
||||
<ul>
|
||||
<li>Routing</li>
|
||||
<li>Mapping de parametros</li>
|
||||
<li>Formato de solicitud/respuesta</li>
|
||||
<li>Acceso a datos utilizando PDO.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>JSON</b>
|
||||
<ul>
|
||||
<li>types</li>
|
||||
<li>objects</li>
|
||||
<li>arrays</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
0
public/formacion/cursos/UpdDelphiXE7.html
Normal file
0
public/formacion/cursos/UpdDelphiXE7.html
Normal file
453
public/formacion/cursos/angular.html
Normal file
453
public/formacion/cursos/angular.html
Normal file
@@ -0,0 +1,453 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Angular</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Angular</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 3 días | <b>Precio</b>: 900 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Javascript, OOP, conceptos básicos de HTML, conceptos básicos de CSS<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="dmvcFramework.html">
|
||||
DelphiMVCFramework
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="backendDelphi.html">
|
||||
BackEnd Delphi
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="PHP.html">
|
||||
BackEnd PHP
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Un curso intensivo de desarrollo de tres días con Angular y Typescript, para conocer
|
||||
todas las noticias y
|
||||
los potenciales del nuevo framework de Google. Es absolutamente recomendable tener una
|
||||
PC/notebook personal
|
||||
con usted para utilizarlo durante los ejercicios.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<i>Cada día se organiza con lecciones teóricas en la clasificación de los temas y
|
||||
ejercicios guiados diseñados
|
||||
específicamente, que tienen como objetivo de llevar a cada desarrollador hacia el
|
||||
dominio del instrumento.
|
||||
El curso está configurado de tal modo para ser una inmersión completa e intensiva
|
||||
de tres días de desarrollo con Angular
|
||||
y Typescript, para conocer todas las novedades y el potencial del nuevo framework
|
||||
de Google.
|
||||
</i>
|
||||
<ul>
|
||||
<li>Introducción a Angular</li>
|
||||
<li>Principales novedades introducidas y diferencias con la versión anterior.</li>
|
||||
<li>El lenguaje TypeScript</li>
|
||||
<li>Arquitectura de una aplicación angular.</li>
|
||||
<li>Programación reactiva</li>
|
||||
<li>Sintaxis de los templates</li>
|
||||
<li>Componentes</li>
|
||||
<li>Property binding</li>
|
||||
<li>Eventos</li>
|
||||
<li>Inyección de dependencia</li>
|
||||
<li>Directivas y Componentes</li>
|
||||
<li>Propiedades de entrada y salida</li>
|
||||
<li>Ciclo de vida de los componentes</li>
|
||||
<li>Providers</li>
|
||||
<li>Host</li>
|
||||
<li>ngIf, ngFor y ngSwitch</li>
|
||||
<li>Templates</li>
|
||||
<li>Estilos</li>
|
||||
<li>Servicios</li>
|
||||
<li>Forms y validación</li>
|
||||
<li>Pipes and built-in pipes</li>
|
||||
<li>Routing</li>
|
||||
<li>Navegación y parámetros</li>
|
||||
<li>Componentes anidados</li>
|
||||
<li>Async routes y HTTP</li>
|
||||
<li>Sistema de detección de cambios</li>
|
||||
<li>Web workers</li>
|
||||
<li>Server-side Rendering</li>
|
||||
<li>Migración de una aplicación de AngularJS a Angular</li>
|
||||
<ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
0
public/formacion/cursos/angularJS.html
Normal file
0
public/formacion/cursos/angularJS.html
Normal file
469
public/formacion/cursos/backendDelphi.html
Normal file
469
public/formacion/cursos/backendDelphi.html
Normal file
@@ -0,0 +1,469 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>BackEnd Delphi</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>BackEnd Delphi</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 días | <b>Precio</b>: 300 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Conocimiento de Delphi y el paradigma OOP.<br>
|
||||
Haber asistido a los cursos "Delphi Part 1" y "Delphi Part 2"<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="delphi1.html">
|
||||
Curso Delphi Parte 1
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="delphi2.html">
|
||||
Curso Delphi Parte 2
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="angular.html">
|
||||
Angular
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Aprenda a explotar la potencia del fantástico framework angular de Google para escribir
|
||||
Thin Clients Web para tus servicios RESTful Delphi.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Usar las librerías Delphi JSON</b>
|
||||
<ul>
|
||||
<li>
|
||||
JSON types
|
||||
</li>
|
||||
<li>
|
||||
JSON objects
|
||||
</li>
|
||||
<li>
|
||||
JSON arrays
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>WebBroker y DataSnap</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Qué es WebBroker?
|
||||
<ul>
|
||||
<li>
|
||||
Construir un servidor simple con WebBroker REST
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
¿Qué es DataSnap?
|
||||
<ul>
|
||||
<li>
|
||||
Construir un servidor simple con DataSnap REST
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
Explorar las alternativas
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>DelphiMVCFramework</b>
|
||||
<ul>
|
||||
<li>
|
||||
Controller
|
||||
</li>
|
||||
<li>
|
||||
Routing
|
||||
</li>
|
||||
<li>
|
||||
Render
|
||||
</li>
|
||||
<li>
|
||||
Filters
|
||||
</li>
|
||||
<li>
|
||||
eLua views
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
753
public/formacion/cursos/cursos.html
Normal file
753
public/formacion/cursos/cursos.html
Normal file
@@ -0,0 +1,753 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title id="title"></title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1 id="heading"></h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12" id="course">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
|
||||
target="_blank">
|
||||
Carrer de les Garrigues, 17</a>
|
||||
<br>46001 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
const courses = {
|
||||
elastic: {
|
||||
title: 'Curso ELK Stack (Elasticsearch, Logstash, Kibana)',
|
||||
duration: {
|
||||
days: '2',
|
||||
price: '900'
|
||||
},
|
||||
paragraphs: {
|
||||
Requisitos_previos: `Los estudiantes necesitarán una computadora portátil equipada con Linux o Windows
|
||||
7+,
|
||||
al
|
||||
menos 5 GB de espacio libre,
|
||||
la versión de Java 1.7u55 o más nueva y Google Chrome.`,
|
||||
Descripción: `Este curso proporciona una introducción al uso de la pila ELK (Elasticsearch,
|
||||
Logstash,
|
||||
Kibana) para leer,
|
||||
normalizar, procesar, indexar y mostrar datos y series temporales. Se presentarán
|
||||
los
|
||||
componentes fundamentales
|
||||
de la suite Elastic, con un enfoque práctico y ejercicios, analizando sus
|
||||
aplicaciones
|
||||
y
|
||||
examinando casos de uso reales
|
||||
que para cada componente ejemplifican su configuración y funcionalidad.
|
||||
Elasticsearch,
|
||||
el
|
||||
producto principal de la suite,
|
||||
es un motor de búsqueda profesional capaz de administrar Big Data de manera
|
||||
efectiva en
|
||||
cualquier aplicación / sitio web.
|
||||
Hoy en día parece ser el motor de búsqueda más difundido en el mundo. Elasticsearch
|
||||
soporta
|
||||
de forma nativa agrupaciones y
|
||||
arquitecturas distribuidas, proporcionando capacidades de búsqueda de texto
|
||||
completo
|
||||
con
|
||||
una interfaz REST,
|
||||
que es independiente del lenguaje de programación con el que se consume, utilizando
|
||||
JSON
|
||||
para la representación de
|
||||
datos y HTTP como protocolo de comunicación. Elasticsearch se puede utilizar para
|
||||
buscar
|
||||
cualquier tipo de documento
|
||||
y proporciona un sistema de búsqueda escalable, casi en tiempo real con soporte de
|
||||
multitenencia.
|
||||
Kibana es la herramienta de la suite que le permite navegar y ver los datos
|
||||
contenidos
|
||||
en
|
||||
los índices de Elasticsearch.
|
||||
Aprovechando las capacidades y la velocidad de búsqueda y agregación de datos
|
||||
ofrecidos
|
||||
por
|
||||
Elasticsearch, Kibana le
|
||||
permite crear gráficos y paneles para el análisis de Big Data de una manera
|
||||
sencilla e
|
||||
intuitiva.
|
||||
Logstash es el componente de pila que se ocupa de recuperar, filtrar, normalizar y
|
||||
enviar
|
||||
datos de fuentes heterogéneas
|
||||
a Elasticsearch. Su arquitectura de complementos le permite trabajar con diferentes
|
||||
fuentes
|
||||
de datos con un mínimo
|
||||
esfuerzo.`,
|
||||
Introducción: ` Descripción Elastic Stack (ELK)`,
|
||||
Elasticsearch: `¿Qué es y cuándo usarlo?<br>
|
||||
Terminología: Documentos, Índices, Fragmentos, Nodos, Clústeres;<br>
|
||||
Configuración e instalación;<br>
|
||||
Distribuir datos en múltiples nodos;<br>
|
||||
Backup.`,
|
||||
Logtash: `¿Qué es y cuándo usarlo?<br>
|
||||
Configuración<br>
|
||||
Input, filtro y output<br>
|
||||
Instalación y configuración<br>
|
||||
Backup y recu<br>
|
||||
Cómo importar automáticamente datos desde una base de datos relacional<br>
|
||||
Cómo importar datos desde un registro casi en tiempo real<br>
|
||||
Mejores practicas`,
|
||||
Kibana: `Ajustes de configuracion<br>
|
||||
Investigación y filtros<br>
|
||||
Las vistas Descubrir, Visualizar y Tablero<br>
|
||||
Instalación y configuración<br>
|
||||
Copia de seguridad y recuperación de datos<br>
|
||||
Integrar las vistas de Kibana en aplicaciones web y de escritorio<br>
|
||||
Best Practices<br>`,
|
||||
A_quien_se_dirige: `El curso está dirigido a desarrolladores y arquitectos de software que necesitan crear
|
||||
sistemas
|
||||
de
|
||||
búsqueda en tiempo real y soluciones de análisis, incluso de big data.`
|
||||
}
|
||||
},
|
||||
linuxDelphi: {
|
||||
title: 'Desarollo Linux con Delphi',
|
||||
duration: {
|
||||
days: '1',
|
||||
price: '399'
|
||||
},
|
||||
paragraphs: {
|
||||
Requisitos_previos: `Conocimiento de Delphi y HTTP`,
|
||||
Descripción: `Si desea desarrollar finalmente en el sistema operativo mas difundido en ambiente
|
||||
servidor,
|
||||
este curso es para usted. En este curso intensivo, analizaremos los fundamentos del
|
||||
sistema operativo Linux GNU
|
||||
necesario para el desarrollo nativo con Delphi. ¡Los servicios RESTful y servidores de
|
||||
todo tipo finalmente pueden
|
||||
ejecutarse en el sistema operativo del pinguino con la familiaridad y el rendimiento de
|
||||
Delphi!
|
||||
Nota: El curso se basa en la última versión de Ubuntu LTS. Necesitará tener una máquina
|
||||
virtual VirtualBox ejecutándose
|
||||
con la última versión de Ubuntu Desktop LTS.`,
|
||||
Contenido: `<ul>
|
||||
<li>Introducción a Linux</li>
|
||||
<li>La Shell de Linux</li>
|
||||
<li>Los comandos principales</li>
|
||||
<li>Administración basica</li>
|
||||
<li>Manejar los deamon</li>
|
||||
<li>Configurar Apache</li>
|
||||
<li>Instalar Firebird / MySQL</li>
|
||||
<li>Desarrollo Delphi</li>
|
||||
<li>Configuración del entorno</li>
|
||||
<li>El PAServer</li>
|
||||
<li>Crear servicios TCP / IP</li>
|
||||
<li>Utilizar webbroker</li>
|
||||
<li>Conocer DelphiMVCFramework para Linux</li>
|
||||
<li>Diseñe una API RESTful con DelphiMVCFramework para Linux</li>
|
||||
<li>Depuración de server como aplicaciones de consola.</li>
|
||||
<li>Crea un formulario apache.</li>
|
||||
<li>Estrategias para el deploy y actualización.</li>
|
||||
<li>Optimizar el rendimiento con REDIS</li>
|
||||
</ul>`
|
||||
}
|
||||
},
|
||||
delphi1: {
|
||||
title: 'Delphi 1',
|
||||
duration: {
|
||||
days: '2',
|
||||
price: '600'
|
||||
},
|
||||
paragraphs: {
|
||||
Cursos_relacionados: `<ul>
|
||||
<li>
|
||||
<a href="delphi2.html">
|
||||
Curso Delphi Parte 2
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="dmvcFramework.html">
|
||||
DelphiMVCFramework
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="backendDelphi.html">
|
||||
BackEnd Delphi
|
||||
</a>
|
||||
</li>
|
||||
</ul>`,
|
||||
Descripción: `Un curso clásico, uno de los más apreciados por los programadores de Delphi.
|
||||
No te pierdas la actualización a Delphi 10.3 Rio, una de las mejores versiones de la
|
||||
historia.`,
|
||||
Contenido: `<ul>
|
||||
<li><b>IDE</b>
|
||||
<ul>
|
||||
<li>
|
||||
Project Options
|
||||
</li>
|
||||
<li>
|
||||
Project Manager
|
||||
</li>
|
||||
<li>
|
||||
Project Configuration Manager
|
||||
</li>
|
||||
<li>
|
||||
IDE Insight
|
||||
</li>
|
||||
<li>
|
||||
Code Formatting
|
||||
</li>
|
||||
<li>
|
||||
Multi platform designer
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Regular Expressions</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Que cosa son?
|
||||
</li>
|
||||
<li>
|
||||
¿Cuándo usarlos?
|
||||
</li>
|
||||
<li>
|
||||
¿Como usarlos?
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>¿Qué es Unicode?</b>
|
||||
<ul>
|
||||
<li>
|
||||
El Standard Unicode
|
||||
</li>
|
||||
<li>
|
||||
Los tipos de cadenas Unicode.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los genéricos</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Qué son los genéricos?
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Uso
|
||||
</li>
|
||||
<li>
|
||||
Sintaxis
|
||||
</li>
|
||||
<li>
|
||||
Crear un tipo genérico
|
||||
</li>
|
||||
<li>
|
||||
Aplicabilidad
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Soporte en RTL
|
||||
</li>
|
||||
<li>
|
||||
Generics y Generics.Collections
|
||||
</li>
|
||||
<li>
|
||||
Reglas de compatibilidad entre tipos;
|
||||
</li>
|
||||
<li>
|
||||
Clases con los genéricos;
|
||||
</li>
|
||||
<li>
|
||||
Constraints
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Clase Costraints
|
||||
</li>
|
||||
<li>
|
||||
Interfaz Costraints
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Generic Containers
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
TList, Tqueue, TStack, TDictionary
|
||||
</li>
|
||||
<li>
|
||||
Contenedores y métodos anónimos.
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Interfaces genéricas
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Utilice TComparer, TEqualityComparer, etc.
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Métodos anónimos</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Qué son los métodos anónimos?
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Sintaxis y semantica
|
||||
</li>
|
||||
<li>
|
||||
Utilizar métodos anónimos como variables.
|
||||
</li>
|
||||
<li>
|
||||
Métodos anónimos como parametric.
|
||||
</li>
|
||||
<li>
|
||||
Métodos anónimos y variables locales (visibilidad y duración).
|
||||
</li>
|
||||
<li>
|
||||
Reference Types
|
||||
</li>
|
||||
<li>
|
||||
métodos anónimos y hilos(threads)
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Enumerator</b>
|
||||
<ul>
|
||||
<li>
|
||||
for-in loop
|
||||
</li>
|
||||
<li>
|
||||
Enumerators
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Sobrecarga del Operador por Registros</b>
|
||||
<ul>
|
||||
<li>
|
||||
Clase Helpers
|
||||
</li>
|
||||
<li>
|
||||
Record Helpers y Record Helpers para SimpleTypes
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Extended RTTI</b>
|
||||
<ul>
|
||||
<li>
|
||||
Unidad RTTI
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Inspecting types
|
||||
</li>
|
||||
<li>
|
||||
Clase TValue
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><b>Atributos</b>
|
||||
<ul>
|
||||
<li>
|
||||
Clase TCustomAttribute
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>`
|
||||
}
|
||||
},
|
||||
python: {
|
||||
title: 'python',
|
||||
duration: {
|
||||
days: '1',
|
||||
price: '300'
|
||||
},
|
||||
paragraphs: {
|
||||
Descripción: ``,
|
||||
Related_courses: ``,
|
||||
Contenido: ``
|
||||
}
|
||||
},
|
||||
pythonFlask: {
|
||||
title: '',
|
||||
duration: {
|
||||
days: '1',
|
||||
price: '400'
|
||||
},
|
||||
paragraphs: {
|
||||
ciao: 'sonoio',
|
||||
Descripcìon: `Independientemente de la plataforma, es necesario crear API para servir datos entre
|
||||
diferentes aplicaciones Client
|
||||
y los Endpoint. Se necesitan buenas API para los proyectos web y móviles, especialmente
|
||||
con enfoques como mobile-first.
|
||||
Este curso de capacitación proporciona los conocimientos fundamentales necesarios para
|
||||
hacer posibles interacciones
|
||||
altamente interconectadas entre las aplicaciones utilizando API RESTful.`
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
$(window).ready(() => {
|
||||
const url = window.location.href;
|
||||
const course = url.split('#')[1];
|
||||
document.getElementById('title').innerText = courses[course].title;
|
||||
document.getElementById('heading').innerText = courses[course].title;
|
||||
document.getElementById('course').innerHTML = `
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: ` + courses[course].duration.days + ' ' + (courses[course].duration.days > 1 ? 'días' : 'día') + ` | <b>Precio</b>: ` + courses[course].duration.price + ` €
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
Object.keys(courses[course].paragraphs).forEach((paragraph) => {
|
||||
paragraph_title = paragraph.replace(/_/g, ' ');
|
||||
document.getElementById('course').innerHTML += `
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
` + paragraph_title + `:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
` + courses[course].paragraphs[paragraph] + `
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
582
public/formacion/cursos/delphi1.html
Normal file
582
public/formacion/cursos/delphi1.html
Normal file
@@ -0,0 +1,582 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Delphi Parte 1</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Delphi Parte 1</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="delphi2.html">
|
||||
Curso Delphi Parte 2
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="dmvcFramework.html">
|
||||
DelphiMVCFramework
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="backendDelphi.html">
|
||||
BackEnd Delphi
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Un curso clásico, uno de los más apreciados por los programadores de Delphi.
|
||||
No te pierdas la actualización a Delphi 10.3 Rio, una de las mejores versiones de la
|
||||
historia.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>IDE</b>
|
||||
<ul>
|
||||
<li>
|
||||
Project Options
|
||||
</li>
|
||||
<li>
|
||||
Project Manager
|
||||
</li>
|
||||
<li>
|
||||
Project Configuration Manager
|
||||
</li>
|
||||
<li>
|
||||
IDE Insight
|
||||
</li>
|
||||
<li>
|
||||
Code Formatting
|
||||
</li>
|
||||
<li>
|
||||
Multi platform designer
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Regular Expressions</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Que cosa son?
|
||||
</li>
|
||||
<li>
|
||||
¿Cuándo usarlos?
|
||||
</li>
|
||||
<li>
|
||||
¿Como usarlos?
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>¿Qué es Unicode?</b>
|
||||
<ul>
|
||||
<li>
|
||||
El Standard Unicode
|
||||
</li>
|
||||
<li>
|
||||
Los tipos de cadenas Unicode.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los genéricos</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Qué son los genéricos?
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Uso
|
||||
</li>
|
||||
<li>
|
||||
Sintaxis
|
||||
</li>
|
||||
<li>
|
||||
Crear un tipo genérico
|
||||
</li>
|
||||
<li>
|
||||
Aplicabilidad
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Soporte en RTL
|
||||
</li>
|
||||
<li>
|
||||
Generics y Generics.Collections
|
||||
</li>
|
||||
<li>
|
||||
Reglas de compatibilidad entre tipos;
|
||||
</li>
|
||||
<li>
|
||||
Clases con los genéricos;
|
||||
</li>
|
||||
<li>
|
||||
Constraints
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Clase Costraints
|
||||
</li>
|
||||
<li>
|
||||
Interfaz Costraints
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Generic Containers
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
TList, Tqueue, TStack, TDictionary
|
||||
</li>
|
||||
<li>
|
||||
Contenedores y métodos anónimos.
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Interfaces genéricas
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Utilice TComparer, TEqualityComparer, etc.
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Métodos anónimos</b>
|
||||
<ul>
|
||||
<li>
|
||||
¿Qué son los métodos anónimos?
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Sintaxis y semantica
|
||||
</li>
|
||||
<li>
|
||||
Utilizar métodos anónimos como variables.
|
||||
</li>
|
||||
<li>
|
||||
Métodos anónimos como parametric.
|
||||
</li>
|
||||
<li>
|
||||
Métodos anónimos y variables locales (visibilidad y duración).
|
||||
</li>
|
||||
<li>
|
||||
Reference Types
|
||||
</li>
|
||||
<li>
|
||||
métodos anónimos y hilos(threads)
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Enumerator</b>
|
||||
<ul>
|
||||
<li>
|
||||
for-in loop
|
||||
</li>
|
||||
<li>
|
||||
Enumerators
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Sobrecarga del Operador por Registros</b>
|
||||
<ul>
|
||||
<li>
|
||||
Clase Helpers
|
||||
</li>
|
||||
<li>
|
||||
Record Helpers y Record Helpers para SimpleTypes
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Extended RTTI</b>
|
||||
<ul>
|
||||
<li>
|
||||
Unidad RTTI
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Inspecting types
|
||||
</li>
|
||||
<li>
|
||||
Clase TValue
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><b>Atributos</b>
|
||||
<ul>
|
||||
<li>
|
||||
Clase TCustomAttribute
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
530
public/formacion/cursos/delphi2.html
Normal file
530
public/formacion/cursos/delphi2.html
Normal file
@@ -0,0 +1,530 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Delphi Parte 2</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Delphi Parte 2</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Haber asistido al curso "Curso Delphi Parte 1"<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="dmvcFramework.html">
|
||||
DelphiMVCFramework
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="backendDelphi.html">
|
||||
BackEnd Delphi
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Un curso clásico, uno de los más apreciados por los programadores de Delphi. No te
|
||||
pierdas la actualización a Delphi 10.3 Rio,
|
||||
una de las mejores versiones de la historia.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Serialización</b>
|
||||
<ul>
|
||||
<li>
|
||||
Marshal y unmarshal de los tipos.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>JSON</b>
|
||||
<ul>
|
||||
<li>
|
||||
Uso del parser integrado
|
||||
</li>
|
||||
<li>
|
||||
Ejemplos prácticos de uso.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>DataSnap</b>
|
||||
<ul>
|
||||
<li>
|
||||
Desarrollo de servidores nativos y HTTP.
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
Aplicación de consola
|
||||
</li>
|
||||
<li>
|
||||
Servicio de Windows
|
||||
</li>
|
||||
<li>
|
||||
ISAPI DLL
|
||||
</li>
|
||||
<li>
|
||||
Módulo apache
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
Filtros
|
||||
</li>
|
||||
<li>
|
||||
Lightweight callbacks
|
||||
</li>
|
||||
<li>
|
||||
Heavyweight callbacks
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>DATASET y FireDAC</b>
|
||||
<ul>
|
||||
<li>
|
||||
Unicode client datasets
|
||||
</li>
|
||||
<li>
|
||||
Nuevos tipos de campos
|
||||
</li>
|
||||
<li>
|
||||
Virtual Datasets
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>THREADING y PARALLEL PROGRAMMING LIBRARY</b>
|
||||
<ul>
|
||||
<li>
|
||||
Sincronización y métodos anónimos.
|
||||
</li>
|
||||
<li>
|
||||
Depuración de hilos
|
||||
</li>
|
||||
<li>
|
||||
Visualizador de hilos
|
||||
</li>
|
||||
<li>
|
||||
Nombrar hilos
|
||||
</li>
|
||||
<li>
|
||||
Sincronización de hilos
|
||||
</li>
|
||||
<ul>
|
||||
<li>
|
||||
TCricalSections
|
||||
</li>
|
||||
<li>
|
||||
TEvent
|
||||
</li>
|
||||
<li>
|
||||
Mensajes de hilo
|
||||
</li>
|
||||
<li>
|
||||
TMonitor
|
||||
</li>
|
||||
<li>
|
||||
Congelación y lanzamiento de hilos.
|
||||
</li>
|
||||
<li>
|
||||
Hilos anónimos
|
||||
</li>
|
||||
</ul>
|
||||
<li>
|
||||
ITask
|
||||
</li>
|
||||
<li>
|
||||
IFuture
|
||||
</li>
|
||||
<li>
|
||||
Parallel For
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>RTL</b>
|
||||
<ul>
|
||||
<li>
|
||||
TStringBuilder
|
||||
</li>
|
||||
<li>
|
||||
I/O simplificada con IOUtils.pas
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<b>CodeSite</b>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
451
public/formacion/cursos/dmvcFramework.html
Normal file
451
public/formacion/cursos/dmvcFramework.html
Normal file
@@ -0,0 +1,451 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>DelphiMVCFramework</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>DelphiMVCFramework</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Delphi Seattle o superior, OOP y HTTP<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
La disponibilidad de datos de la empresa de forma remota ya no es una opción. Sus
|
||||
necesidades necesitan acceso a información clave, incluso cuando no están disponibles.
|
||||
En este curso, descubrirá lo sencillo (y funcional) que es usar Delphi para escribir
|
||||
servicios RESTful / JSON utilizando DelphiMVCFramework.
|
||||
En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el marco
|
||||
apreciado en todo el mundo por su velocidad y simplicidad. ¡El taller incluye el
|
||||
desarrollo real de un completo servidor RESTful y un cliente web javascript!
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Introducción a DelphiMVCFramework</b></li>
|
||||
<li><b>Los controladores</b></li>
|
||||
<li><b>Los actions</b></li>
|
||||
<li><b>El routing</b>
|
||||
<ul>
|
||||
<li>
|
||||
Parámetros de URL asignados
|
||||
</li>
|
||||
<li>
|
||||
Parámetros Strongly Typed
|
||||
</li>
|
||||
<li>
|
||||
Parámetros QueryString
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los atributos que hacen que DMVCFramework sea fácil de usar</b>
|
||||
<ul>
|
||||
<li>MVCPath</li>
|
||||
<li>MVCHTTPMethod</li>
|
||||
<li>MVCProduces</li>
|
||||
<li>MVCConsumes</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los renders</b>
|
||||
<ul>
|
||||
<li>JSON</li>
|
||||
<li>DataSet</li>
|
||||
<li>Binary</li>
|
||||
<li>Text</li>
|
||||
<li>HTML</li>
|
||||
<li>Custom</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Diseñar una aplicación DMVCFramework</b></li>
|
||||
<li><b>Diseñar la API RESTful</b></li>
|
||||
<li><b>Notificaciones PUSH</b>
|
||||
<ul>
|
||||
<li>Introducción a STOMP</li>
|
||||
<li>Introducción a RabbitMQ</li>
|
||||
<li>Usa la extensión de mensajería.</li>
|
||||
<li>Evitar el polling</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Middleware</b></li>
|
||||
<li><b>Autenticación básica</b></li>
|
||||
<li><b>Crear un mecanismo de autenticación y autorización personalizada.</b></li>
|
||||
<li><b>Mustache server page</b>
|
||||
<ul>
|
||||
<li>Que es el Mustache</li>
|
||||
<li>Cuándo y cómo usar las Mustache server page.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Ejemplo: utilizar DMVCFramework como servidor remoto de impresión</b></li>
|
||||
<li><b>Analizar la performance</b></li>
|
||||
<li><b>Escribir un client WEB</b></li>
|
||||
<li><b>Escribir un client móvil para Android y iOS</b></li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<a href="contact-us">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/C.+Buen+Retiro,+3,+46035+Valencia/@39.4904368,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674</a>
|
||||
</address>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
449
public/formacion/cursos/dmvcFramework_d.html
Normal file
449
public/formacion/cursos/dmvcFramework_d.html
Normal file
@@ -0,0 +1,449 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>DelphiMVCFramework</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>DelphiMVCFramework</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Delphi Seattle o superior, OOP y HTTP<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
La disponibilidad de datos de la empresa de forma remota ya no es una opción. Sus
|
||||
necesidades necesitan acceso a información clave, incluso cuando no están disponibles.
|
||||
En este curso, descubrirá lo sencillo (y funcional) que es usar Delphi para escribir
|
||||
servicios RESTful / JSON utilizando DelphiMVCFramework.
|
||||
En este curso analizaremos todas las peculiaridades de DelphiMVCFramework, el marco
|
||||
apreciado en todo el mundo por su velocidad y simplicidad. ¡El taller incluye el
|
||||
desarrollo real de un completo servidor RESTful y un cliente web javascript!
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Introducción a DelphiMVCFramework</b></li>
|
||||
<li><b>Los controladores</b></li>
|
||||
<li><b>Los actions</b></li>
|
||||
<li><b>El routing</b>
|
||||
<ul>
|
||||
<li>
|
||||
Parámetros de URL asignados
|
||||
</li>
|
||||
<li>
|
||||
Parámetros Strongly Typed
|
||||
</li>
|
||||
<li>
|
||||
Parámetros QueryString
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los atributos que hacen que DMVCFramework sea fácil de usar</b>
|
||||
<ul>
|
||||
<li>MVCPath</li>
|
||||
<li>MVCHTTPMethod</li>
|
||||
<li>MVCProduces</li>
|
||||
<li>MVCConsumes</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los renders</b>
|
||||
<ul>
|
||||
<li>JSON</li>
|
||||
<li>DataSet</li>
|
||||
<li>Binary</li>
|
||||
<li>Text</li>
|
||||
<li>HTML</li>
|
||||
<li>Custom</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Diseñar una aplicación DMVCFramework</b></li>
|
||||
<li><b>Diseñar la API RESTful</b></li>
|
||||
<li><b>Notificaciones PUSH</b>
|
||||
<ul>
|
||||
<li>Introducción a STOMP</li>
|
||||
<li>Introducción a RabbitMQ</li>
|
||||
<li>Usa la extensión de mensajería.</li>
|
||||
<li>Evitar el polling</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Middleware</b></li>
|
||||
<li><b>Autenticación básica</b></li>
|
||||
<li><b>Crear un mecanismo de autenticación y autorización personalizada.</b></li>
|
||||
<li><b>Mustache server page</b>
|
||||
<ul>
|
||||
<li>Que es el Mustache</li>
|
||||
<li>Cuándo y cómo usar las Mustache server page.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Ejemplo: utilizar DMVCFramework como servidor remoto de impresión</b></li>
|
||||
<li><b>Analizar la performance</b></li>
|
||||
<li><b>Escribir un client WEB</b></li>
|
||||
<li><b>Escribir un client móvil para Android y iOS</b></li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+de+les+Garrigues,+17,+46001+Val%C3%A8ncia,+Spagna/@39.4712608,-0.3784316,17z/data=!4m5!3m4!1s0xd604f4c1c838a5d:0x8e12d7a464472964!8m2!3d39.4710745!4d-0.3793221"
|
||||
target="_blank">
|
||||
Carrer de les Garrigues, 17</a>
|
||||
<br>46001 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
508
public/formacion/cursos/elastic.html
Normal file
508
public/formacion/cursos/elastic.html
Normal file
@@ -0,0 +1,508 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Curso ELK Stack (Elasticsearch, Logstash, Kibana)</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Curso ELK Stack (Elasticsearch, Logstash, Kibana)</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 900 € (Descuento para mas personas de la misma empresa: 30%).
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
Los estudiantes necesitarán una computadora portátil equipada con Linux o Windows
|
||||
7+,
|
||||
al
|
||||
menos 5 GB de espacio libre,
|
||||
la versión de Java 1.7u55 o más nueva y Google Chrome
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
Este curso proporciona una introducción al uso de la pila ELK (Elasticsearch,
|
||||
Logstash,
|
||||
Kibana) para leer,
|
||||
normalizar, procesar, indexar y mostrar datos y series temporales. Se presentarán
|
||||
los
|
||||
componentes fundamentales
|
||||
de la suite Elastic, con un enfoque práctico y ejercicios, analizando sus
|
||||
aplicaciones
|
||||
y
|
||||
examinando casos de uso reales
|
||||
que para cada componente ejemplifican su configuración y funcionalidad.
|
||||
Elasticsearch,
|
||||
el
|
||||
producto principal de la suite,
|
||||
es un motor de búsqueda profesional capaz de administrar Big Data de manera
|
||||
efectiva en
|
||||
cualquier aplicación / sitio web.
|
||||
Hoy en día parece ser el motor de búsqueda más difundido en el mundo. Elasticsearch
|
||||
soporta
|
||||
de forma nativa agrupaciones y
|
||||
arquitecturas distribuidas, proporcionando capacidades de búsqueda de texto
|
||||
completo
|
||||
con
|
||||
una interfaz REST,
|
||||
que es independiente del lenguaje de programación con el que se consume, utilizando
|
||||
JSON
|
||||
para la representación de
|
||||
datos y HTTP como protocolo de comunicación. Elasticsearch se puede utilizar para
|
||||
buscar
|
||||
cualquier tipo de documento
|
||||
y proporciona un sistema de búsqueda escalable, casi en tiempo real con soporte de
|
||||
multitenencia.
|
||||
Kibana es la herramienta de la suite que le permite navegar y ver los datos
|
||||
contenidos
|
||||
en
|
||||
los índices de Elasticsearch.
|
||||
Aprovechando las capacidades y la velocidad de búsqueda y agregación de datos
|
||||
ofrecidos
|
||||
por
|
||||
Elasticsearch, Kibana le
|
||||
permite crear gráficos y paneles para el análisis de Big Data de una manera
|
||||
sencilla e
|
||||
intuitiva.
|
||||
Logstash es el componente de pila que se ocupa de recuperar, filtrar, normalizar y
|
||||
enviar
|
||||
datos de fuentes heterogéneas
|
||||
a Elasticsearch. Su arquitectura de complementos le permite trabajar con diferentes
|
||||
fuentes
|
||||
de datos con un mínimo
|
||||
esfuerzo.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h3>
|
||||
Contenido:
|
||||
</h3>
|
||||
<br>
|
||||
<h2>
|
||||
introducción
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
Descripción Elastic Stack (ELK)
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Elasticsearch
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
Qué es y cuándo usarlo<br>
|
||||
Terminología: Documentos, Índices, Fragmentos, Nodos, Clústeres<br>
|
||||
Configuración e instalación<br>
|
||||
Distribuir datos en múltiples nodos<br>
|
||||
Backup
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Logstash
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
Qué es y cuándo usarlo<br>
|
||||
Configuración<br>
|
||||
Input, filtro y output<br>
|
||||
Instalación y configuración<br>
|
||||
Backup y recu<br>
|
||||
Cómo importar automáticamente datos desde una base de datos relacional<br>
|
||||
Cómo importar datos desde un registro casi en tiempo real<br>
|
||||
Mejores practicas
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Kibana
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
Ajustes de configuracion<br>
|
||||
Investigación y filtros<br>
|
||||
Las vistas Descubrir, Visualizar y Tablero<br>
|
||||
Instalación y configuración<br>
|
||||
Copia de seguridad y recuperación de datos<br>
|
||||
Integrar las vistas de Kibana en aplicaciones web y de escritorio<br>
|
||||
Best Practices<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
A quien se dirige
|
||||
</h2>
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
El curso está dirigido a desarrolladores y arquitectos de software que necesitan crear
|
||||
sistemas
|
||||
de
|
||||
búsqueda en tiempo real y soluciones de análisis, incluso de big data.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Retiro, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
405
public/formacion/cursos/fireDAC.html
Normal file
405
public/formacion/cursos/fireDAC.html
Normal file
@@ -0,0 +1,405 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>FireDAC</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>FireDAC</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Delphi, OOP, arquitectura TDataset<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
El curso está dirigido a todos los programadores y analistas de Delphi. Todas las
|
||||
características de FireDAC
|
||||
serán analizadas. Los ejercicios prácticos ilustrarán el uso de cada componente para
|
||||
mejorar la productividad,
|
||||
la calidad, la solidez y la elegancia del código y de la aplicación producida. Los
|
||||
objetivos del curso son los siguientes:
|
||||
Familiarizarse con los componentes de la suite FireDAC, conocer en profundidad las
|
||||
diversas opciones de personalización
|
||||
y utilizarlas en los escenarios más difundidos.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Components Overview DataSets, Queries, Commands and Transactions Developing common
|
||||
patterns applications
|
||||
Single table CRUD Join CRUD Master/Details with CRUD Multiple statements Options
|
||||
Inheritance Automatic
|
||||
Connection Recovery Disconnected Mode Cached Updates Dataset Persistence International
|
||||
Applications DB Services
|
||||
(Backup, Restore, etc) Local SQL Engine From BDE to FireDAC From dbExpress to FireDAC
|
||||
UnifiedAPI Rowset Fetching
|
||||
Command Batches Asynchronous Command Execution Update command generation
|
||||
Auto-incrementing fields SQL dialect
|
||||
abstraction Data Type Unification DB Events Multiple SQL script dialects The FireDAC
|
||||
Options System
|
||||
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
390
public/formacion/cursos/firemonkey.html
Normal file
390
public/formacion/cursos/firemonkey.html
Normal file
@@ -0,0 +1,390 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Desarrollo FireMonkey móvil para programadores VCL</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Desarrollo FireMonkey móvil para programadores VCL</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 3 días | <b>Precio</b>: 900 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Conocimiento en programación Delphi VCL.<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
¿Eres un programador Delphi desde hace mucho tiempo y te gustaría entender lo que se
|
||||
necesita para escribir
|
||||
correctamente una aplicación con FireMonkey? ¿Deseas evitar perder tiempo y dinero
|
||||
tratando de resolver los
|
||||
problemas habituales relacionados con los dispositivos móviles? Este curso está hecho
|
||||
para ti!
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Solicitar información actualizada al momento de la inscripción.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
534
public/formacion/cursos/googleSDK.html
Normal file
534
public/formacion/cursos/googleSDK.html
Normal file
@@ -0,0 +1,534 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Desarrollo de Android con el SDK de Google.</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Desarrollo de Android con el SDK de Google.</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 3 días | <b>Precio</b>: 990 €
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Para aquellos que quieren desarrollar aplicaciones para Android con Java y el SDK de
|
||||
Google.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Introducción al mundo Android.</b>
|
||||
<ul>
|
||||
<li>¿Que es Android?</li>
|
||||
<li>¿Quien esta detras de Android?</li>
|
||||
<li>¿Como funciona?</li>
|
||||
<li>Estadísticas</li>
|
||||
<li>¿Por qué elegir Android?</li>
|
||||
<li>Introducción al framework de desarrollo.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Conceptos claves</b>
|
||||
<ul>
|
||||
<li>Actividad</li>
|
||||
<li>Servicio</li>
|
||||
<li>Content provider</li>
|
||||
<li>Intent</li>
|
||||
<li>Broadcast Receiver</li>
|
||||
<li>Notificaciones</li>
|
||||
<li>Interfaz de usuario</li>
|
||||
<li>Demostración y ejercicio: hello world</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Actividad</b>
|
||||
<ul>
|
||||
<li>Ciclo de vida de la actividad</li>
|
||||
<li>Demostración: ciclo de vida de la actividad</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Layout Manager</b>
|
||||
<ul>
|
||||
<li>Fundamentos de la interfaz de usuario de Android</li>
|
||||
<li>Descripción general de los widgets</li>
|
||||
<li>Demostración y ejercicio: las 3 formas de hacer clic en un botón.</li>
|
||||
<li>Layout Manager</li>
|
||||
<li>Demostración y ejercicio: Hello Linear Layout (ejemplo de desarrollador
|
||||
de
|
||||
Android)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Recursos</b>
|
||||
<ul>
|
||||
<li>¿Que son? </li>
|
||||
<li>¿Como utilizarlos?</li>
|
||||
<li>Externalización</li>
|
||||
<li>Demostración y ejercicio: Milan02</li>
|
||||
<li>Demo: LocalizationUpdater</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Android y ListView</b>
|
||||
<ul>
|
||||
<li>ListView
|
||||
<ul>
|
||||
<li>Ejercicio y demostración: SimpleListView</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Adapter e CustomAdapter
|
||||
<ul>
|
||||
<li>Ejercicio y demostración: CompleteListView</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>ExpandableListView
|
||||
<ul>
|
||||
<li>Ejercicio y demostración: ExpandableList</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Alert y Toast</b>
|
||||
<ul>
|
||||
<li>Introducción al sistema de notificación de Android.</li>
|
||||
<li>Toast</li>
|
||||
<li>Alert</li>
|
||||
<li>Demostración: MonitoringActivity</li>
|
||||
<li>Demostración y ejercicio: DialogsSamples</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Intents</b>
|
||||
<ul>
|
||||
<li>Introducción a los Intents</li>
|
||||
<li>Intent filters</li>
|
||||
<li>Demostración y ejercicio: IntentSample2</li>
|
||||
<li>Broadcast Receiver</li>
|
||||
<li>Demostraciones y ejercicios: Milano05BroadcastReceiver -
|
||||
Milano05SendCustomIntent - SMSListener</li>
|
||||
<li>Notificación</li>
|
||||
<li>Demostración y ejercicio: NotificationSample</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Menú</b>
|
||||
<ul>
|
||||
<li>Creación y uso</li>
|
||||
<li>Demostración y ejercicio: Menu Sample</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Almacenamiento</b>
|
||||
<ul>
|
||||
<li>Tipos de almacenamiento de datos en Android</li>
|
||||
<li>SharedPreferences
|
||||
<ul>
|
||||
<li>Demostración y ejercicio: SharedPreferencesSample</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Almacenamiento interno</li>
|
||||
<li>Almacenamiento externo</li>
|
||||
<li>Demostración y ejercicio: SQLiteSample</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Trabajando en el background</b>
|
||||
<ul>
|
||||
<li>Servicios</li>
|
||||
<li>Background Thread</li>
|
||||
<li>AsyncTask</li>
|
||||
<li>Demostración y ejercicio: ServiceAndThreadingSample</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Introducción de la interfaz de usuario Honeycomb</b>
|
||||
<ul>
|
||||
<li>¿Porque Honeycomb?</li>
|
||||
<li>ActionBar</li>
|
||||
<li>Demostración y ejercicio: ActionBar</li>
|
||||
<li>Fragmentos</li>
|
||||
<li>Demostración y ejercicio: EU4You</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Construyendo componentes personalizados</b>
|
||||
<ul>
|
||||
<li>Vista personalizada</li>
|
||||
<li>Demostración y ejercicio: CustomView Sample</li>
|
||||
<li>WebView</li>
|
||||
<li>Demostraciones y ejercicios:
|
||||
SimpleWebView-WebViewClientTest-WebViewSample</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>App Widget</b>
|
||||
<ul>
|
||||
<li>Creación y gestión de AppWidget</li>
|
||||
<li>Demostración y ejercicio: IW Bank Demo</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Animaciones</b>
|
||||
<ul>
|
||||
<li>¿Que son ellos?</li>
|
||||
<li>¿Como usarlos?</li>
|
||||
<li>Demostración y ejercicio</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>GPS</b>
|
||||
<ul>
|
||||
<li>Utilizar el servicio location-based</li>
|
||||
<li>Elección de un Provider</li>
|
||||
<li>Como encontrar tu posición</li>
|
||||
<li>Descripción general de las API de Google Maps</li>
|
||||
<li>Demostración y ejercicio</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Cierre del curso</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
<a class="dropdown-item" href="/cs/bpm.html">BPM</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
445
public/formacion/cursos/linuxDelphi.html
Normal file
445
public/formacion/cursos/linuxDelphi.html
Normal file
@@ -0,0 +1,445 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Desarollo Linux con Delphi</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Desarollo Linux con Delphi</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 días | <b>Precio</b>: 399 € (25% de descuento para grupos de mínimo
|
||||
2 personas).
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Conocimiento de Delphi y HTTP<br>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!--<hr style="border: 1px solid rgb(0, 153, 255, 0.5)"><br>-->
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Cursos relacionados:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="firemonkey.html">
|
||||
Desarrollo de FireMonkey móvil para desarrolladores de VCL.
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="dmvcFramework.html">
|
||||
DelphiMVCFramework
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="angular.html">
|
||||
Angular
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Si desea desarrollar finalmente en el sistema operativo mas difundido en ambiente
|
||||
servidor,
|
||||
este curso es para usted. En este curso intensivo, analizaremos los fundamentos del
|
||||
sistema operativo Linux GNU
|
||||
necesario para el desarrollo nativo con Delphi. ¡Los servicios RESTful y servidores de
|
||||
todo tipo finalmente pueden
|
||||
ejecutarse en el sistema operativo del pinguino con la familiaridad y el rendimiento de
|
||||
Delphi!
|
||||
Nota: El curso se basa en la última versión de Ubuntu LTS. Necesitará tener una máquina
|
||||
virtual VirtualBox ejecutándose
|
||||
con la última versión de Ubuntu Desktop LTS.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>Introducción a Linux</li>
|
||||
<li>La Shell de Linux</li>
|
||||
<li>Los comandos principales</li>
|
||||
<li>Administración basica</li>
|
||||
<li>Manejar los deamon</li>
|
||||
<li>Configurar Apache</li>
|
||||
<li>Instalar Firebird / MySQL</li>
|
||||
<li>Desarrollo Delphi</li>
|
||||
<li>Configuración del entorno</li>
|
||||
<li>El PAServer</li>
|
||||
<li>Crear servicios TCP / IP</li>
|
||||
<li>Utilizar webbroker</li>
|
||||
<li>Conocer DelphiMVCFramework para Linux</li>
|
||||
<li>Diseñe una API RESTful con DelphiMVCFramework para Linux</li>
|
||||
<li>Depuración de server como aplicaciones de consola.</li>
|
||||
<li>Crea un formulario apache.</li>
|
||||
<li>Estrategias para el deploy y actualización.</li>
|
||||
<li>Optimizar el rendimiento con REDIS</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
<input type="hidden" id="course_name" name="course_name"
|
||||
value="linuxDelphi"
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
409
public/formacion/cursos/microsoftSQLServer.html
Normal file
409
public/formacion/cursos/microsoftSQLServer.html
Normal file
@@ -0,0 +1,409 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Microsoft SQL Server: vuelva a escribir sus consultas(querys) para un mejor rendimiento</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Microsoft SQL Server: vuelva a escribir sus consultas(querys) para un mejor rendimiento</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 día | <b>Precio</b>: 300 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
En comparación con otros lenguajes de programación, T-SQL no es un lenguaje difícil de
|
||||
aprender, y al neto de cualquier
|
||||
error sintáctico puede ser muy tolerante. Sin embargo, tendemos a aprender solo las
|
||||
declaraciones fundamentales del
|
||||
lenguaje: SELECT, INSERT, UPDATE e DELETE; solo aquellos que invierten más tiempo,
|
||||
descubren la naturaleza declarativa
|
||||
de este lenguaje y pueden obtener el máximo rendimiento y poder de sus
|
||||
consultas(querys).
|
||||
Este worlshop proporciona una introducción a los Planes de Ejecución y los DMV en SQL
|
||||
Server, trata en modo detallado
|
||||
las statement set-based presentes en el lenguaje T-SQL. Los Planes de ejecución nos
|
||||
ayudan a responder a las preguntas:
|
||||
"¿Por qué esta query es tan lenta?", "¿Qué índices se utilizan y cómo?". Los DMV
|
||||
(vistas y funciones del sistema)
|
||||
proporcionan información sobre el estado de salud de la instancia de SQL Server, así
|
||||
como un interesante
|
||||
feedback sobre el rendimiento de las querys. Los temas tratados sobre el lenguaje T-SQL
|
||||
permitirán mejorar la escritura
|
||||
del código, explotando las statement set-based presentes durante algún tiempo en SQL
|
||||
Server, así como las implementadas
|
||||
en las últimas versiones, con referencia particular a las funciones de Windows.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li>Introducción a los planes de ejecución en SQL Server</li>
|
||||
<li>Introducción al DMV (Dynamic Management Views and Functions)</li>
|
||||
<li>El lenguaje T-SQL</li>
|
||||
<li>El comando MERGE</li>
|
||||
<li>Common Table Expressions (CTE)</li>
|
||||
<li>CTE multiples</li>
|
||||
<li>CTE recursivas</li>
|
||||
<li>El operador APPLY</li>
|
||||
<li>La clausula OVER</li>
|
||||
<li>Extensiones</li>
|
||||
<li>Windows functions</li>
|
||||
<li>PIVOT y UNPIVOT</li>
|
||||
<li>Las opciones OFFSET/FETCH</li>
|
||||
<li>El desarrollo de los trigger.</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
375
public/formacion/cursos/multithreading.html
Normal file
375
public/formacion/cursos/multithreading.html
Normal file
@@ -0,0 +1,375 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Técnicas de multitreading.</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Técnicas de multitreading.</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 día | <b>Precio</b>: 299 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Este curso lo ayudará a mejorar el rendimiento y la experiencia de usuario de su
|
||||
software con ejemplos reales y casos de uso.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Solicitar información actualizada al momento de la inscripción.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
409
public/formacion/cursos/parallelProgramming.html
Normal file
409
public/formacion/cursos/parallelProgramming.html
Normal file
@@ -0,0 +1,409 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Hacer feliz a los usuarios con la Parallel Programming Library</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Hacer feliz a los usuarios con la Parallel Programming Library</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 día | <b>Precio</b>: 249 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Requisitos previos:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Conocimiento Delphi, OOP, métodos anónimos, metodos genéricos.<br>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Desde hace años nos ocupamos de computadoras y dispositivos multinúcleo. ¿Cómo
|
||||
aprovechar al máximo el poder
|
||||
de estas máquinas para hacer feliz al cliente? Hacer que la aplicación funcione es solo
|
||||
la mitad del trabajo;
|
||||
Lo importante es hacer que el cliente se enamore de nuestro software. Una forma de
|
||||
hacerlo es hacer que su
|
||||
experiencia de usuario sea agradable. En este seminario web, analizaremos algunas
|
||||
características de la nueva
|
||||
Biblioteca de programación paralela(Parallel Programming Library) introducida en Delphi
|
||||
10 Seattle que puede hacer
|
||||
que nuestras aplicaciones sean rápidas y agradables de usar. Los conceptos mostrados
|
||||
son aplicables para aplicaciones
|
||||
de escritorio clásicas, aplicaciones móviles y aplicaciones de servidor.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>Conceptos básicos de UI y UX.</b></li>
|
||||
<li><b>Programación multithreading</b></li>
|
||||
<li><b>Parallel Programming Library</b></li>
|
||||
<li><b>Análisis de casos reales con soluciones relacionadas.</b>
|
||||
<ul>
|
||||
<li>Acceso a bases de datos</li>
|
||||
<li>Comunicación con servidores remotos (HTTP, REST, STOMP, SMTP, etc.)</li>
|
||||
<li>Comunicación entre thread en background</li>
|
||||
<li>Comunicación entre thread en background y GUI</li>
|
||||
<li>Mejorar la velocidad real y la velocidad aparente.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
451
public/formacion/cursos/python.html
Normal file
451
public/formacion/cursos/python.html
Normal file
@@ -0,0 +1,451 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Curso Python</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Curso Python</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Python es un lenguaje de programación orientado a objetos, que se presta a múltiples
|
||||
usos: desde scripts simples
|
||||
hasta aplicaciones web complejas. Python combina características muy potentes con una
|
||||
sintaxis sencilla e intuitiva,
|
||||
que hace que el código sea limpio y fácil de leer.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>¿Que es python?</b>
|
||||
<ul>
|
||||
<li>El idioma elegido por la NASA, Google, Yahoo, Intel, Youtube,
|
||||
Instangram y muchos mas ...</li>
|
||||
<li>Introducción a Python y sus principales características.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Instalar Python</b>
|
||||
<ul>
|
||||
<li>Cómo instalar Python en varios sistemas.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Los tipos de datos</b>
|
||||
<ul>
|
||||
<li>Elenco de tipos primitivos de datos presentes en el lenguaje.</li>
|
||||
<li>Listas, cadenas, tuplas, conjuntos, diccionarios, bytes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Instrucciones de control</b>
|
||||
<ul>
|
||||
<li>La importancia de la indentación.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Gestionar las excepciones</b>
|
||||
<ul>
|
||||
<li>Try, except, raise</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Las funciones</b>
|
||||
<ul>
|
||||
<li>Definir las funciones.</li>
|
||||
<li>Las funciones __builtins__</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Las clases</b>
|
||||
<ul>
|
||||
<li>Métodos especiales</li>
|
||||
<li>Súper</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Las clases, temas avanzados.</b>
|
||||
<ul>
|
||||
<li>Overloading</li>
|
||||
<li>Herencia</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Conoscamos las bibliotecas estándar.</b>
|
||||
<ul>
|
||||
<li>Sys</li>
|
||||
<li>Shelve e pickle</li>
|
||||
<li>Smtplib, urllib y ftplib</li>
|
||||
<li>Threading</li>
|
||||
<li>Multiprocesamiento</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Temas avanzados</b>
|
||||
<ul>
|
||||
<li>Iteradores</li>
|
||||
<li>Introspección</li>
|
||||
<li>Generadores</li>
|
||||
<li>Decoradores</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Python y las bases de datos</b>
|
||||
<ul>
|
||||
<li>Conexión a una base de datos</li>
|
||||
<li>Lectura</li>
|
||||
<li>Escritura</li>
|
||||
<li>Modificar y eliminar datos.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
0
public/formacion/cursos/pythonFlask.html
Normal file
0
public/formacion/cursos/pythonFlask.html
Normal file
431
public/formacion/cursos/redis.html
Normal file
431
public/formacion/cursos/redis.html
Normal file
@@ -0,0 +1,431 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Redis: cuando empieza el difícil jugar.</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Redis: Cuando los duros empiezan a jugar.</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 día | <b>Precio</b>: 350 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
En algunos casos, un servidor de datos es esencial. Su aplicabilidad abarca desde
|
||||
aplicaciones web hasta aplicaciones
|
||||
clásicas client/server. Un mundo nuevo, mucho más eficiente, para resolver viejos
|
||||
problemas. Si desea mejorar el
|
||||
rendimiento de su aplicación e introducir funciones avanzadas sin distorsionar lo
|
||||
existente, este curso es para usted.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
<ul>
|
||||
<li><b>INTRODUCCIÓN</b>
|
||||
<ul>
|
||||
<li>¿Que es redis?</li>
|
||||
<li>Basics NoSQL</li>
|
||||
<li>Getting Redis</li>
|
||||
<li>Usando la consola redis</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>BASICS</b>
|
||||
<ul>
|
||||
<li>String Get and Set</li>
|
||||
<li>Caducar</li>
|
||||
<li>Los tipos de datos básicos de Redis: strings, hashes, lists</li>
|
||||
<li>Incrementing</li>
|
||||
<li>GetRange</li>
|
||||
<li>Mget y Mset</li>
|
||||
<li>Lists</li>
|
||||
<li>The Redis pushes and pops</li>
|
||||
<li>Las variantes de bloqueo</li>
|
||||
<li>Usando listas para implementar colas y pilas</li>
|
||||
<li>Trimming Lists</li>
|
||||
<li>Sets and sets commands</li>
|
||||
<li>Hashes and hashes commands</li>
|
||||
<li>Sorted Sets</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Publicación / suscripción</b>
|
||||
<ul>
|
||||
<li>Usando Pub and Sub</li>
|
||||
<li>Transacciones</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>ADMINISTRACIÓN Y CONFIGURACIÓN</b>
|
||||
<ul>
|
||||
<li>Configuración</li>
|
||||
<li>Usando un file config</li>
|
||||
<li>Configuring Persistence</li>
|
||||
<li>Replication Configuration</li>
|
||||
<li>Security</li>
|
||||
<li>Monitor</li>
|
||||
<li>Slow Log</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Usando redis desde su aplicación [Ejemplos en ObjectPascal o Java o PHP o C
|
||||
#]</b>
|
||||
<ul>
|
||||
<li>Entendiendo Redis clients</li>
|
||||
<li>Bloqueo VS no bloqueo de operaciones</li>
|
||||
<li>Implementación de entidades persistentes</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
376
public/formacion/cursos/workshop_codeVersioning.html
Normal file
376
public/formacion/cursos/workshop_codeVersioning.html
Normal file
@@ -0,0 +1,376 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Workshop: "Control de versiones del código"</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Workshop: "Control de versiones del código"</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 1 día | <b>Precio</b>: 350 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
En este curso, analizaremos las estrategias y técnicas que se adoptarán para controlar
|
||||
el control de versiones
|
||||
de las fuentes utilizando GIT y Subversion.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Solicitar información actualizada al momento de la inscripción.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
375
public/formacion/cursos/workshop_webMobile.html
Normal file
375
public/formacion/cursos/workshop_webMobile.html
Normal file
@@ -0,0 +1,375 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<!-- logo -->
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/img/logo.ico/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/img/logo.ico/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/img/logo.ico/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/img/logo.ico/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/img/logo.ico/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/img/logo.ico/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/img/logo.ico/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/img/logo.ico/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/logo.ico/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/img/logo.ico/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/logo.ico/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/img/logo.ico/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/logo.ico/favicon-16x16.png">
|
||||
<link rel="manifest" href="/img/logo.ico/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="img/logo.ico">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<!-- logo fine -->
|
||||
<title>Workshop: "Tus datos en la web / móvil con Delphi".</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400">
|
||||
<!-- Google web font "Open Sans" -->
|
||||
<link rel="stylesheet" href="/font-awesome-4.5.0/css/font-awesome.min.css">
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/slick/slick-theme.css" />
|
||||
<link rel="stylesheet" href="/css/tooplate-style.css">
|
||||
<link rel="stylesheet" href="../formacion.css">
|
||||
<!-- tooplate style -->
|
||||
|
||||
<script>
|
||||
var renderPage = true;
|
||||
|
||||
if (navigator.userAgent.indexOf('MSIE') !== -1
|
||||
|| navigator.appVersion.indexOf('Trident/') > 0) {
|
||||
/* Microsoft Internet Explorer detected in. */
|
||||
alert("Please view this in a modern browser such as Chrome or Microsoft Edge.");
|
||||
renderPage = false;
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Loader -->
|
||||
<div style="z-index:999999999" id="loader-wrapper">
|
||||
<div id="loader"></div>
|
||||
<div class="loader-section section-left"></div>
|
||||
<div class="loader-section section-right"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<section class="tm-section-head" id="top">
|
||||
<header id="header" class="text-center tm-text-gray">
|
||||
<div>
|
||||
<a href="#top"><img class="logo" src="/img/logo-trasparent.png"></a>
|
||||
</div>
|
||||
<h1>Workshop: "Tus datos en la web / móvil con Delphi".</h1>
|
||||
<h6 class="subtitle"></h6>
|
||||
<div id="navigation-bar"></div>
|
||||
</header>
|
||||
</section>
|
||||
|
||||
<section class="tm-section-5" id="tm-section-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-ds-2 col-tb-12 col-mb-12 col-lg-12">
|
||||
<div class="media media-center ml-padding">
|
||||
<p class="mb-0" id="tm-section-4">
|
||||
<br><b>Duración</b>: 2 días | <b>Precio</b>: 600 €
|
||||
</p>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Descripción:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Incluye el desarrollo real de un sistema web / móvil completo utilizando
|
||||
DelphiMVCFramework
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
<div class="media media-center ml-padding">
|
||||
<div class="media-body tm-box-5">
|
||||
<h2>
|
||||
Contenido:
|
||||
</h2>
|
||||
<p class="mb-0" id=tm-section-4>
|
||||
Solicitar información actualizada al momento de la inscripción.
|
||||
</p>
|
||||
</div><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<section class="tm-section-6" id="tm-section-6">
|
||||
<div class="row">
|
||||
<div class="col-lg-7 col-md-7 col-xs-12">
|
||||
<div class="contact_message">
|
||||
<form action="https://formspree.io/f/mqkwvjlz" method="post" class="contact-form">
|
||||
<div class="row mb-2">
|
||||
<div class="form-group col-xl-6">
|
||||
<input type="text" id="contact_name" name="contact_name" class="form-control"
|
||||
placeholder="Nombre" required />
|
||||
</div>
|
||||
<div class="form-group col-xl-6 pl-xl-1">
|
||||
<input type="email" id="contact_email" name="contact_email" class="form-control"
|
||||
placeholder="Correo electrónico" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<textarea id="contact_message" name="contact_message" class="form-control" rows="6"
|
||||
placeholder="Escribe aquí tu mensaje." required></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn tm-btn-submit float-right btn-big">Enviar</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 col-md-5 col-xs-12 tm-contact-right">
|
||||
<div class="tm-address-box">
|
||||
<h2 class="mb-4" id="cnt-section">Contacto</h2>
|
||||
<address>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
<i class="fa fa-map-marker" aria-hidden="true" style="margin-left: 0.1em"></i></a>
|
||||
<a class="no-link" href="https://www.google.it/maps/place/Carrer+del+Bon+Rec%C3%A9s,+3,+46035+Val%C3%A8ncia/@39.4904327,-0.3945009,17z/data=!3m1!4b1!4m5!3m4!1s0xd6045f498529177:0xd843de0e6d749068!8m2!3d39.4904327!4d-0.3923122"
|
||||
target="_blank">
|
||||
Carrer del Bon Recés, 3</a>
|
||||
<br>46015 Valencia
|
||||
<br>España
|
||||
<br>Teléfono: +34 960130674
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="mt-5">
|
||||
<p class="text-center">Copyright © 2021 DELPHI STUDIO <a href="http://www.delphistudio.es/politica-de-privacidad/" target="_blank" rel="noopener noreferrer">AVISO LEGAL Y POLÍTICA DE PRIVACIDAD</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<!-- load JS files -->
|
||||
<script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
|
||||
<script src="/js/popper.min.js"></script>
|
||||
<!-- https://popper.js.org/ -->
|
||||
<script src="/js/bootstrap.min.js"></script>
|
||||
<!-- https://getbootstrap.com/ -->
|
||||
<script type="text/javascript" src="/slick/slick.min.js"></script>
|
||||
<!-- Slick Carousel -->
|
||||
<script type="text/javascript">
|
||||
window.onresize = function () {
|
||||
calculateMediaQuery();
|
||||
}
|
||||
$(document).ready(
|
||||
calculateMediaQuery()
|
||||
);
|
||||
function calculateMediaQuery() {
|
||||
if (window.matchMedia('(min-width: 1200px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 992px) and (max-width: 1199px)').matches) {
|
||||
this.mediaQueryInUse = 'desktop';
|
||||
} else if (window.matchMedia('(min-width: 768px) and (max-width: 991px)').matches) {
|
||||
this.mediaQueryInUse = 'tablet';
|
||||
} else {
|
||||
this.mediaQueryInUse = 'mobile';
|
||||
}
|
||||
if (this.mediaQueryInUse != 'mobile') {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<nav class="navbar navbar-expand-sm bg-light navbar-light">
|
||||
<!-- Brand -->
|
||||
<!-- <a class="navbar-brand" href="#">
|
||||
alt=""></a> -->
|
||||
|
||||
<!-- Links -->
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html">Inicio</a>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
|
||||
Tecnología
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="/tecnologia/aplicacionesmoviles.html">Aplicaciones Móviles</a>
|
||||
<a class="dropdown-item" href="/tecnologia/arduino.html">Arduino</a>
|
||||
<a class="dropdown-item" href="/tecnologia/bottelegram.html">Bot Telegram</a>
|
||||
<a class="dropdown-item" href="/tecnologia/delphi.html">Delphi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/elkstack.html">ELK Stack</a>
|
||||
<a class="dropdown-item" href="/tecnologia/machinelearning.html">Machine Learning</a>
|
||||
<a class="dropdown-item" href="/tecnologia/python.html">Python</a>
|
||||
<a class="dropdown-item" href="/tecnologia/raspberrypi.html">Raspberry Pi</a>
|
||||
<a class="dropdown-item" href="/tecnologia/restsoap.html">Rest y Soap</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/formacion/formacion.html">Cursos</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#cnt-section">Contacto</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
`;
|
||||
} else {
|
||||
document.getElementById("navigation-bar").innerHTML = `
|
||||
<i class="fa fa-bars mobile-btn" aria-hidden="true" data-toggle="modal" data-target="#exampleModal2"></i>
|
||||
<div style="z-index: 100000000;" class="modal fade" id="exampleModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-slideout modal-sm" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title" id="exampleModalLabel">Menu</h3>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html" target="_self" >Inicio</a>
|
||||
</h5>
|
||||
</li>
|
||||
<!-- Dropdown -->
|
||||
<li class="nav-item dropdown">
|
||||
<div id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel">
|
||||
<h5 class="panel-heading" data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" role="tab" id="headingOne">
|
||||
<a data-toggle="collapse" data-target="#collapseAvail" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseAvail" class="d-block no-link">
|
||||
<i class="panel-heading fa fa-chevron-down pull-right"></i> Tecnología
|
||||
</a>
|
||||
</h5>
|
||||
<div id="collapseAvail" class="collapse" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/aplicacionesmoviles.html">
|
||||
Aplicaciones Móviles
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/arduino.html">
|
||||
Arduino
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/bottelegram.html">
|
||||
Bot Telegram
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/delphi.html">
|
||||
Delphi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/elkstack.html">
|
||||
ELK Stack
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/machinelearning.html">
|
||||
Machine Learning
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/python.html">
|
||||
Python
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/raspberrypi.html">
|
||||
Raspberry Pi
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<a class="col-xs-12 no-line-link" href="/tecnologia/restsoap.html">
|
||||
Rest y Soap
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/formacion/formacion.html" aria-label="Close">Cursos</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="#cnt-section" data-dismiss="modal" aria-label="Close">Contacto</a>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<h5>
|
||||
<a class="nav-link no-link" href="/index.html#sn-section">Sobre Nosotros</a>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="modal-footer"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<!-- <script src="../https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js"></script> -->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (renderPage) {
|
||||
$('body').addClass('loaded');
|
||||
}
|
||||
// https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
||||
// Select all links with hashes
|
||||
$('a[href*="#"]')
|
||||
// Remove links that don't actually link to anything
|
||||
.not('[href="#"]')
|
||||
.not('[href="#0"]')
|
||||
.click(function (event) {
|
||||
// On-page links
|
||||
if (
|
||||
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
|
||||
&&
|
||||
location.hostname == this.hostname
|
||||
) {
|
||||
// Figure out element to scroll to
|
||||
var target = $(this.hash);
|
||||
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
|
||||
// Does a scroll target exist?
|
||||
if (target.length) {
|
||||
// Only prevent default if animation is actually gonna happen
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: target.offset().top + 1
|
||||
}, 1000, function () {
|
||||
// Callback after animation
|
||||
// Must change focus!
|
||||
var $target = $(target);
|
||||
$target.focus();
|
||||
if ($target.is(":focus")) { // Checking if the target was focused
|
||||
return false;
|
||||
} else {
|
||||
$target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
|
||||
$target.focus(); // Set focus again
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user