Milton Sampaio - Programação
Milton Sampaio - Programação
  • 214
  • 171 929
Padrões de Projeto - Design Patterns - Decorator
Você sabia que dá pra mudar a forma que uma classe funciona no seu programa sem nem ter o código fonte dela?
Por exemplo, você tem uma classe que vem de um pacote de terceiros e quer alterar alguma coisa nela, como fazer?
Hoje eu te mostro uma forma, usando o design pattern Decorator (também conhecido como Wrapper).
#dotnet
#csharp
#designpatterns
#padroesdeprojeto
Переглядів: 41

Відео

Design Patterns - Singleton
Переглядів 8414 днів тому
O Singleton deve ser o design pattern mais fácil de ser entendido, mas sua implementação pode guardar algumas surpresas. No vídeo de hoje eu te mostro três formas de implementá-lo, incluindo suporte à multithread e lazy loading. #dotnet #csharp #designpatterns #padroesdeprojeto
Padrões de Projeto - Design Patterns
Переглядів 10221 день тому
O que são os padrões de projeto e porque é importante conhecê-los. Embora o clássico livro Padrões de Projeto já tenha décadas, ele ainda é relevante e seu conteúdo é muito cobrado em entrevistas de emprego. Vem saber mais sobre eles! Padrões de Projeto - amzn.to/4eAuAdC Use a cabeça - amzn.to/4eCpSMF #dotnet #designpatterns #padroesdeprojeto #csharp #code
DevOps para programadores
Переглядів 65Місяць тому
Você pode não saber, mas já faz parte do DevOps. Nesse vídeo eu te explico o que é DevOps, qual sua importância para o desenvolvimento de software e como você, mesmo sendo júnior pode aprender mais sobre. Livro - O Projeto Fênix - amzn.to/4duXg6t Health Check - ua-cam.com/video/8MKxkcjglDo/v-deo.html Log - ua-cam.com/video/ARsHHPjtKDw/v-deo.html Livros - ua-cam.com/video/Dq7hvJK5HUk/v-deo.html ...
Any, Exists e Contains - Trabalhando com coleções - LINQ .NET
Переглядів 70Місяць тому
Any, Exists e Contains. Estes métodos vão te ajudar bastante ao trabalhar com coleções, mas é fundamental que você saiba pra que servem e quando a melhor forma de utilizá-los. #dotnet #csharp #linq
Algoritmo das duas bolas de cristal - Two Crystal Balls
Переглядів 104Місяць тому
Algoritmo das duas garrafas, ou duas bolas de cristal, ou duas frutas quaisquer... Nesse vídeo eu mostro como implementar esse algoritmo que envolve tanto a técnica de busca binária quanto busca linear, criando uma mistura delas, muito efetiva pra baixar sua complexidade Big(O). 00:00 - Início 01:24 - Explicação 10:40 - Código #TwoBottles #TwoCrystalBalls #algoritmos #programacao #dotnet #csharp
Tudo sobre o uso de NULL
Переглядів 90Місяць тому
Null no C# pode ser um assunto extenso. No vídeo de hoje eu trago muita informação sobre seu uso, os operadores que podem ser utilizados com ele: ! null forgiving ? null conditional ?? null coalescing entre outros. #dotnet #csharp #fundamentos
Teorema CAP
Переглядів 362 місяці тому
Você sabe o que é teorema CAP? Sabia que em um ambiente de sistemas distribuídos, é muito comum abrirmos mão da consistência dos dados 😮? Esse é o tipo de pergunta que aparece mesmo em entrevistas de emprego para programadores e não apenas para engenheiros ou arquitetos.
For e ForEach no .NET
Переглядів 652 місяці тому
Se você está pensando em pular esse vídeo, peço que reconsidere. Mesmo em assuntos básicos, ou melhor fundamentais (de fundamento) como este, é possível aprender, ou ao menos relembrar certas coisas. E como é impossível que você já tenha feito algum sistema médio porte pra cima, sem usar o for e o foreach, te convido a assistir ao vídeo. #dotnet #fundamentos #csharp
Select Many - LINQ
Переглядів 642 місяці тому
Talvez você já tenha utilizado o Select nas suas consultas LINQ mas você conhece o SelectMany? Com ele fica mais fácil trabalhar com coleções, principalmente quando falamos de listas de listas e te poupar alguns loops. #dotnet #csharp #linq #programação
Gateway, proxy reverso e load balancer
Переглядів 772 місяці тому
Você sabe o que é um gateway? Como ele funciona? E load balancer e proxy reverso? Vem ver esse vídeo rapidinho que eu te explico o que eles são e como funcionam. #internet #tecnologia #programação
Health Checks no .NET
Переглядів 832 місяці тому
Health checks são uma forma de você checar a "saúde" dos seus serviços, dessa forma garantindo sua funcionalidade ou até mesmo se antecipando ao aparecimento de problemas. Com poucas linhas você consegue colocar isso nos seus sistemas e é isso que eu trago hoje. #dotnet #aspnetcore #boaspraticas #api
Background Services no ASP.NET Core
Переглядів 1373 місяці тому
Você já precisou deixar um serviço rodando enquanto sua aplicação está no ar? Já quis ficar consultando algum serviço de tempos em tempos para atualizar alguma informação? Então background services, os serviços em segundo plano, é o que você precisa. Funciona com qualquer app ASP.NET, seja MVC, Razor, Blazor, API... #dotnet #aspnetcore #csharp
Entity Framework TagWith
Переглядів 753 місяці тому
Nesse vídeo eu te mostro o uso do TagWith e TagWithCallSite, além de implementar uma versão otimizada destes métodos pra te ajudar quando estiver debugando queries SQL do Entity Framework utilizando SQL Profiler. O código foi baseado no apresentado nesta apresentação: ua-cam.com/video/gZDw0IeS6f8/v-deo.htmlsi=g0yP2l7IZWxRefq3 #dotnet #entityframework #entityframeworkcore
Operador condicional nulo ? ?? ??? 😅
Переглядів 533 місяці тому
Operadores condicionais nulos e de coalescência nula. Não nomes bem complicados pra algo simples e que ajuda demais no dia a dia. No vídeo de hoje eu os apresento e dou dicas de como deixar o código mais enxuto e elegante ao trabalhar com null. #csharp #dotnet #fundamentos
Aula 26 - Algoritmos - Dicionário - Contagem de Palavras
Переглядів 683 місяці тому
Aula 26 - Algoritmos - Dicionário - Contagem de Palavras
Aula 25 - Algoritmos - Árvore binária - inversão
Переглядів 924 місяці тому
Aula 25 - Algoritmos - Árvore binária - inversão
Aula 24 - Algoritmos - Pilha - Parênteses Válidos
Переглядів 584 місяці тому
Aula 24 - Algoritmos - Pilha - Parênteses Válidos
Aula 23 - Algoritmos - Fila - Round Robin
Переглядів 874 місяці тому
Aula 23 - Algoritmos - Fila - Round Robin
Aula 22 - Algoritmos - Lista Ligada - Inversão
Переглядів 504 місяці тому
Aula 22 - Algoritmos - Lista Ligada - Inversão
Aula 21 - Algoritmos - Strings - Palíndromos
Переглядів 545 місяців тому
Aula 21 - Algoritmos - Strings - Palíndromos
Aula 20 - Algoritmos - Lista - Combinação de listas
Переглядів 485 місяців тому
Aula 20 - Algoritmos - Lista - Combinação de listas
Aula 19 - Algoritmos - Array - Selection Sort
Переглядів 575 місяців тому
Aula 19 - Algoritmos - Array - Selection Sort
Aula 18 - Hashset II
Переглядів 545 місяців тому
Aula 18 - Hashset II
Aula 17 - Hashset I
Переглядів 345 місяців тому
Aula 17 - Hashset I
Aula 16 - Dicionário II
Переглядів 515 місяців тому
Aula 16 - Dicionário II
Aula 15 - Dicionário I
Переглядів 595 місяців тому
Aula 15 - Dicionário I
Aula 14 - Árvores Binarias II
Переглядів 825 місяців тому
Aula 14 - Árvores Binarias II
Aula 13 - Árvores I
Переглядів 776 місяців тому
Aula 13 - Árvores I
Aula 12 - Pilha II
Переглядів 436 місяців тому
Aula 12 - Pilha II

КОМЕНТАРІ

  • @Distarur
    @Distarur 9 годин тому

    a bandeira da palestina na thumb do vídeo foi de propósito? vídeo bom demais! continue assim mano, gosto do seu trabalho aqui na internet

  • @vitorsouza4940
    @vitorsouza4940 2 дні тому

    toppp demaiss

  • @dodogoleiro2009
    @dodogoleiro2009 15 днів тому

    muito bom, finalmente entendi

  • @djalmaferreiradasilvajunio5852
    @djalmaferreiradasilvajunio5852 15 днів тому

    VOu ter que tirar essa certificação. O brabo é tirar ela para a empresa pagar R$1700. To quase tirando habilitação de moto e virando entregador de Ifood

  • @LuizMessias-xz8ep
    @LuizMessias-xz8ep 19 днів тому

    Parabéns pelo o vídeo, trás sobre o padrão Repository. Sucesso!

  • @douglasborges2967
    @douglasborges2967 21 день тому

    Muito didático, valeu!

  • @FabioRogeriosSantos
    @FabioRogeriosSantos 27 днів тому

    Tem um padrão que não me entra na cabeça, o padrão fabric gosto muito da sua didática, se possível queria entender de forma simples esse fabric e abstract fabric enfim, obrigado!

    •  25 днів тому

      Vou falar deles com certeza! Ainda vou colocar o simple fabric que nem é GoF, fique de olho!

  • @jeffersonsveiga
    @jeffersonsveiga 27 днів тому

    Milton muito bom vc trazendo este conteúdo, já topei com problemas que foi uma boa solução aplicar por exemplo: Factory, Builder etc.

  • @puto_de_ouro
    @puto_de_ouro Місяць тому

    ✍🏾✍🏾

  • @carlossouza5478
    @carlossouza5478 Місяць тому

    legal

  • @sovereignking9863
    @sovereignking9863 Місяць тому

    Milton, é possível um iniciante que apenas teve contato com lógica de programação (portugol) conseguir ler o livro Estrutura de Dados e Algoritmos com Javascript?

    •  Місяць тому

      Se a sua ideia é conhecer os algoritmos e como eles funcionam (que na real, é o intuito do livro), sim! O que você tiver dificuldade de entender, devido à falta de conhecimento da linguagem, você pode jogar no chatGPT e pedir pra ele te explicar o porque daquilo.

  • @marcosaquino21
    @marcosaquino21 Місяць тому

    Isso é muito bom. Se o segundo Loop for decrementado não daria bom? Vou testar mais tarde😊

  • @jeffersonsveiga
    @jeffersonsveiga Місяць тому

    Mais um video de altíssima qualidade, Milton traga as definições do uso do método Equals e os modos de override que pode fazer com ele.

  • @miz3e
    @miz3e Місяць тому

    bora que bora estou no estudo continuo de c# para Backend

  • @Cvalentina15
    @Cvalentina15 Місяць тому

    me deparei naquela fase da vida que ja quebrei pós pandemia , quero ser programador, porém muito indeciso em qual linguagem seguir, acha que no c# eu devo me encontrar , e é uma area promissora onde não será dificil conseguir uma vaga ? ?

    •  Місяць тому

      Quanto a se encontrar, eu não teria como palpitar. Quanto a ser promissora, sim, não só é, como já está estabelecida. Difícil de encontrar vaga, é e não é. Tem bastante vaga até, mas a primeira é sempre difícil. Procura o vídeo de road map e plano de estudos que tem aqui no canal e dá uma assistida, deve te dar um norte!

  • @paulosergiorodriguesdepaul4146
    @paulosergiorodriguesdepaul4146 Місяць тому

    Criei um algoritmo que procura pelo índice central da matriz e precisa de menos iterações para encontrar o índice procurado. Quanto maior a matriz menor a quantidade de iterações em relação ao algoritmo anterior. private int DuasGarrafas(bool[] dados) { int min, max, proc; min = 0;max = dados.Length - 1; proc = (min + max) / 2; if (max >= 0) { while (min < max) { if (dados[proc]) max = proc; else min = proc + 1; proc = (min + max) / 2; } if (dados[proc]) return proc; else return -1; } else return -1; }

    •  Місяць тому

      Excelente! O que você implementou é conhecido como busca binária e é muito mais eficiente do que o que eu fiz. Entretanto, você precisa sempre ficar atento ao que diz o problema (e a ideia do problema é sempre te pegar nos detalhes mesmo), o que você fez, embora mais eficiente, falha no problema das duas garrafas. Imagine um array de nove posições, onde a garrafa começa a quebrar já no índice 1: { false, true, true, true,true,true,true,true,true}. Você precisaria de mais do que duas garrafas pra achar o ponto inicial.

    • @paulosergiorodriguesdepaul4146
      @paulosergiorodriguesdepaul4146 Місяць тому

      É verdade. A maioria dos nossos erros são causados por não ler direito o enunciado.

    •  Місяць тому

      @@paulosergiorodriguesdepaul4146 Como eu disse no vídeo: eu travei a primeira vez que vi esse problema pq não conseguia imaginar uma garrafa que não quebrava depois e cair várias vezes 😅 Ao menos esse problema não te engana mais!

  • @anniepunk
    @anniepunk Місяць тому

    Não sei se é isso, mas quando você faz i -= pulo, logo após o primeiro for, não poderia ser i-=(pulo -1) ? Pois como o i aumenta de pulo a cada iteração no loop anterior, já sabemos que "i - pulo" é falso pois foi o valor testar anteriormente. Então precisaríamos testar só o índice seguinte. Em outras palavras, no caso do vídeo, você já tinha testado o índice 6. Aí não precisaria testar ele de novo, e sim a partir do 7.

    •  Місяць тому

      Temos uma campeã! Você foi rápida! 😊

  • @NicolasHstgz
    @NicolasHstgz Місяць тому

    Conteúdo bem explicado e completo num video curtinho desse, parabéns pela didática, muito bom!

  • @Sacos0
    @Sacos0 Місяць тому

    obrigado pelas explicações ! Sua didática é muito boa.

  • @renanvolkers
    @renanvolkers Місяць тому

    Parabens irmão Deus abençoe seu trabalho.

  • @carlosnascimeto2929
    @carlosnascimeto2929 Місяць тому

    Obrigado mestre !!! hoje eu compreendi vou tentar fazer com documentação

  • @ycarouchi725
    @ycarouchi725 2 місяці тому

    Quero aprender a programar e tô vendo lógica da programação porém tô com muita dúvida em qual linguagem focar sera q c# da pra iniciar bem?

    •  2 місяці тому

      Dá sim, é uma linguagem muito amigável para iniciantes.

    • @ycarouchi725
      @ycarouchi725 2 місяці тому

      Ah obrigado

    • @Cvalentina15
      @Cvalentina15 Місяць тому

      minha duvida é a mesma do amigo , c# ainda é muito promissor nas vagas futuramente ? seria facil arrumar um emprego com essa linguagem ?

    •  Місяць тому

      ​@@Cvalentina15 Essa é uma pergunta complicada! Não é fácil arrumar emprego em nenhuma linguagem! Dito isso, eu acho que é mais fácil em C# do que nas outras pela quantidade de vagas comparada com os programadores. Talvez, se fosse pra recomendar outra linguagem, seria JavaScript, mas o problema de JS é que tem gente demais.

  • @Shagrathkampf
    @Shagrathkampf 2 місяці тому

    Milton seus videos são otimos!!! estava justamente trabalhando com backgroundservice em uma aplicacao para migrar dfes todo dia as 21

  • @carlosnascimeto2929
    @carlosnascimeto2929 2 місяці тому

    Vlw Milton tinha tempo que nao vinha aqu no seu cancal, eu travei nos estudos tinha certeza que voce tinha toimas dicas para proceguir....agora é por em pratica

    •  2 місяці тому

      Desiste não! Sempre é tempo de retomar!

    • @carlosnascimeto2929
      @carlosnascimeto2929 2 місяці тому

      Sim retomando os estudos...agora tenho focar mais e não parar

  • @raphaelramalho5960
    @raphaelramalho5960 2 місяці тому

    Curti demais seus videos brother, tema mensagem e linguagem direta e relevante. Nao foi mais do mesmo, agregou bastante.

  • @charlesmontilla
    @charlesmontilla 2 місяці тому

    Muito interessante, concordo plenamento com a parte da Gambiarra com o TypeScript, só acho que você esta um pouco desatualizado sobre PHP, (esta na versão 8.3) é normal, visto que nós vivemos em "bolhas" e isso ofusca um pouco nossa visão para além. Norte da Europa e boa parte da Asia, é "dominado" por PHP.

    •  2 місяці тому

      Não duvido nem um pouco da força e relevância do PHP, afinal de contas, todo lugar tem um Wordpress! Mas você está certo, não faz tempo que não vejo nada de PHP mesmo! Valeu!

  • @dopaulovlog
    @dopaulovlog 2 місяці тому

    Pelo que observo, C# e Java sempre foram linguagens nível Enterprise, ou seja, usadas por grandes empresas como bancos, indústrias, etc. Linguagens baseadas em JS é mais comum em apps, sites, e-commerce. Python vejo mais em soluções voltadas para análise de dados. Não vejo isso mudar tão cedo.

  • @MarcelAltaPressao
    @MarcelAltaPressao 2 місяці тому

    Vivendo e aprendendo. Nunca vi isso antes

    •  2 місяці тому

      Você foi o primeiro "valeu demais" do canal! Muito obrigado!

  • @Luruch
    @Luruch 2 місяці тому

    É uma máfia

  • @OMeuStartt
    @OMeuStartt 2 місяці тому

    Vou iniciar agora os estudos para a az900, não sabia que dava pra tirar de forma gratuita rs Acabei pagando, mas com essa informação consigo salvar o bolso de outros colegas futuramente.

    • @andremendonca288
      @andremendonca288 Місяць тому

      salve mano, qual o processo pra conseguir de forma gratuita?

  • @ademivieiraandrade9962
    @ademivieiraandrade9962 2 місяці тому

    Valeu Milton!

  • @renemartinsbr
    @renemartinsbr 2 місяці тому

    Obrigado pelo conteudo.

  • @paulosergiorodriguesdepaul4146
    @paulosergiorodriguesdepaul4146 2 місяці тому

    Supondo que eu tenho um aluno fazendo dois cursos, tem como não repetir o aluno para saber a quantidade real de alunos? Obrigado pelos excelentes vídeos.

    •  2 місяці тому

      Ótima pergunta, eu poderia ter mostrado isso! É só você adicionar .Distinct() Ex: cursos.SelectMany(c => c.Alunos).Distinct().ToList();

    • @paulosergiorodriguesdepaul4146
      @paulosergiorodriguesdepaul4146 2 місяці тому

      Obrigado.

  • @josuealves7929
    @josuealves7929 2 місяці тому

    Show

  • @gizele1651
    @gizele1651 2 місяці тому

    Excelente explicação!

  • @eversonfigueiro9837
    @eversonfigueiro9837 2 місяці тому

    Eu gostaria muito de migrar de Java para C#. Trabalho há 14 anos com Java e estou um pouco cansado da linguagem. Nestes 14 anos trabalhei por 11 anos como Analista de qualidade e automação de testes e 2 anos como desenvolvedor java. Agora com 44 anos perdi o emprego e não encontro outra vaga. Como eu era junior ainda em Java, o retorno esta muito complicado. Agora penso em abandonar a área de TI, mas como programar é meu único divertimento pensei em investir em C# como diversão, já que o mercado de trabalho não importa mais para mim. O grande problema é que gosto de hospedar meus projetos em casa, hoje eu uso um PC com Linux Ubuntu para meus projetos pessoais e não sei nem por onde começar para fazer isso com C# sem gastar um centavo como eu faço com Java.

    •  2 місяці тому

      Dá uma olhada na documentação, mas pra ser sincero, nem tem muito o que olhar, é só instalar e usar. Depois do .NET Core é muito fácil você trabalhar com C# tanto em Windows, Linux e Mac. Pra você ter uma ideia, minha preferência é desenvolver em Windows e rodar em Linux, mas no trabalho desenvolvo em Mac, com hospedagem em Linux.

    • @eversonfigueiro9837
      @eversonfigueiro9837 2 місяці тому

      Muito obrigado, vou dar uma olhada como hospedar em Linux. Se eu gostar do processo eu migro, esta é minha única barreira. Abandono o Java hoje mesmo.

    • @jeanlucas06
      @jeanlucas06 2 місяці тому

      você usa qual IDE/editor de código no Mac?

    •  2 місяці тому

      @@jeanlucas06 Uso o Rider, mas confesso que eu não gosto. Minha preferência é Visual Studio no Windows e em segundo, VS Code no Linux

  • @aelxbc
    @aelxbc 2 місяці тому

    Bem didático 👏👏👏

  • @carlossouza5478
    @carlossouza5478 2 місяці тому

    boa!

  • @jeffersonsveiga
    @jeffersonsveiga 2 місяці тому

    Poderia trazer assuntos sobre Retry, Circuit Breaker e etc.

    •  2 місяці тому

      Anotado!

  • @jeffersonsveiga
    @jeffersonsveiga 2 місяці тому

    Ótimo conteúdo, sempre direto e bem explicado.

  • @julifelix4415
    @julifelix4415 2 місяці тому

    Esclareceu minha dúvida, meu professor é extraordinário tbm, mas eu tava quebrando cabeça com um método e acabei não entendendo completamente o que era kkkk Vlw pelo vídeo

  • @oliverperfil
    @oliverperfil 2 місяці тому

    Muito bom seu vídeo, mesmo eu que nunca usei C# consegui pegar os conceitos que estava explicando, ótima didática, mais um inscrito.

  • @jeffersonsveiga
    @jeffersonsveiga 2 місяці тому

    Conteúdo top, vlw mestre. Se puder trás conteúdo de Mensageria seria top.

    •  2 місяці тому

      Obrigado! Eu tenho dois sobre mensageria, mas vou trazer mais!

  • @GustavoCosta-jr1mh
    @GustavoCosta-jr1mh 3 місяці тому

    Top o vídeo, mano. Mudei a Stack agora de Nodejs para C# e tô apanhando um pouco nos testes ainda. Esses vídeos ajudaram bastante a entender o funcionamento do Xunit

  • @FabioRogeriosSantos
    @FabioRogeriosSantos 3 місяці тому

    Professor gostaria muito de um exemplo aplicando um middleware de login para seguir para determinadas "controlers" so se estiver logado! Fantástico sua didática ficarei muito grato em poder aprender isso no seu canal!!!!!

    •  3 місяці тому

      Eu que agradeço! Isso que você está falando é exatamente o que faz o AddAuthentication e AddAuthorization. O primeiro serve para saber quem o usuário é, através de login e senha e o segundo pra saber o que ele pode fazer. Vou fazer um vídeo implementando eles pra você ver. Abraço!

    • @FabioRogeriosSantos
      @FabioRogeriosSantos 3 місяці тому

      Só para complementar professoe me refiro a um serviço web api para ser consumido, tipo por algum projeto externo, e se o mesmo é válido para um MVC comum no mesmo projeto, obrigado novamente!!!

  • @wesleyall
    @wesleyall 3 місяці тому

    Eae Milton Beleza ? Cara estou passando por esse problema, diferente do seu exemplo, eu estou usando CLI do dotnet pra fazer as migrations e por algum motivo, que não sei dizer, se seu projeto estiver usando essa configuração de criar a pasta migration em outro Projeto, a CLI NÃO FUNCIONA! Após vários testes, usei o Package Manage Console o mesmo que você usou no seu exemplo, e funcionou! Fiz clone no seu repositório e o erro apresentado é o mesmo, so funciona pelo Package Manage Console. So quero deixar registrado essa frustação que passei kkkkk, concluo que o CLI do dotnet ainda não tem suporte para resolver tal configuração.

    •  3 місяці тому

      Eita! Bom saber! Qualquer hora vou pegar pra testar isso aí, mas geralmente eu fico no Package Manager Console mesmo. Abraço!

  • @brenoferreiradepaulo1413
    @brenoferreiradepaulo1413 3 місяці тому

    Como eu faço para substituir arquivos no destino?

  • @FabioRogeriosSantos
    @FabioRogeriosSantos 3 місяці тому

    Raramente eu faço comentário em vídeos no UA-cam! Mas tive que agir desta vez, e dizer que sua didática é incrível, vou tentar absorver todos os seus vídeos parabéns novamente!!!!

    •  3 місяці тому

      Agradeço as palavras!

  • @Osabino
    @Osabino 3 місяці тому

    Rapaz, pensar que criei um crontab psra fazer o que dava para fazer com esse recurso. 😂. Parabéns professor.

    •  3 місяці тому

      😅

  • @PHCM_DEV
    @PHCM_DEV 3 місяці тому

    Muito bom!