Piensa como un programador: conceptos de programación para no desarrolladores | Brian Holt | Skillshare
Menú
Buscar

Velocidad de reproducción


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Piensa como un programador: conceptos de programación para no desarrolladores

teacher avatar Brian Holt, Front-end Developer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      0:33

    • 2.

      La consola de Javascript

      1:19

    • 3.

      Empieza con datos

      7:55

    • 4.

      Pensar con variables

      4:05

    • 5.

      Comprender los Conditionals

      3:27

    • 6.

      Uso de patrones

      4:15

    • 7.

      Aplica la automatización

      3:00

    • 8.

      Conclusión

      0:08

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

745

Estudiantes

1

Proyecto

Acerca de esta clase

Esta clase explora conceptos de desarrollo de software de alto nivel para que los estudiantes puedan aplicarlos a su día día. Revisaremos algunas formas de abordar los problemas y desglosarlos con los programadores de técnica Los estudiantes también tendrán algunos conocimientos de trabajar de trabajar de manera mejor con los desarrolladores.

Esta clase es para cualquier persona curial por el desarrollo de software, incluyendo diseños, diseñadores, gerentes de productos, propietarios de pequeños negocios y cualquier persona que trabaje con programadores.

No se requiere conocimientos de experiencia previos, y la clase no asumes ninguna experiencia de programación previa.

No se necesita un software, ya que todos los ejercicios pueden completar en papel (o en un documento de Google o algo similar).

Conoce a tu profesor(a)

Teacher Profile Image

Brian Holt

Front-end Developer

Profesor(a)

Hi! I'm a front-end developer living in Vancouver, Canada, who's focused on scalable design systems. I generally work on large Ruby on Rails applications and have worked on a variety of front-end single-page-applications with React + Redux and Elm. Currently, I'm at Retail Zipline.

I come from the design world, where I worked as a graphic designer and creative director at some smaller agencies and through freelance work. When clients began expressing interest in moving their brands online, I jumped at the opportunity and moved in User Experience Design and Web Development. Since then, I've learned full-stack development, though my focus is on the front-end.

I really enjoy teaching and mentoring. From teaching User Experience courses to instructional articles... Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Bienvenido a Think Like a Programmer, donde diseñadores, comercializadores, gestores de productos, o realmente cualquier persona que tenga curiosidad en los procesos de desarrollo en vivo llegarán a ver lo que hay detrás de la cortina. En este curso, pasaremos por algunos conceptos de resolución de problemas de alto nivel y aprenderemos cómo puedes aplicarlos a tu propio trabajo diario. Además, obtendrás algunas ideas para trabajar de manera más efectiva con los programadores. Mi carrera comenzó en el diseño gráfico, pero al aprender programación en tándem encontré que podía aplicar conceptos como automatización a mi propio día a día y hacer mi trabajo más fácil y espero mostrar estas cosas contigo. Empecemos. 2. La consola de Javascript: Los ejemplos de código en este curso lo han hecho en Javascript. Puedes seguir adelante si quieres tener una sensación de leer código. Todos los navegadores web tienen Javascript incorporado en ellos y una herramienta llamada la consola para interactuar con eso. Javascript potencia muchas de las interacciones ricas que ves en la web hoy. Estas son cosas como voltear a través de imágenes de productos en Amazon, publicaciones de gustación en Facebook, los videos se reproducen de forma automática en YouTube y tantos más. No vamos a sumergirnos en JavaScript, pero es el lenguaje perfecto para seguir junto con. Abra la consola haciendo clic derecho en cualquier página, seleccionando “Inspeccionar”, y luego haciendo clic en la pestaña “Consola”. Aquí puedes hacer cualquier cosa en Javascript, matemáticas simples. Se pueden escribir mensajes. Se puede acceder a cualquier cosa en la API de JavaScript para hacer algo así como la velocidad de video. La mayoría de Javascript que hacer en la consola no es permanente. Si sientes que tiraste con algo, puedes refrescar la página y se restablecerá. 3. Empieza con datos: Al abordar un problema, los programadores comienzan con los datos. Es una forma de identificar rápidamente algunas de las piezas móviles dentro de la obra. Cuando hablamos de datos, en realidad estamos hablando del valor conocido. En el software, la pieza de datos es el valor guardado. Es lo que tiene registrado el programa lo que lo convierte en la fuente de la verdad. Usar datos donde los valores conocidos siempre será más fácil de entender que trabajar con valores desconocidos. Por eso empezamos con ello. Los programadores siempre buscan que los problemas sean lo más tangibles posible con el fin de reducir la complejidad. Por ejemplo, considerando las matemáticas simples, es fácil entender que uno más uno es igual dos porque estamos trabajando con valores reales. Si uno de esos valores desaparece, uno más algo equivale a dos, el problema se vuelve un poco más difícil. O en plazos, es mucho más fácil planear cuando conoces los plazos reales. Por eso empezamos con los datos tanto como sea posible. En los lenguajes de programación, los datos se clasifican por su tipo, y un tipo es solo una forma de definir con qué tipo de datos estamos trabajando. Los lenguajes de programación difieren en cómo categorizan los tipos, pero la mayoría de ellos coinciden en alguna forma de los cuatro siguientes: números, cadenas, booleanos y valores nulos. Los números son para cualquier tipo de número. Esto incluye números positivos, negativos y decimales. Las cuerdas son para palabras, ya sea una o varias y siempre están envueltas entre comillas. booleanos son para cualquiera o escenarios, específicamente si algo es verdadero o falso. Por ejemplo, una casilla de verificación, ya sea completa o incompleta. Se puede pensar en ello como un interruptor. Está encendido o apagado. Los valores nulos son datos que explícitamente establece que no hay datos. utiliza un valor nulo cuando los datos no están presentes, como antes de que algo se haya guardado. Representa un valor vacío conocido. Algunos lenguajes de programación usan nombres ligeramente diferentes o incluyen tipos adicionales, pero estos cuatro pueden considerarse tipos de alto nivel, se llaman tipos primitivos. Es útil organizar los datos en un formato para que sea más fácil trabajar con ellos. Estos arreglos se denominan estructuras de datos. Las estructuras de datos simplemente aceptan datos arbitrarios y los ponen en un formato específico. El tipo de estructura que elija el desarrollador depende de lo que pretendan hacer con él y de los patrones del lenguaje de programación. Estas son las dos estructuras de datos más comunes; listas y objetos. Vamos a saltar a la consola de JavaScript para ver cómo se ven estos. Una lista es una forma sencilla de envolver una recopilación de datos. Por ejemplo, podría tener una lista de meses. Cuando están en una lista, puedes aplicar un efecto a todos ellos, como hacerlos en mayúsculas. Cada analista de entrada ha dado un índice que proporciona una forma acceder a un valor específico si conoces el índice. Intuitivamente, los índices comienzan desde cero en lugar de uno. Lo que significa que si queremos acceder a marcha en nuestra lista, necesitamos usar dos aunque sea el tercer valor. De igual forma, si queremos acceder a enero, necesitamos usar cero. Empecemos restringidos a niveles individuales que se pueden anidar para contener mucho más datos, como incluir el número de días dentro del mes. Ahora que tenemos listas anidadas, se vuelve un poco más difícil acceder a los datos que queremos. Un objeto es una estructura que asigna datos a claves, lo que facilita llamar al valor correcto. Si convertimos una lista de meses en un objeto, es mucho más fácil acceder al valor que queremos. Si queremos Marzo, podemos llamarlo por su clave, Marzo. Ahora tenemos su valor de nombre, y que días valor. En un objeto, es un poco más difícil aplicar un efecto como cuando hicimos todo en mayúsculas, pero aún así es posible. Una base de datos es donde se almacenan los datos reales. Es la fuente de la verdad. Cualquier cosa en la base de datos es la representación real de lo que sostiene el sistema. Una base de datos podría sonar como un concepto desafiante, pero es simplemente una colección de tablas, como una tabla de Excel. Cada entrada en una base de datos se representa en una fila, y cada propiedad como una columna. Obtener datos de una base de datos se hace más comúnmente con SQL, que significa Lenguaje de Consulta Estructurado, y S-Q-L escrito. Permite a los programadores escribir declaraciones que recopilen datos en una estructura de datos solicitada con el fin de mostrarlos, actualizarlos, eliminarlos y añadirlos. SQL es extremadamente rápido, pero organizar los datos puede ser complicado. Bueno, una sola tabla tal vez podría contener todos los datos en una aplicación. Si la aplicación es pequeña, cuantos más datos se agreguen a la tabla, más lento se ejecuta SQL. Poner todos los datos en una sola tabla se considera una práctica realmente mala por esta razón. Los programadores dividen conceptos en su propia mesa. Esto puede agregar complejidad porque los programas necesitarán escribir una consulta que se ejecute a través de múltiples tablas para obtener los datos solicitados. Esto es parcialmente lo que puede crear una solicitud costosa, pero es muy dependiente la configuración específica del sistema y existen técnicas para optimizar el rendimiento. Al trabajar con aplicaciones web, la conexión a Internet también juega un papel en la entrega de datos. Cuando se solicitan más datos, deben enviar más datos a través de Internet. Si la conexión es lenta y hay muchos datos que enviar, la página web puede agotarse o bloquearse. Lo mejor es enviar solo los datos necesarios. Veamos un ejemplo. Esta tabla representa comentarios y está modelada a partir de Instagram. Hay cuatro columnas de propiedades, ID, ID de usuario, ID de foto, y comentario. En la última columna se encuentran los comentarios que aparecen en la publicación. La primera columna, la columna ID, nos permite acceder al comentario correcto. Funciona igual que acceder a una entrada en una lista. Las columnas dos y tres sostienen el ID de Usuario y el ID con fotografía. Como mencioné, podríamos contener toda la información del usuario y la información fotográfica justo en esta mesa, pero es una mala práctica. En su lugar incluimos sólo el ID de Usuario y el ID con foto. Cuando queremos acceder a información sobre el usuario, como su nombre en avatar, tenemos el ID correcto para consultar, y luego hacemos una consulta en la tabla de usuarios. Además, cuando actualizamos o eliminamos un comentario, no estamos afectando al usuario o a la tabla de fotos, lo que significa que la consulta puede correr más rápido. Pensar en los datos de esta manera puede contar una historia. Veamos un poco más de cerca el contenido para ver qué está pasando aquí. Mira en el comentario de ID de usuario, ¿algo te destaca? Las dos primeras filas tienen el mismo ID, lo que significa que estos comentarios son del mismo usuario. Si miramos el comentario de identificación con foto, también vemos que las dos primeras filas tienen el mismo ID. Eso significa que este usuario ha comentado en la misma foto dos veces. Si seguimos inspeccionando la columna de identificación con foto, vemos que dos usuarios más han comentado en la misma foto. Conocer un poco sobre tipos, estructuras de datos y bases de datos les ayudará a trabajar con desarrolladores. Pero pensar en los datos como el valor real debería aportar claridad para trabajar incluso fuera de la programación. Aquí te dejamos algunos consejos. En primer lugar, piensa en lo que te gustaría hacer y a dónde podría ir en el futuro. Piensa en lo que esperas estar trabajando y cómo esperas conseguirlo. Por último, piensa en lo que estás seguro y de lo que no estás seguro. Para ejercicios, quiero que pienses los datos requeridos para crear esta pantalla de Instagram, y también identifiquen los conceptos independientes que tienen su propia tabla de base de datos. Ya identificamos comentario de parte de los demás. Agrega tus respuestas a tu proyecto, y te veré en el siguiente video. 4. Pensar con variables: Tratar con datos concretos es la forma más sencilla de trabajar a través de un problema. Pero a veces no tienes datos reales con los que trabajar, o hay muchas opciones posibles para esos datos. Cuando este es el caso, los programadores usan variables para avanzar. Las variables en la programación podrían ser un poco diferentes a cómo piensas en ellas en la vida cotidiana. En la programación, una variable es una abstracción. Es como un contenedor que contiene información. Es una forma de hablar de algo sin ser concreto al respecto, o cuando se desconoce el valor real. También puede ser una forma conveniente de hacer referencia a algo sin decirlo explícitamente cada vez. Además, las variables pueden cambiar o podrían tener un valor diferente al esperado. Pero no necesitamos preocuparnos por ello en ese momento. Se usan variables a nuestro alrededor, incluso fuera de la programación. Son muchas las partes diferentes que conforman una canción, un verso, pre-coro, coro, interludio, etcétera Cada una de estas partes son variables, tienen un valor, pero podemos referirlas por su nombre abstracto. Si queremos conocer el contenido de la misma, accedemos a la información por nombre. Además, algunas partes, como el coro se reutilizan pero tienen el mismo contenido. En lugar de llamarlo coro uno y coro dos, simplemente lo llamamos coro. Los plazos dentro de un proyecto podrían ser nombrados con variables en lugar de, o además con sus fechas reales, lanzamiento de Beta, lanzamiento Alpha , go live date, etc. Esto nos permite pensar en el trabajo que está contenido dentro del hito. Los diseñadores usan variables todas las veces, colores de nombre. En lugar de llamar a un valor de bytes de color RGB o hexadecimal, podríamos llamarlo azul claro, azul o azul oscuro. En la programación, las variables es una de las primeras herramientas que utilizamos. En nuestro ejemplo de lista, asigné la lista de meses a una variable llamada Meses, por lo que puedo reutilizarla una y otra vez sin necesidad de reescribir el contenido una y otra vez. Cuando hicimos los nombres de los meses en mayúsculas, se hizo una variable cambiante. Puedo hacer cada mes mayúscula sin importarme cuál era en realidad. Muchas aplicaciones tienen una variable llamada usuario actual. Permite a los programadores escribir una aplicación, pero proporcionar experiencias únicas a diferentes personas. Usuarios actuales asignados a tu perfil, una vez que inicies sesión para que obtengas tu propio contenido. Si no tuviéramos variables, programación probablemente sería imposible. Fuera de la programación, pensar con variables puede ayudarte a avanzar tu trabajo. Usa variables para descomponer el trabajo en piezas más pequeñas, incluso cuando algo se desconoce, abstrae un concepto o parte de la discusión de distancia. No hace falta que lo pienses ahora mismo. Destacar qué datos se desconocen. Qué preguntas hay que hacer. Nombra un concepto a algo que se sienta un poco más tangible. Enfócate en una pieza específica del problema de manera aislada y avanza en un proyecto sin tener todas las respuestas. Hay dos grandes retos cuando se trabaja con variables. Determinar si una variable es flexible o fija, y darle el nombre correcto. Para determinar un estado, pregunte, ¿cambiará? ¿ Debería cambiar? ¿ Puedo tomar esa decisión más tarde? Conocer la diferencia puede simplificar los problemas con los que estás trabajando e identificar límites. Dónde hacer preguntas y con qué debes trabajar. Las variables de nomenclatura a menudo se considera una de las tareas más difíciles en la programación. Si una variable se nombra mal, puede conducir a un código muy confuso para otra persona o incluso para ti mismo más adelante. A veces variables mal nombradas alentaban a pensar en un concepto de la manera equivocada, lo que puede significar que el producto o característica resulta incorrecto o menos que ideal. Dado que las variables son una forma de comunicación, mala comunicación puede arrastrarse a través variables mal nombradas pero puedes cambiar el nombre de tus variables siempre que. Para considerar si tienes el nombre correcto, pregúntate, ¿hay una manera más sencilla de describirlo? Si las personas necesitan continuamente aclaraciones para la variable consideran que podría llamarse mal. Considera también ¿cómo lo describes? ¿ Hay una forma simple o más corta de hacerlo? ¿ Es su nombre demasiado vago? ¿ Entienden los demás lo que representa? La hiperespecificidad puede ser buena y es común en algún lenguaje de programación. No necesariamente te alejes de eso. Quieres asegurarte de que se sienta como si realmente estuvieras hablando de lo correcto. Piensa en los datos abstractos en esta función de Instagram y agrega tus ideas a tu proyecto. Te veré en la siguiente lección. 5. Comprender los Conditionals: Los datos pueden cambiar dependiendo de la circunstancia. Es posible que desee vender un producto a un precio reducido entre dos fechas, o que solo permita a cierta persona ver contenido. Declaraciones condicionales permiten a los desarrolladores escribir estos casos codificar, pensar en una declaración condicional como una bifurcación en la carretera. Hay dos caminos que alguien podría tomar. Esos caminos podrían unirse de nuevo, o podrían mantenerse divergentes, podrían romperse en caminos más pequeños. Una declaración condicional crea caminos divergentes desde moverse a través de un sistema, o un programa. Es una declaración if else en su forma más simple, que crea dos caminos y en una forma más compleja, podría tener etapas o estados. Las condiciones están en todas partes del mundo real. Una forma sencilla es la inseguridad. O tienes la llave para abrir el auto, o no. Si tienes la llave puedes manejarla. De lo contrario no puedes usar el auto. Una vía de tren compartida donde llegarán múltiples trenes la misma plataforma tiene muchos caminos divergentes. Puede haber un tren local que visita cada parada, un tren express que salta paradas, otro podría terminar en un destino diferente. Este es un conjunto de condiciones más complicado y puedes encontrar condiciones estatales y opciones, como la elección de coberturas de pizza. Se llega a elegir lo que se le pasa con una serie de opciones de sí o no. Al final, todavía tienes una pizza, pero hay una serie de condicionales menores lo que resulta en diferentes resultados. En condiciones de programación crear caminos divergentes para diferentes usuarios. Utilizamos condiciones para restricciones si el usuario está conectado, por lo que entonces la página de lo contrario las envía a la pantalla de inicio de sesión. Utilizamos condiciones para configuraciones, o preferencias del usuario, al igual que los toppings de una pizza que puede ser una serie de interruptores independientes que brindan una experiencia única. Utilizamos condiciones para cosas simples también, como, si las declaraciones de lo contrario, si hay una notificación, mostrar la campana, de lo contrario no. En el diseño de experiencia de usuario, pensamos mucho en los estados. El estado de juego, estado parcial, estado de error y estado ideal. Todos estos estados necesitan ser contabilizados para completar un diseño y están conformados por varias condiciones basadas en el usuario del sistema. ¿ Qué hace útil la comprensión de los condicionales en el trabajo? Bueno, eres capaz de identificar cosas que son codependientes. Se puede obtener un mango en un flujo de trabajo y luego posibilidades divergentes dentro de él y detectar qué podría salir mal y qué riesgos son plausibles. Un diagrama de flujo de control es una gran herramienta para visualizar condicionales. En cuanto a las formas básicas, un óvalo, que indica el principio o el final. Flechas que indican la dirección a moverse. Diamante que indica un punto de decisión o condicional y rectángulos que indican un paso en el proceso. Se pueden utilizar otras formas y colores junto con la leyenda para agrupar tipos de actividades relacionadas. Aquí te dejamos algunos consejos para trabajar con condiciones, ya que siempre aumentan la complejidad. Considera si el condicional es necesario en absoluto y si estás empezando a escribir condicionales anidados, que es un camino que vive dentro de otro camino, intenta mover la condición a un nivel superior. Si es necesario, explora la mejor manera de expresarlo. ¿ Debe ser un valor verdadero o falso, o puede ser preferencias? Por último, encontrar el equilibrio adecuado entre agotar apropiadamente el camino hasta su fin y perderse en las malas hierbas. Considera lo estrechamente relacionado que está el camino condicional con tu problema original. Quiero que creas un diagrama de flujo de Instagram como una función de foto. Intenta empezar lo antes posible y traza tantos caminos divergentes como puedas pensar luego cierra tu proyecto, si te quedas atascado en condiciones anidadas, considera si el camino se puede romper en su propio diagrama de flujo. Si ese es el caso, simplemente dale al paso un título y concéntrese en el gusto de la función fotográfica. Te veré la próxima vez. 6. Uso de patrones: Identificar patrones es esencial en la programación. Los desarrolladores dividen los problemas en pedazos pequeños, resuelven ese problema y elevan el patrón para construir sistemas más grandes que juntos conforman una aplicación completa. En resumen, los patrones crean sistemas. Usar un patrón proporciona una forma consistente de hacer algo muchas veces y otra vez y es predecible y repetible con un patrón, puedes crear un sistema que te permita aprovechar y reutilizar el trabajo y puedes usar ese patrón y aplicar a muchas situaciones diferentes. Los patrones están a nuestro alrededor. En las puertas, instintivamente conocemos a una para tirar un mango o empujar un panel plano para abrirlo o cerrarlo. Es irritante cuando necesitamos empujar una manija de puerta porque la previsibilidad del patrón está rota. Sabemos que girar el tornillo a la izquierda lo aflojará y girarlo a la derecha, lo apretaremos, y los diseñadores usan patrones en sus sistemas de diseño y guías de estilo usando componentes, opciones de color y comportamientos proporciona una manera de consistentemente crear interfaces en la marca. Los patrones son extremadamente importantes en la programación. Trabajar con un patrón permite a un equipo de desarrolladores trabajar juntos hacia los mismos objetivos. Una función es una pequeña pieza de código que completa una tarea y las funciones reutilizables son patrones simples. Por ejemplo, una función que puede hacer que una palabra mayúscula es reutilizable. No importa qué palabra reciba, pero la hará mayúscula. Los programadores también utilizan diferentes paradigmas para resolver problemas. Por ejemplo, un paradigma funcional es una forma de organizar el código con funciones pequeñas y razonables. tanto que un paradigma orientado a objetos trata las piezas al programa como objetos y poseen sus propios datos internos. Cada uno tiene pros y contras para ellos, pero saber cuándo usar uno puede hacer que resolver un problema sea más fácil. Las mejores prácticas y estándares también son patrones. Aprendemos de otras experiencias y aplicamos sus conocimientos a nuestra aplicación, algunos ejemplos de mejores prácticas son; el principio de responsabilidad única. Significa que cada pieza de código sólo debe ser responsable de una cosa, y mantiene el código aislado, y mantiene su enfoque. El principio Seco, que significa no te repitas. Esencialmente significa evitar hacer lo mismo una y otra vez y fomenta pensar en problemas en abstracto para identificar piezas que son comunes para convertirlo en un patrón. También establece una fuente de verdad para abordar el problema. Porque si no te estás repitiendo, solo hay una forma de hacerlo y eso reduce la confusión. Otra es, no lo vas a necesitar. Significa que no construyas la cosa hasta que sepas que lo necesitas. Reduce el trabajo a sus esenciales para avanzar y restringe la sobreconstrucción. En la práctica, también puede hacer que los problemas se sientan más concretos porque muchas veces nos despojamos de algunas de las incógnitas para construir lo más simple que funciona, hay muchos otros patrones que usan los programadores. Los patrones nos ayudan a pensar en los problemas de diferentes maneras y a crear mejores flujos de trabajo. Usar patrones en tu propio trabajo puede ser tremendamente útil. Cuando los problemas se sienten demasiado grandes, buscar similitudes es una gran manera de descomponerlo en piezas manejables. Identificar problemas recurrentes puede proporcionar una oportunidad para pensar en las cosas a un nivel superior para crear la forma correcta de hacerlo. Por último, los patrones ayudan a imponer consistencia o inconsistencia fija, lo que provoca confusión o descuidado. La forma más fácil de empezar a usar patrones es preguntarte si has hecho algo similar antes o si esperas volver a hacer este trabajo. Cuando estés comparando dos problemas, pregúntate, ¿cuáles son las diferencias? Trata de pensar en las partes como variables. Si encuentras muchas similitudes, probablemente tengas la oportunidad de hacer un patrón. A veces dos patrones pueden parecer que son uno y esa es una situación un poco complicada. El uso de nuestros datos y enfoques variables puede ayudar con esto. ¿ Con qué tipo de datos estás trabajando? ¿ Qué esperas hacer con él? Si las diferencias son lo suficientemente grandes, entonces probablemente tengas que patrones. Una regla de oro es no tratar de forzar algo en un patrón. Encontrar el patrón correcto debería sentir como desbloquear el logro, aunque puede ser un poco difícil llegar allí. Por último, si eres la única persona que sabe hacer algo, escribir instrucciones es una gran manera de convertirte en un patrón. Con buenas instrucciones, muchas tareas pueden ser cumplidas por cualquiera. Estos incluso pueden servir de recordatorio para ti mismo en el futuro. En esta lección, me gustaría que identificaran los patrones que usa Instagram también se usan en otras aplicaciones. Por ejemplo, gustarle una foto es un Instagram, pero gustarle un comentario está en Facebook y gustarle un video está en YouTube. El patrón de gusto es común en la mayoría de las aplicaciones de redes sociales. Comparte tu trabajo y tu proyecto. Entonces saltemos a nuestra última lección, la automatización. 7. Aplica la automatización: La automatización es una poderosa herramienta en el cinturón de un programador. Permite a los programadores hacer trabajo en lotes significativamente más rápido, con mucho menos esfuerzo. En su núcleo, la automatización simplifica el trabajo, reduce las tareas repetitivas y realiza secuencias de eventos. ¿ Qué significa eso prácticamente? Hacer menos trabajo con los mismos resultados, hacerlo más rápido y ser más eficiente. A menudo pensamos en robots cuando escuchamos la palabra automatización, pero hay muchos ejemplos del mundo real de hacer menos trabajo con los mismos resultados. semáforos, a diferencia de las señales de stop de cuatro vías, aceleran la tarea repetitiva de necesidad de inspeccionar la intersección. Esta automatización permite que muchos vehículos pasen a la vez sin requerir que se detengan individualmente. Otra forma es un despertador. Una vez configurada, te alertará automáticamente en el momento adecuado, por lo que no es necesario que lo revisen manualmente. ¿ Te imaginas revisar el reloj cada hora de la noche con el fin de estar a tiempo para trabajar? La automatización te permite dormir. Además, puedes programar una secuencia por lo que solo te avisa de lunes a viernes. Las campañas de goteo de marketing son menos forma física de automatización. Se crea una vez y se aplica a muchas personas en secuencia. Recibirán un correo electrónico de bienvenida cuando se registren y después de algún tiempo, obtendrán otro correo electrónico, y continúa a través de toda la campaña de forma automática. En programación, tenemos muchos tipos de automatización y secuenciación; desde bucles, como cuando recorremos una lista de meses para hacerlos mayúsculas, hasta trabajos de fondo, que notificarán al usuario cuando se les haya mencionado. Todas las aplicaciones implican algún nivel de automatización, de lo contrario, todo tendría que ser completado manualmente, lo que requeriría un equipo enorme. ¿ Cómo se puede aplicar la automatización en el trabajo? En primer lugar, busca bloqueos e ineficiencias en los procesos para que puedas eliminarlos. En cualquier momento el trabajo necesita detenerse, considera si se requiere la razón, ¿puede mejorar el proceso para que no se detenga? Por ejemplo, si un diseñador te está enviando una prueba, para que puedas publicarla al cliente, ¿puede el diseñador en su lugar publicarla directamente al cliente? A continuación, aprender atajos de teclado te ayudará a trabajar más rápido. Cuando los estoy aprendiendo, tiendo a enfocarme en uno por semana, y lo anoto para poder referirme rápidamente a él. En cualquier momento que estoy a punto de usar el comando, me detengo y uso el atajo en su lugar. Pronto conozco bien el atajo ya no necesito referirlo. Por último, intenta trabajar juntos por lotes para que puedas enfocarte en el grupo como una cosa. lotes probablemente ayudará a identificar qué partes se pueden automatizar. La automatización se trata realmente de reducir el número de cosas que necesitas hacer para que puedas concentrarte en tareas más significativas. Para aplicar la automatización, primero necesitamos identificar a los candidatos. Estos son en lo que pienso. ¿ Qué estoy haciendo que sea tedioso? ¿ Puedo reducir el número de pasos? ¿ Algo es propenso a errores? ¿ Qué toma mucho de mi tiempo? En el último ejercicio, me gustaría que identificaran la secuencia de eventos cuando alguien publica un comentario en una foto de Instagram. ¿ Qué pasa con el comentario? ¿ Quién sabe del comentario? Esto se puede hacer en un diagrama de flujo de control con solo rectángulos, pero si te sientes ambicioso, piensa en lo que puede salir mal en la secuencia también. 8. Conclusión: Gracias por tomar mi curso. Si tiene alguna pregunta o alguna aclaración sobre algo, por favor comuníquese conmigo en la comunidad. Hasta la próxima vez, nos vemos.