{"id":1097,"date":"2016-07-18T19:17:21","date_gmt":"2016-07-18T22:17:21","guid":{"rendered":"http:\/\/2016.belohorizonte.wordcamp.org\/?p=1097"},"modified":"2016-07-18T19:17:51","modified_gmt":"2016-07-18T22:17:51","slug":"daniel-kossmann-ferraz-automacao","status":"publish","type":"post","link":"https:\/\/belohorizonte.wordcamp.org\/2016\/daniel-kossmann-ferraz-automacao\/","title":{"rendered":"Daniel Kossmann Ferraz: automa\u00e7\u00e3o"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/2016.belohorizonte.wordcamp.org\/files\/2016\/07\/palestrante-daniel-ferraz.jpg\" alt=\"palestrante-daniel-ferraz\" width=\"820\" height=\"346\" class=\"alignnone size-full wp-image-1098\" srcset=\"https:\/\/belohorizonte.wordcamp.org\/2016\/files\/2016\/07\/palestrante-daniel-ferraz.jpg 820w, https:\/\/belohorizonte.wordcamp.org\/2016\/files\/2016\/07\/palestrante-daniel-ferraz-300x127.jpg 300w, https:\/\/belohorizonte.wordcamp.org\/2016\/files\/2016\/07\/palestrante-daniel-ferraz-768x324.jpg 768w, https:\/\/belohorizonte.wordcamp.org\/2016\/files\/2016\/07\/palestrante-daniel-ferraz-500x211.jpg 500w, https:\/\/belohorizonte.wordcamp.org\/2016\/files\/2016\/07\/palestrante-daniel-ferraz-624x263.jpg 624w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/p>\n<p><strong>1. Quando voc\u00ea percebeu que precisava de solu\u00e7\u00f5es para automatizar tarefas repetitivas?<\/strong><br \/>\nCome\u00e7ou bem cedo, acredito que em 2000\/2001, na \u00e9poca eu era bem ativo no IRC em um canal chamado #webmasters na rede BrasNET. Sempre haviam pessoas perguntando coisas como &#8220;como coloca um contador no meu site?&#8221;, &#8220;quero criar um f\u00f3rum, onde baixo um c\u00f3digo?&#8221;, &#8220;onde posso achar imagens gratuitas?&#8221;, e via que eu me repetia muito nas respostas, ent\u00e3o resolvi criar um \u201cscript\u201d chamado WTA (WebTeam Add-on) que adicionava um menu no mIRC (na \u00e9poca eu usava uma modifica\u00e7\u00e3o chamada Full Throttle) com uma lista de tipos de servi\u00e7os separados por categorias e eu selecionava um deles e ele colava a lista no canal direcionando para a pessoa que perguntou. Resolvi compartilhar ele para possibilitar que outras pessoas tamb\u00e9m o utilizassem e pudessem colaborar tamb\u00e9m. Na \u00e9poca eu nem tinha ideia do que era Software Livre. Uma curiosidade engra\u00e7ada, meu nick era DarK_WeB, bem coisa de adolescente, rs<\/p>\n<p>Outra grande mudan\u00e7a nesse sentido foi por conta de um site que existia na mesma \u00e9poca chamado, se n\u00e3o me engana a mem\u00f3ria, Webmasters Online, onde no site havia um contador de quando iria acontecer a pr\u00f3xima atualiza\u00e7\u00e3o de conte\u00fado e conversando um dia com o criador, ele me explicou que essa atualiza\u00e7\u00e3o era toda autom\u00e1tica (hoje em dia, o famoso agendar post, rs). Isso abriu minha mente para muitas possibilidades de automa\u00e7\u00e3o e eu acabei criando um site que fazia algo parecido baseado em um sistema de pontua\u00e7\u00e3o e quantidade de artigos dispon\u00edveis em uma fila de espera. Na \u00e9poca eu estava aprendendo PHP e nem existia o WordPress ainda, o CMS mais conhecido era o <a href=\"https:\/\/www.phpnuke.org\/\" target=\"_blank\">PhpNuke<\/a>. Fico aqui imaginando o qu\u00e3o divertido teria sido se eu j\u00e1 tivesse come\u00e7ado podendo utilizar todo o poder que o WordPress oferece hoje em dia&#8230;<\/p>\n<p>Quando comecei a trabalhar profissionalmente com sites, percebi que eu constantemente realizava tarefa que eram muito repetitivas entre os v\u00e1rios projetos, principalmente toda a parte de instala\u00e7\u00e3o, manuten\u00e7\u00e3o e migra\u00e7\u00e3o de sites. Ent\u00e3o quando algo come\u00e7a a se repetir, come\u00e7o a pensar em como eu n\u00e3o poderia otimizar aquela atividade para que eu pudesse ter mais tempo para fazer outras coisas mais divertidas.<\/p>\n<p><strong>2. Qual a import\u00e2ncia do terminal no gerenciamento de sites?<\/strong><br \/>\n\u00c9 muito legal criar coisas atrav\u00e9s de uma interface, mas a partir do momento que voc\u00ea coloca a m\u00e3o no terminal, voc\u00ea come\u00e7a a ter uma vis\u00e3o completamente diferente, muito mais ampla, principalmente porque voc\u00ea come\u00e7a a entender como as coisas funcionam e s\u00e3o estruturadas.<\/p>\n<p>\u00c9 poss\u00edvel fazer muita coisa sabendo apenas os comandos b\u00e1sicos do terminal e conforme a necessidade for surgindo, voc\u00ea pode ir aprendendo mais coisas. Quer exportar o banco de dados de um site em WordPress para fazer um backup ou migra\u00e7\u00e3o? Voc\u00ea n\u00e3o precisa de um plugin para isso (nem do PhpMyAdmin)! Voc\u00ea pode utilizar o comando <code>mysqldump<\/code> ou utilizar ferramentas j\u00e1 existentes que ajudam a automatizar muitas tarefas como o <a href=\"https:\/\/wp-cli.org\/\" target=\"_blank\">wp-cli<\/a>. Quer automatizar esse backup? \u00c9 poss\u00edvel criar um script que roda no hor\u00e1rio que voc\u00ea definir atrav\u00e9s do cron. Atrav\u00e9s de uma interface, voc\u00ea est\u00e1 sempre limitado \u00e0s funcionalidades de quem programou e muitas vezes perde bastante tempo clicando em v\u00e1rias op\u00e7\u00f5es e bot\u00f5es para executar uma tarefa. \u00c9 claro que se voc\u00ea tiver acesso ao c\u00f3digo voc\u00ea poderia adicionar essas funcionalidades que precisa, mas acredito que na maioria das vezes \u00e9 bem mais pr\u00e1tico e r\u00e1pido voc\u00ea criar um script para resolver essa tarefa.<\/p>\n<p>Acredito que al\u00e9m do ganho na velocidade (na maioria das vezes \u00e9 muito mais r\u00e1pido abrir um terminal e executar um comando do que ter que abrir uma interface e ter que esperar carregar e fazer v\u00e1rios cliques), tamb\u00e9m tem a quest\u00e3o da autonomia, pois voc\u00ea tem muito mais possibilidades para fazer v\u00e1rias combina\u00e7\u00f5es de comandos. Que tal criar um comando para atualizar o WordPress, que automaticamente faz primeiro o backup do banco e dos arquivos e depois atualiza o core e plugins em seu ambiente de homologa\u00e7\u00e3o para depois de testado colocar tudo em produ\u00e7\u00e3o?<\/p>\n<p>Hoje em dia eu vejo que minha experi\u00eancia profissional deu um salto muito grande quando eu deixei de usar pain\u00e9is de controle, para fazer as mesmas coisas por um terminal. No come\u00e7o d\u00e1 mais trabalho, voc\u00ea se depara com muitos erros e situa\u00e7\u00f5es que voc\u00ea n\u00e3o faz a m\u00ednima ideia de como resolver, mas tudo isso agrega muito na sua experi\u00eancia e vai expandindo seu conhecimento e capacidade de resolu\u00e7\u00e3o de problemas.<\/p>\n<p><strong>3. \u00c9 poss\u00edvel incluir esses processos dentro da rotina de equipes que contam com v\u00e1rios desenvolvedores?<\/strong><br \/>\nN\u00e3o \u00e9 s\u00f3 poss\u00edvel, como \u00e9 algo que eu recomendo fortemente. A automatiza\u00e7\u00e3o pode resolver v\u00e1rios problemas comuns em equipes com v\u00e1rios desenvolvedores, como por exemplo permitir o deploy de c\u00f3digo para o ambiente de homologa\u00e7\u00e3o, e mais tarde de produ\u00e7\u00e3o, sem sequer nenhum deles terem acesso direto ao servidor, o que tamb\u00e9m acaba sendo um ganho de seguran\u00e7a. \u00c9 poss\u00edvel tamb\u00e9m criar rotinas para automa\u00e7\u00e3o de cria\u00e7\u00e3o de sites, backups, exporta\u00e7\u00e3o de sites, otimiza\u00e7\u00f5es de imagens, limpeza de arquivos, etc. As possibilidades s\u00e3o infinitas.<\/p>\n<p>Para as empresas, o principal ganho \u00e9 na redu\u00e7\u00e3o significativa de tempo gasto com tarefas repetitivas, que normalmente n\u00e3o agregam em nada no valor final de um projeto, e tamb\u00e9m uma maior seguran\u00e7a, pois a automatiza\u00e7\u00e3o retira o fator de erro humano ao realizar essas tarefas. J\u00e1 para os desenvolvedores a principal vantagem \u00e9 poder ter mais tempo para focar na programa\u00e7\u00e3o, n\u00e3o precisando mais se incomodar com essas tarefas que normalmente n\u00e3o exigem nada da sua capacidade de resolu\u00e7\u00e3o de problemas.<\/p>\n<p>Infelizmente nem sempre as pessoas respons\u00e1veis pelas decis\u00f5es conseguem visualizar a vantagem em investir tempo para automatizar tarefas, pois \u00e9 preciso inicialmente gastar mais tempo do que se a tarefa fosse feita manualmente, sem contar que muitas vezes n\u00f3s mesmos estamos diariamente \u201capagando inc\u00eandios\u201d e \u00e9 dif\u00edcil se afastar um pouco para ter uma vis\u00e3o mais global e perceber o que pode ser automatizado para otimizar o nosso trabalho. Mas posso garantir que uma vez que voc\u00ea come\u00e7ar a ter tarefas automatizadas, \u00e9 muito dif\u00edcil voltar atr\u00e1s.<\/p>\n<p><strong>4. Voc\u00ea colabora ou j\u00e1 colaborou com o desenvolvimento de alguma ferramenta para automatiza\u00e7\u00e3o?<\/strong><br \/>\nAinda n\u00e3o, o WordCampBH ser\u00e1 meu primeiro grande passo nesse sentido, nele vou compartilhar uma metodologia que minha empresa j\u00e1 est\u00e1 utilizando faz algum tempo para automatizar o gerenciamento de sites. A ideia da palestra \u00e9 apresentar uma solu\u00e7\u00e3o alternativa ao WordPress Multisite e aos plugins dispon\u00edveis, que atrav\u00e9s de comandos simples no terminal, torne poss\u00edvel gerenciar v\u00e1rios sites de forma r\u00e1pida e sem muito trabalho.<\/p>\n<p><strong><a href=\"https:\/\/2016.belohorizonte.wordcamp.org\/speaker\/daniel-kossmann-ferraz\/\" target=\"_blank\">Daniel Kossmann Ferraz<\/a> \u00e9 um dos palestrantes do WordCamp BH 2016. <\/strong><\/p>\n<p><strong>Ainda n\u00e3o fez sua inscri\u00e7\u00e3o? <a href=\"http:\/\/2016.belohorizonte.wordcamp.org\/ingressos\/\" target=\"_blank\">Clique aqui<\/a> e se inscreva.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Quando voc\u00ea percebeu que precisava de solu\u00e7\u00f5es para automatizar tarefas repetitivas? Come\u00e7ou bem cedo, acredito que em 2000\/2001, na \u00e9poca eu era bem ativo no IRC em um canal chamado #webmasters na rede BrasNET. Sempre haviam pessoas perguntando coisas como &#8220;como coloca um contador no meu site?&#8221;, &#8220;quero criar um f\u00f3rum, onde baixo um [&hellip;]<\/p>\n","protected":false},"author":13192281,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1097","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7v89d-hH","_links":{"self":[{"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/posts\/1097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/users\/13192281"}],"replies":[{"embeddable":true,"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/comments?post=1097"}],"version-history":[{"count":4,"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/posts\/1097\/revisions"}],"predecessor-version":[{"id":1102,"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/posts\/1097\/revisions\/1102"}],"wp:attachment":[{"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/media?parent=1097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/categories?post=1097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belohorizonte.wordcamp.org\/2016\/wp-json\/wp\/v2\/tags?post=1097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}