{"id":1819,"date":"2016-12-21T10:54:16","date_gmt":"2016-12-21T12:54:16","guid":{"rendered":"https:\/\/blog.umbler.com\/?p=1819"},"modified":"2018-12-05T16:23:27","modified_gmt":"2018-12-05T18:23:27","slug":"php-conference-brasil","status":"publish","type":"post","link":"https:\/\/blog.umbler.com\/br\/php-conference-brasil\/","title":{"rendered":"11\u00aa PHP Conference Brasil"},"content":{"rendered":"<p>A <a href=\"https:\/\/phpconference.com.br\/\" target=\"_blank\" rel=\"nofollow noopener\">PHP Conference Brasil<\/a> chegou a sua XI edi\u00e7\u00e3o e, neste ano, o grupo de usu\u00e1rios <a href=\"https:\/\/www.phprs.com.br\/\" target=\"_blank\" rel=\"nofollow noopener\">PHP do Rio Grande do Sul<\/a> foi respons\u00e1vel pela curadoria das palestras. Foi um ano mais modesto, por causa da crise financeira que atravessa o pa\u00eds, mas, mesmo assim a organiza\u00e7\u00e3o se empenhou ao m\u00e1ximo para proporcionar um evento de qualidade, com foco no conte\u00fado.<\/p>\n<p>Uma novidade foi o &#8220;batismo&#8221; das salas com nomes de personalidades da comunidade PHP, uma bel\u00edssima homenagem ao <strong>Elton Minetto<\/strong>, <strong>Guilherme Blanco<\/strong>, <strong>Ricardo Coelho<\/strong>,<strong> Rafael Dohms<\/strong>, <strong>Er Galv\u00e3o<\/strong> e <strong>Flavio Lisboa<\/strong>.<\/p>\n<blockquote class=\"instagram-media\" style=\"background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 658px; padding: 0; width: calc(100% - 2px);\" data-instgrm-version=\"7\">\n<div style=\"padding: 8px;\">\n<div style=\"background: #F8F8F8; line-height: 0; margin-top: 40px; padding: 50.0% 0; text-align: center; width: 100%;\"><\/div>\n<p style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;\"><a style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;\" href=\"https:\/\/www.instagram.com\/p\/BNw6GlmgnMc\/\" target=\"_blank\" rel=\"noopener\">Uma foto publicada por Elton Minetto (@eminetto)<\/a> a <time style=\"font-family: Arial,sans-serif; font-size: 14px; line-height: 17px;\" datetime=\"2016-12-08T17:15:38+00:00\">Dez 8, 2016 \u00e0s 9:15 PST<\/time><\/p>\n<\/div>\n<\/blockquote>\n<p><script async defer src=\"\/\/platform.instagram.com\/en_US\/embeds.js\"><\/script><\/p>\n<h2>PHP Conference: dias 07 e 08\/12<\/h2>\n<p>Todo o primeiro dia (7\/12) foi dedicado aos cursos &#8220;m\u00e3o na massa&#8221;. No segundo dia (08\/12), o turno da manh\u00e3 tamb\u00e9m foi dedicado aos mini-cursos.<\/p>\n<p>Tive a oportunidade de me infiltrar no mini-curso <strong>Middlewares e PSR-7<\/strong> com o lend\u00e1rio Elton Minetto. Minetto explicou o <a href=\"https:\/\/www.php-fig.org\/psr\/psr-7\/ target=\" rel=\"nofollow\">padr\u00e3o PSR-7 (promovido pelo PHP-FIG)<\/a> e como implementar middlewares com o Zend Expressive. Middleware \u00e9 a por\u00e7\u00e3o de software entre a requisi\u00e7\u00e3o e a resposta HTTP, dilu\u00eddo em camadas, que podem ser facilmente encadeados e reaproveitados. Minetto contextualizou o Zend Expressive sob a \u00f3tica do Zend Framework 3, e como podemos desenvolver software altamente perform\u00e1tico utilizando o conceito de middleware.<\/p>\n<p>No segundo dia, ap\u00f3s o almo\u00e7o, come\u00e7ou oficialmente o ciclo de palestras. Iniciei a maratona com uma sess\u00e3o especial: <strong>O que esperar do CodeIgniter 4 <\/strong>com Jonathan Lamim Antunes, autor do livro CodeIgniter e Amazon AWS pela editora Casa do C\u00f3digo. Jonathan ressaltou as novas funcionalidades do framework, seu renascimento (era p\u00f3s-EllisLab), demonstrou a Debug bar, ferramenta de migrations, alinhamento com as PSRs e 100% de compatibilidade com PHP7.<\/p>\n<blockquote class=\"instagram-media\" style=\"background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 658px; padding: 0; width: calc(100% - 2px);\" data-instgrm-version=\"7\">\n<div style=\"padding: 8px;\">\n<div style=\"background: #F8F8F8; line-height: 0; margin-top: 40px; padding: 37.2685185185% 0; text-align: center; width: 100%;\"><\/div>\n<p style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;\"><a style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;\" href=\"https:\/\/www.instagram.com\/p\/BN-dD0pjZ_0\/\" target=\"_blank\" rel=\"noopener\">Uma foto publicada por Jonathan Lamim (@jonathanlamim)<\/a> a <time style=\"font-family: Arial,sans-serif; font-size: 14px; line-height: 17px;\" datetime=\"2016-12-13T23:31:13+00:00\">Dez 13, 2016 \u00e0s 3:31 PST<\/time><\/p>\n<\/div>\n<\/blockquote>\n<p><script async defer src=\"\/\/platform.instagram.com\/en_US\/embeds.js\"><\/script><br \/>\nAp\u00f3s a apresenta\u00e7\u00e3o de CodeIgniter, acabei estendendo a conversa com o Jonathan e fizemos uma grande amizade. Da\u00ed nos encontramos com os autores e palestrantes Matheus Marabesi e Michael Douglas e pude vivenciar suas experi\u00eancias como escritores.<\/p>\n<p>Me encaminhei para a palestra <strong>Zend Framework 3 &#8211; porque s\u00f3 o que existe pode ser aprimorado<\/strong> com o mestre Fl\u00e1vio Gomes da Silva Lisboa. Fl\u00e1vio resgatou a hist\u00f3ria do framework Zend, ressaltou as vantagens do desacoplamento de software, o suporte ao PHP7, rela\u00e7\u00e3o com o Zend Expressive, projetos correlacionados zend-diactoros e stratigility, al\u00e9m de t\u00e9cnicas de migra\u00e7\u00e3o de ZF2 para ZF3.<\/p>\n<h2>Dia 9\/12<\/h2>\n<p>No dia 9 ocorreu a cerim\u00f4nia de abertura, na qual Er Galv\u00e3o Abbott (diretor do evento) salientou o esfor\u00e7o na realiza\u00e7\u00e3o da confer\u00eancia, bem como a alegria em celebrar a 11\u00aa edi\u00e7\u00e3o. Anderson de Paula, respons\u00e1vel pela \u00e1rea de eventos da TempoReal, deu as boas-vindas aos participantes, ressaltou as in\u00fameras cortesias distribu\u00eddas, a presen\u00e7a dos grupos de usu\u00e1rios PHP e o acampamento &#8211; que viabilizou a participa\u00e7\u00e3o de in\u00fameros colegas vindos de outras localidades.<\/p>\n<p>Foi ent\u00e3o que o Wellton Costa, o primeiro Keynote do dia, apresentou <strong><a href=\"https:\/\/blog.umbler.com\/br\/inteligencia-artificial-no-whatsapp\/\">Intelig\u00eancia Artificial<\/a> e PHP: reconhecendo padr\u00f5es com Redes Neurais<\/strong>. Wellton demonstrou uma <a href=\"https:\/\/blog.umbler.com\/br\/avancos-em-ia-generativa\/\">tecnologia<\/a> de reconhecimento facial que utiliza a biblioteca OpenCV (originalmente desenvolvida pela Intel). Contextualizou redes neurais, bibliotecas relacionadas, bridges, sempre usando e abusando do temer\u00e1rio &#8220;live coding&#8221;.<\/p>\n<p>Fizemos um intervalo de caf\u00e9 e ent\u00e3o foi minha vez, na primeira oportunidade como Keynote do evento. Apresentei <strong>Modern PHP<\/strong> falando do renascimento do PHP (evolu\u00e7\u00e3o desde a vers\u00e3o 5.3), novos recursos (Traits, Generators, Closures, OPCache, built-in server), PHP-FIG e padr\u00f5es PSR, componentes (Composer), frameworks, boas pr\u00e1ticas, hospedagens, provisionamento, otimiza\u00e7\u00e3o, integra\u00e7\u00e3o cont\u00ednua, deployment, testes (PHPUnit, Behat e Codeception), profiling (debug), mecanismos de fila, ORM (Object-Relational Mapping), HHVM, Hack e PHP7, ecossistema PHP, extens\u00f5es e comunidade. Foi uma grande honra para mim poder apresentar para o grande p\u00fablico, falando do PHP contempor\u00e2neo e das novas ferramentas do nosso ecossistema.<\/p>\n<p>Ap\u00f3s o almo\u00e7o, parti para a apresenta\u00e7\u00e3o <strong>Laravel e Aplica\u00e7\u00f5es Real Time<\/strong>, na qual o Michael Douglas Barbosa Araujo trouxe cases reais do uso da tecnologia Pusher e Laravel Echo. Comparou os sistemas antecessores com as t\u00e9cnicas atuais e deu v\u00e1rios exemplos de c\u00f3digo.<\/p>\n<p><center><iframe style=\"border: 1px solid #CCC; border-width: 1px; margin-bottom: 5px; max-width: 100%;\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/key\/8m7Z3G3klpeNn3\" width=\"595\" height=\"485\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\"> <\/iframe><\/center><\/p>\n<div style=\"margin-bottom: 5px;\"><strong> <a title=\"Laravel e aplica\u00e7\u00f5es real time com Laravel Echo\" href=\"\/\/www.slideshare.net\/mdba2007\/palestra-laravel-echo-php\" target=\"_blank\" rel=\"noopener\">Laravel e aplica\u00e7\u00f5es real time com Laravel Echo<\/a> <\/strong> from <strong><a href=\"\/\/www.slideshare.net\/mdba2007\" target=\"_blank\" rel=\"noopener\">Michael Douglas<\/a><\/strong><\/div>\n<p>Dando prosseguimento, assisti <strong>Intelligent Bots<\/strong> com Jackson Mafra. Foi uma compila\u00e7\u00e3o do curso que o pr\u00f3prio Jackson ministrou dias antes. Mencionou que trata-se de um novo conceito em desenvolvimento de software, que pode at\u00e9 substituir os aplicativos na forma como conhecemos hoje. Trata-se de um &#8220;chatbot&#8221; que conversa com o usu\u00e1rio, identifica seus anseios e realiza alguma a\u00e7\u00e3o: uma compra, <a href=\"https:\/\/blog.umbler.com\/br\/ia-para-whatsapp-2\/\">atendimento<\/a>, emiss\u00e3o de passagem a\u00e9rea, reclama\u00e7\u00f5es etc. Faz uso constante de PLN (Processamento de Linguagem Natural), para que possa compreender o que a pessoa pretende e mencionou v\u00e1rias APIs que auxiliam nessa tarefa.<\/p>\n<p>Os Intelligent Bots n\u00e3o exigem instala\u00e7\u00e3o de App por parte dos usu\u00e1rios, pois utilizam os mecanismos de chat tradicionais como Facebook Messenger, Telegram e outros.<\/p>\n<p>Baseia-se numa conversa guiada onde, na maioria das vezes, mal se percebe que trata-se de um rob\u00f4. Em casos extremos, uma pessoa at\u00e9 pode interferir &#8211; sendo que um humano tenha condi\u00e7\u00f5es de monitorar, dependendo do caso, at\u00e9 10 bots em simult\u00e2neo, gerando mais feedback para com os clientes, com menos custo.<br \/>\nNa sequ\u00eancia assisti <strong>Vamos conversar sobre cache<\/strong> com Felipe Signorini, do PHPSP. O Felipe deu uma aula sobre os diversos mecanismos de cache nos v\u00e1rios n\u00edveis da aplica\u00e7\u00e3o: banco, objetos, assets (frontend) e outros. Felipe discutiu a complexidade de controlar todos os tipos de cache, considerando as esferas de hardware e software, de modo que o usu\u00e1rio sempre tenha a vers\u00e3o mais atualizada poss\u00edvel &#8211; onerando o m\u00ednimo de recurso computacional. Explicou como realizar cache em ambiente distribu\u00eddo, de APIs, em ambiente de cloud computing e como algumas ferramentas lidam com esse tipo de armazenamento (Nginx, WordPress, Drupal, Laravel etc).<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"en\">\n<p dir=\"ltr\" lang=\"pt\"><a href=\"https:\/\/twitter.com\/signorini\">@signorini<\/a> dando uma aula de boas pr\u00e1ticas para se trabalhar com caches no <a href=\"https:\/\/twitter.com\/phpconferencebr\">@phpconferencebr<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/php?src=hash\">#php<\/a> <a href=\"https:\/\/t.co\/eHW92HVbA9\">pic.twitter.com\/eHW92HVbA9<\/a><\/p>\n<p>\u2014 Vitor Mattos (@vitormattosrj) <a href=\"https:\/\/twitter.com\/vitormattosrj\/status\/807295548491440128\">December 9, 2016<\/a><\/p><\/blockquote>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\nNa \u00faltima palestra do dia prestigiei meu amigo Ricardo Martins na apresenta\u00e7\u00e3o <strong>Como transformar seu c\u00f3digo em neg\u00f3cio pr\u00f3prio e ganhar dinheiro com isso. Li\u00e7\u00f5es aprendidas com o OpenSource<\/strong>. Ricardo \u00e9 desenvolvedor certificado Magento, professor e autor do famoso plugin do Magento para o PagSeguro transparente &#8211; para realiza\u00e7\u00e3o de <a href=\"https:\/\/blog.umbler.com\/br\/vendas-automaticas-pelo-whatsapp\/\">vendas<\/a> de forma facilitada, com taxas menores que as praticadas pelo pr\u00f3prio PagSeguro. Ele contou de toda a epop\u00e9ia at\u00e9 construir um software que fosse sustent\u00e1vel e rent\u00e1vel, sem comprometer suas atribui\u00e7\u00f5es junto a empresa. Contou das t\u00e9cnicas que ele utilizou na implementa\u00e7\u00e3o, desde a defini\u00e7\u00e3o de prazos, venda antecipada, absor\u00e7\u00e3o de feedback, literatura especializada, coach, Pomodoro, procrastina\u00e7\u00e3o, controle dos medos e outros.<\/p>\n<h2>Dia 10\/12<\/h2>\n<p>No \u00faltimo dia tivemos os keynotes internacionais, ent\u00e3o foi a vez de assistir <a href=\"https:\/\/talks.philsturgeon.uk\/tales-of-woe-and-woah\/\" target=\"_blank\" rel=\"nofollow noopener\"><strong>API Tales of Woe and Woah!<\/strong><\/a> com o ingl\u00eas Phil Sturgeon. Phil fez uma compila\u00e7\u00e3o do seu livro <a href=\"https:\/\/apisyouwonthate.com\" target=\"_blank\" rel=\"nofollow noopener\"> Build APIs You Won&#8217;t Hate<\/a> , citando os diversos problemas na constru\u00e7\u00e3o de APIs. Ressaltou aspectos de <a href=\"https:\/\/blog.umbler.com\/br\/seguranca-e-privacidade-no-atendimento-com-ia\/\">seguran\u00e7a<\/a>, conte\u00fado das mensagens, otimiza\u00e7\u00e3o e o uso adequado dos verbos HTTP (GET, POST, PUT, DELETE, PATCH) nas requisi\u00e7\u00f5es RESTful, bem como a import\u00e2ncia de definir o status HTTP coerente de acordo com a situa\u00e7\u00e3o. Demonstrou a forma equivocada de como algumas APIs fornecem dados, deu dicas de como testar suas APIs, fazer documenta\u00e7\u00e3o e ferramentas de an\u00e1lise.<\/p>\n<p>Depois foi a vez de Andres Gutierrez apresentar remotamente <strong>Phalcon 3.0 &amp; Zephir<\/strong>. Andres \u00e9 o l\u00edder do desenvolvimento do <a href=\"https:\/\/blog.umbler.com\/phalcon-php\/\" target=\"_blank\" rel=\"noopener\">framework Phalcon<\/a> &#8211; compilado em C, portanto, altamente perform\u00e1tico.<\/p>\n<blockquote class=\"instagram-media\" style=\"background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 658px; padding: 0; width: calc(100% - 2px);\" data-instgrm-version=\"7\">\n<div style=\"padding: 8px;\">\n<div style=\"background: #F8F8F8; line-height: 0; margin-top: 40px; padding: 50.0% 0; text-align: center; width: 100%;\"><\/div>\n<p style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;\"><a style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;\" href=\"https:\/\/www.instagram.com\/p\/BN3HOrpBhLd\/\" target=\"_blank\" rel=\"noopener\">Uma foto publicada por Kleber Hamada Sato (@kleberhs007)<\/a> a <time style=\"font-family: Arial,sans-serif; font-size: 14px; line-height: 17px;\" datetime=\"2016-12-11T03:05:46+00:00\">Dez 10, 2016 \u00e0s 7:05 PST<\/time><\/p>\n<\/div>\n<\/blockquote>\n<p><script async defer src=\"\/\/platform.instagram.com\/en_US\/embeds.js\"><\/script><br \/>\nMostrou os in\u00fameros componentes desse framework full stack para desenvolvimento moderno em PHP e como eles geram extens\u00f5es (compat\u00edveis com PHP7 inclusive) atrav\u00e9s da biblioteca Zephir.<\/p>\n<p>Lamentavelmente n\u00e3o pude assistir as palestras da tarde, do \u00faltimo dia, pois meu v\u00f4o era cedo demais, mas ano que vem estaremos de volta, em sua 12\u00aa edi\u00e7\u00e3o, com certeza!<\/p>\n<p>*Cr\u00e9ditos da Imagem: <a href=\"https:\/\/www.facebook.com\/PHP-Conference-Brasil-227545557259811\/?ref=ts&amp;fref=ts\" target=\"_blank\" rel=\"nofollow noopener\">Facebook PHP Conference Brasil<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A PHP Conference Brasil chegou a sua XI edi\u00e7\u00e3o e, neste ano, o grupo de usu\u00e1rios PHP do Rio Grande do Sul foi respons\u00e1vel pela curadoria das palestras. Foi um ano mais modesto, por causa da crise financeira que atravessa o pa\u00eds, mas, mesmo assim a organiza\u00e7\u00e3o se empenhou ao m\u00e1ximo para proporcionar um evento [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":5447,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comunidade"],"_links":{"self":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts\/1819"}],"collection":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/comments?post=1819"}],"version-history":[{"count":0,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts\/1819\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/media\/5447"}],"wp:attachment":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/media?parent=1819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/categories?post=1819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/tags?post=1819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}