Pense como um programador: conceitos de programação para não desenvolvedores | Brian Holt | Skillshare
Menu
Pesquisar

Velocidade de reprodução


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

Pense como um programador: conceitos de programação para não desenvolvedores

teacher avatar Brian Holt, Front-end Developer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução

      0:33

    • 2.

      O console de Javascript

      1:19

    • 3.

      Começar com dados

      7:55

    • 4.

      Pensando com variáveis

      4:05

    • 5.

      Entendendo condicionais

      3:27

    • 6.

      Como usar padrões

      4:15

    • 7.

      Aplicando Automação

      3:00

    • 8.

      Conclusão

      0:08

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

752

Estudantes

1

Projeto

Sobre este curso

Este curso explora os conceitos de desenvolvimento de software de alto nível para que os estudantes possam aplicar ao seu dia a dia. Analisaremos algumas maneiras de tratar de problemas e quebrá-los, usando programadores de técnica usada. Estudantes

Este curso é para qualquer pessoa curiosa em desenvolvimento de software, incluindo designers, profissionais de marketing comerciantes, gerentes de produtos, proprietários de negócios pequeno e quem trabalha com programadores.

Não é necessário conhecimento anterior e com a aula assume em uma experiência de programação anterior.

Não é necessário software, como todos os exercícios podem ser concluídos no papel (ou em um Google Doc ou algo semelhante).

Conheça seu professor

Teacher Profile Image

Brian Holt

Front-end Developer

Professor

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... Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Bem-vindo ao Think Like a Programmer, onde designers, profissionais de marketing, gerentes de produto ou qualquer pessoa que tenha curiosos processos de desenvolvimento ao vivo poderão ver o que está por trás da cortina. Neste curso, vamos percorrer alguns conceitos de resolução de problemas de alto nível e aprender como você pode aplicá-los ao seu próprio trabalho diário. Além disso, você terá algumas informações sobre como trabalhar de forma mais eficaz com programadores. Minha carreira começou em design gráfico, mas quando aprendi programação em conjunto descobri que podia aplicar conceitos como automação ao meu dia-a-dia e tornar meu trabalho mais fácil e espero mostrar essas coisas com você. Vamos começar. 2. O console de Javascript: Os exemplos de código neste curso têm feito em Javascript. Você pode acompanhar se quiser ter uma ideia para ler código. Todos os navegadores da web têm Javascript embutido neles e uma ferramenta chamada console para interagir com isso. Javascript potencializa muitas das interações ricas que você vê na web hoje. Essas são coisas como folhear imagens de produtos na Amazon, gostar de postagens no Facebook, vídeos são reproduzidos automaticamente no YouTube e muito mais. Não vamos mergulhar profundamente em JavaScript, mas é a linguagem perfeita para acompanhar. Abra o console clicando com o botão direito do mouse em qualquer página, selecionando “Inspecionar” e clicando na guia “Console”. Aqui você pode fazer qualquer coisa em Javascript, matemática simples. Você pode escrever mensagens. Você pode acessar qualquer coisa na API JavaScript para fazer algo como velocidade de vídeo. A maioria do Javascript para fazer no console não é permanente. Se você sentir que você jogou com algo, você pode atualizar a página e ele vai redefinir. 3. Começar com dados: Ao lidar com um problema, os programadores começam com dados. É uma forma de identificar rapidamente algumas das peças em movimento dentro do trabalho. Quando falamos de dados, estamos realmente falando sobre o valor conhecido. No software, o pedaço de dados é o valor salvo. É o que o programa tem registrado que o torna a fonte da verdade. Usar dados onde valores conhecidos será sempre mais fácil de entender do que trabalhar com valores desconhecidos. É por isso que começamos com ele. Os programadores estão sempre procurando tornar os problemas o mais tangíveis possível , a fim de reduzir a complexidade. Por exemplo, considerando a matemática simples, é fácil entender que um mais um é igual dois porque estamos trabalhando com valores reais. Se um desses valores desaparecer, um mais algo é igual a dois, o problema torna-se um pouco mais difícil. Ou em prazos, é muito mais fácil planejar quando você conhece os prazos reais. É por isso que começamos com os dados o máximo possível. Em linguagens de programação, os dados são classificados por seu tipo, e um tipo é apenas uma maneira de definir que tipo de dados estamos trabalhando com. Linguagens de programação diferem em como eles categorizam tipos, mas a maioria deles concorda em alguma forma dos quatro seguintes: números, strings, booleanos e valores nulos. Números são para qualquer tipo de número. Isso inclui números positivos, negativos e decimais. Strings são para palavras, seja uma ou muitas e são sempre embrulhadas entre aspas. Booleans são para qualquer um ou cenários, especificamente se algo é verdadeiro ou falso. Por exemplo, uma caixa de seleção, esteja completa ou incompleta. Você pode pensar nisso como um interruptor. Está ligado ou desligado. Valores nulos são dados que declaram explicitamente que não há dados. Um valor nulo é usado quando os dados não estão presentes, como antes de algo ter sido salvo. Representa um valor vazio conhecido. Algumas linguagens de programação usam nomes ligeiramente diferentes ou incluem tipos adicionais, mas esses quatro podem ser considerados tipos de alto nível, eles são chamados de tipos primitivos. É útil organizar dados em um formato para facilitar o trabalho. Esses arranjos são chamados de estruturas de dados. As estruturas de dados simplesmente aceita dados arbitrários e os coloca em um formato específico. O tipo de desenvolvedor estrutura escolhe depende do que eles pretendem fazer com ele e os padrões de linguagem de programação. Estas são as duas estruturas de dados mais comuns; listas e objetos. Vamos saltar para o console JavaScript para ver como eles se parecem. Uma lista é uma maneira simples de envolver uma coleção de dados. Por exemplo, você pode ter uma lista de meses. Quando eles estão em uma lista, você pode aplicar um efeito a todos eles, como torná-los maiúsculas. Cada analista de entrada deu um índice que fornece uma maneira acessar um valor específico se você conhece o índice. Intuitivamente, os índices começam de zero em vez de um. O que significa que se quisermos acessar a marcha na nossa lista, precisamos usar dois, mesmo que seja o terceiro valor. Da mesma forma, se quisermos aceder a Janeiro, temos de utilizar zero. Vamos começar restrito a níveis únicos que podem ser aninhados para armazenar muito mais dados, como incluir o número de dias dentro do mês. Agora que temos listas aninhadas, torna-se um pouco mais difícil acessar os dados que queremos. Um objeto é uma estrutura que atribui dados às chaves, o que facilita a chamada do valor correto. Se transformarmos uma lista de meses em um objeto, é muito mais fácil acessar o valor que queremos. Se quisermos Março, podemos chamá-lo pela chave, Março. Agora temos o seu valor de nome, e o valor de dias. Em um objeto, é um pouco mais difícil aplicar um efeito como quando fizemos tudo maiúsculo, mas ainda é possível. Um banco de dados é onde os dados reais são armazenados. É a fonte da verdade. Qualquer coisa no banco de dados é a representação real do que o sistema detém. Um banco de dados pode parecer um conceito desafiador, mas é simplesmente uma coleção de tabelas, como uma tabela do Excel. Cada entrada em um banco de dados é representada em uma linha, e cada propriedade como uma coluna. Obter dados de um banco de dados é mais comumente feito com SQL, que significa Structured Query Language, e escrito S-Q-L. Ele permite que os programadores para escrever declarações que coletam dados em uma estrutura de dados solicitados, a fim de exibi-lo, atualizá-lo, removê-lo, e adicioná-lo a ele. SQL é extremamente rápido, mas organizar dados pode ser complicado. Bem, uma única tabela poderia talvez conter todos os dados em um aplicativo. Se o aplicativo for pequeno, quanto mais dados forem adicionados à tabela, mais lento será o SQL executado. Colocar todos os dados em uma única tabela é considerado uma prática realmente ruim por causa dessa razão. Os programadores quebram conceitos em sua própria tabela. Isso pode adicionar complexidade porque os programas precisarão escrever uma consulta que é executada em várias tabelas para obter os dados solicitados. Isso é parcialmente o que pode criar uma solicitação cara, mas é muito dependente da configuração específica do sistema e há técnicas para otimizar o desempenho. Ao trabalhar com aplicativos da Web, a conexão com a Internet também desempenha um papel no fornecimento de dados. Quando mais dados são solicitados, mais dados devem ser enviados pela Internet. Se a conexão for lenta e houver muitos dados a serem enviados, a página da Web pode atingir o tempo limite ou falhar. É melhor enviar apenas os dados necessários. Vejamos um exemplo. Esta tabela representa comentários e é modelada a partir do Instagram. Há quatro colunas de propriedades, ID, ID de usuário, ID de foto e comentário. A última coluna são os comentários que aparecem na postagem. A primeira coluna, a coluna ID, nos permite acessar o comentário correto. Funciona como acessar uma entrada em uma lista. As colunas dois e três contêm o ID do usuário e a ID da foto. Como eu mencionei, poderíamos conter todas as informações do usuário e informações de fotos bem nesta mesa, mas é uma prática ruim. Em vez disso, incluímos apenas o ID de usuário e o ID de foto. Quando queremos acessar informações sobre o usuário, como seu nome no avatar, temos o ID correto para consulta e, em seguida, fazemos uma consulta na tabela de usuário. Além disso, quando atualizamos ou excluímos um comentário, não afetamos o usuário ou a tabela de fotos, que significa que a consulta pode ser executada mais rapidamente. Pensar em dados dessa forma pode contar uma história. Vamos olhar um pouco mais de perto o conteúdo para ver o que está acontecendo aqui. Olhe no comentário do ID de usuário, alguma coisa se destaca para você? As duas primeiras linhas têm o mesmo ID, que significa que esses comentários são do mesmo usuário. Se olharmos para o comentário ID foto, também vemos que as duas primeiras linhas têm o mesmo ID. Isso significa que este usuário comentou na mesma foto duas vezes. Se continuarmos inspecionando a coluna de identificação com foto, vemos que mais dois usuários comentaram sobre a mesma foto. Saber um pouco sobre tipos, estruturas de dados e bancos de dados irá ajudá-los a trabalhar com desenvolvedores. Mas pensar nos dados como o valor real deve trazer clareza para trabalhar mesmo fora da programação. Aqui estão algumas dicas. Primeiro, pense no que você gostaria de fazer e onde ele pode ir no futuro. Pense no que você espera estar trabalhando com e como você espera obtê-lo. Finalmente, pense no que você tem certeza e no que você não tem certeza. Para exercícios, eu quero que você pense sobre os dados necessários para criar esta tela do Instagram, e também identificar os conceitos independentes que têm sua própria tabela de banco de dados. Já identificamos o comentário de parte dos outros. Adicione suas respostas ao seu projeto, e eu o verei no próximo vídeo. 4. Pensando com variáveis: Lidar com dados concretos é a maneira mais simples de resolver um problema. Mas às vezes você não tem dados reais para trabalhar, ou há muitas opções possíveis para esses dados. Quando este é o caso, os programadores usam variáveis para avançar. Variáveis na programação podem ser um pouco diferentes de como você pensa sobre elas na vida cotidiana. Na programação, uma variável é uma abstração. É como um contêiner que contém informações. É uma maneira de falar sobre algo sem ser concreto sobre isso, ou quando o valor real é desconhecido. Também pode ser uma maneira conveniente de fazer referência a algo sem explicitamente dizê-lo cada vez. Além disso, as variáveis podem mudar ou podem conter um valor diferente do esperado. Mas não precisamos nos preocupar com isso naquele momento. Variáveis são usadas ao nosso redor, mesmo fora da programação. Existem muitas partes diferentes que compõem uma canção, um verso, pré-coro, coro, interlúdio, etc. Cada uma dessas partes são variáveis, possuem um valor, mas podemos referenciá-las pelo seu nome abstraído. Se quisermos saber o conteúdo dele, acessamos as informações pelo nome. Além disso, algumas partes, como o refrão, são reutilizadas, mas possuem o mesmo conteúdo. Em vez de chamá-lo de coro um e refrão dois, simplesmente chamamos de refrão. Prazos dentro de um projeto pode ser nomeado com variáveis em vez de, ou em adição com suas datas reais, lançamento Beta, lançamento Alpha, ir data ao vivo, etc Isso nos permite pensar sobre o trabalho que está contido dentro do marco. Designers usam variáveis todas as vezes, cores de nome. Em vez de chamar um valor de bytes de cor RGB ou hexadecimal, podemos chamá-lo de azul claro, azul ou azul escuro. Na programação, variáveis é uma das primeiras ferramentas que usamos. Em nosso exemplo de lista, atribui a lista de meses a uma variável chamada Meses, que eu possa reutilizá-la repetidamente sem a necessidade de reescrever o conteúdo repetidamente. Quando fizemos os nomes dos meses em maiúsculas, uma variável de mudança foi feita. Eu posso fazer cada mês maiúsculo sem me importar com qual deles realmente era. Muitos aplicativos têm uma variável chamada usuário atual. Ele permite que os programadores escrevam um aplicativo, mas fornecem experiências únicas para pessoas diferentes. Usuários atuais atribuídos ao seu perfil, uma vez que você faz login para que você obtenha seu próprio conteúdo. Se não tivéssemos variáveis, programar provavelmente seria impossível. Fora da programação, pensar com variáveis pode ajudar você a avançar seu trabalho. Use variáveis para dividir o trabalho em pedaços menores, mesmo quando algo é desconhecido, abstrair um conceito ou parte da discussão longe. Você não precisa pensar nisso agora. Destaque quais dados são desconhecidos. Que perguntas precisam ser feitas. Diga um conceito para algo que pareça um pouco mais tangível. Concentre-se em uma parte específica do problema isoladamente e faça progressos em um projeto sem ter todas as respostas. Há dois grandes desafios ao trabalhar com variáveis. Determinar se uma variável é flexível ou fixa, e dando-lhe o nome certo. Para determinar um estado, pergunte, ele vai mudar? Deve mudar? Posso tomar essa decisão mais tarde? Saber a diferença pode simplificar os problemas com os quais você está trabalhando e identificar limites. Onde fazer perguntas e com o que você deve trabalhar. Nomear variáveis é muitas vezes considerado uma das tarefas mais difíceis na programação. Se uma variável tiver o nome errado, isso pode levar a um código muito confuso para outra pessoa ou até mesmo para si mesmo mais tarde. Às vezes, variáveis equivocadas incentivadas a pensar sobre um conceito de maneira errada, que pode significar que o produto ou recurso acaba errado ou menos do que o ideal. Uma vez que as variáveis são uma forma de comunicação, falta de comunicação pode penetrar através variáveis mal nomeadas, mas você pode renomear suas variáveis sempre que for. Para considerar se você tem o nome certo, pergunte a si mesmo, existe uma maneira mais simples de descrevê-lo? Se as pessoas precisam continuamente de esclarecimentos para a variável, considere que ela pode ser nomeada errada. Considere também como você descrevê-lo? Há uma maneira simples ou mais curta de fazê-lo? nome é muito vago? Os outros entendem o que ela representa? Hiper especificidade pode ser boa e é comum em alguma linguagem de programação. Não necessariamente se afaste disso. Você quer ter certeza de que parece que você está realmente falando sobre a coisa certa. Pense nos dados abstratos neste recurso do Instagram e adicione suas ideias ao seu projeto. Vejo-te na próxima lição. 5. Entendendo condicionais: Os dados podem mudar dependendo da circunstância. Você pode querer vender um produto a um preço reduzido entre duas datas ou permitir que determinadas pessoas vejam o conteúdo. Declarações condicionais permitem que os desenvolvedores escrevam esses casos codificar, pensar em uma declaração condicional como uma bifurcação na estrada. Há dois caminhos que alguém pode tomar. Esses caminhos podem se juntar novamente, ou eles podem permanecer divergentes, eles podem invadir caminhos menores. Uma instrução condicional cria caminhos divergentes de se mover através de um sistema, ou um programa. É uma declaração if else em sua forma mais simples, que cria dois caminhos e em uma forma mais complexa, poderia ter estágios ou estados. As condições estão em toda parte no mundo real. Uma forma simples é a insegurança. Ou tens a chave para abrir o carro, ou não tens. Se você tem a chave, você pode dirigi-la. Caso contrário, você não pode usar o carro. Uma trilha de trem compartilhada onde vários trens chegarão na mesma plataforma tem muitos caminhos divergentes. Pode haver um trem local que visita cada parada, um trem expresso que pula paradas, outro pode acabar em um destino diferente. Este é um conjunto mais complicado de condições e você pode encontrar condições de estado e escolha, como a escolha de coberturas de pizza. Você começa a escolher o que vai para ele com uma série de opções de sim ou não. No final, você ainda tem uma pizza, mas há uma série de condicionais menores que resulta em resultados diferentes. Em condições de programação criar caminhos divergentes para diferentes usuários. Nós usamos condições para restrições se o usuário estiver conectado, então a página de outra forma enviá-los para a tela de login. Usamos condições para configurações ou preferências do usuário, assim como as coberturas de uma pizza que podem ser uma série de switches independentes que proporcionam uma experiência única. Nós usamos condições para coisas simples também, como, se mais declarações, se houver uma notificação, mostrar o sino, caso contrário não. No design da experiência do usuário, pensamos muito sobre estados. O estado de jogo, estado parcial, estado de erro e estado ideal. Todos esses estados precisam ser contabilizados para que ele complete um projeto e eles são compostos de várias condições baseadas no usuário do sistema. O que torna a compreensão das condições úteis no trabalho? Bem, você é capaz de identificar coisas que são co-dependentes. Você pode obter um controle sobre um fluxo de trabalho e, em seguida, possibilidades divergentes dentro dele e identificar o que poderia dar errado e quais riscos são plausíveis. Um fluxograma de controle é uma ótima ferramenta para visualizar condicionais. Quanto às formas básicas, um oval, que indica o início ou o fim. Setas que indicam a direção a se mover. Um diamante que indica um ponto de decisão ou condicional e retângulos que indicam uma etapa no processo. Você pode usar outras formas e cores junto com a legenda para agrupar tipos de atividades relacionados. Aqui estão algumas dicas para trabalhar com condições, uma vez que eles sempre aumentam a complexidade. Considere se o condicional é necessário e se você está começando a escrever condicionais aninhados, que é um caminho que vive dentro de outro caminho, tente mover a condição para um nível mais alto. Se for necessário, explore a melhor maneira de expressá-lo. Deve ser um valor verdadeiro ou falso, ou pode ser preferências? Finalmente, encontrar o equilíbrio certo entre esgotar adequadamente o caminho até o fim e perder-se nas ervas daninhas. Considere como o caminho condicional está intimamente relacionado ao seu problema original. Eu quero que você crie um fluxograma do Instagram como um recurso fotográfico. Tente começar o mais cedo possível e mapear tantos caminhos divergentes como você pode pensar, em seguida, feche em seu projeto, se você ficar preso em condições aninhadas, considere se o caminho pode ser dividido em seu próprio fluxograma. Se esse for o caso, basta dar ao passo um título e focar no gosto do recurso de foto. Te vejo na próxima vez. 6. Como usar padrões: Identificar padrões é essencial na programação. Os desenvolvedores quebram problemas em pequenos pedaços, resolvem esse problema e elevam o padrão para construir sistemas maiores que juntos compõem um aplicativo inteiro. Em suma, os padrões criam sistemas. Usando um padrão fornece uma maneira consistente de fazer algo muitas vezes e é previsível e repetível com um padrão, você pode criar um sistema que permite alavancar e reutilizar o trabalho e você pode usar esse padrão e aplicar para muitas situações diferentes. Os padrões estão ao nosso redor. Nas portas, instintivamente conhecemos alguém para puxar uma alça ou empurrar uma tela plana para abri-la ou fechá-la. É irritante quando precisamos empurrar uma maçaneta porque a previsibilidade do padrão está quebrada. Sabemos que girar o parafuso para a esquerda vai soltá-lo e girá-lo para a direita, vamos apertá-lo, e os designers usam padrões em seus sistemas de design e guias de estilo usando componentes, opções de cores e comportamentos fornecem uma maneira de criar interfaces na marca. Padrões são extremamente importantes na programação. Trabalhar com um padrão permite que uma equipe de desenvolvedores trabalhem juntos para os mesmos objetivos. Uma função é um pequeno pedaço de código que completa uma tarefa e funções reutilizáveis são padrões simples. Por exemplo, uma função que pode tornar uma palavra maiúscula é reutilizável. Não importa a palavra que recebe, mas vai torná-la maiúscula. Os programadores também usam diferentes paradigmas para resolver problemas. Por exemplo, um paradigma funcional é uma forma de organizar código com funções pequenas e razoáveis. Considerando que um paradigma orientado a objetos trata as peças do programa como objetos e eles mantêm seus próprios dados internos. Cada um tem prós e contras para eles, mas saber quando usar um pode tornar a resolução de um problema mais fácil. Práticas recomendadas e padrões também são padrões. Aprendemos com outras experiências e aplicamos seus conhecimentos à nossa aplicação, alguns exemplos de melhores práticas são: o princípio de responsabilidade única. Significa que cada pedaço de código deve ser responsável apenas por uma coisa, e mantém o código isolado, e mantém o seu foco. O princípio Dry, que significa, não se repita. Essencialmente significa evitar fazer a mesma coisa uma e outra vez e incentiva pensar sobre problemas no abstrato para identificar peças que são comuns, a fim de transformá-lo em um padrão. Estabelece também uma fonte de verdade para enfrentar o problema. Porque se você não está se repetindo, só há uma maneira de fazer isso e isso reduz a confusão. Outra é, você não vai precisar. Significa que não construa a coisa até saber que precisa dela. Reduz o trabalho ao seu essencial, a fim de avançar e restringe o excesso de construção. Na prática, ele também pode fazer com que os problemas se sintam mais concretos porque muitas vezes tira algumas das incógnitas para construir a coisa mais simples que funciona, existem muitos outros padrões que os programadores usam. Padrões nos ajudam a pensar sobre problemas de diferentes maneiras e criar melhores fluxos de trabalho. Usar padrões em seu próprio trabalho pode ser tremendamente útil. Quando os problemas parecem grandes demais, procurar semelhanças é uma ótima maneira de dividi-los em pedaços gerenciáveis. Identificar problemas recorrentes pode fornecer uma oportunidade para pensar sobre as coisas em um nível mais alto para criar a maneira certa de fazê-lo. Finalmente, os padrões ajudam a impor a consistência ou a inconsistência fixa, o que causa confusão ou desleixo. A maneira mais fácil de começar a usar padrões é perguntar a si mesmo se você já fez algo semelhante antes ou se você espera fazer esse trabalho novamente. Quando você está comparando dois problemas, pergunte a si mesmo, quais são as diferenças? Tente pensar sobre as partes como variáveis. Se você encontrar muitas semelhanças, você provavelmente tem a oportunidade de fazer um padrão. Às vezes, dois padrões podem parecer que eles são um e isso é uma situação um pouco complicada. Usar nossos dados e abordagens de variáveis pode ajudar com isso. Com que tipo de dados você está trabalhando? O que espera fazer com ele? Se as diferenças são grandes o suficiente, então você provavelmente tem que padrões. Uma regra geral é não tentar forçar algo a um padrão. Encontrar o padrão certo deve ser como desbloquear conquistas, embora possa ser um pouco difícil chegar lá. Finalmente, se você é a única pessoa que sabe fazer algo, anotar instruções é uma ótima maneira de se transformar em um padrão. Com boas instruções, muitas tarefas podem ser realizadas por qualquer pessoa. Estes podem até servir como um lembrete para você no futuro. Nesta lição, eu gostaria que você identificasse os padrões que o Instagram usa que também são usados em outros aplicativos. Por exemplo, gostar de uma foto é um Instagram, mas gostar de um comentário está no Facebook e gostar de um vídeo está no YouTube. O padrão de gosto é comum na maioria dos aplicativos de mídia social. Compartilhe seu trabalho e seu projeto. Então vamos saltar para a nossa última lição, automação. 7. Aplicando Automação: Automação é uma ferramenta poderosa no cinto de um programador. Ele permite que os programadores façam o trabalho em lotes significativamente mais rápido, com muito menos esforço. No seu núcleo, a automação simplifica o trabalho, reduz tarefas repetitivas e executa sequências de eventos. O que isso significa praticamente? Fazer menos trabalho com os mesmos resultados, fazê-lo mais rápido e ser mais eficiente. Muitas vezes pensamos em robôs quando ouvimos a palavra automação, mas há muitos exemplos reais de fazer menos trabalho com os mesmos resultados. semáforos, em oposição aos sinais de parada de quatro vias, aceleram a tarefa repetitiva de precisar inspecionar o cruzamento. Esta automação permite que muitos veículos passem uma só vez sem exigir que eles parem individualmente. Outra forma é um despertador. Uma vez definido, ele irá alertá-lo automaticamente no momento apropriado, que você não precise estar verificando manualmente. Você pode imaginar verificar o relógio a cada hora da noite, a fim de chegar a tempo para o trabalho? A automação permite que você durma. Além disso, você pode programar uma sequência para que ela só o alerte de segunda a sexta-feira. As campanhas de gotejamento de marketing são menos formas físicas de automação. Foi criado uma vez e aplicado a muitas pessoas em sequência. Eles receberão um e-mail de boas-vindas quando se inscreverem e, depois de algum tempo, receberão outro e-mail, e ele continuará por toda a campanha automaticamente. Na programação, temos muitos tipos de automação e sequenciamento; de loops, como quando fazemos um loop através de uma lista de meses para torná-los maiúsculas, para trabalhos em segundo plano, que notificarão o usuário quando eles forem mencionados. Todas as aplicações envolvem algum nível de automação, caso contrário, tudo precisaria ser concluído manualmente, o que exigiria uma enorme equipe. Como você pode aplicar automação no trabalho? Primeiro, procure obstáculos e ineficiências nos processos para que você possa removê-los. Sempre que o trabalho precisa parar, considere se o motivo é necessário, o processo pode melhorar para que ele não precise parar? Por exemplo, se um designer estiver enviando uma prova para você, que você possa postá-la para o cliente, o designer pode postá-la diretamente para o cliente? Em seguida, aprender atalhos de teclado irá ajudá-lo a trabalhar mais rápido. Quando eu estou aprendendo, eu tendem a me concentrar em um por semana, e eu escrevo para que eu possa referenciá-lo rapidamente. Sempre que estou prestes a usar o comando, eu paro e uso o atalho. Logo eu conheço bem o atalho, não preciso mais fazer referência a ele. Finalmente, tente trabalhar em lote para que você possa se concentrar no grupo como uma coisa. O lote provavelmente ajudará a identificar quais peças podem ser automatizadas. A automação é realmente sobre a redução do número de coisas que você precisa fazer para que você possa se concentrar em tarefas mais significativas. Para aplicar a automação, primeiro precisamos identificar candidatos. É nisso que eu penso. O que estou fazendo que é entediante? Posso reduzir o número de etapas? Há algo propenso a erros? O que leva muito do meu tempo? No último exercício, eu gostaria que você identificasse a sequência de eventos quando alguém postar um comentário em uma foto do Instagram. O que acontece com o comentário? Quem sabe sobre o comentário? Você pode fazer isso em um fluxograma de controle com apenas retângulos, mas se você estiver se sentindo ambicioso, pense no que pode dar errado na sequência também. 8. Conclusão: Obrigado por fazer o meu curso. Se você tiver alguma dúvida ou qualquer esclarecimento sobre qualquer coisa, por favor, entre em contato comigo na comunidade. Até a próxima vez, vejo-te.