Тёмный

Como eu rodo um projeto real em Golang na minha máquina 

Filho da nuvem
Подписаться 42 тыс.
Просмотров 6 тыс.
50% 1

Опубликовано:

 

4 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 86   
@pauloafpjunior
@pauloafpjunior Год назад
Quantas informações em menos de 30 minutos 😮. Esse vídeo vale ouro. Gostei demais em ver como você organizou o projeto. Parabéns e muito obrigado pela atenção em responder a minha dúvida. Superou as expectativas 😊
@Filhodanuvem
@Filhodanuvem Год назад
Valeuu de novo pelo comentário ❤️
@kameikay
@kameikay Год назад
Se pudesse, curtia duas vezes! Excelente vídeo! Por favor, continue nos mostrando "como é em produção" ou "na vida real". Isso ajuda muito para termos base o que podemos estudar, como ter mais produtividade, etc. Valeu!
@Filhodanuvem
@Filhodanuvem Год назад
boaaa, valeu por comentar. Vou continuar!
@viniciusps01
@viniciusps01 11 месяцев назад
Claudson, você é um dev de “verdade” kkk! Sério você é muito bom!
@Filhodanuvem
@Filhodanuvem 11 месяцев назад
Hahahahaha valeu Vinicius
@marcosagostta2072
@marcosagostta2072 Год назад
Excelente vídeo muito bem explicado, informações preciosas que em muitos locais a gente só aprende através de cursos pagos e muitas vezes não chega aos pés desse vídeo
@Filhodanuvem
@Filhodanuvem Год назад
Fico muito feliz em saber que foi útil Marcos. Espero continuar trazendo mais conteúdo prático assim.
@ucoloredev988
@ucoloredev988 Год назад
Teus videos são massa!🤩
@Filhodanuvem
@Filhodanuvem Год назад
obrigado!
@josecarlossilva7136
@josecarlossilva7136 10 месяцев назад
Video TOP. Clareou um montão de dúvidas e ainda ensinou o caminho das pedras.
@Filhodanuvem
@Filhodanuvem 10 месяцев назад
Opa, que bom que ajudou José.
@giovaneroxo4967
@giovaneroxo4967 Год назад
Cara, que video bom, eu acho que nunca tinha visto alguem explicar docker tão bem
@Filhodanuvem
@Filhodanuvem Год назад
Opa, que bom que curtiu. Ainda pretendo fazer um vídeo só sobre docker, tô adiando isso há anos. Pra mim tem uma ou duas coisas que os iniciantes sempre erram com docker, que é fazer uma imagem que não é auto suficiente. Eu sempre errava isso também.
@giovaneroxo4967
@giovaneroxo4967 Год назад
@@Filhodanuvem po, eu vou fica muito feliz com esse video, quero muito aprender docker e usar com mais frequencia
@vitorgabriel6496
@vitorgabriel6496 Год назад
Conteúdo de ótima qualidade. Muito obrigado ! Aliás, você está muito bonito além de estar com uma didática excelente .
@Filhodanuvem
@Filhodanuvem Год назад
Obrigado pelos elogios Vitor 🥰
@juamsv
@juamsv Год назад
Não conhecia teu canal, video muito bom mano parabéns.
@Filhodanuvem
@Filhodanuvem Год назад
Valeu Juan, que bom que curtiu!
@Diegoogle
@Diegoogle 9 месяцев назад
Melhor professor de Dev do mundo
@Filhodanuvem
@Filhodanuvem 9 месяцев назад
Nossa, obrigado Diego 🥰
@Goliank4987KatiUchaDiedy
@Goliank4987KatiUchaDiedy Год назад
Excelente vídeo 😊
@Filhodanuvem
@Filhodanuvem Год назад
Obrigadooo, que bom que curtiu 🙏
@franciscoleal_
@franciscoleal_ 8 месяцев назад
Suas explicações são formidáveis!! Gostei demais, estou maratonando seu canal!! Obrigado por compartilhar!! Vou tentar fazer os desafios tmb..
@Filhodanuvem
@Filhodanuvem 8 месяцев назад
Valeuuu mano, que bom que curtiu.
@dyonatha97
@dyonatha97 Год назад
Eu uso o compileDaemon pra hot reload, acho mais simples. Só mando rodar o executável por ele no dockerfile de dev e tá pronto. Mas achei legal o air, vou experimentar.
@Filhodanuvem
@Filhodanuvem Год назад
Legal Dyonatha, não conhecia o compile daemon, vou dar uma olhada.
@barbaneigro
@barbaneigro Год назад
Lidando com algumas stack diferentes, da ate vontade de chorar de tão complicado fazem algo q Golang eh tao simples. Queria me referir apenas ao ferramental, mas não ate mesmo nas escolhas da própria lang e frameworks... Eh simplesmente perfeita a lang e ecossistema perto de todas outras.
@barbaneigro
@barbaneigro Год назад
Pena q eh uma lang quase exclusiva de seniors kkkkkkk
@Filhodanuvem
@Filhodanuvem Год назад
Hahaha eu tenho medo do dia que go perder popularidade e eu tiver que trabalhar com essas linguagens complexas cheia de funcionalidades, jeitos de se resolver a mesma coisa, gradle pra build, que compilar em linha de comando é quase um parto e é quase obrigatório usar uma IDE 🤣
@barbaneigro
@barbaneigro Год назад
@@Filhodanuvem entao hehe
@JhonatanMorais
@JhonatanMorais Год назад
Muito Obrigado por compartilhar. Sempre usei com PHP e estava curioso sobre como era o ambiente dev pro go.
@Filhodanuvem
@Filhodanuvem Год назад
Valeu mano, que bom que ajudou.
@miguel.oliveira
@miguel.oliveira Год назад
Que conteúdo incrível, ainda não programo golang, mas pretendo começar esse ano, sem dúvidas você já tirou várias dúvidas que "eu do futuro iria ter :)
@Filhodanuvem
@Filhodanuvem Год назад
Aí sim, mais um gopher pra comunidade. Se precisar de qualquer coisa na caminhada, só me dar um toque 💪
@samusaw
@samusaw Год назад
Muito bom.
@Filhodanuvem
@Filhodanuvem Год назад
valeuuu, que bom que curtiu!
@rodrigobarenco
@rodrigobarenco Год назад
bem legal, parecida a maneira de organizar com um projeto que fiz em nestjs.... tô começando a aprender Go agora.
@Filhodanuvem
@Filhodanuvem Год назад
Legall, fazer analogias com outras linguagens é uma forma de ir aprendendo até pegar as diferenças, vai fundo
@alcancebrasil4467
@alcancebrasil4467 Год назад
Já lasquei o like antes mesmo de ver o vídeo. 👍
@Filhodanuvem
@Filhodanuvem Год назад
Aiii sim, obrigado pela confiança 🙏
@RicardoBatistaOMaior
@RicardoBatistaOMaior Год назад
Óptimo vídeo Claudson, sempre a partilhar boas praticas! Fica aqui a sugestão para um futuro vídeo. Algo que geralmente acrescento ao meu ambiente local é um segundo container que corre os meus testes a cada mudança. É muito bom para praticar aquele padrão do Red Green Refactor do TDD/BDD. Aquele abraço!
@Filhodanuvem
@Filhodanuvem Год назад
Grande Ricardo. Muito boa ideia, vou pegar essa sugestão e usar num futuro vídeo de testes unitários em go. Valeu!
@victorbarros1130
@victorbarros1130 Год назад
Muito valioso esse video. Obrigado por compartilhar!
@Filhodanuvem
@Filhodanuvem Год назад
Tamo junto Victor!
@arozendojr
@arozendojr Год назад
Continua, conhecimento quanto mais melhor, acho que Go é muito bom, porém a stack é bem complicada de interagir, quanto mais vídeos simplificando, melhor
@Filhodanuvem
@Filhodanuvem Год назад
Você acha complicado? Eu acho simples até demais, o que gera alguns problemas haha. Mas pode deixar, se está curtindo vou continuar.
@leo_dipp
@leo_dipp Год назад
Voce tem pinta de professor mesmo e explica muito bem. Obrigado pelo vídeo. O que acha da lib Viper para gerenciar configurações?
@Filhodanuvem
@Filhodanuvem Год назад
Obrigado Léo rsrs. Olha, talvez seja só minha vivência mesmo, não tive boas experiências com o viper, achei complexo pra algo que na verdade eu só queria pegar valores de variáveis de ambiente e no máximo checar uma coisa ou outra. Já a lib Cobra, do mesmo autor, sou muito fã.
@aleroxac
@aleroxac Год назад
Conteúdo bom d+, pena que deu uma parada nos vídeos... Permaneço inscrito, a esperança continua!
@Filhodanuvem
@Filhodanuvem Год назад
Valeuuu por não desistir, uma nova temporada de vídeos começa hoje 😎
@aleroxac
@aleroxac Год назад
@@Filhodanuvem \o/
@yurilimak9
@yurilimak9 Год назад
Muito bom! Poderia trazer um vídeo pra gente falando um pouco mais de como você utiliza o migrate? Atualmente utilizo o Django que faz isso automaticamente, mas pelo pouco que vi sobre o migrate me parece ser manual.
@Filhodanuvem
@Filhodanuvem Год назад
É manual sim Yuri, mas vou pensar em algo pra trazer então em mais detalhes.
@zhoupuchen
@zhoupuchen Год назад
Achei o Go amigável, estou pensando seriamente em estudar sobre a linguagem. Atualmente trabalho com logística e aqui em Portugal comecei a ver algumas vagas pra Go, oq me despertou o interesse kk.
@zhoupuchen
@zhoupuchen Год назад
Se não for do incômodo, poderia me indicar algum curso? Achei um aqui no RU-vid da Ellen e estou pensando em começar nele.
@Filhodanuvem
@Filhodanuvem Год назад
Um dias desses vi um ranking de linguagens populares em Portugal e achei go até bem colocado, atrás das mais antigas mas bem colocado. Go é sucesso haha. Eu já vi um e outro vídeo do curso da Ellen e acho que é uma boa porta de entrada sim.
@zhoupuchen
@zhoupuchen Год назад
@@Filhodanuvem vou iniciar com esse da Ellen. Realmente atrás das antigas está o Go. Eu estava na dúvida entre GO, PHP ou Ruby. Mas vou de GO mesmo.
@kevintrindadegoncalves7817
@kevintrindadegoncalves7817 Год назад
Muito massa o vídeo, eu adoro o docker compose, maravilhoso para projeto simples. Uma pergunta a você que é dev PHP e GoLang, qual é o preço de manter uma aplicação simples com docker em GoLang. Me falaram que 200 reais por ano daria conta para Php, mas eu sei que GoLang vai ser mais caro.
@Filhodanuvem
@Filhodanuvem Год назад
Fala Kevin, um pouco complexa essa pergunta, tem muitas formas de colocar aplicação em produção, com preços bem diferentes. Uma digital ocean da vida é uns 5 dolares por mês no plano mais barato, na render estou pagando 7 dolares.
@kevintrindadegoncalves7817
@kevintrindadegoncalves7817 Год назад
@@Filhodanuvem entendi, bem razoável então. Eu estava pensando em fazer em GoLang, porque eu acho essa parte de concorrência do Go linda e também não tenho muita experiência, então um projeto em Go pode dar um upzinho no currículo. Obrigado pela resposta
@caiocesarmelolopes2156
@caiocesarmelolopes2156 8 месяцев назад
Muito bom o vídeo, mas como funciona o debug nesse caso? se precisar ir linha a linha do código pra entender? não ficou claro pra mim. Valeu!
@Filhodanuvem
@Filhodanuvem 8 месяцев назад
Eu só uso debug quando vou escrever testes, então a configuração não fica no repositório. Eu instalei o delve e quando rodo os testes a partir do vscode, ele se conecta com o delve e faz debugging. Focando nos testes não tem muito porque eu ter que debugar a aplicação toda, e configurar isso com o docker.
@gustavopoa
@gustavopoa Год назад
Muito boa todas explicações, parabéns. Uma dúvida, o migrate do Go é semelhante ao do Python? Você escreve os models e abstrai o banco com um ORM q gera os migrates?
@Filhodanuvem
@Filhodanuvem Год назад
Fala Gustavo, a tool que eu uso é essa daqui github.com/golang-migrate/migrate e pelo menos no meu uso, ela não se liga a nenhum orm, então eu crio os arquivos sql manualmente. Também não uso nenhum orm senão poderia procurar uma mais parecida com o que você disse.
@gustavopoa
@gustavopoa Год назад
@@Filhodanuvem Entendi, então neste caso você modela o banco de dados manualmente e o pkg migrate apenas faz o gerenciamento disto para versionar e rodar as atualizações no ambiente produtivo ou remake localmente? Outra dúvida, como você gerencia um migrate indesejado, por exemplo um rollback de um migrate que não deu certo ou q você queira voltar?
@evandrojunior9107
@evandrojunior9107 10 месяцев назад
Suas migrations tem inserção de dados diretamente? Como você lidaria se quisesse manter alguns dados locais para não ter que se repetir a ação de inserir manualmente para conseguir testar? Tenho a sensação que em alguns casos principalmente pensando que a CI roda as migrations, que as migrations não deveriam possuir inserções em tabelas do banco, e numa estrutura onde o banco começa a existir no run da aplicação, dados de teste precisam ser inseridos todas as vezes. Acho que criar algum mapeamento de porta para um banco na minha máquina é uma boa pedida, mas queria tua opinião aqui.
@Filhodanuvem
@Filhodanuvem 10 месяцев назад
É um dúvida e questionamento muito válido. Minhas migrations inserem dados sim, as operações de inserção não são muito frequentes já que elas acontecem somente quando lanço um novo desafio na plataforma. Mas você tem razão, eu sofro com a questão de “se repetir”. O caso mais frequente de eu precisar mudar um dado somente em local é forçar um usuário a ser pro/pagante nesse ambiente. Criei um comando make pra agilizar o processo mas tem abertura pra automatizar de alguma forma. Já pensei em fazer algum seed ou série de execuções que rodam depois das migrations somente pra local/CI mas ainda não parei pra investir nisso. De certa forma, como eu tenho essa dor pra inserir dados em ci isso acaba me forçando a escrever testes que precisam navegar pelo sistema pra eu conseguir criar o cenário que eu quero testar. É ruim, aumenta o tempo de execução de testes mas tem seu lado bom, já que como o projeto nao tem uma equipe com várias pessoas lidando com ele o tempo todo, ter mais testes e mais chance de encontrar erros se torna mais vantajoso.
@evandrojunior9107
@evandrojunior9107 10 месяцев назад
Massa! Valeu a resposta, ajuda bastante a guiar decisões e entender alguns trade-offs do lado do back!
@kameikay
@kameikay Год назад
Estava revendo o vídeo para entender a aplicação do docker-compose e percebi que o air e o app tem o mesmo container name e ports. Isso não gera erro? Tentei rodar aqui e sempre dá erro
@Filhodanuvem
@Filhodanuvem Год назад
Ótimo ponto! Eles conflitam sim se você rodar os dois ao mesmo tempo, se fizer “docker compose up” sem especificar o air, ele vai subir todos os services. Por isso que no vídeo eu falei “docker-compose up app” ou “docker-compose up air” por que ali vai subir o que está especificado e suas dependências apenas.
@kameikay
@kameikay Год назад
@@Filhodanuvem Ah, entendi! Obrigado!
@SetupDeDev
@SetupDeDev Год назад
no caso do waitfordb, por que escolheu usar ele ao invés do depends_on junto com codicion e heathcheck ?
@Filhodanuvem
@Filhodanuvem Год назад
Não tem nenhum motivo técnico, acho que peguei o docker-compose de outro projeto que tinha (provavelmente de uma época que não existia healthcheck) e nem pensei em reescrever 😅
@SetupDeDev
@SetupDeDev Год назад
@@Filhodanuvem dahora, estou provando o air em um docker como você fez, porém após iniciar um versionamento no projeto estou tomando este erro: error obtaining VCS status: exit status 128 Use -buildvcs=false to disable VCS stamping. Porém se eu passo esse comando via command, ele não reconhece
@Filhodanuvem
@Filhodanuvem Год назад
Tem algum link pro docker-compose pra eu dar uma olhada? Já tive problemas com a versão do air versus a versão do go que eu precisava pro projeto (definido no go.mod) mas não lembro exatamente a mensagem de erro.
@SetupDeDev
@SetupDeDev Год назад
@@Filhodanuvem consegui resolver, era problema no build do projeto dentro do container do air, apenas adicionei a flag pra desativas o vcs
@carlosschuenck4939
@carlosschuenck4939 7 месяцев назад
Ola, que terminal é esse que voce ta usando que da sugestao de comandos ?
@Filhodanuvem
@Filhodanuvem 7 месяцев назад
eu acho que estava usando isso daqui fig.io/
@giorgiojoseotto5032
@giorgiojoseotto5032 Год назад
A utilizacao do cockroachdb em prod, com custo baixo, como conseguiu esse plano????
@Filhodanuvem
@Filhodanuvem Год назад
Com o plano serverless deles, aqui está um link www.cockroachlabs.com/pricing/
@giorgiojoseotto5032
@giorgiojoseotto5032 Год назад
Joia. Obrigado
@jhonnytafarel4751
@jhonnytafarel4751 Год назад
Go lang para web compensa? existe funções realtime?
@Filhodanuvem
@Filhodanuvem Год назад
Quando você diz web quer dizer sites como e-commerce ? o tooling do go é bem simples, pra serviços web pequenos, apis por exemplo ele brilha muito. Pra sites como eu tô fazendo, sinto falta de algumas coisas mais poderosas (template engine melhor por exemplo) mas como gopher também não curto muito frameworks muito grandes, então da pra atender a proposta em go sim. Não entendi a questão do real-time, me dá um exemplo?
@jhonnytafarel4751
@jhonnytafarel4751 Год назад
@@Filhodanuvem por exemplo um angular da vida que tras dados em tempo real na tela.
@Filhodanuvem
@Filhodanuvem Год назад
Entendi. Não, o go não faz isso. O angular é uma biblioteca majoritariamente frontend que lida com estado de aplicação no lado do navegador. O go é focado em backend, nada impede a gente a fazer o go entregar páginas html que é o caso da Devgym, mas depois de entregar o html aí já não estamos mais falando de go, estamos falando de tecnologias de frontend, JavaScript (que até poderia ter angula no meio), css…
Далее
Github actions CI/CD de um projeto real em Go
23:42
Просмотров 2,3 тыс.
Testes end to end em um projeto real em Go (cypress)
13:06
iPhone 16 & beats 📦
00:30
Просмотров 157 тыс.
Quanto faturei (e gastei) no meu primeiro SAAS em 2023
13:00
How To Structure Your Golang (API) Projects!?
20:28
Просмотров 48 тыс.
Como organizar código go (golang)
16:36
Просмотров 12 тыс.
Como fazer um Dockerfile otimizado para Golang
14:53
How To Setup A Golang + Templ Project Structure
31:20
Fazendo deploy de um projeto real em Golang
10:47
Просмотров 8 тыс.