[.NET Core] Implementando a interface IHealthCheck

Nas minhas aventuras pelos estudos no mundo da arquitetura de serviços distribuídos, eu sempre notei que autores enfatizam a necessidade de saber quando parar de “consumir” um serviço que está indisponível. Isso é saudável quando o motivo da indisponibilidade do serviço é justamente o excesso de requisições, não é? Neste artigo eu trago uma forma simples de implementar a interface IHealthCheck para que nossas API’s possam fornecer de uma forma rápida e objetiva os meios para que as aplicações client saibam quando algum recurso está indisponível. Eu aprendi sobre este recurso no último evento no qual eu estive presente aqui em Campinas, São Paulo. O evento foi o Microsoft Connect(); 2019 e contou com a presença de alguns MVPs de calibre da Micro<3soft.

Criando o projeto

Atualmente eu estou na versão 2.2.102 do .NET Core, mas provavelmente estes comandos irão continuar nas versões futuras.

Aqui eu invoquei o meu terminal e criei um diretório chamado healthcheck, naveguei para a raiz e rodei o comando que cria um projeto padrão do tipo webapi:

Continue lendo “[.NET Core] Implementando a interface IHealthCheck”

Embarcadero Conference 2018

Única. É essa a definição para a Embarcadero Conferece 2018.

Eu nunca havia presenciado um número tão grande de profissionais Delphi concentrados em só lugar.  Vou contar para vocês um pouco dessa experiência…

A ansiedade começou na noite anterior ao evento. Preparei minha mochila com os itens básicos que eu julguei serem necessários para sobreviver: Meu Kindle, 4 pacotes de clube social, uma garrafa para água, 1 caderno pequeno e caneta para anotações, um carregador portátil, cabos usb, pendrive, fones de ouvido e até uma camiseta extra shit happens.

Tudo certo. Fiz a check list da bolsa, verifiquei se o papel da inscrição estava seguro na bolsa. Estava. Só depois de verificar tudo duas vezes é que eu fui dormir em paz, afinal, já eram 00:37 e eu iria acordar às 5:10 para me aprontar e pegar a carona para o evento às 5:50.

Continue lendo “Embarcadero Conference 2018”

[Delphi] Form.Show vs Form.ShowModal

Form.Show vs Form.ShowModal

Sim, existe diferença. Vamos nos aprofundar um pouco mais e destacar a principal diferente entre os dois.

Você sabe exatamente o que acontece por trás do ShowModal que o torna diferente do Show? Inicialmente temos os tipos de cada método que diferem entre si. O ShowModal é uma function que retorna um integer e o Show, por sua vez, é uma procedure, logo, não conta com um resultado.

Ao criarmos um novo formulário partindo do menu “File -> New -> VCL Form” o RAD Studio cria um novo formulário com base em um template. Esse novo formulário em branco herda da classe TForm. Essa classe, a TForm, herda de uma outra classe chamada TCustomForm.

O método Show está implementado na classe TCustomForm

Podemos invocar o método Show graças ao recurso de herança oferecido pela Programação Orientada a Objetos. O Show contém uma implementação bastante simples. Ele apenas altera a visibilidade do formulário para true e invoca o método BringToFront para dar o foco da aplicação ao recém “visível” formulário.

Continue lendo “[Delphi] Form.Show vs Form.ShowModal”

[Delphi] Comparando as coisas de uma forma elegante: TValueRelationship

Comparar para não parar

Comparar valores é uma tarefa comum dentro do desenvolvimento de software. Estamos o tempo todo comparando informações para tomadas de decisão, desvios de fluxo e outras rotinas dentro dos sistemas.

Continue lendo “[Delphi] Comparando as coisas de uma forma elegante: TValueRelationship”

[Delphi] Debugando uma aplicação do “tipo” serviço do Windows

O problema em debugar um TService

Já tentou debugar uma aplicação do tipo serviço do Windows (Windows Services)? Um parto, não é? Eu mesmo já vi uma algumas tentativas bem interessantes: Alimentar um arquivo com os valores das variáveis (.txt, xml, .json… e até gerar logs no gerenciador de log do Windows. Continue lendo “[Delphi] Debugando uma aplicação do “tipo” serviço do Windows”

[Delphi] Customizando um TTreeNode

Fala galera, beleza?

Hoje eu trago para vocês uma forma simples e objetiva de adicionar e manipular propriedades adicionais aos nós de um TreeView.

A classe TTreeView é um dos componentes visuais da aba Win32. Esse componente representa uma estrutura organizada em níveis de profundidade, criado uma relação de “nós pai e nós filhos”.

Visualmente ela lembra uma árvore e provavelmente foi daí que o nome saiu, hehe.

TTreeNode

TTreeNode é a classe que dá suporte à coleção de itens de um TTreeView. Podem ser acessados através da propriedade Items: MyTreeView.Items.

Estendendo a classe TTreeNode nós podemos aproveitar o seu comportamento e então adicionar as nossas particularidades.

Continue lendo “[Delphi] Customizando um TTreeNode”

[Delphi] Um passo além com matrizes

Matriz é uma coleção de indexada de elementos do mesmo tipo que podem ser estáticas ou criadas dinamicamente. Como cada elemento possui um índice próprio para ser acessado, seus valores podem se repetir sem nenhum problema. Os índices de uma matriz no Delphi são necessariamente do tipo Integer. Continue lendo “[Delphi] Um passo além com matrizes”

[Delphi] Usando variáveis e propriedades com nomes reservados

Fala galera, beleza?

Na faculdade uma das primeiras coisas que aprendemos na matéria de lógica de programação é que existem palavras reservadas: do, write, while, for, type, class, public e etc…

É compreensível. Não podemos usar as mesmas “palavras” que são reservadas para o funcionamento da linguagem.

No entanto, um dia, a necessidade pode nos levar ao extremo. As razões para precisar de uma variável ou propriedade com o nome de uma palavra reservada podem variar, mas o importante é que o Delphi está preparado para isso.

Continue lendo “[Delphi] Usando variáveis e propriedades com nomes reservados”

TDC – The Developer’s Conference – 2017

Fala galera, beleza?

Essa semana foi a semana! Eu e mais dois grandes amigos tivemos a oportunidade de estarmos presentes na TDC 2017 que foi realizada na Universidade Anhembi Morumbi no Campus da Vila Olímpia em São Paulo.

Chegamos cedo em São Paulo, por volta das 7:00 da manhã. Segundo as informações do site, o credenciamento iria começar a partir das 7:30. Rumamos em busca de uma padaria para comer alguma coisa. São Paulo é mágico pela manhã… Aquele cheiro de café em conjunto com o friozinho e o barulho dos carros formam uma combinação sem igual.

Continue lendo “TDC – The Developer’s Conference – 2017”

O que você ouve programando?

E aí, o que você houve programando?

Um dos meus maiores problemas enquanto programo é o ruído externo… Cara, é incrível como o mundo faz barulho!
A solução é partir pro fone de ouvido e isolar o nosso cérebro do barulho alheio.
Eu costumava ouvir música, mas isso também acabou virando um problema: Eu ficava prestando atenção na letra da música e perdia o foco! Pfff…

Continue lendo “O que você ouve programando?”