- 214
- 171 929
Milton Sampaio - Programação
Brazil
Приєднався 18 гру 2020
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
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
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
toppp demaiss
muito bom, finalmente entendi
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
Parabéns pelo o vídeo, trás sobre o padrão Repository. Sucesso!
Muito didático, valeu!
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!
Vou falar deles com certeza! Ainda vou colocar o simple fabric que nem é GoF, fique de olho!
Milton muito bom vc trazendo este conteúdo, já topei com problemas que foi uma boa solução aplicar por exemplo: Factory, Builder etc.
✍🏾✍🏾
legal
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.
Isso é muito bom. Se o segundo Loop for decrementado não daria bom? Vou testar mais tarde😊
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.
bora que bora estou no estudo continuo de c# para Backend
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!
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.
É 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!
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! 😊
Conteúdo bem explicado e completo num video curtinho desse, parabéns pela didática, muito bom!
obrigado pelas explicações ! Sua didática é muito boa.
Parabens irmão Deus abençoe seu trabalho.
Obrigado mestre !!! hoje eu compreendi vou tentar fazer com documentação
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?
Dá sim, é uma linguagem muito amigável para iniciantes.
Ah obrigado
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.
Milton seus videos são otimos!!! estava justamente trabalhando com backgroundservice em uma aplicacao para migrar dfes todo dia as 21
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
Desiste não! Sempre é tempo de retomar!
Sim retomando os estudos...agora tenho focar mais e não parar
Curti demais seus videos brother, tema mensagem e linguagem direta e relevante. Nao foi mais do mesmo, agregou bastante.
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.
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!
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.
Vivendo e aprendendo. Nunca vi isso antes
Você foi o primeiro "valeu demais" do canal! Muito obrigado!
É uma máfia
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.
salve mano, qual o processo pra conseguir de forma gratuita?
Valeu Milton!
Obrigado pelo conteudo.
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.
Ótima pergunta, eu poderia ter mostrado isso! É só você adicionar .Distinct() Ex: cursos.SelectMany(c => c.Alunos).Distinct().ToList();
Obrigado.
Show
Excelente explicação!
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.
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.
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.
você usa qual IDE/editor de código no Mac?
@@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
Bem didático 👏👏👏
boa!
Poderia trazer assuntos sobre Retry, Circuit Breaker e etc.
Anotado!
Ótimo conteúdo, sempre direto e bem explicado.
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
Muito bom seu vídeo, mesmo eu que nunca usei C# consegui pegar os conceitos que estava explicando, ótima didática, mais um inscrito.
Conteúdo top, vlw mestre. Se puder trás conteúdo de Mensageria seria top.
Obrigado! Eu tenho dois sobre mensageria, mas vou trazer mais!
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
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!!!!!
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!
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!!!
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.
Eita! Bom saber! Qualquer hora vou pegar pra testar isso aí, mas geralmente eu fico no Package Manager Console mesmo. Abraço!
Como eu faço para substituir arquivos no destino?
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!!!!
Agradeço as palavras!
Rapaz, pensar que criei um crontab psra fazer o que dava para fazer com esse recurso. 😂. Parabéns professor.
😅
Muito bom!