SEMANA DA PROGRAMAÇÃO
Escolha seu Plano
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
Carreiras
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
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
Conteúdos gratuitos
Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.
Boas-vindas à formação de Boas Práticas com Node.js e TypeScript! Prepare-se para desvendar os segredos do desenvolvimento de software de qualidade, pois nesta formação mergulharemos fundo em conceitos cruciais que transformarão a sua abordagem à programação. Imagine criar código que seja não apenas funcional, mas também elegante. Dominar os princípios do SOLID - o alicerce que sustenta sistemas flexíveis e escaláveis. Entender como os Design Patterns podem ser suas armas secretas para resolver problemas complexos com soluções inteligentes e comprovadas. E quando chegar a hora de fazer ajustes? A refatoração é a sua aliada. Aprenda a revitalizar o seu código sem alterar sua funcionalidade, tornando-o mais eficiente, compreensível e evolutivo. Então, por que fazer esta formação? Porque a jornada de devs é trilhada mais facilmente quando se tem as ferramentas certas. Esta formação não é apenas sobre aprender uma linguagem, mas sim sobre elevar a sua maestria na arte da programação. Prepare-se para criar software que não só funcione, mas que também seja digno de admiração. Vamos embarcar nessa jornada juntos! O que você vai aprender nesta formação? SOLID: é um acrônimo que representa cinco princípios de design em programação orientada a objetos que visam criar sistemas mais flexíveis, extensíveis e fáceis de manter. Cada letra corresponde a um princípio específico: S (Single Responsibility Principle - Princípio da Responsabilidade Única): Cada classe deve ter uma única razão para sofrer modificações, ou seja, deve ter uma única responsabilidade. Responsabilidades diferentes devem ser separadas em módulos diferentes.O (Open/Closed Principle - Princípio Aberto/Fechado): As entidades de software (classes, módulos, etc.) devem ser abertas para extensão, mas fechadas para modificação. Isso promove a adição de novas funcionalidades sem alterar o código existente.L (Liskov Substitution Principle - Princípio da Substituição de Liskov): As instâncias de uma classe derivada devem ser substituíveis pelas instâncias da classe base sem afetar a integridade do sistema.I (Interface Segregation Principle - Princípio da Segregação de Interfaces): Clientes não devem ser forçados a depender de interfaces que eles não usam. Em outras palavras, as interfaces devem ser específicas para as necessidades dos clientes.D (Dependency Inversion Principle - Princípio da Inversão de Dependência): Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações. Além disso, abstrações não devem depender de detalhes, mas detalhes devem depender de abstrações. Promove a modularidade e facilita a manutenção do código. Ajuda a evitar acoplamento excessivo e torna os sistemas mais flexíveis para mudanças. Design Patterns: São soluções reutilizáveis para problemas comuns de design de software. São abordagens e estruturas que foram testadas e documentadas para resolver desafios específicos de programação. Esses padrões ajudam a melhorar a organização do código, a modularidade e a manutenção do sistema. Refatoração: A refatoração envolve a reestruturação do código-fonte existente para melhorar sua legibilidade, manutenção e eficiência, sem alterar o comportamento externo do software. É um processo contínuo que visa eliminar a duplicação, melhorar a estrutura do código e aplicar os princípios de design para criar um código mais limpo, reutilizável e compreensível. Código Limpo: refere-se a escrever código que é fácil de entender, manter e estender. Envolve aderir a boas práticas de programação, como seguir convenções de nomenclatura, manter funções curtas e focadas, evitar duplicação, comentar apenas quando necessário e aplicar princípios de design, como os mencionados no SOLID.
Invista na transformação da sua carreira!
Nesta formação, você aprenderá habilidades que viabilizam aplicativos com crescimento mais saudável, organizado e escalável. Com projetos da vida real, você vai aprender: Modularização com cocoapods;Server driven UI;Deeplinks e tratamento de erros;Internacionalização. Amplamente empregados no mercado, esses conhecimentos são indispensáveis para quem trabalha em um grande time de desenvolvimento iOS. São estratégias que mitigam erros e entregam uma experiência de usuário mais interessante. O que preciso saber para estudar essa formação? Fundamentos de lógica de programação;Programação orientada a objetos;Sintaxe básica da linguagem Swift;Construção de layouts com SwiftUI;Requisições HTTP e APIs. Você encontra esses pré-requisitos aqui na Alura. Vamos mergulhar em uma jornada de evolução profissional?
Programação Funcional em PHP: A programação funcional é um paradigma de programação que se baseia no conceito de funções puras, evitando efeitos colaterais e focando na imutabilidade dos dados. Em PHP, a programação funcional envolve o uso de funções de ordem superior, que podem receber outras funções como argumentos ou retorná-las como resultados. Isso permite a criação de código mais conciso, legível e modular, facilitando a composição de operações complexas. Recursos como funções anônimas, closures e funções de alta ordem são amplamente utilizados na programação funcional em PHP. Programação Assíncrona em PHP: A programação assíncrona em PHP envolve lidar com operações que não bloqueiam o fluxo de execução principal do programa. Isso é especialmente útil quando se trabalha com operações demoradas, como chamadas de API, processamento de arquivos grandes ou consultas a bancos de dados remotos. Em PHP, a programação assíncrona pode ser implementada usando bibliotecas e extensões específicas, como ReactPHP ou Swoole. Essas ferramentas permitem a criação de código assíncrono usando callbacks, promessas e corrotinas, melhorando a eficiência e a capacidade de resposta de aplicativos que precisam lidar com muitas tarefas concorrentes. Metaprogramação em PHP: A metaprogramação em PHP envolve a capacidade de um programa modificar ou gerar código durante o tempo de execução. Em outras palavras, é a capacidade de um programa escrever ou modificar seu próprio código. Em PHP, a metaprogramação pode ser realizada usando recursos como a extensão Reflection, que permite a introspecção de classes, métodos e propriedades, bem como a manipulação dinâmica dessas estruturas. A metaprogramação em PHP também pode envolver o uso de recursos como eval() para executar código PHP dinamicamente ou gerar código PHP a partir de outras fontes, como templates ou bancos de dados. A metaprogramação é uma técnica poderosa que permite criar código mais flexível, adaptável e automatizado em PHP. O que você vai aprender nesta formação? Nesta formação, você irá aprender a explorar a programação funcional em PHP, desenvolvendo habilidades para criar código conciso e modular, utilizando funções puras e garantindo a imutabilidade dos dados. Além disso, verá como utilizar a programação assíncrona em PHP para lidar eficientemente com tarefas demoradas, como chamadas de API e consultas a bancos de dados remotos. Por fim, irá dominar a metaprogramação em PHP, capacitando-se a gerar e modificar código dinamicamente durante a execução do programa, oferecendo flexibilidade e automação no desenvolvimento.
O curso AZ-900 - Microsoft Azure Fundamentals é destinado para pessoas que desejam conhecer, trabalhar ou mesmo obter a certificação na nuvem da Microsoft. Aprenda como funciona a infraestrutura Azure, seus principais serviços e como são provisionados.
Dado que você já fez a formação Power BI e conhece suas possibilidades de implementação, chegou o momento de entender de forma aprofundada como a ferramenta funciona por debaixo dos panos para encontrar soluções eficientes e desenvolver visuais elegantes. O que aprenderemos? Você aprenderá a utilizar as linguagens M e DAX para consumir APIs, modelar dados, desenvolver métricas aplicadas ao negócio e proteger os dados através do RLS. Além disso, utilizaremos conceitos de Design e conhecimentos de front-end e programação para desenvolver visuais profissionais de forma customizada.
Aprenda a usar as ferramentas do Firebase para empoderar suas aplicações Flutter com tecnologias na nuvem (que funcionam online) nesta formação, você vai aprender a construir aplicativos com funcionalidades essenciais de armazenamento de dados e autenticação de usuários na nuvem. Sem elas, o aplicativo não decola! Quais os benefícios em fazer essa formação? Construa aplicativos mais leves, que deixam o usuário satisfeito, pois armazenam dados na internet - evitando pesar na memória local do dispositivo;Ganhe praticidade e tempo ao aprender ferramentas seguras e relativamente tranquilas de utilizar - sem quebrar a cabeça com back-end;Evite investir em estrutura de servidores e pesados serviços necessários em aplicativos funcionais. O que vou aprender? Na primeira parte, entenda o que é Firebase e configure ele em projetos. Em seguida, com o Cloud Firestore, implemente um banco de dados na nuvem que salva informações de aplicativos na internet. Na segunda parte, utilize o Firebase Authentication, que adiciona um sistema de autenticação online no qual pessoas fazem login e acessam um perfil individual em um app! Por fim, implemente o Firebase Cloud Storage, que gerencia uploads e downloads de diversos arquivos (como imagens) no seu app. Selecionamos, para você, nossos melhores cursos, artigos e conteúdos em uma sequência didática que vai do simples ao complexo. Vamos decolar nessa nova jornada no maravilhoso mundo do Flutter?
Aprenda a gerenciar containers de maneira simples e automatizada com Kubernetes. Kubernetes, também conhecido de maneira abreviada por k8s, é uma solução open source utilizada para automatizar e simplificar todo o processo de gerenciamento de containers linux. Foi criado no Google, que foi uma das empresas pioneiras no desenvolvimento e utilização da tecnologia de containers, a qual já revelou que praticamente todos os seus serviços são executados em containers. Kubernetes simplifica o gerenciamento de aplicações que utilizam containers e precisam de segurança, performance, escalabilidade, monitoramento, e suporte em diferentes provedores cloud.
PHP é uma linguagem de script popular especialmente adequada para desenvolvimento web, que também pode ser utilizada para programar de forma geral. Rápida, flexível e pragmática, a linguagem PHP pode ser usada em tudo na Web, desde blogs até os sites mais populares do mundo. Aumente seu repertório de dev e aprenda, nesta formação, como criar uma aplicação Web com PHP. Bora começar?
Criar conteúdo relevante em escala é um dos maiores desafios do marketing moderno. Nessa trilha você vai aprender a usar IA para escrever textos persuasivos, construir agentes inteligentes e planejar campanhas, com cases reais das maiores marcas do país.
Explore o universo do desenvolvimento iOS com foco em view code, desde a construção de layouts de forma programática até o consumo de APIs REST e boas práticas de código. O que preciso saber para iniciar essa formação? É essencial que você tenha um entendimento básico de programação com a linguagem Swift e, idealmente, alguma familiaridade com iOS e o framework UIKit. O que faz um(a) desenvolvedor(a) iOS? Os profissionais especializados em iOS são responsáveis por criar e otimizar aplicativos nativos para dispositivos Apple. A habilidade em construir aplicativos com view code é altamente valorizada no mercado de trabalho, especialmente para projetos que exigem interfaces complexas e customizadas.