#DarkmiraTour #PHP 2017

As palestras selecionadas

Descubra as palestras da edição 2017!

An ElePHPant life

The last ones who told me I could learn from a plush toy were my daughters. Of course, I acknowledged. Yet, it dawned on me : after ten years of life, the PHP plush has achieved so much ! It went to the White House and Antarctica ; it spawned forty thousands offsprings and a jet-set generation of collectors ; it built bridges within and outside the community.

Nowadays, it is alive and kicking. It still reviews my code, casting an odd look to me, once in while. No one can have enough elephpant.

  • Magno Logan OWASP Chapter Leader & Especialista em Segurança de Redes e Sistemas

Segurança em Nuvem: Protegendo Aplicações SaaS

Esta palestra visa demonstrar mecanismos de proteção de aplicações em plataformas de nuvem no modelo SaaS e mostrar a importância destas funcionalidades para garantir a segurança das aplicações.Iremos apresentar alguns serviços conhecidos como Amazon AWS, Google Cloud e Microsoft Azure e suas funcionalidades segurança. Por fim, iremos demonstrar como algumas vulnerabilidades e incidentes ocorreram e qual o impacto deles
para este novo modelo de TI.

Encriptação de A à Z

Quando você precisa comunicar algo, mas não quer que nenhum enxerido saiba da mensagem, o que você faz? Naturalmente “falar em códigos” é parece ser a melhor opção, mas pra isso você deve saber que padrão usar. SHA1, MD5, Bcrypt, SSL, ciphers, salt, e muito mais: Você talvez tenha ouvido falar de algumas dessas palavras, mas chegou a hora de conhecer como funciona um processo de criptografia e tudo o que há de melhor sobre isso no PHP.

Git: do primeiro commit ao Pull Request

Se você está interessado em conhecer, e começar a trabalhar usando um controle de versão confiável e muito difundido nos ambientes de desenvolvimento. Esta palestra é para você! Vamos entender os primeiros passos para usar controle de versão fazendo um paralelo com problemas corriqueiros de quando não se usa um, como contribuir aos projetos open source ao redor do mundo e uma breve demonstração de publicações de projetos em servidores de produção com o auxílio dos hooks do git.

Anatomia de um ataque

Diariamente milhares de incidentes de segurança são registrados no mundo, agora mesmo o seu site pode estar sofrendo um ataque. Pode não ser uma ação para tira-lo do ar, mas pode ser apenas o roubo de informações ou a escravização do servidor para uma botnet. Raramente um atacante utiliza apenas uma técnica em suas ações. Esta palestra vai tratar de casos reais de ataques a aplicações WEB, as técnicas utilizadas, como foi feita a recuperação do desastre e possíveis maneiras de eliminar futuros incidentes. Vamos tratar não só da aplicação, mas de todos os pontos vulneráveis em nosso ambiente. Com o conhecimento adquirido, seremos capazes de construir aplicações mais seguras, e escolher melhor os requisitos mínimos de ambiente necessários.

Introdução ao Git-Flow

Para tornar a vida dos usuários de Git mais fácil, foi criada essa extensão chamada git-flow, que ajuda a organizar seus repositórios git de uma forma mais fácil. Nessa palestra, saiba as funcionalidades do git-flow, para que serve, e como usá-lo em seu computador.

Criando sua stack de deploy PHP com git, jenkins e ansible

Quando você trabalha com aplicações que precisam de deploys constantes. Sempre nos perguntamos qual a melhor maneira de garantir deploys consistentes e reversíveis. Nessa palestra mostro como criar uma stack de deploy, onde em alguns segundos é possível subir uma nova versão e nos mesmos segundos, retornar para a versão antiga.

API 101: o que é, onde vive, como se alimenta?

API é uma sigla que tá na moda. Todo mundo fala sobre, consome, disponibiliza. Mas o que exatamente é uma API? Essa palestra vai responder a essa pergunta e mais: entenda conceitos como status code, autenticação, documentação de uma API e boas práticas.

Automated API tests with Codeception

Qual é a importancia dos testes automatizados para suas API’s? Quando falamos de testes automatizados a primeira coisa que vem à mente são testes unitários. Mas quando se trata de testar o comportamento de uma API os testes unitários não são suficientes. Precisamos assegurar se as respostas e status code da API estão conforme esperados. O Codeception é um framework PHP completo para testes automatizados com o qual podemos criar nossos testes de API.

Docker Swarm vs Kubernetes

Nessa palestra explicaremos primeiramente os conceitos que definem o que é um orquestrados de contêineres, o que são plataformas de contêineres, o que são PAAS (Platform as a Service) e o que são sistemas operacionais distribuídos. Faremos um overview do Docker Swarm e do Kubernetes passando pelos seus históricos e em seguida faremos um comparativo de ambos mostrando as funcionalidade e vantagens de cada ferramenta.

API RESTfull com Laravel

O Laravel é um Framework, com sintaxe elegante e expressiva, que tem como principal característica ajudar a desenvolver aplicações seguras e robustas de forma ágil e eficiente, com uma documentação vasta e acessível, tornando fácil e rápido o desenvolvimento. Vamos aproveitar a agilidade para criação de rotas controlers e views que o Laravel nos proporciona para construir uma API Restfull simples para cadastro, edição, listagem e exclusão de Usuários

Do REST ao GraphQL com PHP

Aberto para a comunidade em 2015, o GraphQL surgiu como uma alternativa poderosa, eficiente e bem documentada para construção de API’s. Foi desenvolvida e utilizada pelo Facebook por mais de 3 anos antes de sua publicação. Nessa conversa abordaremos os fundamentos da especificação, as principais diferenças com o REST e como desenvolver uma API GraphQL utilizando PHP.

Você teria 1 minuto para falar sobre Objects Calisthenics?

Sua aplicação está realmente bem escrita? Seu código está realmente bem legível? A manutenção está tão fácil quanto tirar doce de bebê?
Não? Pois é, eu sei bem o que é isso.

Objects Calisthenics são regras para um código melhor, e quando digo melhor não é apenas um código bonito, mas um código legível, saudável, e claro, que funcione sem muito trabalho.

Boas regras de programação que foram criadas pela comunidade de desenvolvedores Java, mas que podem facilmente ser aplicadas ao PHP.

A palavra Objeto (Object) está relacionada a Programação Orientada a Objeto (POO), já a palavra Calisthenics vem do grego, que significa exercício (exercises) no contexto da ginástica.

Quando tentarmos seguir essas regras, iremos naturalmente mudar a forma como codamos. Ei macho véi, mas peraí, Isso não significa que você deve seguir todas elas, nem eu consigo.

O mais interessante é tentar equilibrar, usar as regras com consciência, porque grandes poderes trazem grandes responsabilidades.

Programação Reativa Funcional e extensões para PHP

Currying? Observables? Map, Reduce? Aprenda as ideias por trás da programação reativa funcional sem ficar perdido com tantos jargões! Além desses principais conceitos, serão demonstrados alguns exemplos de uso de RxPHP, um conjunto de bibliotecas com extensões reativas para PHP.

Monitorando a segurança de dependências

Hoje em dia as aplicações PHP utilizam dezenas de dependências de fornecedores distintos. Monitorar a segurança dessas dependências é bastante desafiador e por isso o uso de ferramentas que possam facilitar esse gerenciamento torna-se cada vez mais relevante. Essa palestra traça um panorama sobre a segurança das dependências, baseado no OWASP Top Ten – A9 e demonstra o uso de ferramentas que realizam a análise do projeto e informam se as dependências utilizadas, bem como suas versões, possuem vulnerabilidades publicamente descritas. Eliseu falará também sobre a importância de manter dependências atualizadas para a segurança do projeto, as fontes de informação sobre vulnerabilidades e a integração das ferramentas ao processo de desenvolvimento.

Existe vida além da fábrica ?

Baseado em princípios do manifesto craftsmanship para o desenvolvimento de software e uso de metodologias ágeis, com scrum e kamban foi possível abandonar o modelo tradicional de fábrica de software e com isso construir software com qualidade, rapidez e menor custo para o cliente, conforme vamos demonstrar com o use case do Ministério das Relações Exteriores. Mostrar como o processo baseado em pessoas e investimento em inovação foi a ponte para desviar o cliente de um caminho repleto de atrasos e softwares de baixa qualidade a preços exorbitantes.

5+1 perguntas sobre débito técnico

Pilhas e pilhas de código ineficiente e confuso, funcionalidades cortadas, falta de domínio das regras, recursos subaproveitados. Quem nunca passou por isso desenvolvendo um software? É bem provável que você tenha um débito técnico descontrolado e não saiba. Embora seja um termo utilizado já a algum tempo, nem todos estão familiarizados com a existência, causas e efeitos do débito técnico. Esta apresentação objetiva conscientizar tanto desenvolvedores quanto líderes sobre estas causas e efeitos, além de apresentar dicas de como identificar e lidar com o débito técnico.

Review unknown code with static analysis

Code quality is not just for christmas, it is a daily part of the job. So, what do you do when you’re handed with a five feet long pole a million lines of code that must be vetted ? You call static analysis to the rescue. During one hour, we’ll be reviewing totally unknown code code : no name, no usage, not a clue. We’ll apply a wide range of tools, reaching for anything that helps us understand the code and form an opinion on it. Can we break this mystery and learn how everyone else is looking at our code ?

Principios de design de pacotes com php

Se você nunca criou um pacote desde o início sabendo que existem princípios para te auxiliar em suas decisões do projeto de pacote. E se você já criou alguns, ou mesmo muitos pacotes, você será capaz de usar os Princípios de Design para corrigir problemas de design em pacotes existentes e tornar seu próximo pacote ainda melhor. Nessa palestra vamos debater sobre os Princípios e responder a perguntas do tipo: Quais classes pertencem a este pacote e quais não? Quais pacotes são estáveis para depender e quais não são? O que posso fazer para que meus usuários melhorem a usabilidade de um pacote? O que posso fazer por mim mesmo para manter um pacote compatível?

Motivação x Profissional Eficaz

No atual cenário corporativo a produtividade vem sendo cada vez mais exigida a curto prazo. Para obtenção de melhores resultados faz-se necessário pessoas capacitadas, motivadas e comprometidas com o que fazem. O intuito dessa palestra é explorar temas que remetem o profissional a pensar na forma como executam o seu trabalho e ações necessárias para executa-lo com eficácia. Se você ainda se identifica com a famosa frase do futebol “Em time que está ganhando não se mexe”, definitivamente essa palestra é para você!

Test Like a Hero!

Testar é uma das práticas mais importantes do desenvolvimento de software, a famosa frase: está pronto, agora só falta testar não soa muito bem quanto se está trabalhando em um projeto sério onde erros podem afundar um projeto. Ter em mente que é preciso testar o software é um diferencial muito grande entre os desenvolvedores, pois isso reafirma que ele se preocupa com a qualidade do mesmo. Nesta palestra irei apresentar algumas técnicas sobre testes e por fim mostrar um exemplo utilizando teste unitário.