El Delphi Academy está de vuelta!

Después de una breve pausa debido a nuestra participación en el TDC 2017 y también algunos días de vacaciones, Delphi Academy está de vuelta ya la próxima semana!

DelphiAcademy

Y aquí sigue, de primera mano, nuestra nueva agenda!

Delphi Academy ¡Anunciando nuevos episodios para el segundo semestre de 2017

Para inscribirse, basta con acceder a nuestra página de registro en http://embt.co/AcademyLA

Y si usted perdió algunos de los episodios anteriores, nunca es demasiado recordar! La grabación de todos los episodios se puede encontrar aquí http://embt.co/AcademyLA-replay, y ejemplos y diapositivas aquí https://github.com/flrizzato/DelphiAcademy

¡Así es, ya nos estamos preparando por aquí, y el próximo viernes estamos en el aire!

 

O Delphi Academy está de volta!

Após uma breve pausa devido nossa participação no TDC 2017 e também alguns dias de férias, o Delphi Academy está de volta já na próxima semana!

DelphiAcademy

Confira aqui em primeira mão nossa nova agenda!

Delphi Academy Anunciando novos episódios para o segundo semestre de 2017

Para se inscrever, basta acessar nossa página de registro em http://embt.co/AcademyBR

E se você perdeu alguns dos episódios anteriores, nunca é demais lembrar! O replay de todos os episódios podem ser localizados aqui http://embt.co/AcademyBR-replay , e exemplos e slides aqui https://github.com/flrizzato/DelphiAcademy

Então é isso, já estamos nos preparando por aqui, e terça-feira próxima estamos no ar!

Um Mecanismo de Cache de Dados para DataSnap

Hoje pela manhã, durante o Delphi Academy, discutimos sobre cache de dados para DataSnap. Basicamente o cenário onde você tem tabelas que sofrem nenhuma ou poucas alterações ao longo do período, as quais você não precisa refazer a consulta a todo tempo, para todos os usuários.

Estou disponibilizando o exemplo abaixo, mas em um resumo, temos o seguinte:

  • Em uma aplicação DataSnap REST, adicionar um DataModule e configurar seu LifeCycle para Server, no ServerContainer. Com isso, ele terá uma única instância durante o ciclo de vida da aplicação
  • Neste DataModule, coloque um MemTable (ou Clientdataset se preferir) para cada tabela que deseja manter em cache
  • Defina uma conexão ao banco, e métodos (ou componentes para a execução das queries) para executar as consultas e carregar as tabelas em memória
  • Adicione um TFDEventAlerter e faça as devidas configurações: http://docwiki.embarcadero.com/Libraries/Tokyo/en/FireDAC.Comp.Client.TFDEventAlerter
  • Crie triggers de INSERT/UPDATE/DELETE que fará o “POST_EVENT” com o nome do evento alertando que a tabela sofreu alguma alteração. Este mesmo mecanismo está disponível para a maioria dos banco de dados: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Database_Alerts_(FireDAC)
  • No evento do OnAlert do  TFDEventAlerter, faça o refresh das tabelas e atualização dos datasets em memória

Com isso, você tem um mecanismo seguro e prático para manter as tabelas em memória sempre atualizadas.

Screen Shot 2017-05-30 at 17.34.14Screen Shot 2017-05-30 at 17.34.21

Os exemplos atualizados estão nestes links:

 

Delphi Academy Brasil: I’m back!

Olá pessoal!

Estamos com a agenda do Delphi Academy praticamente pronta, em breve estaremos divulgando as datas e tópicos nas mídias sociais da Embarcadero, e todos que participaram durante o ano passado receberão também um e-mail.

E para o lançamento desta temporada, o primeiro episódio será especial: vamos falar do novo compilador Delphi para Linux, atualmente em beta.

Para aqueles que não participaram no ano passado, ou perderam algum episódio, aqui temos o playlist com o replay de todos os vídeos:

  • Playlist de todos os episódios anteriores

Fiquem atentos, em alguns dias teremos a agenda disponível. O primeiro broadcast deve ocorrer em 07/02!