Para de resolver problema imaginario! (Scaling Software)

  Рет қаралды 50,314

Lucas Montano

Lucas Montano

Күн бұрын

Пікірлер: 177
@danjovis
@danjovis 4 ай бұрын
1:05 "Isso é escalável cara?" (são apenas 10 itens na lista) é desse jeito mesmo kkkkkkkkkkkkkkkkkkkk.
@matheuscode4163
@matheuscode4163 4 ай бұрын
KKKKKKKKKKKKKKKKKKKKKKKKKKKKK
@JoaoSilva-in8ht
@JoaoSilva-in8ht 4 ай бұрын
Fico puto kkkkkkkkkkkkkkkkkkkkkkkkkkkk
@fooxmotoroad
@fooxmotoroad 4 ай бұрын
aham, só 10 itens e 12.000 pedidos só pela manhã! kkkkkk ( minha realidade.... quem dera se tivessem dado valor nisso antes)
@davidm.1263
@davidm.1263 4 ай бұрын
10 itens na lista agora, mas e se esses 10 virarem 100000?
@imvictorsoares
@imvictorsoares 4 ай бұрын
Eu não sou programador, tô bem no comecinho. E assisto todos os seus vídeos mesmo sem entender porra nenhuma KKKKk
@evandromsf.9426
@evandromsf.9426 4 ай бұрын
Continue Mano! Eu comecei igual você. Hoje em dia já entendo metade e até completo os raciocínios. Foi muito bom passar por isso!
@alandlondesousa1098
@alandlondesousa1098 4 ай бұрын
Eu também tô do mesmo jeito mano kkkk
@matheuscamargo2457
@matheuscamargo2457 4 ай бұрын
Eu também kkkkkk
@Eiro_FEC
@Eiro_FEC 4 ай бұрын
Acho que vcs estão apaixonados no mensageiro, não na mensagem 😂
@awaxdem2013
@awaxdem2013 4 ай бұрын
Tu tá trabalhando como programador?
@elvispalace
@elvispalace 4 ай бұрын
migrando java pro go com 10 users mensais
@leonamcruz9694
@leonamcruz9694 4 ай бұрын
Kkkkkk ai é foda
@lxttledemonking
@lxttledemonking 4 ай бұрын
se tiver 1 dev cansado do bloat na equipe já vale a pena kkkkkkkkkkk
@shablauzin2052
@shablauzin2052 3 ай бұрын
KKKKKKKKKKKKK pqp, vai precisar de uma mensageria pra isso aí
@FelipeLimaSilva
@FelipeLimaSilva 4 ай бұрын
Discutimos as mesmas coisas durante uma década , nessa area o que mais existe é conflito de egos, o importante e simplificar ao máximo para construir algo realmente de grande valor. Linguagem é só um detalhe o importante e o modelo e design.
@nathanpma
@nathanpma 3 ай бұрын
Falou tudo, brigas de egos bestas que no final, não leva a nada.
@Robertskter
@Robertskter 4 ай бұрын
Cache, indexes, dB alta disponibilidade, não aguentou 4k rpm. No fim das contas as queries estavam executando no servidor redundante que tem alta latência e metade dos recursos esperados, tudo pq a equipe que mantém o serviço de banco relacional inverteu a poha das configs. Até achar esse BO fui questionado de todos os lados sobre o design de código que sempre esteve OK
@paulopma
@paulopma 4 ай бұрын
4k rpm. Tá falando de motor de carro?
@brun0ventura
@brun0ventura 4 ай бұрын
@@paulopma requests per minute
@ytalodev
@ytalodev 4 ай бұрын
Muito bom seu conteudo Lucas, estou nessa fase de desacomplamento, adicionando interfaces, para no futuro facilitar troca de banco de dados, de ferramenta de cache, de meios de pagamento... Tudo isso é muito top. Muito bom ver, como você que trabalha em uma grande empresa faz. 👏👏👏
@edimachzin
@edimachzin 4 ай бұрын
Cara sobre i18n, eu recentemente tive que fazer isso em um projeto relativamente grande que não tinha nada implementado. Foi um desafio muito legal e consegui concluir em duas semanas, sozinho. Basicamente fazendo isso que você falou, implementando um framework do zero e substituindo todas as strings. Eu sinceramente acho que acabou compensando mais ter feito isso em uma tarefa só, "no final", ou seja, custou menos estas duas semanas do que se os devs tivessem que ter lidado com isso desde o início, feature por feature. Mas é o que vamos ter que fazer a partir de agora, é chatinho, mas acostuma. Então nesse caso eu diria que é melhor fazer tudo em uma vez só, quando for preciso. Ou no máximo vai dar na mesma fazer desde o início. Enfim, meu caso é só um exemplo, não sei se aplica a toda situação. Se alguém tiver curiosidade, basicamente fiz isso em um projeto usando react-i18next junto com i18n padrão do Ruby on Rails. Usei Crowdin para pré-traduzir os YML e JSON em EN, PT e ES. Ficou muito bom com esta stack, diga-se de passagem haha.
@cassiosouza10
@cassiosouza10 4 ай бұрын
Sim, esse comentário dele da internalização e das filas foi infeliz, também já tive que internacionalizar um app e demorei poucas semanas e foi bem tranquilo. Quanto as filas, trabalho em uma empresa que tem um app que tem 150 mil usuários pagante e não temos fila de processamento também. Ótimo canal em geral, mas esse vídeo veio com péssimos exemplos.
@psychotruta
@psychotruta 4 ай бұрын
i18n é show, usei ele com react e usei as strings naquele formato t('string'). O resto (tradução e inserção nos arquivos de tradução) foi tudo feito com um bot em python que foi atrás de todas as strings do i18n do projeto, traduziu automaticamente com uma api externa e inseriu nos arquivos.
@artu_almeida
@artu_almeida 3 ай бұрын
Quando alguém te perguntar: "Mas isso é escalável?", responda com outra pergunta: "Precisa ser?"
@shablauzin2052
@shablauzin2052 3 ай бұрын
Cara, é muito real oq ele fala nos vídeos KKKKKKKK Sou estagiário e a maioria que vejo acontece. "Isso é escalável?????" KKKKKKKKKKKKK
@vilmarfilho5694
@vilmarfilho5694 Ай бұрын
50% Conteúdo 50% Inter... Internalia... Internacionalização Perfeitamente Balanceado
@ivensauro
@ivensauro 4 ай бұрын
Aprendi mais nesse video que em 6 anos de trabalho, coisas que fui aprendendo e pegando aos poucos, como i18n logo de começo, log, abstrair servicos de terceiros/cloud
@rjaskonis
@rjaskonis 4 ай бұрын
Tem os níveis: jr, pleno, senior e o cara do comercial/marketing com habilidades em TI. O último se preocupa em resolver o problema do cliente, o restante fica sentindo tesão em escovar bits e new stacks que resolvem algo que as pessoas não se importam realmente a menos que afete a vida delas, e se afetar, não vão ligar como você fez pra resolver hahah
@veecks
@veecks 4 ай бұрын
No ponto. 75% das vezes que programo algo eu esqueço que eu quero grana e não a obra-prima da engenharia de software
@felippealencar
@felippealencar 3 ай бұрын
To exatamente ajudando na "internacionalização" de um projeto, passando as strings pra chamada de localization
@rstecnology
@rstecnology 4 ай бұрын
Caraca que vídeo massa, amanhã mesmo vou gerar cards para os devs do time para poder avaliar se nossas aplicações são escaláveis !
@Lucas-rz9kk
@Lucas-rz9kk 3 ай бұрын
“Inter. na… inter…inter… internacioliza. nação. inter… interna… internacionalização“ 😂😂😂
@fabiosimedo
@fabiosimedo 4 ай бұрын
Muito engraçado o jeito que você fala "reAAAAct" hahahah muito bom!!!
@OMarketingCube
@OMarketingCube 4 ай бұрын
Sabe aquela pessoa que depois que aprende a usar Photoshop quer colocar todos os efeitos em tudo? A versão Dev disso são problemas de escala imaginários!
@mateusbernardi2352
@mateusbernardi2352 4 ай бұрын
No meio da pandemia trabalhei em alguns projetos pra uma loja loja de roupa bem conhecida, daquelas que você encontra em qualquer shopping, essa preocupação era constante, mesmo tendo uma base de meia dúzia de usuários. Microserviço pra todo lado, serviço de mensageria, várias instâncias de CosmoDB, porque na visão de algum "arquiteto" fazer join ou separar em várias queries deixava o sistema lento. Algumas semanas atrás tentei acessar, todos já foram removidos, só serviu pra jogar dinheiro fora.
@KlethonioFerreira
@KlethonioFerreira 4 ай бұрын
Pra mim hoje tudo tem que ser escalável, principalmente se você já tem experiência naquilo. Já planejei escalabilidade que parecia desnecessário e agilizou novas implementações para menos de 20% do tempo 2 anos depois, otherwise tudo teria que ser refeito, portanto mais que o dobro do tempo da primeira implementação. Hoje em dia boilerplate é mínimo. (Agora refactor é outra questão)
@neverf8421
@neverf8421 4 ай бұрын
Meu tech lead implicou comigo porque eu fiz um if ao inverso do que ele pensou kkkkkkkkkk Ele é gente boa, no final consegui convencer ele que dava na mesma.
@Mestre_tainha
@Mestre_tainha 4 ай бұрын
Que isso, sou tech lead e não ligo pra essas perfumarias.
@LuisFernandoGaido
@LuisFernandoGaido 4 ай бұрын
Existem brigas boas e brigas inúteis. Essa certamente é inútil.
@brendonberzins
@brendonberzins 4 ай бұрын
O maior problema é quando o dev tenta explicar para o cliente que a aplicação dele seria melhor se fosse escalável 😂 E o cliente no final das contas só tá ligando para "Tá funcionando? Então tanto faz"
@saitamablz1512
@saitamablz1512 4 ай бұрын
deixei e usar muitos aplicativos por causa de travamento e bugs
@felipecarvalho5647
@felipecarvalho5647 4 ай бұрын
​@@saitamablz1512mas travamentos e bugs é diferente de ser ser escalável, pode ser que não seja seja escalável mas ser rápido e sem bugs
@hebertando
@hebertando 4 ай бұрын
​@@saitamablz1512diz um exemplo
@arthurfetzner26
@arthurfetzner26 4 ай бұрын
Para resolver problemas de escala, basta programar em Scala. 😆
@SmokeGearStore
@SmokeGearStore 4 ай бұрын
Tem que cuidar só pra não deixar pra "depois" e se deparar com a necessidade de refatorar um elefante gigantesco porque não se preocupou e fez "evolutivo".
@tvdasala2413
@tvdasala2413 4 ай бұрын
Empresa que não tem esse dinheiro sempre deixará para depois ou para ultimar hora. É sempre assim, não tem jeito.
@mutv70
@mutv70 4 ай бұрын
O que eu costumo fazer é desenvolver aquela solução, já pensando numa possível escala, mas espero os usuários utilizar antes pra entender a necessidade. Quando é algo que já imagino que vai ter bastante acesso aí n tem muita mistério, é teste de carga e otimização. Mas geralmente é uma paginação ali, um cachezinho aqui.
@dami-i
@dami-i 4 ай бұрын
Lá na firma a gente usa o termo "expansível" pra se referir a inclusão de features e "escalável" para se referir ao aumento no número de usuários.
@ronansoares3287
@ronansoares3287 4 ай бұрын
Conteúdo valioso! Vlws pelas dicas👏🏻
@FelipeBarros1008
@FelipeBarros1008 4 ай бұрын
A primeira parte do vídeo eu chamo de adolescência do programador, quando os hormónios estão a flor da pele e o programador quer sair pimbando tudo… mas acaba fazendo mais do que precisa e passando vergonha…
@danielwicki248
@danielwicki248 4 ай бұрын
E se eu receber 10 mil acessos por segundos, e se eu vender para china e japão, e se o mundo entrar em colapso e o pagamento agora é somente via graveto de cedro, e se.... enquanto isso o filho do zinho fez o crud básico e vendeu pro zé da padaria e você está com seu projeto perfeito só dando prejuízo por nunca sair do papel. saber dosar o que o cliente precisa e pode pagar é muito mais importante do que produzir uma ferrari e o cliente só consegue pagar um fusca, ambos saem no prejuízo!
@ruptura7305
@ruptura7305 4 ай бұрын
Eu não sou programador e a minha área de atuação é T.I mas tudo que eu aprendo aqui me ajuda de forma absurda. 😂
@jhony_tech
@jhony_tech 4 ай бұрын
essa semana tive uma reunião com um time Dev terceiro, 1 mês da última reunião, na última reunião tinha passado o que era pra ser feito, chegou no dia da reunião não só não tinham feito nada do que falei como chegaram com um diagrama do banco remodelado, apenas um detalhe, o projeto deles era um front específico 😂
@ChristianMoryah
@ChristianMoryah 4 ай бұрын
"depende", a palavra mais potencialmente pretenciosa dos engenheiros de SW
@edimachzin
@edimachzin 4 ай бұрын
Eu tenho a impressão que microsserviços tem se tornado cada mais fácil de implementar e que pode até virar um padrão da indústria. Mas eu teria muito cuidado mesmo sobre a adoção em certos projetos. Mas até acho viável adotar desde o início, mesmo em projetos pequenos. Certamente requer um bom nível de maturidade dos envolvidos. Mas isso vale para tudo, tem gente que até hoje não sabe nem usar direito um monolito baseado em MVC básico.
@leassisbr
@leassisbr 3 ай бұрын
nem ferrando que é mais facil de um monolitico. Nem ferrando. só ter que ficar sincronizando dados entre varias aplicacoes, ser eventualmente consistente, nao ter ponto unico de falhav ja te faz ser MUITO mais complexo. Agora que for pra implementar cagado, com um monte de aplicacoes apontando para o mesmo banco de dados Eu nao penso duas vezes em fazer em monolitico se eu o projeto é pequeno.
@edimachzin
@edimachzin 3 ай бұрын
Colega eu não disse que é mais fácil. Aliás, eu não afirmei absolutamente nada na direção do que está falando, até concordo contigo. Abraço
@leassisbr
@leassisbr 3 ай бұрын
@@edimachzin ué... Seu comentário começa dizendo que está se tornando mais fácil implementar. Talvez mais fácil no sentido de comparar com 10 anos atrás, e não comparado com monolítico como deu a entender. Aí sim, faz sentido
@caiomelo756
@caiomelo756 4 ай бұрын
Eu fico me perguntando como que alguém vai aprender esses conceitos mais "avançados" sem aplicar eles em algum lugar, é obvio que ao se pensar num produto real o arquiteto vai ter que considerar uma gama gigantesca de informações pra deixar o produto factível, e que caso ele pense em problemas que ele ainda não tem vai acabar causando o over engineering. O que me preocupa é como alguém se torna capaz de resolver um problema de escala sem ter encarado um problema do tipo antes? As vezes criar um side project inchado pra tentar resolver os problemas nele é uma boa saída.
@LucasMartins-sl7lj
@LucasMartins-sl7lj 3 ай бұрын
INTERNACIONALIZAÇÃO, ufa
@DanielPitico
@DanielPitico 4 ай бұрын
14:52 rapaz o que eu mais vejo aqui no projeto é a lógica toda na controller, fazendo consulta direta no banco ou salvando as alterações, service só pra chamar outra API, repository não existe, valores como "passwordKey" pra poder fazer tal requisição sendo comparada com string hardcode. Quando eu ousei mover o código da controller pra service porque precisava de 2 controllers acessando ele quase levei uma lapada na daily kkkkk
@victorkinoshita9575
@victorkinoshita9575 3 ай бұрын
Em tecnologia, existe um mercado de produtos, consultorias e conhecimento. Como hoje tudo é mercadoria, estamos imersos num espaço onde tem um monte de feirante gritando para te vender alguma coisa. Quanto maior a empresa, maior será a banca e maior será o recurso gasto para chamar sua atenção. E digo isso não de forma pejorativa. Conforme o tempo vai passando (e quebrando muito a cara) vc vai pegando a malandragem e entendendo se estão tentando te vender um vaca leiteira quando vc apenas procura um peixe. Sobre os microserviços... +- 10 anos atrás um mercado disso começou a surgir (muito impulsionado pelas bigtechs) e empresas viram uma oportunidade de lucrar em cima disso. Muita gente adotou - grande parte quebrou a cara, inclusive eu - e eles encheram o bolso de dinheiro. Algumas coisas legais surgiram, como o docker e orquestradores de serviços, mas muito chorume escorreu.
@rcarubbi
@rcarubbi 4 ай бұрын
O exemplo da classe boleto do nubank, concordo que nao precisa da factory só pra um banco mas não custa nada fazer um NubankBoleto e uma interface pro dia que mudar de banco.
@RaphaelSousa-or1dl
@RaphaelSousa-or1dl 3 ай бұрын
Cara concordo, mas até que ponto conseguimos criar um boa abstração que será realmente util se não tivermos mt conhecimento do dominio? Por exemplo hoje em dia existem boletos que retornam pix junto não só o codigo de barras, será q abstração q criamos anos atrás ainda é útil? Ou vamos ter que refatorar de qualquer modo? Venho pensando nisso em extender o máximo o momento da criação da abstração.
@vitorsilva-or1dj
@vitorsilva-or1dj 4 ай бұрын
parecia que o sr estava chapadao nesse video com tantos cortes
@filipester
@filipester 4 ай бұрын
Nem sou dev mas esse canal tá bem massa
@rrsouzaf
@rrsouzaf 4 ай бұрын
cara eu amei esse vídeo!!!! 👍👍👍
@paulorestaino3208
@paulorestaino3208 4 ай бұрын
Bom dia lucas e para a comunidade, comecei a assistir recentemente o seu canal e tem sido bem proveitoso e benefíco para ampliar o meu gama de pensamento em relação ao mercado de tech. teriam alguma indicação de algum criador de conteúdo voltado para IA/ML? gostaria que o mesmo fosse similar ao Lucas para assistir os vídeos
@seveng0th
@seveng0th 4 ай бұрын
Muitas coisas se resolvem tendo noção de big o e assíncronia.
@joseluizdurigon8893
@joseluizdurigon8893 4 ай бұрын
É igual design pattern. Difícil mesmo é saber como, onde e quando aplicar
@hurakann
@hurakann 4 ай бұрын
Push -f pra main e se rodar o teste passou. Ingualzin os caras da crowdstrike kk
@guilherme-guedes
@guilherme-guedes 4 ай бұрын
Como poderia dizer o mano Deyvin, em algum momento "escalabilidade" foi "pirâmide". Lembro de uma época em que pra qualquer MVP e afins essa perguntava era levantada.
@gleitonfranco1260
@gleitonfranco1260 4 ай бұрын
Exatamente, tanta coisa mais importante para colocar na aplicação 🤦‍♂
@kawninjaful
@kawninjaful 3 ай бұрын
Divida tecnica e quando vc financia um carro e depois de uma semana e demitido. Essa e a unica divida tecnica que importa.
@sieghhart573
@sieghhart573 3 ай бұрын
Olá Lucas e pessoal, eu sou iniciante e fiquei em duvida no minuto 14:50. Eu desenvolvi um sistema CRUD por exemplo em Spring, essa API do CRUD não deve estar no mesmo projeto que o banco está modelado? Devem ser projetos diferentes se comunicando?
@LucasMontano
@LucasMontano 3 ай бұрын
pode estar no mesmo projeto, tu pode ter um “monorepo”
@sieghhart573
@sieghhart573 3 ай бұрын
@@LucasMontano Muito obrigado
@lzcoder
@lzcoder 4 ай бұрын
Aprendi uma palavra nova: internacionalização 😅
@MarceloAugustoInfanger
@MarceloAugustoInfanger 4 ай бұрын
eu sofro da sindrome do Overengineering
@briansoftware849
@briansoftware849 4 ай бұрын
somos 2
@gabrielrissi6583
@gabrielrissi6583 4 ай бұрын
Acho que é comum de isso acontecer, programadores acabam se empolgando quando aprendem coisas novas, então, acaba sendo meio que 8 ou 80 na hora de desenvolver. Pessoalmente tento aplicar o que aprendo, mas, sem exagerar demais na complexidade, até porque, excesso de recursividade vai fazer com que eu mesmo tenha dificuldade em ler meu código daqui algum tempo, por isso, acho que nessas horas o K.I.S.S. (Keep It Simple, Stupid) é uma boa prática à ser seguida pra mensurar a complexidade.
@MarceloAugustoInfanger
@MarceloAugustoInfanger 4 ай бұрын
@@gabrielrissi6583 a minha solução é fazer documentação , antes de querer fazer codigo , escreve a ideia no papel , depois de um tempo revisa , ai vc vai poder perceber se a ideia é boa ou não
@Urukpensador
@Urukpensador 4 ай бұрын
Somos 3
@code_masters3621
@code_masters3621 4 ай бұрын
irmão você esta a cara do jimmy neutron.
@rafaellimavieira4596
@rafaellimavieira4596 4 ай бұрын
passei pela onda do microservices e não fui contaminado rsrs
@ArndtGustavo
@ArndtGustavo 4 ай бұрын
11:06 é só pra "mim" trabalhar
@ricardonacif5426
@ricardonacif5426 4 ай бұрын
Internacionalização eh sempre early optimization. Quantos % dos negócios de vcs internacionalizaram?
@ojCezarFerreira
@ojCezarFerreira 4 ай бұрын
The name? Is Lucas Montano!
@jeffxd9380
@jeffxd9380 4 ай бұрын
@LucasMontano pq vc disse que não é mais senior??
@jeffxd9380
@jeffxd9380 4 ай бұрын
@@RossoFala o Lucas falou que ele mesmo não é mais sênior. Eu não entendi isso, sacou?
@LuisFerrarezi
@LuisFerrarezi 4 ай бұрын
Cara o que mais tem é Dev querendo papagaiar que tem que que usar kubernetes, com configuração para subir até 10 pods no pico pq pode acontecer de ter 100K usuários no mesmo segundo e bla bla bla bla bla, e o aplicativo nem ao menos está lançado. NÃO TEM ABSOLUTAMENTE NINGUÉM USANDO, então primeiro lança a parada e coloca o monitoramento e vai vendo como anda no dia a dia, a partir do momento que ver que tá começando a dar perdas aí sim tem um problema pra resolver.
@Urukpensador
@Urukpensador 4 ай бұрын
Uai, lucas montando virou staff?
@arthurgabriel-jh2nc
@arthurgabriel-jh2nc 4 ай бұрын
Monolíto é tão bom de falar, que até o jeito certo 'monólito' parece errado.
@gdalfovo
@gdalfovo 4 ай бұрын
Me deu taquicardia ao assistir esse vídeo
@christianlopesdesouza6871
@christianlopesdesouza6871 3 ай бұрын
estou justamente nesse momento da vida kkkkk
@andreymonteirohl
@andreymonteirohl 4 ай бұрын
Na minha opinião a arquitetura da solução em si deveria ser algo desde o dia 0. Eu já vi muita conversa: De começo vamos criar um monolito depois conforme necessidade a gente ajusta arquitetura... Ou até mesmo a implementação de uma pdrão de projeto: Vamos implementar esse aqui depois a gente muda caso precise... Ai o cara nunca refatora porque envolve testes regressivos e fere o O do SOLID Doce ilusão
@youtubeuser98
@youtubeuser98 4 ай бұрын
Nunca ouvi falar de código "escalavel" geralmente śo infra mesmo, acho que performatico é um termo um pouco melhor não?
@deyvid322
@deyvid322 4 ай бұрын
Não necessariamente, porque é como o Lucas Montano mostrou no vídeo, a escalabilidade também depende de outros fatores que não estão relacionados à performance (por exemplo, desacoplamento de dependências e serviços de terceiros, facilidade de internacionalização e de edição do código no futuro). A escalabilidade tá bem relacionada a poder crescer não só a base de usuários de um software com facilidade, mas também a poder adicionar novas funcionalidades ou mudar elementos da estrutura sem grandes problemas.
@youtubeuser98
@youtubeuser98 4 ай бұрын
@deyvid322 É mais questão de terminologia mesmo, nunca me referi ou peguei a alguém se referindo a código como escalavel, código limpo, de qualidade, seguro, é o que escuto, escalavél é a solução como um todo, acho que um código legivel é a unica coisa que importa na hora de se adicionar mais código.
@Diego_oliverira_dev
@Diego_oliverira_dev 4 ай бұрын
porque vc nao faz assim? kkkkkk isso e mt true
@deyllonramos4855
@deyllonramos4855 4 ай бұрын
Sobre a parte de fila de processamento oque seria isso exatamente? Então se meu get ou post ir direto na minha base e fazer a consulta ou inser ta errado?
@renejunior661
@renejunior661 4 ай бұрын
O ideal pro cenário que eu imagino que você está pensando é ter um load balancer intermediando essas requests. então teu post ia bater primeiro no load balancer e então no serviço que se comunicaria com o database, dessa forma cessando o problema q o lucas mencionou.
@deyllonramos4855
@deyllonramos4855 4 ай бұрын
@@renejunior661 a po entendi, valeu
@edsonmartinelli
@edsonmartinelli 4 ай бұрын
Não está errado, você pode continuar inserindo e consultando diretamente da rota sem problemas, mas ,como foi dito, isso não é escalável. O uso de uma fila de processamento vem pra suprir algumas necessidades, como diminuição do tempo de resposta para o usuário. Um banco não pode abrir infinitas conexões simultâneas, isso ocorre pq é muito custoso manter a consistência dos dados ( evitando condições de corrida, verificando constraints, etc), logo apenas um pequeno número de conexões são feitas ao banco por vez, onde, em muitos casos, se utiliza pools de conexão já que abrir conexão com o banco também é algo custoso. Então o que acontece caso todas as conexões estejam ocupadas no momento da requisição? O usuário terá que esperar até alguma conexão dessa pool de conexões estar livre para que a modificações ocorresse e, enfim, retornasse uma resposta. Esse processo pode ser bastante demorado dependendo da quantidade de requisições feitas simultaneamente. É nesse caso que as filas entram, elas guardam as informações que causarão modificações no banco e , por, terem limite de conexão, devolvem rapidamente uma resposta ao usuário. Posteriormente, quando estiver com conexões livres, o banco pode utilizar essa informações para realmente alterar seu estado. Acho que vc já deve imaginar que isso não se aplica a todo caso, já que existem situações onde é necessário uma resposta imediata por parte do banco (criação de uma conta, por exemplo). Apesar disso, em modificações não urgentes, como mudanças de preferências de perfil, essa estratégia deve funcionar muito bem.
@ale_caetano
@ale_caetano 4 ай бұрын
​@@edsonmartinelli Olá! Pode explicar um pouquinho melhor essa ideia de abstrair e reproduzir de forma virtual as modificações na Queue? A ideia é manter um state virtual pra ação? Se sim, como esse estado seria gerido e salvo no meio-tempo entre esse processamento e a persistencia final na database?
@deyllonramos4855
@deyllonramos4855 4 ай бұрын
@@edsonmartinelli então o ideal seria usar um kafka ou RabbitMQ pra essas operações de alteração no banco?
@miguellopes9177
@miguellopes9177 4 ай бұрын
Ctx oto = event.getCtx(); switch(teste){ case "a": oto.blabla case "b": oto.blabla case "c": //não precisa de oto } Man, isso é escalavel é performático? não é melhor fazer switch(teste){ case "a": Ctx oto = event.getCtx(); case "b": Ctx oto = event.getCtx(); case "c" } Porque ai voce não precisa criar a variavel oto e pegar o contexto toda vez no switch, porque algumas vezes não precisa tipo no caso c man, nao é melhor colocar um final ai no parametro do método porque ele não muda de valor e não é mior a gente usar os null mesmo Optional aqui pode da atraso e não é melhor nós implementamos isso só usando static porque fica instanciando objetos pode demorar o método é chamado 20 vezes por segundo.
@ramiromelo
@ramiromelo 4 ай бұрын
Amante de Monolito aqui!!
@paulocristo1
@paulocristo1 4 ай бұрын
Top vídeo
@PedroCarvalho-qf4bw
@PedroCarvalho-qf4bw 4 ай бұрын
Fico perdidinho nesses videos, queria entender mais do pensamento que está por trás de system design
@AndersonSantanaAtCode
@AndersonSantanaAtCode 3 ай бұрын
Mano, o vídeo está dando leg quando vc digita "internacionalização". 😆
@MarcosVMSoares
@MarcosVMSoares 3 ай бұрын
Não o problema eh resolver problema de software com soluções de infra. Quer escalar use uma linguagem q tem um bom suporte pra isso como elixir ^^
@tiagomello
@tiagomello 4 ай бұрын
No caso seria “Pare”
@EarthMaluca
@EarthMaluca 4 ай бұрын
Uma duvida de leigo (bota leigo nisso) Um micros serviço pode ser compartilhado entre diferentes aplicações, tipo um sistema de gerenciamento de fezes, eu poderia usar na minha própria aplicação, como distribuir esse micro serviço para outra empresa cobrando uma taxa. Já o monólito eu somente poderia usar esse serviço na minha própria aplicação pelo fato de ele ta acoplado nela ou pelo menos seria muito complicado de reutilizar ela em outras aplicações. Esse meu raciocínio ta errado?
@AllanBrazute
@AllanBrazute 4 ай бұрын
Eu tenho um monolito com DB direto na API atendendo de dezenas a centenas de requisições por segundo. Tá errado? Tá. Vou refatorar? Só se for pra implementar IA. Kkkk
@Hhhhtosjfhe
@Hhhhtosjfhe 4 ай бұрын
Depende hahahahah. Na realidade se algumas requisições como alterar um dado da conta não precise ser feita de imediato, da pra jogar pra uma fila de processamento. Depende se tu precisa da resposta imediata. A fila de processamento funciona tipo: “to fazendo umas coisas aqui , assim que eu terminar eu resolvo”
@WandersonSangreal
@WandersonSangreal 4 ай бұрын
Ótimo vídeo! #chorume!
@deltaking5116
@deltaking5116 3 ай бұрын
tu da curso de programaçao ?
@hallancosta1302
@hallancosta1302 2 ай бұрын
Tem pleno que acredita que algo "escalável" é você rodar 20 mil request por segundo em um servidor com 1gb de memoria ram kkkkkkkk
@zFlarrowGamerz
@zFlarrowGamerz 4 ай бұрын
o que seria internacionalização?
@FrankLaercio
@FrankLaercio 4 ай бұрын
Clean Architecture e Hexagonal em um projeto CRUD também é um over engineered.
@rmonico1
@rmonico1 4 ай бұрын
Clean architecture e hexagonal são over engineering
@gabrielrissi6583
@gabrielrissi6583 4 ай бұрын
Se o projeto não precisar ser mantido por um longo período de tempo (por exemplo, um MVP) ou um projeto que vai ficar rodando e nunca mais será mexido, ai realmente a Arquitetura Limpa pode ser um exagero. Todavia, mesmo em projetos simples, alguns conceitos da Arquitetura Limpa aliados ao SOLID podem sim gerar um código muito mais fácil de ser mantido ao longo do tempo e de escalar, então, acho que "depende" do objetivo do que está se desenvolvendo. Agora, também não adianta o cara aplicar Arquitetura Limpa em um código extremamente "sujo", por isso, mais do que se preocupar com qual arquitetura seguir, o ideal é primeiro se preocupar em aplicar boas práticas pra tornar o código mais simples e legível.
@RobertoCarlos-hx8wp
@RobertoCarlos-hx8wp 4 ай бұрын
O Lucas comentou que nunca se conecta o banco de dados diretamente na API, mas durante os anos todos que eu trampei como dev vejo exatamente esse padrão, uma camada de repository conectada diretamente ao db kkkkk Será que eu entendi o "diretamente" errado? De que outra maneira o mercado faz essa conexão?
@wesleyinacio4330
@wesleyinacio4330 4 ай бұрын
Ex: app Android conectado direto no firebase sem uma camada que você possa ter controle(repository)
@AvelinoBego
@AvelinoBego 4 ай бұрын
Scala escala?
@Urukpensador
@Urukpensador 4 ай бұрын
Isso tem uma escada?
@diegoborbadev
@diegoborbadev 4 ай бұрын
Internalização
@AmazoniaLegal
@AmazoniaLegal 4 ай бұрын
Mandou a pio....
@victoralmeida1583
@victoralmeida1583 4 ай бұрын
Interna sim, interna
@fooxmotoroad
@fooxmotoroad 4 ай бұрын
Tudo depende como o cara fez a aplicação.. kkkkkk tenho certeza que na empresa que trabalho, a 15 anos atras, as pessoas fizeram a pergunta "-isso é escalavel?" e a resposta foi nao.... Resolveram fazer uma tipagem por ID de produto... produtos abaixo do id 1000000, sao produtos normais, acima, produtos de assistencia.... E adivinha!!!! kkkkkk logo logo vai estourar o 100000 e nao sabem o que fazer agora pelo tamannnho da empresa.
@marciogo3156
@marciogo3156 4 ай бұрын
Over o ver
@FazedorDeCortes
@FazedorDeCortes 4 ай бұрын
Meu código escala, é um projeto scala 😂
@tutuacs2827
@tutuacs2827 4 ай бұрын
cade a chloe🐶🐶🐶🐕
@gotas-e-tijolos
@gotas-e-tijolos 4 ай бұрын
Perfeito para o meu momento de vida 😂😂😂😅😅
@Soooooonic
@Soooooonic 4 ай бұрын
Internacionalização.
@marcone1338
@marcone1338 4 ай бұрын
Internacionalização
@zetabot8996
@zetabot8996 4 ай бұрын
top
@emersonassis5083
@emersonassis5083 4 ай бұрын
Nunca mais vou esquecer a palavra "internacionalização" na minha vida.
@guilherme1260
@guilherme1260 4 ай бұрын
Inter inter inter internacional 🇵🇱 i18n
@denisquintasluiz506
@denisquintasluiz506 4 ай бұрын
😂😂😂😂😂
@giuzambot
@giuzambot 4 ай бұрын
Quando eu fui aprender a fazer edição de vídeo, eu colocava um transição diferente fodona em cada corte kkkk Empolgação existe, é um monstro que pode consumir nossa alma, cuidado. Hoje sempre faço a pergunta: é realmente necessário ou tem algo de menor complexidade que faz a mesma coisa e vou poder jogar meus games no final de semana?
@EarthMaluca
@EarthMaluca 4 ай бұрын
o que é um monólito? ele escala? ChatGPT: Um monólito é um tipo de arquitetura de software onde toda a aplicação é construída como um único, indivisível bloco. Em contraste com arquiteturas mais modernas como microserviços, onde uma aplicação é dividida em várias partes independentes, um monólito é uma única aplicação que pode ser subdividida internamente em diferentes módulos ou componentes, mas que é implantada e executada como uma unidade única. Características de um Monólito Código Único e Coeso: Todo o código-fonte está em um único repositório e é construído e implantado como uma unidade. Escalabilidade: Escalabilidade Vertical: Em um monólito, a escalabilidade geralmente é feita adicionando mais recursos ao servidor (mais CPU, memória, etc.), o que é conhecido como escalabilidade vertical. Isso pode ser limitado pela capacidade do hardware disponível. Escalabilidade Horizontal: Embora seja possível escalar horizontalmente (adicionando mais instâncias da aplicação), isso pode ser mais complexo, pois todas as instâncias precisam compartilhar o mesmo código e, frequentemente, o mesmo banco de dados. Desenvolvimento e Implantação: Desenvolvimento Unificado: Todos os desenvolvedores trabalham no mesmo código-fonte e fazem modificações que afetam toda a aplicação. Implantação Simples: A aplicação é implantada como um único artefato, o que pode simplificar o processo de implantação e gerenciamento. Acoplamento: Acoplamento Interno: Os diferentes módulos ou componentes dentro do monólito são fortemente acoplados, o que pode tornar a modificação de um módulo impactante para outros módulos. Manutenção e Evolução: Manutenção Complexa: À medida que a aplicação cresce, a manutenção pode se tornar complexa e mais difícil devido à interdependência dos módulos. Evolução e Atualizações: Mudanças em uma parte da aplicação podem exigir que a aplicação inteira seja recompilada e implantada, o que pode aumentar o risco de problemas. Escalabilidade de um Monólito Escalabilidade Vertical: Prós: Mais simples de implementar inicialmente e pode ser suficiente para muitos casos de uso. Contras: Limitado pela capacidade do hardware e custos crescentes com a necessidade de servidores mais potentes. Escalabilidade Horizontal: Prós: Possível adicionar mais servidores para distribuir a carga. Contras: Pode ser complexo devido à necessidade de sincronização entre instâncias e gerenciamento de estado. Comparação com Microserviços Microserviços: Em uma arquitetura de microserviços, a aplicação é dividida em serviços pequenos e independentes que podem ser desenvolvidos, implantados e escalados de forma independente. Isso oferece maior flexibilidade e pode facilitar a escalabilidade horizontal, mas também introduz complexidade adicional no gerenciamento e comunicação entre serviços. Resumo Monólito: Uma aplicação única e coesa que pode ser escalada verticalmente e horizontalmente, mas pode enfrentar desafios de escalabilidade à medida que cresce. Escalabilidade Vertical: Adicionando mais recursos ao servidor. Escalabilidade Horizontal: Adicionando mais instâncias, mas pode ser mais complexo devido ao acoplamento e gerenciamento. Se você está construindo uma nova aplicação ou considerando a evolução de uma existente, é importante considerar as necessidades específicas de escalabilidade e manutenção ao escolher a arquitetura mais apropriada. Se precisar de mais detalhes ou tiver outras perguntas, estou à disposição!
@fooxmotoroad
@fooxmotoroad 4 ай бұрын
Mas tem um ponto muito importante que é custo! monolito escala, escala, mas é barato escalar? definitivamente não! pense numa maquina que roda um serviço todo e o que pesa é o faturamento. Já tive esta experiencia... uma maquina que custava $1000 / mes, passamos a pagar $40/ mes por separar em microservicos... Não necessáriamente precisa ser microservico, mas um serviço separado por escopo, é essencial pensar já desde o começo, vc nunca tera o custo de $1000 já de paulada. E pense o tempo que os donos se deram conta que tavam tendo prejuizo por conta da escolha que fizeram... Foram milhares de dolares jogados no lixo, pq ignoraram essa pergunta.
@LucasMontano
@LucasMontano 4 ай бұрын
concordo e entendo o ponto, mas muitas vezes ao migrar para micro serviços acabamos otimizando partes do sistema que estavam sendo negligenciadas… por isso fico sempre meio cético, eh difícil e trabalhoso de fato medir e comparar.
como os DEV GenZ realmente pensam
29:18
Lucas Montano
Рет қаралды 78 М.
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 95 МЛН
Why no RONALDO?! 🤔⚽️
00:28
Celine Dept
Рет қаралды 79 МЛН
Verdades Difíceis de Engolir como DEV
19:57
Lucas Montano
Рет қаралды 84 М.
3 anos tendo o CV rejeitado (Revisando Currículo de DEV)
16:08
Lucas Montano
Рет қаралды 61 М.
Depois de 20 Anos Criando Software
23:49
Lucas Montano
Рет қаралды 59 М.
Ollama on Kubernetes: ChatGPT for free!
18:29
Mathis Van Eetvelde
Рет қаралды 7 М.
por que DEVs estao deixando as bigtech
28:17
Lucas Montano
Рет қаралды 117 М.
Ele Faz 1 Milhão Por Mês Vendendo PDFs Online
9:33
Joao Curry
Рет қаралды 319 М.
Porque alguns devs ODEIAM else?
10:51
Augusto Galego
Рет қаралды 85 М.
Endless job search
23:08
Lucas Montano
Рет қаралды 28 М.
CLT
28:25
Jovens de Negócios
Рет қаралды 716 М.
lutei contra um DDoS por 5 dias
23:52
Lucas Montano
Рет қаралды 264 М.