Пікірлер
@IanOliveiraTI
@IanOliveiraTI Күн бұрын
quando voce escreve: (eval (if 4 4 2)) no caso o eval esta evaluando apenas o resultado da operacao (if 4 4 2) e nao a lista que voce passou. no fim fica assim (eval 4) Se voce quiser usar evaluar a lista voce precisa usar o sintax sugar ' (eval '(if 4 4 2)) ou a funcao list como fez nos outros examplos sobre a utilidade do code-as-data no meu ponto de vista: torna bem facil voce "extender" a linguagem criando novas macros. um exemplo bem comum de macros de usuarios 'e essa when-let* (defmacro when-let* [bindings & body] `(let ~bindings (if (and ~@(take-nth 2 bindings)) (do ~@body) ))) que eh basicamente um when-let que permite mutiplos bindings... ter code as data facilita e muito criar esse tipo de extensao. Desculpa os milhoes de erros de acentuacao e portugues meu SO ta em outro idioma
@IanOliveiraTI
@IanOliveiraTI Күн бұрын
Ah sempre bom lembrar: The first rule of the macro club is: don't write macros.
@IanOliveiraTI
@IanOliveiraTI Күн бұрын
E de forma geral acho que ce entendeu de forma correta, bons estudo.. clojure 'e muito divertido.
@DevEficiente
@DevEficiente Күн бұрын
Verdade demais, me empolguei. Deixei um PS na descrição, já avisando do erro. E valeu demais pelo resto do feedback!
@williamdiegocampos5783
@williamdiegocampos5783 Күн бұрын
Bons estudos por aí... Mas admito que sem pesquisar, mas te acompanhando, ainda não sei qual problema o Cloujure resolve. Por que devo adotar Cloujure? Quando devo considerar o uso?
@DevEficiente
@DevEficiente Күн бұрын
É uma linguagem de uso geral, não resolve nada que não possa ser resolvido pelo Java, C# ou Javascript. Só faz de maneira diferente :).
@viniciusmoreira1753
@viniciusmoreira1753 3 күн бұрын
Parabens pelo conteudo
@DevEficiente
@DevEficiente Күн бұрын
Valeu demais!
@af2b
@af2b 7 күн бұрын
(pra cimaaaaaaaa 🚀)
@DevEficiente
@DevEficiente Күн бұрын
Vamooo!
@lucasfrr-al
@lucasfrr-al 8 күн бұрын
seria o chatgpt o novo pato de borracha dos programadores? série muito boa! abraço!
@DevEficiente
@DevEficiente Күн бұрын
Ah, a IA Generativa é boa para isso. Aceitando que a confiabilidade é questionável, acho uma boa parceira para essa fase do estudo. Ainda mais que estou pedindo feedback sobre algo que é de conhecimento público.
@lucasfrr-al
@lucasfrr-al Күн бұрын
@@DevEficiente esse ponto de o assunto ser de conhecimento público é um ponto importante porque você pode validar o que a IA generativa te dá como resposta a partir de fontes mais confiáveis, como a doc oficial, por exemplo.
@danielvicentefagundes6774
@danielvicentefagundes6774 8 күн бұрын
Maravilha @! Sucesso !@
@DevEficiente
@DevEficiente Күн бұрын
Vamo que vamo!
@oPorks
@oPorks 11 күн бұрын
Salve, Alberto! Futuro colega de trabalho! Trabalho em outra área e estou estudando mais a stack pra voltar a ser Tech Manager, essa série será ótima pra mim! Valeu!
@oPorks
@oPorks 11 күн бұрын
E bem-vindo!
@DevEficiente
@DevEficiente 10 күн бұрын
Opaaaa, legal demais ler este comentário! Quando eu chegar espero que possamos nos conhecer mais! Vamo que vamo!
@davidwelber
@davidwelber 11 күн бұрын
Meu amigo, muito obrigado por compartilhar sua jornada de aprendizado. Vou aproveitar bastante dos seus métodos nas minhas trilhas de aprendizagem também. Eapero muito pelo dia em que trará aqui a implementação de clean arch usando o Clojure! Sou fascinado por lisp e sua maneira diferente de se resolver problemas. Quero demais ver clean arch nele! Obrigado camarada! Tmj! Bons eatudos e parabéns na nova jornada no NuBank!
@DevEficiente
@DevEficiente 10 күн бұрын
Olha aí, já é uma ideia para conteúdo! Vamos ver! Obrigado pelo comentário!
@alexncosta
@alexncosta 13 күн бұрын
Ouvindo sua explicação Alberto, fiquei pensando a respeito de duas situações que vejo muito acontecer, uma delas é justamente o ponto que você colocou de postergar determinadas decisões, nesse ponto, quase todo tutorial ou curso que já vi, começa com a instalação do conjunto de ferramentas, bibliotecas, frameworks e tudo mais, as vezes naquele momento você nem precisa daquilo instalado. Outro ponto que vejo, é que sua explicação me fez lembrar muito de um dos propósitos de arquiteturas como a clean arch e hexagonal, quando coloca na camada de Infraestrutura tudo que diz respeito a tecnologias e quando você decide, por exemplo, mudar o broker que está utilizando para mensageria, a arquitetura do seu software torna mas fácial a inclusão/adaptação do novo broker que será adotado. No primeiro ponto, a gente evita se preocupar com aquilo que ainda não precisamos e no segundo facilita a adoção de novas tecnologias que decidimos utilizar depois de implementado o software.
@DevEficiente
@DevEficiente Күн бұрын
opa, sobre adicionar as dependências, acho mais ok. Nem todo projeto usa a mesma coisa, mas fica colocando só o que precisa estritamente considero um esforço desnecessário. A não ser que tenha alguma questão envolvida que não estou enxergando aqui. Sobre as referências arquiteturais, é por aí mesmo. O que acho que mais pega é que para postergar direito você precisa ter uma boa ideia de como a coisa funciona, caso contrário você pode sair com um comportamento público que é pouco adaptável a um novo cenário.
@mott4vito
@mott4vito 15 күн бұрын
Muito obrigado por compartilhar tua maneira de estudar com a gente, Alberto. De fato, é realmente muito interessante e estou aprendendo muito contigo sobre **como aprender**. Gratidão e boa sorte nessa nova jornada!
@DevEficiente
@DevEficiente 12 күн бұрын
Legal demais que está sendo útil!
@joaovblima
@joaovblima 15 күн бұрын
Depois do seu primeiro vídeo, comecei a questionar meus métodos de estudos 🤣
@DevEficiente
@DevEficiente 12 күн бұрын
hehehe, espero que ajude!
@thiagovalls6125
@thiagovalls6125 15 күн бұрын
Parabéns mestre. Sempre fera nos ensinamentos
@DevEficiente
@DevEficiente 12 күн бұрын
Legal demais que gostou!
@titibatera
@titibatera 18 күн бұрын
Caraca o BABA é uma lenda viva fora o conhecimento que extremo a humildade do cara é foda de mais. Vou tentar seguir o mestrado!!@
@DevEficiente
@DevEficiente 15 күн бұрын
Massa que curtiu!
@af2b
@af2b 20 күн бұрын
Clojure é uma linguagem incrível e extremamente apaixonante! sucesso Alberto!!!! 💪
@DevEficiente
@DevEficiente 15 күн бұрын
Vamo que vamo!
@lucianoseibel
@lucianoseibel 21 күн бұрын
cara gostei do vídeo .. e me animou a aprender clojure ... vamos juntos !
@DevEficiente
@DevEficiente 21 күн бұрын
vai que vai!
@salvadorcidadealta
@salvadorcidadealta 22 күн бұрын
massa
@DevEficiente
@DevEficiente 22 күн бұрын
Massa demais que curtiu!
@lucianoseibel
@lucianoseibel 22 күн бұрын
cara .. como alguém consegue saber que vai trabalhar em algum lugar com 2 meses de antecedência ... e ainda tem a oortunidade de se preparar ... quando eu crescer queroi ser como vc Alberto.. .:) forte abs do RS
@DevEficiente
@DevEficiente 22 күн бұрын
Opaaaa, eu tinha férias para tirar antes de sair da zup e queria um tempo para ficar de boa. Acho que empresas que realmente tem preocupação com saúde mental podem estar mais abertas a isso. Só um achismo mesmo, não pesquisei nem nada :).
@lucasfrr-al
@lucasfrr-al 22 күн бұрын
já fiquei ansioso pra ver mais dessa jornada! confesso que esse video me fez repensar alguns pontos dos meus estudos. boa sorte desde já na empreitada e não deixe de compartilhar com a gente!
@DevEficiente
@DevEficiente 22 күн бұрын
Legal demais que curtiu! Vai ter mais sim. Inclusive acho que vou precisar aumentar a frequência, caso contrário vai acumular.
@karolinelemos1621
@karolinelemos1621 22 күн бұрын
Que demais! Achei muito interessante seu método de estudo. Com tanta distração, perco o foco e me perco no objetivo com facilidade e essa fase de consciência fez muito sentido pra mim, vou tentar aplicar 😊
@DevEficiente
@DevEficiente 22 күн бұрын
Legal demais que curtiu!
@heitorricardinobarros2715
@heitorricardinobarros2715 22 күн бұрын
👀👀🎯🎯🚀🚀🚀
@DevEficiente
@DevEficiente 22 күн бұрын
Valeeeu!
@GilsonSilvaShow
@GilsonSilvaShow 22 күн бұрын
👏🏾 🚀 👏🏾 🚀 👏🏾 🚀 👏🏾 🚀 👏🏾 🚀
@DevEficiente
@DevEficiente 22 күн бұрын
Valeu demais!
@Klelvin1989
@Klelvin1989 22 күн бұрын
Além da jornada de estudo aproveita que vc está no Nubank e aprende com os repositórios, melhor lugar pra aprender com a mão na massa. Bem vindo :)
@DevEficiente
@DevEficiente 22 күн бұрын
Opaaa, vou aproveitar sim! Estes repos que me esperem, vou ver tudo que eu puder hehe.
@MrDaniloko23
@MrDaniloko23 22 күн бұрын
Excelente vídeo Alberto, muito legal acompanhar teu aprendizado na prática. Sucesso na nova caminhada!
@DevEficiente
@DevEficiente 22 күн бұрын
Valeu de novo!
@thiagooak
@thiagooak 22 күн бұрын
Pra pensar em code-as-data acho que vale refletir sobre o que diferencia um "pedaço" de código e um "pedaço" de dados? Como isso funciona em uma linguagem tipo JavaScript vs em Clojure? Tem alguma diferença?
@DevEficiente
@DevEficiente 22 күн бұрын
Opaaa! Ah, acho que em js/java etc não tem este pensamento. Já no clojure me parece que este pensamento é realmente cidadão de primeiro nível. Vou explorar mais.
@edsonpatricio
@edsonpatricio 22 күн бұрын
Desejo muito sucesso no novo desafio. Os livros de Clojure que eu mais gostei de ler: Clojure Applied [Ben Vandgrift, Alex Miller], Functional Thinking [Neal Ford] (não tem só Clojure, mas tem bastante), Functional Programming Patterns in Scala and Clojure [Michael Bevilacqua-Linn].
@DevEficiente
@DevEficiente 22 күн бұрын
Valeu demais pelas indicações!!!
@edsonpatricio
@edsonpatricio 22 күн бұрын
2:14 Acho que "a mais conhecida" derivada do Lisp fora o Clojure seria a linguagem Scheme. Ela ganhou alguma atenção por ser adotada no, aí sim muito famoso, MIT.
@DevEficiente
@DevEficiente 22 күн бұрын
Nos podcast que eu tenho escutado, scheme aparece com certa frequência. Quem sabe um dia pego para ver... O clojure talvez abra essa porta para analisar outras linguagens lisp like.
@edsonpatricio
@edsonpatricio 22 күн бұрын
@@DevEficiente Ela é muito usada naquele livro "SICP". Sabe qual é? Ele faz uma analogia entre paradigmas de programação e escolas de magia. Mas tem que estar com muito tempo livre. 😂
@MyFriendDev
@MyFriendDev Ай бұрын
Bem legal, hj uso o codeium e o github actions pra gerar revisão do meu código dessa forma mas.... dessa forma economiza um tempo absurdo, vou mandar essa live aqui no time imagino que rodar com o phi3:mini localmente com o ollama seria bem legal tb
@rodrigojconceicao
@rodrigojconceicao Ай бұрын
Achei muito interessante e fez sentido. Valeu
@DevEficiente
@DevEficiente 24 күн бұрын
Massa que curtiu!
@filipetortora5031
@filipetortora5031 Ай бұрын
Primeiramente excelente video, me fez pensar em todos os testes unitários que eu fiz utilizando any. Faz sentido colocar um valor verdadeiro para um método que estou mockando o retorno? Pelo que entendo da utilização de any no lugar de valores verdadeiros seria porque mesmo que eu coloque um valor verdadeiro, eu estou definindo qual será o retorno do método A lógica de testar uma classe que utiliza um método de outra classe seria para testar todas as condições dentro da classe Dessa forma, mesmo que eu utilize o any, eu posso definir o valor que eu quero retornar e testar todas as condições de acordo com o retorno do método que está fora da classe Faria sentido eu colocar um valor especifico no lugar do any caso o retorno do método que eu estou mockando seja influenciado por esse valor Isso ajudaria na legibilidade no teste unitário e facilitaria o programador que não fez o teste a entender o fluxo que está sendo testado. Caso o valor que está sendo passado não influenciar no retorno do método que está sendo mockado, não vejo problema em passar um any
@DevEficiente
@DevEficiente 24 күн бұрын
Opa, valeu demais pelo questionamento. Do ponto de vista do retorno, realmente não faz diferença... Por outro lado, lá dentro do método que está sendo testado e que está chamando o método mockado, considero que faz. A chamada lá dentro, supostamente, deveria ser feito com um determinado valor e, caso seja feita com outro, tem algo errado.. Se o código usa o any(), a chamada pode ser feita errada e o teste vai dar certo.
@filipetortora5031
@filipetortora5031 24 күн бұрын
@@DevEficiente A coisa mais engraçada que já vi sobre teste unitário foi um colega de trabalho que queria testar um try/catch e Para conseguir entrar no catch ele fez estourar um MockException. Entrava na linha que queria testar mas não testava.
@danrocha5153
@danrocha5153 Ай бұрын
Showw 👏👏👏
@DevEficiente
@DevEficiente Ай бұрын
Masa que curtiu!
@joaorodolphovitorcabral4197
@joaorodolphovitorcabral4197 Ай бұрын
Fala meu bom, legal esse vídeo aí, sempre legal se aproximar da realidade da aplicação o máximo possível, me tira uma dúvida, vc sabe como se usa attachaprovider com o mockito?
@DevEficiente
@DevEficiente Ай бұрын
Opa João, confesso que nunca usei. Qual o cenário que você tem?
@joaorodolphovitorcabral4197
@joaorodolphovitorcabral4197 Ай бұрын
@@DevEficiente O compilador está reclamando que eu estou usando isso aqui A Java agent has been loaded dynamically e diz isso: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
@SamylaDutra
@SamylaDutra Ай бұрын
Muito boa essa reflexão! As vezes temos o ímpeto de escrever o teste muito genérico e aí ele deixa de ser assertivo.
@DevEficiente
@DevEficiente Ай бұрын
é como eu vejo mesmo. Para mim, todo teste devia buscar revelar problemas :).
@GuilhermeVianaFreire
@GuilhermeVianaFreire Ай бұрын
Excelente informação sobre mocks nos testes unitários. A não utilização de matchers não só aumenta a confiabilidade dos testes, como facilita o mock específico de multiplas chamadas do mesmo método mockado com valores de parâmetros diferentes.
@DevEficiente
@DevEficiente Ай бұрын
Massa demais que curtiu!
@MrKiko301
@MrKiko301 Ай бұрын
esse casaco do milan eh mto bonito
@DevEficiente
@DevEficiente Ай бұрын
hehhee. Além disso ele já anda sozinho!
@MrKiko301
@MrKiko301 Ай бұрын
@@DevEficiente ele e o gato que sobe na mesa são figuras constantes nos vídeos
@iagosaito
@iagosaito Ай бұрын
Olá Alberto, boa noite! Você acredita que o uso excessivo de Mocks acontece porque as pessoas têm na cabeça que testes unitários significam testar sempre a menor unidade possível (solitários), em vez de testar unidades sociáveis? Na minha experiência, escrever testes um pouco mais sociáveis aumenta a confiabilidade do teste e diminuem o uso de mocks. Confesso que eu utilizo Matchers em situações específicas: por exemplo, quando tenho uma classe que posta uma mensagem num tópico Kafka. Nesses casos de uso, eu acho que os Matchers especificos - sem nenhum tipo de Any(), cumprem bem a função. O que acha? Obrigado pelo vídeo.
@DevEficiente
@DevEficiente Ай бұрын
Opaaa... A mensagem que vai ser postada tem um valor específico? Se tiver, tentaria verificar se foi chamado com o valor mesmo. Pelo que você escreveu, me parece que é isso que você faz, né?
@draakz
@draakz Ай бұрын
Não seria o caso de mudar o nome de servicosAI pra servicosAIClient ou servicosAIFeignClient? Acho que ai pelo nome já ficaria evidente que estamos invocando um client externo
@DevEficiente
@DevEficiente Ай бұрын
Acho que poderia tentar tbm. Sobre ficar nítido, só vendo na hora do uso mesmo. Falo isso pq nem sempre o que parece óbvio para a gente é óbvio mesmo hehe. Valeu pelo comentário!!
@krlsdu
@krlsdu Ай бұрын
Confesso que para mim ficou mais complicado ler o fluxo do negócio quando tudo esta misturado. A leitura mais simples é aquela que tudo aconteceu com sucesso e este é realmente meu fluxo de negócio. Os fluxos "alternativos" de resiliência e idempotência, são "apenas" técnicas para executar este fluxo principal, e ficar filtrando o que é fluxo de negócio do restante na hora de fazer a leitura do código me dá bem mais trabalhos cognitivo. Prefiro deixar menos "poluído" esta leitura e delegar para outras ferramentas.
@DevEficiente
@DevEficiente Ай бұрын
Ótimo ponto, eu concordo totalmente que o código fica mais complexo e, portanto, pode dificultar mais a leitura. Ao mesmo tempo considero um tradeoff ok, considerando que a alternativa é definir as tentativas em outro lugar. Mas é isso, vamos tomando as decisões e vendo como elas vão evoluir no futuro. Valeu demais pelo comentário!
@aldoanizio.developer
@aldoanizio.developer Ай бұрын
Nesse caso a documentação descritiva do proprio método não deveria conter uma direção do que ele faz e ter um contrato bem definido do que seria o retorno ? Pensando num cenário ideal onde manteriamos o encapsulamento o mais genérico possivel.
@DevEficiente
@DevEficiente Ай бұрын
Opa, poderia ter sim uma documentação pública expondo este detalhe de implementação. Sobre o contrato, poderia trabalhar algo no retorno ou algo assim sim. O que teria em mente?
@aldoanizio.developer
@aldoanizio.developer Ай бұрын
@@DevEficiente Não sei como é em Java. No PHP a gente meio que força um tipo de retorno do método (seja uma interface, um objeto de um tipo de classe ou até mesmo uma variavel com tipagem fraca). O Java com certeza tem algo do tipo. Se bem que pensando nesse cenário o proprio tipo de retorno já meio que daria uma exposição do que foi implementado. Se eventualmente o método fosse alterado (de asincrono pra sincrono por exemplo) provavelmente o retorno teria que ser alterado e o contrato teria que ser refeito.
@aldoanizio.developer
@aldoanizio.developer Ай бұрын
A não ser que se trabalhasse com o retorno multiplo encapsulado dentro de uma entidade (ex.: EstruturaPaginaResponse) e dentro dela houvesse como condicionar se o resultado foi concluido ou é por exemplo uma promise. Mas penso que ficaria estranho trabalhar com isso num loop por exemplo e ter que tratar dois tipos de cenários. Já precisei trabalhar com algo do tipo na hora de consumir uns veiculos de uma API de parceiro e injetar em uma quantidade N de sites. Usando uma inserção em lote num loop em alguns casos a resposta do request vem já pronta e em outros casos vem uma promise. Eu acabei preferindo forçar tudo retornar uma promise e depois em background verificar se a promise foi concluida (e redisparo em caso de erro). Acabei tendo que implementar dois métodos (um sincrono e outro asincrono). O método sincrono acabei usando pra casos onde precisava ocorrer uma ação de update manual e o metodo em lote precisei expor via assincrono.
@DevEficiente
@DevEficiente Ай бұрын
Quando a execução síncrona Vs assíncrona um retorno ajuda. Como citei no vídeo, podemos retornar uma Promise e construções similares nas outras linguagens. Isso já prepara o ponto que chama o código para lidar com assíncrono... Agora quando a execução é remota, poderia seguir um caminho similar. O retorno poderia ser: RemoteReturn<TipoASerRetornado>. A parte boa disso é que, se no começo o retorno for local, não é necessariamente terrível para quem chama.
@RafaelPonte
@RafaelPonte Ай бұрын
Só tem que lembrar que em muitas linguagens, como Java, o retorno não faz parte da assinatura do método. Logo, além de mudar o retorno em si se faz necessário mudar algo na assinatura do método, como por exemplo o nome do método ou seus argumentos.
@RonaldoPiresBorges
@RonaldoPiresBorges Ай бұрын
"Driva"... saquei. Ótimo vídeo. Trouxe a informação que eu queria. Obrigado
@DevEficiente
@DevEficiente Ай бұрын
Mssa que ajudou!
@AndersonCaxeta
@AndersonCaxeta Ай бұрын
Ótimo, Professor Alberto. Você considera os indicadores de complexidade ciclomática/cognitiva do sonarQube melhores balizadores para segregação de responsabilidades e definição das camadas da aplicação além do pregado por _clean_ _architecture_ ou arquitetura hexagonal, por exemplo? Na falta de um modelo genérico a seguir, esses indicadores, ainda que insuficientes, funcionam para reduzir a complexidade de manutenção de classes mais "gordinhas".
@DevEficiente
@DevEficiente Ай бұрын
Opa, acho que funcionam bem como indicadores de legibilidade. Quando penso em responsabilidade, gosto mais de indicadores voltados para acoplamento e chamadas de métodos em outras referências(fan out).
@jeffersonsantosoliveira8314
@jeffersonsantosoliveira8314 Ай бұрын
A qualidade daquilo que você produz, está de acordo com aquilo que você conhece
@DevEficiente
@DevEficiente Ай бұрын
Massa que gostou!
@MrBlackWolfX
@MrBlackWolfX Ай бұрын
Desconsiderando o rant do DHH, o problema da Amazon parece ter sido de complexidade. É muito comum que aplicações distribuídas se tornem mais complexas de manter por conta do overhead de problemas possíveis (latência, indisponibilidade, retentativas, tráfego). P.S: fecha um pouco dessas abas kkkkkk
@DevEficiente
@DevEficiente Ай бұрын
Sem dúvida, tem que tomar bastante cuidado. Tenho uma relação complicada com as abas mesmo!
@PuerinTheHunter
@PuerinTheHunter Ай бұрын
Substitutos do "porquê": Como isso nos ajuda? Quando isso é eficiente? Como isso se compara com outras opções? Me ajude a entender o raciocínio que guiou essa decisão. Que fatores influenciaram essa escolha? Quais foram os fatores levados em conta nessa escolha? Qual foi o contexto dessa decisão?
@DevEficiente
@DevEficiente Ай бұрын
Particularmente achei legal todas essas perguntas que Thadeu puxa :).
@VictorOnFlutter
@VictorOnFlutter Ай бұрын
Boa noite, muito obrigado pelo seu trabalho, estou amando os vídeos! Estou trabalhando num projeto Flutter e como tem muita composição quando tem muitas linhas (de código solto e sem componentização) acaba que não dá de ver nada nem de separar de uma forma visualmente boa. Enfim, você teria alguma dica nesse sentido? Desde já agradeço!
@DevEficiente
@DevEficiente Ай бұрын
Opa Victor, acho que aí é um caso bem bom para aplicar o CDD. Você define itens que considera que aumentam a complexidade, estabelece um limite e aí refatora para tentar ficar dentro do limite. Isso vai te fazer criar classes para agrupar estes componentes. Só que como você tem um guia, sabe quando parar.
@rodrigorocha8212
@rodrigorocha8212 Ай бұрын
Aí está algo que corrobora com o que tenho visto: "o que mais muda num software corporativo não são as tecnologias, são as pessoas". Nos últimos 3 anos não vi ninguém trazendo uma demanda para trocar um banco de dados ou framework, mas foram inúmeras as vezes em que as pessoas trocaram de projeto.
@DevEficiente
@DevEficiente Ай бұрын
Opa Rodrigo, legal demais que fez sentido para seu contexto.
@TheEmanuelvictor
@TheEmanuelvictor Ай бұрын
O Call Of Duty tem um Match Making, que é responsável por criar os lobs, ou as salas de quem vai jogar. A galera reclama muito que algumas salas são muito difíceis, e sempre há 2 ou 3 equipes que massacram todas as outras. Isso ocorre, pq essas equipes são realmente pro-players, ou seja, profissionais do game. Quando estas equipes procuram por partidas, raramente existem pessoas com o nível delas para jogar, por isso o game as coloca em lobs mais fáceis. E quanto mais esses pro-players se especializam, mais isso ocorre. Tenho a sensação de que é o que ocorreu contigo aí, a IA trouxe o feedback inspirado em pessoas medium-profile, pois é a maior parte da massa de programadores existentes. Como os pró-players da programação são poucos, acabam não tendo tanta influência nesse feedback. Por isso o feedback é ruim. Isso me faz pensar em muitas coisas, como por exemplo: Normalmente quando alguém destoa do restante da equipe, dizendo que algo que está sendo efeito está estranho. É natural a equipe isolar essa pessoa pois "todo mundo está achando que está certo, só você que está achando que está errado. Se todo mundo pensa que está certo, então está certo." < -- Hoje em dia, em 2024, na época das IA's, mídias sociais, e etc, é provável que essa única pessoa que destoa esteja correta. As chances desta única pessoa estar correta, são maiores do que de ela estar incorreta.
@PersonalXZ
@PersonalXZ Ай бұрын
Colocar todos os ovos numa única cesta de TI. Um ponto único de falha (SPOF) é uma parte de um sistema que, se falhar, impedirá o funcionamento de todo o sistema.
@DevEficiente
@DevEficiente Ай бұрын
Opa, clássico SPOF :). Valeu demais pelo comentário.
@RonyMarcolino
@RonyMarcolino Ай бұрын
Parabéns pelo vídeo Alberto e pelos conselhos de checagem de fontes, isso é muito importante. Outro ponto importante a se acrescentar é que esse tipo de problema é do tipo "tudo ou nada" ou seja pela gravidade o processo de qualidade poderia ter captado em algum momento, é realmente de se estranhar o que houve.
@PersonalXZ
@PersonalXZ Ай бұрын
Checar só os fontes não é o suficiente. Recentemente no mundo Linux foi introduzido código malicioso nos arquivos que cuidam da compilação e os fontes que estavam sendo monitorados estavam limpos. Até imagens estão sendo usadas para transportar código malicioso.
@DevEficiente
@DevEficiente Ай бұрын
Valeu demais pelo comentário, Rony!
@iagosaito
@iagosaito Ай бұрын
x.com/perpetualmaniac/status/1815316367958290828?t=Yr7HzSwDnDqz1dDtVow1ww Acho o rapaz ficou pistola e soltou um novo capítulo dessa história
@juninhopo
@juninhopo Ай бұрын
Muito bom, muito legal ver sua abordagem...
@alanfranca1913
@alanfranca1913 Ай бұрын
concordo
@DevEficiente
@DevEficiente Ай бұрын
Massa que curtiu!