[Música] Olá sejam todos muito bem-vindos ao nlw Connect eu sou o professor Isidro e o objetivo dessa aula é ajudá-los a preparar o seu ambiente para que a gente possa desenvolver uma aplicação completa com a tecnologia Java fazendo uma API usando backend com o Spring muito bem o objetivo aqui é a gente poder guiá-los no desenvolvimento de um projeto 100% do início ao fim Entretanto a gente precisa Claro de algumas ferramentas previamente configuradas dentre elas um editor de código uma ide uma ferramenta de testes e o nosso banco de dados eu quero lembrar você que
pode ser que você se for iniciante tenha uma certa dificuldade para poder configurar isso e pensando justamente em você eu tentei preparar um material que você tenha o mínimo de dificuldades possíveis para poder configurar e preparar a tua máquina para poder desenvolver corretamente e com tranquilidade todas as aulas que irão seguir tudo bem É normal que você possa sentir dificuldades absolutamente Afinal tecnologia desenvolvimento computação são sim é uma área que demanda muita atenção demandam muitos detalhes e obviamente a gente pode ter que sentir alguma dificuldade Zinha nesse processo Tudo bem então conselho que eu te
dou persista persista que até o final você vai ver muita coisa legal e vai conseguir produzir reproduzir e fazer muita coisa interessante ao longo de toda essa nossa jornada juntos Beleza então aproveite essa jornada Aproveite esse caminho e obviamente use esse material para deixar o seu ambiente a sua máquina preparada e a partir daí a gente vai conseguir desenvolver juntos de forma guiada uma aplicação completa te vejo nas próximas aulas Valeu então pessoal vamos lá pra gente poder deixar o nosso ambiente 100% configurado bonit organizado eu separei aqui ó os nossos principais requisitos técnicos as
ferramentas que a gente vai precisar bom primeiro banco de dados a gente vai precisar de uma SQL rodando em docker para quem não tem o docker né a sugestão que eu dou já tem o link aqui bonitinho coloquei direto aqui o o link para quem quer instalar o docker desktop em Windows Eu gosto muito de usar o docker desktop porque facilita e nos dá uma visão muito clara do que tá acontecendo Então ó se a sua máquina X8 664 você baixa por esse link aqui senão se for arm que tá em versão Beta né para
principalmente dispositivos mais ah abre aspas menos robustos você pode também baixar Tudo bem Ah mas ess eu tenho Mac cara então você vem aqui do lado no menu lateral aqui ó você vai ver que tem ícones para você baixar no Mac na sua versão Linux tudo bonitinho mas eu sempre sugiro prefiram o docker desktop porque ele já vai baixar toda a docker Eng todos os comandos todos os os nossos comandos ã de de de terminal tudo bonitinho pra gente poder trabalhar Beleza então é basicamente instalar que no final vocês terão é uma instalação super next
next finish e vocês terão uma interface muito próxima a essa aqui nesse caso eu tenho alguns contêiners Eu tenho algumas imagens já rodando mas a ideia é que vocês tenham uma uma tela muito parecida com essa no final beleza muito bem segunda ferramenta que a gente vai precisar o my workb por porque a gente vai lá o servidor do banco de dados bonitinho legal bacana numa boa entretanto o workb a gente vai vai servir pra gente como uma interface pra gente poder criar o banco de dados fazer algumas consultas fazer uns testes Verê se tá
tudo bonitinho lá do que a gente armazenou Onde que a gente baixa esse cara exatamente aqui ó de novo eu já vim direto pra versão Windows tá você consegue depois ã mudar né vindo aqui ó vou até dar um um back aqui você vem aqui ó MySQL installer for Windows tá isso é muito legal para Windows ele é bacana então uma vez instalado aqui você seleciona a versão no caso a 80401 E você tem duas possibilidades uma mais simples onde ele faz o download dos pacotes e a outra que já vem tudo pronto uma vez
que você clica aqui e a dica é essa ó cliquei em download ele vai falar assim ah você quer fazer uma conta Venha nesse link aqui embaixo ó no thanks just start my download então se você vem aqui ele já vai fazer o download e novamente instalação do MySQL Workbench next next finish Beleza não tem também segredo para instalar o workb terceira ferramenta ah a nossa ide a nossa ferramenta de programação em Java óbvio que aí vai muito da preferência de cada um você pode usar visual Studio code pode você pode usar intelij pode você
pode usar Eclipse pode você pode usar netbeans pode você pode usar Notepad plus plus pode também o que eu digo eu digo o seguinte Eclipse é uma das mais populares das gratuitas por exemplo intelij você tem uma versão community tá mas você tem uma versão enterprise que é paga e muito bem paga então para quem quer usar ferramenta 100% gratuita Eu gosto bastante de recomendar o eclipse e onde que a gente vem aqui eclipse.org bar downloads Você já vem aqui ó install your favorite desktop ide packages E aí ó minha máquina x86 tá uma máquina
64 bits venho aqui eu só vinho e clico no botão downloads e aqui tá o segredo o eclipse vai baixar o seu instalador Beleza o seu instalador tá bom que que eu faço como eu já Adiantei eu baixei esse cara aqui e ele me dá várias opções Existem várias customizações do eclipse no fundo a gente vai baixar a mais simples e Tod Eclipse ide for java developers esse cara aqui eu poder poderia usar por exemplo Eclipse de for enterprise não Eclipse de for java developers é a versão mais simples mais básica menos customizada e uma
vez feito isso eu posso usar esse cara aqui eu vou até mudar o nome da minha pastinha aqui eu vou colocar Eclipse nlw pronto e aí ele vai me falar onde que tem a versão da máquina virtual Java acima da jvm 21 ele no caso aqui ó vai me dar ó a Jr 23 isso é legal é a mais atualizada Se eu quero colocar isso no meu menu de entrada no colocar um desktop vou deixar sem start menu só vou colocar aqui no desktop e aqui ó de novo instal sem muito segredo ele vai fazer
o download Vai demorar um pouquinho numa boa Talvez ele ele encontre aí às vezes a sua rede tá lenta ele vai avisar que a rede pode tá lenta tudo bonitinho mas basicamente você vai instalar e deixar isso rodando bonitinho beleza eu vou adiantar a gravação aqui pra gente poder ter um tempo para gente não ficar esperando barrinha de instalação avançar beleza vamos lá olha só que legal chegamos no final da instalação e ele já fala ó launch muito bem vem cá Olha aqui que legal ele vai abrir o nosso Eclipse ele tá na outra tela
que eu já puxo para vocês tá Fica tranquilo Fiquem tranquilos que ele vai mostrar eu vou mostrar aqui para vocês a interface do eclipse este cara ó se vocês olharem o eclipse sempre trabalha no modelo de workspaces Então o que a gente faz eu crio um workspace específico que que é o workspace a pasta que vai conter os nossos projetos então você pode tá vir aqui em brows selecionar uma pasta que você quer trabalhar um diretório na sua máquina ou senão você usa essa sugestão aqui ó C2 users Isidro Eclipse workspace vou fazer vou usar
esse cara exclusivamente para fazer teste eu vou colocar aqui até um nlw para poder diferenciar launch e ele vai subir o eclipse tendo como base esta pasta que vocês sugeriram que a gente sugeriu juntos aqui para ele poder subir Beleza beleza de novo o eclipse tá subindo aqui na tela e ó ele já abriu e eu vou mostrar aqui para vocês ele me mostra essa página inicial aqui ó que é um Welcome e eu vou basicamente ó fechar esse cara pronto aqui eu tenho a interface básica do eclipse eu não gosto desse White desse Light
mode eu gosto de Dark mode beleza que que eu quero fazer com vocês eu quero que vocês prestem atenção em selecionar aquilo que é efetivamente necessário o test list eu vou desencanar pronto o outline mesma coisa outline vai me dar estrutura de classe essas coisas que eu não preciso por enquanto e aqui eu venho por exemplo no help preferences ou perdão o Window preference Me desculpe E aí eu venho aqui ó General appearance enable theming light dark Classic Light preview E aí vem aqui ó apply Pronto ele pede para reiniciar o eclipse para ele poder
aplicar corretamente todas as cores do tema então eu venho aqui ó Restart Pronto ele vai restartar o eclipse vai deixar em Dark mode bonitinho do jeito que eu gosto para eu poder continuar os meus estudos Beleza beleza então das quatro ferramentas que nós precisamos ó percebam que o eclipse tá aqui de novo ó launch e ele vai pegar e fazer essa configuração e subir agora o eclipse com a interface que eu desejo que essa interface aqui ó mais para mim mais discreta mais sóbria beleza beleza vamos voltar vamos voltar aqui né pra gente ver continuar
com as nossas ferramentas aqui vamos lá docker ok já tem instalado next next finish my scell workb mesma coisa coisa Eclipse instalei Postman então eu venho aqui ó download post postman.com downloads eu gosto do aplicativo do post então ó ele fala aqui ó Windows 64 só clicar baixar e next next finish ponto estamos com nossas ferramentas 100% baixadas feitas download tudo bonitinho Isidro e agora qual que é o próximo passo eu preciso criar o meu o meu B de dados preciso subir esse banco de dados preciso fazer alguma coisa para esse docker esse tal desse
docker funcionar do jeito que eu gostaria como é que a gente faz eu tô aqui ó com meu prompt de comando eu criei uma pasta tá que pode ser Inclusive a pasta do work Space que vocês selecionaram lá do eclipse também aqui é uma pasta diferente eu fiz diferente e eu criei um arquinho chamado docker compose que que o docker compose vai fazer o docker compose yml ou yemo file é basicamente um script de tudo que a gente precisa que o docker faça pra gente poder trabalhar bem nele então o que vai acontecer o docker
para quem não sabe eu gosto de fazer um paralelo que assim o docker é como se fosse aquelas aplicações portable que a gente quer executar sem precisar instalar é basicamente isso eu consigo então com o docker ter os serviços necessários que eu preciso né banco de dados às vezes serviço web um banco não relacional um monte de coisa eu não preciso ficar instalando na minha máquina por quê Porque às vezes eu tô na máquina do do trampo do serviço da empresa e eu não tenho nem permissão para instalar mas eu tenho o docker instalado lá
se eu tenho docker instalado eu consigo baixar executar essas aplicações num ambiente isolado dentro do meu sistema operacional e tudo roda simples assim beleza muito bem que que vai acontecer Tá eu vou criar um serviço Services E eu chamei de MySQL legal que que ele vai fazer bom você vai eu vou ter que baixar né o arquivo MySQL na versão 8.4 é a versão mais estável agora o MySQL tem a versão 9 Mas como eu ainda não testei eu vou eu não vou arriscar executar nada na versão 9 nesta edição vou usar a versão 8.4
que é a mais atual que tá rodando na maioria das plataformas Eu tenho esse Flag aqui Restart always Esse é opcional Vocês não precisam colocar necessariamente mas assim toda vez que que o docker perceber que o seu banco de dados caiu ele reinicia automaticamente vou dar um nome para esse cara quando ele for iniciado então eu vou baixar a imagem do mys Kell e ao subir o serviço do mykel eu vou dar esse nome aqui ó myq nlw beleza beleza para ele poder subir ele vai precisar de uma variável de ambiente que é a minha
senha do Rot ó MySQL root password e eu vou chamar vou fazer uma senha muito simples né MySQL só para subir esse cara E aí ó as portas vamos lá a porta padrão do internamente ao contêiner é 3306 e eu posso expor essa porta sendo exatamente igual 3306 caso eu não tenha o mycell instalado na minha máquina como eu tenho eu vou colocar uma porta diferente eu vou colocar ó 33 36 só para ele poder subir uma Instância diferente para não conflitar mas para fazer um teste eu tirei a minha o meu serviço do ar
né que já tava instalado na minha máquina que eu uso essa máquina já para desenvolvimento há muito tempo etc etc Então vou subir na porta padrão sugiro que se você não tem MySQL instalar na sua máquina você use essa porta padrão tá depois ela vai ser esse número vai ser muito útil lá quando a gente fizer a nossa api em Spring tá E caso você já tenha sobe diferente sobe numa outra máquina ou usa a versão do My Kell que você já tem instalada aí com você beleza beleza e aqui eu vou colocar um segundo
detalhe que é esse vai rodar numa rede que eu chamei de my Network poderia ser por exemplo ó nlw Network Beleza beleza e aqui essas redes elas vão ter uma configuração então a minha nlw Network vai ter um driver brid que que é um driver brid quando eu crio um coner né que é um serviço rodando de forma isolada no meu sistema operacional ele cria uma rede própria e essa rede própria vezes a máquina o sistema operacional que eu tô rodando aqui o meu Windows não enxerga não consegue acessar o que está rodando dentro do
contêiner Então por segurança eu coloco em modo brid porque ele cria uma ponte entre o que tá rodando nativo no meu sistema operacional e o que tá rodando no contêiner de forma isolada ele consegue se comunicar via rede nós vamos ver isso rapidão tudo bem Lembrando que esse script está disponível para vocês poderem fazer download esse docker com compose aqui tá bom uma vez feito isso que que a gente vai ter eu vou ter se eu der um Gir aqui ó vocês vão ver que eu tenho o docker compose aqui bonitinho certinho tá e eu
vou fazer o seguinte comando ó docker compose up eu posso colocar até um menus D aqui para ele poder colocar isso em modo demmon e liberar o teclado para mim mas eu não quero vou deixar isso aqui bonitinho só para eu poder ver como ele tá sendo executado vamos ver o que vai acontecer no meu caso eu já tinha feito o download da imagem previamente pra gente não perder tempo é claro mas se vocês olharem eu vou voltar aqui o log ele cria A rede tá cria o contêiner e tá fazendo ol tá subindo o
serviço do MySQL isso aqui é tudo log do MySQL Tá bom ficou legal ó tá aqui ó porta 3306 Ready For connections bacana então ó vamos lá me minha ferramenta de trabalho tá pronta meu docker tá instalado funcionou meu docker compose para poder configurar como MySQL vai funcionar Tá ok eu só preciso acessar esse MySQL Então vamos lá vem aqui no workb que eu já instalei e já subi eu vou vir aqui e criar uma nova conexão aqui eu vou chamar de myl nlw docker pronto Qual é o host name máquina local por quê Porque
de novo como eu coloquei a a a a conexão de rede como brid mesmo que eu me referencie a máquina local ele vai encontrar o contêiner lá porta padrão 3306 usuário Rot o administrador antes de fazer a conexão vou fazer um teste vamos ver se ele Testa ele vai pedir senha MySQL que eu tinha colocado lá no arquivo do composer Ó ele vai me dar um warn por causa de questão de protocolo etc continue anyway ó lá ó consegui fazer com sucesso a conexão com MySQL legal venho aqui ó Ok então se eu vier e
conectar de verdade ele vai abrir essa tela Onde eu consigo navegar no meu banco de dados olha só que legal isso dentro do contêiner então o que que eu posso fazer aqui eu posso pegar e abrir o script do banco de dados que Vocês recebem aí no material de apoio ó tá aqui bonitinho e ó mandar executar pronto caso eu não queira mudar a modelagem tá ó executei tudo certinho tudo bonitinho como que eu sei se está eu venho aqui ó dentro dessa aba esquemas e tem um iconeinstagram saber mais sobre como tudo isso foi
feito mas de novo o objetivo desse módulo é baixar as coisas baixar as aplicações instalar e verificar se tá tudo funcionando Isidro faltou o Postman ó lá Postman vem aqui vamos subir o Postman Vamos abrir o Postman para ver se ele tá funcionando bonitinho ó e vocês vão ver que o Postman funciona legalzinho permitindo que a gente já faça por exemplo requisições pra nossa API de novo eu consigo ver se eu não me engano a gente consegue olhar várias coisas e testar alguns fazer alguns testes ó Isso é uma coisa legal vou Voltei pro home
aqui e ele fala ó se vocês tiverem na hora que ele abre essa tela principal que ele fala cria uma conta não não cria nada vem aqui ó continue Without an account continue sem conta e ele abre essa tela para vocês tudo bem não criem conta no Postman não criem conta no MySQL não criem conta no Eclipse basicamente você tem acesso a todas essas ferramentas gratuitas de forma que você não precise se registrar para absolutamente nada com isso tudo o que a gente vai precisar para fazer toda a nossa jornada de desenvolvimento tá aqui disponível
pronto correto pra gente conseguir fazer tudo que a gente precisa com todas as ferramentas configuradas testadas e Integradas ok n