PHPeste 2020

PHPeste é uma conferência de PHP organizada pelas comunidades “cabra da peste” do nordeste brasileiro.  Serão três dias de muito aprendizado, muita mão na massa e, principalmente, de gente “arretada da peste” que irá ampliar ainda mais seu networking. PHPeste acontecerá em Natal-RN nos dias 2, 3, 4 de Outubro.

Submissões

As palestras devem ter uma duração máxima de 45 minutos e podem abordar qualquer tema relacionado ao PHP e o seu ecossistema, seja desenvolvimento, infra, segurança, metodologias e etc. Caso tenha alguma dúvida, envie um e-mail para coordenacao@phprn.org.

Dicas Importantes

  • Oriente a categoria da sua atividade no tíitulo com uma marcação [PALESTRA] OU [MINICURSO], desse modo facilita a organização. Se não tiver assim não vamos contar sua atividade.
  • Procure colocar uma descrição bem detalhada sobre o conteúdo de sua palestra ou minicurso para que todos possam compreendê-la.
  • Envie quantas palestras desejar. Não há limite de proposta por participante (e quem sabe mais de uma seja selecionada).

Aceitação

Após o encerramento das votações entraremos em contato com todos os candidatos que foram selecionados por e-mail.

Datas

Não deixe para enviar de última hora.

  • Submissão de palestras e minicurso até o dia 10/03/2020
  • Resultado 13/04/2020

Benefícios

Os palestrantes seleciondos ganharão 1 Kit PHPeste, hospedagem (hospedagem destinada os palestrantes de outros estados) e  entrada no evento para todas as palestras de seu interesse.


The event is no longer accepting proposals.

Proposals

author photo

API REST com o Codeigniter Integrado com Flutter

API REST com o Codeigniter Integrado com Flutter


Nesta palestra, você obterá o conhecimento necessário para construir um backend usando o PHP com Codeigniter. Consequentemente, teremos uma demo de um aplicativo desenvolvido em Flutter, o qual estará consumindo o serviço construído. A palestra tem como foco nortear, a todos que precisam aprender a implementar alguma solução similar, como por exemplo, construir um backend próprio para ser consumido por um aplicativo desenvolvido em Flutter. 

Use the buttons bellow to vote:

author photo

Aplicações PHP Serverless com Bref

Essa talk tem objetivo de mostrar mais uma proposta arquitetural que agora temos disponível com o PHP. Ultimamente, o mercado vem usando muito tecnologia como VPS and Docker/Kubernetes para fazerem servirem aplicações tradicionais PHP.



Usando serverless através deste projeto agora você ganha em alguns pontos como esclabilidade e custos com infraestrutura, além de não ter que gastar tempo e pessoas do time focados em fazer o set up, monitorar e melhorar todo o processo. E os benchmarks mostram aplicações PHP no mundo real rodando e tendo números bem expressívos como se estivessem sendo executadas numa arquitetura convencional. Por exemplo, no Brasil tem um projeto muito grande usando o Bref que é o suamusica.com.br que lida com 40M requests diárias, em picos chega atingir 2.5k de lambdas concorrentes e response time da API é em torno de 90ms e no portal (website) gira em torno de 130ms.



Na talk gostaria de fazer um passeio mostrando as possiblidades, os números, fazer algumas comparações com as stacks tradicionais e motrar a comunidade como é simples usar e dizer de mais uma interassante abordagem para se usar na hora de deployar nossos apps PHP.

Use the buttons bellow to vote:

author photo

CakePHP 4: Mais rápido, cremoso e gostoso

O CakePHP chegou a versão 4 e este lançamento iniciou um novo capítulo para o CakePHP.


Essa palestra apresenta uma abordagagem prática para o desenvolvimento com o CakePHP 4, esteja você descobrindo pela primeira vez ou não o CakePHP.


Embora a nova versão contenha várias alterações recentes, será abordado estratégias de como migrar uma aplicação, cobrindo os recursos obsoletos e removidos, além de destacar os novos recursos.

Use the buttons bellow to vote:

author photo

Criando um ambiente PHP com Docker

O propósito dessa talk é trazer ao público os passos necessários para realizar a criação, configuração e administração de ambientes de desenvolvimento PHP utilizando containers docker


 

Use the buttons bellow to vote:

author photo

Dependency Injection na vida real com PHP

O propósito dessa talk é esclarecer o conceito de injeção de dependências apontando quais os problemas que ele resolve e como é possível implementa-lo. Para isso, serão utilizados casos de uso de projetos reais escritos em PHP

Use the buttons bellow to vote:

author photo

Devops com openshift

 Boa parte da responsabilidade da cultura Devops é a automatizar e documentar a infraestrutura do software. Nesta palestra abordarei processos de build e implatação de aplicações PHP. Vamos ver como ferramentas como Docker, Kubernetes e Openshift podem mudar o jogo e garantir processos melhores para a integração e entrega dos nossos softwares. De quebra veremos os impactos para os desenvolvedores ao entrar nesse maravilhoso mundo novo.

Use the buttons bellow to vote:

author photo

Do XHG ao Scrum

Caos:


Não pense


Commit sem update


Seja rapido pra quê testes,


Sim isso existe e tem Nome. XGH e somos muito bons nisso. 


Ordem


Cerimonias diarias,


papeis definidos,


sprints,


É, poemos chegar aqui, mas será que é tão fácil como se pensa??


Nessa Conversa vamos falar sobre como é nossa vida Natural (XHG) e como podemos começar o caminho para utilizar o Scrum e trazermos um pouco de ordem a nossa equipe.


Vem nessa

Use the buttons bellow to vote:

author photo

[MINICURSO] Criando pacotes PHP, publicando e utilizando no Laravel

[MINICURSO] Neste minicuro será mostrado:


- Como criar um pacote PHP


- Como publicar no packagist.org


- Como utilizar o pacote criado no Laravel

Use the buttons bellow to vote:

author photo

[MINICURSO] DevOps na Prática com Laravel, GitLab CI e Docker.

[MINICURSO] DevOps na Prática com Laravel, GitLab CI e Docker.


Nível: iniciante-intermediário


Pré requisitos:


 * Programação básica;


 * Git e GitLab;


Esse minicurso tem os seguintes tópicos:


* Como criar um container que executa o Laravel na máquina do desenvolvedor;


* Como configurar um Pipeline de Integração Contínua no GitLab CI;


* Como realizar um deploy no Heroku utilizando o GitLab CI.

Use the buttons bellow to vote:

author photo

[MINICURSO] Do Front ao Back - Desenvolvendo um Dashboard Simples com Laravel

Atraves dos Controllers vamos utilizar, com fins de aprendizagem, as 4 funções básicas do php utilizando o framework Laravel, presentes em quase todos os programas do mesmo, são Create, Read (select) Update e o destroy (delete) essas quatro letras formam o acrônimo C.R.U.D., este tipo de coisa aparece muito quando se tem uma conexão entre o php e algum banco de dados, vamos criar aqui uma serie de páginas que façam isso.


Mostrarei como modificar os assets do framework para receber o novo template que elaboraremos no minicurso.

Use the buttons bellow to vote:

author photo

[MINICURSO] Identificando vulnerabilidades no desenvolvimento web utilizando o Zed Attack Proxy

Quer criar uma aplicação segura e não sabe por onde começar? 


Nesse minicurso, você irá aprender como utilizar uma feramenta gratuita, para identificar vulnerabilidades e dessa forma poder corrigir seu código, entregando um produto seguro.


Conteúdo a ser abordado


: O que é o OWASP ZAP?


: TOP 10 


: Ferramenta ZAP


: Funcionalidades (Scan automático, spider, breakpoints, etc)


: Ataque automático 


: Explorar manualmente


: Gerar relatório 


 


 


Afinal para garantir a segurança, você precisa primeiro conhecer do que deve se proteger.

Use the buttons bellow to vote:

author photo

[MINICURSO] - Laravel + Vue.js (Backend API + FrontEnd)

Neste minicurso iremos aprender como desenvolver uma API utilizando a Framework Laravel como Backend e também iremos criar um Frontend utilizando Vue.js


 


Pré-requisito:


1 - Conhecimentos Básicos em PHP


2 - Conhecimentos básicos em JavaScript (ES6)


3 - Ambiente de desenvolvimento PHP 7.* configurado. (Item não obrigatório, LINK de como configuirar o ambiente)


 


Parte #1


As responsabilidades da API


1 - Definição dos Recursos;


2 - Definição da Entidade (Modelo);


3 - Definição dos endpoints;


4 - Definição da tabela de códigos de respostas (HTTP Response Codes);


5 - Definição da estrutura das respostas.


 


Parte #2


1 - Iniciando um projeto Laravel;


2 - Definição da Entidade (Model) ;


3 - Definição da modelagem no banco (Migration);


4 - Definição e implementação dos métodos do controlador (Controller);


5 - Router Model Bind, Entendendo e utilizando este conceito para otimização dos controladores (Dependence Injection);


6 - aplicando o S do S.O.L.I.D para o método de validação dos dados de entrada. (Requests e Validation);


7 - Modelando a resposta (Response).


 


Parte #3


1 - Iniciando um projeto Vue.js;


2 - Definição dos componentes da entidade (List, Create, Edit);


3 - Simulando retornos da API;


4 - Definição dos serviços para consumo da api (List, Create, Edit);


5 - Agora tudo já deve está funcionando;


6 - Encerramento.


 

Use the buttons bellow to vote:

author photo

[MINICURSO] PHP Internals: Primeiros Passos

Então, você sempre quis contribuir com o código-fonte do PHP, mas não sabe como começar?

Neste workshop, teremos uma visão geral prática do funcionamento interno do PHP. Aprenderemos as estruturas básicas, como criar e testar uma release e como implementar nossas próprias funções e extensões.

O objetivo principal é orientar o público nos primeiros passos para contribuir com a linguagem PHP.

Use the buttons bellow to vote:

author photo

[MINICURSO] Por debaixo dos Panos - Executando Scripts com Php

Neste minicurso irei abordar o uso de scripts de linhas de comando utilizando o PHP e ShellScript, para a configuração de um Servidor WEB completo.


O nosso servidor web será capaz de ajustar o DNS  (Domain Name System, ou sistema de nomes de domínios) de acordo com a rede que o usuário estiver atualmente, configurar o nome de domínio, configurações básicas do sistema operacional (No nível Administrador) ate gerar um certificado SSL ( Secure Sockets Layer). Tudo isso utilizando php, shellscript, talvez um pouco de python :)

Use the buttons bellow to vote:

author photo

[MINICURSO] WORDPRESS - Criando rapidamente uma página web com WORDPRESS

Segundo o W3Techs, o wordpress está presente em mais de 30% dos sites do mundo, sendo sua principal utilização para gerencimento de sites de conteúdo. O Wordpress contunua crescendo e esse crescimento se deve principalmente por ser prático, completo, seguro e versátil além de possuir uma grande quantidade de temas disponíveis.
Nesse minicurso, vamos abordar:
- Como Instalar o wordpress;
- Entender o funcionamento do painel administrativo;
- Instalar um tema;
- Criar uma página para gerenciamento de conteúdo.

Use the buttons bellow to vote:

author photo

Padrões, Arquiteturas, Modelagens e Técnicas milenares que você (não) deveria usar em seus projetos

Um stand up onde irei falar de vários padrões, arquiteturas, modelagens e técnicas que muitas pessoas utilizam ao realizar seus projetos, porém, você não deveria utilizar de jeito nenhum.

Use the buttons bellow to vote:

author photo

[PALESTRA] Boas práticas na prática

Para garantirmos a melhor arquitetura de código possível, precisamos aplicar diversos conceitos de qualidade que são difíceis de serem aplicados na prática. E isso afeta muito a manutenibilidade de nosso sistema.


Iremos ver exemplos reais de como utilizar Object Calisthenics e SOLID (ao invés de dicas abstratas e difíceis de se aplicarem no mundo prático), além das ferramentas PHPCS e PHPMD para termos códigos mais limpos e evitarmos problemas futuros.

Use the buttons bellow to vote:

author photo

[PALESTRA] Como nomear meus códigos

Talvez a citação mais comum presente em todas as palestras e posts de programação é "There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton". Realmente, nomear código na maioria das vezes é algo extremamente difícil, afinal são muitos fatores que implicam na nomeação de algo. Mesmo que não exista bala de prata para se nomear códigos, vamos tentar encontrar algumas técnicas que possam facilitar esse trabalho de nomeação.

Use the buttons bellow to vote:

author photo

[PALESTRA] Como o DDD nos ajudou a criar um plugin de pagamento que pode ser aplicado a qualquer e-commerce

Após muito tempo criando código duplicado para os nossos plugins de pagamento nas plataformas às quais damos suporte, decidimos que era hora de arrumarmos a casa.


Essa é uma história de como extraímos toda a responsabilidade e regras de negócio dos nossos plugins para uma biblioteca capaz de lidar com tudo isso sem deixar de ser compatível com tudo o que precisamos.


Mais do que falar sobre DDD, essa palestra mostra como pensar fora da caixa, criar um código limpo e usar de boas práticas pode fazer diferença no seu trabalho.

Use the buttons bellow to vote:

author photo

[PALESTRA] Construindo microsserviços a partir de um monolito

O termo microsserviço não é algo muito novo, mas como toda tendência muitas pessoas acabam pensando que aquilo é a solução para todos os problemas. Está cada vez mais comum empresas tentarem migrar seus monolitos para microsserviços, mas será que elas estão prontas para isso? Será que essa abordagem irá solucionar ou criar novos problemas? Como podem se preparar para isso? É isso que tentaremos responder nessa palestra.

Use the buttons bellow to vote:

author photo

[PALESTRA] Crawlers - Coletando e transformando dados da web

Vivemos em um tempo onde a informação é a chave principal para tudo, queremos sempre consumir informação, criar aplicações para utilizar as informações e prover mais informações mas o que fazer quando se depararmos com a situação em que precisamos desenvolver algo dependente de uma informação que não está legível para ser utilizada? Em outras palavras mais simples, como consumir uma informação de um serviço que não tem API? É nesse momento em que entra o mundo de Crawlers. Essa palestra tem a intenção de mostrar as abordagens necessárias para se criar crawlers e como criá-los

Use the buttons bellow to vote:

author photo

[PALESTRA] Criando APIs seguras

Com a disseminação do uso de microserviços, vários aspectos de segurança em nossas APIs precisam ser repensados, pois um simples problema pode ser escalado a níveis preocupantes.


Pontos que serão abordados:


- como fazer o uso correto dos processos de autenticação e autorização (além da diferença entre eles) utilizando OAuth2;


- melhores práticas na adoção de access tokens e refresh tokens com JWT e suas alternativas;


- aplicação de throttling e rate limiting;


- camuflagem de IDs sequencias (através de GUIDs ou hashes);


- criptografando e assinando a requisição para evitar tampering.

Use the buttons bellow to vote:

author photo

[PALESTRA] Criando uma Pipeline de CI/CD com Docker, GitLab e Heroku

Há muito ouvimos falar em Integração Contínua e Implantação Contínua, mas quando pensamos em aplicar esses conceitos em um projeto real, vêm as dúvidas: como fazer, por onde começar, quais ferramentas usar, entre muitas outras.


A princípio, a quantidade de ferramentas e conceitos podem ser assustadores, mas nesta palestra veremos como podemos criar uma pipeline de forma simples usando algumas ferramentas gratuitas que temos à disposição, particularmente o Docker, o GitLab e o Heroku.

Use the buttons bellow to vote:

author photo

[PALESTRA] DDD na minha aplicaçãozinha - Padrões táticos para todos

 Em diversos cursos, livros e até palestras sobre DDD, é muito comum ouvirmos:
Não precisa usar DDD naquele seu CRUD ou aplicaçãozinha simples.


E se eu te disser que dá sim pra usar DDD (e talvez você já até use) em qualquer aplicação, independente do tamanho, sem adicionar complexidade desnecessária ao código?


Nesta palestra vamos falar sobre alguns padrões táticos citados no estudo de DDD como Entity, Value Object, (Domain|Application|Infrastructure) Service, Repository, etc.

Use the buttons bellow to vote:

author photo

[PALESTRA] DDD, pra que Lado Vai Isso?!

Quando falamos de design e arquitetura de software, uma metodologia da qual ouvimos falar, mas que nem todos conhecem é o DDD, ou Domain Driven Design.


Nesta palestra faremos uma introdução ao DDD, conhecendo os principais conceitos, algumas de suas vantagens e desvantagens, e veremos que DDD não é nenhum bicho de sete cabeças.

Use the buttons bellow to vote:

author photo

[PALESTRA] De codar pra artes para a arte de codar

Palestra voltada para iniciantes

Use the buttons bellow to vote:

author photo

[PALESTRA] De elefante no labirinto dos Microsserviços. Por onde começo? Para onde vou?

Objetivo dessa palestra é demonstrar a construção de microsserviços de uma forma prática e simples.


Entender os conceitos por trás de uma arquitetura de microsserviços e entender que não é um bicho de sete cabeças e provavelmente você já sabe fazer.


Microsservços é um conceito atual e aplicável em diferentes aspectos.


E por mais incrível que pareça, ter o entendimento sobre microsserviços pode sim ser aplicado ao seu monolítico e deixar o código mais entendível e tranquilo de manter.


Granuralizar os domínios de uma apllicação e separá-las em contexto pode parecer difitil, mas não é um bicho de sete cabeças.


Entenda desde o início o desenvolvimento de microsserviços através de um pequeno sistema de compras com Laravel (monolítico) a transformá-lo em vários microsserviços gradualmente.


Não vamos contruir uma arquitetura de microsserviços da Netflix, mas será o pontapé inicial para adentrar nesse universo tão glorioso.

Use the buttons bellow to vote:

author photo

[PALESTRA] Depurando suas aplicações com Xdebug, PHPStorm e Docker

Como desenvolvedor, é essencial que usemos ferramentas que possibilitem a descoberta e mitigação de problemas em nosso código. Usar uma ferramenta de debug, além de facilitar nossa vida, torna nosso trabalho mais fácil e produtivo.
Nesta palestra veremos como instalar e configurar o Xdebug em um ambiente Unix com e sem Docker, além de utilizar o Phpstorm para depurar uma aplicação de forma eficaz.
Códigos legados, complexos e lógicas de negócio ficam muito mais amigáveis com alguns breakpoints e um pouco de debugging!

Use the buttons bellow to vote:

author photo

[PALESTRA] Design Patterns em PHP

Está em dúvida sobre como estruturar o código da sua aplicação?


Nesta palestra irei apresentar os diferentes modelos de padrões de projetos e como eles podem ajudar a estruturar melhor o seu código, deixando ele mais fácil de realizar manutenção e de ser compreendido por outros desenvolvedores.

Use the buttons bellow to vote:

author photo

[PALESTRA] Então me ajude a atualizar, PHP 7 eu quero é você

Mesmo estando em 2020, muitos sistemas não foram atualizados, continuam com versões inferiores a 7.x. No pensamento de alguns, pode deixar como estar. Pois, afinal, os servidores ainda aceitam, esquecendo de quesitos importantes, tais como performance, segurança, coisas que uma linguagem que está em busca de atualização constante, trás para nós. O PHP trás isso. Será que não vale a pena refatorar? Com tantos benefícios, é sério que você quer ficar de fora dessa?

Use the buttons bellow to vote:

author photo

[PALESTRA] Entregando Bons Resultados com BDD

Behavior Driven Development, ou BDD, é uma técnica de desenvolvimento onde focamos no comportamento da aplicação e na verificação e validação de funcionalidades para aumentar a qualidade e eficiência do seu código.


Nesta palestra veremos as idéias e conceitos básicos do BDD, como configurar o projeto para utilizar as ferramentas necessárias e como implementar os primeiros testes.

Use the buttons bellow to vote:

author photo

[PALESTRA] Escrevendo ou refatorando condicionais ruins

É impossível escrever códigos sem "if", "else", "elseif" ou até mesmo "switch". Mesmo essas condicionais sendo extremamente simples de se usar, muitas vezes vemos códigos complexos e de difícil leitura. Pior ainda é quando vamos escrever testes para essas condicionais complexas e acabamos caindo em um assunto chamado Complexidade Ciclomática. Mas isso não deveria ser uma dor de cabeça muito grande. Nessa palestra será apresentado algumas técnicas para facilitar a leitura dessas condicionais e simplificar a complexidade, pois afinal, sempre queremos ter códigos melhores.

Use the buttons bellow to vote:

author photo

[PALESTRA] Estamos matando novos profissionais da área

As comunidades tem tido cada vez mais um papel importantíssimo na criação de novos profissionais da nossa área, ou até mesmo no aperfeiçoamento de pessoas que já estão nela. O mais incrível da maioria das comunidades open source é que boa parte das pessoas que estão inseridas nelas se prontificam a ajudar quem precisa e isso não acontece apenas em comunidades focadas inteiramente em ajudar os iniciantes.


Mas com a crescente ideia de ajudar pessoas e de pessoas estarem sempre dispostas a ajudar, começamos a ver alguns problemas nesse processo, problemas que podem impactar muito a carreira ou a desejo pela área de algumas pessoas. Essa palestra irá abordar alguns desse problemas, entre outros questionamentos relacionado a ajuda das comunidades, mentoria e aprendizado.

Use the buttons bellow to vote:

author photo

[PALESTRA] - Estendendo o PHP - Uma arbodagem prática

Criar extensões para o PHP é muito importante para o desenvolvedor que busca desempenho e baixo consumo de recursos de hardware para suas aplicações. Escrever código C como uma extensão nativa PHP é o equivalente a turbinar seu sistema de forma maravilhosa.

Use the buttons bellow to vote:

author photo

[PALESTRA] Estruturas de dados em PHP

Nessa palestra irei falar sobre como ser mais eficiente utilizando as estruturas de dados em PHP, quais são as estruturas built-in da linguagem, além de como foi feita a remodelagem das implementações dos arrays da versão 5 para o 7. Serão apresentadas diversas implementações, os benchmarks e casos de uso. Em especial, será abordado como funciona a implementação das Colletions utilizadas pelo Laravel.

Use the buttons bellow to vote:

author photo

[Palestra] Function as a Service no OpenFaaS com Docker e PHP

Com o OpenFaaS é muito simples transformar qualquer coisa em uma function as a service que é executada no Linux ou Windows através do Docker Swarm ou Kubernetes. Além disso o OpenFaaS já possui um portal onde você pode implementar novas funções e verificar as métricas de suas funções. Aproveitando a facilidade e poder da linguagem PHP, podemos fazer muita coisa usando essa ferramenta.

Use the buttons bellow to vote:

author photo

[PALESTRA] Gitflow, ramificações, rebase e pull request. Um mundo além do push origin master.

Uma apresentação simples e didática de como funciona o processo de branchs e pull request do git e como isso se aplica dentro e com o git flow.


Saindo um poucos do push origin master e abrangendo o conhecimento sobre um gerenciamento do repositório.


Como isso se aplica no universo open source? Pull request é essencial, e é um processo além do commit.

Use the buttons bellow to vote:

author photo

[PALESTRA] Interfaces "escondidas" do PHP - Tire proveito de mágicas interessantes

Tratar um objeto como um array ou coleção, filtrar fluxos de dados, representar um objeto como json, poupar consumo de memória na leitura de grandes arquivos...


Parecem coisas relativamente complexas, mas na verdade são super simples e podem ser realizadas através da implementação de simples interfaces, classes ou outros recursos do PHP como:



  • Traversable

    • Iterator

    • IteratorAggregate

    • SPL Iterators



  • php_user_filter

  • streamWrapper

  • JsonSerializable

  • Generators


Nessa palestra alguns exemplos práticos de como utilizar estes recursos serão mostrados para que seu dia-a-dia possa ser facilitado.

Use the buttons bellow to vote:

author photo

[PALESTRA] Introdução à autenticação de API Rest com Laravel

Nessa palestra irei falar sobre os princípios básicos de autenticação de APIs utilizando Laravel, abordando desde a configuração do banco de dados até a geração de tokens, proteção das rotas, utilização de guards e como gerenciar diferentes tipos de autenticação em APIs mais complexas. Apresentarei exemplos de implementações em sistemas reais com JWT Auth e bibliotecas que podem auxiliar no desenvolvimento.

Use the buttons bellow to vote:

author photo

[PALESTRA] Introdução à Clean Architecture

O conceito Clean Architecture foi criado em 2012 por Robert Cecil Martin ("Uncle Bob"). Essa arquitetura tem como principais finalidades ser facilmente testável, independente de framework e independente da interface do usuário. A ideia desta palestra é introduzir os conceitos básicos além de trazer um possível caminho para se aprofundar nessa abordagem.

Use the buttons bellow to vote:

author photo

[PALESTRA] Júnior, Pleno ou Sênior... Afinal, sou o quê?

Um overview sobre a carreira de PHP no nordeste. 


Mostrarei como as empresas nordestinas categorizam seus devs PHP, e quais critérios levam em conta na hora de contratar alguém como Programador Júnior, Pleno ou Sênior.


Além disso, mostrarei um levantamento de salário médio de acordo com as principais capitais do nordeste.

Use the buttons bellow to vote:

author photo

[PALESTRA] - Laravel Accessors e Mutators

Accessors e Mutators são métodos de sobrecarga utilizados pelo Laravel onde se faz da implementação dos métodos mágicos do PHP __get e __set para definição e atribuição de dados. 


Iremos entender como funcionam esses métodos mágicos e também como o Laravel faz suas implementações.


Seus noteboks serão bem vindos! Vamos codar juntos!?!?!

Use the buttons bellow to vote:

author photo

[PALESTRA] Laravel e o middleware SetCacheHeaders, melhorando o tempo de resposta de suas aplicações web

O Laravel possui um middleware built-in para cache http não muito comentado, porém bastante útil. O que ele faz? Aonde ele vive? O que come? #Descubra aqui :)

Use the buttons bellow to vote:

author photo

[PALESTRA] Laravel, eventos em Models e Multitenancy

O que é Multitenancy? Eventos em Models? Quando e por quê?


Nesta palestra, conectamos alguns conceitos do framework Laravel e do PHP, como event listeners em models, injeção de dependência,Traits, etc. para chegar a uma solução interessante para implementação de aplicações que utilizam o Laravel, em um cenário multitenancy.


Eu escrevi sobre o tema em alguns posts no ano passado, caso tenha curiosidade sobre o conteúdo, seguem os links:

PHP, Traits, Laravel & Beyond


Laravel, Traits, Eventos em Models e Multi-tenancy


 

Use the buttons bellow to vote:

author photo

[PALESTRA] Levando o seu site WordPress para o próximo nível com o GatsbyJS

A proposta desta talk é a de mostrar quais as vantagens em se utilizar o WordPress como um CMS headless e o porque utilizar o GatsbyJS indo desde a integração de ambos até o seu deploy.

Use the buttons bellow to vote:

author photo

[PALESTRA] Manutenção de múltiplas aplicações usando pacotes PHP

Nessa palestra mostrarei como a Rits, empresa especialista em assinatura e recorrência, no cenário nacional, desenvolve e mantém dois produtos white label com o mesmo core, baseando-se no desenvolvimento de pacotes PHP.

Use the buttons bellow to vote:

author photo

[PALESTRA] O erro de bilhões de dólares, lidando com null

Você já parou para pensar o quanto null pode ser um problema para os nossos códigos? A frase "erro de bilhões de dólares" que representa a referência nula, foi dita por Tony Hoare, mas por quê ele acredita nisso? O quanto a referência nula pode ser problemática para nós? Se é tão ruim assim, o que devo fazer? É isso que tentaremos responder nessa palestra.

Use the buttons bellow to vote:

author photo

[PALESTRA] OOP, PHP e uma visão que está além de classes e métodos

A proposta dessa talk está em explorar as nuances do paradigma de programação orientado a objetos. Qual a importância de se conhecer SOLID ou ainda, a de saber implementar algum Design Pattern. Através de exemplos utilizando PHP serão apresentados alguns padrões arquiteturais e o uso de OOP dentro dessas arquiteturas. O plus dessa talk está em apresentar códigos ruins  e como efetivamente melhorá-los através de code refactor e testes. OOP é sobre abstrações, e esse conteúdo irá demonstrar porque devemos programar para uma interface e não para uma implementação.

Use the buttons bellow to vote:

author photo

[PALESTRA] O Princípio da Substituição de Liskov

O Princípio da Substituição de Liskov é um dos 5 princípios do SOLID. Talvez esse princípio seja o menos compreendido e um dos mais bonitos quando se trata de design de código, por isso acredito que deva ter uma atenção especial. A ideia dessa palestra é tentar desmistificar um pouco da escuridão desse princípio.

Use the buttons bellow to vote:

author photo

[PALESTRA] Optical Mark Recognition with PHP

Essa palestra eu compartilho uma experiência onde precisei desenvolver um script que identificasse as respostas marcadas em um formulário de papel que fazia uma pesquisa de satisfação.

Foi desenvolvido um script com PHP que utiliza o Imagik para processar a digitalização e identificar as marcações. Transformei esse script em uma biblioteca e publiquei no meu GitHub https://github.com/jansenfelipe/omr


Essa palestra foi apresentada no PHP Community Summit 2019 https://joind.in/event/php-community-summit-2019-2019/omr-optical-mark-recognition-com-php

Use the buttons bellow to vote:

author photo

[PALESTRA] O seu amor por tecnologia pode estar matando seu software

Quantas vezes você já ouviu ou falou que "ama tecnologia" ou "ama programar"? Trabalhar com o que ama pode ser considerado um privilegio muito grande. Como bons amantes da tecnologia, gostamos sempre de aprender novos conceitos ou testar novas coisas, mas será que isso é realmente bom? A ideia dessa palestra é trazer um questionamento se estamos deixando o bom senso de lado quando lidamos com algo que amamos e o quanto isso pode ser prejudicial.

Use the buttons bellow to vote:

author photo

[PALESTRA] Otimizando caches e sessions da sua aplicação PHP

Vamos aprender como deixar nossas aplicações mais rápidas otimizando o sistema de cache e seções, vamos aprender como melhorar usando uma das ferramentas mais utilizadas no mercado o Redis, muitos desenvolvedores até conhecem a ferramenta, mas por conta de achar que a configuração é muito complicada acabam não usando, mas vamos simplificar e quebrar esse tabu fazendo que nossas aplicações fiquem cada vez mais rápidas.

Use the buttons bellow to vote:

author photo

[PALESTRA] - Otimizando consultas com Laravel Eloquent

"O Eloquent é ORM embutido no Laravel, que fornece uma simples e linda implementação do ActiveRecord Pattern, para interagir com um banco de dados. Cada Model do Eloquent cria um wrapper sobre a tabela no banco de dados que a ele está associado. Isso faz com que cada instância de um Model seja uma representação de uma linha da tabela associada." Tradução livre de https://laravel.com/docs/master/eloquent#introduction


 


Devida a sua fácil utilização, podem ocorrer casos de consultas em loop ou consultas indesejadas, assim causando lentidão no sistema devido a uma grande quantidade de consultas realizadas banco de dados.


Aqui iremos ver como se utilizar dos recursos de "Eager Loading" e "Lazy Eager Loading" para otimizar as consultas e acelerar nossa aplicação.

Use the buttons bellow to vote:

author photo

[PALESTRA] OWASP Top 10: Sua Aplicação Está Protegida?

Muitas vezes, ao trabalhar com prazos apertados, é comum relegar a segurança da aplicação ao segundo plano, tornando-a vulnerável a ataques.


Além disso, novas falhas são descobertas frequentemente, as formas de ataque estão em constante evolução, e as medidas de segurança precisam acompanhar esta evolução.


Nesta palestra iremos conhecer os maiores riscos de segurança para aplicações web, os impactos causados e as medidas de proteção necessárias, acompanhando a última revisão da OWASP Top 10.

Use the buttons bellow to vote:

author photo

[PALESTRA] PHP e Couchdb, um NoSQL Restfull tão divertido e simples

Couchdb é um banco de dados orientado a documentos que é nativamente REST Full, com replicações à um clique, sistemas de master slave nativamente configurável, views e map/reduce em código gerenciados pela API, e não internamente dentro do banco.


Criar aplicações utilizando este banco é já ter a capacidade de compartilhar dados com outros projetos sem a necessidade de desenvolver APIs específicas e trabalhosas.
Podendo criar de formas simples, uma cópida do banco para somente leitura, e otimizar e dar segurança a todo os dados.


Com uma contra free você tem 1GB disponível para usar e testar seu projeto na IBM Cloudant.


Utilizar PHP com Couchdb é simples e eficaz. Podendo ser capaz de dividir o processamento entre o PHP e o Banco de dados em busca de uma melhor otimização no tempo de resposta.


Conheça o Couchdb e se divirta com as possibilidades que ele lhe dará.

Use the buttons bellow to vote:

author photo

[PALESTRA] PHP Internals: Primeiros Passos

Amamos o PHP e a facilidade que é trabalhar com a linguagem e seu ecossistema, mas alguma vez você já se perguntou o que tem debaixo do capô?


Nesta palestra teremos uma visão geral do funcionamento interno do PHP. Veremos quais são as estruturas básicas, como funciona a pipeline de execução dos scripts, e como podemos acompanhar o que acontece quando rodamos o código.

Use the buttons bellow to vote:

author photo

[PALESTRA] Por que você procrastina

Procrastinar é algo extremamente comum na vida das pessoas, afinal, quem nunca levou 3 horas para iniciar uma atividade pois ficou enrolando até começar. Muitas pessoas que passam por isso, acabam se culpando, mas será que isso é culpa delas? Você sabe o por que você procrastina? Tentaremos responder essas questões e tentar trazer algumas soluções.

Use the buttons bellow to vote:

author photo

[PALESTRA] Protegendo suas variáveis sensíveis no deploy

Você faz ideia de quantas senhas, credenciais e outros dados sigilosos estão configurados nas variáveis de ambiente de seu sistema de CD? Já imaginou o que aconteceria se alguma conta de serviço fosse comprometida e você precisasse alterar os valores em todos seus repositórios?
Ao invés desse trabalho manual, irei mostrar uma abordagem criando um serviço de vault para centralizar suas credenciais e um plugin para consultar essas informações no momento do deploy, utilizando o GitLab como demonstração.

Use the buttons bellow to vote:

author photo

[PALESTRA] Quero escrever um código perfeito

Quando começamos a nos preocupar com qualidade de código, sempre imaginamos que um dia escreveremos um código extremamente perfeito, que atenderá todas as necessidades e expectativas impostas à ele, mas será que esse código existe? O que leva uma pessoa que desenvolve acreditar nesse código ideal?

Use the buttons bellow to vote:

author photo

[PALESTRA] Rastreando a Web com os Novos Componentes do Symfony

Ao desenvolver uma aplicação, um recurso comum que precisamos implementar é a coleta de dados de outras fontes. Esses dados estão disponíveis em várias formas, geralmente não estruturados ou por trás de algum aplicativo JS, dificultando sua recuperação.


Para piorar as coisas, à medida que a aplicação evolui, precisamos obter mais dados, de ainda mais fontes. Mas não se preocupe, as coisas podem ser mais fáceis!


Nesta palestra, usaremos os componentes HttpClient, Messenger e Panther do Symfony para criar um rastreador, primeiro como uma aplicação de console simples e depois evoluindo para uma aplicação distribuída.

Use the buttons bellow to vote:

author photo

[PALESTRA] Refatoração na vida real

A palavra refatoração deixa qualquer pessoa que trabalha com desenvolvimento de software com água na boca. De fato, poder tornar códigos escritos melhores é algo que muito nos atrai.


Nessa palestra vamos conhecer diversas situações onde os códigos estão ruins aprendendo a nomeá-las corretamente (code smells). Em seguida, vamos aprender a como refatorá-las corretamente seguindo boas práticas, tornando o código mais fácil de testar e entender


 

Use the buttons bellow to vote:

author photo

[PALESTRA] Saindo do Legado com os Componentes Symfony

Trabalhar com novos projetos nos dá a possibilidade de utilizar as ferramentas e tecnologias mais novas do mercado. Mas quando trabalhamos com projetos legados quase nunca temos essa oportunidade. Devido aos problemas inerentes ao projeto, o único caminho é manter a arquitetura e reduzir as alterações ao mínimo possível. Mas esta é mesmo a única opção?


Nesta palestra conheceremos alguns componentes do Symfony e veremos como podemos utilizá-los para reduzir o débito técnico de um projeto, e abrir caminho para uma atualização constante e menos turbulenta.

Use the buttons bellow to vote:

author photo

[PALESTRA] Software está pronto, mas como vendê-lo?

Hoje não é nada fácil, com a competitividade crescente no mercado software, conseguir cliente. Ai você pensa, e agora? Como vou competir?
Bem, então vem aprender e entender o Marketing para lançar seu software no mercado.


 A palestra faz uma abordagem da melhor maneira de fazer o seu software ser lançado com sucesso criando o seu plano de marketing para o seu produto.

Use the buttons bellow to vote:

author photo

[PALESTRA] Sua Aplicação Ainda Não Usa os Doze Fatores? Shame!

Normalmente as aplicações utilizam diversos serviços, e são instaladas em vários ambientes diferentes, tornando a sua instalação e configuração bastante trabalhosa.

Por vezes configurações importantes são mantidas diretamente no código causando inúmeros problemas. Mas as coisas não precisam ser assim: seja num projeto novo ou legado, você tem outras opções.

Nesta palestra veremos um breve resumo da metodologia dos doze fatores e como eles podem nos ajudar a melhorar nossos projetos e o fluxo de instalação da sua aplicação.

Use the buttons bellow to vote:

author photo

[PALESTRA] Testes de Mutação - Testes para testar seus testes

Como podemos garantir que nossos testes realmente estão pegando possíveis falhas em nosso código? 100% de cobertura é suficiente?


Nesta palestra apresento o conceito de Testes de Mutação (tradução livre do termo Mutation Tests), que é uma técnica que permite detectar possíveis falhas em nosso código que não seriam cobertas por nossos testes.

Use the buttons bellow to vote:

author photo

[Palestra] Testes Gray Box - Aplicação do melhor dos dois mundos


 



Minha palestra aborda o tema de testes manuais independente de linguagem, falo um pouco sobre a abordagem de testes white box e black box, falo um pouco mais a fundo sobre o gray box, vantagens e desvantagens desse teste, a importancia dos testes, como implementar, um pouco dos testes na pratica e ferramentas mais utilizadas utimamente, caso queira se aprofundar nos testes automatizados.





 

Use the buttons bellow to vote:

author photo

[PALESTRA] - Twig: O PHP template engine flexivel, rápido, seguro e joiado

Twig é um mecanismo de modelo para PHP. Sua sintaxe é originária dos modelos Jinja e Django e já vem por padrão no Symfony, mas o que muita gente não sabe é que ele pode ser usado independentemente de framework, inclusive funciona sem ele.


Nessa palestra aprenderemos como dividir melhor nossos controllers das nossas views, como fazer um aproveitamento melhor do html, como separar nosso html em blocos de código e como utilizar herança de templates. Tudo isso através de exemplos simples e didáticos com códigos reais.

Use the buttons bellow to vote:

author photo

[PALESTRA] Um case de como conseguimos criar testes funcionais reaproveitáveis para nossos plugins de pagamento

Após enfrentar problemas como duplicidade de código e dificuldade em manter nossos testes funcionais sempre atualizados em todos os nossos plugins de pagamento, encontramos uma forma de unificá-los e torná-los mais amigáveis para nossos product owners.


Utilizando o Behat com algumas extensões configuradas, o Chrome e algumas técnicas de divisão de responsabilidade, conseguimos alcançar nosso objetivo e deixar nossos testes como queríamos.

Use the buttons bellow to vote:

author photo

[PALESTRA] Vale a pena ainda aprender PHP?

Segundo o site w3techs, o PHP é utilizado em aproximadamente 78% dos sites que possuem um liguagem de programação ao lado do servidor. Com base nesses números já temos a justificativa para o título da palestra, mas como o PHP chegou a esses números? Qual o caminho percorrido que tornou o PHP uma linguagem tão popular e poderosa? Nessa palestra, vamos apresentar como o PHP começou e mostrar o caminho trilhado até os dias atuais.

Público Alvo:
Iniciantes e Curiosos sobre a linguagem.

Use the buttons bellow to vote:

author photo

[PALESTRA] - Value Object: Porque nem tudo tem que ser primitivo

Nessa palestra aprenderemos as vantagens e desvantagens (se existirem) de usar o padrão Value Objects, que nada mais são do que uma forma de especializar e modelar melhor um dado que normalmente tratamos como primitivo, como é o caso do "email" que não pode ser apenas uma string comum porque possui caracteristicas que o fazem ser diferentes.


Através de exemplos práticos e reais veremos como aplicar isso nas nossas aplicações tornando-as mais robustas e seguras quanto ao tratamento das informações, e então, simbora?

Use the buttons bellow to vote:

author photo

PHP + RabbitMQ e os desafios de usar messageria.

[Palestra]


Nesta palestra trago um caso real da implementação da arquitetura de microserviços para um sistema de vendas. O objetivo é compartilhar com o público todos os pontos positivos e negativos que encontramos ao utilizar este modelo arquitetural, estas tecnologias e os resultados obtidos com o mesmo. RabbitMQ é uma ferramenta muito popular, mas será que utilizada com o PHP se mostrará tão eficiente quanto se fala?

Use the buttons bellow to vote:

author photo

Pra que raios servem os requisitos?

A análise de requisitos, muitas vezes negligenciada, é talvez um dos pontos mais importantes – ou tão importante quanto os outros – do desenvolvimento de sistemas e aplicativos. Nessa talk abordaremos a importância da análise de requisitos neste processo e uma visão simples de como trabalhar com requisitos de forma ágil e descomplicada.

Use the buttons bellow to vote:

author photo

Scrum Pra que já Sabe Scrum

E aí galera, que tal, além de se deleitar com toda essa gama de informações sobre tecnologia e da uma olhada no nosso velho "scrumzinho" de guerra.


Uma abordagem mais detalhada sobre papaeis, artefatos e cerimônias, um bate papo mais sobre o como e o porquê  do que sobre oquê,


Todos já sabemos o conceito dessa metodologia ágil que é uma das mais importantes na area de gestão de projetos já a muito tempo, vamos dar uma avançada no conhecimento???


 


Espero vocês 

Use the buttons bellow to vote:

author photo

Testes automatizados: seu melhor amigo contra entregas falhas.

[Palestra]


Nesta palestra compartilho uma experiência em que uma equipe sofre para evoluir e manter um sistema legado, mas encontra nos testes uma saída para garantir que suas entregas não gerem retrabalho.


Abordo pontos como:


- Como introduzir testes para sua equipe;


- Pontos positivos e negativos após a introdução do uso de testes;


- Limitações encontradas para usar testes automatizados em sistemas legados;


- Muito mais...

Use the buttons bellow to vote:

author photo

Trabalhando com Componentes em PHP

O propósito dessa talk é mostrar ao público a gama de componentes PHP disponíveis para uso em qualquer tipo de projeto, além de reforçar a ideia do desenvolvimento agnóstico a frameworks, plugando no projeto somente o necessário para o seu funcionamento. Para isso, será apresentado o processo completo de desenvolvimento de uma aplicação PHP utilizando alguns componentes desenvolvidos pela comunidade

Use the buttons bellow to vote:

author photo

Trabalhando com Domínios Ricos em PHP

O propósito dessa talk é trazer ao público algumas vantagens em se utilizar a abordagem de domínios ricos em projetos de software, além de apresentar alguns tópicos necessários para realizar uma implementação baseada nessa abordagem em projetos PHP

Use the buttons bellow to vote: