Durante minhas pesquisas e o desenvolvimento de projetos eu
desabafo no Twitter,
que também tem muito da minha
vida pessoal.
Ao contrário da maioria das pessoas,
meu Facebook
tem mais interação profissional do que pessoal, e respondo
poucas mensagens privadas. Você pode me encontrar
facilmente nos grupos
PHP Brasil e
REST Brasil .
Em geral, meu nome de usuário em qualquer serviço é
alganet, o que me torna simples de encontrar.
Web Semântica
Meu principal interesse é a
Web Semântica
, um conjunto de tecnologias para a web.
Web Semântica, que define como dados puros podem ser
expostos para livre consulta na web não deve ser
confundida com a
semântica de documentos HTML
, que não define dados, apenas como uma informação
pré-existente deve ser marcada de forma adequada para publicação.
Intimamente relacionada está também a
Linked Data
, que se importa com a manutenção de um conjunto
distribuído e global de dados usando tais tecnologias.
REST é um estilo de construir software em rede, o estilo
projetado para a web e do qual todas as suas tecnologias
derivam.
Projetos
O
Respect\Rest
é um microframework para PHP que possui fortes convenções
que orientam o desenvolvedor a aprender e utilizar o estilo
REST e a negociação de conteúdo, tratamento de erros, cache,
autenticação e links do protocolo HTTP e padrões derivados.
Uma tradução do Respect\Rest para os paradigmas nativos
do JavaScript deu origem ao
Aeronautics\Concorde, que funciona no servidor com
node.js e em navegadores modernos, trazendo o conceito de
roteamento e hipermídia para o cliente e servidor de maneira
uniforme.
Explica algumas técnicas utilizadas na
Kingo Labs
para varrer dados de APIs sociais como Twitter e Facebook.
REST: Faça o Serviço Direito
Em suas
primeira
e
segunda
versões o foco é nas regras arquiteturais do REST e suas
relações com tecnologias populares.
Na
terceira versão
são abordados os temas menos explorados pelas publicações populares de REST,
tais como hipermídia, camadas, arquitetura de servidores e código sob
demanda.
Aborda o uso de REST para distribuição em serviços de nuvem e a incrível
relação que essa arquitetura tem com a arquitetura orgânica da web, o que
a faz barata, escalável e de alta performance.
Linguagens
Eu tenho um interesse incomum por linguagens e idiomas. Meu maior
esforço nessa área envolve o desenvolvimento de linguagens de domínio
específico (DSLs) internas e semi-internas hospedadas em outras linguagens
de propósito geral. Resumidamente, meu trabalho envolve
usar a riqueza gramatical de linguagens genéricas para criar
camadas eficientes de abstração.
Projetos
Meu projeto mais famoso é o
Respect\Validation,
uma DSL interna, híbrida entre funcional e orientada a objetos para regras de
validação em PHP. A DSL em si começa na forma com a qual objetos que implementam
uma determinada interface podem ser aninhados em um Composite apenas por injeção
de dependência de construtores:
<?php
use Respect\Validation\Rules;
// Montando um validador pela sua arquitetura interna
$validTwitter = new Rules\AllOf(
new Rules\String,
new Rules\Alnum('_'),
new Rules\Length(1, 15)
);
Em cima dessa arquitetura, contudo, a DSL se desenvolve:
<?php
use Respect\Validation\Validator as v;
// Montando o mesmo validador acima utilizando chains:
$validTwitter = v::string()->alnum()->length(1, 15);
Ambos os mecanismos tem resultados idênticos. A chain tem como responsabilidade expor
uma interface declarativa para os processos de construção e composição de regras
de validação.
// Ambos funcionam da mesma forma
$validTwitter->validate('alganet');
Aviso
Há conteúdo inacabado! O RSS também está inacabado!