CursosEmpresasBlogLiveConfPrecios

Time zones

Clase 20 de 21 • Curso Profesional de Python

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    ¿Qué necesitas saber para tomar el curso?

    ¿Qué necesitas saber para tomar el curso?

    03:15 min
  • 2
    ¿Cómo funciona Python?

    ¿Cómo funciona Python?

    07:49 min
  • 3
    Cómo organizar las carpetas de tus proyectos

    Cómo organizar las carpetas de tus proyectos

    07:15 min

Static Typing

  • 4
    ¿Qué son los tipados?

    ¿Qué son los tipados?

    10:26 min
  • 5
    Tipado estático en Python

    Tipado estático en Python

    14:26 min
  • 6
    Practicando el tipado estático

    Practicando el tipado estático

    13:33 min

Conceptos avanzados de funciones

  • 7
    Scope: alcance de las variables

    Scope: alcance de las variables

    06:32 min
  • 8
    Closures

    Closures

    08:21 min
  • 9
    Programando closures

    Programando closures

    07:00 min
  • 10
    Decoradores

    Decoradores

    06:19 min
  • 11
    Programando decoradores

    Programando decoradores

    13:05 min

Estructuras de datos avanzadas

  • 12
    Iteradores

    Iteradores

    13:52 min
  • 13
    La sucesión de Fibonacci

    La sucesión de Fibonacci

    14:01 min
  • 14
    Generadores

    Generadores

    07:22 min
  • 15
    Mejorando nuestra sucesión de Fibonacci

    Mejorando nuestra sucesión de Fibonacci

    06:53 min
  • 16
    Sets

    Sets

    10:58 min
  • 17
    Operaciones con sets

    Operaciones con sets

    06:09 min
  • 18
    Eliminando los repetidos de una lista

    Eliminando los repetidos de una lista

    05:20 min

Bonus

  • 19
    Manejo de fechas

    Manejo de fechas

    08:44 min
  • 20
    Time zones

    Time zones

    Viendo ahora

Conclusión

  • 21
    Completaste la trilogía. ¿Cómo seguir?

    Completaste la trilogía. ¿Cómo seguir?

    01:30 min
  • Tomar el examen del curso
    • Ángel Yasmani Viñamagua Cuenca

      Ángel Yasmani Viñamagua Cuenca

      student•
      hace 4 años

      Excelente curso. ¡Aquí! les dejo los ejercicios y notas de toda esta tribología de Python (curso básico, intermedio y avanzado) en caso de que quieran revisar algo. Suerte a todos :)

        JUAN PABLO MAYORGA MENDIETA

        JUAN PABLO MAYORGA MENDIETA

        student•
        hace 4 años

        muchas gracias muy buen aporte

        Javier Suárez Meerhoff

        Javier Suárez Meerhoff

        student•
        hace 4 años

        gracias-1

      Brayan Alexis Lechon Andrango

      Brayan Alexis Lechon Andrango

      student•
      hace 4 años

      Después de un par de días de pensar en algún proyecto he realizado un organizador de archivos, porque siempre mi carpeta de downloads esta toda desorganizada xd

      Screenshot 2021-08-03 092654.jpg

      al ejecutar el programa se ve asi

      Screenshot 2021-08-03 092639.jpg
      por ahora ha quedado así, espero seguir mejorándolo con el feedback que me puedan dar :D
      Screenshot 2021-08-03 092642.jpg
      pd: aprender expresiones regulares es un mega poder.

      link del repositorio de GitHub

        Alfredo José Sensente Cortez

        Alfredo José Sensente Cortez

        student•
        hace 4 años

        Este proyecto fue el que más me gustó definitivamente!

        Christian Zamora

        Christian Zamora

        student•
        hace 4 años

        Muy buena has aplicado gran parte de lo que vimos en esta saga de cursos, felicidades!

      marco antonio

      marco antonio

      student•
      hace 4 años
      QReloj

      No se me ocurrió nada excepcional así que solo hice un reloj XD

      es simple solo cambia la hora y fecha presionando el botón que quieras

      QReloj
      Si les gusto y si quieren jugar con el código o sienten curiosidad pueden verlo en mi github

        Cesar Hernández Ramírez

        Cesar Hernández Ramírez

        student•
        hace 4 años

        ¡Te quedó genial! ¿Cómo hiciste lo del reloj, para que sea todo más visual??

        marco antonio

        marco antonio

        student•
        hace 4 años

        @CesarHera Muchas gracias >///< use Qt un framework que sirve en multiples lenguajes [ C, C++, ruby, python, java, pascal ] y muchos mas, dehecho deje el codigo en mi github por si deseas verlo

      Aaron Contreras Garibay

      Aaron Contreras Garibay

      student•
      hace 4 años

      Si quieres cambiar el nombre a una variable (refactorizar) en VS code, coloca el cursor en la definición, presiona f2 y escribe el nuevo nombre

        Francisco Moreno

        Francisco Moreno

        student•
        hace 4 años

        Excelente!

        Elmer Jaén

        Elmer Jaén

        student•
        hace 4 años

        Excelente tip. Muchas gracias! 😃

      Andrés Camilo Rozo Vanegas

      Andrés Camilo Rozo Vanegas

      student•
      hace 4 años

      Hola, te comparto mis apuntes de la trilogía de Python con Facundo. :snake: :unlock:

      • https://github.com/hackmilo/Notas---Curso-profesional-de-Python
      • https://github.com/hackmilo/Notas---Curso-intermedio-de-Python
      • https://github.com/hackmilo/Notas---Curso-basico-de-Python

      Escribeme si tienes alguna duda.

      58.png
        Arturo Escobar Fernandez

        Arturo Escobar Fernandez

        student•
        hace 4 años

        Muchas gracias!!

      Marcos Gomez

      Marcos Gomez

      student•
      hace 4 años

      Del video anterior a este paso un año XD

      Roberto Andres Viruete Gonzalez

      Roberto Andres Viruete Gonzalez

      student•
      hace 4 años

      no por favor yo queria que nos pusiera un desafio usted, o pudo dejarnos un desafio libre y uno en especifico , noooooooo

        Pedro Alvarado Garcia

        Pedro Alvarado Garcia

        student•
        hace 4 años

        Hahaha sí, yo estoy batallando porque no se que hacer.

        Roberto Andres Viruete Gonzalez

        Roberto Andres Viruete Gonzalez

        student•
        hace 4 años

        si es decir , pudo haber dejado un reto libre y uno especifico , hubiera sido mas divertido

      Miguel Angel Reyes Moreno

      Miguel Angel Reyes Moreno

      student•
      hace 4 años

      Bueno, esto es lo que se me ocurrió hacer, no es mucho, pero es trabajo honesto:

      from datetime import datetime import pytz def get_date_time_from_timezone(city_name:str, timezone:str)-> datetime: city_timezone = pytz.timezone(timezone) return datetime.now(city_timezone) london = get_date_time_from_timezone("London", "Europe/London") cdmx = get_date_time_from_timezone("LA", "America/Los_Angeles") difference = london - cdmx print(f'Diferencia entre London y CDMX: {difference}')
      Miguel Angel Reyes Moreno

      Miguel Angel Reyes Moreno

      student•
      hace 4 años

      Antes de hacer el reto, dejo el código a modo de función para que sea más fácil de utilizar:

      from datetime import datetime import pytz def get_date_time_from_timezone(city_name:str, timezone:str)-> str: city_timezone = pytz.timezone(timezone) city_time = datetime.now(city_timezone) print(f'{city_name}: {city_time.strftime("%d/%m/%Y, %H:%M:%S")}') get_date_time_from_timezone("London", "Europe/London") get_date_time_from_timezone("LA", "America/Los_Angeles") get_date_time_from_timezone("CDMX", "America/Mexico_City") get_date_time_from_timezone("Tokyo", "Asia/Tokyo") get_date_time_from_timezone("Sydney", "Australia/Sydney")
      Rene Rosas

      Rene Rosas

      student•
      hace 4 años

      yo no se hacer proyectos y programas :( no se como plantear cosas y asi

        Joel Orellana

        Joel Orellana

        student•
        hace 4 años

        soi io

        Evander Nassem Ramírez Hernández

        Evander Nassem Ramírez Hernández

        student•
        hace 3 años

        Te recomiendo cursos los cursos de lógica de programación en Platzi, además de muchos, muchos ejercicios de Python en cualquier plataforma y checar los proyectos de los demás compañeros

      Jonathan Vásquez Alvarado

      Jonathan Vásquez Alvarado

      student•
      hace 4 años

      CONTAR LAS PALABRAS DE UN AUDIO Tenía la curiosidad de saber que palabras se repiten mas en mis canciones favoritas, así que hice un programa para contar las palabras de un archivo de audio. Ahora funciona con solo audios de voz, pero espero poder mejorarlo para que extraiga las pistas de audio de la cancion entera (IA), se los dejo aquí: Github Jona-vz

        Axel Alberto Jimenez

        Axel Alberto Jimenez

        student•
        hace 3 años

        Hola. ya no seguiste con tu proyecto? suena interesante.

      Lucas Yañez

      Lucas Yañez

      student•
      hace 3 años

      No se me caia una idea de que proyecto hacer asiq la tome prestada del compañero Marco Antonio pero como no se usar pyQT tuve que usar la librería estandar de Python para interfaces gráficas , Tkinter, y como tampoco tengo mucha idea de ejes cartesianos el reloj es digital :)

      Les comparto el codigo por si les interesa ver como funciona por dentro👨‍💻

      from tkinter import * from datetime import datetime import pytz import time from functools import partial id_after = None #---------------(ARG)Clock function update def updateARG(): global id_after argentina_timezone = pytz.timezone("America/Buenos_Aires") argentina_hour = datetime.now(argentina_timezone) hour = argentina_hour.strftime('%H:%M:%S') date = argentina_hour.strftime('%A %d %B') country_screen.config(text="ARGENTINA",fg="goldenrod2") watch_screen.config(text=hour, fg="#64fff6") id_after = watch_screen.after(1000,updateARG) date_screen.config(text=date) #---------------(MEX)Clock function update def updateMEX(): global id_after mexico_timezone = pytz.timezone("America/Mexico_City") mexico_hour = datetime.now(mexico_timezone) hour = mexico_hour.strftime('%H:%M:%S') date = mexico_hour.strftime('%A %d %B') country_screen.config(text="MEXICO city",fg="red3") watch_screen.config(text=hour, fg="#00ad10") id_after = watch_screen.after(1000,updateMEX) #---------------(USA)Clock Function update def updateUSA(): global id_after usa_timezone = pytz.timezone("America/New_York") usa_hour = datetime.now(usa_timezone) hour = usa_hour.strftime('%H:%M:%S') date = usa_hour.strftime('%A %d %B') country_screen.config(text="New York",fg="dodger blue") watch_screen.config(text=hour, fg="brown2") id_after = watch_screen.after(1000,updateUSA) date_screen.config(text=date) def switchbutton(country): if id_after==None: if country =="ARG": return updateARG() elif country == "MEX": return updateMEX() elif country == "USA": return updateUSA() else: watch_screen.after_cancel(id_after) if country =="ARG": return updateARG() elif country == "MEX": return updateMEX() elif country=="USA": return updateUSA() root = Tk() root.title("Digital Watch") root.geometry("395x150") root.config(bg="#282828") #---------------Labels country_screen = Label(root,text="",font=("Bebas Neue",16), bg="#282828",fg="white") country_screen.place(x=10, y= 40) BotonARG=Button(root, text="ARG",bg="gold",fg="black",font=("Bebas Neue",15),relief="flat",command=partial(switchbutton,"ARG")) BotonARG.place(x=360,y=8) BotonMEX=Button(root, text="MEX",bg="gold",fg="black",font=("Bebas Neue",15),relief="flat",command=partial(switchbutton,"MEX")) BotonMEX.place(x=360,y=53) BotonUSA=Button(root, text="USA",bg="gold",fg="black",font=("Bebas Neue",15),relief="flat",command=partial(switchbutton,"USA")) BotonUSA.place(x=360,y=98) watch_screen = Label(root,text="",justify="right", fg="#64fff6", bg="#282828",font=("Technology",60)) watch_screen.place(x=105, y= 20) date_screen = Label(root,text="",justify="right",font=("Bebas Neue",15),fg="linen", bg="#282828") date_screen.place(x=150, y= 100) root.mainloop()
      Freddy William Martinez Cuzco

      Freddy William Martinez Cuzco

      student•
      hace 4 años

      Reto: Es muy simple, y poco funcional, pero poco a poco veo que se me hace mas fácil hacer este tipo de programas. Contexto -El programa pregunta al usuario cuantos puntos quiere en el mapa, posterior genera las coordenadas aleatorias y las grafica consecuentemente generando un camino. -Te muestra el tiempo que se demoro el proceso. -Si "X" y "Y" son los mismos valores el programa la descarta. -Cree un modulo únicamente para graficar. -Trate de meter tipado, respetando los errores que me tiraba en consola con ("check-untyped-defs") CONCLUSION Eso es todo, nada de otro mundo. Seguro esto se puede resumir muy bien en menos líneas y de manera mas elegante, supongo que es una habilidad que se gana con la práctica.

      from datetime import datetime import random from graph import Graphics from typing import List def time_ejecution(func): def time_decorator(*args, **kwargs): init_time = datetime.now() func(*args, **kwargs) end_time = datetime.now() total_time = end_time - init_time print("Tiempo: ", total_time.total_seconds()) return func(*args, **kwargs) return time_decorator def random_coor() -> set: x: int = random.randint(1,100) y: int = random.randint(1,100) return {x,y} def even_or_odd(numbers) -> set: if len(numbers) % 2 != 0: numbers.pop() return numbers @time_ejecution def main(): user_n_coor = int(input("Cuantas coordenadas?: ")) coor_x: List[int] = [] coor_y: List[int] = [] for _ in range(user_n_coor): coor_x_y = list(even_or_odd(random_coor())) if len(coor_x_y) >= 2: coor_x.append(coor_x_y[0]) coor_y.append(coor_x_y[1]) else: print("Coordenada Incompleta") print("COORDENADAS: \n","\n X: ", coor_x,"\n Y:", coor_y) Graphics.graph(coor_x, coor_y) if __name__ == '__main__': main()

      MODULO PARA GRAFICAR

      from bokeh.plotting import show, figure class Graphics(): def graph(x, y): draw = figure(title='RANDOM COOR', x_axis_label='X', y_axis_label='Y') draw.line(x, y, legend_label= ("Random")) show(draw)
      Carlos Orejuela

      Carlos Orejuela

      student•
      hace 3 años

      En este programa quise hacer un análisis sobre un tema muy preocupante en la actualidad: La contaminacion ambiental. Mi objetivo principal fue encontrar cuales eran los paises que emiten las cantidades más altas de CO2 para luego verificar si existe una relación con su PIB, su %tasa de mortalidad y la esperanza de vida en cada una de ellas. Y lo que pude obtener es lo siguiente: GDP == PIB

      """ Countries with... High CO2 emissions and high GDP: {'China', 'USA'} Low CO2 emissions and high life expectency: {'Germany', 'Japan'} High mortality rate and high CO2 emissions: {'USA'} """

      Conclusiones: *Con estos resultados uno se puede percatar que las dos potencias más grandes del mundo son las que mayor PIB tiene, pero a su vez son los más contaminantes. *Los paises que menos contaminan tiene una esperanza de vida más alta. *USA a pesar de ser el segundo país más contaminante es el que tiene una mayor tasa de mortalidad .

      Para este programa utilice: *Decorator *OOP *Sets *Typed static

      Mi código: https://github.com/CarlosFOL/Environmental_Pollution Espero les guste.

      Angel Mejia

      Angel Mejia

      student•
      hace 4 años

      Reto - calcular execution time en formato especifico y determinar hora en un lugar especifico o local: https://imgur.com/a/oGSQF8c

      Gutemberg S. Mendoza Mestanza

      Gutemberg S. Mendoza Mestanza

      student•
      hace 4 años

      Este código ayuda a automatizar la tarea de compilar un código en C++ y ademas ordena sus archivos ejecutables. También imprime con bonitos colores en la terminal.

      import os import re # This code works better with terminal command key extension in vscode class Route: def __init__(self, route): self.route = route def find_cpp_file(self): self.route = self.route[::-1] my_file = "" for i in self.route[1::]: if i !="/": my_file += i else: break return my_file[::-1] def delete_cpp_ext(self,cpp_file)->str: my_file_name = "" for i in cpp_file: if i != ".": my_file_name += i else: break return my_file_name def get_file_type(self, my_file)->bool: return re.search("cpp", my_file) #myfile.cpp class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' def disable(self): self.HEADER = '' self.OKBLUE = '' self.OKGREEN = '' self.WARNING = '' self.FAIL = '' self.ENDC = '' def foo(): x = input("Here: ") print(x) def main(): promt = f"{bcolors.HEADER}Press cmd+h -->{bcolors.ENDC}" route_raw = input(promt) my_route = Route(route_raw) route_cpp = my_route.find_cpp_file() route_exe = my_route.delete_cpp_ext(route_cpp) print() if os.system("g++ {} -o bin/{}".format(route_cpp,route_exe)) == 0 : print(f"{bcolors.OKGREEN}----------------------{bcolors.ENDC}") print(f"{bcolors.OKGREEN}Compiled Successfully!{bcolors.ENDC}") print(f"{bcolors.OKGREEN}----------------------{bcolors.ENDC}") print('\n') os.system("./bin/{}".format(route_exe)) print('\n') elif re.search("/",route_raw)== None: print(f"{bcolors.FAIL}---------------------------------------------{bcolors.ENDC}") print(f"{bcolors.FAIL}Press cmd+h or check your keyboard shortcuts.{bcolors.ENDC}") print(f"{bcolors.FAIL}---------------------------------------------{bcolors.ENDC}") elif (my_route.get_file_type(route_cpp)) == None: print(f"{bcolors.WARNING}------------------------------------------------------------------------{bcolors.ENDC}") print(f"{bcolors.WARNING}Only works for c++ files. Your active vscode file isn't a c++/.cpp file.{bcolors.ENDC}") print(f"{bcolors.WARNING}------------------------------------------------------------------------{bcolors.ENDC}") else: print(f"{bcolors.FAIL}----------------{bcolors.ENDC}") print(f"{bcolors.FAIL}Debug your code!{bcolors.ENDC}") print(f"{bcolors.FAIL}----------------{bcolors.ENDC}") if __name__ == '__main__': main()
        Eduardo Pérez

        Eduardo Pérez

        student•
        hace 4 años

        Esta buenisimo! Tuve la oportunidad de trabajar en un lugar donde la herramienta que se usaba para compilar y correr los test de C++ estaba hecha en Python, se usa mucho en la industria para este tipo de tareas

      Jonathan Edwin Gutiérrez Olvera

      Jonathan Edwin Gutiérrez Olvera

      student•
      hace 4 años

      Mi proyecto fue un programa que te permite crear y notificar de recordatorios que el usuario vaya añadiendo.

      Captura de pantalla 2021-11-12 133313.jpg

      Si quieren checarlo aquí esta el repositorio de GitHub 😁

      Jhon Freddy Tavera Blandon

      Jhon Freddy Tavera Blandon

      student•
      hace 3 años

      ****reto ****

      import random # se define una constante con mayusculas IMAGES = [''' +---+ | | | | | | =========''', ''' +---+ | | O | | | | =========''', ''' +---+ | | O | / | | | =========''', ''' +---+ | | O | /| | | | =========''', ''' +---+ | | O | /|\ | | | =========''', ''' +---+ | | O | /|\ | | | | =========''', ''' +---+ | | O | /|\ | | | / | =========''', ''' +---+ | | O | /|\ | | | / \ | =========''', ''' '''] WORD=['lavadora','secadora','sofa','diana','democracia','diputado','teclado'] def main(): word = random_word() hidden_word=['_']*len(word) # uso de cadenas tries=0 # intentos while True: # Mostrar el tablero show_board(hidden_word,tries) current_letter =str(input('Escoge una letra: ')) current_letter = current_letter.lower() # Logica letter_indexes=[] for idx in range(len(word)): if word[idx] == current_letter: letter_indexes.append(idx) if(len(letter_indexes))==0: # si la lista esta vacia no fue correcto tries += 1 if tries== 7: show_board(hidden_word, tries) print('') print('') print('Perdiste, La palabra correcta era {}'.format(word)) break else: # si la lista tiene algo se cambia el _ por la letra digitada for idx in letter_indexes: hidden_word[idx] = current_letter letter_indexes =[] try: hidden_word.index('_') except ValueError: print('') print('GANASTE, Felicidades!. La palabra es {}'.format(word)) break def show_board(hidden_word,tries): print(IMAGES[tries]) print('') print(hidden_word) print('_.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._') def random_word(): idx = random.randint(0, len(WORD)-1) return WORD[idx] if __name__ == '__main__': print('B I EN V E N I D O S A L J U E G O A H O R C A D O S') main()

      resultado

      +---+ | | | | | | ========= ['_', '_', '_', '_', '_', '_', '_', '_', '_', '_'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: t +---+ | | O | | | | ========= ['_', '_', '_', '_', '_', '_', '_', '_', '_', '_'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: e +---+ | | O | | | | ========= ['_', 'e', '_', '_', '_', '_', '_', '_', '_', '_'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: w +---+ | | O | / | | | ========= ['_', 'e', '_', '_', '_', '_', '_', '_', '_', '_'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: a +---+ | | O | / | | | ========= ['_', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: d +---+ | | O | / | | | ========= ['d', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: f +---+ | | O | /| | | | ========= ['d', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: g +---+ | | O | /|\ | | | ========= ['d', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: +---+ | | O | /|\ | | | | ========= ['d', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: hj +---+ | | O | /|\ | | | / | ========= ['d', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Escoge una letra: kjy +---+ | | O | /|\ | | | / \ | ========= ['d', 'e', '_', '_', '_', '_', 'a', '_', '_', 'a'] _.~"~._.~"~._.~"~._.~"~.~"~._.~"~._.~"~._.~"~._ Perdiste, La palabra correcta era democracia jhonftb3@JFTB:/mnt/c/Users/user/Documents$
      platzi290.jpg
      Cesar Elías Armendariz Ruano

      Cesar Elías Armendariz Ruano

      student•
      hace 4 años

      El código con funciones

      from datetime import datetime import pytz def timezone(city: str): ciudad = city.lower().capitalize() timezone = pytz.timezone('America/'+ciudad) date = datetime.now(timezone) print('La hora requerida es:') print(f"{ciudad}: {date.strftime('%d/%m/%Y, %H:%M:%S')}") def cities(func): def wrapper(*args, **kwargs): func(*args, **kwargs) print('Gracias por usar la aplicación, adios!!') return wrapper @cities def city_time(): city = input('Ingresa la ciudad de la que quieres saber su hora: ') timezone(city) if __name__ == '__main__': city_time()
      Ramdhei López Arcila

      Ramdhei López Arcila

      student•
      hace 4 años

      Por acá dejo la lista de las zonas horarias que maneja pytz https://gist.github.com/heyalexej/8bf688fd67d7199be4a1682b3eec7568

    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