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.
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.
de clases
¡30% más barato que comprando los Megacursos de Programación por separado (Swift para iOS, Java, .NET con C #, Pascal, Hacking, Python, Angular, Ruby, Ionic, Flutter)!
Este Megapack incluye los lenguajes de programación fundamentales para poderte desarrollar como programador de éxito en la actualidad, pudiendo crear aplicaciones para cualquier plataforma posible, usando un lenguaje u otro dependiendo de la plataforma: web, Windows, Mac, iPhone, iPad, Apple Watch, Apple TV. Si siempre te ha interesado la creación de juegos, programas y aplicaciones para móviles, este pack es para ti.
Con el gran auge de la tecnología de Apple (con productos como el iPhone, iPad, Apple TV y Apple Watch) la demanda de apps para estas plataformas ha crecido exponencialmente hasta convertirse en un conocimiento casi esencial para todos aquellos usuarios interesados en la tecnología.
IOS con Swift. Con el gran auge de la tecnología de Apple (con productos como el iPhone, iPad, Apple TV y Apple Watch) la demanda de apps para estas plataformas ha crecido exponencialmente hasta convertirse en un conocimiento casi esencial para todos aquellos usuarios interesados en la tecnología.
Java es un lenguaje flexible de programación pensado para desarrollar aplicaciones ejecutables en cualquier sistema operativo, tanto en el escritorio como en los dispositivos móviles, o incluso directamente en el navegador.
.NET es un framework (conjunto de recursos para programar) creado por Microsoft con el que pueden desarrollarse todo tipo de aplicaciones web o de escritorio. En este framework puede usar casi cualquier lenguaje de programación, aunque en este Megacurso aprenderás a usar C # por ser de los más potentes y populares.
Pascal es una de las mejores opciones de lenguaje de programación a aprender para usuarios que nunca antes han programado, y es muy útil para luego dar el paso a otros lenguajes más modernos como C #, Php, etc, pues afianza los conocimientos básicos de programación como condicionales, bucles, variables, arrays, etc.
Hacking Ético tiene cobertura en múltiples áreas de ciberseguridad como: algoritmos, sistemas de cifrado, hardening o endurecimiento del sistema, modificaciones de APK, defensa en profundidad, gestión de vulnerabilidades, pruebas de penetración, creación de virus, uso de VPN, acceso y recopilación de información, anonimato total, entre otras.
Python es un lenguaje de programación interpretado cuya filosofía es la legibilidad de su código. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y programación funcional. A lo largo del curso presentaremos todas las formas que podemos utilizar el lenguaje con técnicas y métodos que nos ayudan a mejorar cada vez más nuestro código, sino que también nos servirá para desarrollar cualquier tipo de vía, como por ejemplo web o móvil.
Angular es uno de los mejores Frameworks de creación de aplicaciones de una sola página el cual está sustentado marcado por el lenguaje de programación Typecript, completando una suite robusta para el desarrollo de aplicaciones web, se enfoca en el patrón de diseño conocido como Modelo Vista Controlador o MVC.
Ruby es un lenguaje de programación muy especial por varios motivos, desde sus inicios hasta hoy se ha mantenido entre los lenguajes de uso general más populares, y sobre todo uno de los mejores pagados, sin duda también es uno de los más amados debido a su simplicidad, naturalidad y facilidad de aprender; Pero no dejes que su simplicidad te engañe, Ruby es muy potente y flexible, te permite hacer infinidad de cosas de forma fácil, lo que se traduce en que no vas a tener problemas a la hora de programar porque hay métodos para casi todo y no tendrás que reinventar la rueda.
Flutter es un framework para desarrollar aplicaciones para diferentes plataformas elaborado por Google y publicado por primera vez como proyecto de código abierto a finales de 2018. Este kit de desarrollo ofrece un gran número de bibliotecas para elementos estándar de la interfaz de usuario de Android y iOS, pero también sirve para desarrollar aplicaciones web de escritorio.
Ionic es una estructura tecnológica (Framework) de código abierto que se utiliza en el desarrollo de aplicaciones móviles híbridas, es decir, se combinan el HTML5, CSS y JavaScript dando como resultado aplicaciones con una interfaz amigable e intuitiva para el usuario que luego se comercializan o descargan en plataformas como Android o IOs.
Con este Megapack “Dios de la Programación” dominarás estas técnicas completamente y aprenderás a utilizarlas de manera práctica para convertir en un versátil programador de éxito. Los cursos incluidos en el paquete comienzan 100% desde 0, por lo que no necesitas absolutamente ningún conocimiento previo. Apúntate, ve las clases, ve haciendo los ejercicios (todo el material se incluye también) y ¡hecho! Serás un experto de la Programación.
Profesores del curso : Marín L., Pedro F., Álvaro F., Raúl D., Bryan Rafael., Rafael V., Eduardo P., Jeisson R.
Aquí tienes las clases gratuitas / demos para que puedas ver cómo es el producto de primera mano.
Las clases gratuitas son sencillamente las primeras 2-3 clases de cada curso, que hemos subido a YouTube para que puedan ser visualizadas gratis. No son clases reducidas ni especiales: son clases completas para que puedas comprobar realmente la dinámica de los Megacursos, con las que puedes comenzar tu aprendizaje desde 0 de Dios de la Programación sin ningún costo.
NOTA: la calidad del curso final es mejor que la de las clases gratuitas debido a que nuestros servidores soportan archivos de mejor calidad que YouTube.
Elige e inscribete al megacurso que más te guste.
Recibe tus credenciales en el correo usado en el registro una vez verificado el pago.
Accede desde cualquier dispositivo al material en alta definición.
El método de pago más fácil y seguro en el mundo.
Paga en tu divisa 100% seguro con Visa o Mastercard.
¿No tienes tarjeta? Puedes pagar en efectivo en la oficina Western Union más cercana.
También puedes realizar el pago por transferencia a nuestra cuenta del banco HSBC.
En un mundo laboral donde los títulos y diplomas son tan importantes, dejar plasmado tu conocimiento de forma oficial en el curriculum vitae u hoja de vida es una muy buena forma de enriquecerlo e incrementar tus posibilidades de éxito.
Por ello, puedes solicitar el diploma oficial en el que se acredite que has tomado tus Megacursos y que, por ente, has adquirido conocimientos de las diferentes disciplinas a un nivel medio-alto.
Añádelo como un extra en el botón rojo arriba de este texto.
Podrás descargarlos en PDF desde una página específica que se te aportará.
El diploma certifica que has tomado los Megacursos. Y al ser un diploma presencial, no es necesario que pases ninguna prueba y examen, pues demuestra que has tomado los Megacursos.
El diploma tiene validez internacional.
Con que lo añadas una vez, afecta a todos los cursos dentro del pack (en caso de que se compre megapack). No es necesario comprarlo varias veces. Se te dará un diploma individual para cada disciplina.
No, el diploma sólo puede pedirse añadiéndose como extra al pedido a la hora de apuntarse a los cursos. En el futuro no puede solicitarse.
La Asistencia Individual es una opción adicional para mejorar la experiencia de aprendizaje tratando directamente con el profesor tus dudas, sugerencias e inconvenientes manteniendo así una educación a distancia de calidad.
Añádelo como un extra en el botón rojo arriba de este texto.
Se te aportará un contacto para que puedas preguntar a nuestro equipo de profesores cualquier pregunta que necesites.
La Asistencia Individual no tiene ninguna limitación de tiempo ni de cantidad de preguntas. Podrías realizar 6 preguntas diarias día a día durante 6 años sin ningún problema si lo considerases necesario.
El máximo tiempo que tienen los docentes para responder a tus dudas es de 24h, aunque generalmente suelen tardar mucho menos (es habitual tener respuesta a las 1-2 horas de haber realizado la consulta).
Con que lo añadas una vez, afecta a todos los cursos dentro del pack (en caso de que se compre megapack). No es necesario comprarlo varias veces. Se te responderán a dudas sobre cualquier curso que hayas comprado.
No, la Asistencia Individual sólo puede pedirse añadiéndose como extra al pedido a la hora de apuntarse a los cursos. En el futuro no puede solicitarse.
Para poder seguir este producto necesitas las siguientes cosas (en caso de software puedes conseguirlos por tu cuenta):
Si necesitas tener toda la información de éste producto en un documento para imprimirla o estudiarla con más atención, puedes descargar el PDF de este producto en el botón de arriba.
Puedes enviar un email con toda la información de este producto a quien quieras (amigo, compañero, jefe o incluso a ti mismo) para que reciba un email explicando qué es este producto y lo que contiene.
También puedes descargarte el PDF informativo.
En caso de necesitar una cotización oficial (factura proforma, presupuesto) de éste producto, puedes utilizar el siguiente formulario, que enviará la cotización al email que elijas.
Acceso ilimitado a todos los cursos. +1800h de Megacursos Full HD de 0 a 100. Con Diploma Oficial y Asistencia 24h.
Ver planesContenido del Megapack
490h de videoclases online
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Conocemos el concepto de flujo y los diferentes métodos de entradas y salidas, en memoria, ficheros y teclado.
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.
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 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.
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.
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.
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.
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.
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.
Creamos nuestra calculadora de escritorio 100% utilizable, nos ponemos en marcha con las aplicaciones de escritorio.
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.
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Esta vez trabajamos con bases de datos, en nuestro caso Postgresql y hacemos peticiones a está observando los resultados en nuestra aplicación.
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.
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.
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.
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
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.
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.
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.
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.
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.
Continuamos con nuestro conocimiento de WS(Web Services ) ahora haremos aplicaciones con RESTFul y veremos sus posibilidades.
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.
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.
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.
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.
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.
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.
Continuamos esta vez con un clon del clásico Tetris desde 0 hasta poder jugar con el unas partiditas.
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.
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.
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.
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.
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.
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.
Aprenderemos a crear nuestros propios Sprites, para colocar en nuestro juego, los animamos y observamos el resultado en nuestro juego.
Vamos a manejar por fin a nuestro personaje por nuestro nivel ya podemos explorar el mapa creado con nuestro personaje animado
Vamos a poner un arco a nuestro personaje para que pueda disparar flechas , gastando mana.
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
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.
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.
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!
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.
¿Qué es el SDK de iOS, qué podemos hacer con él y por qué es tan importante a la hora de desarrollar nuestras apps?
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.
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!
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.
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.
La última clase de Swift, la dedicamos a las funciones, las clases y lo que Apple denomina “Optionals”.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
¿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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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ú.
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.
¿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.
Seguimos explorando CloudKit, llegando a un nivel más avanzado.
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.
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.
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.
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.
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!
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.
Playground en el que creamos una función que determine de forma automática si un número es divisible por otro.
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.
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.
Ampliamos nuestra app “RestaurantList” para añadir nuestras propias imágenes a a hora de guardar un nuevo restaurante.
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.
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.
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.
¿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.
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.
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.
Haz que un elemento de tu juego se mueva siguiendo los toques del jugador en la pantalla.
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.
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.
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.
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.
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.
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.
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.
Ú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.
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.
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.
Introducción a tvOS, qué es y sus similitudes con iOS. Aprende a crear tu primera app para Apple TV de la forma tradicional.
Vamos a crear un sencillo “juego” de preguntas y respuestas para nuestro Apple TV!
Apple se adentra en nuestras televisiones con tvOS. Aquí te lo presentamos.
En esta clase introducimos los diferentes tipos de arquitectura que pueden tener las aplicaciones para Apple TV en tvOS.
Empezamos con el nuevo tipo de apps que puedes crear para el Apple TV: las aplicaciones basadas en TVML.
Aprende a utilizar las diferentes plantillas TVML que Apple pone a disposición de los desarrolladores.
Sigue adentrándote en el apasionante mundo de las apps basadas en TVML, mediante nuevas interfaces y plantillas más complejas.
¿Te suena JavaScript? Puedes utilizarlo para manejar el comportamiento de tu app y manipular el DOM del TVML.
¿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.
En esta clase, mostramos los controles básicos con los que los usuarios pueden interactuar dentro de tu aplicación.
Los Stack Views son el “esqueleto” de la estructura de tu app, por lo que te interesa aprender bien cómo se comportan.
Aprende a mostrar listados de elementos con un aspecto visual inmejorable, gracias a los Collection Views.
¿Tu app cuenta con varias pantallas diferentes? Mira las diferentes opciones que tienes para pasar de una a otra.
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.
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.
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.
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.
Aprende a utilizar UITableView, de la misma forma que en iOS, en tus apps tvOS para Apple TV.
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!
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.
Descubre watchOS, la plataforma para desarrollo de aplicaciones para el smartwatch de Apple.
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.
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.
Si quieres incluir un selector, y manejarlo mediante la corona digital del Apple Watch, la única forma de hacerlo es mediante el objeto WKInterfacePicker.
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.
Aquí aprenderás sobre los distintos modos de navegación disponibles en watchOS, así como a combinarlos entre 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Vamos a crear una calculadora funcional para poder realizar operaciones. Utilizaremos todo lo aprendido anteriormente.
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
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
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.
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.
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.
Definimos nuestros propios tipos de datos y creamos conjuntos para guardar información.
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.
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 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.
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.
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.
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.
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.
Vamos a ver una técnica muy sencilla para enfrentarnos al problema de tener que ordenar arrays de varias dimensiones
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,..
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.
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.
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.
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.
Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.
Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.
Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.
Vamos a ver Listas doblemente-enlazadas, Pilas, Colas cada una con su implementación en esta ocasión mediante memoria dinámica/punteros.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Haremos uso de un sitio web que nos permitirá trabajar con simulaciones de distintos contextos basados en ejemplos para cada tipo de vulnerabilidad.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Aprenderemos a hacer escaneos de sitios web y también distinguir las distintas extensiones y tecnologías que usen estos sitios web.
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.
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.
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.
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
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
Conoce los casos Infección de APK en Android.
Analizaremos esta nueva herramienta de Metasploit Framework que sustituye a las herramientas conocidas como Msfpayload y Msfencode.
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.
Conoce los casos de robo de información con 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.
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.
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.
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.
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.
Introducción al Métodos de hackeo a redes sociales
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.
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
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.
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.
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.
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.
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.
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.
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.
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
Los métodos son funciones que técnicamente se denominan métodos, y representan acciones propias que puede realizar el objeto.
Aprenderemos a instalar y configurar el entorno de desarrollo de python, además de modificar tanto como visual y nuestro primer "Hello world"
Comenzaremos con reconocer los tipos de datos primitivos además de operaciones fundamentales que nos ayudará entender el lenguaje.
Continuamos con los tipos de datos, en esta ocasión aprenderemos a usar los operadores lógicos, cuando decir verdadero y cuando decir falso.
Esta clase está dedicada a las operaciones fundamentales y el almacenamiento de datos, tales como enteros y cadenas.
Continuamos con los tipos de datos, en esta ocasión aprenderemos a usar los operadores lógicos, cuando afirmar ciertos datos.
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.
En esta clase practicaremos lo aprendido con el uso de almacenamiento de datos primitivos.
En esta práctica aplicaremos lo aprendido con operaciones matemáticas simples y básicas del lenguaje python.
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.
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.
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.
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.
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.
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.
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)
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.
En esta clase identificamos el ejercicio y la solución que le podemos dar a este tipo de problemas.
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.
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.
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.
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.
En esta clase aprendemos a tomar los requerimientos que nos solicitan para realizar el programa.
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.
En esta clase definiremos la lógica de negocio de usuarios y cuentas para luego procesarlas en código.
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.
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.
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.
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.
El uso de iteradores es una forma rápida de manejo de listas ya sea con tipos de datos primitivos u objetos.
Una constante es un valor que no puede ser alterado / modificado durante la ejecución de un programa, únicamente puede ser leído.
Aprenderemos el uso efectivo de funciones y procedimientos que son muy utilizados en el mundo de la programación.
En esta clase aprenderemos el uso correcto de la recursividad y los procesos recursivos que nos ayudan a resolver problemas específicos.
En esta clase aprenderemos a crear la factorial de un número N, pero en esta ocasión haciendo uso de la recursión.
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.
En esta clase aprenderemos a implementar una aplicación por consola, tomando de referencia el ejemplo de un ejecutable.
El comportamiento de una pila - stack se puede describir mediante la frase "Lo último que se apiló es lo primero que se usa"
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.
¿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.
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
La herencia es un mecanismo de la programación orientada a objetos que sirve para crear clases nuevas a partir de clases preexistentes.
La composición de clase permite relaciones explícitas entre objetos. En este ejemplo, los empleados pertenecen a ciertas empresas.
En esta clase aprenderemos a crear un juego muy conocido puzzle con Programación orientada a objetos.
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.
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.
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.
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
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.
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.
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).
En esta clase aprenderemos el uso de escritura de archivos en todas sus formas posibles usando la función open ().
Una forma en que podemos mantener datos y/o actualizarlos o simplemente agregar nuevos datos a nuestros archivos.
Aprenderemos a usar el terminal de comandos, a instalar NodeJs, luego instalaremos el Angular CLI y crearemos nuestro primer proyecto en Angular.
Esta entretenida clase será para hacer nuestro primer miniproyecto un convertidor de diferentes unidades de medida.
Ha llegado la hora de crear nuestro primer componente en Angular literalmente la piedra angular de los proyectos de este Framework.
Definiremos los conceptos básicos de Typescript, nuestro lenguaje por excelencia durante el curso.
Aprenderemos sobre Clases, modelos de datos y objetos a través de pequeños ejemplos del mundo cotidiano.
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.
Crearemos una directiva personalizada y plantearemos fundamentos para que podamos crear nuestra propias directivas.
Aprenderemos a configurar el routing, manejo de rutas, parámetros y re direccionamiento por router.
Crearemos un sitio web típico usando las técnicas provistas por el framework Angular.
Comenzaremos a incorporar nuestros primeros servicios, y crearemos un servicio usando HttpClient.
Continuaremos nuestro ejercicio con nuestro servicio de ejemplo y HttpClient.
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.
Aprenderemos a usar los formularios orientados a plantillas y los formularios reactivos, además de como validarlos Angular.
Realizaremos un ejercicio para usar el almacenaje de datos locales que se encuentra dispuesto en nuestros navegadores.
Finalizaremos el ejercicio de LocalStorage.
Aprenderemos nociones básicas de git las cuales nos ayudaran a gestionar los proyectos de Angular.
Conoceremos a las promesas y los observables en que se diferencian y revisaremos varias funciones y métodos que retornan promesas u observables.
Realizaremos ejemplos de promesas y revisaremos la librería RxJs.
Crearemos la estructura de nuestro proyecto y routing básico.
Crearemos nuestro formulario de login y lo conectaremos con Firebase Authentication.
Comenzaremos a crear nuestro CRUD de manejo de proyectos del portafolio y lo enlazaremos con Cloud Firestore.
Haremos un formulario de creación de proyectos y agragaremos paquetes npm para manejo de selectores de fecha.
Manejaremos la edición y borrado de nuestro CRUD de proyectos.
Agregaremos a nuestro CRUD la capacidad de subir archivos a Firebase Storage.
Continuaremos agregando la subida de imágenes a nuestro CRUD de proyectos.
Agregaremos la capacidad de envío de correos a nuestro proyecto para manejar nuestro formulario de contacto.
Haremos el Deploy de nuestro proyecto a Firebase Hosting y a Heroku.
Aprenderemos los fundamentos del manejador de bases de datos NoSQL MongoDb, realizaremos su instalación y ejercicios de práctica.
Para el manejo de nuetro backend crearemos un proyecto en NodeJS, en el cual levantaremos un servidor con typescript, express y mongosee.
Modelaremos las entidades necesarias para el proyecto de arriendo de mobiliario.
Agregaremos a nuestro proyecto backend la capacidad de usar Json Web Tokens para realizar el manejo de sesiones de nuestro proyecto.
Instalaremos el template de Angular llamado CoreUI e iniciaremos con el formlario de login.
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.
Iniciaremos la creación de los CRUD de los modelos del proyecto de arriendo de mobiliario, partiendo con la creación de usuarios.
Continua la creación de los CRUD, ahora agregaremos Datatables a nuestro CRUD de usuarios.
A continuación agregaremos la capacidad de editar y eliminar usuarios.
Iniciaremos la creación del CRUD de temáticas e incorporación de la capacidad de subir imágenes.
Continuamos con la creación del CRUD de temáticas, donde para poder subir imágenes a nuestro backend deberemos incorporara el paquete Multer.
Iniciaremos la creación del CRUD de items e incorporación de la capacidad de subir imágenes.
Ahora toca el turno del CRUD de Tipos de Evento el cual tiene un rol central en el proyecto de arriendo de mobiliario.
Se continúa generando la funcionalidad del generador de relaciones entre ítems para el CRUD de Tipo de Evento.
Se culmina el CRUD de tipo de eventos su funciones de editar y borrar, además se crea el CRUD de clientes.
Se inicia con el CRUD de presupuestos, el cual requiere ajustes en backend donde agregaremos los tipos de lugar.
Continuando nuestro CRUD de presupuestos, debemos incorporar a Google Places para las direcciones y Angular Google Maps para poder visualizar las direcciones en mapa.
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.
Finaliza el cálculo básico del presupuesto.
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.
Se inicia con el CRUD de Eventos, el cual parte de la base de un presupuesto.
Se agrega la lógica de inventario de ítems y se realizan ajustes generales al proyecto.
Se continúan los ajustes generales, y aprenderemos como publicar nuestra base de datos MongoDb a Atlas el servicio de nube de MongoDb.
Realizaremos el deploy del proyecto usando Firebase Hosting para el frontend de Angular y Heroku para el backend.
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.
Realizaremos la integración de Socket IO y Angular, aprenderemos a emitir eventos y como capturarlos.
Deploy a Atlas, Heroku y Firebase
Aprenderemos a realizar pruebas unitarias básicas, luego agregaremos pruebas unitarias nuestro proyecto anterior “Chat con Socket IO”
Para continuar nuestra práctica de pruebas unitarias tomaremos al proyecto de Arriendo de Mobiliario y le agregaremos algunas pruebas unitarias.
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.
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.
Aprenderemos como crear diferentes ambientes para nuestro proyecto Angular como lo son el ambiente de QA y Certificación.
Aprenderemos nociones básicas de esta funcionalidad que nos permite generar nuestro propio comando generador para el Angular CLI.
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.
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.
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".
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.
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.
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.
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.
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.
En esta clase veremos operaciones aritméticas simples y complejas y sus usos prácticos en Ruby tanto en irb como en scripts.
En esta clase veremos las generalidades y características de cadenas de texto y métodos y operaciones que se pueden ejecutar sobre ellos.
En esta clase abordamos la utilización de secuencias de escape, object id, y algunos métodos que nos permiten manipular cadenas de texto.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
En esta clase continuamos utilizando Git y mejorando nuestro proyecto de práctica agregándole mas funcionalidades, completandolo y concluimos con ambos temas.
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.
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.
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.
En esta clase comenzamos viendo y practicando, aspectos de la programación orientada a objetos, clases, instancias, métodos y herencia.
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.
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.
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.
En esta clase continuaremos hablando de los métodos que reciben bloques y alcance de variables.
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.
En esta clase continuamos con el ejercicio de colorear la termina, reemplazando los switch por diccionarios e implementando expresiones regulares en algunos métodos.
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.
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.
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.
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.
En esta clase veremos a profundidad algunos aspectos relacionados con RVM que son fundamentales para el trabajo con gemas en nuestro entorno de desarrollo.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
En esta clase hablamos acerca de cómo y en qué lugares encontrar recursos, ayuda y comunidades relacionadas con Ruby.
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.
En esta clase continuamos viendo Ruby 2D concretamente lo relacionado con la configuración de ventana, figuras, colores y detección de eventos.
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.
En esta clase continuamos con el desarrollo de nuestro juego, implementando detección de colisiones y un puntaje que puede aumentar o disminuir.
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.
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.
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.
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.
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.
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.
En esta clase continuamos y finalizamos nuestra aplicación generadora de contraseñas construida en Ruby utilizando la gema Fox16.
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.
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.
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.
En esta clase vemos un breve resumen de CSS, aspectos básicos, utilización, selectores y lo integramos con HTML.
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.
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.
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.
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.
En esta clase iniciamos a trabajar con el framework Sinatra, definimos algunas rutas, utilizamos código HTML y archivos erb externos.
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.
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.
En esta clase continuamos con el desarrollo de nuestra aplicación de agenda telefónica utilizando Sinatra y el framework Bulma CSS.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
Seguimos trabajando con clases, viendo los diferentes usos que podemos darles, incluida la herencia y el concepto de polimorfismo.
Una clase práctica donde veremos el uso de clases en acción, realizando una sencilla aplicación de mantenimiento de clientes.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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”.
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.
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.
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.
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.
No estamos limitados únicamente a Visual Studio. Es hora de ponerse online y que la red trabaje para nosotros.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Empezamos con la gestión de usuarios para permitir que nuestra aplicación pueda tener clientes y se puedan registrar en nuestra tienda online.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Esta clase contiene los métodos necesarios para poder añadir un botón con estado y que pueda ser accionable por el usuario.
Daremos explicación a todas las funciones que contiene nuestra plataforma de trabajo que es Android Studio.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Haremos uso de los componentes de IONIC para poder ir creando y estructurando nuestra Aplicación Ionica.
Veremos cuales son los mejores componentes como podemos aplicarlos a nuestro proyecto y como escoger cuales son necesarios para ciertas aplicaciones.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Es importante tener en cuenta que nuestro proyecto tendrá estilos personalizados y también álbumes y artistas enlazados a la aplicación de Spotify.
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.
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.
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.
Si quieres ser un experto en diseño y postproducción de vídeo
Si quieres ser un experto en la creación de gráficos y animaciones 3D
alejandra palacios
los programas que usan vienen con el cureso?