🔥Desde 2016! 💥O maior e mais ativo grupo de .NET do Telegram há 9 anos. 🎯Grupo sobre .NET, ASP.NET, Mono, .NET Core, Xamarin, C# etc. Use /info para as regras e informações adicionais. 👉Regras: go.gaGO.io/dotnetbr-rules
DevShow #55 – Vibe Coding
Neste episódio, a conversa é sobre o tal "Vibe Coding". Será que a IA está preparada para entregar um sistema de ponta a ponta? Será o fim dos desenvolvedores? Para saber nossa opinião sobre o assunto, aperta o play! The post DevShow #55 – Vibe Coding appeared first on DevShow.
https://share.gago.io/X7rM
vc tem algo que eu possa estudar pra entender melhor a config disso ?
Читать полностью…Quando TrustServerCertificate=True, o cliente ignora validações e aceita o certificado mesmo que ele seja inválido ou autoassinado.
Usar TrustServerCertificate=True pode ser perigoso, especialmente em produção, pois permite ataques do tipo man-in-the-middle (MITM), Pode levar a conexões inseguras, por isso só deve ser usado em desenvolvimento.
Parece que deu certo
um momento q vou testar com mais carga
estou tentando subir uma api no server linux e o mesmo apresenta este erro ao consumir a api:
Читать полностью…https://www.youtube.com/watch?v=y0Ai-2f0oXQ&list=PLJ4k1IC8GhW0bOvBC4Z4hTvn1fVKGE7or&index=1
Читать полностью…Pegando o gancho do que o @oluizcarlosfaria falou, mas assumindo que tu estás apenas estudando.
Assumindo que "cadastro" é uma entidade que guarda as informações dos usuários e "login" vai ser a entidade que guarda as informações de autenticação (e, talvez, autorização) dos usuários e que estás fazendo tudo na unha:
Sim, login tem uma relação com cadastro.
Tanto pra autenticar, quanto pra criar novos logins, mesmo que fazendo tudo do zero, vais ter que dar uma olhada no IPasswordHasher<TUser>
. Ele tem o método HashPassword
, que "hasheia" (embaralha) a senha do usuário pra salvar no banco de dados, e o método VerifyHashedPassword
, que deve ser usado pra autenticar uma senha.
Pra fazer uma autenticação do zero, no mínimo, tens que saber que:
- não pode guardar a senha em texto puro na base;
- formatos hexadecimal, base64 e afins, ainda são texto puro, não ocultam a senha;
- deve-se usar algoritmos de hash de senha e não de criptografia. A diferença é que hash não tem o método pra descriptografar;
- não deve usar MD5, SHA1 e nem SHA512. Nenhum algoritmo de hash serve pra senha, deve ser específico pra hash de senha. A diferença é que algoritmos de hash pra senha possuem um sutil delay que impedem hackers de descobrir a senha analisando os tempos diferentes pra calcular cada hash e, também, inviabiliza ataques como brute force ou de dicionário por deixar dezenas ou centenas de vezes mais lento
Mas se não se importar com aprender ou com entrevistas, aí prosseguinos.
Читать полностью…A primeira coisa que você precisa saber é se você quer fazer isso para aprender aspnet ou para resolver uma demanda específica.
No aspnet não criamos tabelas de usuaeio/senha, usamos Frameworks de identidade, conectados na aplicação, via aspnet identity, ou separados como identity Server ou keycloak ou outros.
Não ficaria surpreso se esse monstrengo não tivesse nenhum teste de unidade rsrsrs
Quantidade de ifs: 7.922.651
Quantidade de testes de unidade: WTF is that!? 😂
Pelo código logo se vê que é de um total iniciante em algoritmos (ou não 😐 ai é pior), esse mesmo código poderia ser escrito da seguinte forma diminuindo para um único if:
let noturnas;Читать полностью…
calcularHorasNoturnas(horaEntrada, horaIda, horaVolta, horaFim);
function calcularHorasNoturnas(entrada, ida, volta, fim) {
const tempo1 = calcularTempoNoturno(entrada, ida);
const tempo2 = calcularTempoNoturno(volta, fim);
noturnas = calcularBatidas(tempo1 + tempo2);
}
function calcularTempoNoturno(inicio, fim) {
// Converte para faixa de 0 a 2880 para lidar com horários que atravessam a meia-noite
if (fim < inicio) {
fim += 1440;
}
const periodosNoturnos = [
[1320, 1440], // 22:00 - 00:00
[0, 300], // 00:00 - 05:00
[1320 + 1440, 1440 + 1440], // 22:00 - 00:00 do "dia seguinte"
[0 + 1440, 300 + 1440] // 00:00 - 05:00 do "dia seguinte"
];
let total = 0;
for (const [nInicio, nFim] of periodosNoturnos) {
const sobreposicao = intersecao(inicio, fim, nInicio, nFim);
total += sobreposicao;
}
return total;
}
function intersecao(aInicio, aFim, bInicio, bFim) {
const inicio = Math.max(aInicio, bInicio);
const fim = Math.min(aFim, bFim);
return Math.max(0, fim - inicio);
}
So sei da doc da Microsoft mesmo, geralmente tem bastante coisa lá
Читать полностью…"DefaultConnection": "Data Source=um ip,1433;Initial Catalog=sigloerp_admin;User ID=sa;Password=senhaforte;Encrypt=True;Trust Server Certificate=False;"Читать полностью…
fail: Microsoft.AspNetCore.Server.Kestrel[13]Читать полностью…
Connection id "0HNBM3CSISLI7", Request id "0HNBM3CSISLI7:00000001": An unhandled exception was thrown by the application.
Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
---> System.Security.Authentication.AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.
🔵 [Online|22:30|Dica Containers: desenvolvimento + testes|Gratuito]
Fala galera! Daqui a pouco - a partir das 22:30 - horário de Brasília - estreia mais um vídeo gratuito - com chat ao vivo para dúvidas - no Canal .NET. Confira neste conteúdo uma visão geral sobre o projeto Testcontainers, uma alternativa open source que busca descomplicar e tornar mais produtiva a utilização de containers ao implementar aplicações e testes de integração nas mais variadas stacks - .NET, Java, Node, Python, Go, PHP, Ruby, Clojure, Elixir, Rust, Haskell...: https://www.youtube.com/watch?v=f2AQ6el1NFM
Na doc Oficial da Microsoft tem esse exemplo
https://learn.microsoft.com/pt-br/aspnet/core/security/authentication/identity?view=aspnetcore-9.0&tabs=visual-studio
Quando chegar em casa, mando um exemplozinho de como usar os métodos do IPasswordHasher. Mas tem esse material aqui pra ter uma ideia
https://andrewlock.net/exploring-the-asp-net-core-identity-passwordhasher/
🚨 INSCRIÇÕES ABERTAS 🚨
Se você é dev .NET e quer dominar arquitetura de verdade — com profundidade, segurança e confiança técnica — essa é a sua chance.
No Cloud Native .NET, você aprende a projetar, implementar e implantar soluções modernas, escaláveis, resilientes, e prontas para rodar em qualquer nuvem (ou fora dela).
Não importa se é monolito ou microsserviço, Azure ou VPS baratinha: você vai aprender a jogar o jogo da arquitetura, com containers, mensageria, CI/CD, observabilidade e tudo que um arquiteto .NET de verdade precisa saber.
📍 Curso completo + Mentoria ao vivo
📦 Do básico ao avançado
🚀 Do código à produção
🧠 Do entendimento técnico à tomada de decisão
📆 As inscrições já estão abertas. 💸 Economize R$1500 até amanhã, terça (08/04 23:59).
💥 Inscreva-se agora e dê o próximo passo na sua carreira:
👉 https://share.gago.io/X6_f
Então, se você quer aprender aspnet, o caminho são esses.
E isso vai te levar para outras implementações.
Na pasta model em uma webapi como eu faço um cadastro.cs e um login.cs, o login tem relacionamento com cadastro no sql?
Alguém sabe como fazer? Não entendo muito de relacionamento de chave estrangeira
Da pra ver que o cara meteu uns console.log no meio pra saber se estava funcionando kkk, pela tamanha confusão que é código kkkkk
Читать полностью…O problema não é if/else,
o problema é falta de visão e estratégia.
É achar que tá bom.