A partir de hoje, o curso ta disponível na nova plataforma. Em Janeiro e Fevereiro você ainda pode adquirir pelo preço antigo, R$99, com o link aqui embaixo. No mesmo link, tem a opção de comprar um workshop adicional de LeetCode focado especificamente para entrevistas de emprego. Link do curso com desconto temporário: pay.hub.la/L8wi9vio7WPnWbmF8ZIO?coupon=KZbin
@webinargabrielsantos22 сағат бұрын
O acesso será vitalício, assim como era na Udemy?
@Miguelm-del21 сағат бұрын
@@webinargabrielsantos lá fala 365 dias...
@cordeirogabriel929620 сағат бұрын
também gostaria de saber
@jonas506718 сағат бұрын
@@webinargabrielsantos parece que não, no link diz que o acesso é por 365 dias
@Eduardo-eos17 сағат бұрын
Não tem mais o acesso vitalício? Na plataforma nova está "Acesso por 365 dias".
@Geralthh19 сағат бұрын
O cara simplesmente fez a melhor explicação sobre injeção de dependência.
@jorgerinaldi498123 сағат бұрын
finalmente alguem explicou dependency injection de uma maneira que eu entenda
@enzo3305Күн бұрын
Show de bola! Você explica muito bem, Augusto. Obrigado!
@luizpereiradasilveira331722 сағат бұрын
Valeu!
@marceloeduardobenencase585723 сағат бұрын
Galego, acho que rola você fazer um curso só de backend ein, vai ser maneiro 👀
@matheusricardo16423 сағат бұрын
Ia ser top mesmo
@bbarreto1817 сағат бұрын
focar em arquitetura e clean code
@otaviotonello7 сағат бұрын
eu compraria sem pensar 2x
@arsnakehert11 сағат бұрын
Um dos poucos insights valiosos que eu pude ter lendo o "Clean Architecture" do tio Bobby foi finalmente entender o conceito e a razão de existir da injeção de dependência. Pelo que entendi, injeção de dependência é fortemente acoplada (heh) à noção de *inversão* de dependência que tu mais brevemente mencionou por nome. *Inversão* de dependência é que seria a solução pro exemplo de tight coupling que tu apresentou, em que o objeto membro dependido é inicializado internamente ao objeto dependente. Isto é, eu tenho a classe A que depende da classe B, e isso faz com que mudanças em B precisem ser reconhecidas internamente a A; a inversão de dependência seria eu introduzir uma classe C da qual tanto A quanto B passam a depender. A "inversão" se dá na B: antes uma classe dependida, agora ela é dependente da interface C e a implementa concretamente. A classe A continua sendo dependente, mas da interface C, cuja implementação concreta ela não precisa conhecer, porque a interface define uma API (ou um protocolo, como parece ser a terminologia no Python). A injeção de dependência seria como que um "detalhe de implementação" da _inversão_ de dependência, no qual precisamos definir que implementação concreta de C vai ser usada por A, então passamos como argumento ("injetamos") uma instância já inicializada da implementação concreta, que é B.
@geserallan829518 сағат бұрын
Estou lendo aquele livro que você indica “Entendendo Algoritmos, um guia ilustrado para programadores e outros curiosos” como uma introdução. Seu curso será o próximo passo. Obrigado Galego
@jaxrosil749713 сағат бұрын
Acabei de comprar o curso e o workshop e nem sou dev, sou cientista de dados. Tenho certeza que vai ser top porque o Augusto é fera.
@g_st_v21 сағат бұрын
obg GugoTalego, finalmente entendi o que é realmente dependency injection... Comprei teus dois cursos da Hupla! abçs bjs mil
@luscasleo19 сағат бұрын
Acho esse tema é mimportante. Eu ja cai em armadilhas semelhentas durante meu aprendizado de base. Sendo elas: - Over abstraction: Semelhante ao exemplo citado, não exagere na abstração da ultima linha de código possível. Estabeleça um set de tecnologias (Principalmente banco de dados) que você irá usar para o projeto antes de inicia-lo. Você provavelmente não está fazendo o próximo Apache Airflow, que precisa ter compatibilidade com a maior variedade de ambientes possível. - Utilize DI como uma arma de extinção de Mocks: Na minha concepção mocks é a medida desesperada do dev dizer que algo foi testado pois o alto acoplamento de código o impediu de testar componentes isoladamente (Change my mind, I'm dumb at testing). Pense em DI com a prerrogativa principal de testar LOGICA, quanto mais interfaces injetaveis, menos acoplamento e mais facil é testar uma funcionalidade de forma isolada. - Entenda que há injeções de dependencia que são singleton (Dura o tempo de vida da aplicação) ou contextuais, ou seja, o tempo de vida se limita ao contexto, seja a Requisição a ser processada, seja a Mensagem do broker a ser processada e dependendo de qual lib ou framework que você usa, isso pode implementado de uma forma diferente ou simplesmente não ser implementado (Exemplo do nestjs: docs.nestjs.com/fundamentals/injection-scopes). - Especificamente sobre python, acho que vale mecionar uma funcionalidade que não vejo ser muito comentada que é a ContextVar API (docs.python.org/3/library/contextvars.html). Não, ela não é uma api de Dependency injection propriamente mas há casos em que ela pode se encaixar como solução. Semelhante ao React Context API (Por favor não leve ao pé da letra) ela permite que você crie um ponteiro na camada mais alta do código e na camada de context você injeta um valor distinto (como em um middleware/depends no fastapi) E esse valor vai ser propagado por toda a pilha daquele contexto. Ou seja, você pode meter um use_database() no meio do backend e eu acho isso adoravel.
@cleziorogerio-lb9bf11 сағат бұрын
Excelente vídeo!
@bcamperaКүн бұрын
Sobre funcionamento de hashmaps, já fiz uma entrevista na Amazon pra SDE II e uma entrevista no Google pra Júnior, e ambos perguntaram sobre o funcionamento. Acho que a essa altura, essas entrevistas técnicas dessas big techs são para ver quem pesquisou quais são as regras do "jogo" e pensou em se preparar. (o triste é saber que reprovei na Amazon por estar nervoso e ter falhado em otimizar um leetcode easy, na primeira entrevista de 4 ... 😢 Depois me acalmei e fiz todas as outras 3 entrevistas corretamente )
@gojo216823 сағат бұрын
Caramba que top, não conhecia essa implementação de classe __Slots__ do Python, vou começar a usar isso vai ajudar na questão das classe sempre I inicializarem um dict agr vai ser um array 🙏🏻 a memória agradece
@haraheiquedossantos428320 сағат бұрын
Rapaz. Esta questão que você levantou sobre alterações de bancoa de dados (ou qualquer outro componente de infra) é muita verdade e ta diretamente correlacionada com as questoes de padrões arquiteturais como CA, Hexagonal e afins. Bicho o pessoal faz uma puta inversão de controle para manter as camadas internas mais limpas com um desses discursos. Mas vei você migrar um banco de dados, por exemplo, mexer no código fonte vai ser "o menor dos seus problemas", desde que você tenha uma abstração simples, limpa e amigável. Pior etapa de migrar dados é você garantir que realmente foram migrados consistentemente. Kkkkk. E tem cenarios que realmente faz sentido usar implementação agnóstica que é quando você ta em um cenario que usa um componente X em um ambiente de staging e um componente Y em produção, como usar MailTrap em Homol e sei la o SendGrid em produção. Aí é mais justificável.
@carloshenri120 сағат бұрын
Nest js tem uma esquema bem claro de como fazer injeção de depêndencia, acho muito legal
@MatheusPitasBaptistaКүн бұрын
Vídeo bom por demais
@justminiko4764Күн бұрын
Hype do vídeo feito 😎👍
@diegosoares166910 сағат бұрын
Cara, que explicação incrível. Tem algum curso de princípios de SOLID em Python ?
@costathoughts16 сағат бұрын
Alan Holub - uma classe não deve ser definida pelos seus atributos e sim seu comportamento. Dependency Injection em um codebase simples parece um overhead do caramba, quando bem aplicado (por exemplo em um Hexagonal) onde vocês leva todo o comportamento você irá ver o real valor.
@arsnakehert11 сағат бұрын
>uma classe não deve ser definida pelos seus atributos e sim seu comportamento Isto é, as boas práticas pensadas pra evitar caos no OOP levam a algo mais próximo de um paradigma funcional :^) (isso é mais pra uma piada, não leva muito a sério por favor hahah)
@guilhermearantescanella441722 сағат бұрын
excelente video Galego! se eu puder sugerir algo, será que você poderia fazer um vídeo "from scratch" com todo o setup certinho que precisamos fazer (libs, etc) para ter uma ambiente minimamente funcional com tipagem para se usar em python? Por exemplo, Pylance, etc
@gilklebermedeiros462919 сағат бұрын
Bem no ponto que eu estou interessado em aprender dependency injection o galego me solta esse vídeo... Suspeito...🧐🧐😄
@guilhermeaguiar7140Күн бұрын
opa Augusto, bom dia! cara, hoje trabalho como Analista de BI (Junior a dois anos) e gostaria de transicionar pra Data Analyst (tenho plano pra trampar na Europa). curto muito a tua didática e me pergunto se o seu curso me ajudaria nessa transição.
@GutoGalegoКүн бұрын
Cara, sinceramente eu não acho que seja o conteúdo mais adequado pra isso não. Pode te ajudar em algumas coisinhas, mas não sei se faz tanto sentido pra você não. Se você tiver assim um interesse específico em aprender estruturas e algoritmos massa, vai ser um conteúdo legal, mas profissionalmente não sei se te agrega muito
@firzera21 сағат бұрын
Procure por Theo Calvo. Ele tem canal na Twitch. Talvez ajude!
@ndmi02589 сағат бұрын
O curso emite certificado? Gostaria para a faculdade
@guilhermechaves528822 сағат бұрын
Nessa nova plataforma, é possível conseguir o certificado do curso? Preciso realizar alguns cursos como atividade complementar na minha faculdade e é necessario enviar os certificados.
@MichelRibeiro18719 сағат бұрын
O acesso será vitalício?
@cordeirogabriel9296Күн бұрын
Opa bom demais Galego, eu fiz parte do curso na Udemy com os 7 dias, não avancei tanto mas estava sem verba pra comprar ele na época. Uma dúvida, o curso na plataforma nova vai ser vitalício ou assinatura por um ano? Outra dúvida se você vai continuar subindo vídeos com novos conteúdos?Vale a pena adicionar o workshop mesmo sem planos agora pra mudar de emprego pra gringa, só com vagas BR?(ainda não falo inglês) abraços, valeu!
@andersonzzzzzzz11 сағат бұрын
Estou com uma dúvida relacionada a compiladores para Python. Vou ser direto Para uma aplicação web, qual compilador seria melhor : 1 cpython 2 pypy 3 numba 4 nuitka Claro que cada runtime terá a sua vantagens e desvantagens em relação a aplicações webs porém queria saber a opinião de vocês sobre
@murillosilva21 сағат бұрын
O acesso do curso é vitalicio ?
@istarie14 сағат бұрын
Injeção de Dependência 🤝 Inversão de Dependência obs.: são duas coisas diferentes
@gforcel11 сағат бұрын
Qual seria a diferença?
@arsnakehert10 сағат бұрын
@@gforcel *inversão* de dependência é a real solução pro problema de tight coupling. Digamos que tu tem uma classe dependente, A, e uma dependida, B. A contém uma instância de B e a inicializa em seu construtor. Mudanças em B precisam ser refletidas em A também (digamos que B simplesmente trocou de nome, o nome da classe instanciada dentro do código de A também precisa ser trocado). A solução da inversão de dependência pra desacoplar é ter uma nova classe, C, que define uma interface a ser implementada por implementações concretas. A passa a depender de C. B também passa a depender de C, pois precisa dizer "eu implemento esta interface". A "inversão" se dá em B, que vai de dependida pra dependente. Mas, na hora de instanciar A, como tu vai saber o que instanciar? Interfaces não podem ser instanciadas. Bem, tu passa como argumento a A uma instância de B criada externamente, ou alguma classe que implemente a mesma interface. _Este_ detalhe é a injeção de dependência. Mas o que tu estava fazendo era a inversão de dependência que mencionei.
@costathoughts6 сағат бұрын
@ Uma faz com que tudo o que você receba e em sua classe concreta (ou sua implementação concreta) seja abstrações, ou seja, ao invés a classe que esta toda a logica de conexão do banco de dados e faz as operações da mesma, essa classe de db iria implementar uma interface com o CRUD. Ai na classe que tu usa essa DB o construtor vai receber a Interface. Beleza tirou o acoplamento. Agora eu preciso na classe que esta usando a DB "injetar" a referencia concreta do DB, simplesmente é isso.
@istarieМинут бұрын
@@gforcel ambas as técnicas estão no vídeo, ele só não citou o nome "Inversão de Dependências". *Injeção: Como mostrado no vídeo, significa receber uma dependência como parâmetro do seu construtor, e a instância dessa dependência é lidada do lado de fora da classe. *Inversão: Por definição, significa "Depender de abstrações e não de implementações". Isso quer dizer que ao invés de esperar uma classe como parâmetro, vc deve definir uma interface para essa classe implementar e utilizar a interface como dependência. No vídeo, temos um exemplo disso quando ele utiliza o *Protocol para definir a interface *EmailSender e implementar na classe *EmailService. Assim, a classe *Notification espera receber qualquer classe que implemente um *EmailSender, ao invés de cravar a dependência em um *EmailService. Normalmente são utilizadas juntas: você abstrai uma classe para uma interface e recebe uma implementação desta interface como argumento em outra classe, como dependência. Muitos frameworks famosos do mercado tem formas de utilizar essas técnicas em conjunto, normalmente chamadas de *IoC Container (IoC -> Inversion of Control) ou *Service Container.
@fadoricagames203119 сағат бұрын
Bom que nessa plataforma dá pra parcelar kkkkk
@nandomax318 сағат бұрын
O spring do Java é 90% um framework pra injeção de dependência 😅
@danilobruno8666Күн бұрын
Bom dia, Augusto. Teu curso da Udemy ainda vai ficar disponível pra quem quiser comprar? Ou tu vai tirar ele de lá e migrar totalmente? Porque vi que esse da desc é só de leetcode pra entrevista, teoricamente ele não compreende o conteúdo do curso, não entendi isso direito. Pode me explicar?
@GutoGalegoКүн бұрын
Esse é o da Udemy. Vou vender só pela nova plataforma mesmo. Tem um opcional pra adicionar de leetcode pra entrevistas, mas se não adicionar isso, é o mesmo curso, no mesmo valor, com mais conteúdo
@jeffersonpereira6594Күн бұрын
@@GutoGalegoBoa, pois eu acabei finalizando pela Udemy, já terminei todos, mas o adicional de leetcode para entrevistas eu achei interessante
@GutoGalegoКүн бұрын
@@jeffersonpereira6594 Dá pra comprar ele separado, só ele com desconto também, nos proximos vídeos eu falo mais sobre isso: pay.hub.la/RGfq0dk8iqDeL5IC5yog?coupon=WORKSHOP
@danilobruno8666Күн бұрын
Tá na mão. Vou revirar teu curso. Obrigado pelo conteudo de qualidade. @@GutoGalego
@jeffersonpereira659422 сағат бұрын
@@GutoGalego Opa, valeu mesmo, to comprando agorinha hehehe
@vitorlopesnocce108217 сағат бұрын
Eu nao entendi se o modulo com 10 exercicios para leetcode esta tambem dentro do curso de algoritmos
@GutoGalego17 сағат бұрын
É separado, ali no link tem os dois
@NerdForaDeCasa23 сағат бұрын
Para desenvolvedor C# teu curso ajuda?
@GutoGalego23 сағат бұрын
Se conseguir entender os vídeos aqui do canal ajuda sim, é na mesma pegada :)
@marcosfreitas964423 сағат бұрын
Onde posso acessar quais módulos tem o curso?
@GutoGalego23 сағат бұрын
No momento dá de ver na Udemy mesmo, só se for comprar compra pela plataforma nova, pq ta 99 reais e na udemy 349 :) www.udemy.com/course/algoritmos-e-estruturas-de-dados-leetcode/?referralCode=69EF947B98B4945CAE07
@Erick-jq3ywКүн бұрын
Augusto, eu estava pensando em comprar o seu curso de algoritmos da Udemy, mas notei que era em Python e eu sou mais de Java mesmo. Você acha que isso pode ser algum impeditivo no aproveitamento do curso?
@OneDev_23 сағат бұрын
Algoritmos vale pra toda linguagem man, é só adaptar os exemplos e atividades, ce já leu entendendo algoritmos? E em Python também, mais é perfeitamente adaptável Afinal pq importa é o conceito e não a linguagem, claro a explicação tem diferença e as vzs até gritante, mas nada impossível
@GutoGalego23 сағат бұрын
Se vc entende meus vídeos aqui no canal explicando com python, é super de boa sim. Os algoritmos e as estruturas não mudam, só um pouco a implementação. Se tiver em dúvida, assite qualquer video aqui no canal que eu resolvo leetcode e vê se faz sentido. O curso é nessa pegada
@lucasrochafernandes856818 сағат бұрын
Você é filho do Lucas Montano?
@MarcosVMSoares21 сағат бұрын
Nossa como OOP eh tao complexo pra coisa tao simples
@igorlmfs13 сағат бұрын
Vc tem alguma ideia do motivo da comunidade Python não gostar de Dependency injection? Me parece meio abominado pela maioria, haha