296 pessoas já começaram a estudar hoje
296296pessoasjá começaram a estudar hoje
já começaram a estudar hoje

Enquanto você avalia,

296296pessoas já começaram a estudar hoje

Dê o próximo passo e inicie sua carreira

Dê o próximo passo e inicie sua carreira agora mesmo

Comece agora
  • 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
    • 123: Grok 3 grátis, Deep Research no Perplexity, ChatGPT Operator no Brasil

      Sexta-feira é dia de repercutir as principais notícias da semana, no mundo da IA. Marcus Mendes, host sob controle Fabrício Carraro, co-host sob controle, Program Manager da Alura, autor de IA e host do podcast Dev Sem Fronteiras Links: Conselho da OpenAI rejeita oferta de Elon Musk OpenAI considera mudar estrutura para se precaver de novas tentativas de aquisição hostil xAI lança o Grok 3 xAI aumenta preço do plano Premium+ Victor Taelin comenta desempenho do Grok 3 e propõe desafio Perplexity lança função de Deep Research Perplexity anuncia modelo aberto R1 1776 Anthropic pede que justiça americana não impeça investimento do Google Microsoft anuncia o modelo OmniParser V2 para agentes Microsoft apresenta modelo Muse de geração de gameplay Microsoft anuncia chip quântico Majorana 1 chip Satya Nadella comenta anúncio do Majorana 1 Mistral anuncia o Mistral Saba Mistral implementa Batch API UI La Plateforme Coreia do Sul proíbe novos downloads do app do DeepSeek Estudo Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention Vida com IA: Attention is All You Need. Entendendo Transformers DeepSeek fará semana de anúncios de projetos de código aberto NYT aprova uso de IA ChatGPT divulga CPF de figuras públicas brasileiras após flexibilizar moderação OpenAI começa a liberar o Operator no Brasil Sam Altman faz enquete sobre qual deve ser o próximo projeto de código aberto da OpenAI OpenAI apresenta o benchmark SWE-Lancer Cursor Windsurf Editor OpenAI divulga ranking da forma como alunos estão usando o ChatGPT nos EUA Meta anuncia a LlamaCon Google disponibiliza o Veo 2 no Freepik Google apresenta o sistema AI Co-scientist Google libera o PaliGemma 2 Mix Benchmark ZeroBench Post do Fabrício sobre o ZeroBench Klarna voltará a investir em contratações de humanos no SAC Sakana AI: The AI CUDA Engineer: Agentic CUDA Kernel Discovery, Optimization and Composition Mira Murati detalha sua nova empresa, Thinking Machines Lab Arc Institute anuncia o modelo genético Evo2 Figure AI Helix Estudo Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach Estudo: LLaDA, Large Language Diffusion Models IA Sob Controle 122: Alex Lang, líder de engenharia na Perplexity IA Sob Controle com Ana Paula Appel, sobre computação quântica e IA IA Sob Controle 82: O caminho para uma IA 100% brasileira, com Diogo Cortiz IA Sob Controle 120: Evoluindo as IAs generativas da Luma Labs, com Pedro Gengo Escola de Inteligência Artificial da Alura: Mergulhe com profundidade no universo das IAs Generativas e comece a explorar todo o potencial para impulsionar a sua carreira. Inscreva-se na Newsletter IA Sob Controle, e receba notícias semanais sobre Inteligência Artificial, assinada por Fabrício Carraro. Preencha o formulário com as suas sugestões para deixar o conteúdo do IA Sob Controle ainda mais interessante. Alura Cursos de Tecnologia –  e sonorização: Rede Gigahertz de Podcasts00:00:00 - Olá!00:00:58 - Alex Lang, Perplexity00:02:12 - Resultado da enquete00:02:45 - Musk e OpenAI00:05:09 - Grok 300:15:17 - Perplexity Deep Research00:19:22 - Perplexity R1 177600:22:30 - Anthropic e Google00:24:53 - Microsoft OmniParser V200:26:40 - Microsoft Muse00:28:13 - Microsoft Majorana 100:33:28 - Mistral Saba00:34:56 - Batch API UI no La Plateforme00:35:35 - Coreia do Sul vs. DeepSeek00:36:20 - DeepSeek NSA00:38:44 - 5 dias de open source00:39:35 - NYT adota IAs00:41:20 - ChatGPT divulga CPFs00:43:41 - Operator00:44:31 - OpenAI open source00:45:25 - Benchmark SWE-Lancer00:48:18 - ChatGPT nas escolas00:49:22 - LlamaCon00:50:37 - Veo2 no FreePik00:51:23 - Google AI Co-scientist00:53:01 - PaliGemma 2 Mix00:55:01 - ZeroBench01:00:03 - Klarna recontrata humanos01:01:22 - Sakana AI Cuda Engineer01:03:10 - Thinking Machines Lab01:06:06 - Evo201:07:08 - Figure AI Helix01:11:37 - Raciocínio Latente Recorrente01:14:47 - LLaDA01:19:35 - Obrigado!

    Ainda não estuda com a gente?

    Invista na transformação da sua carreira!

    Comece agora
  • Gestão & Negócios

    Compliance: guia prático de implementação

    Neste vídeo, Sérgio Carvalho apresenta um guia prático de implementação de um programa de compliance. E você deve estar se perguntando: será que esse guia serve para minha empresa, que não é considerada grande? Será que terei os recursos necessários para fazer a implementação? A resposta está neste Alura+! Sérgio explica como implementar um Programa de Compliance sólido e eficiente, com dicas práticas de como começar hoje mesmo, em 10 passos. O desafio aqui é desmistificar a ideia de que Compliance serve para apenas algumas empresas e que é muito complexo colocá-lo em prática. Para que você possa se aprofundar no tema, seguem links de conteúdos complementares: **Formações:** - [Formação em Governança Corporativa]( traz conhecimentos sobre os principais aspectos para tomar decisões com responsabilidade, transparência, prestação de contas e tratamento equitativo para todas as pessoas envolvidas em um determinado contexto. - [Formação RH 4.0: Digital Agile & Transforming Business Partner]( compartilha conhecimentos sobre atuação do RH diante das novas tecnologias. - [Formação Certificação PMP e CAPM do PMI]( traz informações sobre gerenciamento de projetos desde a fase inicial. - [Formação Inovação para líderes]( compartilha aprendizados para aprimorar a gestão da equipe, tomada de decisões e desenvolvimento das pessoas. **Cursos:** - [Curso LGPD: conhecendo e entendendo seus impactos]( traz informações sobre os conceitos e princípios iniciais da Lei Geral de Proteção de Dados. - [Curso Compliance: Destaque sua empresa no mercado]( da Alura. **Artigos:** - [Artigo: Por que você precisa conhecer os principais tipos de Compliance]( traz conteúdos sobre como proteger a empresa, o que é compliance, porque é importante ter um programa de compliance e seus principais tipo. - [Artigo Ética profissional: como lidar com esse dilema?]( com informações sobre a conceituação de ética e como aplicá-la no dia-a-dia de trabalho, com enfoque na área de TI.

  • SOS Rio Grande do Sul – Hipsters Ponto Tech #410

    Hoje o papo é sobre solidariedade. Neste episódio, conversamos sobre a situação de emergência no Rio Grande do Sul. A discussão incluiu as formas mais eficientes de apoiar, as iniciativas que estão fazendo a diferença e, também, o que não fazer em um momento tão delicado em que a informação certa ou errada pode mudar tudo. Vem ver quem participou desse papo: Paulo Silveira, o host que espera que possa ajudar mais Aline Roque, Head da Escola de Gestão e Marketing da Alura Natália Leal, Jornalista e CEO da Agência Lupa Jaydson Gomes, Cofundador da On2 & Cofundador da BrazilJS Rafael Korman, Professor do Tecnopuc Links:  SOS RS Airtable SOS RS Lupa.news SIMERS – Sindicato Médico do Rio Grande do Sul Grêmio Náutico União Para Quem Doar CUFA – Central Única das Favelas ICF – Instituto Cultural Floresta Projeção mostra a ‘mancha’ de inundação do RS sobre as 10 maiores capitais do Brasil Quer ajudar? As principais demandas neste momento são: alimentos não perecíveis, proteína enlatada (sardinha, atum, etc), leite, água potável, artigos de higiene (absorventes, escovas de dentes, kits para banho, etc), cobertores, roupas infantis, roupas íntimas, produtos de limpeza, ração para cães e gatos resgatados. Quem está em Porto Alegre em parte não atingida, pode ajudar com: lanternas, baldes, vassouras, luvas e papel toalha intervalado. Esses itens necessários em menor quantidade. Verifique necessidades do abrigo antes de doar. Para saber das demandas atualizadas em Porto Alegre e região, acesse:  Itens físicos podem ser enviados para:  SIMERS: Rua Coronel Corte Real, 975 – Petrópolis, Porto Alegre – RS, 90630-080 Grêmio Náutico União: R. Quintino Bocaiúva, 500 – Moinhos de Vento, Porto Alegre – RS, 90440-050 Recados finais (e não menos importantes): Atente-se para não compartilhar notícias falsas. Considere a fonte e lembre-se: na dúvida, pode ser mais útil não passar algo impreciso à frente. Não tire fotos ou faça filmagens das pessoas nos abrigos. Isso afeta a segurança, além de expor essas pessoas. Produção e conteúdo: Alura Cursos de Tecnologia –  Edição e sonorização: Rede Gigahertz de Podcasts

  • Gestão & Negócios

    Compliance: adaptações e impactos no contexto brasileiro

    Neste vídeo, Sergio Carvalho apresenta as principais consequências da Operação Lava Jato sobre o estudo e desenvolvimento do compliance no Brasil. Você pode se perguntar se houve algum impacto importante para o compliance após a operação, ou se os resultados alcançados seriam os mesmos se não tivesse ocorrido a operação. A resposta para estas e outras questões está neste Alura+! Sergio demonstra de forma cronológica quais foram os desdobramentos empresariais e qual deles foi o mais importante para o momento atual. Através de uma análise técnica observamos os efeitos da Lava Jato e como isso pode ser utilizado no dia a dia. Para que você possa se aprofundar no tema, seguem links de conteúdos complementares: **Referências:** - [Lei Anticorrupção 12.864 de agosto de 2013]( - [Código Penal]( - [Lei 9.613, de 3 de março de de 1998 — Definição do crime de Lavagem de Dinheiro]( **Formações:** - [Formação em Governança Corporativa]( traz conhecimentos sobre os principais aspectos para tomar decisões com responsabilidade, transparência, prestação de contas e tratamento equitativo para todas as pessoas envolvidas em um determinado contexto. - [Formação RH 4.0: Digital Agile & Transforming Business Partner]( compartilha conhecimentos sobre atuação do RH diante das novas tecnologias. - [Formação Certificação PMP e CAPM do PMI]( traz informações sobre gerenciamento de projetos desde a fase inicial. - [Formação Inovação para líderes]( compartilha aprendizados para aprimorar a gestão da equipe, tomada de decisões e desenvolvimento das pessoas. **Cursos:** - [Curso LGPD: conhecendo e entendendo seus impactos]( traz informações sobre os conceitos e princípios iniciais da Lei Geral de Proteção de Dados. - [Curso Compliance: Destaque sua empresa no mercado]( da Alura. **Artigos:** - [Artigo: Por que você precisa conhecer os principais tipos de Compliance]( traz conteúdos sobre como proteger a empresa, o que é compliance, porque é importante ter um programa de compliance e seus principais tipo. - [Artigo Ética profissional: como lidar com esse dilema?]( com informações sobre a conceituação de ética e como aplicá-la no dia-a-dia de trabalho, com enfoque na área de TI.

  • Back-end

    Empresas que aprendem

    Você sabe qual o papel do aprendizado dentro de uma organização? **O aprendizado organizacional promove tanto a adaptação às mudanças quanto o crescimento da empresa**. Mas você tem ideia de como isso pode ser feito? Neste Alura+, Priscila Stuani fala sobre qual é o papel da organização no processo de aprendizado dos seus profissionais. As organizações possuem responsabilidades no processo de aprendizado de seus colaboradores e colaboradoras. Uma das formas de atuar nesse sentido é fomentar algumas competências, como o pensamento sistêmico, o domínio pessoal, trabalhar modelos mentais, construir uma visão compartilhada, aprendizagem em equipe, e reconhecer os padrões de interação que dificultam este aprendizado, além de estimular as tecnologias componentes. **Algumas estratégias que podem ser tomadas são: ouvir novas propostas, permitir o crescimento profissional das pessoas e incentivar interações!** Está afim de ser uma empresa que aprende? Confira as sugestões abaixo: **Cursos**: - [Aprender a Aprender: Técnicas para seu autodesenvolvimento]( Para conhecer os estilos de aprendizagem, criar rotinas produtivas e usar ferramentas para uma aprendizagem de alta performance. - [Desenvolvimento de Carreira: A demanda do mercado]( Para conhecer as principais estratégias para direcionar sua carreira. - [Alavancas de gestão do conhecimento: Aprendizagem e produtividade]( Para conhecer as cinco disciplinas propostas por Peter Senge para estruturar o processo de aprendizagem e produtividade contínua organizacional. **Podcast**: - [Cultura de Aprendizado]( **Artigo**: - [O dia a dia do profissional que aprende]( Vem **Inovar** com a gente! _____ # Transcrição Olá, eu sou **Priscila Stuani**, instrutora da Alura, e hoje vamos falar sobre as empresas que aprendem. Vamos entender qual é o papel da organização no processo de aprendizagem dos seus profissionais. Para exemplificar essa questão, vamos apresentar a **Bytebank**. Imaginemos que ela é composta por várias equipes multidisciplinares, com diversas áreas dentro da organização. Neste caso, destacaremos a área de **tecnologia da informação**. Existem várias pessoas dentro da equipe com diferentes perfis profissionais, desde aquelas em seu primeiro emprego até outras que já estão no mercado há algum tempo. O que essas pessoas têm em comum? Se a sua resposta for **desenvolver novos conhecimentos na área de programação**, faz todo sentido. Afinal, precisamos contar com alguns apoios dentro da organização. Na Bytebank, por exemplo, existe a Maria, responsável pela área de treinamento e desenvolvimento. Em outras organizações, pode ser um líder ou uma líder que exerce esse papel de acompanhar as demandas que as equipes precisam suprir em relação aos treinamentos. Maria recebe muitas demandas durante o dia, pois são várias áreas, e dentro da área de tecnologia da informação, há várias equipes que precisam desse apoio. Isso começou a gerar uma certa sensação de: > "Como acompanhar todos esses avanços para apoiar o constante processo de aprendizado das equipes?" Nesse caso, trabalharemos com a perspectiva de que existem vários profissionais que investem esforço individual e até financeiro em suas carreiras, fazendo especializações, o que é fantástico e faz todo sentido, pois acreditamos que o aprendizado é o melhor investimento que podemos fazer. Mas, e as empresas? As empresas também têm responsabilidade nesse processo. Mas como podem apoiar esses profissionais? Uma dica interessante é fomentar algumas **tecnologias componentes**, ou seja, gerar inovação para as organizações que aprendem. Profissionais que têm respostas rápidas, conseguem resolver problemas complexos em um curto período de tempo e são mais assertivos nas iniciativas acabam impactando positivamente a inovação da empresa. Para entender como tudo isso pode funcionar, é importante falar das tecnologias componentes. Quando bem integradas, elas fomentam o aprendizado nas organizações. A ideia é não focar apenas em separar um dia para deslocar a equipe para fazer um curso, que sabemos ser importante e muitas vezes ajuda a resolver situações pontuais. Quando falamos de empresas que aprendem, é importante colocar isso no DNA da organização, para que o processo flua de forma mais orgânica, e que as trocas e a forma como as pessoas interagem para resolver questões pendentes possam fluir de maneira mais tranquila e orgânica. Vamos falar de algumas competências que a organização precisa ter. ## Pensamento sistêmico A primeira delas é o pensamento sistêmico, cuja raiz está na ideia de que cada parte do sistema influencia o todo. Quando temos um problema em nosso coração, não é somente ele que fica doente; podemos comprometer outros órgãos. Quando falamos de "sistêmico", é quando algo é constituído por um conjunto de partes que se influenciam mutuamente. Na organização, quando temos um pensamento sistêmico bem alinhado, as equipes passam a trabalhar de forma mais produtiva e efetiva. A criatividade e a resolução de problemas complexos podem surgir de maneira mais natural. Fomentamos a troca de ideias e experiências, contribuindo para o processo de aprendizado contínuo das pessoas. ## Domínio pessoal Outra competência a compartilhar é o domínio pessoal. A expressão "domínio pessoal" pode sugerir controle sobre pessoas e coisas, além de um certo nível de proficiência na questão em que estamos atuando. No contexto das empresas que aprendem, pessoas com alto nível de domínio pessoal têm conquistas como concretizar resultados importantes e comprometer-se com seu aprendizado. Existe uma automotivação, uma energia que nos move para atingir o objetivo esperado. Gosto muito da frase de Peter Senge que diz o seguinte: > "**Domínio pessoal** é a disciplina de continuamente esclarecer e aprofundar na sua **visão pessoal**, de concentrar nossas energias no que realmente é importante, de desenvolver paciência e de ver a realidade objetivamente." > > **Peter Senge** Quantas vezes nos deparamos com situações que fogem do nosso controle e focamos apenas no problema, em vez de buscar soluções? Muitas vezes, buscamos culpados em vez de criar meios para resolver a situação e, em outros momentos, antever falhas para evitar perda de tempo, investimento e emoções. Domínio pessoal é uma característica fundamental que precisamos desenvolver. Na Bytebank, nem sempre foi assim. Quando não temos domínio pessoal, geramos poucos estímulos para o aprendizado das pessoas e desperdiçamos recursos. O que podemos fazer para evitar esse contexto? Podemos levantar o que tem sido feito para garantir que as pessoas na organização desenvolvam e apliquem esse domínio pessoal. Como fazemos isso? **Conversando**. Isso deve fazer parte da cultura organizacional, com um trabalho de comunicação onde as pessoas se conscientizem da importância do domínio pessoal, seus ganhos e como desenvolver essa competência. Além disso, precisamos trabalhar a questão dos modelos mentais. ## Modelos mentais Se pautamos nossas ações apenas em pressupostos arraigados, fazemos generalizações e criamos imagens que influenciam nossa forma de ver e agir, muitas vezes sem consciência, agimos no piloto automático. Este vídeo é um convite para revermos nossos modelos mentais e como reagimos diante de problemas. Quando somos contrariados, como reagimos? Talvez isso esteja ligado a esses pressupostos. É importante entender que isso faz parte do processo que passamos durante a vida, construindo essas referências. No trabalho em equipe e desenvolvimento pessoal, precisamos dar um passo atrás e ver quais são essas influências e o impacto negativo que podem ter em nossa forma de trabalhar e ser como um todo. > "O trabalho com modelos mentais começa por virar o espelho para dentro; **aprender a desenvolver nossas imagens internas do mundo** e levá-las à superfície sobre uma rigorosa análise." > > **Peter Senge** Uma das frases de Peter Senge que mais me impacta é justamente essa. É um processo contínuo, precisamos olhar para dentro para ver como estamos expondo tudo isso. Isso inclui promover conversas ricas em aprendizagem, indagações e argumentações. A ideia da Bytebank é fazer com que seus profissionais extrapolem a visão do óbvio. Sei que o óbvio é relativo, mas quando começamos a propor ideias e fazer coisas de modo diferente para verificar quais os resultados, promovemos a inovação. Falo de inovação não no sentido de tornar a empresa a grande startup do mundo, mas de ações do dia a dia que trazem impacto, ajudam a ganhar produtividade, efetividade, assertividade e um diferencial competitivo mais claro. São ações que podem parecer muito simples, mas são efetivas. ## Construção de uma visão compartilhada A construção de uma visão compartilhada precisa fazer parte do DNA da Bytebank. Vamos além da missão da empresa, internalizando missão, visão e valores para criar identificação e pertencimento ao ambiente. Quando falamos de visão compartilhada, como as pessoas estão vendo tudo isso? Trata-se de uma visão genuína sobre a empresa, essencialmente verdadeira, para evitar a impressão de que a missão no quadro da parede não corresponde à prática. O mercado está seletivo, e os profissionais também. As pessoas dão tudo de si e aprendem não só por obrigação, mas porque querem, vendo os efeitos no dia a dia e como o trabalho pode ser mais leve, sem desespero diante de problemas. A colaboração e a visão compartilhada são fundamentais nesse processo. Quando falamos de aprendizado, não há espaço para visões pessoais. Não é sobre fazer um curso porque o chefe mandou, mas sim sobre agir em função de uma visão compartilhada. Mais uma frase de Peter Senge: > "A prática da visão compartilhada envolve habilidades de descobrir 'imagens do futuro' compartilhadas que estimulem o compromisso genuíno e o envolvimento, em lugar de mera aceitação." > > **Peter Senge** As pessoas estão mais seletivas, buscando algo que faça sentido para elas. Estamos evoluindo para um patamar onde não fazemos algo apenas porque foi mandado, mas porque vemos sentido e importância, empenhando-nos para realizar a tarefa. Ao dominar essa disciplina, a liderança aprende como é contraproducente tentar ditar uma visão, por melhores que sejam suas intenções. A ideia não é julgar valores, mas reconhecer que a pessoa em liderança pode ter arraigado muitas coisas que desviam da cultura que promove o aprendizado na organização. É importante que a liderança esteja em constante auto-observação, observando também a equipe, estabelecendo relações saudáveis pautadas na confiança, para que o aprendizado surja de maneira mais tranquila, suave e real. ## Aprendizagem em equipe A aprendizagem em equipe também faz parte desse contexto. Quando compartilhamos experiências, aumentamos as chances de construir novos repertórios baseados nessas experiências, atingindo objetivos e sendo mais efetivos nas ações. Sentimos a sensação de triunfo ao resolver problemas, seja individualmente ou em equipe. Como estimular a disciplina da aprendizagem em equipes? Sabemos que enfrentamos vários desafios no dia a dia, mas basicamente é conversando, ou seja, a capacidade dos membros de deixarem de lado ideias pré-concebidas e participarem de um verdadeiro pensar em conjunto. Trazemos a conversa para um nível de racionalidade, concentrando atenções em resolver problemas ou pensar em meios de evitá-los futuramente. Reconhecer padrões de interação que dificultam a aprendizagem da equipe também precisa estar no radar, seja para quem exerce liderança ou atua em desenvolvimento e treinamento. Quando percebemos que algo está emperrado, já passamos todas as referências, trocamos ideias e as coisas não avançam, talvez seja um mecanismo de defesa, uma resistência ao novo. Sabemos que isso é um processo natural. Quando alguém diz "sempre foi assim", precisamos ter cuidado e carinho ao tratar questões sensíveis, desbravando pensamentos e modelos mentais arraigados, mas através de comunicação acolhedora, apresentando vantagens e ganhos, trazendo a pessoa para perto de nós. Além disso, promovemos a busca por ideias ou identificamos problemas e, de forma conjunta, conseguimos promover soluções efetivas. Vejamos a seguinte frase: > "Para concretizar seu potencial, o pensamento sistêmico também precisa das disciplinas de construção de uma visão compartilhada, modelos mentais, aprendizagem em equipe e domínio pessoal." > > **Peter Senge** O que a Bytebank ganha com tudo isso? Ao construir uma visão compartilhada, estimulamos o compromisso a longo prazo, fazendo com que as pessoas vejam o sentido do trabalho delas. Os modelos mentais contribuem para revelar limitações em nossas formas atuais de ver o mundo. A ideia não é dizer que alguém está errado, mas trazer a pessoa para perto, apresentando benefícios, ganhos e vantagens, para que ela perceba além da visão que tem, que pode ser limitada, e comece a perceber o sentido do trabalho que estamos fazendo. Pode ser um processo lento, pois trata-se de crenças pessoais, mas o trabalho precisa ser constante, pois os ganhos podem ser surpreendentes. Quando falamos de domínio pessoal, ele é responsável pela motivação pessoal de aprender continuamente como nossas ações afetam o mundo. Chamamos a responsabilidade para nós, sem terceirizar a responsabilidade dos nossos problemas. Isso pode ameaçar a visão sistêmica, tão importante na cultura de uma empresa. ## Aprendizado organizacional Quando falamos de aprendizado organizacional, lembramos que ele promove o crescimento da organização como um todo, contribui para a adaptação do negócio às mudanças, e os líderes têm papel fundamental na criação de condições que promovam esse aprendizado. Precisa ser algo sistêmico, de dentro para fora, para que as pessoas vejam que faz sentido e que todos estão envolvidos. Como podemos fazer isso? * Ouça novas propostas * Permita a apresentação de novas ideias, tenha disposição para compartilhar e acolher experiências; * Promova rodas de conversa * Concretização. Tudo que fica no campo das ideias não é efetivo, então talvez precisemos fazer adaptações, consultar outras áreas e responsáveis para implementar, mas esse é o processo, a dinâmica do jogo. **Permita o crescimento profissional das pessoas**, estimule e facilite a aquisição de competências, ofereça autonomia para que se desenvolvam. Proporcione um ambiente para treinar competências. **Incentive interações**, pois a lenda de que profissionais focados em suas tarefas são mais produtivos pode não ser verdade. A interação entre a equipe é importante para que o conhecimento seja transmitido corretamente. Pense em plataformas para troca de ideias entre as pessoas. **Aceite que o fracasso faz parte do crescimento**. Atenção a esse ponto, pois falamos de recursos financeiros, tempo e profissionais envolvidos. Trabalhamos na intenção de acertar, mas sabemos que nem tudo sairá perfeito. Aceitar que isso faz parte do processo de aprendizagem é fundamental. Algumas iniciativas podem não funcionar, trazendo consequências como demissão ou desconto no salário, mas isso não é rotina em empresas preocupadas em fomentar o aprendizado. Reconhecer quando as coisas não vão bem evita desperdícios de recursos. Precisamos ter domínio pessoal e entender que as coisas não saíram como esperado, e isso é natural. Na próxima vez, o que podemos fazer para evitar isso? Lembre-se, domínio pessoal é a chave. A aprendizagem organizacional permite que as pessoas participem mais ativamente. Esse é o ambiente que criaremos para que os profissionais façam parte do dia a dia da organização e promovam essas iniciativas!

  • Back-end

    Como usar ChatGPT para Gestão Ágil

    Neste Alura+, Daniela Soares, monitora na Alura, explica como utilizar a inteligência artificial do ChatGPT para **impulsionar a gestão ágil** em sua organização. Por meio dessa poderosa ferramenta, você aprenderá passo a passo como analisar dados para: * Construir personas; * Analisar ciclo de vida do produto. Você conhecerá como extrair informações valiosas dos dados disponíveis para criar personas detalhadas, que representem os diferentes perfis de consumidores. Com a ajuda do ChatGPT, você pode interpretar os dados de forma mais eficiente e identificar áreas de melhoria para impulsionar a experiência do cliente, além de descobrir como o ChatGPT pode ajudar na análise do ciclo de vida do seu produto! Bateu a curiosidade? Ao longo deste vídeo, você aprenderá a aplicar o ChatGPT para impulsionar a gestão ágil, transformando dados em insights. E para você se aprofundar no tema, confira: * [Artigo ChatGPT: o que é, como usar e dicas de comandos para o dia a dia]( * [Artigo Quais são os 4 tipos de aprendizagem na IA, algoritmos e usos no dia a dia]( * [Curso ChatGPT: otimizando a qualidade dos resultados]( # Transcrição É comum que, navegando na internet, nos deparemos com manchetes como esta: > **"Conheça as 10 profissões que serão substituídas pela inteligência artificial."** É um título um tanto dramático, não? Será que esse receio tem fundamento? Faz sentido construir um título dessa forma? É pensando em questões como essa que vamos explorar como o **ChatGPT** pode nos auxiliar nas **funções de gestão ágil** das pessoas que atuam como gerentes ágeis ou com agilidade de forma geral. Quando falamos de inteligência artificial, precisamos compreender um ponto: assim como outros avanços tecnológicos e inovações, a IA serve como **complemento às nossas funções e tarefas**, principalmente aquelas que podem ser **automatizadas**. Dessa forma, economizamos esforço humano em atividades repetitivas, tornando nossa experiência profissional mais gratificante. Vamos explorar como utilizar o ChatGPT como um **potencial colaborador** para nossas funções. Vamos ver como podemos construir uma *persona* e também avaliar o ciclo de vida de um produto. Para quem não sabe o que é ou nunca utilizou o ChatGPT,, não há problema. Disponibilizaremos vários conteúdos na descrição do vídeo para acesso posterior. Estamos utilizando a versão **3.5** do ChatGPT, que é gratuita. Um detalhe importante: **não compartilhe informações sensíveis com o GPT**. Utilizaremos dados fictícios para demonstrar o processo de construção da *persona*. Mas por que criar a *persona* é importante para a gestão ágil? Porque a *persona*, essa representação ideal do cliente, nos ajuda a compreender e **atender às necessidades dos clientes**. ## Construindo personas no ChatGPT Vamos começar perguntando ao ChatGPT o que é uma *persona*. A resposta é que uma *persona* é uma representação fictícia de um público-alvo ou de um cliente ideal. Ele fornece uma resposta bastante extensa. Em seguida, forneceremos algumas informações sobre o papel que ocupamos na equipe e o tipo de serviço ou produto que oferecemos. Por exemplo, escreveremos: > "Sou um gerente ágil e estou trabalhando com um aplicativo de *e-learning* para pessoas que desejam aprimorar seu currículo de forma flexível". O ChatGPT pode demorar um pouco para responder, pois é a versão gratuita. Ele sugere que definamos nossas *personas* criando personagens que representem nossos usuários-alvo e estabelecendo a história dos usuários. Não é exatamente o que gostaríamos que ele respondesse, mas deixamos que ele termine a resposta. Informaremos que temos **dados sobre os usuários do aplicativo** e pedimos que ele sugira algumas *personas* com base nesses dados. Após enviar os dados fictícios, ele começa a analisar informações como **idade**, **interesses** e **formação acadêmica**. Ele faz um resumo e, em seguida, pedimos que ele identifique **padrões nos dados fornecidos**. A resposta inclui **relação entre tecnologia e áreas de interesse**, **diversidade de formações acadêmicas**, **conexão entre interesses** e **objetivos profissionais**, e variedade de hobbies. Após esse processo, pedimos que ele sugira algumas *personas* que poderíamos construir a partir desses dados. Ele sugere cinco *personas*: > **Amanda**, a designer inovadora; > > **Lucas**, o desenvolvedor ágil; > > **Gabriela**, a gerente de projetos de TI; > > **Rafael**, o especialista em inteligência artificial; > > **Carolina**, a profissional de marketing digital. Pedimos que ele refaça as sugestões para ver se há variações. Ele modifica algumas informações, sugerindo, por exemplo, a *persona* Beatriz, a *Tech Enthusiast* (entusiasta de tecnologia), que não havíamos mencionado. É importante **não confiar 100% no GPT**, mas sim aloinhar o que você já conhece da sua profissão com o que ele pode te ajudar no dia a dia. Voltamos à resposta inicial e escolhemos a *persona* **Lucas, o desenvolvedor ágil**, para explorar mais. Ele detalha motivações, desafios e objetivos do Lucas com o aplicativo. Por exemplo, Lucas é **apaixonado por tecnologia** e tem **forte interesse em métodos ágeis**. Ele pode enfrentar desafios ao implementar práticas ágeis em sua equipe ou organização. O ChatGPT retorna inclusive recomendações para o aplicativo de e-learning, algo que não solicitamos. Pedimos que ele refaça as sugestões de *personas* com base em critérios estabelecidos: **aprimorar habilidades**, **rotinas saudáveis de estudo** e **sentir-se representado**. Com base nesses critérios, ele sugere novas *personas*: > **Sofia**, a jovem profissional ambiciosa; > > **Matheus**, o estudante determinado; > > **Carla**, a profissional em transição de carreira; > > **André**, o empreendedor criativo; > > **Isabela**, a profissional multitarefa. Pedimos que ele organize as sugestões em **ordem de prioridade** considerando os critérios que citamos anteriormente, algo que não alterará muito a configuração. Utilizamos um comando de texto para o ChatGPT, mas se tivermos uma **tabela no Excel**, podemos copiar todo o conteúdo e colar no GPT. ## Ciclo de vida de um produto Após a construção da *persona*, analisamos o **ciclo de vida de um produto**, utilizando o mesmo aplicativo de *e-learning*. Perguntamos ao ChatGPT o que é ciclo de vida do produto. Ele explica que é uma representação dos estágios pelos quais um produto passa desde a introdução no mercado até a retirada. Os estágios são: **introdução**, **crescimento**, **maturidade** e **declínio**. É importante que uma pessoa que trabalha com gestão ágil saiba identificar o ciclo de vida do produto em que está inserida para pensar **estratégias e investimentos adequados** para a fase em que o produto se encontra. Nesse caso, identificamos que estamos com **crescimento de assinaturas**, **forte concorrência** e **lucro crescente.** Com base nessas informações, o ChatGPT analisa e identifica que estamos no **início do estágio de crescimento** ou no **ponto intermediário**. Perguntamos quais **estratégias** podemos utilizar na fase de crescimento. Ele sugere **marketing intensivo**, **expansão para novos mercados**, **melhoria contínua do produto**, **aumento da oferta de valor**, **parcerias estratégicas**, **monitoramento dos concorrentes** e **fortalecimento do relacionamento com os usuários**. Após conferir as estratégias, pedimos que ele organize de acordo com critérios anteriores. > Critério 1: **aprimorar habilidades** > > Critério 2: **rotinas saudáveis de estudo** > > Critério 3: **sentir-se representado** Como retorno, ele organiza os critérios e as estratégias que fazem parte desse critério. Vamos pedir para que as estratégias sejam organizadas em uma tabela. | Critério | Estratégias | |------------------------------------------|-------------------------------------------------| | Critério 1: Aprimorar habilidades | - Melhoria contínua do produto | | | - Expansão para novos mercados | | Critério 2: Rotinas saudáveis de estudo | - Fortalecimento do relacionamento com os usuários | | | - Aumento da oferta de valor | | Critério 3: Sentir-se representado | - Parcerias estratégicas | | | - Marketing intensivo | ## Impacto das IAs na gestão ágil Após utilizar o ChatGPT para **analisar dados**, seja para criar uma *persona* ou identificar o ciclo de vida do produto, podemos nos perguntar como a IA impactará nosso trabalho como gerentes ágeis. O ChatGPT, assim como outras IAs, pode colaborar com nossas funções na gestão ágil, economizando tempo na busca de informações e tornando a tomada de decisões mais eficiente, possibilitando entregar mais valor aos clientes e *stakeholders*. Assim como o Trello, Jira ou Notion, o ChatGPT pode fazer parte do nosso dia a dia e auxiliar nas funções e tarefas como gestores ágeis. Além da análise de dados, o GPT e outras IAs podem auxiliar na melhoria contínua do produto ou serviço e no gerenciamento do projeto. Se ainda não utilizao GPT, você pode replicar os casos apresentados aqui com dados fictícios e conferir as respostas. Sinta-se à vontade para compartilhar ideias e expectativas sobre inteligência artificial no Discord Alura e conectar-se com outros alunos e alunas. Nos vemos em breve!

  • DevOps

    Shift Left em DevOps

    Geralmente em processos de desenvolvimento de software as atividades de **testes**, **segurança** e **deploy** são deixadas para o final, causando assim gargalos, bloqueios e dificuldades em se finalizar os ciclos de desenvolvimento e entrega de software. **Shift Left** é uma prática que consiste em **deslocar** para a **esquerda** tais atividades, que normalmente estão mais à direita no processo, para que assim desde o **ínicio** de cada ciclo elas possam ser discutidas e planejadas, evitando problemas e acelerando a entrega de software. --- # Transcrição Olá, tudo bem? Meu nome é **Rodrigo Ferreira**, sou um dos instrutores da Alura, da Escola de Programação e DevOps. > **Audiodescrição:** Rodrigo Ferreira é uma pessoa de pele clara, com olhos castanhos e cabelos também castanhos e lisos. Usa uma camiseta cinza lisa. No fiundo, uma luz LED verde ilumina uma parede com redes de gatos. Hoje, aprenderemos sobre ***Shift Left***. Vamos lá? > **Audiodescrição:** Abertura do Alura +. No fundo toca uma música animada. Sobre um fundo azul, as palavras "Mergulhe", "em", "tecnologia" piscam na tela. Depois aparece a logo do Alura+. Quando a abertura termina, a câmera do Rodrigo está no canto inferior esquerdo e, no centro da tela, temos "Shift Left" escrito em azul-claro sob o fundo azul-marinho. ## Metodologias ágeis e o trabalho como dev Talvez esse termo não seja familiar, mas é **muito utilizado** por pessoas que trabalham com **DevOps** e **metodologias ágeis**. Entenderemos melhor o que ele significa e como pode nos ajudar. Se trabalhamos em uma empresa de desenvolvimento de software, é comum fazermos **parte de um time**. Desenvolver software não é apenas escrever código, tornou-se uma tarefa complexa que envolve várias etapas e pessoas. Antigamente, o **modelo Cascata**, uma abordagem comum para organizar o desenvolvimento de software, como podemos observar na imagem a seguir: ![Diagrama de fluxo simples do processo de desenvolvimento de software com cinco etapas sequenciais conectadas por setas na direção da esquerda para a direita: PLANEJAMENTO (roxo claro), ANÁLISE (azul claro), CODIFICAÇÃO (verde claro), TESTES (amarelo claro), e DEPLOY (rosa claro).]( Era uma abordagem comum para organizar o desenvolvimento de software. Esse modelo incluía etapas como: * Planejamento, * Análise * Codificação * Testes * Deploy Com o deploy, a aplicação era liberada para o acesso das pessoas usuárias terem acesso. Entretanto, esse processo tinha **problemas**, percebidos ao longo dos anos. Por isso, com o tempo, surgiram **novas abordagens**, como o **manifesto ágil e as metodologias ágeis**, amplamente utilizadas hoje. No entanto, mesmo com metodologias ágeis, como o Scrum, **ainda precisamos realizar atividades do modelo cascata**, mas aconteciam durante as sprints (ciclos de desenvolvimento). Dependendo da empresa e do projeto, pode haver etapas adicionais, como **segurança**, onde são realizados testes para garantir a segurança da aplicação. Em outros casos, pode ser que uma das etapas sejam substituídas ou não realizadas. Mesmo com metodologias ágeis, **ainda precisamos dividir tarefas e perfis**. É comum trabalharmos em times com pessoas em diferentes papéis, como codificadoras e testadoras. ### Desafios da metodologia ágil Esse tipo de ambiente, com separação de atividades, pode levar a **problemas**, mesmo em ambientes ágeis. Um problema comum é a **criação de barreiras** entre responsabilidades e papéis, que ficam com pessoas ou times diferentes, resultando em silos e **isolamento**, ao invés de colaboração. ![Diagrama anterior, mas com linhas verticais grossas na cor preta separando e isolando cada processo.]( Isso pode causar **problemas**, especialmente nas **últimas etapas do processo**, como testes e *deploy*. Um dos problemas é a **espera**. As etapas finais, como *deploy*, só são executadas no final, deixando as pessoas responsáveis por essas etapas ociosas. Outro problema é o **travamento**, porque as atividades são realizadas em ciclos. As pessoas responsáveis pelas últimas tarefas vão receber o projeito no final do ciclo, resultando em **sobrecarga de trabalho e atrito entre as pessoas**. As pessoas do final do processo precisam fazer horas extras para conseguir cumprir sua etapa antes do final do ciclo para entregarem sua parte, ampliando as chances de tensão entre os times do final do processo com os times do começo. > **Problemas** > > * Espera > * Gargalo > * Sobrecarga de trabalho > * Atrito entre as pessoas/times Consequentemente, esses problemas podem gerar conflitos entre times, e eu trouxe uma imagem engraçada que representa essa situação, como um cachorro e um gato brigando: ![Fotografia colorida editada para fins de humor. Na fotografia, um cachorro está com uma postura tensa e raivosa, à esquerda, mostrando os dentes para um gato a sua frente, indicando que pudesse estar rosnando. O gato, também está com uma postura bastante raivosa e parece rosnar para o cachorro. Além disso, a imagem foi capturada quando o gato estava prestes a dar uma patada no cachorro. Para fins de humor, adicionarem uma garrafa na pata do gato que bateria no cachorro. Essa cena está acontecendo em uma praia rochosa. Na parte de baixo da foto, está escrito "Devs vs Ops", como se o cachorro representasse o time de Devs e o gato representasse o time de Operações.]( Isso costuma acontecer com os times de desenvolvimento e operações, mas pode acontecer com outros times também, como programação e testes. A considerada demora da entregam o que pode levar a discussões e brigas, **criando mais barreiras entre os times**. ### Solucionando atritos com Shift Left Se identificamos essa situação em nossa empresa, onde as pessoas do final do processo estão sobrecarregadas, podemos minimizar esses problemas com o conceito de **Shift Left**. O termo "Shift" pode lembrar a tecla de mesmo nome, mas não se trata disso, e sim de um **conceito**. A ideia é **deslocar as últimas etapas do processo**, como testes, segurança e *deploy*, **para a esquerda**, ou seja, para o **início do processo**. Por isso "**Shift Left**" (Deslocar para esquerda). Por exemplo, pode-se discutir desde o início quais serão os testes aplicados e, dependendo da implementação, como de testes automatizados, também pode ser iniciado. O Mesmo funciona para o *deploy*. Pode-se discutir se será necessária alguma estrutura, como firewall ou servidor, e antecipar alguns processos. Isso significa **planejar e discutir essas etapas desde o início**, evitando problemas e retrabalho. Ao aplicar o Shift Left, promovemos a **colaboração** entre os times, eliminando conflitos e melhorando o planejamento. Isso evita travamentos e sobrecarga nas etapas finais, agilizando a entrega do software e evitando retrabalho. **Vantagens do Shift Left:** * Colaboração entre pessoas/times * Planejamento prévio das etapas de teste, segurança e entrega * Evita travamentos no processo de desenvolvimento * Agiliza a entrega do software * Evita retrabalho Essas são as vantagens de utilizar a prática do Shift Left. Se ainda não a utilizam, esperamos que esse conhecimento seja útil no seu dia a dia. Podemos aplicar essa ideia em times e empresas que estejam sofrendo com esses problemas de gargalos, retrabalhos e travamentos, deslocando as últimas etapas para a esquerda, **promovendo planejamento e colaboração**. Nos vemos em outros cursos e conteúdos da Alura. Obrigado por assistir. Um abraço!

  • 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.

  • Mobile

    Crie seu primeiro aplicativo de IA generativa no Android Studio

    Uma das maneiras de manter as pessoas usuárias cada vez mais em nossos aplicativos é fornecer **experiências mais ricas e personalizadas**. Nesse contexto, ter uma espécie de inteligência artificial que entenda o que a pessoa usuária está fazendo e seja capaz de interagir com ela é muito útil. Vamos começar a utilizar o *Gemini* dentro de nossos aplicativos e quem vai te acompanhar nessa jornada é o Junior Martins. > **Audiodescrição**: Junior é uma pessoa de pele clara, cabelos castanho-escuros compridos, que usa óculos com armação preta e também veste uma camiseta na cor preta. Ele está à frente de uma parede branca iluminada por luzes em degradê que vão do azul ao rosa. Durante esse conteúdo, queremos mostrar especificamente o que é o *Gemini*, que, caso você não conheça, é uma **ferramenta de inteligência artificial desenvolvida pelo Google** que, como eles mesmos comentam, foi desenvolvida para concorrer com o já conhecido *ChatGPT*. Ele faz parte de um modelo de inteligência artificial que são as IAs generativas onde podemos introduzir alguma informação, como um texto, uma imagem e ela será capaz de devolver mais informações. É muito comum, por exemplo, enviar um texto e pedir para ela resumir, criar uma história, gerar algum código, resolver algum problema ou mesmo passar alguma informação, como uma imagem, e pedir para ela trabalhar em cima disso. ## Explorando o Gemini do Google O *Gemini* é dividido em **três modelos principais**: temos o *Gemini Ultra*, uma versão muito mais potente, que geralmente é feita para rodar em servidores; o *Gemini Pro*, nas versões 1.0 e, mais recentemente 1.5, que é a versão que mais costumamos usar, mas ainda é uma versão que roda em servidores; e também o *Gemini Nano*, desenvolvido especialmente para rodar em dispositivos móveis, como smartphones. Na documentação do Google, eles explicam um pouco melhor o que é o *Gemini Nano*, dando uma introdução e explicando que ele está disponível apenas para alguns dispositivos. Se deslizarmos um pouco para baixo, no tópico “Benefícios da execução do dispositivo”, é comentado que essa versão roda diretamente no dispositivo, ou seja, ele não se conecta a nada para poder funcionar, tanto que temos o acesso offline de tudo que o *Gemini* é capaz. Mas, justamente por ele ter esse poder de processamento utilizando o próprio dispositivo como base, precisaremos ter alguns dispositivos muito potentes, com hardware muito bom, para poder rodar o *Gemini Nano*. E por isso que não vamos focar muito nele, afinal poucos dispositivos hoje em dia possuem essa versão. Dentro dessa própria documentação já é descrito que caso queiramos utilizar o *Gemini* em aplicativos, mas não tenhamos um desses dispositivos ou não queiramos focar especificamente no *Gemini Nano*, podemos utilizar a outra versão do *Gemini*, que é o *Gemini Pro*, dentro de nossos aplicativos. E por isso temos uma outra documentação com alguns exemplos de código. Se subirmos um pouco para o topo, teremos um cabeçalho semelhante àquele que já conferimos do *Gemini Nano*, mas com o título “Como usar a API Gemini em apps Android (SDK do cliente)”. Ou seja, podemos colocar um código dentro do nosso aplicativo que vai acessar o *Gemini* remotamente. Nesse caso, precisaremos fazer uma série de configurações que é descrita dentro dessa documentação, como por exemplo, fazer a configuração da chave da API, entender quais são os métodos que o *Gemini* traz para utilizar no Android. Essa é uma página dedicada a ensinar como podemos utilizar o *Gemini* através de APIs REST. Mas é descrito também que o próprio Google já preparou um *SDK* do *Gemini*, então podemos ir deslizando e conhecendo um pouco melhor desse *SDK*, com alguns códigos que funcionam de maneira mais simples, sem precisarmos de implementações tão complexas para poder começar. Mesmo assim, se continuarmos deslizando para baixo, veremos que alguns passos são necessários para poder utilizar o Gemini. Pensando nisso, o Google também tem trabalhado em um novo recurso dentro do próprio Android Studio, para facilitar nosso primeiro contato com o Gemini. Acessando a página do site Android Developers, acessaremos a aba “Desenvolver > Android Studio > Visualizar” e chegaremos à página “Criar seu primeiro app de IA generativa no Android Studio”. Aqui, temos a informação de que o Android Studio possui uma nova opção. ## Iniciando o projeto Se deslizarmos um pouco para conhecer, quando clicamos em “Criar um novo projeto”, aparecerá essa opção que é a Gemini API Starter. Se continuarmos deslizando para baixo, veremos algumas imagens, um passo a passo relativamente simples, sobre como utilizar essa função e quais são os passos que podemos seguir para continuar com ela. Porém, um detalhe que precisamos ficar atentos é sobre a **versão do Android Studio** em que essa função está disponível. Estamos com o Android Studio aberto, especificamente no Android Studio Koala 2024.1.1 Canary 3. É um número de versão bem grande, mas precisamos nos atentar de que essa nova opção que acabamos de visualizar na documentação só existe por enquanto nas **versões betas do Android Studio**. Vamos deixar especificamente essa versão para você poder fazer o download, e se quiser utilizar uma versão mais recente do Android Studio que esteja em beta, recomendamos que utilize a ferramenta Toolbox, que aparece no canto direito da tela. É uma ferramenta oficial da JetBrains, e recomendamos o uso dela. Pode ser que você tenha essa mesma versão, a Koala, instalada, mas que ela esteja em alguma versão futura, Canary 10, por exemplo, e ela não tem essa opção. Então, recomendo que você utilize o Toolbox, localize o Android Studio, clique nos três pontinhos verticais do lado direito dessa opção, clique em “Outras versões” no menu suspenso. Aqui dentro, você terá uma lista de versões. Geralmente esses recursos em teste beta costumam ficar nas versões Canary mais recentes. Por exemplo, temos a Koala nesse momento, mas um recurso que já esteve em versões anteriores, como, por exemplo, a Jellyfish 2023.3.1 Beta 2, mas que, por exemplo, nessa Jellyfish Beta 2, uma versão mais recente, não está mais presente. De qualquer maneira, repito que vamos deixar essa mesma exata versão para você poder fazer o uso. Com essa versão, quando clicamos em “New Project”, temos ali a opção Gemini API Starter, ou API Starter. Quando clicamos nessa opção, podemos perceber que ela está com uma tag de preview, que está em amarelo com texto preto no topo à direita. Essa tag vem sendo adicionada em recursos beta do Android Studio, então toda parte do Material Design, do Jetpack Compose, em algum momento esteve também com essa tag, e hoje em dia está de maneira oficial no próprio Android Studio. Então, pode ser que no futuro você não tenha mais essa tag, mas a opção já esteja ali nativamente. Podemos clicar no botão “Next”, e vamos seguir então com a criação de um projeto comum. Podemos, por exemplo, definir um nome, que vamos deixar como “GenIA”, e vamos deixar o pacote com com.alura.genia, que é a nossa Generate AI. Não precisamos alterar nenhum outro parâmetro. Vamos deixar a opção de Kotlin DSL como está e clicar no botão “Next”, e aqui tem um detalhe que precisamos prestar um pouco de atenção. Quando clicarmos no botão “Generate API key with Google AI Studio”, ele vai abrir um novo site no nosso navegador. Caso você nunca tenha acessado esse site, a primeira coisa que vai aparecer é um aviso de termos de serviço, e você pode marcar a primeira caixinha para poder aceitar esses termos e poder utilizar o Gemini. Vamos clicar na opção “Continue”, depois de marcar essa primeira caixinha, recomendamos que você leia as licenças, e logo de cara já teremos então essa tela de “API keys”, e você pode clicar em “Create API Key” no centro da página. Quando fizermos isso, ele abrir uma nova aba e pedir para criar uma chave novamente, podemos clicar em “Create API key in new project”. O objetivo aqui é gerar uma chave que conecta nossa conta a algum projeto do Android, que teremos disponibilizado na plataforma da Google. Para a Google ter um controle de quem está utilizando essa API, precisamos gerar uma chave, similar ao que vários outros serviços já fazem. Essa chave é uma sequência alfanumérica e depois que ela for gerada, podemos clicar em “*Copy*” (Copiar). Agora, podemos voltar para o nosso projeto no Android Studio. De volta no Android Studio, podemos colar a chave no campo “API Key” que estava vazio. > **Atenção:** recomendamos que você não compartilhe essa chave com ninguém, porque ela está justamente ligada à sua conta da Google. Nesse caso, vamos utilizar essa chave agora, depois que terminarmos de gravar, vamos invalidá-la, então você também não vai conseguir utilizá-la. Feito isso, podemos clicar em *Finish* (Finalizar), e aguardar o projeto ser construído. Então, ele vai abrir o projeto e fazer algumas configurações, é um procedimento um pouco demorado, teremos um erro que deve surgir no projeto que foi compilado. Esse erro vai ser justamente no arquivo MainActivity, que ele deve abrir por padrão, e na nossa MainActivity, que é a nossa tela principal, o BuildConfig provavelmente não vai ser reconhecido. Isso acontece porque esse arquivo de BuildConfig está relacionado a alguma das opções que veremos lá na própria documentação do Gemini, para poder configurar as chaves de maneira segura. Não vamos aprofundar muito nisso, vamos apenas corrigir esse erro. Ele dá a opção de fazer o *Import Class* nesse momento, só que se fizermos o *Import Class* dessa classe padrão, ele provavelmente não vai funcionar. Então, recomendamos que você clique na opção para poder construir o nosso projeto novamente, no topo da interface temos o ícone de um martelo que corresponde à opção “*Make Module*”. Vamos clicar nessa opção no canto superior do Android Studio, ali na parte direita, e vamos aguardar ele fazer o *build* do Gradle na parte inferior do Android Studio. Nosso projeto terminou de fazer o *build*, e ele já trouxe o erro que está na linha 50. Para corrigir esse erro, podemos simplesmente apagar esse BuildConfig.apiKey da linha 50, e começar a escrever BuildConfig novamente. Duas opções devem aparecer, sendo que precisamos selecionar aquela que tem o com. seguido do nome do nosso pacote, que no nosso caso é o com.alura.genia. Podemos então colocar um ponto no final e deve aparecer a sugestão “*apiKey*”, podemos selecioná-lo. val generativeModel = GenerativeModel( modelName = "gemini-pro", apiKey = com.alura.genia.BuildConfig.apiKey ) Se usarmos o atalho “Ctrl + B” nesse “*apiKey*”, a mesma chave que acabamos de girar no site da Google vai estar armazenada nesse projeto, de uma maneira segura, gerada automaticamente pelo plugin do Gradle. Podemos então rodar o nosso aplicativo com o “Shift + F10”, e ver que esse projeto já está todo configurado, podemos apenas testá-lo. O nosso aplicativo rodou, já estamos indo com o nosso emulador em tela, e das várias funcionalidades que o Gemini tem, uma delas é **sintetizar um texto**, ou seja, fazer um resumo de um texto que passamos. ## Resumindo um texto com o Gemini Quando rodamos o aplicativo, a primeira coisa que ele vai sugerir nessa interface, que tem justamente um campo para poder inserir informações, é digitar um texto e pedir para ele se resumir (“Enter text or a URL to summarize”). Então, pegaremos um texto bem extenso, que é um texto da documentação do Gemini, vamos clicar na caixa de texto e colar. É um texto com várias linhas que descreve o Gemini, como ele é um concorrente do ChatGPT, e podemos clicar na opção “*Go*” depois de colar esse texto. Ele vai fazer um pequeno *loading*. Esse *loading* é basicamente o nosso aplicativo consultando a API do Gemini, mandando essas informações que a pessoa usuária, que no nosso caso somos nós, inserimos e trazendo algum resultado. Então, tínhamos um texto com várias linhas e pedimos para ele ser resumido, sintetizado. Agora temos um texto muito menor, mas que ainda contém toda a essência do texto anterior. Ou seja, o texto foi interpretado e resumido mantendo os principais pontos-chave com relação às tecnologias. Foram mantidos o *Google DeepMind*, *Gemini*, *ChatGPT*, dentre outras. Se voltarmos para o código que temos além do emulador, podemos perceber que na MainActivity é chamado o SummarizeViewModel. Podemos clicar nele e usar o atalho “CTRL + B”, que vai nos redirecionar para o arquivo “SummarizeViewModel.kt”. Dentro desse ViewModel temos um sistema muito similar ao que nós já utilizamos em vários outros cursos, seguindo a documentação oficial do Android. É dito que uma configuração específica foi feita utilizando a API do *Gemini* para que, toda vez que ele passar na linha val prompt = “Summarize the following text for me: $inputText”, ele pegar o texto que a pessoa usuária colocou e adicionar essa nova instrução, que é a de resumir o texto. Mas, se quisermos, podemos fazer o *Gemini* não ter nenhuma instrução anterior para poder entender um pouco melhor como utilizá-lo. Essa é uma ideia bem simples de adaptar nesse código: ao invés de fazer esse val prompt conter todo esse texto “Summarize the following text for me:”podemos fazer o val prompt ser igual apenas ao inputText. fun summarize(inputText: String) { _uiState.value = SummarizeUiState.Loading val prompt = inputText } E se rodarmos o nosso projeto com essa única modificação e aguardarmos ele subir, a partir de agora, dentro desse nosso emulador, temos todo acesso ao potencial do *Gemini* com relação a texto. Então, podemos dar qualquer instrução para ele que ele vai seguir. Por exemplo, vamos clicar em Text to Summarize no nosso aplicativo e colar o texto “liste as 10 primeiras versões do Android”. Vamos clicar em “Go” e o *Gemini* tem justamente todo o conhecimento sobre as versões do Android. Ele vai trazer uma lista, inclusive enumerada, com várias das primeiras versões do Android. 1. Android Alpha 2. Android Beta 3. Android Cupcake (1.5) 4. Android Donut (1.6) 5. Android Eclair (2.0-2.1) 6. Android Froyo (2.2) 7. Android Gingerbread (2.3-2.3.7) 8. Android Honeycomb (3.0-3.2.6) 9. Android Ice Cream Sandwich (4.0-4.0.4) 10. Android Jelly Bean (4.1-4.3.1) Podemos passar várias informações, pedir para ele gerar histórias, para ele organizar listas, gerar códigos. E foi muito rápido o acesso que tivemos. Podemos começar a explorar a possibilidade de utilizar o *Gemini* sem precisar fazer uma série de configurações. Inclusive essa mesma do Build Gradle que vimos, ela é um pouco mais complicada, mas já vem por padrão feita e é algo que não precisamos nos preocupar. Porém, o *Gemini* também tem a possibilidade de lidarmos com outros tipos de informação. Para isso, podemos voltar mais uma vez ao nosso código no Android Studio e se clicarmos no menu principal no canto superior esquerdo, e selecionar “File > New > Import Sample”. Ele vai abrir uma nova janela. Na caixa de texto dessa janela, podemos digitar “IA” ou “Generate” e aparecerão alguns exemplos logo abaixo. Vamos selecionar o “*Google Generative IA Sample for Android (Kotlin)*”, logo abaixo de “*Jetpack Compose Layouts*”. A inteligência artificial está em versão beta, então temos a opção “*Google Generative IA Sample for Android (Kotlin)*” duplicada, aparecendo também sob a categoria de *Artificial Intelligence*. No fim das contas, podemos clicar em qualquer um dos dois “*Google Generative*”, ele vai trazer o mesmo exemplo. Selecionando essa opção e clicando em “Next”, ele sugere que criemos um novo projeto. Esse projeto, através do samples, é bem mais completo. E vamos deixar a configuração padrão que ele escolheu. Vamos clicar em “Finish” e aguardar ele gerar esse novo projeto com esse novo exemplo. Nosso projeto terminou de buildar. Já fizemos aquelas correções também com relação à nossa chave que vimos no projeto anterior. A única diferença é que aqui ela está no “GenerativeViewModelFactory.kt”, e está em mais de um lugar. Mas foi só adicioná-la no “local properties”. Já adicionamos o apiKey e buildamos o projeto. Temos um projeto mais robusto com vários exemplos de implementação do *Gemini* que você pode adaptar e também entender melhor estudando como ele funciona. Uma diferença que teremos é que aqui já são definidos vários tipos de modelos diferentes ao longo do código deste *ViewModel*. Então temos o *Gemini Pro*, o *Gemini Pro Vision*, o *Gemini Pro Normal*. ## Outras possibilidades de uso do Gemini Ao executar o projeto que acabamos de importar neste sample, teremos o aplicativo com três opções principais: “Generate text from text-only input”, “Generate text from text-and-image input (multimodal)” e “Build multi-turn conversations (chat)”. Estamos com o meu emulador disponível. Temos algumas opções para, por exemplo, explorar o modo chat, que é a última opção. Temos a opção para poder explorar o modo texto, que é a primeira. Mas a opção mais interessante nesse caso é a do meio, *Generate text from text-and-image input* (Gerar Texto a partir de Entrada de Texto e Imagem). Se clicarmos em *Try It* (Experimente), podemos adicionar algumas imagens de texto às informações que vamos inserir. Ou seja, se você, como pessoa desenvolvedora, quer criar um aplicativo em que o usuário pode enviar uma imagem, fazer uma pergunta ou, por exemplo, trabalhar em cima de alguma resposta com base no que o usuário acabou de fotografar, este é um código que você pode utilizar de exemplo. Se clicarmos no botão *Mais* (ícone de soma do lado esquerdo do campo “Question”), ele vai trazer a galeria do Android. Temos uma foto de uma pessoa e vamos enviar essa foto. Selecionamos a imagem e vamos digitar no campo de texto uma informação que é a seguinte: “qual é o nome do principal objeto do esporte que essa pessoa praticava?”. Vamos clicar em “*Go*” e vou aguardar a resposta. Aguardamos um pouco, já temos a resposta e a resposta foi bem direta (“Bola”), mas vamos explicar rapidamente o que aconteceu: A foto que selecionamos quando clicamos no botão de *Mais* é a foto do jogador de futebol Pelé. E o que o *Gemini* fez foi basicamente pegar essa imagem, fazer um *scan* dela, entender quem era a pessoa que estava presente, depois ele foi procurar se essa pessoa jogava algum esporte, entendeu o que era o futebol, depois ele foi ver qual é o principal objeto utilizado no futebol. Então teve toda uma **linha de raciocínio** que o *Gemini* fez através da entrada de uma imagem e também de texto para poder fornecer uma resposta. Ela foi bem sucinta, mas é apenas para poder demonstrar o potencial que existe ao fazer o uso dessa ferramenta nos nossos aplicativos. Demos esse exemplo um pouco mais complexo, mas justamente para poder mostrar que se você souber aproveitar esse recurso, pode criar aplicações realmente muito úteis para o usuário final. Vamos deixar os links de tudo que visualizamos abaixo para você poder acessar. Se estiver vendo este vídeo em alguma rede social, não se esqueça de clicar nos botões de gostei para sinalizar que curtiu esse conteúdo. Muito obrigado pela sua presença e até mais! ### Outros links e informações relevantes: - [Conheça o Google Gemini.]( - [Documentação do Gemini Nano.]( - [Documentação SDK do Gemini para Android.]( - [Gemini API Starter no Android Studio.](

  • Artigos

    Artigo LinkedIn cria botão para denunciar posts feitos por IA

    LinkedIn permite denunciar posts gerados por IA com novo botão "AI slop". Saiba como funciona e por que a plataforma amplia moderação de conteúdo

  • 1Página 1…171Página 171…252Página 252
    1Página 1…169Página 169170Página 170171Página 171172Página 172
    173
    Página 173
    …
    252Página 252