A GERAÇÃO DO FUTURO

É A QUE APRENDE HOJE.

00HORAS
:
00MIN
:
00SEG
Comece sua evolução
Comece sua evolução
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura

    O que você quer aprender?

    FiltrosFiltrar por:

    Tipos de conteúdo
    Categorias
    • Engenheiro de Dados Sênior em Bratislava, Eslováquia - Dev Sem Fronteiras #143

      O carioca Breno se interessou por programação graças ao interesse por emuladores de jogos, logo na infância. Após se formar em Ciência da Computação e de concluir o mestrado em Sistemas Distribuídos, ele trabalhou majoritariamente na área de back-end até decidir que talvez fosse a hora de ir para o exterior. Neste episódio, Breno conta como a dica de um amigo deu início a uma inesperada ida para a Eslováquia, e detalha as semelhanças, diferenças, e curiosidades de se morar e trabalhar na terra onde falar formal significa falar no plural. Fabrício Carraro, o seu viajante poliglota Breno Riba, Engenheiro de Dados Sênior em Bratislava, Eslováquia Links: LinkedIn do Breno Conheça a Escola de Data Science da Alura, aprenda a trabalhar com dados, use os principais bancos SQL do mercado e faça análises de dados com business intelligence. TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões. #7DaysOfCode: Coloque em prática os seus conhecimentos de programação em desafios diários e gratuitos. Acesse Ouvintes do podcast Dev Sem Fronteiras têm 10% de desconto em todos os planos da Alura Língua. Basta ir a  começar a aprender inglês e espanhol hoje mesmo!  Produção e conteúdo: Alura Língua Cursos online de Idiomas –  Alura Cursos online de Tecnologia –  Edição e sonorização: Rede Gigahertz de Podcasts

    • CursosBack-end

      Curso Segurança com ASP.NET Core: proteja aplicações Web

      Aprenda a proteger aplicações ASP.NET Core com validação, sanitização de dados e segurança avançada. Domine práticas essenciais de segurança!

    Ainda não estuda com a gente?

    Invista na transformação da sua carreira!

    Comece agora
  • CursosBack-end

    Curso Python e OWASP: explorando vulnerabilidades e implementando defesas

    Aprenda segurança em Python com a Alura. Identifique vulnerabilidades e aplique práticas seguras com PyGoat, Docker e Burp Suite.

  • Back-end

    AppSec: segurança em apps – Hipsters Ponto Tech #396

    Hoje o papo é sobre segurança em apps! Neste episódio, falamos sobre o desafio de fazer gestão de produto com tecnologia, as relações entre os times, e as diferentes formas como o mercado vê esse equilíbrio. Vem ver quem participou desse papo: Paulo Silveira, o host que acha interessante a humildade no âmbito de segurança Magno Logan, Especialista em Segurança da Informação e Pesquisador de Segurança na TrendMicro Eduardo Santos, Especialista em Segurança de Aplicações  Roberta Arcoverde, Diretora de Engenharia na Stack Overflow Links:  OWASP OWASP Top 10 riscos em aplicações web Post original sobre SQL Injection, de 1998 Stack Overflow comenta incidente de segurança de 2019 OWASP Top 10 riscos do CI/CD Análise do incidente de segurança da Solar Winds Stack Overflow comenta incidente com regex em 2016 Cloudflare detalha incidente com regex em 2019 Conheça a Formação Desenvolvimento Seguro da Alura e aprenda Desenvolvimento Seguro, aplicando medidas de segurança no ciclo de desenvolvimento de software. TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões. #7DaysOfCode: Coloque em prática os seus conhecimentos de programação em desafios diários e gratuitos. Acesse  Produção e conteúdo: Alura Cursos de Tecnologia –  Edição e sonorização: Rede Gigahertz de Podcasts

  • NoSQL: por quê? – Hipsters #22

    O que o Oracle, o MS SQL Server, o MySQL, o Postgre e tantos outros não fazem que popularizou o uso de outras soluções, conhecidas como NoSQL? Como é utilizar uma dessas soluções, como o MongoDB? Minha base de dados não vai ficar um grande bagunça para dar manutenção? Bem, ela já é uma bagunça sem isso :). Participantes: Paulo Silveira, host do hipsters Mauricio Linhares, o cohost que realmente conhece uma penca de assuntos David Paniz, trabalhou no NuBank onde atuou bastante com NoSQL e é autor do livro de NoSQL da Casa do Código Gleicon Moraes, engenheiro de software da LuizaLabs, autor do livro Ferramentas DevOps Links citados no episódio e extras: MongoDB :P NoSQL Summer: uma sugestão de papers importantes Paper do Teorema CAP Palestra sobre NoSQL do David Paniz NoSQL Tapes: estudos de caso e entrevistas sobre NoSQL, assim como esse tape do Startup Tapes.  Apresentação do Brad Fitzpatrick sobre Memcached no Livejournal. Aurora Deep Dive do AWS Reinvent 2015, muito bom para entender os componentes de um DB e como chegaram a solução de um MySQL escalável Deep Dive do DynamoDB - para entender quais parametros o usuário tem que se preocupar e como um desenho de tabela incompatí vel com as queries pode custar caro Cursos bacanas relacionados: Curso de Redis Curso de MongoDB Produção e conteúdo: Alura Cursos online de Tecnologia - === Caelum Ensino e Inovação Edição e sonorização: Radiofobia Podcast e Multimídia

  • Back-end

    Arquitetura Event-Driven – Hipsters Ponto Tech #485

    Hoje o papo é sobre arquitetura orientada a eventos. Neste episódio, mergulhamos no que é a arquitetura orientada a eventos, quando ela é necessária, e em quais são os conceitos, as tecnologias e as ferramentas que você precisa saber para dominar o assunto. Vem ver quem participou desse papo: André David, o host que começa contextualizando o papo Vinny Neves, Líder de Front-End na Alura Felipe “Cachoeira” Rodrigues, Senior Staff Software Engineer LuizaLabs Patrícia Silva, Tech Lead Thiago Adriano, Coordenador da Pós-Tech, FIAP Links:  RabbitMQ Kafka NATS Redis Streams Amazon SQS Google Pub/Sub FIAP: Pós-Tech – Arquitetura de Software FIAP: Pós-Tech – IA Para Devs Conheça as Carreiras Alura: Um caminho estruturado, com prática, profundidade e orientação para você sair do zero e conquistar domínio real em uma habilidade. TechGuide.sh, um mapeamento das principais tecnologias demandadas pelo mercado para diferentes carreiras, com nossas sugestões e opiniões. #7DaysOfCode: Coloque em prática os seus conhecimentos de programação em desafios diários e gratuitos. Acesse  Produção e conteúdo: Alura Cursos de Tecnologia –  Edição e sonorização: Rede Gigahertz de Podcasts

  • Back-end

    O que é Back-End e Front-End

    Neste vídeo, mergulharemos nas duas facetas essenciais da construção de websites e aplicativos: o front-end e o back-end. Enquanto o front-end lida com tudo o que você vê e interage - como design, animações e interface do usuário - o back-end é o motor oculto por trás dessas funcionalidades, garantindo que tudo funcione corretamente. Junte-se a nós nesta jornada visual para entender melhor as engrenagens que movem o mundo digital ao nosso redor. Ideal para iniciantes e para aqueles que buscam esclarecer os conceitos básicos da programação web! ## Qual a principal diferença entre front-end e back-end? **Guilherme**: Meu nome é **Guilherme Lima**, sou instrutor e desenvolvedor de software na Alura. E tenho comigo o Vinny Neves. **Vinicios**: Sou **Vinnny Neves**, o dev careca e barbudo mais querido da Alura. Trabalho com front-end há bastante tempo, mas já passei pelo back-end também. Portanto, nós podemos ter uma conversa interessante sobre isso. **Guilherme**: Muito bom ter você conosco. Mas, qual a principal diferença entre front-end e back-end? ### O que o front-end faz? **Vinicios**: A principal diferença é que **o front-end está mais próximo da pessoa usuária**. Imagine que quem trabalha com front-end está desenvolvendo essa camada, essa interface. Por exemplo, temos uma aplicação que precisa agendar consultas. Vamos apresentar para as pessoas usuárias essas marcações, dialogar visualmente com elas, abrir uma agenda, mostrar quais são os dias disponíveis para marcar uma consulta. Portanto, o front-end está mais próximo da pessoa usuária que interage com a aplicação. Também está mais perto do navegador e de tudo o mais. Quem trabalha com front-end atualmente, vai trabalhar com posicionamento de elementos, decidir onde ficará o campo de texto para a pessoa digitar, se vamos usar um calendário ou apresentar uma lista de opções. > O front-end está muito relacionado com essa parte de interação com a pessoa usuária. **Guilherme**: Podemos pensar que o front-end é responsável pelo desenvolvimento e criação de telas? Como telas dinâmicas e designs atraentes? **Vinicios**: Exatamente isso. Embora não seja uma regra universal, é muito comum que existem outras pessoas profissionais que montam e desenham a tela como deveria ser idealmente. Alguma pessoa especializada nessa **experiência do usuário** desenha a tela e entrega para nós do front-end. Dado este desenho, vamos transformar aquela imagem em uma aplicação que o navegador consiga entender. **Guilherme**: Então, não necessariamente quem trabalha com front-end precisa ser um especialista em desenhos, cores, fontes, tipografia? **Vinicios**: Exatamente. No cenário ideal, existem profissionais que estudam esses conceitos, como a paleta de cores, cores mais fortes ou mais fracas, qual é o melhor lugar para posicionar um botão, um campo de texto. Depois desse trabalho realizado, aí chega para o front-end. Portanto, nós não temos esse trabalho "criativo". Vamos pegar uma tela e desenvolver seu código. Ou seja, é como se pegássemos uma foto e a transformássemos em uma aplicação onde a pessoa usuária pode interagir e realizar a operação que precisa. **Guilherme**: Agora, faz mais de sentido o que é o front-end. Vamos conversar e entender melhor sobre a carreira de **back-end**. ### O que o back-end faz? **Guilherme**: A pessoa que desenvolve back-end não está necessariamente ligada a desenvolver telas. Não é seu principal desafio. Mas, então o que ela faz? **Vinicios**: Falamos que o front-end está mais próximo da pessoa usuária. Já **o back-end está mais perto das informações da aplicação**. Quais são as regras de negócio, as validações? Vamos voltar no exemplo da marcação de consulta. Aquele médico com o qual estamos marcando a consulta, está disponível ou está de férias? Quais horários podemos agendar uma consulta? Por exemplo, nós temos a tela e permitimos que a pessoa usuária agende uma consulta para domingo de madrugada. No entanto, não há nenhum médico disponível para uma consulta domingo de madrugada. Logo, o back-end irá indicar que não é possível realizar a ação pretendida. Assim, definimos **validações**. Mas, se a pessoa usuária quiser agendar uma consulta para segunda-feira às 9 horas da manhã e essa for uma opção viável, podemos fazer o agendamento. O back-end receberá os dados enviados e os armazenará em algum lugar para consulta futura, validação ou até mesmo alterações. Imagina que o médico não possa atender na data agendada, será necessário remarcar a consulta. > Desta forma, todas essas regras de validação - o que pode e o que não pode - estão mais perto do back-end. Ele também se encontra mais próximo dos dados e de onde esses dados serão armazenados. **Guilherme**: O back-end também se encarrega de definir como os dados serão expostos para a equipe de front-end. Afinal, quando estamos atuando no mercado de trabalho, provavelmente estaremos colaborando com outras pessoas, times e equipes. Portanto, quando o front-end necessitar de certas informações, o desafio do back-end será dispor dessas informações e conectar com o banco de dados, conversando e criando soluções para que o projeto seja entregue de maneira satisfatória. **Vinicios**: Exatamente, o front-end irá requisitar: "nós precisamos de um back-end que permita a marcação de consulta e que permita a verificação dessas consultas posteriormente". Definir como isso será feito é tarefa do back-end, que determina qual linguagem usar e onde armazenar os dados. Dessa forma, o back-end funciona de forma independente. Enquanto o front-end indica quais e quando esses dados serão necessários, o back-end deve definir, de acordo com as regras de negócio, o formato dos dados para marcar uma consulta, por exemplo. **Guilherme**: Um ponto importante sobre ferramentas e tecnologias: > Existem diversas linguagens que podem ser usadas para criar aplicações back-end, como Java, Python ou o próprio Javascript, que pode ser usado tanto no *front* quanto no *back*. > > Contudo, no front-end existe uma "trindade mágica" que geralmente é recomendada: HTML, CSS e Javascript. **Vinicios**: De forma resumida, o HTML é o dado que será exibido, já pronto e processado. O **HTML cuidará da estrutura dos dados**, definindo se será uma lista, um campo de texto ou uma caixa que aparece para a pessoa usuária interagir. Já o **CSS tratará dos estilos**, como tamanho de fonte, cor da fonte, posicionamento das informações na tela, quebra de linha, layout para celular, tablet ou *desktop* (computador). Por fim, o Javascript faz com que o HTML e o CSS sejam dinâmicos. Ao interagir com a aplicação, podemos fazer com que um campo mude de cor, que apareça algum alerta, mensagem de erro com fundo vermelho ou mensagem de sucesso com fundo verde, por exemplo. Essa é a tríade essencial para qualquer caminho que se tome dentro do front-end. **Guilherme**: No back-end, é importante lembrar que existem diversas linguagens, como Python, Javascript, Java, C#, Go, entre outras. A maioria dessas linguagens possui primeiros passos. Na Alura, temos formações específicas relacionadas a JavaScript tanto no back-end quanto no front-end. Se você preferir direcionar seus estudos desde o começo para front-end, temos cursos relacionados também com HTML e CSS. Fica aí a dica! Discutimos um pouco sobre as diferenças entre o desenvolvimento front-end e back-end. Agora, cabe a você decidir sobre a sua carreira! Você pode optar por seguir um lado mais próximo da pessoa usuária, design de interfaces ou validações e regras de negócio. Eu gosto bastante de bancos de dados, SQL e de linguagem. Logo, estou mais próximo do back-end enquanto o Vinny se encontra mais próximo do front-end. **Vinicios**: E pode ficar tranquilo(a), pois essa não é uma decisão definitiva. É comum às vezes transitarmos entre essas duas áreas. Portanto, você pode contar conosco da Alura para trilhar o seu caminho.

  • Back-end

    VSCode: Dicas e truques

    Tudo o que você precisa saber para tornar seu desenvolvimento mais prático dentro do VSCode. # Transcrição da aula Olá! Eu sou o Leonardo e nesse Alura+ vou apresentar para vocês um pouco do Visual Studio Code, também conhecido como VSCode ou VSC. O Visual Studio Code é uma IDE muito utilizada atualmente e com várias opções de atalhos e customizações. Com o VSCode aberto, começaremos a escrever código. Para isso, podemos criar um novo arquivo ou abrir uma pasta. Nesse caso, vou abrir uma pasta, o que facilita mantermos o código organizado. A pasta será criada no diretório "Documentos/Alura/Alura+ VSC". Não teremos nenhuma mudança visual grande, não abrimos nenhum editor e ainda não podemos escrever nenhum código. Isso porque ainda não temos um arquivo onde escrever esse código. Do lado esquerdo da tela, temos o "Explorer" do VSCode, que é onde ficam organizados nossos arquivos e editores. Dentro dos arquivos, temos a pasta "Alura+ VSC", onde estará o nosso código. Passando o mouse sobre esse menu, veremos algumas opções: * New File (novo arquivo) * New Folder (nova pasta) * Refresh Explorer (para atualizar o Explorer, por exemplo quando colocamos um arquivo por fora e ele não é detectado automaticamente) * Collapse Folders in Explorer (minimizar pastas no Explorer) Clicaremos em "New File" e, na caixa de texto que se abriu, digitaremos o nome do arquivo: app.js. O arquivo será criado e uma nova aba se abrirá no editor de código. Tínhamos outra aba aberta, "Getting Started", que podemos fechar. Começaremos criando uma variável. Como nosso arquivo é um .js, trabalharemos com Javascript. Ao começarmos a digitar const, uma caixa de sugestões será exibida, algo que pode nos ajudar a escrever o código. Criaremos a const nome com o valor igual a leo. const nome = "leo" Podemos mudar de ideia e, ao invés dessa const, fazer um console.log. Se apagarmos parte do nosso código, veremos que a caixa de diálogo não se abrirá novamente. Para que ela apareça, apertamos o comando "Ctrl + Espaço". Utilizando o "Enter", selecionaremos a palavra console e continuaremos o preenchimento com console.log(). Se quiséssemos o console.timeLog(), poderíamos nos dirigir a ele utilizando as setas para cima e para baixo. Mas além do Javascript, que outras linguagens de programação o VSCode suporta? No canto inferior direito da IDE, veremos a palavra "Javascript" como linguagem selecionada - isso porque estamos trabalhando com um arquivo .js e ele fez a detecção automaticamente. Se clicarmos nessa opção, abriremos um menu com todas as linguagens que podemos utilizar dentro do Visual Studio Code, dentre elas C, C++, Docker (dockerfile), Go, JSON, Lua, Markdown, dentre outras várias possibilidades. Vamos continuar trabalhando com Javascript. Se fôssemos escrever um código completo nesse Alura+, ele seria muito longo. Ao invés disso, pegaremos um código pré-preparado e o copiaremos para o arquivo app.js. Usaremos "Ctrl + A" para selecionar o conteúdo de source.js, "Ctrl + C" para copiá-lo e "Ctrl + V" para copiá-lo" no nosso arquivo. A primeira coisa que faremos é executar esse código. Porém, navegar pelas pastas dentro do console é um pouco trabalhoso. O Visual Studio Code também nos ajuda com isso, pois possui um terminal integrado. Abriremos o menu "Terminal" na parte superior da tela e clicaremos em "New Terminal", fazendo com que o console seja aberto na parte inferior da tela. Para executarmos, usaremos o comando node seguido do nome do arquivo. node app.js Ao pressionarmos "Enter", veremos que nada acontecerá. Note que a nossa tela está um pouco pequena, e podemos aumentá-la segurando a tecla "Ctrl" e usando o "+" do teclado. Da mesma forma, "Ctrl -" reduz o zoom da tela. Mas por que nosso código não retornou nada? Isso aconteceu pois esquecemos de salvar o conteúdo de app.js. O Visual Studio Code não salva os arquivos automaticamente. Isso é visível pelo aviso "1 unsaved" - ou seja, "um arquivo não salvo" - na área de editores do nosso menu. Além disso, tem uma "bolinha" ao lado do nome do arquivo app.js, tanto nos editores abertos quanto na sua aba, algo que também indica que o arquivo não foi salvo. Para salvar, usaremos o atalho "Ctrl + S" ou o menu "File > Save" (Arquivo > Salvar). Após salvarmos, voltaremos ao terminal e usaremos a tecla para cima do teclado para retornarmos ao último comando, node app.js. Ao pressionarmos "Enter", teremos duas saídas: > 8 > > [ 1 ] Vamos analisar o que nosso código faz para chegar a essas saídas. // idades = [30, 35, 28] // nomes = ["Ana", "Juliana", "Leonardo"] // faculdade = ["false, true, true"] // funcionarios = [nomes,idades,faculdade] // function eMaiorQue10(value) { // return value >= 10; // } // var filtrado = numeros.filter(eMaiorQue10); // //filtrado [é 12, 130, 44] // console.log(filtrado) const notas1 = [10, 6.5 , 8, 7.5] const notas2 = [9, 6, 6 ] const notas3 = [8.5, 9.5] const notasGerais = [notas1, notas2, notas3] let media = 0 for (let i = 0; i Word Wrap", cujo atalho é "Alt + Z". Isso fará com que parte do texto seja jogada para a próxima linha, que na verdade é uma continuação da linha 42 e não tem numeração, mantendo a 43 vazia. Salvaremos o arquivo e o executaremos novamente para verificarmos se não quebramos o código. Como temos o mesmo retorno, tudo continua correto. Outro ponto interessante: repare que na linha 39, o código console.log("retornou") parece "apagado", enquanto os demais códigos têm cores mais vivas. Ao deixarmos o ponteiro do mouse sobre ela, veremos a mensagem "Unreachable code detected", informando que o código dessa linha não é executado. Para resolvermos isso, podemos clicar sobre a linha e pressionar "Ctrl + .", abrindo o menu "Quick fix" (reparo rápido), que sugerirá remover essa linha. Como não queremos removê-la, mas sim executá-la, precisaremos encontrar outra alternativa - por exemplo, colocá-la antes do return da função teste() já que o essa instrução encerra a execução da função. Poderíamos recortar e colar o código, mas também existe outra maneira: segurar a tecla "Alt" com o cursor sobre a linha e pressionar a tecla para cima do teclado, movendo o código console.log("retornou") uma linha para cima. Após salvarmos e executarmos, continuaremos não recebendo nada, o que acontece pois a função teste() não é chamada nenhuma vez. Resolveremos isso incluindo a chamada da função. //... console.log(media) teste() function teste() { console.log("retornou") return 10 } //... Limparemos o console com clear e executaremos node app.js novamente. Podemos acessar esse código rapidamente pressionando para cima no teclado duas vezes. Como retorno, teremos: > 8 > > retornou > > [ 1 ] Agora nossa saída mudou, antes era só 8 e [ 1 ]. Vamos ver se realmente teve alteração? Usaremos "Alt + baixo" no teclado para descermos o console.log("retornou") para a linha original. Ao salvar e executar, voltaremos a ter o retorno anterior - ou seja, realmente funcionou. Quando estamos criando código, nem sempre tudo ocorre como esperado, e às vezes cometemos erros, por exemplo de sintaxe. Para testarmos isso, vamos incluir um erro bastante óbvio em nosso código: um + sozinho em uma linha. Repare que o VSCode realçará esse +, sublinhando-o. Além disso, o nome do arquivo app.js será realçado em vermelho tanto no menu "Open Editors" quanto na aba aberta, com o número "1" ao lado do nome, indicando o número de erros. No canto superior direito, temos também um pequeno resumo do nosso código, que inclui uma linha vermelha no ponto em que colocamos o +; e na barra de rolagem um tracinho será exibido na altura do erro. Nesse arquivo está fácil encontrarmos o erro, afinal nós o colocamos propositalmente. Porém, em códigos mais extensos, às vezes fica difícil encontrar os erros. Para contornar isso, podemos usar o atalho "F8" para navegar diretamente ao próximo erro, indicando também qual é o erro - nesse caso, temos a mensagem *"expression expected"*, ou seja, o Javascript espera uma expressão. Vamos simplesmente apagar o + que estava sozinho na linha e fechar a caixa de diálogo clicando no "x". Note que, após apagarmos o erro, a expressão *"expression expected"* ficara mais escura, indicando que foi resolvida. O Visual Studio Code também nos traz outras funcionalidades que podem ajudar no desenvolvimento. Vamos começar passando pelo array texto usando a expressão for. let texto = ["oi", "ok"] for A estrutura do for é bastante conhecida, e não precisamos fazê-la manualmente toda vez. Sendo assim, escreveremos for e usaremos "Ctrl + Espaço" para abrir a caixa de sugestões. Selecionaremos a opção For Loop. Ela é na verdade um *snippet*, um trecho de código já pronto para utilização. Ao clicarmos, toda a estrutura do for será montada no editor: let texto = ["oi", "ok"] for (let index = 0; index = 10; // } // var filtrado = numeros.filter(eMaiorQue10); // //filtrado [é 12, 130, 44] // console.log(filtrado) Poderíamos apagar as barras (//) linha por linha, mas existe o atalho "Ctrl + ;" (ou "Command + ;" no Mac), que permite comentar ou descomentar trechos de código. Mas e se quisermos alterar esse atalho de "Ctrl + ;" para "Ctrl + /"? Para isso, clicaremos na engrenagem no canto inferior esquerdo (*"Manage"*) e acessaremos o menu *"Keyboard Shortcuts"* (atalhos de teclado), cujo atalho é "Ctrl + K > Ctrl + S". Na nova aba, pesquisaremos por *"comment"* (comentário em inglês) e clicaremos duas vezes em *"Toggle line comment"*, opção que permite "trocar" o comentário da linha - ou seja, se ela está comentada, deixará de estar; se não estiver comentada, será comentada. Será aberta uma caixa de texto pedindo para digitarmos a nova combinação, em nosso caso "Ctrl + /". A caixa será preenchida com "ctrl+abnt_c1" e logo abaixo teremos o significado desse código, que é o atalho que digitamos. Após pressionarmos "Enter", o conteúdo será salvo. O interessante desse menu *"keyboard shortcuts"* é a possibilidade de encontrar todos os atalhos do VSCode, como *"cut"*, o clássico "Ctrl + X", e o *"copy"*, "Ctrl + C". No último caso, o VSCode também aceita "Ctrl + Insert". No arquivo app.js, selecionaremos o trecho comentado e pressionaremos "Ctrl + /" para descomentarmos. idades = [30, 35, 28] nomes = ["Ana", "Juliana", "Leonardo"] faculdade = ["false, true, true"] funcionarios = [nomes,idades,faculdade] function eMaiorQue10(value) { return value >= 10; } var filtrado = numeros.filter(eMaiorQue10); //filtrado [é 12, 130, 44] console.log(filtrado) Assim conseguiremos descomentar o bloco inteiro de código. Mais abaixo, vemos que a linha filtrado [é 12, 130, 44] continua comentada. Isso acontece pois ela já era um comentário - inclusive, se selecionarmos o bloco inteiro e o comentarmos novamente, a linha será comentada duas vezes (// //). Isso é útil pois conseguimos guardar o que já era comentário anteriormente em nosso código, evitando problemas. Já vimos os principais atalhos do VSCode, e agora conheceremos outras funções que ele nos oferece. Uma delas é o "Source Control", também conhecido como "Git" para quem já tem costume. Acessado a partir do menu à esquerda da tela (e pelo atalho "Ctrl + Shift + G"), ele nos permite inicializar um repositório Git ou publicar nosso código no Github - ou seja, o VSCode tem integração com o Github. Se escolhermos "Publish to Github", a IDE nos perguntará se a extensão pode utilizar nosso login, abrindo uma janela do navegador pedindo autorização para acessar nosso Github. Caso você não esteja logado, será necessário usar seu usuário e senha. Na janela seguinte, basta autorizar o acesso, clicar em "Abrir Visual Studio Code" e, de volta no programa, em "Open". Na parte superior da rela, teremos uma caixa de diálogo onde é possível criar um repositório, sugerindo o nome da nossa pasta ("Alura+ VSC"). Podemos publicá-lo como um repositório privado ou público. Não criaremos o repositório nesse vídeo, mas, caso você queira, basta fazer todo o percurso normal do Git, incluindo commit, push e assim por diante. Vamos falar um pouco sobre as extensões do VSCode, que também são bem úteis. Acessadas pelo menu à esquerda (e também pelo atalho "Ctrl + Shift + X"), elas permitem incluir mais funcionalidades ao VSCode. Como estamos trabalhando com Javascript, o ESLint é uma extensão bastante utilizada. É um formatador de código que inclui algumas boas práticas em Javascript. Pesquisando por ESLint e clicando em "install", ele será instalado. O ESLint é um caso especial dentre as extensões, pois precisa ter a biblioteca instalada na máquina - algo que pode ser feito usando o comando npm install eslint, para usá-lo somente no projeto atual, ou npm install -g eslint para instalá-lo globalmente. Outra extensão interessante é a Live Share. Desenvolvida pela Microsoft, essa ferramenta permite compartilhar código com outra pessoa em tempo real, como um arquivo do Google Docs ou do Office 365. Isso é legal quando você está trabalhando em grupo e é necessário editar o mesmo arquivo sem que seja necessário ficar "disputando o teclado" ou narrando o código para alguém digitar. Basta todas as pessoas baixarem o Live Share para que possam editar o mesmo código. O Live Server também é bem interessante. É um jeito rápido de desenvolver sites, muito útil para quem desenvolve em HTML, CSS e Javascript para Web. Ele abre um servidor em uma porta, que podemos acessar pelo navegador para explorar os efeitos do código no site que estamos desenvolvendo. Para quem trabalha com banco de dados SQL, temos a SQLTools, que ajuda a formatar o seu banco de dados, gerar queries, explorar os conteúdos salvos, dentre outras funcionalidades. Se você desenvolve em Java, temos a extensão da Language Support (suporte de linguagem) da Redhat, uma grande empresa bastante conhecida por quem trabalha com Linux. Existem algumas linguagens ou plataformas que não são suportadas pelo Visual Studio Code, por exemplo os microcontroladores. Nesse caso, podemos usar o PlataformIO, uma IDE que trabalha "em cima" do VSCode, oferecendo algumas plataformas como Atmel AVR (para Arduino), Expressif 32 e assim por diante. Também é uma plataforma boa para desenvolver com IOT, com frameworks para Arduino, por exemplo, substitindo a IDE própria do Arduino, que não é muito amigável em termos de possibilidades (como atalhos e sugestões). Já passamos por vários atalhos de teclado e funções do Visual Studio Code, nos familiarizamos com sua interface e aprendemos a começar projetos do zero ou abrir projetos já existentes. Também aprendemos a usar o terminal integrado e a integração com o Github, além de conhecermos algumas extensões. Devemos nos lembrar que as extensões do VSCode existem para expandir as possibilidades e tornar nosso trabalho mais ágil. Uma opção que acabei não comentando é a troca de tema do VSCode, acessada pelo menu à esquerda da tela o pelo atalho "Ctrl + K > Ctrl + T". Existem vários temas disponíveis, alguns claros (*light)* e outros escuros (*dark*), e outros como o *Tomorrow Night Blue*, que deixa a interface mais azul. Espero vocês na próxima!

  • ArtigosBack-end

    Artigo GORM ORM - Mapeamento de objeto relacional em Go

    Venha conhecer um pouco sobre essa técnica utilizando a linguagem Go. ORM significa Mapeamento objeto-relacional e é utilizada para facilitar o desenvolvimento.

  • ArtigosBack-end

    Artigo Back-End: o que é e um guia para iniciar na área

    Qual é o papel do back-end em aplicações, além das principais linguagens e frameworks para sua carreira como pessoa desenvolvedora na área.

  • 1Página 1…22Página 22…37Página 37
    1Página 1…20Página 2021Página 2122Página 2223Página 2324Página 24
    …
    37Página 37