CursosEmpresasBlogLiveConfPrecios

Creación de modelos

Clase 7 de 25 • Curso de Fundamentos de Entity Framework

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Bienvenida y presentación

    Bienvenida y presentación

    01:51
  • 2
    Prerrequisitos

    Prerrequisitos

    03:04
  • 3
    Conexión a base de datos

    Conexión a base de datos

    07:20
  • 4
    ¿Qué es un ORM en programación?

    ¿Qué es un ORM en programación?

    08:51
  • 5
    Introducción a Entity Framework

    Introducción a Entity Framework

    06:53
  • 6
    Creación de proyecto .NET con Entity Framework

    Creación de proyecto .NET con Entity Framework

    11:57
Iniciando con Entity Framework
  • 7
    Creación de modelos

    Creación de modelos

    08:28
  • 8
    Configuración de Entity Framework

    Configuración de Entity Framework

    06:53
  • 9
    Mapeo de modelos usando atributos

    Mapeo de modelos usando atributos

    09:52
  • 10
    Utilizando base de datos en memoria

    Utilizando base de datos en memoria

    10:13
  • 11
    Conectado a base de datos SQL server

    Conectado a base de datos SQL server

    10:53
  • 12
    Agregando conexión al archivo appsettings

    Agregando conexión al archivo appsettings

    07:28
Utilizando Fluent API
  • 13
    Introducción a Fluent API

    Introducción a Fluent API

    03:29
  • 14
    Creando modelo de categoría con Fluent API

    Creando modelo de categoría con Fluent API

    08:30
  • 15
    Creando modelo de tarea con Fluent API

    Creando modelo de tarea con Fluent API

    07:36
  • 16
    Conectado a base de datos con Fluent API

    Conectado a base de datos con Fluent API

    07:42
Migraciones
  • 17
    ¿Qué son las migraciones?

    ¿Qué son las migraciones?

    03:14
  • 18
    Inicializar las migraciones

    Inicializar las migraciones

    11:27
  • 19
    Creando una migración

    Creando una migración

    07:18
  • 20
    Agregando datos semilla

    Agregando datos semilla

    16:31
Consumo de datos
  • 21
    Obteniendo datos con Entity Framework

    Obteniendo datos con Entity Framework

    11:31
  • 22
    Guardando datos con Entity framework

    Guardando datos con Entity framework

    09:07
  • 23
    Actualizando datos con Entity framework

    Actualizando datos con Entity framework

    10:17
  • 24
    Eliminando datos con Entity framework

    Eliminando datos con Entity framework

    07:59
Cierre del curso
  • 25
    Continúa tu camino desarrollando

    Continúa tu camino desarrollando

    01:45
    Esteban Ricardo Sierra

    Esteban Ricardo Sierra

    student•
    hace 4 años

    El tipo de dato Guid es un 'Identificador global único' el cual nos retorna un dato unico, ejemplo : 5a7939fd-59de-44bd-a092-f5d8434584de

      Daniel Osvaldo Lopez García

      Daniel Osvaldo Lopez García

      student•
      hace 4 años

      muchísimas gracias, por el aporte.

      Nelson Arturo Cortes Briceño

      Nelson Arturo Cortes Briceño

      student•
      hace 3 años

      tenia esa duda, gracias bro

    Carlos Arturo Mendoza Mejía

    Carlos Arturo Mendoza Mejía

    student•
    hace 4 años

    Para los que no les gusta escribir todo el código desde cero pueden añadir esta extencion a su VSC: C# y C# Extensions asi no van a tener que escribir el namespace y la clase, ya las extensiones lo hacen por uno, van a ir al panel izquiedo en donde estan unos cuadrados dice extenciones y luego en añadir o pueden descargarlas.

    Aqui les dejo los links:

    • https://marketplace.visualstudio.com/items?itemName=jchannon.csharpextensions

    • https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp

      KEYSY MARIEL HERNANDEZ MANJARRES

      KEYSY MARIEL HERNANDEZ MANJARRES

      student•
      hace 3 años

      yo tengo ambas extensiones y aun así me toca escribirlos, no se porque no me sale por defecto.

      Steven Rendon

      Steven Rendon

      student•
      hace 3 años

      Hola , Intenta usar esta.

      https://marketplace.visualstudio.com/items?itemName=kreativ-software.csharpextensions.

      La que comparte el compañero ya està en desuso, por lo tanto, no tiene mantenibilidad y puede generar probemas de compatibilidad.

    Kevin Castellano

    Kevin Castellano

    student•
    hace 3 años

    Si tienen el problema que sin importar el nombre de alguna de las clases creadas les arroja el error de que ya existe pueden ejecutar el comando "Restart OmniSharp".

    Presionen Ctrl + Shift + P y en el cuadro de texto que se abre escriben "Restart OmniSharp" sin comillas y presionan Enter

      Daniel David Mejia Vargas

      Daniel David Mejia Vargas

      student•
      hace 3 años

      Sabes porque sucede esto? Me funciono pero si me gustaría saber el porque.

      Facundo Oubel

      Facundo Oubel

      student•
      hace 3 años

      Tambien me interesaria saber por que sucede esto

    Kevin Castellano

    Kevin Castellano

    student•
    hace 3 años

    La palabra clave virtual se utiliza para modificar un método, propiedad, indizador o declaración de evento y permite invalidar cualquiera de estos elementos en una clase derivada.

    Fuente: https://apuntes-snicoper.readthedocs.io/es/latest/programacion/csharp/virtual.html

    Fuente de la fuente: https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/virtual

      Carlos Arturo Mendoza Mejía

      Carlos Arturo Mendoza Mejía

      student•
      hace 3 años

      Kevin Castellano, están caídos los enlaces.

      Jonathan Cumini

      Jonathan Cumini

      student•
      hace 3 años

      Los links no funcionan si les haces clic, pero puedes usar la URL sin problemas.

    Hans González

    Hans González

    student•
    hace 3 años

    Para no estar escribiendo el public x x x , pueden escribir prop y automáticamente les generara el detalle del objeto con get y set, y solo es de cambiarle de que tipo y nombre :)

      Jonathan Cumini

      Jonathan Cumini

      student•
      hace 3 años

      Excelente! Y propfull se usa para explicitar los métodos get y set (no para esta clase)

    Platzi Team

    Platzi Team

    student•
    hace 3 años

    Creacion de Modelos


    Lo primero que debemos hacer para crear nuestros modelos es crear una carpeta Models donde guardaremos nuestras clases para cada tabla:

    En nuestro archivo Categoria.cs, creamos nuestro modelos con los atributos de igual manera en nuestro archivo Tara.cs

    public class Categoria { public int Id { get; set; } public string Nombre { get; set; } public virtual ICollection<Tarea> Tareas { get; set; } } public class Tarea { public int Id { get; set; } public string Nombre { get; set; } public int CategoriaId { get; set; } public virtual Categoria Categoria { get; set; } }

    **Guid**es un acrónimo que significa "Globally Unique Identifier", es decir, un Identificador Único Global en inglés. Es un tipo de datos que se utiliza para identificar de forma única y segura elementos, ya sea en una aplicación o en un sistema.

    Los **Guid**se componen de 16 bytes que se combinan para formar un número único, y están diseñados para ser globales, es decir, que no se repitan en ninguna parte del mundo. Esto los hace muy útiles para identificar elementos únicos en un sistema distribuido, como por ejemplo, registros en una base de datos.

    En el ejemplo anterior, se utiliza un **Guid**para identificar cada categoría y tarea, garantizando que cada una tenga un identificador único y no haya conflicto entre ellas.

    Expandiendo los conocimientos:

    • **Get**y Set son propiedades de acceso que permiten obtener y establecer valores para una propiedad determinada. En otras palabras, Get permite leer el valor de una propiedad y Set permite asignarle un nuevo valor. En el ejemplo de las clases Categoria y Tarea , se utiliza una combinación de Get y Set para definir las propiedades Id, Nombre, CategoriaId y Categoria.
    • Virtual es un modificador de acceso que permite a una propiedad ser sobreescrita en clases heredadas. En el ejemplo, la propiedad Categoria de la clase Tarea se marca como virtual para permitir que se sobreescriba en una clase heredada.
    • ICollection<T> es una interfaz genérica que representa una colección de objetos que se pueden recorrer y modificar. En este caso, ICollection<Tarea> se utiliza para definir la propiedad Tareas en la clase Categoria, que representa una colección de tareas asociadas a una categoría.
    Luis Enrique Carreño Herreño

    Luis Enrique Carreño Herreño

    student•
    hace 3 años

    Que ventajas existen al usar como tipo de dato GUID para el identificador de una entidad? Que ventajas tienen respecto al uso de identities en SQL Server y sequences en PostgreSQL?

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      Excelente pregunta! GUID es unico en todo el entorno de la base de datos, usando un numerico autoincrementado vas a tener varios repetidos en cada tabla y esto imposbilita el buscar un registro de manera global. En las bases de datos NoSQL es casi mandatorio usar GUID por el tema de no manejar relaciones

    juan lopes

    juan lopes

    student•
    hace 3 años

    En el contexto de EF, marcar una propiedad como virtual permite a EF usar la carga diferida para cargarla. Para que la carga diferida funcione, EF tiene que crear un objeto proxy que invalide las propiedades virtuales con una implementación que cargue la entidad a la que se hace referencia cuando se accede a ella por primera vez. Si no marca la propiedad como virtual, la carga diferida no funcionará con ella.

      Jonathan Cumini

      Jonathan Cumini

      student•
      hace 3 años

      Gracias Juan! Podrías añadir un link donde se explique en mayor detalle? Soy de los que les gusta entender cada keyword :)

    Juan Heredia

    Juan Heredia

    student•
    hace 4 años

    Por si tienen problemas y nos les funciona el Hello Word dentro de su IDE, les dejo las siguientes notas

    Si ejecutamos nuestro proyecto y este no funciona, aparece el mensaje de using a preview package for this significa que estamos intentando compilar una versión que no es compatible y por lo tanto marcara errores, para solucionar esto debemos identificar la versión de net con la que estamos trabajando para eso usamos el comando dotnet –version Esto nos indicara la versión en la que estamos, algunas versiones solo son compatibles con el IDE más reciente con el que trabajamos, por ejemplo, la versión 6.0 no es compatible con Visual Studio 2019, por lo que no podremos indicarle que se trata de esta versión y no entenderá algunos comandos que le estamos enviando. Para abrir la pestaña de propiedades de un proyecto damos clic derecho sobre el y seleccionamos la versión de .NET

    También podría funcionar si permitimos funciones preview en nuestro IDE, para ello nos dirigimos a las opciones de visual Studio (en la pestaña de Tools) y buscamos preview

      Carlos Arturo Mendoza Mejía

      Carlos Arturo Mendoza Mejía

      student•
      hace 4 años

      Ahi te falto un signo de "-" amigo, el comando es este:

      dotnet --version

      Me gusto tu aporte :)

    Felipe de Jesús Isidro

    Felipe de Jesús Isidro

    student•
    hace 3 años

    Por que los atributos de relación los coloca como virtual?

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      Para que la logica del atributo se pueda sobreescribir. de estamera intermente entity fraemwork hace la implementación y al momento de usarlo devuelve los datos relacionados

    Yaoska Margarita Telleria López

    Yaoska Margarita Telleria López

    student•
    hace 3 años

    ¿Por qué una de las propiedades es de ICollection y la otra no?, alguien tan amable que me explique

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      ICollection se necesita en EF cuando queremos hacer referencia sobre una collecion que se va cargar de manera virtual y que debe soportar todas las operaciones de una tabla es decir list, add, edit, delete

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      ICollection se necesita en EF cuando queremos hacer referencia sobre una colección que se va cargar de manera virtual y que debe soportar todas las operaciones de una tabla es decir list, add, edit, delete

    Juan Betancur

    Juan Betancur

    student•
    hace 3 años

    Lo que haces con public virtual es hacer las relación de las llaves foráneas?

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      Para poder extraer información de la relación

    Juan Carlos Gelpud Rosero

    Juan Carlos Gelpud Rosero

    student•
    hace 4 años

    Para que sirve el virtual? Lo he visto en muchas ocasiones pero no entiendo si el uso de este es para optimizar el uso en memoria.

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 4 años

      Básicamente indica que puede una propiedad o método puede ser sobrescrito por cualquier clase que herede de el usando el override. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/virtual

    César David García Narro

    César David García Narro

    student•
    hace 3 años

    Tengo problemas para llevar el curso, puesto estoy siguiendo la ruta Backend pero no es la primera vez que siguiendo la ruta me toco con un curso que me pide otros cursos. Mi duda es, para este curso realmente cuanto necesito saber de C# ya que menciono que existe un curso de C# que tomar, y es el primero en la ruta de Backend C# y .NET pero en ningún momento del curso vemos, propiedades o clases.

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      Hola Cesar, nos hace falta un curso en ese paso de POO con C# para poder enteder esa parte. Lamento mucho tu confusion. Hay curso que te peude servir simplemente que esta muy desactualizado pero en conceptos generales te puede ayudar: https://platzi.com/cursos/fundamentos-csharp-2/

    David Orlando Gomez Alarcon

    David Orlando Gomez Alarcon

    student•
    hace 3 años

    No entendi el GUID y el Virtual, me lo prodrian explicar mejor

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      GUID es un identificador único en el contexto de la base de datos. Es super chevere por que te garantiza tener un identificador que no es autoincrementado y que no repite dentro de todo el contexto de la BD. muchas bases de datos vienen optimizadas para este tipo, mas información en: https://en.wikipedia.org/wiki/Unique_identifier

      virtual es una palabra clave reservada de C# que permite indicar que un método o que una propiedad se puede sobreescribir. Usamos esta propiedad en EF para que al momento de llenar la información poder enlazar la propiedad con la referencia de la base de datos.

    Kevin Eduardo Vásquez Oliva

    Kevin Eduardo Vásquez Oliva

    student•
    hace 3 años

    ¿El nombre del namespace puede ser cualquier nombre o debe estar relacionado al nombre de la carpeta que contiene el proyecto?

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      Generalmente se utiliza el nombre del proyecto y se va extendiendo por carpeta por ejemplo: MyProject MyProject.Models MyProject.Data

    Leidy Ruiz

    Leidy Ruiz

    student•
    hace 3 años

    si las tablas tienen una relación como se puede especificar al modelo la relación que existe entre una clase y otra para que la tabla tenga la misma relación?

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      En las clases de mas adelante vamos aprender paso a paso esta parte de las relaciones para mas info acá: https://www.entityframeworktutorial.net/efcore/configure-one-to-many-relationship-using-fluent-api-in-ef-core.aspx

    Mauricio Zárate

    Mauricio Zárate

    student•
    hace un año

    Me llama la atención que las propiedades de las clases se las declare de tipo public pero que se les agreguen getters y setters.

    ¿No sería mejor declararlas como private u omitir el uso de los getter y los setter?

      Carlos Enrique Ruiz Medina

      Carlos Enrique Ruiz Medina

      student•
      hace 8 días

      Encapsulamiento con flexibilidad: Las propiedades como public string Titulo { get; set; } son una forma abreviada de declarar campos privados con acceso controlado. Aunque son públicas, permiten agregar lógica interna más adelante sin cambiar la interfaz pública.

      public string Titulo { get => _titulo; set { if (string.IsNullOrWhiteSpace(value)) throw new ArgumentException("El título no puede estar vacío"); _titulo = value; } }

      Las propiedades privadas solo se usan dentro de la clase, lo que limita su utilidad si necesitas exponer datos a otras partes del sistema.

      Fuente: Copilot

    sergio Castro cano

    sergio Castro cano

    student•
    hace 2 años

    Porque en Categoria se declara la propiedad virtual como ICollection?

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 2 años

      Para que pueda sobreeescribirse por EF y cambiar el comportamiento

    Sebastián Sebastian NavarroC.

    Sebastián Sebastian NavarroC.

    student•
    hace 3 años

    C:\platzi\projectef\TareasContext.cs(3,29): error CS0246: El no text' no se encontró (¿falta una directiva using o una referenc ctef.csproj] C:\platzi\projectef\TareasContext.cs(6,12): error CS0246: El no <>' no se encontró (¿falta una directiva using o una referencia ef.csproj] C:\platzi\projectef\TareasContext.cs(6,18): error CS0246: El no oria' no se encontró (¿falta una directiva using o una referenc ctef.csproj] C:\platzi\projectef\Models\Categoria.cs(15,36): error CS0246: E area' no se encontró (¿falta una directiva using o una referenc ctef.csproj] C:\platzi\projectef\TareasContext.cs(8,12): error CS0246: El no <>' no se encontró (¿falta una directiva using o una referencia ef.csproj] C:\platzi\projectef\TareasContext.cs(8,18): error CS0246: El no ' no se encontró (¿falta una directiva using o una referencia d .csproj] C:\platzi\projectef\TareasContext.cs(10,26): error CS0246: El n ntextOptions<>' no se encontró (¿falta una directiva using o un ctef\projectef.csproj]

    ERROR al compilar.

      Miguel Teheran

      Miguel Teheran

      teacher•
      hace 3 años

      Depronto titne el código en git para verlo mejor? no encuentro el error.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads