Browsing monthly archive

dezembro 2018

Retrospectiva 2018

  Que ano incrível que tivemos aqui no blog, eu me dediquei bem mais ao blog e também ao podcast, e para fechar o ano resolvi fazer essa retrospectiva do que rolou aqui no blog no decorrer do ano, e aproveitar para falar do que esta por vir para 2019.   Os TOP 3 posts mais lidos do ano – Retrospectiva 2018 Em primeiro lugar, temos o post sobre Certificações Salesforce – First Steps, do meu grande amigo William Galvão, recebemos mais de 2 mil visitas só nesse post. Certificações Salesforce – First Steps Em segundo lugar, um post meu sobre Regra de validação para CPF e CNPJ, com mais de 1100 visitas. Regra de validação para CPF e CNPJ E em terceiro lugar, também um post meu, com mais de 500 visitas temos o post Mergulhando fundo na utilização de REST API do Salesforce. Mergulhando fundo na utilização de REST API do Salesforce   Top 3 categorias mais acessadas – Retrospectiva 2018 Agora vamos as categorias, as categorias que mais foram procuradas no blog foram, em primeiro lugar a categoria de Certificações, com mais de 300 acessos, seguida pela categoria de Apex com mais de 200 acessos e por último na nossa […]

Melhore o desempenho usando o Platform Cache

Sempre que construímos grandes sistemas, o desempenho é um dos maiores vilões. As performances geralmente podem corresponder ao balanceamento de carga dos servidores, o tempo de resposta das páginas que construímos, e assim por diante! Quando trabalhamos na plataforma force.com, a maior parte desse trabalho pesado é cuidada pela própria plataforma, para o nosso alivio. No entanto, há certas coisas que podemos ajustar para melhorar ainda mais o desempenho, e um desses conceitos é o uso do Platform Cache. O que é um cache? tenha sempre em mente que Cache é um armazenamento temporário Primeira mente, tenha sempre em mente que Cache é um armazenamento temporário, e de uma forma geral é frequentemente usado para evitar acesso desnecessários em um banco de dados, vamos uma imaginar um cenário de uso, onde você armazena no seu banco de dados a Endpoint e Token para acessar um aplicação externa, se você imaginar uma página com muitos acessos e que a cada acesso é realizado uma chamada para uma aplicação externa, a cada acesso precisaríamos consultar os dados de acesso no banco de dados, o que consumiria muito recurso e tempo da plataforma, agora imagine ter essa informação sempre em memória e disponível para uso imediatamente sem depender de […]

Entendendo o uso do SOQL Locking Records

No post de hoje vamos falar sobre o SOQL Locking Records, imagine o cenário onde você precisa fazer o processamento em vários registros, e nesse pequeno intervalo de tempo, ninguém poderá modificar esse registro, para conseguirmos esse feito, precisamos usar o Locking Records, então vamos lá entender como isso funciona?   O que é Locking Records O Locking Records é uma forma de bloquear os registros do Salesforce em uma transação Apex, basicamente o Locking Records consiste na inclusão de duas palavras chaves em sua SOQL, dessa forma todos os registros resultantes da sua SOQL serão bloqueados e não poderão ser alterados até que a transação do Apex seja concluída. ao utilizar o FOR UPDATE você não poderá especificar um ORDER BY Dois pontos importantes aqui são, o primeiro é que não é necessário realizar o commit dos dados, se ocorrer um erro na transação Apex, todas as alterações serão desfeitas, e caso a transação termine sem erros, os registros serão comitados automaticamente. Outro ponto de atenção é que ao utilizar o FOR UPDATE você não poderá especificar um ORDER BY, talvez esse seja o ponto chave que dificulte a sua utilização, porém como a idea do Locking Records é garantir […]

O que são Superbadges

Na semana passada me perguntaram, Fernando, o que são essas Superbadges que você publica no Linkedin? Para alguns pode parecer uma pergunta boba, mas encarei isso com outros olhos, afinal se surgiu essa dúvida, é sinal de que alguns realmente podem não saber o que são as Superbadges, mesmo trabalhando com Salesforce e sabendo da existência do Trailhead, então vamos lá entender o que são essas tais Superbadges e descobrir por que você deve dar muita atenção a elas. O que são Superbadges? A ideia das Superbadges são propor-lhe alguns desafios, se você algum dia já entrou no Trailhead, deve conhecer os Módulos, Projetos, Trilhas e o Trailmix, eu já falei um pouco do Trailhead aqui nesse post. O primeiro passo para você conseguir realizar uma Superbadge é liberar os módulos indicados para aquela Superbadge em questão. Este é um exemplo de uma Superbadge que eu ainda não liberei, para poder fazer a Superbadge Einstein Analytics Data Preparation Specialist é preciso completar os módulos indicados, neste caso temos o Analytics Administration Basics, Analytics Data Integration Basics e o Exploração do Analytics para desktop, uma vez completado os módulos a Superbadge fica liberada para inicio. E é ai que a coisa […]

Apex assíncrono – Scheduled Apex – Parte 4

Chegamos ao nosso último post da série sobre Apex assíncrono, falei aqui sobre métodos futuros, classes Queueable e Batch Apex, e hoje para fechar o tema, vamos falar sobre as classes Scheduled Apex, bom mas chega de enrolação e vamos logo para o que interessa não é mesmo? O que é o Scheduled Apex? podemos programar para que ele seja executado TODOS os dias em um determinado horário As Scheduled Apex nos permite realizar o agendamento de uma execução do Apex em horário específicos, diferentemente que fizemos com o agendamento das classes Batch Apex, onde só podíamos adiar a sua execução, com o Scheduled Apex ganhamos um poder de escolha muito maior, podemos programar para que ele seja executado TODOS os dias em um determinado horário. Mas claro que podemos fazer ainda mais do que isso, podemos agendar uma execução para 2x por dia, ou até mesmo 1x por semana, você é quem escolhe quando o processo será executado. Quando usar uma Scheduled Apex O cenário mais comum é exatamente quando temos que executar um conjunto de código do Apex em um horário e dia especificos. Estrutura de uma Scheduled Apex As Scheduled Apex também são classes que precisam implementar […]

Apex assíncrono – Batch Apex – Parte 3

Dando continuidade a série de posts sobre Apex assíncrono, hoje vamos falar da Batch Apex, sem dúvida um dos mais complicados posts da série, e espero conseguir desmistificar e passar para você um overview bem bacana sobre ele, vamos lá? A mas se você ainda não leu o post sobre métodos futuros e sobre Queueable sugiro que de uma pausa na sua leitura, e leia esses posts antes :) O que é uma Batch Apex O Batch Apex é uma classe do Apex que implementa uma interface e dá ao desenvolvedor um poder de processamento enorme, permitindo que você enfileire inúmeros trabalhos do apex ao mesmo tempo, você pode ainda mover a ordem dos processos, obter o status do processamento, abordar o seu processamento e também realizar o agendamento, para que o seu processo seja executado em uma hora determinada por você. Quando usar uma Batch Apex Para tarefas de execução longa com grandes volumes de dados que precisam ser executados em lotes, como manutenção do banco de dados Para tarefas que precisam de resultados de consulta maiores do que as transações regulares permitem Estrutura de uma Batch Apex Uma classe Batch Apex, deve implementar a interface Database.Batchable<X> onde X é […]