AlgaWorks Insights #02
1.39K subscribers
602 photos
115 videos
544 links
Download Telegram
Quando desenvolvemos um software que deve atender várias empresas, como por exemplo um SaaS, muitas vezes buscamos baixo custo de implantação e simplicidade de implementação.

Nesse caso, a estratégia de multitenancy com banco de dados único, separando os dados dos tenants por colunas discriminatórias, é o mais indicado.

Nessa live você vai aprender exatamente como implementar essa abordagem usando JPA.

Anota na sua agenda: quarta-feira, dia 14 de Agosto, às 19:00h, você tem um encontro marcado com o nosso especialista Alexandre Afonso.

Acesse http://bit.ly/jpa-liveclass-9 e defina o lembrete.
É melhor usar DTO para serializar as respostas de uma REST API?
POST vs PUT: qual método HTTP usar para persistir alguma coisa nova?
Está gostando das dicas? Então compartilhe com seus amigos e nos grupos de programação. 😁🙏🏻
Spoiler sobre a pré-venda do Especialista Spring REST...
O Grupo VIP para participar da pré-venda do treinamento completo Especialista Spring REST já está aberto.

Entre no grupo agora e receba todas as informações.

👉 http://alga.works/esr-prevenda-vip
Antes do Angular 4, quando precisávamos exibir elementos HTML condicionalmente, acabávamos repetindo o *ngIf, negando a condição.

Agora temos a possibilidade de utilizar o "else" dentro do *ngIf.

Desta forma, simplificamos o código e deixamos mais legível!
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Você sabe qual a utilidade e finalidade de usarmos a anotação @Override em nossas classes Java?

Nessa aula, você irá aprender na prática os conceitos por trás dessa anotação.

Confere aí!
Quando um sistema está muito lento, na maioria das vezes o gargalo está nas consultas mais pesadas feitas no banco de dados ou até mesmo as mais simples, executadas centenas ou milhares de vezes em um curto tempo.

E uma solução para melhorar a performance quando a gente usa JPA, é configurar um cache de segundo nível.

Claro, tem que ser bem pensado, para não criar outras dores de cabeça que um caching incorreto pode trazer.

Nessa live, vamos fazer a configuração do cache de segundo nível do JPA e Hibernate e ainda conversar sobre o que você precisa ter em mente na hora de incluir ele na sua aplicação.

Anota na sua agenda: quarta-feira, dia 21 de Agosto, às 19:00h, você tem um encontro marcado com o nosso especialista Alexandre Afonso.

Acesse http://bit.ly/jpa-liveclass-10 e defina o lembrete.
Aprenda a configurar o cache de segundo nível com JPA e Hibernate.

A gravação da JPA LiveClass está disponível no link abaixo:
http://bit.ly/jpa-liveclass-10
O JShell nos permite executar códigos Java de forma interativa no terminal.

Assim não temos mais a burocracia de criar classes com o método main apenas para testar algum código.

Para usar, basta ter instalado o JDK 9+ e executar o comando "jshell" no terminal.
Media is too big
VIEW IN TELEGRAM
É assim que se usa o FormArray em um projeto Angular
Poderíamos usar Angular Material, PrimeNG ou qualquer outra biblioteca de componentes.

Eu defendo que a escolha deva ser feita para cada projeto, pensando em como a biblioteca pode ajudar a desenvolver o que você precisa.

Apesar da AlgaWorks ser parceira oficial da PrimeTek (empresa que desenvolve o PrimeNG) e eu conhecer e admirar muito o trabalho Cagatay Civici (desenvolvedor líder do PrimeNG), eu sempre gosto de fazer uma escolha mais racional, e não emocional.

Dito isso, eu gosto de PrimeNG (o que não quer dizer que eu não goste das outras bibliotecas) porque é muito completa e tem mais de 80 componentes de muita qualidade.

Para projetos grandes, especialmente projetos corporativos (ERPs, telas de cadastros, etc), ter muitos componentes à mão ajuda muito na produtividade.

A PrimeTek tem bastante experiência em desenvolvimento de componentes para JSF, Angular, React, etc.
This media is not supported in your browser
VIEW IN TELEGRAM
Esses são os passos para criar componentes no Angular...
O JPA permite que a gente controle as instâncias das entidades que devem ou não ir para o cache de segundo nível, de forma dinâmica.

Nessa live você vai aprender como isso funciona, além de configurar um projeto para usar esse cache de forma estática e também da forma dinâmica, usando somente os recursos da especificação JPA.

Anota na sua agenda: hoje, dia 28 de Agosto, às 19:00h, você tem um encontro marcado com o nosso especialista Alexandre Afonso.

Acesse http://bit.ly/jpa-liveclass-11 e defina o lembrete.
Aprenda a controlar quais entidades JPA devem ir para o cache de segundo nível de forma dinâmica.

A gravação da JPA LiveClass está disponível no link abaixo:
http://bit.ly/jpa-liveclass-11
(1) Anotação @ExceptionHandler: parâmetro recebe a exceção a ser tratada.

(2) Anotação @ControllerAdvice: é utilizada para tratar exceções de forma global.

(3) HandlerExceptionResolver: trata exceções genéricas (Ex: páginas de erros, como 404, 500...).
This media is not supported in your browser
VIEW IN TELEGRAM
Java Web vs Java Desktop: qual você deve aprender?