vontade às vezes de ficar em posição fetal chorando Putz esse projeto tá acabado meu Deus do céu desenvolvedor faz tudo senti muito burra tinha sido contratada como backand mas me colocaram para trabalhar com qualidade posso só dar um start numa review tudo automatizado só tecnologia no primeiro trabalho eu usava Java 11 trabalhava tipo por Demanda bem-vindos ao quarto Episódio da construção do meu SAS em que eu estou compartilhando toda essa aventura tecnológica aqui no YouTube hoje é o dia 25 de 300 de estudo no ano e eu quero atualizar vocês né de como está ficando
este projeto eu quero começar falando que essa semana a gente foi extremamente cansativa Nossa Senhora sério eu tô exausta e muito eu acho que é porque eu falei né já para vocês aqui diversas vezes que eu fiz transição de carreira em 2022 então na primeira empresa que eu comecei a trabalhar eu fiquei tipo 11 meses acho que tal é 11 meses 1 ano na segunda empresa mesma coisa e agora eu vou fazer seis meses na empresa que eu tô então eu não tirei férias desde então tá sendo muito cansativo ultimamente para mim parece que um
caminhão passou por cima de mim tem semana que é pior que outras né enfim eh mas eu tô me sentindo cansada nossa senhora tá E qual vai ser a agenda do vídeo de hoje então des do último vídeo né se você não assistiu o último vídeo assista porque você vai entender melhor um pouco sobre o projeto porque que eu tô fazendo um over Engineering desgraçado no projeto e mas tudo tem uma razão tá calma por favor assiste lá para você ver e essa semana eu senti que eu não evoluí muito tá no projeto não sei
se é porque eu tô muito cansada eu acho que é isso ou eu não ou é porque eu tô pegando um assunto agora que é difícil de estudar e de entender pelo menos para mim uma parte né do assunto e eu vou mostrar aqui para vocês né O que que eu fiz o que que eu estudei mas para contextualizar são coisas relacionadas ali a uma parte de infraestrutura que é o cão é o cão chupando manga Gente do céu infra é difícil quem é profissional de infraestrutura Cara vocês são muito fera então bati muito a
cabeça me frustrei muito e essa é uma coisa que é natural né no desenvolvimento tanto no trabalho quanto em projetos pessoais em estudo porque é muita informação muita coisa dá errada às vezes atualiza alguma biblioteca E você tem que mudar algumas coisas na estrutura do seu projeto essas coisas elas são normais mas não deixa de ser frust an muitas vezes meu Deus do céu Dá vontade às vezes de ficar em posição fetal chorando não que eu nunca tenha feito isso eu já fiz isso algumas vezes mas enfim eu vou mostrar para vocês as coisas Ah
e falando mais uma coisa né Eh logo vocês vão se despedir desse desse meu cenário na semana que vem meu esposo e eu vamos viajar e a gente vai sair daqui e vai ter mudança então né no cenário eu acho que não vai ser tão caótico gente então teve muito estudo e durante essa semana de coisas mais relacionadas à infraestrutura e é sempre um tema muito difícil né pelo menos eu acho muito porque durante o nosso dia a dia no trabalho não é uma responsabilidade Nossa como desenvolvedores fazer essa parte de configuração isso no contexto
que eu vivo hoje porque normalmente desenvolvedor faz tudo né então sempre tem empresas também em que uma pessoa ali a galera de desenvolvimento é responsável por toda a configuração hoje eu já tô numa empresa bem mais estruturada então eu acabo não vendo essa parte de mais configurações e em algumas experiências passadas a gente não tinha também uma organização que fiz com que a gente precisasse se preocupar com essas coisas Pera aí vou te contar sobre então eu comecei o meu estudo na semana com Kong e gente do céu foi muito frustrante algumas coisas porque eu
ainda não tipo assim eu entendo o objetivo do cong eu sei utilizar o cong Eu uso o cong no meu dia a dia porém a parte das configurações e de você tocar o que que tem que acontecer e toda a estrutura ainda é um negócio que para mim não é tão claro tá ou melhor dizendo não é claro então eu faço uns desenhozinho aqui mas a parte que eu estava concentrada em fazer é a parte da pay Gateway se tudo der errado aí a gente vai mudando conforme o o projeto for andando isso que é
importante eu acho que muitas pessoas ficam muito apegadas a um plano então assim ah não deu certo o meu plano de usar uma ap Gateway e de entender como é que funciona então Putz esse projeto tá acabado não a gente vai adaptando a gente tem que adaptar porque se a gente não adaptar fica muito fácil de desistir das coisas é por isso que muitas pessoas inclusive desistem de estudo porque colocam metas absurdas Ah não este ano eu vou estudar 365 dias Du horas por dia e não vou falhar e se falhar aquilo Tipo fica minando
aí ali o teu espírito não é assim que funciona você tem que fazer as coisas de uma forma com que você consiga manter que seja desafiador mas que você consiga manter e a mesma coisa com projetos se eu ver que eu não vou conseguir por exemplo utilizar pay Gateway é eu já fiz uma poc é aqueles aqueles proof of Concept eh que é prova de conceito né para ver que realmente funciona que você consegue fazer e conectar o seu microsserviço rota ali no na B Gateway e tudo mais funcionou Ok mas eu não sei quão
complexo vai ser quando a gente colocar um monte de microsserviço nisso então são coisas assim que a gente vai tentando entender se não der certo tudo bem porque a gente pode se deparar com um nível de dificuldade que a gente ainda não tá pronto para isso então eu espero que funcione mas foi o primeiro ali contato com maiores configurações que eu tive eu achei difícil e aos poucos eu vou vendo né se eu vou usar isso ou se eu vou por outro lado então eu eu fiz uns estudos aqui eu acho que eu devo ter
ficado uns três dias tanto para estudar escrever montar algumas imagenzinha aqui e eu gosto bastante também de escrever o que eu o que eu tô entendendo para ficar mais claro para mim eu sinto que lendo e escrevendo eu tenho eu entendo mais as coisas do que só por exemplo do que só escutando ou só lendo e não tipo assim estruturando com as minhas palavras ou com as minhas ideias o que eu acabei de ler foram assim três dias com muito ódio no coração foram três dias ativos coisas muito novas me senti muito burra então galera
que se sente burra também é nós e depois disso eu fui para uma parte que eu já tinha feito outros projetos que foi a parte da esteira tá do CD aí eu também configurei o sonar cube no meu projeto Quero mostrar para vocês aqui como ficou a pipeline ó d de ver que ela falhou né mas eu quero te most PR isso a ideia do sonar cube é analisar a qualidade do nosso código desde C smell até Tipo o coverage que você pode setar como o seu objetivo por exemplo no meu projeto aqui eu coloquei
que eu quero 80% de cobertura de teste nas classes ali específicas né Depois eu vou mostrar essas configurações para vocês então com as configurações feitas a gente consegue deixar tudo automatizado para não ter que ficar manualmente ou rodando toda vez um um coverage no nosso projeto então a própria pipeline já fica encarregada disso e é mais fácil de mitigar deixar passar muito código sem teste e a ideia de ter teste automatizado eh no caso eu tô considerando aqui teste unitário e teste de integração é para mitigar problemas também tá esse essas etapas do desenvolvimento elas
são muito importantes pra gente manter um padrão legal de código é a primeira vez que eu tô trabalhando com isso antes eu não tinha trabalhado com isso até porque uma das minhas experiências anteriores foi com qualidade Olha só gente eu tinha sido eu tinha sido contratada como backand mas me colocaram para trabalhar com com qualidade eu posso trazer essas histórias aqui com vocês porque a minha transição de carreira foi uma novela e então tipo no projeto os desenvolvedores tinha um arquiteto cara que ele era muito fod assim desenvolvedor arquiteto o cara era o Jano do
do desenvolvimento o cara era muito bom mesmo então ele tinha todas essas configurações e como eu não queria eu queria continuar próxima de código eu sempre ficava olhando né O que que ele tava configurando e tudo mais lá também era 80% se eu não me engano e é um padrão né que eu coloquei aqui pro meu projeto também então tanto para teste unitário que testa partes do nosso código então vai testar métodos específicos ali quanto para teste de integração que utiliza serviços externos né então a gente pode mocar coisas externas para estar testando para ver
se os nossos controllers por exemplo estão respondendo de acordo com o que a gente quer e agora a última etapa que eu quero mostrar aqui no escaldar para vocês é sobre c e CD não sei se todo mundo sabe como é que funciona mas essas ferramentas CCD continu continuous integration continu continuos deployments é São coisas que ajudam muito a deixar mais ágil o processo de desenvolvimento então quando a gente fala de ca a gente tá falando que vai ter algo que vai fazer automaticamente alguma coisa pra gente a partir de algum gatilho que vai verificar
se o nosso código tá testado então a gente pode fazer essas definições ele vai gerar um artefato um jar por exemplo eh no Java vai compilar o código e vai ver Car isso aqui tá certo mesmo quando eu fizer o meu cinal por exemplo ele vai funcionar Ok para não deixar passar merda sim se sim tudo bem Deu Ok na nossa esteira é essas essas práticas de deixar tudo automatizado faz com que seja mais fácil de detectar algum bug de não deixar ter muito conflito nas nossas branches cara conflito um negócio que sempre existe em
brands separadas aqui no no Git então a gente precisa tentar menar isso de alguma forma e as coisas automatizadas nos ajudam com isso e em relação ao continuous deployment eh cont continua implementação implantação simplesmente ele vai fazer aplicação no ambiente desejado que a gente quer de uma forma mais rápida de uma forma mais automatizada eu não sei se vocês se alguém aqui já provavelmente já né já fez Deploy manual mas na na minha primeira oportunidade de trabalho era assim que funcionava então a gente desenvolvia alguma coisa entrava no computador remotamente de uma pessoa e aí
aplicava as coisas manualmente lá dessa forma que a gente tem aqui a gente consegue fazer esses deploys por meio de gatilhos entendeu então eu até fiz um desenho aqui lindo né Eu já falei para vocês que eu não poderia nunca ser product designer e aqui tá mais uma prova disso aqui eu fiz um exemplo é Digamos que a nossa equipe estivesse desenvolvendo algumas features E aí para desenvolver essas features se vocês quiserem eu posso falar mais tá sobre isso entrar em uns papos mais técnicos mas PR desenvolver a nossa feature geralmente a gente cria uma
Brand nova né esse é o a melhor coisa que a gente pode fazer fazer tudo bem versionado como o Git deixa a gente fazer tem que deixar organizado as coisas você não vai fazer por exemplo direto ali na sua m colocar um monte de coisa porque seria porque é é pedir para dar merda então a gente cria uma bran separada a partir da M geralmente também pode acontecer coisas que que façam que não seja partir da da nossa BR E aí a partir dessa bran dessa Branch a gente consegue desenvolver todas as funcionalidades que a
gente precisa e a gente consegue abrir um pr né um request PR aplicar aonde a gente quer geralmente essa ação ela vai ser realmente para mim pode ser que no seu time tenha mais e brantes intermediárias Mas no geral né a gente já consegue nesse projeto aqui por exemplo eu já vou conseguir abrir uma PR para mim E aí se eu ver se eu sentir a necessidade eu faço uma Dea talvez só para um Deploy num ambiente mais leve mas não sei a gente vai vai dando uma olhada aí para ver como é que funciona
a partir do momento que a gente faz essa PR a gente pode pegar todas as alterações que a gente fez fazer um um comit dá um push para ativar uma esteira de c e essa ativação por um gatilho de push tipo request whatever todas essas coisas são configuráveis e eu vou mostrar para vocês como que foi feita a configuração tá pelo menos vou dar uma passada ali no no Emil que foi feito aí a gente a partir do do ci a gente consegue também ativar a nossa esteira de continuous deployment e isso vai depender muito
também dos gatilhos que a gente for configurar essa parte do Deploy eu ainda não fiz tá vou fazer no aro que nem eu já disse para vocês mas aos poucos daí a gente vai pcos eu vou evoluindo o projeto vou mostrando para vocês aí em relação à esa ó é caso você nunca tenha visto isso aqui no eu tô fazendo com github actions tá então aqui no github actions eu vou ver os os meus workflows e toda essa configuração ela é feita via um documento que eu vou mostrar aqui para vocês agora deixa eu fechar
algumas coisas aqui que tem muita coisa acontecendo Então Gente esse c. Emil é onde eu fiz a configuração da minha pipeline tá de Cia eu ainda eu nem fiz direito os o CD aqui que é o de Deploy porque eu ainda não fiz configurações específicas a respeito disso só deixei uns negócios meio aleatório aqui meio workflows que daí e o próprio github ele consegue entender né como é que funciona ele consegue entender o que que a gente tá querendo os serviços Eles são muito inteligentes então todas essas configurações aqui são a partir disso então Caso
vocês queiram Em algum momento aí que eu passe Mais especificamente sobre cada coisa eu posso falar mas é tudo que precisa pro nosso projeto rodar porque por exemplo seja rodar maven seja baixar dependência seja rodar os nossos testes unitários testes de integração eh Verificar como que tá o coverage do jacoco E aí também e as configurações do do sonar pra gente rodar ali na nossa esteira Além disso aqui Eu também tive que fazer uma conta no sonar ele é gratuito pro Para uma determinada quantidade de coisas então tipo você tem que criar a sua conta
precisa de token nome do seu projeto nome da sua organização mas tudo isso é bem simples tá a partir do momento que você faz a conta nesse cara aqui no sonar Cloud io aí pessoal aqui no nosso aqui no pon é que a gente faz umas outras configurações ó é aqui eu tenho que dar dar uma olhada depois mas o próprio projeto avisa para para verificar às vezes se não é alguma dependência que tem alguma vulnerabilidade alguma coisa do tipo tá mas aqui mesmo no P eu faço uma configuração também do sonar que eu decido
quanto de de cobertura eu quero nos testes Quais são as classes os pacotes Quais são os pacotes que eu quero considerar na cobertura de testes e quais eu não quero por que isso porque você não precisa tá testando por exemplo uma uma classe de dto por exemplo de dto esse tipo de de de teste não é necessário então a gente consegue fazer essa configuração lá no pom aqui a palavra tá escrita errada depois vou mudar aí e depois de fazer todas essas configurações e não deu certo da primeira vez tá são coisas assim que você
vai ter que fazendo fazendo fazendo deixa eu mostrar aqui para vocês ó olha só o tanto C adjust adjust C adj C adj C blá blá porque não tá rodando e ainda não passou mas eu quero mostrar que o o como que foi depois de fazer tudo isso a partir do momento que a gente dá um dá um comite e dá o push aqui né pro nosso pra nossa PR a gente consegue ativar a esteira e assim verificar né se vai est tudo se tudo vai passar o meu ainda não deu certo por causa da
cobertura aqui de teste então é muito legal você ter o sonar cube no seu projeto porque você consegue verificar Exatamente porque que tá falhando então por exemplo aqui se eu clicar aqui para ver o que que aconteceu Ele já vai me mostrar o que que ele estava esperando e que eu não entreguei a ele então ó ele ainda tá considerando por exemplo pacote de exceções que eu provavelmente deixei alguma outra alguma exceção ali de lado tá Considerando o pacote de outbound aqui que eu vou tirar também e ús Então a partir do momento que eu
que eu retiro Isso aqui vai provavelmente passar as minhas os meus testes ou por exemplo se eu quiser deixar aqui alguma outra coisa algum outro adapter também é bem simples de fazer os testes dessas coisas aí só para para vocês verem como é que funciona isso eu vou dar um force build aqui para vocês verem é ó eu posso fazer um comite vazio né você não pode simplesmente comitar é de forma vazio mas esse comando permite com que a gente faça um comite vazio e aí eu posso só dar um push aqui na na minha
bran para ativar a esteira para vocês verem como é que fica ó aqui ela já aparece automaticamente e começa a rodar os passos que a gente definiu ali no nosso c. IML é tipo muito gente é muito legal é São coisas que são de infraestrutura então acaba sendo chatinho de mexer dá muita coisa errada mas a partir do momento que você vai pesquisando vai ter gente que já passou por isso e vai conseguir te ajudar então É suce nesse sentido daí vai passando os passos os que ainda não tiverem passado vão ficar rodando e geralmente
aqui né numa empresa normal não vai poder você não vai poder fazer o merge simplesmente aleatoriamente geralmente vai ser solicitado que o seu código tenha code review Então as pessoas vão poder verificar Quais foram as mudanças que você fez no código E aí a partir disso vão poder adicionar comentários e sugestões para você para realmente revisar o teu código então eu vou pegar um aqui de de exemplo deixa eu pegar uma aleatório aqui ah sei lá vou pegar um um aleatório tá que é provavelmente não teria mudanças nesse aqui mas a pessoa que for fazer
o seu o seu code review ela pode fazer algum comentário aqui aleatório por exemplo mudar nome de classe para algo mais claro ó se eu eh colocar esse comentário aqui posso só dar um start numa review eu adicionei aqui um comentário de de code review né para para essa classe Lógico que não faz sentido porque sou eu comentando no meu código né mas mesmo para vocês verificarem geralmente vai ser uma outra pessoa mais de uma pessoa inclusive que vai olhar o seu código e vai apontar possibilidad de melhora de refaturar eh coisas que não fazem
sentido cara é muito interessante isso e ajuda muito a gente aprender mais né sobre desenvolvimento no geral aí eh a pessoa pode finalizar o Code review dela e tudo mais e a partir do momento que você tem tem uma quantidade de aprovações no seu código que também é configurada configurável você pode fazer o merge E aí acompanhar o Deploy né em produção tava falando para vocês é sobre um pouco como funciona no trabalho né mas nem sempre eu trabalhei assim tá com essa cultura mais ágil hoje em dia os processos Eles são muito bem definidos
e a gente tem as coisas super automatizadas mas que nem eu falei para você já apliquei pacote manualmente no ambiente de um cliente por exemplo porque a gente não tinha essee fluxo automático de de esteira de Deploy e esse tipo de coisa Isso facilita muito a vida no geral né deixa as coisas muito mais ágeis e é uma prática muito boa porém não é toda a empresa que tem e eu acho que você caso você ainda não tenha começado né você não precisa Focar apenas em empresas que já tem esse padrão mais estruturado mais organizado
eh é uma forma muito legal também de começar com coisas que são mais manuais porque você entende melhor o que que é aquela etapa que hoje tá sendo automatizada para mim então é engraçado ver as coisas acontecendo automaticamente sendo que um dia eu já fiz aquilo de forma manual então é um processo muito legal que a gente não não precisa ficar extremamente recios pensando cara eu só quero se for daquele jeito todo scrum tudo automatizado só tecnologia não precisa pensar nisso tá porque senão porque eu acho que que não é nem a melhor opção se
der certo pô show de bola muitas pessoas para quase todas as pessoas não funciona dessa forma né de já entrar numa numa empresa com tudo muito bem estruturado e tem muita coisa legal para aprender então no primeiro trabalho eu usava Java 11 e a gente usava o próprio produto da empresa como Framework para trabalhar a gente não tinha e Estimativa de tesque review retrô planning essas coisas sabe a gente não trabalhava por Sprint trabalhava tipo por Demanda então a gente tinha basicamente o seguinte ó você tem essa tarefa E você tem que entregar até tal
dia então as coisas funcionavam mais ou menos dessa forma e hoje eu tô num numa realidade ali completamente diferente né tipo é bem mais estruturado nesse sentido mas esse não precisa ser o foco né de quem tá começando de entrar em empresa estruturada e é isso no vídeo de hoje pessoal eu eu tô me sentindo muito cansada essa semana foi muito cansativa para mim não sei se para você foi assim também mas é bom né o ano só tá começando então tem tudo pela frente ainda e é isso espero que você tenha gostado e te
vejo no próximo episódio da construção do meu sç se você você gostou não se esqueça de se inscrever no canal e deixar um like aí e Valeu falou