Тёмный

Resolvendo DESAFIO BACKEND da Magalu com Spring Boot, Scheduler e MySQL 

Build & Run
Подписаться 7 тыс.
Просмотров 14 тыс.
50% 1

Опубликовано:

 

7 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 56   
@buildrun-tech
@buildrun-tech 2 месяца назад
Você gostou do vídeo de hoje? Qual poderia ser o próximo desafio? Quer apoiar o canal e ter benefícios exclusivos? Seja membro: www.youtube.com/@buildrun-tech/join
@avnercaleb8867
@avnercaleb8867 2 месяца назад
Demorou pra criar a assinatura pra membros, macho. Ja garanti a minha. Sucesso, seu trampo e massa, melhor do YT
@buildrun-tech
@buildrun-tech 2 месяца назад
@@avnercaleb8867 kkkkk, obrigado Avner 🫡
@amhfilho
@amhfilho Месяц назад
Muito bom o vídeo, so quero deixar apenas uma sugestão, em uma API REST o método DELETE deve ser usado para remoção de um recurso. No seu caso, como está alterando um recurso (Status), deveria usar PUT
@cesarr_
@cesarr_ 2 месяца назад
lembrando que, tem um video que o Brunão fez sobre o design pattern strategy, da pra implementar o envio para cada channel, da pra dar uma incrementada no código e mostrar que tem conhecimento tambem sobre design pattern 😄
@buildrun-tech
@buildrun-tech 2 месяца назад
É verdadee! Bem lembrado Cesar! Dica boa!!
@anthonymeds4440
@anthonymeds4440 2 месяца назад
Essa playlist de desafio tecnico é show demais
@gustadev276
@gustadev276 2 месяца назад
Iradissimo padrinho, estou estudando spring (migrando de node com nest) esses vídeos vão me salvar!!!
@jovemxapo
@jovemxapo 2 месяца назад
Aeeee! Mais um desafio, sua didática é incrível 🙌🏽
@buildrun-tech
@buildrun-tech 2 месяца назад
Obrigado mano!
@leandropqd
@leandropqd 2 месяца назад
Espero que seu canal cresça bastante, pois seu trabalho é muito bom! Trabalho com java a 7 anos e vi poucos canais no yt que tem esse grau de cuidado com a apresentação que você tem!!!
@buildrun-tech
@buildrun-tech 2 месяца назад
@@leandropqd obrigado Leandro! 🤘🫡
@gabrielcardosogirarde7515
@gabrielcardosogirarde7515 2 месяца назад
Utilizar a identificação como notificationId não seria algo redundante dentro do contexto da entidade Notification? Porque você prefiriu utilizar um relacionamento 1 para N entre Channel e Notification ao invés de criar um enumerado, no caso não seria mais interessante ser um relacionamento N x N ou talvez utilizar @ElementCollection com uma listagem de enums representando os canais, tendo em vista que a notificação poderia ser enviada para vários canais ao mesmo tempo. Achei muito inteligente sua ideia de criar um Enum para o Channel contento o Id e a descrição dele pra representar os canais padrões pré cadastrados no banco, eu provavelmente teria feito um enum somente com a descrição dos channels e buscaria eles através da descrição pra pode setar ele como um relacionamento da notificação, mas usando essa abordagem que você fez fica muito mais claro e simples. Muito bom o vídeo, aprendi coisas novas ✌
@buildrun-tech
@buildrun-tech Месяц назад
@@gabrielcardosogirarde7515 São boas ideias tbem Gabriel! Neste caso optei por normalizar a base, para ficar mais otimizada e melhor indexada.
@victorabreu4463
@victorabreu4463 Месяц назад
Muito bom. Parabéns pelo canal. Aproveitando os vídeos pra dar uma atualizada. Vou ver todos e já estou compartilhando seus vídeos com o clã dos devs por aqui. kkkkkk. Valeu.
@buildrun-tech
@buildrun-tech Месяц назад
@@victorabreu4463 Obrigadoo! 🤘
@sinvalfelisberto
@sinvalfelisberto 2 месяца назад
Massa demais! Cheguei agora por aqui!
@Anacletodev
@Anacletodev Месяц назад
Seus vídeos são uma mina de ouro , muito bom
@aln_soares
@aln_soares 2 месяца назад
que video top ! Parabéns pela didatica e conteúdo
@user-fb7cj4tj4j
@user-fb7cj4tj4j 2 месяца назад
Gostei dessa maratona (resolvendo desafios)
@patarachada
@patarachada 29 дней назад
Camarada, algum motivo especial em ter optado por utilizar o CommandLineRunner ao invés dos arquivos schema.sql e data.sql? Parabéns pelo vídeo, muito bacana.
@itamarmonteiro3066
@itamarmonteiro3066 2 месяца назад
Show demais esses desafios
@thenanzim
@thenanzim 2 месяца назад
Show demais!
@denisonkolling
@denisonkolling 2 месяца назад
Muito bom!!!👏👏👏
@moisesferreira10
@moisesferreira10 Месяц назад
Por ser um teste pra recrutadores não seria legal colocar também tratamento de exceções?
@programadordebug
@programadordebug Месяц назад
Qual sua opiniao de status e channel serem apenas enums? Penso isso pois são registros que não mudarão com frequência e eles são muito acoplados a implementação, você teoricamente não poderia ter um channel sem implementar a forma de envio dele (pensando em algo mais futuro)
@buildrun-tech
@buildrun-tech Месяц назад
@@programadordebug Pensando em otimização, nós precisamos normalizar as colunas da base de dados ( 1 Forma Normal ). Se for um campo de texto somente, não temos tantos benefícios com indexação. :)
@edmareliasbregagnoli5929
@edmareliasbregagnoli5929 Месяц назад
Poderia ser dessa forma tambem, nao vejo problema na questao do status ser um ENUM dentro da propria entidade. Quanto ao Chaneel nesse caso e melhor ser uma tabela separada pois o channel pode ter outros atributos. Suponha que a empresa deseje desabilitar o envio de notificacao de SMS, por questao de custo, por exemplo. A tabela channel poderia ter um campo Ativo (true/false) para cada tipo de notificação. Dessa forma, voce consegue ter controle maior sobre cada channel
@eduardoroosevelt3261
@eduardoroosevelt3261 2 месяца назад
Muito bom o video parabéns super didático. Espero que mais brasileiro possa criar conteudo desse seu nível. Eu só fique com uma duvida, por que você extraiu tudo para uma entidade channel e status, pq não optou por só usar uma enum? No final você colocou um TODO dizendo que não irá realizar essa implementação. Daria para ter criado uma interface, envioGateway com 1 metodo send por exemplo, injetar na sua service e chamar o metodo send no lugar do TODO. Ai quem for mexer com o envio teria que implementar essa interface. Acredito que desacoplaria bem mais.
@buildrun-tech
@buildrun-tech Месяц назад
@@eduardoroosevelt3261 Fala Edu! Optei por normalizar a base de dados, com isso ela fica melhor indexada e otimizada. É uma ótima sugestão essa criação da interface, boa!
@murilokratos3388
@murilokratos3388 2 месяца назад
Otimo video. Descobri teu canal ao puro acaso e to curtindo muito. Uma duvida, pq vc não utiliza o Lombok?.
@buildrun-tech
@buildrun-tech 2 месяца назад
@@murilokratos3388 obrigado Murilo! Rapaz, eu prefiro ter a visão real do código que está rodando, além de outros aspectos (encapsulamento, etc). Não tem certo ou errado, é mais a minha preferencia mesmo :)
@pedroarthuralves
@pedroarthuralves 2 месяца назад
Muito bom! Só uma dúvida: como tu grava o conteudo assim deixando você e a tela desse jeito? Com qual app?
@buildrun-tech
@buildrun-tech 2 месяца назад
@@pedroarthuralves obrigado! É o OBS mesmo :)
@Bruno-fh7ec
@Bruno-fh7ec 2 месяца назад
Obrigado pelo conteudo!! Dúvida: qual seria o motivo de criar as tabelas channel e status ao inves de apenas adiciola-las como coluna de notifications e deixar o proprio backend tratar isso?
@estevaois
@estevaois 2 месяца назад
normalização é uma boa prática dentro da base de dados (quando não é levada ao extremo)
@buildrun-tech
@buildrun-tech 2 месяца назад
@@estevaois Exato, é para isso msm!
@edmareliasbregagnoli5929
@edmareliasbregagnoli5929 Месяц назад
Naoo vejo problema na questao do status ser um ENUM dentro da propria entidade. Quanto ao Chaneel nesse caso e melhor ser uma tabela separada pois o channel pode ter outros atributos. Suponha que a empresa deseje desabilitar o envio de notificacao de SMS, por questao de custo, por exemplo. A tabela channel poderia ter um campo Ativo (true/false) para cada tipo de notificação. Dessa forma, voce consegue ter controle maior sobre cada channel
@daniel_goncalves
@daniel_goncalves 2 месяца назад
Muito bom mesmo. Agora me tira uma dúvida. Porque você optou por fazer duas entidades channel e status e não colocou apenas como 2 atributos da notificação já que no cadastro é uma notificação por channel? Eu só faria assim se no cadastro eu enviasse uma mensagem e uma lista de chanels para essa mesma notificação. Muito obrigado pelo conteúdo.
@buildrun-tech
@buildrun-tech 2 месяца назад
@@daniel_goncalves opa, obrigado! Optei por normalizar a base, para poder ensinar os relacionamentos tbem. Com a base normalizada, as buscas ficam mais eficientes
@daniel_goncalves
@daniel_goncalves 2 месяца назад
@@buildrun-tech fiz um fork pra fazer umas mudanças. Depois compartilho pra vc ver se é legal
@buildrun-tech
@buildrun-tech 2 месяца назад
@@daniel_goncalves boaa! Compartilha sim
@edmareliasbregagnoli5929
@edmareliasbregagnoli5929 Месяц назад
Nao vejo problema na questao do status ser um ENUM dentro da propria entidade. Quanto ao Chaneel nesse caso e melhor ser uma tabela separada pois o channel pode ter outros atributos. Suponha que a empresa deseje desabilitar o envio de notificacao de SMS, por questao de custo, por exemplo. A tabela channel poderia ter um campo Ativo (true/false) para cada tipo de notificação. Dessa forma, voce consegue ter controle maior sobre cada channel
@AtrativoZap
@AtrativoZap 2 месяца назад
Top
@Anacletodev
@Anacletodev Месяц назад
Por que preciso criar um construtor vazio?
@buildrun-tech
@buildrun-tech Месяц назад
@@Anacletodev Opa, seria pro SpringData/Hibernate conseguir instanciar e gerenciar a inserção dos atributos da sua entity
@dldmdani
@dldmdani 2 месяца назад
onde posso ver o repositório do desafio original?
@buildrun-tech
@buildrun-tech 2 месяца назад
@@dldmdani O desafio foi passado via PDF para um inscrito do canal. Ele passou para a gente e eu converti para MD. Está no link da descrição o repositorio, o arquivo é o problem.md
@lealsantanati
@lealsantanati Месяц назад
Qual o nivel ? Junior ?
@buildrun-tech
@buildrun-tech Месяц назад
@@lealsantanati Junior/Pleno
@JCode_Development
@JCode_Development 2 месяца назад
Aonde eu encontro esses desafios?
@buildrun-tech
@buildrun-tech 2 месяца назад
@@JCode_Development existe o repositório do backend brasil. Mas esses eu recebi dos inscritos :)
Далее
Первый день школы Катя vs Макс
19:37
Fake watermelon by Secret Vlog
00:16
Просмотров 7 млн
DESAFIO BACKEND COM JAVA SPRING + DEPLOY VPS EM 1 HORA
54:06
Spring Boot CRUD 2024 Java MySQL Backend
40:32
Microservices with Databases can be challenging...
20:52
Resolvendo DESAFIO de VAGA BACKEND com Java Spring
1:25:07
3 ways to reduce the size of your docker images
17:20
I tried 8 different Postgres ORMs
9:46
Просмотров 409 тыс.
Depois de 20 Anos Criando Software
23:49
Просмотров 52 тыс.
Первый день школы Катя vs Макс
19:37