Actualizado a: 19 de Abril 2024 TODOS los Megacursos y Cursos Avanzados a 125€/$ (antes hasta 390€/$ y más)

Megapack

Dios de la Programación

“Dios de la Programación en 490h (actualizado 2023)”
4.5 (48150 alumnos)
Español

Conviértete en un Dios de la Programación dominando los lenguajes de programación más populares como Swift, Java, .NET con C #, Pascal, Hacking, Phyton, Angular, Ruby, Ionic, Flutter para poder desarrollar aplicaciones web, escritorio o dispositivos móviles. Domina la programación de 0 a 100.

+ 490 H

de clases

Dios de la Programación
El megapack contiene los siguientes cursos:

Contenido del Megapack

490h de videoclases online

Mira aquí nuestras clases gratis

Loading...
Cargando temario
Nuestro primer programa

Empezamos creando nuestro primer programa, instalamos los componentes necesarios para empezar a programar desde cero, conocemos el entorno de desarrollo y empezamos a conocer los conceptos básicos con un ejemplo sencillo y detallado.

Variables

Las variables son el elemento de mayor importancia en la programación, conocemos los distintos tipos de variables, las operaciones que se pueden aplicar a cada una de ellas y como convertirlas, realizaremos una Calculadora para entender mejor el comportamiento de las variables.

Clases y Objetos

Las variables son el elemento de mayor importancia en la programación, conocemos los distintos tipos de variables, las operaciones que se pueden aplicar a cada una de ellas y como convertirlas, realizaremos una Calculadora para entender mejor el comportamiento de las variables.

Primer Proyecto: Polígonos, círculos, líneas y puntos.

 Empezamos a realizar nuestro primer proyecto que utilice diferentes conceptos que hemos aprendido hasta ahora, aprendemos como desde un punto se hace una línea y de esta un polígono, o con un punto y una línea un circulo, veremos que el límite es nuestra imaginación, y la importancia de la abstracción ante un proyecto más grande.

Clases II

Ampliamos nuestro conocimiento sobre las clases y conocemos las clases Static y Main, aprendemos para que se sirven los paquetes y los permisos que les queremos dar a nuestros objetos, Aprovechamos para conocer el concepto Envoltorios , para qué sirven como String y Math que usaremos mucho a la hora de programar.

Estructuras de control

Uno de los aspectos más importantes a la hora de crear un programa son las estructuras de selección y repetición, con ellas ya podemos darle lógica a nuestros programas y realizar cálculos complejos con una simple línea de código, vamos a probarlo realizando un Cajero Automático.

Herencia y Polimorfismo

Continuamos ampliando nuestro conocimiento sobre las clases y conocemos la utilidad de la herencia y el polimorfismo que nos ayudara a ahorrarnos muchas horas de trabajo y a tener un código limpio con una lógica que se parece más a la de el mundo real, mediante unos ejemplos simples de padres e hijos apreciaremos la potencia de estas características.

Proyecto: “El colegio”

Vamos a crear un colegio con sus alumnos, profesores, conserjes… como cada uno coge su papel y otros comparten las mismas tareas , usaremos los conceptos aprendidos sobre herencia , polimorfismo y así reforzaremos lo aprendido con un ejemplo divertido y sencillo.

Estructuras de almacenamiento y algoritmos de ordenación.

Array o matriz se emplean para almacenar elementos del mismo tipo, conocemos el concepto de dimensión en las estructuras de almacenamiento y posteriormente aprendemos a ordenar los elementos y los diferentes algoritmos que podemos utilizar, para que nos queden los elementos ordenados de maneras ascendente/decreciente.

Proyecto. Ordenación de almacén de EmpresaSoft

Creamos un almacén de productos para una empresa que nos ha pedido diferentes tipos de criterios para ordenar sus artículos , vamos a contentarles realizando la ordenación en décimas de segundo gracias a las matrices y los algoritmos de ordenación aprendidos.

Entrada y Salida

Conocemos el concepto de flujo y los diferentes métodos de entradas y salidas, en memoria, ficheros y teclado.

Interfaces

La Interfaz nos servirá en múltiples ocasiones, es una manera rápida y útil de agrupar diferentes métodos para su uso en otras clases, conocemos algunas interfaces predefinidas y como reescribirlas si nos interesase.

La Librería

Vamos a usar la interfaz Iterator y ArrayList para realizar la gestión de una librería, recorreremos libros, añadiremos otros y podremos buscar en nuestro catálogo.

UML

UML se utiliza para abstraernos y quedarnos solo con los detalles que posteriormente podemos implementar, conocemos las partes básicas de UML y como se encajan a la perfección en nuestro lenguaje.

(Proyecto): Gran problema fácil solución

A partir de un gran enunciado vamos a ir sacando solo lo que nos interesa y posteriormente profundizaremos en cada aspecto, de esta manera pasamos de tener un problema grande a tener un problema simple que se puede modular.

Recursividad

La recursividad es una herramienta muy útil en la programación es buena para resolevr problemas de una manera legible y controlable pero también tiene sus inconvenitntes, vamos a hacer unos cuantos ejercicios de recursividad para conocer este concepto.

Debugger

Los errores son comunes a la hora de programar, vamos a aprender a como se utiliza el debugger en este caso de Netbeans para conocer cuál es el estado del programa en cada paso y poder resolver estos problemas de una manera fácil.

Genéricos

Cuando queremos que la misma funcionalidad nos sirva para diferentes tipos de datos usamos los genéricos, de esta manera reutilizamos código ya realizado para que nos funcione con cualquier tipo de dato que albergue en él.

Interfaces Graficas I

Empezamos a trabajar con aplicaciones que contienen gráficos y ventanas de escritorio con SWING, hacemos una presentación al entorno y creamos nuestra primera aplicación con ventanas.

Proyecto: La Calculadora de escritorio

Creamos nuestra calculadora de escritorio 100% utilizable, nos ponemos en marcha con las aplicaciones de escritorio.

Interfaces Graficas II. Formularios con SWING

Vamos a aprender a realizar formularios con botones, ventanas y pestañas , en este caso vamos a realizar una interfaz gráfica que nos permita registrarnos como usuarios y rellenar datos en una encuesta, también tendremos nuestra ventana personal de cliente.

Interfaces graficas III

Conocemos los Layouts y para qué sirven, pasamos a uno de nuestros proyectos anteriores para que ahora se nos muestren los resultados de manera más visual y cómoda para los usuarios en una ventana.

Applets en JAVA

Las Applets son aplicaciones que se ejecutan en el navegador web y permiten ejecutar programas en él, veremos unos cuantos ejemplos simples, para nuestras páginas web.

Estructuras de datos II

En esta ocasión vamos a presentar las estructuras de datos avanzadas, empezaremos con las más básicas, pilas, colas y listas, muy útil a la hora de trabajar con volumen de información enormes, hazte un genio de las estructuras de datos.

Pilas

Las pilas se utilizan para guardar unos elementos de manera que quedan uno encima de otro , pudiendo recuperarlos por la cima ,usando la política FIFO, vamos a implementar nuestra primera estructura de datos.

Colas

Ahora vamos a ver la segunda estructura de datos básica, donde los elementos entran como si de una cola se tratase, usando la política FILO y el primero en entrar saldrá primero de esta cola y el último en llegar se pone al final de la cola.

Listas

Vamos a implementar una de las estructuras más potentes con dos apuntadores al principio y al final de la lista para que de esta manera podamos insertar, consultar y borrar los elementos de manera rápida, en este caso haremos una implementación dinámica que podremos utilizar perfectamente en nuestros programas .

Pruebas Unitarias JUnit

Para realizar testeo correcto de programas en java en vez de estar esperando a que el proyecto acabe por completo, existen las pruebas unitarias con las que vamos a ir comprobando el correcto funcionamiento a nivel de clase, de esta manera sabemos el porcentaje de código que esta erróneo y conocemos el funcionamiento exacto que se espera de cada clase, muy importante para programadores.

 

Arboles Genéricos

Los árboles son estructuras de datos con una jerarquía padre-hijo con múltiples funciones entre ellas están los comparadores y los arboles de decisión, vamos a conocer que es un árbol y a implementar un árbol genérico que puede albergar datos en él.

Arboles Binarios

En esta ocasión nos toca conocer e implementar el árbol binario, un tipo especial de árbol que en el futuro nos permitirá realizar tareas como búsqueda de elementos en una complejidad logarítmica.

Proyecto (la inteligencia artificial)

Ya hemos aprendido árboles, bien, vamos a crear nuestro propio robot que aprenda y nos adivine el animal en que estamos pensando, una de las muchas utilidades de los árboles, la inteligencia artificial.

Árbol Binario de Búsqueda

En esta ocasión vamos a implementar un árbol tipo binario pero con un criterio de ordenación, útil para crear diccionarios y jerarquías.

Árbol AVL.

Una vez tenemos árboles que se ordenan según su valor a la izquierda o a la derecha(BSTree) ahora queremos que estos árboles estén equilibrados y de esta manera conseguir el mejor tiempo de búsqueda, inserción y borrado. Veremos cómo se reestructura un árbol para que mantenga su información de manera correcta sin perder su ordenación de elementos.

Tablas Hash

Bienvenido a las entradas de Tablas Hash, de lo más utilizado en internet y en almacenamiento de datos masivos, conocemos la importancia de los números primos en el mundo real, una estructura muy útil tipo <Clave,Valor>, hacemos algunos ejemplos sencillos.

Proyecto Gestor de Autobuses

Utilizamos las tablas hash para implementar un problema que consiste en manejar la información de una empresa de autobuses, además ayudamos a las autoridades a localizar a un sospechoso rápidamente.

Threads

Los Threads crean varios hilos de ejecución que se pueden ejecutar de manera simultanea dando como resultado , multitarea e infinidad de ventajas, además son ligeros y consumen menos recurso que un proceso , vamos a realizar un problema producto-consumidor para aprender sobre estos hilos de ejecución.

Cliente -Servidor

Vamos a realizar comunicación entre un cliente y un servidor, además gracias a los Threads vamos a poder realizar un servidor que atienda a varios clientes al mismo tiempo de manera independiente. Además veremos cómo se utiliza la clase Socket para realizar comunicaciones entre programas.

Creador de Wallpapers

Otra funcionalidad que poseen estos hilos de ejecución es la creación de movimiento, así que vamos a aprovechar el movimiento creado para crear nuestros propios wallpaper, como si tuviéramos un dibujante solo para nosotros.

Repaso I Ampliación del proyecto Colegio GUI

Vamos a repasar los conceptos más representativos de Java y convertimos nuestro colegio en una interfaz gráfica con un gestor de alumnos y cambiamos las estructuras de datos para que sea más veloz.

Repaso II Ampliación del proyecto Colegio GUI (Graficas)

Vamos a realizar un resumen grafico de cada aula del colegio en formato histograma y grafica de líneas para que usuario tenga un visión más clara de las estadísticas de cada aula.

Nuestra primera aplicación

Conocemos el gran entorno de J2EE (Entreprise Edition), Revisamos su potencial y empezamos realizando nuestra primera aplicación desplegable en un servidor en este caso Glassfish.

Formulario con JSP

Vamos a realizar nuestro primer Formulario con Java Server Pages, aprendemos así como se empiezan a comunicar nuestras distintas secciones de JEE. También veremos HTML de manera práctica.

Modelo Vista Controlador

El MVC es una manera modular de programación de JEE bastante cómoda, aprendemos en que consiste y creamos una aplicación usando MVC.

Login de Usuario y seguridad con Glassfish

Esta vez se trata de un formulario JSP, que podemos incluir en nuestra página web , se trata de un servicio de login de un usuario usando Servlets y JSP y glassfish. Necesitamos username y contraseña para acceder a ciertos campos de nuestra pagina web.

JSP ,JTSL y etiquetas

Aprenderemos las instrucciones de selección, modificación y borrado que podremos incrustar en nuestro proyecto, de esta manera podemos añadir lógica a nuestras aplicaciones de una manera sencilla.

JTSQL

Esta vez trabajamos con bases de datos, en nuestro caso Postgresql y hacemos peticiones a está observando los resultados en nuestra aplicación.

 

Proyecto creación de sistema de reservas de un hotel en JSF

El hotel “lloh” nos pide crear una aplicación potente, que pueda desplegar en un servidor y los usuarios accedan a través de ella vía web o vía aplicación de escritorio para gestionar las reservas de él Hotel en una de las mejores playas de España.

Generando Información útil para nuestras bases de datos desde Java

Vamos a necesitar siempre , ya sea para ejecutar pruebas o realizar nuestros servicios , información con bastantes campos, hacemos que desde una clase java normal nos comuniquemos con bases de datos y poder rellenar mucha información necesario en futuros proyectos.

Java Server Faces

Existen diferentes Frameworks de trabajo para crear entornos que interactúen con el servidor y las bases de datos en este caso vamos a conocer Java Server Faces desarrollando una aplicación web.

Plantillas y JSF

Creamos plantillas para pasar de un diseño aburrido a algo con mucho mas atractivo, además JSF nos ofrece la manera de incluir estas plantillas en todo nuestro proyecto de una manera fácil, también veremos CSS para nuestras plantillas

Validadores y Componentes

Mas funcionalidad para JSF, conocemos los validadores y los componentes, estos nos servirán para que nuestra página requiera ciertos campos de determinada manera, o para incluir componentes enteros de una manera facil.

JPA(Java Persistence API)

En Java los objetos desaparecen o solo existen en el tiempo en el cual se ejecuta el programa esto se soluciona con la creación de entidades (entities) y JPA nos permite, utilizar objetos de forma persistente, también conoceremos los Beans que usaremos para llamar a nuestras entidades , y se ejecutan de manera remota.

Creando nuestro EJB. Parte A

Empezamos con la parte más EE de JEE , estos son nuestros EJB, pudiendo separar la aplicación de los Beans y de otras aplicaciones de escritorio así como el servidor y los clientes, pero todo ello funcionando como un uno en común de manera colaborativa, Empezamos a crear nuestra primera Enterprise Aplication.

Creando nuestro EJB. Parte B

Empezamos con la parte más EE de JEE , estos son nuestros EJB, pudiendo separar la aplicación de los Beans y de otras aplicaciones de escritorio así como el servidor y los clientes, pero todo ello funcionando como un uno en común de manera colaborativa, Empezamos a crear nuestra primera Enterprise Aplication.

JMS

Nos interesa el paso de mensajes entre diferentes módulos de una aplicación de manera remota, vamos a conocer un tipo especial de Beans, los Message Driver Beans, como siempre ilustrado con ejemplos sencillos y prácticos.

Sevicios Web  RESTful

Continuamos con nuestro conocimiento de WS(Web Services ) ahora haremos aplicaciones con RESTFul y veremos sus posibilidades.

Servicios Web 3 Maven

Como guinda final vamos a conocer los servicios web con Maven. Como siempre con ejemplos sencillos y fáciles para comprender el manejo de estos. En este caso nos enfrentaremos a una api de terceros.

Proyecto Final Flickr

Vamos a finalizar con una aplicación de escritorio/web usando la API que nos ofrece Flickr4j donde podremos subir nuestras fotos, crear álbumes y muchas otras funciones reservadas solo para desarrolladores.

Preparando el entorno

Vamos a Repasar sobre diferentes cosas útiles a la hora de afrontar la creación de un videojuego. En esta ocasión veremos los componentes necesarios para crear movimiento con el input de nuestro teclado.

Memory con SWING

En este caso vamos a realizar un juego tipo Memory, donde el jugador deberá encontrar parejas , ganara si las encuentra todas seguidas , utilizamos SWING esta vez para crear videojuegos, además aprendemos a realizar nuestros propios recursos con InkScape de una manera fácil.

Snake

Esta vez vamos a abordar un juego tipo Snake, muy popular en los años 90 , nos moveremos sobre celdas y abra que comer toda la comida posible sin chocarnos con nosotros mismos o con la pantalla.

Creando Niveles para nuestra Snake

Vamos a decorar nuestra serpiente y hacemos un creador de niveles que podremos guardar y cargar para nuestra partida, utilizamos el propio juego para crear niveles de una manera divertida.

Clon de Tetris

Continuamos esta vez con un clon del clásico Tetris desde 0 hasta poder jugar con el unas partiditas.

Decorando

Vamos a pulir ciertos detalles y a volver nuestro clon de Tetris mucho más visual para que sea más atractivo para los usuarios.

La música es importante

Introducimos sonidos MP3 y wav en nuestro juego para darle un aspecto mucho mejor a nuestro juego de Tetris. Aprenderemos a crear músicas completas para un videojuego de una manera sencilla.

Algoritmo MinMax.(jugando contra la maquina)

Conocemos el algoritmo MinMax que nos ofrece una manera fácil de prever jugadas, para juegos destinados contra la máquina, esta buscara la mejor solución y ejecutara su movimiento. Hacemos un TIC TAC TOE , a ver si alguien puede ganar contra nuestra IA.

 

Creamos un Menú Dinámico

En esta ocasión vamos a empezar a realizar la lógica de un juego mayor, empezamos creando nuestro menú dinámico, que sea atractivo para presentar diferentes juegos, con fondo animado y opciones de manera atractiva.

TileMap

Algo muy utilizado a la hora de crear videojuegos son los TileMap, son mapas con identificadores que nos indicaran si hay lava, tierra, plataformas.., además poseen la ventaja de que creamos niveles para juegos de una manera muy fácil y sencilla, con resultados espectaculares. Aprendemos a utilizar herramientas para la creación de nuestros juegos.

Lógica de GameObjects

Necesitamos crear una lógica común para todos los elemento que hay en nuestro mapa ya sean personajes, enemigos, cofres, texto. Hacemos una superclase para manejar todos estos eventos comunes.

Creando animaciones para nuestros personajes

Aprenderemos a crear nuestros propios Sprites, para colocar en nuestro juego, los animamos y observamos el resultado en nuestro juego.

Manejando nuestro jugador con la pantalla

Vamos a manejar por fin a nuestro personaje por nuestro nivel ya podemos explorar el mapa creado con nuestro personaje animado

Realizando ataques con nuestro personaje

Vamos a poner un arco a nuestro personaje para que pueda disparar flechas , gastando mana.

Los enemigos

Algo no menos importante son los enemigos en nuestro juego, nos deben de suponer un reto para llegar al final de la pantalla, vamos a crear el “cerebro” de los enemigos para que interactúen con nosotros en el juego

HUD

Necesitamos el HUD para indicarnos cuanta energía, saludo o mana posee nuestro juegador asi como otros elementos , vamos a incluir un HUD básico a nuestro juego.

Detalles Finales

Vamos a poner la guinda de nuestro juego con ciertos detalles como sonidos y mejora de lógica del juego, usamos nueva librería de MP3 y Audacity.

Introducción a iOS

En esta primera clase gratuita podrás ver qué necesitas para crear tu primera app para iOS, y no sólo eso…sino que también aprenderás a hacerla!

Proyecto previsión tiempo

Aprende a crear una aplicación que nos muestre la previsión del tiempo, y añadirla como extensión para poder acceder a la información de forma rápida desde cualquier parte del sistema.

SDK

¿Qué es el SDK de iOS, qué podemos hacer con él y por qué es tan importante a la hora de desarrollar nuestras apps?

Interfaz Xcode

Descubre la interfaz del IDE de desarrollo para todas las plataformas Apple: Xcode. Es importante familiarizarse con él, ya que dedicaremos más del 90% del tiempo de desarrollo de nuestras apps dentro de él.

Playgrounds

Potente herramienta integrada en Xcode que nos permite probar pequeñas porciones de código o nuevas tecnologías que aún no hemos añadido en nuestro proyecto, sin necesidad de crear un nuevo proyecto. Abre un Playground y ¡a escribir código!

Swift I

Primera aproximación al nuevo lenguaje de programación de Apple, el cual utilizaremos en todas las clases de nuestros Megacursos relacionados con plataformas Apple. Variables, constantes, tipos de datos, operadores, arras y diccionarios.

Swift II

Seguimos adentrándonos en Swift. En esta clase hablamos de estructuras de control de flujo y bucles de repetición, así como de las condiciones de comparación.

Swift III

La última clase de Swift, la dedicamos a las funciones, las clases y lo que Apple denomina “Optionals”.

Prototipado Storyboards

Gracias a los Storyboards, crear las interfaces de nuestras aplicaciones es realmente sencillo. Un entorno visual, dentro de Xcode, con todo lo necesario para crear la parte gráfica de la app.

ViewControllers-IBOutlets IBActions-Ayuda

Para poder manipular los elementos de nuestra interfaz mediante código, necesitamos enlazarlos mediante IBOutlets y IBActions. Además, aprenderás dónde se encuentra ya ayuda y documentación de Xcode, y cómo utilizarla.

MVC

La idea principal tras MVC (Modelo-Vista-Controlador) es separar nuestra app en tres partes: los datos que mostramos, la parte visual, y en controlador que relaciona cómo se muestran los datos en la interfaz. Es el modelo en el que se basan las aplicaciones para iOS y el que debemos aplicar, por lo que es importante comprender bien cómo funciona.

MejorasUI

Esta clase es una introducción a Auto Layout, un sistema basado en constraints que nos proporciona Apple, para que nuestra interfaz y los datos que mostramos en ella, sin importar el dispositivo o la orientación desde la que se visualice.

Debug

Si ya tienes experiencia en el desarrollo de Software, no hace falta que te expliquemos la importancia de la depuración del código. Si no, en esta clase verás que cuando no sabemos dónde está un error, o por qué no  funciona esto o aquello, conocer cómo funciona el debugger de Xcode, puede salvarnos la vida.

ViewControllers

El controlador de vistas de nuestras aplicaciones iOS más importante. Hay que conocer cómo funciona, qué clases debemos modificar para controlar los datos que mostramos en nuestra app dentro de la parte visual…y mucho más. Importante conocerlos bien, ya que los utilizaremos una y otra vez en nuestras apps.

TableView

Sin duda, uno de los tipos de aplicaciones más habituales son las basadas en tablas. Pocas apps en iOS no utilizan en alguna sección listado de elementos. Por ello, el elemento UITableView es de vital importancia.

CustomTableviewCell

iOS nos proporciona una visualización por defecto de las celdas de una tabla. Pero serán pocas las ocasiones en las que queramos utilizarla, ya que sí queremos que nuestra app tenga una personalidad propia, tendremos la necesidad de personalizar su apariencia al máximo. En esta clase aprenderás a personalizar las celdas de tus tablas gracias a Prototipo Cell.

Selección Celdas

Llegados a este punto, sólo hemos aprendido a mostrar datos en las celdas de nuestra tabla, por lo que ha llegado el momento de detectar las selecciones sobre una celda determinada, para poder llevar a cabo alguna acción cuando esto ocurra.

Eliminar Celdas

Si quieres brindar a los usuarios de tu app la posibilidad de que eliminen algunas filas de la tabla en la que se muestran los datos, no te pierdas esta clase.

TableView NC

¿Qué es un Navigation Controller? Al igual que las tablas, son otro componente de UI muy habitual en iOS. Nos proporciona una interfaz para navegar por nuestro contenido de forma jerárquica. Normalmente se suelen combinar con UITableView.

POO

Swift, al igual que Objective-C, es un lenguaje de “Programación Orientado a Objetos”. Esto es una forma de construir software muy habitual, componiendo las distintas partes de nuestra aplicación mediante objetos. En otras palabras, el código que escribimos en nuestra app en determinadas maneras, trata con objetos de ciertos tipos. Y esas maneras y esos tipos es lo que vamos a explicar en esta clase.

Mejora Vista Detalle NavigationBar

En esta clase vamos a mejorar la interfaz de la vista detalla de la app que estamos construyendo, así como su navegación. Por tanto nos vamos a basar en la parte másvisual de la aplicación.

Self Sizing Cells

Sin duda una de las características más útiles del SDK de iOS. Especialmente cuando queremos mostrar datos de forma dinámica en una tabla, ya que nos permite que el tamaño de la fila se calcule de forma dinámica en función del contenido que tiene que mostrar.

Animations

En iOS, crear animaciones impactantes y sofisticadas no requiere escribir grandes cantidades de código, apenas la implementación de un único método de la clase UIView. Este método tiene diferentes variaciones, las cuales estudiamos en esta clase.

Map View

El framework Mapkit proporciona a los desarrolladores las APIs necesarias para mostrar mapas en nuestras aplicaciones, así como navegar por ellos o añadir anotaciones.

Photos

Integramos el acceso a nuestra cámara de fotos y carrete de fotografías de nuestro iPhone o iPad, de tal forma que podamos añadir imágenes de forma dinámica a nuestra aplicación.

Core Data

En muchas ocasiones, puede que necesitemos almacenar datos de forma permanente dentro de nuestra app. Gracias a CoreData, podemos hacerlo sin recurrir a soluciones de terceros.

Search Bar

Las barras de búsqueda son una característica fundamental para muchas aplicaciones, sobre todo cuando almacenamos gran cantidad de datos y queremos facilitar el acceso a la información a nuestros usuarios. Para ello tenemos la SearchBar de iOS.

UIPageViewController NSUserDefaults

Si quieres hacer un recorrido visual de ayuda la primera vez que se ejecuta tu app o necesitas mostrar la información en formato de página (tipo libro), UIPageViewController es lo que estás buscando.

Tab Bar Controller

La Tab bar es esa fila que se encuentra permanentemente visible en la parte inferior de nuestra pantalla, desde la cual podemos acceder a diferentes opciones de la aplicación, en forma de menú.

WebView MailComposer

Hay muchas ocasiones en las que necesitamos mostrar contenido web en nuestras apps, así como enviar emails desde dentro de la misma. Esto es realmente sencillo gracias a UIWebView y MailComposer.

CloudKit. Parte I.

¿Quieres almacenar o recibir datos desde “la nube”? Gracias a CloudKit podrás acceder a iCloud la “nube” de Apple, por lo que ya no hace falta recurrir a soluciones de terceros.

CloudKit. Parte II.

Seguimos explorando CloudKit, llegando a un nivel más avanzado.

Localización

Si quieres poner tu app a la venta en el App Store de diferentes países, está claro que debes “localizar” tu app, para servirla en diferentes idiomas. Tanto los textos, como las imágenes así como otros elementos que quieras cambiar en función de las costumbres o cultura de cada país.

Puebas en dispositivo

El simulador que viene integrado está muy bien, de hecho es uno de los mejores simuladores que podemos encontrarnos a la hora de desarrollar aplicaciones. Por tanto, para el 90% de los casos nos servirá. Pero tiene ciertas limitaciones como el acceso a cámara o acelerómetro. Además, el rendimiento no va a ser igual que en un dispositivo físico real. Así que siempre se recomienda probar las aplicaciones en el mayor número de dispositivos reales diferentes posible.

Preparar archivos para la subida

Iconos, pantallas de inicio, imágenes, vídeos de demostración…hay varios archivos que hay que tener listos antes de subir la app al App Store. Conoce cuáles son y las diferentes resoluciones en las que deben estar para que puedas tener todo preparado para tu salto al Store.

Beta Testing

Si queremos cerrar el círculo perfecto de creación de una app, habremos realizado pruebas en nuestros dispositivos para asegurarnos del buen funcionamiento de la misma. Sin embargo, siempre es buena idea, realizar un programa de pruebas beta entre otros usuarios, para poder afinar al máximo la calidad de nuestra app. Para ello, Apple nos proporciona TestFlight, integrado dentro de iTunes Connect.

Subida al App Store

Has creado la app de tus sueños, le has dedicado un montón de horas, has realizado un programa de pruebas y ya está todo listo. Es hora de subir tu app al App Store y que la gente empiece a disfrutar de ella!

ClaseProyecto1 FizzBuzz

Dentro de un Playground, creamos un bucle sencillo para imprimir por pantalla un mensaje determinado según los resultados de las operaciones que pongamos como condición.

ClaseProyecto2 isDivisible

Playground en el que creamos una función que determine de forma automática si un número es divisible por otro.

ClaseProyecto3 SportsList

Proyecto en Xcode. Creamos una app con una serie de deportes en forma de lista, con su correspondiente información a través de una barra de navegación.

ClaseProyecto4 Animations

Aprende a animar una serie de elementos dentro de la vista de tu aplicación, en este caso los iconos para compartir en redes sociales, así como el sistema de puntuación por parte del usuario.

ClaseProyecto5 PhotoLibrary

Ampliamos nuestra app “RestaurantList” para añadir nuestras propias imágenes a a hora de guardar un nuevo restaurante.

ClaseProyecto6 Youtube

En esta clase aprenderás a añadir un listado de videos de Youtube en tu aplicación, así como reproducirlos dentro de la misma.

ClaseProyecto7 Custom Keyboard

Una de las cosas que nos permite crear iOS, son teclados personalizados, para sustituir al que viene con el sistema. Aprende a crear tu propio teclado personalizado.

ClaseProyetco8 SlideDown Menu

No siempre tenemos que utilizar los elementos propios del sistema, también podemos crear los nuestros propios. En esta clase proyecto creamos una menú que desliza de arriba hacia abajo.

Clase Gratuita 1

¿Quieres hacer videojuegos para iOS y no conoces SpriteKit? Te contamos qué es y cómo puede ayudarte a crear juegos para iPhone y iPad de la forma más fácil. Además, te demostramos cómo crear tu primer juego para iOS y te enseñamos los diferentes proyectos que aprenderás a hacer durante el curso.

Hello SpriteKit

Crear juegos para iPhone, iPad y Apple TV es más fácil que nunca, gracias a SpriteKit, el framework que proporciona Apple para que podamos desarrollar juegos increíbles en 2D.

Sprites

Como el propio nombre del framework lo indica, los Sprites son la base de todo juego en SpriteKit. Aprende qué son, cómo crearlos y cómo se comportan.

Movimiento Manual

Haz que un elemento de tu juego se mueva siguiendo los toques del jugador en la pantalla.

Acciones

Es importante saber cómo funcionan las cosas y aprender la forma tradicional de hacerlas, pero no dejes de aprovechar las increíbles facilidades y posibilidades que nos aportan las acciones en SpriteKit.

Escenas

Lo normal es que nuestros juegos tengan un menú principal, una pantalla de “Game Over”…y varios niveles.Para ello vamos a aprender a crear nuevas escenas y mostrarlas en pantalla mediante transiciones.

Cámara

En esta clase, aprenderás a hacer que tu juego sea capaz de desplazarse de de izquierda a derecha, dando sensación de continuidad y movimiento.

Labels

Aquí vamos a ver cómo añadir texto en la pantalla de nuestro juego, para cosas tan útiles cómo mostrar el número de vidas disponibles o la puntuación que lleva el jugador.

Scene Editor

Hasta ahora hemos creado todas las escenas de juego mediante código, así que ya es hora de que aprendamos a utilizar el Editor de Escenas que nos proporciona Xcode, donde configuraremos todo el primer nivel de un nuevo juego.

Física I

En esta clase, aprenderás los conceptos básicos para simular leyes físicas dentro de tus juegos. Además, también aprenderás a prototipar juegos dentro de un Playground de Xcode.

Física II

Seguimos adentrándonos en el mundo de la física en SpriteKit. Verás cómo detectar colisiones basadas en física y como crear clases personalizadas para tus nodos de SpriteKit. Aplicamos lo aprendido en la primera clase de física a nuestro juego MonsterSleep.

Física III

Última clase dedicada a la física en SpriteKit, en la que aprendemos conceptos más avanzados si cabe como: uniones entre elementos, notificaciones…etc. Llevamos nuestro juego a un nuevo nivel.

Clase Proyecto 1

Creamos un juego que nos sirve como repaso sobre todo lo visto en el curso. Utilizamos sprites, fondos deslizantes, acciones, escenas, labels, física…Un ejemplo perfecto para poner en práctica muchos de los conceptos aprendidos.

Clase Proyecto 2

Segad aparte del juego en la que aprendemos  a utilizar el acelerómetro para variar el comportamiento de nuestro juego así como a añadir un sistema de puntuaciones, registrar en el terminal la puntuación máxima conseguida y también añadir un efecto “parallax” con los distintos fondos que componen nuestra escena.

Clase Gratuita 1

Introducción a tvOS, qué es y sus similitudes con iOS. Aprende a crear tu primera app para Apple TV de la forma tradicional.

Clase Gratuita 2

Vamos a crear un sencillo “juego” de preguntas y respuestas para nuestro Apple TV!

Hello TV

Apple se adentra en nuestras televisiones con tvOS. Aquí te lo presentamos.

Arquitectura

En esta clase introducimos los diferentes tipos de arquitectura que pueden tener las aplicaciones para Apple TV en tvOS.

TVML I

Empezamos con el nuevo tipo de apps que puedes crear para el Apple TV: las aplicaciones basadas en TVML.

TVML II

Aprende a utilizar las diferentes plantillas TVML que Apple pone a disposición de los desarrolladores.

TVML III

Sigue adentrándote en el apasionante mundo de las apps basadas en TVML, mediante nuevas interfaces y plantillas más complejas.

TVJS

¿Te suena JavaScript? Puedes utilizarlo para manejar el comportamiento de tu app y manipular el DOM del TVML.

Apps Tradicionales

¿Tienes experiencia en el desarrollo de apps para iOS? No todo es TVML, en tvOS también puedes crear aplicaciones utilizando las librerías nativas en Swift.

Controles Básicos

En esta clase, mostramos los controles básicos con los que los usuarios pueden interactuar dentro de tu aplicación.

Stack Views

Los Stack Views son el “esqueleto” de la estructura de tu app, por lo que te interesa aprender bien cómo se comportan.

Collection View

Aprende a mostrar listados de elementos con un aspecto visual inmejorable, gracias a los Collection Views.

Navegación

¿Tu app cuenta con varias pantallas diferentes? Mira las diferentes opciones que tienes para pasar de una a otra.

Diseño de Apps

Puesto que tvOS es un sistema orientado a televisiones, hay que tener en cuenta una serie de cuestiones a la hora de ponernos a diseñar nuestras aplicaciones para la plataforma.

Clase Proyecto 1

En esta primera clase de tipo proyecto, partimos de nuestra app megacursosTV para añadirle la funcionalidad de puntuaciones por parte del usuario mediante el uso de un nuevo template de TVML: ratingTemplate.

Clase Proyecto 2

Una de las características principales de tvOS son las imágenes formadas por diferentes capas, así como los efectos que el propio sistema les aplica. En esta clase aprenderemos a crearlas, mientras diseñamos el icono de una aplicación, y juntamos las capas mediante la utilidad Parallax Previewer.

Clase Proyecto 3

En este clase, vamos a crear un proyecto de una aplicación que nos mostrará la predicción meteorológica actual, para que podamos estar al tanto de la misma desde nuestra televisión.

Clase Proyecto 4

Aprende a utilizar UITableView, de la misma forma que en iOS, en tus apps tvOS para Apple TV.

Clase Gratuita 1

En esta primera clase, verás como crear tu primera app para Apple Watch, mediante un sencillo juego que genera un número aleatorio, el cual tienes que adivinar!

Clase Gratuita 2

En este caso creamos una nueva app, la cual nos muestra la hora en diferentes zonas horarias, a medida que vamos deslizando la pantalla de nuestro Apple Watch.

Hello Watch

Descubre watchOS, la plataforma para desarrollo de aplicaciones para el smartwatch de Apple.

Watch Kit

En esta clase explicamos todo lo que necesitas saber sobre WatchKit, el framework con el que desarrollarás tus aplicaciones nativas para Apple Watch, así como la arquitectura, un tanto especial de las mismas.

Controles UI

Antes de crear la interfaz de usuario de una aplicación para watchOS, debes conocer los diferentes elementos de interfaz que puedes incluir dentro de Xcode.

Selectores

Si quieres incluir un selector, y manejarlo mediante la corona digital del Apple Watch, la única forma de hacerlo es mediante el objeto WKInterfacePicker.

Posicionamiento

Debido a lo peculiar de la interfaz de watchOS, no tenemos que lidiar con AutoLayout ni otras metodologías para colocar nuestros elementos en la interfaz, por lo que en esta clase aprenderás que es una tarea bastante sencilla.

Navegación

Aquí aprenderás sobre los distintos modos de navegación disponibles en watchOS, así como a combinarlos entre sí.

Menús

En watchOS existen los menús conceptuales, y es importante conocer cómo crearlos y cómo responder a la interacción del usuario con ellos.

Animaciones

La forma de animar las interfaces en watchOS es muy similar a la de UIView en iOS. Veremos los dos métodos disponibles: animación de una secuencia de imágenes y la API de animación específica.

Glances

Característica particular de watchOS. Es una vista especial de nuestra app, una forma más ligera, de sólo lectura, en la cual consultar información relevante de nuestra app de forma rápida y muy accesible.

Notificaciones

Sin duda uno de los usos principales que se le da al Apple Watch es el de centro de notificaciones. Hay distintos tipos de notificaciones en watchOS, y en esta clase te los mostramos todos.

Complications

Las complicaciones son pequeños elementos que aparecen en el watch face del usuario, para proporcionarle un acceso rápido a datos relevantes de la aplicación que las soportan.

Complications II TimeTravel

Time Travel permite al usuario conocer el estado de una complication en un momento determinado, a medida que avanza o retrocede en el tiempo girando la Digital Crown de su Apple Watch.

Watch Conectivity

En muchas ocasiones, será fundamental compartir información entre nuestras apps en watchOS y su correspondiente en iOS, para mantenerla actualizada en todo momento y podamos consultarla y manipularla indistintamente, desde donde nos resulte más cómodo.

Audio Video

Como desarrolladores, tenemos acceso a la reproducción de audio y video, así como a la grabación de audio, accediendo tanto al altavoz como al micrófono del Apple Watch.

Clase Proyecto 1

Las tableView son uno de los elementos de interfaz más elementales de iOS, y también se pueden implementar en watchOS de forma muy sencilla. En esta clase proyecto, vamos a crear una aplicación basada en tabla, cuyas celdas podremos seleccionar para pasar a una vista de detalle.

Clase Proyecto 2

Seguimos con las tablas, personalizamos la interfaz de las filas, añadiendo una vista de detalle, pero en este caso obtenemos los datos de un JSON e introducimos animaciones en nuestra app.

Introducción a PASCAL

PASCAL es el leguaje preferido en la mayoría de centros de enseñanza para aprender a programar, conoceremos sus características, descargamos el entorno y creamos nuestro primer programa en Turbo Pascal con Lazarus.

Elementos básicos de Pascal y compilador

Conocemos las variables y los tipos de básicos primitivos para empezar a realizar nuestros primeros programas además veremos conversión entre tipos, constantes y variables. De paso repasamos como se utiliza el Debug que sirve para inspeccionar nuestro codigo mientras se ejecuta.

Instrucciones Estructuradas

Todos los programas deben ejecutar su comportamiento según nosotros queramos ya puede ser que tome decisiones o que repita el mismo fragmento de código varias veces, veremos estructuras de control IF, ELSE, WHILE ,FOR que se utilizan para ello.

La calculadora PASCAL

Vamos a crear una calculadora funcional para poder realizar operaciones. Utilizaremos todo lo aprendido anteriormente.

Procedimientos y funciones

Es la hora de ir separando unas funcionalidades de otras para poder crear programas más amplios, aprendemos que son los procedimientos y las funciones.Aprendemos usar el concepto de modularidad de los lenguajes de Alto nivel

(Proyecto) Lotería Pascal

Ahora con todo lo aprendido vamos a realizar un programa que nos genere números de lotería para nuestro día a día, esperemos que toque smile

Carrera de Caballos. Parte A.

Vamos a crear un programa que nos permita hacer correr a 3 caballos usando todo lo aprendido hasta ahora, donde además podremos realizar apuestas y ganar o perder dinero dependiendo del resultado de la carrera.

Carrera de Caballos. Parte B.

Vamos a crear un programa que nos permita hacer correr a 3 caballos usando todo lo aprendido hasta ahora, donde además podremos realizar apuestas y ganar o perder dinero dependiendo del resultado de la carrera.

Recursividad

Cuando una función/procedimiento se llama así misma se llama recursividad, es una manera limpia y cómoda de resolver problemas veremos tipos de recursividad, infinita, lineal, final, múltiple, conversión de recursividad a iteración.

Tipos simples y conjuntos

Definimos nuestros propios tipos de datos y creamos conjuntos para guardar información.

Array / Arreglos/ Almacenes

En la mayoría de ocasiones necesitamos guardar información del mismo tipo en una misma estructura, esta se llama arreglos. Además contamos con acceso directo a sus posiciones y veremos la manera de recorrer estos para mostrar toda su información guardada.

Parte Meteorológico

En esta ocasión vamos a realizar un parte meteorológico con nuestros conocimientos, gracias a los Arrays vamos a poder ofrecer funcionalidades avanzadas como poder predecir el tiempo que habrá en el futuro.

String

String en un tipo variable que nos va a permitir almacenar cadenas de texto , algo muy útil a la hora de guardar información, además veremos operaciones sobre estos variables de tipo String muy útiles.

Mini Procesador de Textos

Con lo que hemos aprendido de String podemos empezar a hacer nuestro pequeño procesador de textos con algunas funciones muy útiles para los escritores.

Algoritmos de búsqueda y Ordenación. Parte A.

Cuando queremos ordenar elementos utilizamos algoritmos de ordenación veremos Búsqueda secuencial en colecciones no ordenadas/ordenadas, algoritmos de ordenación inserción directa/selección directa/intercambio directo.

Algoritmos de búsqueda y Ordenación. Parte B.

Cuando queremos ordenar elementos utilizamos algoritmos de ordenación veremos Búsqueda secuencial en colecciones no ordenadas/ordenadas, algoritmos de ordenación inserción directa/selección directa/intercambio directo.

(Proyecto): Ordenando la mochila de Dera la mochilera

Dera se va al campo y vamos a ordenar su mochila siguiendo diferentes elecciones.Para no perderse ha de encontrar la manear optima de rellenar su mochila para que no se canse por el camino.

Ordenando Arrays de varias dimensiones

Vamos a ver una técnica muy sencilla para enfrentarnos al problema de tener que ordenar arrays de varias dimensiones

Registros

Agrupamos varios tipos de datos distintos en un solo registro para simplificar nuestra programación veremos acceso a campos de un registro, registros como parámetros, WITH, registros variantes, arrays parcialmente llenos,..

(Proyecto) Agenda Telefónica para contactos

Es hora de organizar nuestros contactos telefónicos en una agenda ahora que conocemos los registros lo haremos de una manera cómoda y fácil.

I/O Pascal

Existen 2 maneras de guardar información en un medio no volátil, podremos guardarlos en archivos binarios o archivos de texto. Abrimos/creamos y modificamos archivos con pascal. Veremos tratamiento de errores y como se cargan documentos.

(Proyecto) Agenda Telefónica para contactos(mejoras)

Es hora de organizar nuestros contactos telefónicos en una agenda ahora que conocemos los registros lo haremos de una manera cómoda y fácil.

Punteros y estructuras de datos dinámicas

 Vamos a trabajar con memoria dinámica, de esta manera podremos almacenar información en tiempo de ejecución según las necesidades de nuestro programa.

Implementando Estructuras de Datos Dinámicas. Parte A.

Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.

Implementando Estructuras de Datos Dinámicas. Parte B.

Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.

Implementando Estructuras de Datos Dinámicas. Parte C.

Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.

Implementando Estructuras de Datos Dinámicas. Parte D.

Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.

Generador de Información

Para nuestros proyectos , vamos a necesitar generar información de manera aleatoria que parezca real , para realizar nuestros test, además tenemos que acomodar este generador de información para poder utilizarlo en diferentes programas.

(Super proyecto): Reservas de Autobuses el Pato S.A con todo lo aprendido. Parte A.

Una vez aprendida las estructuras de datos básicas vamos a proceder a crear un programa más ambicioso en este caso se trata de un sistema de reserva de plaza en los autobuses de El Pato S.A, vamos a añadir todo lo aprendido y nuevas funcionalidades para nuestra empresa.

(Super proyecto): Reservas de Autobuses el Pato S.A con todo lo aprendido. Parte B.

Una vez aprendida las estructuras de datos básicas vamos a proceder a crear un programa más ambicioso en este caso se trata de un sistema de reserva de plaza en los autobuses de El Pato S.A, vamos a añadir todo lo aprendido y nuevas funcionalidades para nuestra empresa.

(Super proyecto): Reservas de Autobuses el Pato S.A con todo lo aprendido. Parte C.

Una vez aprendida las estructuras de datos básicas vamos a proceder a crear un programa más ambicioso en este caso se trata de un sistema de reserva de plaza en los autobuses de El Pato S.A, vamos a añadir todo lo aprendido y nuevas funcionalidades para nuestra empresa.

Introducción a Unidades e Interfaces Pascal

SI necesitamos importar una funcionalidad definida previamente en otro programas o bien si queremos crear nuestras propias estructuras de datos necesitamos Unidades e Interfaces Turbo PASCAL, vamos a ver como se crean y sus múltiples usos.

Árboles y arboles binarios. Parte A.

Un árbol es una estructura de baja complejidad y rápida para almacenar información, muy útil para la creación de buscadores,aplicaciones,3D…ect, vamos a aprender que es una estructura de tipo árbol y implementarla para poder usarla.

Árboles y arboles binarios. Parte B.

Un árbol es una estructura de baja complejidad y rápida para almacenar información, muy útil para la creación de buscadores,aplicaciones,3D…ect, vamos a aprender que es una estructura de tipo árbol y implementarla para poder usarla.

(Proyecto) Las decisiones de IA

 Como ya hemos aprendido que es un árbol vamos a enfrentarlo a un programa que nos decida cuál es la mejor manera de tomar una decisión, dependiendo del contexto en que se encuentre.

Introducción y conceptos

En esta primera clase vamos a hacer un repaso de todo lo que veremos en te primer módulo del curso de Hacking Ético, también mencionaremos las herramientas que vamos a usar a lo largo del curso.

Programación y codificación de un virus. Parte A

Empieza la programación de un virus informático, vamos primero a conocer algunas herramientas y lenguajes necesarios para poder usarlos en la creación de nuestro virus.

Programación y codificación de un virus. Parte B

En esta segunda parte empezamos a terminar nuestro proyecto de creación del virus y empezamos a ver las formas de uso y manejo del virus informático (Keylogger), así también como su potencial alcance.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

Tutorial de uso de Kali Linux y consola de comandos. Parte A

Una clase muy importante para el manejo de la consola de comandos, conoceremos todos los detalles de esta y veremos cuales son sus funciones principales dentro del curso.

Tutorial de uso de Kali Linux y consola de comandos. Parte B

En esta segunda parte ampliaremos los detalles de esta terminal, veremos comandos más avanzados que nos servirán a lo largo de todo el curso de Hacking.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explica ampliamente los aspectos que iremos viendo a lo largo del módulo y los conocimientos que obtendremos al culminarlo.

¿Qué es pentesting?

Esta clase nos ayudará a entender cómo se hacen las pruebas de penetración dentro de una máquina virtual, también veremos la importancia de corregir los errores en este tipo de pruebas llamadas pentesting.

Instalación de VirtualBox

Aprenderemos todo lo necesario para hacer una instalación correcta de nuestra máquina virtual (VirtualBox), esto nos permitirá instalar cualquier tipo de sistema operativo sin tener que modificar el sistema que tengamos por defecto.

Herramientas y simulaciones con pentesting

En esta clase veremos las herramientas con mayor potencial en el ámbito del hacking y también realizaremos simulaciones dentro de nuestra máquina virtual, usando el sistema operativo Kali, instalado previamente en la clase anterior.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo del módulo y los conocimientos que obtendremos al culminarlo.

La importancia de una previa exploración

En el mundo del hacking y la ciberseguridad, tener en cuenta una exploración antes de cualquier ataque o penetración a un sitio es una medida obligatoria para tener rastro y seguridad a la hora de hacer este tipo de prácticas.

Detectando tecnologías de un sitio específico

Haremos uso de distintas herramientas a nivel de consola y aplicación con el fin de detectar cuáles son las diversas tecnologías que usan los distintos sitios web, esto ayudará a entender como está estructurado un sitio en específico.

Tecnologías más usadas en exploración web

Veremos cuáles son las tecnologías que se usan actualmente y también analizaremos la importancia de cada una de estas herramientas. Así conoceremos la real importancia de hacer una exploración web.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo del módulo y los conocimientos que obtendremos al culminarlo.

¿Qué es recopilar información?

Hay una duda dentro de la informática sobre la trascendencia del recopilar información. Veremos que somos víctimas de esta recopilación de información masiva en el internet y cómo podemos hacer para poder obtener información relevante tanto de sitios web como de personas.

Detección de puertos

El uso del comando de consolas va ser completamente cardinal en esta clase, es por eso que usaremos comandos especiales en la terminal de comandos, para poder acceder a distintos puertos de diferentes sitios web.

Detección de subdominios

Se aplicará también el uso de la terminal de consola para poder acceder a dominios y subdominios de distintos sitios web, veremos además cómo algunos dominios son reservados para futuros proyectos y lo fácil que es identificar este tipo de sitios con dominios y subdominios falsos.

Analisis de consultas (WHOIS)

En esta clase conoceremos el protocolo TCP, que permite hacer peticiones de preguntas y respuestas a nivel de servidor. De esta manera aprovecharemos los errores que haya para poder acceder a consultas a nivel servidor de sitios web específicos.

Descarga de sitios web (HTTRACK)

Siempre es útil poder hacer un clonado de un sitio web en específico, pues en esta clase vamos a hacer uso de la herramienta HTTRACK a nivel de terminal, para poder hacer la descarga de sitios web completos y luego modificarlos a nuestro gusto.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

Uso del método POST

Es importante mencionar que en esta clase se hablará sobre conceptos que abarcan conocimientos previos de lenguaje de programación, y pues este método post forma parte de un sitio web. Así que veremos como al modificar este “método” es posible modificar la estructura del sitio.

Uso del método PUT

Esta clase contiene lenguaje de programación que veremos a grandes rasgos y entenderemos la importancia de modificar este tipo de métodos PUT para extraer información de un sitio web.

Explicación de métodos HHTP

Daremos explicación a todos los métodos http que estructuran un sitio web, esto también nos hará entender la importancia de conocer la estructura de cualquier sitio que busquemos atacar.

Uso del método GET

Mencionar que en esta clase se hablará sobre conceptos que abarcan conocimientos previos de lenguaje de programación, y pues este método GET forma parte de un sitio web. Así que veremos cómo al modificar este “método” es posible modificar la estructura del sitio.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

¿Qué es crawling?

En esta clase entenderemos qué es un crawler o araña, y con ese conocimiento buscaremos hacer simulaciones de crawling, de esta manera veremos a profundidad la gestión de un sitio web.

Spidering con WebScarab

En esta clase nos ayudaremos de la herramienta WebScarab para poder hacer la búsqueda de sitios web específicos que queremos encontrar, esto sirve para poder tener un filtro a la hora de atacar sitios web con características específicas.

Spidering con ZAP. Parte A

Nos ayudaremos con la herramienta ZAP para poder hacer la búsqueda de sitios web específicos que queremos encontrar, esto sirve para poder tener un filtro a la hora de atacar sitios web con características distintas.

Spidering con ZAP. Parte B

Nos ayudaremos con la herramienta ZAP para poder hacer la búsqueda de sitios web específicos que queremos encontrar, esto sirve para poder tener un filtro a la hora de atacar sitios web con características distintas.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

Cómo vulnerar con XSS, CSRF, Clickjacking, SSRF

Haremos uso de un sitio web que nos permitirá trabajar con simulaciones de distintos contextos basados en ejemplos para cada tipo de vulnerabilidad.

Uso de herramienta XAMPP

Con esta herramienta vamos a poder generar una conexión de red local que simulará un servidor en el que vamos a trabajar en esta clase y futuras clases para poder crear sitios web de manera local.

Aplicación de ClickJacking

Con ayuda de un sitio web que nos permitirá trabajar con simulaciones de distintos contextos basados en ejemplos para cada tipo de vulnerabilidad llamada ClickJacking.

Aplicación BurSuite

Con esta herramienta increíble vamos a poder hacer muchas simulaciones de métodos de vulnerar tanto sitios web como aplicaciones. Puesta esta herramienta nos ayudará a crear diccionarios de claves para poder vulnerar passwords entre otras cosas.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

Cómo vulnerar con RCE

En esta clase aprenderemos qué es una ejecución de código remoto o RCE y lo haremos a través de la terminal de consola de nuestro Kali Linux.

Vulnerabilidades LFI

En esta clase aprenderemos qué es una vulnerabilidad de inclusión de archivos y lo haremos a través de la terminal de consola de nuestro Kali Linux.

Vulnerabilidades RFI

En esta clase aprenderemos que es una vulnerabilidad de solicitud de información y lo haremos a través de la terminal de consola de nuestro Kali Linux.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

¿Qué es Nikto y cómo funciona?

Quizá una de las herramientas más importantes dentro de la consola de terminal y el sistema operativo Kali, ya que esta potente herramienta nos ayudará a encontrar todas las vulnerabilidades que tenga un sitio web.

     

Exploración de WhatWeb

Usaremos Whatweb que puede recolectar información como: plataforma en la que se construyó el sitio, tipo de script en el que se usa el script del sitio, Google Analytics y dirección IP.

Exploración de ZAP

En esta clase nos ayudaremos de ZAP para poder hacer escaneos de sitios web y de esta encontrar sus vulnerabilidades para posteriormente hacer un ataque especifico y eficaz.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo

Instalación de WordPress y Joomla

Actualmente existe uno de los gestores de sitios web más usados es WordPress, en esta clase conoceremos cómo es crear una página web en este gestor y también usaremos Joomla para conocer más a fondo el sitio que crearemos.

Uso del Joomscan

Aprenderemos a hacer escaneos de sitios web y también distinguir las distintas extensiones y tecnologías que usen estos sitios web.

Uso del CMSeek

En esta clase veremos cómo es posible gestionar un CMS con ayuda de CMSeek, veremos la interfaz muy amigable y fácil de usar de esta herramienta que nos permitirá realizar gestión remota de un CMS.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

¿Qué es la fuerza bruta? - BurSuite

Usaremos nuevamente la herramienta BurSuite, pero esta vez para otro fin, el cual es el de vulnerar contraseñas y usuarios con el método de fuerza bruta, es decir crearemos patrones de posibles claves y forzaremos que la herramienta pruebe cada una de estas claves.

Fuerza bruta – SSH

En esta clase conoceremos más de SSH, es el nombre de un protocolo y del programa que lo implementa cuya principal función es el acceso remoto a un servidor por medio de un canal seguro en el que toda la información está cifrada

Fuerza bruta – FTP

Comprenderemos que TCP es el protocolo de transferencia de archivos y un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP, basado en la arquitectura cliente-servidor

Infección de APK en Android

Conoce los casos Infección de APK en Android.

Uso de MSFVenom

Analizaremos esta nueva herramienta de Metasploit Framework que sustituye a las herramientas conocidas como Msfpayload y Msfencode.

Simulación de ataque de APK a movil Android

Con ayuda del Metasploite buscaremos crear un exploit que sea específico para sistemas Android para luego hacer la prueba de simulación, infectando un dispositivo Android.

Introducción. Robo de información con ETTERCAP

Conoce los casos de robo de información con ETTERCAP.

 Instalación y configuración de Ettercap

Analizaremos este interceptor/sniffer/registrador para LANs con switch. Sirve en redes LAN conmutadas, aunque es utilizado para auditorías en distintos tipos de redes.

Simulación de envenenamiento y sustracción de datos.

En esta clase haremos una simulación de envenenamiento con Ettercap y buscaremos la manera de sustraer datos de un ordenador, ya sean imágenes o documentos.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

¿Qué es WEP y WPA2?

Daremos una explicación detallada de estos protocolos de seguridad de redes, veremos un poco la historia desde que salió el primer protocolo de red hasta el último protocolo que se considera actualmente el más seguro.

Simulación de ataque a una red inalámbrica

Es posible vulnerar un protocolo de red y eso es lo que haremos en esta clase, usando comandos especiales dentro de nuestro terminal, veremos que es posible introducirnos dentro de estos protocolos de red y cambiarlos a nuestro modo.

Metodos de hackeo a redes sociales

Introducción al Métodos de hackeo a redes sociales

¿Qué es ingeniería social?

Conoceremos un poco más de esto que es la práctica de obtener información confidencial a través de la manipulación de usuarios legítimos.

Uso de HTML y mensajería

En esta clase hablaremos sobre este lenguaje de marcado que se utiliza para el desarrollo de páginas de internet. Se trata de las siglas que corresponden a HyperText Markup Language (HTML), es decir, Lenguaje de Marcas de Hipertexto

Simulación de sustracción de correos y contraseñas

Vamos a ir modificando código HTML para poder ir de a poco extrayendo información importante como correos y contraseñas de usuarios que se encuentren dentro de una base de datos.

Maltego

Veremos una de las herramientas más potentes que nos ayudará a encontrar información de todo tipo, ya sea de personas naturales, marcas personales, servidores y otros.

Introducción al módulo.

Se inicia un nuevo módulo en el que se explican ampliamente los aspectos que iremos viendo a lo largo de este y los conocimientos que obtendremos al culminarlo.

Modificar VPNs y servidores locales

Para buscar mantenernos dentro del anonimato, haremos uso de VPNs y servidores locales que ayudarán a que nos pongamos en seguridad, modificando nuestras direcciones IPs estaremos en anonimato e incluso veremos que tenemos beneficios extras.

Modificar la voz y sonido

Se usará la herramienta Audacity para hacer las modulaciones de ondas sonoras a la hora de hacer Vishing a cualquier víctima, de esta manera también tendremos anónimo a la hora de practicar los métodos de vulnerabilidad.

Navegadores anónimos

La importancia de usar un navegador anónimo que use distintas capas en los servidores de búsqueda es tan importante para mantener la seguridad. En esta clase haremos uso de 3 navegadores anónimos.

Recomendaciones finales.

Esta ultima clase será de repaso general y reflexión acerca de lo necesario que se debe tener para continuar en la senda de la informática y del hacking, así entonces dejaremos las pautas principales para que puedan seguir este largo camino del hacking y la ciberseguridad.

Creación de contactos

Los nombres válidos de métodos de un objeto instancia dependen de su clase. Por definición, todos los atributos de clase que son objetos funciones definen métodos correspondientes de sus instancias. Entonces, en nuestro ejemplo, __init__ es una referencia de un constructor de clase válido

Procedimientos y funciones

Los métodos son funciones que técnicamente se denominan métodos, y representan acciones propias que puede realizar el objeto.

Instalación y configuración del entorno de desarrollo

Aprenderemos a instalar y configurar el entorno de desarrollo de python, además de modificar tanto como visual y nuestro primer "Hello world"

Declaración de tipos

Comenzaremos con reconocer los tipos de datos primitivos además de operaciones fundamentales que nos ayudará entender el lenguaje.

Entradas y tipos de entrada de datos

Continuamos con los tipos de datos, en esta ocasión aprenderemos a usar los operadores lógicos, cuando decir verdadero y cuando decir falso.

Operaciones matemáticas

Esta clase está dedicada a las operaciones fundamentales y el almacenamiento de datos, tales como enteros y cadenas.

Operadores lógicos

Continuamos con los tipos de datos, en esta ocasión aprenderemos a usar los operadores lógicos, cuando afirmar ciertos datos.

Proceso de datos, enunciado

En esta clase identificamos el ejercicio y la solución que le podemos dar a este tipo de problemas, procesando datos entradas y salidas esperadas.

Procesos de datos, resolución

En esta clase practicaremos lo aprendido con el uso de almacenamiento de datos primitivos.

Proceso matemático

En esta práctica aplicaremos lo aprendido con operaciones matemáticas simples y básicas del lenguaje python.

Estructura de control: if

La estructura de control if permite que un programa ejecute ciertas instrucciones cuando se cumple una condición o varias condiciones, en esta clase aprenderemos en qué momento cumple una cierta condición.

Estructura de control:  if then else

En inglés "if" significa "si" (condición) y "else" significa "si no", en caso de que la condición if no se cumpla se ejecutará la instrucción else, en esta clase aprenderemos a diferenciar cuando deja de cumplir una condición.

Estructura de control: for

En esta clase aprenderemos cómo funciona la estructura de control For, El cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento recorrible.

Estructura de control:  while

Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición (es decir, mientras la condición tenga el valor True). Aprenderemos a controlar un bucle while uno de los más peligrosos al momento de ejecutar un programa.

Calificación de estudiante, enunciado

En esta clase identificamos el ejercicio y la solución que le podemos dar a este tipo de problemas, en este caso haciendo uso de todo lo aprendido.

Calificacion de estudiante, resolucion

Los condicionales if - else, son una estructura de control, que nos permiten tomar cierta decisión al interior de nuestro algoritmo. resolveremos el problema usando estas estructuras de control, bajo estas recomendaciones crearemos un programa que permita ejecutar nuestras aplicaciones bajo ciertas condiciones.

Restricción de frase, enunciado

En esta clase identificamos el problema para plantearnos una solución posible al enunciado (recordemos que la cantidad de soluciones posibles depende de cuanta imaginación nos nazca)

Restricción de frase, resolucion

Usaremos la estructura de control "For" para resolver este problema, recordemos que el cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento recorrible.

Sumatoria de valores, enunciado

En esta clase identificamos el ejercicio y la solución que le podemos dar a este tipo de problemas.

Sumatoria de valores, resolución.

Usaremos la estructura de control while para este ejercicio, recordemos que cuando la condición se evalúa como false, la ejecución continúa con la sentencia posterior al bucle while.

Uso de listas

Las listas o colecciones en Python son un tipo de estructuras de datos muy flexible que guardan de forma ordenada un conjunto de datos que no tiene porque ser del mismo tipo.

Uso de diccionario

Un Diccionario es una estructura de datos y un tipo de dato en Python con características especiales que nos permite almacenar cualquier tipo de valor como enteros, cadenas, listas e incluso otras funciones. veremos una forma de implementar para darle uso a posterior.

Uso de tupla

Las Tuplas se representan escribiendo los elementos entre paréntesis y separados por comas. bajo ese concepto haremos el uso de tuplas con distintos tipos de datos.

Promedio de valores, enunciado.

En esta clase aprendemos a tomar los requerimientos que nos solicitan para realizar el programa.

Promedio de valores, resolución

En esta clase aprenderemos el uso de listas para poder realizar la sumatoria de valores y poder hallar el promedio de notas de un estudiante.

Manejo de usuarios, enunciado

En esta clase definiremos la lógica de negocio de usuarios y cuentas para luego procesarlas en código.

Manejo de usuarios, resolución

En esta clase haremos uso de los diccionarios, en este caso creando usuarios y sesiones tomando la lógica de negocio planteado y dar una solución a nuestro problema.

Uso de math

Importamos y daremos uso a la librería math, esta librería de python te da acceso a funciones hiperbólicas, trigonométricas y logarítmicas para números reales.

Uso de cases

Esta forma de uso nos ayuda a obtener ítem de forma rápida quitando el uso de condicionales, sin tener que hacer uso de la estructura de control if.

Uso de las listas

Algunos trucos y usos que le podemos dar a un array o colecciones de elementos, y sacar provecho de las cosas que nos ofrece python.

Uso de iteradores

El uso de iteradores es una forma rápida de manejo de listas ya sea con tipos de datos primitivos u objetos.

Uso de constantes

Una constante es un valor que no puede ser alterado / modificado durante la ejecución de un programa, únicamente puede ser leído.

Procedimientos y funciones

Aprenderemos el uso efectivo de funciones y procedimientos que son muy utilizados en el mundo de la programación.

Función recursiva

En esta clase aprenderemos el uso correcto de la recursividad y los procesos recursivos que nos ayudan a resolver problemas específicos.

Factorial de un número

En esta clase aprenderemos a crear la factorial de un número N, pero en esta ocasión haciendo uso de la recursión.

Encontrar camino (uso de back tracking)

El back tracking nos ayuda mucho en la búsqueda de caminos alternos y la disipación de enfermedades, realmente es un tema muy interesante.

Menú de operaciones

En esta clase aprenderemos a implementar una aplicación por consola, tomando de referencia el ejemplo de un ejecutable.

Estructuras de dato:  pila - stack

El comportamiento de una pila - stack se puede describir mediante la frase "Lo último que se apiló es lo primero que se usa"

Estructuras de dato:  cola - queue

Podemos entenderlo de la siguiente manera: “el primero que llega es el primero en ser atendido”, los demás se van encolando hasta que les toque su turno.

Clase objeto

¿Alguna vez has pensado si puedes crear tus propios tipos de datos? Como una persona, un coche, universidades, etc. En python un objeto es un tipo de dato definido por el usuario.

Funciones y procedimientos

Los métodos son como funciones en python, ya que se definen con la palabra clave def y cuentan con el mismo formato que las funciones. En nuestra clase, vamos a definir un método que nos devuelva datos o procese información

Herencia de objetos

La herencia es un mecanismo de la programación orientada a objetos que sirve para crear clases nuevas a partir de clases preexistentes.

Composición de objetos

La composición de clase permite relaciones explícitas entre objetos. En este ejemplo, los empleados pertenecen a ciertas empresas.

Juego puzzle

En esta clase aprenderemos a crear un juego muy conocido puzzle con Programación orientada a objetos.

Función filtros - filter

Tal como su nombre indica filter significa filtrar, ya que a partir de una lista o iterador y una función condicional, es capaz de devolver una nueva colección con los elementos filtrados que cumplan la condición.

Función map

La función map ejecuta una función sobre cada uno de los elementos de un iterador (generalmente una lista o tupla) y retorna un nuevo iterador con elementos.

Función reduce

La función reduce es una función que toma como argumento un conjunto de valores (una lista, una tupla, o cualquier objeto iterable) y lo "reduce" a un único valor y en caso de objetos devuelve un modelo en general.

Función lambda

La función se ha asignado a una variable, algo que no es necesario, pero así se puede utilizar como si fuese una función normal creada con def

Creando iterador

Aprenderemos a crear pequeña librería para poder darle uso. Este método debe devolver un iterador capaz de recorrer la secuencia como corresponda. Nota. Un iterador es un objeto que permite recorrer uno a uno los elementos almacenados en una estructura de datos, y operar con ellos.

 

Captura de errores try catch

El manejo de excepciones se hace mediante los bloques que utilizan las sentencias try, except y finally. Dentro del bloque try se ubica todo el código que pueda llegar a levantar una excepción.

Lectura de datos

En python, un archivo físico debe asignarse a un objeto de archivo integrado con la ayuda de la función integrada open (parametro,parametro).

Escritura de datos

En esta clase aprenderemos el uso de escritura de archivos en todas sus formas posibles usando la función open ().

Actualización de datos

Una forma en que podemos mantener datos y/o actualizarlos o simplemente agregar nuevos datos a nuestros archivos.

Pasos iniciales con angular y typescript

Aprenderemos a usar el terminal de comandos, a instalar NodeJs, luego instalaremos el Angular CLI y crearemos nuestro primer proyecto en Angular.

Mini proyecto convertidor de unidades para reforzar los primeros pasos

Esta entretenida clase será para hacer nuestro primer miniproyecto un convertidor de diferentes unidades de medida.

Componentes y plantillas

Ha llegado la hora de crear nuestro primer componente en Angular literalmente la piedra angular de los proyectos de este Framework.

En qué lenguajes estamos escribiendo: el typescript

Definiremos los conceptos básicos de Typescript, nuestro lenguaje por excelencia durante el curso.

Clases e interfaces

Aprenderemos sobre Clases, modelos de datos y objetos a través de pequeños ejemplos del mundo cotidiano.

Directivas y binding

Conoceremos que son las directivas y revisaremos las más importantes como ngIf, ngFor, ngSwitch, ngStyle, ngClass, como manejar eventos de click, data-biding y two way data-biding.

Crear directivas

Crearemos una directiva personalizada y plantearemos fundamentos para que podamos crear nuestra propias directivas.

Routing y navegación

Aprenderemos a configurar el routing, manejo de rutas, parámetros y re direccionamiento por router.

Practica de mini site con bootstrap

Crearemos un sitio web típico usando las técnicas provistas por el framework Angular.

Servicios y HttpClient. Parte A

Comenzaremos a incorporar nuestros primeros servicios, y crearemos un servicio usando HttpClient.

Servicios y HttpClient. Parte B

Continuaremos nuestro ejercicio con nuestro servicio de ejemplo y HttpClient.

Servicios y HttpClient final y pipes en angular

Finalizaremos el ejercicio de servicios, y conoceremos los Pipes y sus tipos más comunes como lo son los de fecha, text y numéricos, además haremos nuestro propio Pipe personalizados.

Formularios orientados a plantillas y reactivos

Aprenderemos a usar los formularios orientados a plantillas y los formularios reactivos, además de como validarlos Angular.

LocalStorage con ejercicio práctico. Parte A

Realizaremos un ejercicio para usar el almacenaje de datos locales que se encuentra dispuesto en nuestros navegadores.

LocalStorage con Ejercicio práctico. Parte B

Finalizaremos el ejercicio de LocalStorage.

Repositorios git.

Aprenderemos nociones básicas de git las cuales nos ayudaran a gestionar los proyectos de Angular.

Promesas, observables y rxjs. Parte A

Conoceremos a las promesas y los observables en que se diferencian y revisaremos varias funciones y métodos que retornan promesas u observables.

Promesas, observables y rxjs. Parte B

Realizaremos ejemplos de promesas y revisaremos la librería RxJs.

Proyecto portfolio. Parte A

Crearemos la estructura de nuestro proyecto y routing básico.

Proyecto Portfolio. Parte B

Crearemos nuestro formulario de login y lo conectaremos con Firebase Authentication.

Proyecto portfolio. Parte C

Comenzaremos a crear nuestro CRUD de manejo de proyectos del portafolio y lo enlazaremos con Cloud Firestore.

Proyecto portfolio. Parte D

Haremos un formulario de creación de proyectos y agragaremos paquetes npm para manejo de selectores de fecha.

Proyecto portfolio. Parte E

Manejaremos la edición y borrado de nuestro CRUD de proyectos.

Proyecto portfolio. Parte F

Agregaremos a nuestro CRUD la capacidad de subir archivos a Firebase Storage.

Proyecto portfolio. Parte G

Continuaremos agregando la subida de imágenes a nuestro CRUD de proyectos.

Proyecto portfolio. Parte H

Agregaremos la capacidad de envío de correos a nuestro proyecto para manejar nuestro formulario de contacto.

Proyecto portfolio. Parte I

Haremos el Deploy de nuestro proyecto a Firebase Hosting y a Heroku.

Introducción a mongoDb

Aprenderemos los fundamentos del manejador de bases de datos NoSQL MongoDb, realizaremos su instalación y ejercicios de práctica.

Servidor Web typescript + express + mongoose

Para el manejo de nuetro backend crearemos un proyecto en NodeJS, en el cual levantaremos un servidor con typescript, express y mongosee.

Modelando entidades con mongoose para mongoDb

Modelaremos las entidades necesarias para el proyecto de arriendo de mobiliario.

Agregando jwt a express

Agregaremos a nuestro proyecto backend la capacidad de usar Json Web Tokens para realizar el manejo de sesiones de nuestro proyecto.

Personalizando coreUI free y haciendo login para conectar nuestro backend

Instalaremos el template de Angular llamado CoreUI e iniciaremos con el formlario de login.

Login, jwt, interceptor, guard

Conectaremos el Login a nuestro backend, para lo cual aprenderemos a integrar JWT con Angular, agregaremos un interceptor para la inclusión de los tokens y un Guard para proteger las rutas del proyecto.

CRUD de colecciones mongoDB. Parte A

Iniciaremos la creación de los CRUD de los modelos del proyecto de arriendo de mobiliario, partiendo con la creación de usuarios.

CRUD de colecciones mongoDB. Parte B

Continua la creación de los CRUD, ahora agregaremos Datatables a nuestro CRUD de usuarios.

CRUD de colecciones mongoDB. Parte C

A continuación agregaremos la capacidad de editar y eliminar usuarios.

CRUD de colecciones mongoDB. Parte D

Iniciaremos la creación del CRUD de temáticas e incorporación de la capacidad de subir imágenes.

CRUD de colecciones mongoDB y multer para subir archivos. Parte E

Continuamos con la creación del CRUD de temáticas, donde para poder subir imágenes a nuestro backend deberemos incorporara el paquete Multer.

CRUD de colecciones mongoDB. Parte F

Iniciaremos la creación del CRUD de items e incorporación de la capacidad de subir imágenes.

CRUD de colecciones mongoDB. Parte G

Ahora toca el turno del CRUD de Tipos de Evento el cual tiene un rol central en el proyecto de arriendo de mobiliario.

CRUD de colecciones mongoDB. Parte H

Se continúa generando la funcionalidad del generador de relaciones entre ítems para el CRUD de Tipo de Evento.

CRUD de colecciones mongoDB. Parte I

Se culmina el CRUD de tipo de eventos su funciones de editar y borrar, además se crea el CRUD de clientes.

CRUD de colecciones mongoDB. Parte J

Se inicia con el CRUD de presupuestos, el cual requiere ajustes en backend donde agregaremos los tipos de lugar.

CRUD de colecciones mongoDB, google places y angular google maps. Parte K

Continuando nuestro CRUD de presupuestos, debemos incorporar a Google Places para las direcciones y Angular Google Maps para poder visualizar las direcciones en mapa.

CRUD de colecciones mongoDB. Parte L

Comenzaremos a agregar la lógica que nos permitirá calcular los presupuestos de eventos de arriendo de mobiliario, el cual se centra en los Tipos de Eventos y su relación entre items.

CRUD de colecciones mongoDB. Parte M

Finaliza el cálculo básico del presupuesto.

CRUD de colecciones mongoDB. Parte N

Se agrega a los presupuestos el cálculo del envío según la distancia en kilómetros entre nuestro centro de eventos y la dirección del cliente.

CRUD de colecciones mongoDB. Parte O

Se inicia con el CRUD de Eventos, el cual parte de la base de un presupuesto.

CRUD de colecciones mongoDB. Parte P

Se agrega la lógica de inventario de ítems y se realizan ajustes generales al proyecto.

CRUD de colecciones mongoDB, publicar base de datos en atlas. Parte Q

Se continúan los ajustes generales, y aprenderemos como publicar nuestra base de datos MongoDb a Atlas el servicio de nube de MongoDb.

CRUD de colecciones mongoDB, deploy del proyecto a firebase y heroku. Parte R

Realizaremos el deploy del proyecto usando Firebase Hosting para el frontend de Angular y Heroku para el backend.

 Socket IO. Parte A

Aprenderemos que son los sockets y que es Socket IO, iniciaremos la creación de un backend en NodeJs basado en nuestros proyectos anteriores, para poder usar Socket IO.

Socket IO. Parte B

Realizaremos la integración de Socket IO y Angular, aprenderemos a emitir eventos y como capturarlos.

Socket IO. Parte C

Deploy a Atlas, Heroku y Firebase

Pruebas unitarias con jasmine y karma. Parte A

Aprenderemos a realizar pruebas unitarias básicas, luego agregaremos pruebas unitarias nuestro proyecto anterior “Chat con Socket IO”

 Pruebas unitarias con jasmine y karma. Parte B

Para continuar nuestra práctica de pruebas unitarias tomaremos al proyecto de Arriendo de Mobiliario y le agregaremos algunas pruebas unitarias.

Publicar Angular en Apache

Crearemos un servidor en Google Cloud usando el servicio Compute Engine, instalaremos webmin para gestionar nuestro server, realizaremos la instalación de apache y el deploy de nuestro proyecto.

Publicar Angular en Nginx

Crearemos un servidor en Amazon Web Services usando el servicio EC2, instalaremos webmin para gestionar nuestro server, realizaremos la instalación de Nginxy el deploy de nuestro proyecto.

 Manejo de Ambientes Personalizados

Aprenderemos como crear diferentes ambientes para nuestro proyecto Angular como lo son el ambiente de QA y Certificación.

Esquemáticas en Angular

Aprenderemos nociones básicas de esta funcionalidad que nos permite generar nuestro propio comando generador para el Angular CLI.

Compilación jit, aot y deploy

Conoceremos las diferencias de jit y aot, además de la herramienta de deploy nativa del propio angular, que nos permitirá realizar deploy con un simple comando de angular.

Tips de objeto console para mejorar visualización de debug

Aprenderemos tips con el objeto console para mejorar la visualización de nuestro debug de proyectos javascript y typescript en general, lo cual nos aportará a nuestros proyectos Angular.

Introducción e instalación

En nuestra primera clase veremos una descripción general del curso y los temas que vamos a abordar a lo largo del mismo, también recomendaciones generales respecto al proceso de aprendizaje. Veremos la instalación Ruby en diferentes sistemas operativos y nuestro primer "hola mundo".

Conociendo Ruby

En esta clase veremos la utilización de variables en Ruby y cómo imprimirlas a través de la concatenación y la interpolación, veremos también un uso sencillo de condicionales a través de un ejemplo.

Programación y características de Ruby

En esta clase hablaremos brevemente acerca de la programación, su funcionamiento caracterÍsticas, paradigmas y lenguajes. Veremos la historia características y usos de Ruby.

Configuración del entorno de desarrollo

En esta clase veremos la configuración de nuestro entorno de desarrollo instalando y conociendo RVM en diferentes sistemas operativos e instalaremos también un editor de código y paquetes recomendados.

Lo básico

En esta clase empezaremos viendo prácticas recomendadas a la hora de definir variables, constantes, módulos, clases. También aspectos generales como los comentarios, extensiones y bloques.

Convenciones

En esta clase veremos más a detalle la diferencia entre variables y constantes, convenciones en nombre de métodos y valores retornados. Veremos también operadores.

Matemáticas

En esta clase veremos operaciones aritméticas simples y complejas y sus usos prácticos en Ruby tanto en irb como en scripts.

Strings. Parte A

En esta clase veremos las generalidades y características de cadenas de texto y métodos y operaciones que se pueden ejecutar sobre ellos.

Strings. Parte B

En esta clase abordamos la utilización de secuencias de escape, object id, y algunos métodos que nos permiten manipular cadenas de texto.

Colecciones. Parte A

En esta clase veremos la información básica y características de las colecciones y empezaremos utilizando arreglos y viendo algunos métodos que se pueden ejecutar sobre ellos.

Colecciones. Parte B

En esta clase continuamos con operaciones que se pueden hacer utilizando arreglos y también otro tipo de colección llamado hash o diccionario y sus características y métodos.

Toma de decisiones

En esta clase veremos a profundidad la toma de deciciones utilizando if, else, elsif y unless en sus diferentes sintaxis también conbinándolos con la utilización de operadores.

Ciclos

En esta clase veremos cómo se trabaja con los ciclos times, upto, downto, each while y until viendo las características de cada uno de ellos y en que casos prácticos se pueden utilizar.

Funciones

En esta clase abordaremos en detalle la utilización de funciones, sus características y uso, los tipos de parámetros, particularidades y casos prácticos de uso.

Temas varios

En esta clase mencionamos características adicionales del lenguaje que se deben tener en cuenta, temas como el orden de precedencia, expresiones regulares e interacción de Ruby con el sistema.

Mini ejercicios. Parte A

En esta clase iniciamos con un pequeño ejercicio que ayudará a recordar y utilizar algunas de las características que hemos visto desde el inicio del curso hasta esta parte.

Mini ejercicios. Parte B

En esta clase continuamos con el desarrollo de nuestro programa de ahorcado que iniciamos en la clase anterior, y practicamos la utilización de arreglos, ciclos, variables y algunos métodos.

Herramientas de desarrollo. Parte A

En esta clase iniciamos con la utilización de Git, una herramienta que nos va ayudar a gestionar las versiones de nuestros proyectos y que vamos a estar utilizando durante todo el curso.

Herramientas de desarrollo. Parte B

En esta clase continuamos con Git, ahora viendo el trabajo en equipo a través de las ramas, merge entre ramas y servicios de repositorios remotos como GitLab y GitHub.

Integración y mejora de aplicación

En esta clase continuamos utilizando Git y mejorando nuestro proyecto de práctica agregándole mas funcionalidades, completandolo y concluimos con ambos temas.

Juego de consola. Parte A

En esta clase iniciamos un nuevo proyecto de práctica llamado Picas y fijas, es un pequeño juego de terminal con el cual podemos continuar practicando.

Juego de consola. Parte B

En esta clase continuamos con el desarrollo de Picas y fijas, una aplicación de consola que nos permite practicar, arreglos, ciclos y  sobre todo métodos y conversiones de tipo.

Lo básico

En esta clase iniciamos explicando la definición, usos, características e información básica de la programación orientada a objetos y cómo se utiliza en Ruby.

POO. Parte A

En esta clase comenzamos viendo y practicando, aspectos de la programación orientada a objetos, clases, instancias, métodos y herencia.

POO. Parte B

En esta clase continuamos viendo características de la programación orientada a objetos, profundizando en la instancia de clases, el llamado a métodos, sobre escritura y sobrecarga de métodos y el polimorfismo.

POO. Parte C

En esta clase continuamos con algunos aspectos un poco más complejos de la programación orientada a objetos como el alcance de los métodos y las características de cada uno de los tipos de alcance.

POO. Parte D

En esta clase veremos temas relacionados con los métodos de clase, los alcances de las variables y los métodos que reciben bloques y cómo utilizarlos.

POO. Parte E

En esta clase continuaremos hablando de los métodos que reciben bloques y alcance de variables.

Reescribiendo aplicación. Parte A

En esta clase retomamos un ejemplo que habíamos hecho anteriormente y lo mejoramos para a través de la programación orientada a objetos poder colorear texto en la terminal.

Reescribiendo aplicación. Parte B

En esta clase continuamos con el ejercicio de colorear la termina, reemplazando los switch por diccionarios e implementando expresiones regulares en algunos métodos.

Reescribiendo aplicación. Parte C

En esta clase continuamos y finalizamos con nuestra aplicación de consola que nos permite colorear texto en consola a través de un script de programación orientada a objetos.

Aplicación nueva. Parte A

En esta clase iniciamos con una nueva aplicación que nos ayudará a practicar la programación orientada a objetos y otros aspectos de Ruby.

Aplicación nueva. Parte B

En esta clase continuamos y finalizamos nuestra aplicación de lista de compras que nos permite agregar checkear eliminar artículos y vaciar la lista.

Lo básico. Parte A

En esta clase empezamos viendo los aspectos básicos y usos de las gemas en Ruby y herramientas que nos van a ayudar a obtener gemas e información sobre ellas.

Lo básico. Parte B

En esta clase veremos a profundidad algunos aspectos relacionados con RVM que son fundamentales para el trabajo con gemas en nuestro entorno de desarrollo.

Utilizando gemas

En esta clase iniciamos viendo cómo podemos instalar, utilizar y consultar información y la documentación de gemas, a través de la utilización de la gema Rainbow.

Gemas. Parte A

En esta clase continuamos practicando con gemas, en este caso utilizando las gemas Terminal table y TTY Font de acuerdo a la documentación de las mismas.

Gemas. Parte B

En esta clase integramos varias gemas en un solo script y combinamos su uso para estilizar la terminal a través de varios elementos interesantes y exploramos en Ruby Toolbox algunas gemas destacadas para estilizar la terminal.

Reescribiendo aplicaciones

En esta clase retomamos aplicaciones de consola que habíamos creado en clases anteriores y las mejoramos a través de la utilización de gemas que estilizan nuestros programas de terminal.

Bundler

En esta clase hablamos acerca de bundler y cómo nos ayuda en el desarrollo en Ruby con respecto a las gemas, hablamos acerca de los gemfile, su utilización y sus características.

Jekyll. Parte A

En esta clase iniciamos utilizando Jekyll una gema que nos permite crear blogs estáticos y nos permitirá tener un primer acercamiento con la estructura WEB a la vez que practicamos gemas y control de versiones.

Jekyll. Parte B

En esta clase continuamos utilizando Jekyll en este caso veremos Liquiq, un motor de plantillas que nos permite embeber e incluir código de archivos externos e incluir lógica en nuestro sitio.

Jekyll. Parte C

En esta clase continuamos agregando estilos a nuestro proyecto de Jekyll, también visitamos y exploramos un sitio WEB con gran cantidad de plantillas Jekyll prediseñadas.

Jekyll. Parte D

En esta clase creamos un blog estático utilizando una plantilla prediseñada de Jekyll, empezamos clonando el repositorio, modificándolo y publicando nuestro blog final.

Creando gemas. Parte A

En esta clase vemos los aspectos básicos acerca de la creación de gemas y realizamos ejercicios para crear gemas manualmente y utilizando Bundler para automatizar el proceso.

Creando gemas. Parte B

En esta clase retomamos un proyecto que hicimos en clases anteriores y que nos ayuda a colorear la terminal, y convertimos este proyecto en una gema que nos permite importarla de forma mas sencilla.

Recursos y comunidad

En esta clase hablamos acerca de cómo y en qué lugares encontrar recursos, ayuda y comunidades relacionadas con Ruby.

 Juegos. Parte A

En esta clase iniciamos con creación de juego con Ruby, vemos algunas gemas destacadas para este fin y comenzamos a utilizar la gema Ruby 2D.

Juegos. Parte B

En esta clase continuamos viendo Ruby 2D concretamente lo relacionado con la configuración de ventana, figuras, colores y detección de eventos.

Ejercicio. Parte A

En esta clase hablamos sobre el ciclo update y empezamos con el desarrollo de un pequeño ejemplo con el cual repasaremos de forma práctica la gema Ruby 2D.

Ejercicio. Parte B

En esta clase continuamos con el desarrollo de nuestro juego, implementando detección de colisiones y un puntaje que puede aumentar o disminuir.

Introducción

En esta clase vemos los aspectos básicos relacionados con las interfaces gráficas de usuario y varias tecnologías que podemos utilizar para este fin.

GUI. Parte A

En esta clase iniciamos utilizando la gema Fox16, conociendo la documentación y viendo las instrucciones básicas para definir un programa, una ventana y algunos elementos gráficos.

GUI. Parte B

En esta clase continuamos con la gema Fox16 viendo componentes como inputs, áreas de texto, botones, ventanas emergentes y otros componentes y su forma de uso.

GUI. Parte C

En esta clase continuamos con la gema Fox16 viendo componentes como radios, selectores, tablas y también como ejecutar eventos al pulsar botones o seleccionar elementos.

GUI. Parte D

En esta clase vemos los elementos restantes de Fox16 entre los cuales se destacan la barra de menú, panel y opciones de menú, también importamos contenido de documentos de texto.

Ejercicio. Parte A

En esta clase iniciamos con el desarrollo de una aplicación con interfaz gráfica de usuario con la cual vamos a poder repasar y poner en práctica todo lo visto en esta parte de curso.

Ejercicio. Parte B

En esta clase continuamos y finalizamos nuestra aplicación generadora de contraseñas construida en Ruby utilizando la gema Fox16.

Desarrollo móvil

En esta clase hablamos acerca de Ruby Motion un servicio comercial que nos permite crear aplicaciones móviles para Android y IOS utilizando Ruby, analizamos sus características, ventajas y desventajas.

Introducción

En esta clase explicamos el funcionamiento general de internet, cuáles son los elementos que lo componen, cómo funcionan, qué protocolos utilizan y cuál es el proceso de utilización y desarrollo de sitios WEB.

HTML

En esta clase continuamos viendo algunos aspectos de la WEB específicamente los diferentes roles y lenguajes que se pueden utilizar e iniciamos viendo un breve resumen de HTML.

CSS

En esta clase vemos un breve resumen de CSS, aspectos básicos, utilización, selectores y lo integramos con HTML.

JavaScript

En esta clase vemos un breve resumen de JavaScript, su funcionamiento básico, pequeños ejemplos y mencionamos algunos frameworks CSS y Js que nos facilitan el proceso de desarrollo WEB.

Bases de datos. Parte A

En esta clase empezamos un pequeño repaso de bases de datos, en este caso vemos el diseño de un sencillo modelo entidad relación y explicamos cuál es la funcionalidad de cada uno de los elementos.

Bases de datos. Parte B

En esta clase continuamos con nuestro repaso de bases de datos, en este caso utilizando Sqlite, y utilizando el lenguaje SQL, tanto para definir la base de datos como para manipular los datos.

Introducción

En esta clase iniciamos con Ruby para WEB, en este caso viendo la gema Rack, su uso y características y hacemos una pequeña configuración manual de Ruby para WEB.

Sinatra. Parte A

En esta clase iniciamos a trabajar con el framework Sinatra, definimos algunas rutas, utilizamos código HTML y archivos erb externos.

Sinatra. Parte B

En esta clase continuamos utilizando Sinatra, en este caso profundizamos en detalle acerca de rutas, parámetros y método Post, hacemos un pequeño ejemplo y le añadimos estilos.

Ejercicio. Parte A

En esta clase iniciamos un ejercicio práctico con el cual podemos practicar y utilizar los conocimientos adquiridos de Sinatra, es un pequeño CRUD.

Ejercicio. Parte B

En esta clase continuamos con el desarrollo de nuestra aplicación de agenda telefónica utilizando Sinatra y el framework Bulma CSS.

Ejercicio. Parte  C

En esta clase continuamos y finalizamos nuestro CRUD de agenda telefónica con Sinatra y base de datos en Sqlite, también hablamos brevemente acerca de Padrino, un framework WEB basado en Sinatra.

Introducción

En esta clase hablamos acerca del framework Ruby on rails y sus características, realizamos la instalación de la gema, generamos un crud completo de forma muy rápida y hablamos acerca de los principales archivos y directorios generados.

Rails. Parte A

En esta clase generamos un scaffold un poco distinto y analizamos más detalladamente cada uno de los archivos y directorios que se crean y los cambios que hay en el proyecto tras ejecutar algunos comandos.

Rails. Parte B

En esta clase profundizamos más en detalle acerca de todo el flujo de la aplicación y como funciona internamente desde que solicitamos una URL, pasando por las rutas y los controladores hasta que se devuelve una vista.

Rails. Parte C

En esta clase vemos en detalle lo relacionado con el ORM Active Record, como interactúa con la base de datos y como nos permite manipular las entidades de la misma como objetos y cómo podemos agregar modificar y eliminar información de la base de datos a través de Active Record.

Rails. Parte D

En esta clase hacemos un crud manual, lo que nos ayudará entender más claramente el funcionamiento básico de Ruby on rails, específicamente lo relacionado con MVC y Active Record.

Rails. Parte E

En esta clase continuamos y finalizamos nuestro crud manual, viendo algunos aspectos específicos como el uso de los controladores, parámetros GET, envío de datos por método POST y la utilización de plantilla ERB con Rails.

Ejercicio. Parte A

En esta clase iniciamos con un ejercicio práctico, para lo cual retomamos un ejercicio que hicimos anteriormente en bases de datos, este proyecto se realiza desde cero utilizando algunos scaffolds y escribiendo código manualmente.

Ejercicio. Parte B

En esta clase continuamos con nuestro ejercicio de CRUD de películas, y en este caso hacemos mejoras y correcciones a los formularios integrando helpers para la creación de listas de selección.

Ejercicio. Parte C

En esta clase, continuando con nuestro ejercicio abordamos temas de vital importancia como la definición y utilización de modelos en Ruby on rails a través de las, personas, roles y trabajos.

Ejercicio. Parte D

En esta clase continuando con el desarrollo de nuestro ejercicio, corregimos algunos bugs, arreglamos algunos detalles y agregamos algunas funcionalidades en la vista del perfil de las personas y las películas.

Ejercicio. Parte E

En esta clase continuamos con nuestro ejercicio y continuamos adicionando pequeñas funcionalidades como la opción de eliminar roles y eliminar actores de películas, también alimentamos nuestra base de datos con información que nos sirve para probar la aplicación.

Ejercicio. Parte F

En esta clase, que es la última de esta sección, cambiamos el diseño de nuestra aplicación utilizando una gema que nos permite aplicar estilos del framework Bulma CSS.

Servidores

En esta clase abordamos el tema de servicios de alojamiento que podemos utilizar para servir nuestros sitios WEB creados con Ruby on rails, analizamos las características de cada uno y también las ventajas y desventajas.

Despliegue

En esta clase hacemos un pequeño ejercicio en el cual vemos como podemos desplegar un sitio WEB creado con Ruby on rails, en un servidor Apache utilizando un complemento llamado Passenger.

Final

Esta es nuestra clase final, aquí te menciono brevemente todo lo que has aprendido a lo largo del curso y te doy algunas recomendaciones adicionales.

Aprende a utilizar UITableView, de la misma forma que en iOS, en tus apps tvOS para Apple TV

En esta clase veremos una introducción al mundo de .NET, la evolución desde el antiguo Visual Basic 6 y los conceptos básicos del framework de Microsoft. Además veremos el típico “Hola mundo”, de visita obligada en el aprendizaje de un lenguaje de programación

GRATUITA – La Súper Calculadora. Parte 1

Comenzamos nuestra andadura con una pequeña aplicación de ejemplo, la Súper Calculadora, donde veremos cómo declarar variables y tendremos una primera aproximación al diseñador de formularios.

La SúperCalculadora. Parte 2

Continuamos el desarrollo de la Súper Calculadora, viendo poco a poco más características del código y de la estructura de una aplicación básica.

Asimilando lo básico, Variables, Estructuras de decisión y Funciones

En esta clase profundizamos más en los diferentes tipos de variables, las estructuras condicionales IF/ELSE y la definición de métodos y funciones.

Gestion de tareas

En esta práctica veremos una pequeña aplicación para gestionar nuestras propias tareas. Ahondaremos un poco más en el diseñador de formularios y pondremos en práctica todo lo visto hasta este momento.

Bucles, arrays y colecciones. Parte 1

Las colecciones y el conjunto de datos forman parte de cualquier lenguaje de programación. En esta clase aprenderemos el concepto de Array y cómo enumerar elementos, además de las estructuras de repetición que forman parte del núcleo del lenguaje.

Bucles, arrays y colecciones. Parte 2

El concepto de listas es muy extenso y en esta clase continuamos trabajando en ello, viendo poco a poco más funciones que nos proporcionan este tipo de objetos.

Transformador de números “ToLoCuenta”

La clase práctica donde repasaremos todo lo visto hasta ahora, junto con nuevos controles y trucos del diseñador de formularios, además de crear un algoritmo que transforma un número en su representación en letras.

Funciones

Profundizamos en el mundo de las funciones, qué son y por qué las usamos. Las funciones son la piedra angular de cualquier lenguaje de programación

Clases. Parte 1

La pieza que nos faltaba. La mayoría de los objetos de .NET son clases. Veremos qué son y cómo intentan representar los objetos que nos rodean en el mundo real.

Clases. Parte 2

Seguimos trabajando con clases, viendo los diferentes usos que podemos darles, incluida la herencia y el concepto de polimorfismo.

“Gestión de clientes”

Una clase práctica donde veremos el uso de clases en acción, realizando una sencilla aplicación de mantenimiento de clientes.

Enriqueciendo el lenguaje

Poco a poco nos vamos poniendo más serios, introduciendo más instrucciones y palabras clave del lenguaje, además de funciones que nos harán la vida más fácil.

Cómo encontrar la aguja en el pajar, dictionaries

En este tema conoceremos los diccionarios y las colecciones especializadas, además de ver las diferentes técnicas que disponemos, dependiendo siempre del caso que tengamos que resolver.

Archivos e imágenes. Parte 1

Nos iniciamos en el uso y gestión de archivos, que formará parte de nuestro nuevo conjunto de herramientas para poder realizar aplicaciones más sofisticadas.

Archivos e imágenes. Parte 2

Continuaremos repasando la gestión y manipulación de archivos para finalizar con el manejo de imágenes, que por supuesto no pueden faltar en una aplicación seria.

“Gestor de archivos”, visor de texto e imágenes

En esta clase práctica desarrollaremos una pequeña aplicación para navegar por carpetas y abrir archivos de texto e imágenes, para así poner en práctica todo lo que hemos visto relativo a los archivos e imágenes.

Depuración de Aguas, Debugging, Logging, Diagnostics

Gracias a todas las herramientas que nos provee el framework y el propio Visual Studio, veremos cómo encontrar los fallos que podemos cometer, además de observar el comportamiento de nuestro código línea a línea.

El tiempo sobre todas las cosas, TimeSpan, Temporizadores

En cualquier aplicación que se precie siempre habrá un elemento temporal, ya sean campos de fecha o acciones que debemos realizar cada cierto periodo de tiempo. Repasaremos las funciones que nos ofrece el framework para gestión de fecha y hora.

¿Hablas chino? Localization y Globalization, CultureInfo

En un mundo globalizado no podemos obviar el hecho de los diferentes idiomas, formatos de fecha y moneda y demás diferencias que existen entre países. Aprenderemos las herramientas que pone a nuestra disposición .NET para controlar hasta el más mínimo detalle.

El gato y el ratón, Teclado y ratón avanzados

La entrada de datos por parte del usuario es una de las partes más importantes de una aplicación. Veremos el uso avanzado del teclado y del ratón, además de un montón de trucos y técnicas para realizar las tareas más comunes con las que os enfrentareis.

Paint “Mi Pequeño Paint”

En esta clase práctica vamos a desarrollar una pequeña aplicación de dibujo, donde veremos las técnicas de control del ratón en un caso real.

Expresiones regulares, validación

Nos adentraremos en el mundo de las expresiones regulares, para controlar la consistencia de los datos que nos llegan del usuario. No demos nunca por sentado que nos va a llegar lo que esperamos por parte de los usuarios.

Func Func Func, Introducción a LinQ

Comenzamos nuestro recorrido por el nivel avanzado de la mejor manera posible; os presento al Language Integrated Query, con el que podréis manipular datos y colecciones de una manera que no os podéis imaginar.

Dynamic, Interfaces

El camino avanzado continúa por el repaso a las técnicas más modernas de escritura de código. Veremos el uso de interfaces y cómo empezar a preocuparnos por la calidad de lo que escribimos, no solamente en la funcionalidad.

Generics, constraints, default, new, class

El lenguaje C# es muy amplio y nos provee de las más avanzadas instrucciones para escribir el menor código posible y conseguir consistencia y optimización al máximo nivel.

“Espejito espejito”, Atributos, Metadata, reflection, escribir un archivo ini

En esta clase veremos cómo el lenguaje puede “observarse” a sí mismo. Obtendremos información estructural de nuestros objetos en tiempo de ejecución, mientras podemos manipularlos y cambiar sus valores de forma totalmente dinámica.

Bases de datos

El centro de cualquier aplicación profesional. Siempre habrá una base de datos cuando haya necesidad de almacenar información de forma estructurada. Sin adentrarnos con el lenguaje SQL, veremos los objetos que nos proporciona .NET para el trabajo con bases de datos.

Nuget, EntityFramework, Fluent Api

El ecosistema .NET no solo se limita al framework. Tenemos un montón de librerías en Internet que nos pueden hacer la vida realmente más fácil. Veremos cómo funciona el gestor de paquetes y daremos un vistazo inicial al ORM de Microsoft, el Entity Framework.

SOLID principles, Domain Driven Design y CQRS

Vale, nuestra aplicación empieza a hacerse grande y cada vez realizar cambios supone un trabajo mayor. El código empieza a ser considerable. Veremos cómo organizar nuestro código usando diferentes patrones, además de mantener una actitud “patrón”.

Inyección de dependencia, Ninject y CQRS en acción, “Colegito”. Parte1

En esta clase práctica comenzamos a realizar una aplicación más grande donde pondremos en práctica todo lo visto hasta ahora. Veremos los conceptos avanzados de la inyección de dependencia y el patrón CQRS en acción.

“Colegito”. Parte 2

Como nuestra aplicación Colegito es bastante grande, continuamos en esta clase. Seguiremos poniendo en práctica los enormes conocimientos que ya hemos adquirido a estas alturas.

Threads y operaciones asíncronas, Task, async, await

Más conceptos avanzados. Esta vez las operaciones asíncronas y cómo darle así esa respuesta a nuestra aplicación incluso mientras está realizando un trabajo costoso.

Si no lo has testeado no funciona, Unit Testing

Veremos las diferentes técnicas de testeo unitario y las herramientas que tenemos en Visual Studio para poder probar nuestro código y dejarlo “libre” de errores.

Bienvenido al Cloud, Visual Studio Oline y Windows Azure, Git, Agile

No estamos limitados únicamente a Visual Studio. Es hora de ponerse online y que la red trabaje para nosotros.

Bienvenido al mundo web

En esta primera clase veremos una introducción a las aplicaciones web, los cambios que suponen desde la programación de aplicaciones de escritorio y el motor de ASP.NET. Además veremos las técnicas más actuales con el modelo-vista-controlador.

Lista de tareas. Parte 1

Construimos una pequeña aplicación web para empezar a aprender los conceptos de rutas y páginas, además de las acciones que realiza un usuario en el navegador y cómo llegan al servidor para que actué y dé una respuesta.

Lista de tareas. Parte 2

Mientras seguimos trabajando con la lista de tareas, aprenderemos el concepto de vistas y de las diferentes maneras que tenemos de devolver HTML al cliente.

Lista de tareas. Parte 3

Aquí veremos la m del MVC, donde están representados los datos que usaremos en la aplicación y actuarán de puente entre el navegador y nuestra aplicación web.

Lista de tareas. Parte 4

La entrada de datos nos permitirá recibir información del usuario, crear y modificar tareas además de almacenarlas en la base de datos. Aprenderemos también las utilidades de creación y mantenimiento de tablas del Entity Framework, las migrations.

Lista de tareas. Parte 5

Debemos asegurar la integridad de los datos a toda costa, para evitar resultados inesperados. Para ello veremos las diferentes técnicas de comprobar que la información que nos llega es la correcta.

CompraloTó

Iniciamos la construcción de una aplicación más compleja y grande, una tienda Online, donde veremos cómo se desarrollan esas páginas que estamos tan acostumbrados a ver y utilizar.

Less, Grunt, Bower

La parte visual de una aplicación es la única que ve el usuario, y por tanto la más importante. Veremos las diferentes herramientas que disponemos para trabajar con CSS y con librerías de Javascript.

Inyección de dependencia

La inyección de dependencia aplicada a las aplicaciones Web. Aprenderemos el request scope y cómo Ninject nos va a ayudar en este tema tan importante.

Subiendo archivos

Una parte fundamental de una aplicación web más avanzada es permitir a los usuarios subir archivos. Veremos cómo gestionar estos uploads junto con otras utilidades que disponemos en ASP.NET

Helpers

Gracias a los helpers veremos cómo evitar tener que teclear un montón de HTML repetitivo y evitar errores de sintaxis o estructuras HTML mal formadas que son difíciles de depurar.

Gestión de usuarios

Empezamos con la gestión de usuarios para permitir que nuestra aplicación pueda tener clientes y se puedan registrar en nuestra tienda online.

Autenticación

Llegó el momento de permitir que nuestra aplicación tenga diferentes niveles de seguridad y poder saber con quién estamos tratando en cada operación. Veremos las técnicas que se usan para identificar un usuario y distinguirlo de una máquina.

Vistas parciales y Ajax

Aprenderemos cómo realizar nuestra página web usando fragmentos diferentes y cómo poder llamar al servidor en segundo plano, para poder realizar consultas y hacer otras acciones transparentes al usuario.

Contrólame esos errores

Siempre ocurren errores en tiempo de ejecución, y es nuestro deber controlarlos e informar al usuario de ellos, además de tomar medidas de control y registro de los mismos.

Welcome to globalization

Las aplicaciones web son más propensas a ser usadas por usuarios de diferentes países. Que la web se adapte a un formato u otro y que muestre el idioma del usuario será una tarea importante a realizar. Veremos cómo ASP.NET nos ayuda a ello

Optimización y publicación

El momento más importante. ¡Vamos a publicar nuestra aplicación! Veremos las diferentes técnicas de optimización y ajustes para que cualquier persona pueda ver nuestra web de la manera más óptima.

WebAPI, el lenguaje de la aplicación

En esta primera clase veremos una introducción a WebAPI y sus diferencias con MVC, los cambios que introduce y cómo diseñaremos nuestras aplicaciones pensando en la separación de Frontend - Backend usando el patrón Single Page Application.

Controlando cliente y servidor

Empezamos con lo básico de WebAPI y los controllers tanto en cliente como en servidor. Veremos también como crear una aplicación desde cero añadiendo también las librerías de AngularJS.

Moviéndonos por el cliente

Echamos un vistazo a la gestión de rutas en cliente y servidor. Además veremos prácticas sobre cómo implementar el scroll infinito y la gestión de imágenes en base64.

Entrada de datos

Repasamos las implicaciones de usar Single Page Application y WebAPI en una aplicación web a la hora de recibir y validar los datos introducidos por el cliente.

Dame más datos

Seguimos con más validaciones en la parte cliente y un poco más avanzadas, múltiples validaciones y también una práctica de cómo crear un sencillo captcha casero y cómo usar las ventanas modales en la parte cliente.

Un poco de infraestructura

Hacemos una pequeña parada para revisar todos los elementos que nos provee la infraestructura de WebAPI para trabajar con sesiones, binders de modelos y filtros.

Gestión de archivos

Ponemos en práctica todo lo aprendido hasta ahora para empezar con una pequeña aplicación de gestión de archivos, donde veremos cómo hacer ventanas de progreso y cómo usar el componente ng-file-upload para controlar la subida de archivos.

OWIN y Asp.Net Identity

Veremos qué es Owin y cómo mejora la infraestructura que habíamos visto hasta ahora. Además empezaremos a implementar seguridad con bearer tokens en nuestra API, para asegurar el acceso en nuestra aplicación de archivos. Gracias a Owin, separar front y back es más fácil que nunca.

Claims

Ahora le toca el turno a la autenticación en el frontend. En esta clase repasamos las diferencias entre Oauth y el viejo Forms authentication. Veremos todas las ventajas que nos aporta y cómo usar la api de Google para logear usuarios en nuestra aplicación.

Autenticación final

Llegó el momento de juntar todo lo que hemos visto y ver la separación Front-Back en todo su esplendor. Veremos cómo autenticar localmente usando cookies y contra nuestra API usando los bearer token, además del login externo con Facebook y Google.

Enriqueciendo nuestra API

En esta clase daremos un repaso a diferentes detalles técnicos para dejar nuestra API preparada para producción, además de muchas utilidades que la harán más profesional.

Veremos cómo agregar documentación de forma automática y eliminar cabeceras comprometedoras.

Fortificando nuestra web

Veremos un repaso al mecanismo de cifrado SSL y cómo hacer que nuestra web sea segura. Crearemos un certificado de forma local totalmente válido y veremos cómo asegurar nuestra WebAPI para que utilice sólo HTTPS como único canal de comunicación.

Mapas y APIs externas

Echamos un vistazo a las APIs públicas de geolocalización más importantes que hay en Internet, y cómo sacarles provecho. Veremos cómo trabajar con ellas desde el cliente y desde el servidor. Además veremos cómo interactuar con Open Street Maps y Google Maps.

Automatización

Repasamos las diferentes técnicas y componentes que tenemos a nuestra disposición para automatizar tareas en el servidor, ya sea que disponemos de un servidor administrado donde no tenemos acceso total a él, o usamos Azure como nuestro proveedor de hosting.

Formularios avanzados

Echamos un vistazo a una aplicación real de gestión de horas totalmente operativa, donde veremos en acción todo lo aprendido hasta ahora. Dropdowns múltiples, selectores de fechas, exportación a Excel y un largo etcétera.

SignalR

Es hora de proveer a nuestra aplicación de la capacidad de comunicarse directamente con los clientes. Veremos las diferentes técnicas que tenemos de comunicación en tiempo real, usando ASP.NET SignalR y con muy poquitas líneas de código.

ASP.NET 5

ASP.NET 5 ya está casi listo y en esta clase daremos un repaso a los cambios que supone y qué mejoras nos trae. MVC6, TypeScript, AngularJS2, Entity Framework 7 … estemos preparados para todo lo nuevo que nos viene.

Introducción a Flutter

En esta primera clase vamos a hacer un repaso de todo lo que veremos en este primer módulo del MegaCurso de Flutter de 0 a 100, también mencionaremos las herramientas que vamos a usar a lo largo del curso y una página donde podremos sacar ideas de diseño.

Instalación de Android Studio y SDK Flutter

Empezaremos Instalando nuestro Android Studio en el que vamos a trabajar a lo largo del Curso, también instalaremos el SDK de Flutter, necesario para poder utilizar las librerías especiales de Flutter.

Aspectos Básicos de Android Studio

Continuamos revisando Android Studio, viendo las Vistas que se pueden utilizar para añadir diseño a una aplicación con Android Studio, también veremos que es un Layout y como cambiar el estilo de tipografía dentro de Android Studio.

Tipos de Programación y Estructura de una Clase

Una clase teórica acerca de los tipos de programación que veremos en el MegaCurso y también se explicará cómo se estructura una clase en lenguaje de Programación Java.

Creación de un Entorno Virtual

Clase importante en la que se explicará como puedes crear un Entorno Virtual dentro de Android Studio para poder visualizar el progreso de nuestra aplicación y también ver funcionalidades diferentes que tendrá nuestro aplicativo.

Tipos de Widgets

Tendremos una pequeña introducción a lo que es un Widgets, para poder diferenciar entre un Widgets con estado y sin estado, así también se hará uso de una aplicación ya hecha para poder diferenciar estos Widgets de manera práctica.

Composición de Layouts

En esta clase veremos los fundamentos de los Layouts cuando se trabaja en proyectos de diseño para aplicaciones, también veremos la importancia de estructurar nuestro proyecto con el Layout correcto.

Creando nuestra primera estructura de Proyecto

En este capítulo veremos que proyecto podemos escoger para poder diseñarlo y también que tipo de layout es el más adecuado para poder diseñar nuestro proyecto.

Layout tipo Row

Aprenderemos como podemos usar el Layout tipo Row para poder estructurar nuestros Widgets tanto textos, como también iconos e imágenes en la posición que nosotros queramos.

Tipos de Tipografías

En esta clase veremos cuantos tipos de fuentes podemos utilizar dentro de Android Studio, también utilizaremos Google Fonts para poder ver una variedad de tipografías.

Añadir Imágenes

Se inicia un nuevo capítulo donde se podrá dar función a las imágenes, dentro de nuestro proyecto es importante dar un estilo personalizado a nuestra aplicación, para ellos es indispensable el uso de fuentes personalizadas e imágenes.

Importar Imágenes al Proyecto

Continuamos realizando la integración de imágenes al proyecto, también integramos tipografías desde Google Fonts para poder utilizarlas dentro de nuestro proyecto.

Añadiendo tipografía e Imágenes a la App

Haremos uso de Android Studio y SDK de Flutter para poder integrar una tipografía desde Google Fonts e imágenes desde Google imágenes.

Añadir Fondos a nuestra APP

Veremos cuales son las mejores formas de poder añadir un fondo personalizado, también usaremos Photoshop para poder crear nuestro propio fondo personalizado usando una gama de colores.

Crear un Scroll de Imágenes

En esta clase se creará un carrusel de imágenes, que con ayuda de bibliotecas del SDK de Flutter podrá trabajar mediante un scroll y animaciones de tipo WidgetsLess.

Button InkWell

Dentro de esta clase podremos analizar el funcionamiento del button InkWell, el cual nos permitirá añadir varias opciones, así también nos permitirá añadir vistas.

Composición de Layouts

El uso de estos dos tipos de Widgets es importante para el diseño de nuestro proyecto, pues en esta clase veremos como podemos darle una mejor función dentro de nuestro proyecto.

StateFulWidget

Se usará StateFulWidget para poder añadir botones personalizados, también iconos que den la sensación de tener una aplicación animada y estado.

ButtonNavigationBar

En esta clase conoceremos este Widget que será de mucha utilidad para poder tener una barra de navegación en la parte inferior de nuestra app.

Lista de Contactos

Siempre es útil poder tener una lista de contactos en cualquier aplicación es por eso que en esta clase te enseñaré a como crear tu propia lista de contactos personalizada.

Crear tu propia Calculadora

En esta clase podremos ver como es posible integrar un proyecto de una calculadora dentro de nuestro proyecto de tienda de MegaCursos, para ello también haremos uso de la barra de navegación creada anteriormente.

Condicionales If - Else

Es importante tener en cuenta los aspectos básicos de la programación y entre ellos está el conocer los condicionales de nuestro lenguaje de programación, en este caso analizaremos la parte teórica de nuestro programa.

Botón Accionable

Esta clase contiene los métodos necesarios para poder añadir un botón con estado y que pueda ser accionable por el usuario.

Android Studio Avanzado

Daremos explicación a todas las funciones que contiene nuestra plataforma de trabajo que es Android Studio.

Importar y Exportar con GitHub

Es importante tener en cuenta que nuestro proyecto debe ser guardado en un lugar seguro y de manera formal, ya que el código suele ser sensible a modificaciones y la mejor manera de mantener seguro nuestro proyecto es con GitHub.

Google Maps

Se inicia un proyecto con Google Maps y las APIs de Google para poder acceder a una ubicación en tiempo real en nuestra Aplicación.

Cambiar el Logo de Nuestra APP

En esta clase entenderemos cuan fácil es cambiar el logo de nuestra aplicación, recordar que el logo de una aplicación es parte del diseño y es importante dentro de un proyecto.

SDK Manager

En esta clase nos ayudaremos de la herramienta SDK Manager para poder entender cual es la importancia de este SDK y como nos afecta a la hora de poder importar nuestro proyecto a nuestro dispositivo móvil en físico.

Firebase y Conclusiones

En esta última clase hablaremos de la importancia de tener una base de datos con Firebase y como deberíamos trabajar siempre con datos en la nube.

Introducción a ionic

En esta primera clase vamos a hacer un repaso de todo lo que veremos en este primer módulo del MegaCurso de Ionic de 0 a 100, también mencionaremos las herramientas que vamos a usar a lo largo del curso y explicar el proyecto que se realizaría en el curso.

Instalación ionic - capacitor

Empezaremos Instalando nuestro Capacitor el que vamos a trabajar a lo largo del Curso, también instalaremos el SDK de Ionic, necesario para poder utilizar las librerías especiales de Ionic.

Crear tu entorno virtual

Continuamos revisando Ionic y también empezaremos a crear tu Entorno Virtual dentro de Android Studio también usaremos el navegador de Google para poder realzar modificaciones de la APP.

Ionic serve - sync - build

Una clase teórica acerca de los tipos de programación que veremos en el MegaCurso y también se explicará cómo se estructura una clase en IONIC SERVE, usaremos comandos especiales para poder gestionar la APP.

Tu app en tu dispositivo movil

Clase importante en la que se explicará como puedes pasar la aplicación que realizaremos en el MegaCurso, hacia tu dispositivo móvil en físico.

Iniciando Nuestro App Ionica en Visual Studio Code

Tendremos una pequeña introducción a lo que es una APP Ionica y también instalaremos el Visual Studio Code para poder modificar el código de nuestra aplicación.

Componentes Ionicos

En esta clase veremos los fundamentos de los componentes ionicos, estos son los que nos ayudaran a poder estructurar y crear nuestra aplicación ionica de MegaCursos.

Slides

En este capitulo veremos la importancia de los Slides dentro de cualquier aplicativo, esto nos permitirá cambiar de página en la aplicación de forma dinámica haciendo scroll de lado a lado.

Colocando Styles a nuestra APP con CSS Y TYPESCRIPT

Aprenderemos como podemos usar estilos a nuestra aplicación, para ello necesitaremos utilizar CSS y TypeScript para modificar el código de nuestro proyecto APP Megacursos.

Reutilizacion de Codigo

En esta clase veremos la importancia de reutilizar código en proyectos de IONIC, esto nos ayudará a poder añadir estilos y también estructura a una misma página de nuestra APP, varias veces seguidas.

Imagen Personalizada y Colores

Se inicia un nuevo capítulo donde se podrá dar imágenes personalizadas y colores a nuestra aplicación, también veremos como crear una imagen personalizada con Photoshop para nuestra APP Megacursos.

Creación y Cambios de Paginas

Continuamos realizando la Aplicación de Megacursos y en esta clase empezaremos a crear las primeras páginas de la aplicación y también a gestionar el cambio de páginas a través de un botón accionable.

Componentes

Haremos uso de los componentes de IONIC para poder ir creando y estructurando nuestra Aplicación Ionica.

Componentes 2.0

Veremos cuales son los mejores componentes como podemos aplicarlos a nuestro proyecto y como escoger cuales son necesarios para ciertas aplicaciones.

Estructura de un login

En esta clase se creará la página de Login, donde el usuario podrá registrarse y validar los datos a través del código de validación que crearemos con ayudar del Visual Studio Code.

Validación de datos

Dentro de eta clase podremos validar los datos del usuario para que cuando inicie sesión dentro de la página de Login pueda acceder solamente ese usuario validado dentro del código.

Autentificacion de Datos

El uso de esta autentificación es para verificar que el usuario que ingrese sea un super usuario y que solo el pueda ingresar dentro de la página.

Pagina de registro

Se usará la consola de comandos para poder crear la página de Registro a través de comandos especiales para la creación de páginas dentro de nuestra APP Megacursos.

Validación de datos registro

En esta clase conoceremos la forma más sencilla de poder validar los datos de los nuevos usuarios que se registren dentro de nuestra APP.

Lista de Contactos

Siempre es útil poder tener una lista de contactos en cualquier aplicación es por eso que en esta clase te enseñaré a como crear tu propia lista de contactos personalizada.

Intro y Menú

En esta clase añadiremos las Paginas mas importantes dentro de nuestro aplicativo iónico, que serán las que nos permitirán navegar por toda la aplicación.

Menu de Navegación-APP

Es importante tener en cuenta los aspectos básicos de la programación y entre ellos está el conocer los condicionales de nuestro lenguaje de programación, en este caso analizaremos la parte teórica de nuestro programa.

Slide de artistas

Esta clase contiene la estructura necesaria y la API para poder acceder a el nombre de los artistas e imágenes de los álbumes de estos artistas.

API de artistas y albums 2.0

Daremos explicación a todas las funciones que nos brinda la API de nuestro aplicativo iónico, también podremos acceder a una base de datos con imágenes y textos personalizados.

Estilos albums y artists

Es importante tener en cuenta que nuestro proyecto tendrá estilos personalizados y también álbumes y artistas enlazados a la aplicación de Spotify.

Configuración de la API musical

Se inicia un proyecto con la API musical integrada a Spotify, en este caso esta API nos proporcionara las canciones necesarias para poder reproducirlas dentro de nuestro proyecto de APP Megacursos.

Perfil y cámara web

En esta clase añadiremos nuestra última página que será de la Perfil de Usuario en la que podremos añadir nuestro perfil y también información personal dentro de nuestra App Ionica.

Fin del Curso y Recomendaciones

En esta clase daremos las ultimas pautas para que puedas integrar tu proyecto a Android Studio y también a Visual Studio Code, listo para modificarse y personalizarse como tu desees.

También te puede interesar

Si quieres ser un experto en diseño y postproducción de vídeo

Ir a Megapack “Artista de vídeo total”
Ver detalles

Si quieres ser un experto en la creación de gráficos y animaciones 3D

Ver detalles

Lo que dicen de nuestro curso

alejandra palacios
alejandra palacios
los programas que usan vienen con el cureso?
Bernardo
Bernardo
hay que tener algún conocimiento? es que sé programar pero con otros lenguajes
Fabiana Ramos
Fabiana Ramos
¡¡¡Me encantan sus megacursos son muy completos!!!
Santiago
Santiago
me apunté y muy bien!!!!!
adriano
adriano
Se ve muy completo este curso!! si pago con tarjeta cuanto tiempo tengo que esperara para comenzar a ver mis clases??
Benito
Benito
Cuantas horas dura este megapack??
Bianca
Bianca
me parece que esta muy completo este megapack!!! voy a adquirirlo!!
Francisco
Francisco
el curso lleva algun orden o puedo verlo a mi gusto?
Jesus Gabriel
Jesus Gabriel
una vez termine las horas que dice el curso ya no puedo volver a acceder a él?
Juan carlos munir
Juan carlos munir
puedo solicitar la factura con datos de la empresa? ya que no soy yo quien pagará por el curso si no es un patrocinio de donde trabajo
Clara
Clara
que tipo de tarjetas de crédito reciben, dispongo de Visa Maestro
Franco
Franco
el precio que se paga por todos los cursos es más economico que pagar de forma individual o simplemente es la suma de los valores, por lo que no tendría sentido si fuese así
mauro
mauro
un familiar puede hacer el pago por mi? pero necesito que la factura esté a mi nombre y no a quien paga, solo me prestarán el dinero
daniel soto
daniel soto
hola como es la forma de ver los cursos? son en dvd, presencial, por internet...
Kelly
Kelly
ya había comprado con ustedes un curso anteriormente, pero veo qu ahora se accede para verlos desde la nueva plataforma, puedo ver mi curso antiguo ahí?
victor
victor
el diploma va para todo el megapack o cada curso que lo contiene?
bernardo D.
bernardo D.
se puede pagar por plazos?
Viropareta
Viropareta
Indican pos precios en PEN, podría pagar en SOLES. Soy Peruano. Gracias
Diego
Diego
El curso es con profesores y cumpliendo un horario de clase o solo son videos y clases grabadas las cuales tengo que practicar de manera libre ?
Diego
Diego
El curso es con profesores y cumpliendo un horario de clase o solo son videos y clases grabadas las cuales tengo que practicar de manera libre ?
Dios de la Programación: “Dios de la Programación en 490h (actualizado 2023)”