Perfil

Lucas Cavalcante @lucas61


Sobre mim

-

Propostas

Arquitetura Hexagonal com Symfony

Quando começamos a trabalhar com programação, não costumamos focar em arquitetura de software. Não é um assunto trivial e envolve muito mais que linhas de código, e quando estamos começando queremos logo partir para a ação.


Nesta talk procuro abordar o tema com cautela, pois sei que em um evento temos desenvolvedores de todos os níveis. Então dou uma breve explanação sobre arquitetura de software, quem é Uncle Bob, clean architecture, onion architecture, até chegar de fato na arquitetura hexagonal. Explico que quando apĺicamos uma arquitetura correta, podemos ganhar performance da nossa aplicação e também ganhamos produtividade no nosso trabalho.


Faço leves pinceladas em DDD (Domain Driven Design) e SOLID (apenas a letra D do "Princípio de Inversão de Dependência").


Primeiramente, trago a teoria, explicando cada elemento do workflow de uma request, todo o caminho percorrido, e o que seria necessário mudar para transformar esse processo em uma arquitetura hexagonal. Após essa introdução, mostro um exemplo prático de uma aplicação, usando a Netflix como business case.


Nesse exemplo prático mostro código de todas as etapas do processo: controller, service, repository, entity e interface.


E no final ainda faço um link da arquitetura hexagonal com arquitetura de microserviços.

Fuzzy Searching: fazendo pequisas difusas com PHP

Fuzzy searching é um método que fornece uma capacidade aprimorada de processar consultas com correspondência baseadas em palavras ou frases similares com o termo pequisado. Quando uma correspondência exata não é encontrada para uma palavra ou frase, o método fuzzy searching entra em ação. Fuzzy searching tenta encontrar uma correspondência que, embora não seja 100% de exatidão, esteja acima da porcentagem de correspondência definida pela aplicação. Trocando em miúdos, é o que o Google faz em suas pesquisas quando digitamos um termo errado, ou exista um termo similar com mais resultados.


Nesta talk serão abordados os seguintes tópicos: entender o conceito, quais os métodos utilizados para conseguir essa correspondência, e apresentar uma aplicação prática usando um pacote do composer que aplica estes conceitos. (a função utilizada no exemplo prático é a do cálculo de distância Levenshtein)


Em teoria da informação, a distância Levenshtein ou distância de edição entre dois "strings" (duas sequências de caracteres) é dada pelo número mínimo de operações necessárias para transformar um string no outro. Entendemos por "operações" a inserção, deleção ou substituição de um carácter.


Em um evento como o PHPeste costumamos ter desenvolvedores de vários níveis de conhecimento, sabendo disso a talk será bem didática, explicando toda a teoria necessária para que todos entendam o que está sendo dito ao longo da explicação.

Trabalhar remoto para a gringa? Yes, we can!

É extremamente comum ouvir algum desenvolvedor reclamando do mercado local. Entre as principais reclamações estão a média salarial e a falta de visão das empresas. E eu me incluía nesse grupo. Diante dessa insatisfação, em 2017 tomei uma decisão: conseguir um emprego remoto na gringa. Agora, em 2019, consegui o tão sonhado emprego remoto em uma empresa americana para trabalhar com PHP/Symfony.


Gostaria de compartilhar minha experiência: sites onde procurar, dicas na hora da entrevista, como preparar tecnicamente para os code challegings, dismistificar algumas percepções nossas sobre o mercado gringo, etc.