Tag Archives: lang-pt

Warning! These content is not avaiable in your language. Original content language is: pt
Go to blog homepage IN YOUR LANGUAGE | IN CURRENTE LANGUAGE

Bloqueado Painel (wp-admin) em Produção via .htaccess

Por uma questão de segurança e manutenção de sistema de backup automatizado, foi bloqueado o acesso ao painel do WordPress, de todos os nossos sites, em produção.

É uma questão de segurança pois evita o ataque do tipo força bruta ou outros, protegendo com mais uma camada as informações do nosso banco.
Em relação à manutenção de backup e do banco de dados em ambiente de produção, é para evitar a publicação de posts e mídias em produção sem o seu correspondente no ambiente de desenvolvimento e QA.

Utilizamos o nosso plugin script BSD e WPSQL para esta automação, assim recomendamos que você conheça nossas soluções de código aberto e tente de adotá-las em seus projetos para ter um maior controle da automação.

Milestone de Fevereiro: Certificação SSL Renovada Após Rebuild

Posso dizer que ainda não dominei o método de certificação SSL, continuo tendo muita dificuldade em algumas etapas, principalmente a renovação automática e a configuração de virtual hosts do Apache.

Após o rebuild do meu servidor principal (veja post com mais detalhes) obtive sucesso nas novas configurações para renovação dos certificados utilizando certbot. Assim, foi renovado os nossos certificados, e muitos usuários que haviam tido problemas em acessar todos os nossos sites, passaram a conseguir acessá-los novamente.

Um bug de configuração foi identificado no servidor antigo, pois havia mais de um diretório com configurações do Apache SSL e virtual hosts, fazendo com que o servidor não conseguisse entregar os arquivos certos para navegador e a certificadora.

Centralizamos todas as configurações do Apache e instalamos o servidor principal com docker, fizemos o rebuild e a nova instalação do certbot para poder resolver esse problema e assim permitir a navegação segura para os nossos usuários novamente. Sei que ainda terei alguns problemas pela frente, como a renovação automática, então, por hora a navegação está garantida e o esforço de rebuild e recertificação valeu a pena.

Milestone de Março: Rebuild do Servidor de Produção

Foi feita a reconstrução (rebuild) do nosso servidor de produção, uma operação bastante delicada e arriscada. Após muito tempo dependendo de um esquema antigo e repleto de manutenções feitas sem planejamento, aproveitamos a janela de oportunidade para migrar totalmente nossa operação para o docker.

Assim, comecei a reconstrução com o servidor local de desenvolvimento, tarefa que levou meses, para só depois atuar em produção. Inicialmente, para não cair o serviço, havia planejado fazer um servidor em paralelo com todas as aplicações, porém, durante o processo, houve um comprometimento crucial dos serviços no servidor em produção, pela expiração dos certificados SSL.

Assim, seria um desperdício de tempo trabalhar em dois servidores em produção e abandonei o plano inicial, pois o serviço já havia caído. Então, destruí o antigo servidor em produção e todo o esquema que estava corrompido, para dar lugar ao novo esquema baseado em docker linux WordPress, Apache e MySQL.

Com a reconstrução terminei a implantação de uma nova esteira de desenvolvimento e deploy automatizado. Com isso voltei a ter mais controle sobre o processo de desenvolvimento e entrega.

Acredito em um futuro mais automatizado e mais “simples” para fazer entregas, sabemos que existem algumas dificuldades com a estrutura que foi desenvolvida, como versionamento de todos os sistemas em conjunto. Trabalhamos com um repositório principal e diversos submódulos, técnica a qual ainda não domino completamente.

O espaço em disco foi economizado e os processos de utilização de CPU e memória obtiveram ganho de desempenho. Assim em 2020 temos um novo servidor em produção baseado em Ubuntu e não mais em CentOS, mais uma dificuldade que foi superada.

F5 Sites Diretrizes de Design

Em nossa primeira tentativa de uniformizar o designs de todos nossos projetos, fazendo os terem uma aparência semelhante, como quando você está em um produto Google, Amazon, Microsoft ou Apple, você meio que sabe, mesmo que você não saiba exatamente porque você sabe, você meio que sente como se estivesse em “casa”. Isso porque eles têm um design consistente com algumas regras que orientam todos os produtos.

Então, a F5 Sites começou a desenvolver nossas primeiras diretrizes de design, elas começaram de forma simples, mas achamos que as regras se tornarão mais ajustáveis e melhores com o passar do tempo, então nossas primeiras diretrizes de design são:

  • Barra no topo de todos os produtos
  • Fonte para logo: Lobster
  • Cores:
    • F5 azul: #03659c
    • F5 azul claro: #549ed1
    • Ubuntu laranja: #FF5919
    • Cinza escuro: #3F3F3F
    • Cinza médio: #888888
    • Cinza claro: #EEEEEE
    • Verde escuro: #398439
    • Verde claro: #449d44
    • Dourado: #E2D693
  • Imagens customizadas para posts e produtos

Por enquanto isso é tudo, no futuro estamos prevendo paddings e margens para alguns elementos. Estas regras serão aplicados em produtos antigos sempre que eu puder, pois agora elas apenas existem e estão sendo implementados sem um prazo, mas nada de novo será desenvolvido sem seguir esse rigor.

Novo Plugin em Desenvolvimento: F5 Sites Smart Language Filter

Depois de toneladas de testes e experiências, com os plugins de idiomas mais famosos e atualizados para o WordPress, eu iniciei um plugin para F5 Sites e Fnetwork. Baseado em um código simples mas eficiente que fiz para um tema de projeto (Sistema Focalizador Javascript). Tudo o que eu tive que fazer é usar tags em posts, como:

  • lang-en: portugues
  • lang-pt: portugues
  • lang-fr: francês
  • lang-zn: chinês
  • E assim por diante…

O termo “inteligente” no nome é porque ele usa um algoritmo baseado no WooCommerce Geocode e na função HTTP para determinar a localização dos usuários e fornecer a linguagem provavelmente mais correta. Então, vamos fechar nossos domínios que começam com br, como br.f5sites.com e br.franciscomat.com, porque sempre que você estiver em uma localização, o domínio principal fornecerá conteúdo para você em seu idioma.

O plugin estará presente em toda a rede, ele será anexado a outro plugin que usamos F5 Sites Footer Bar, então todos os sites terão opções de tradução. Os usuários também terão a opção de alterar o idioma a qualquer momento, e se ele aparecer em um link que não tenha o idioma que os usuários falaram, um aviso será anexado para alterar o idioma a qualquer momento.

O plugin está em desenvolvimento e não tem prazo para ser finalizado, é um esforço que faço para alcançar melhores resultados em marketing e conquistar novos clientes.

Integração com Mailgun completa, enviando e recebendo emails

Mais uma tarefa que levou meses, está ficando repetitivo esse tipo de aviso aqui no blog, porém estas tarefas estruturais, que são a base do serviço, via de regra consomem muito tempo pois são necessário dezenas de testes e muita, mas muita pesquisa de serviços com custos acessíveis para uma startup enxuta. Não vou citar todos os serviços que pesquisei, quase todos da primeira página de busca do Google, mas não comecei essa tarefa procurando serviços de email, mas sim instalando meu próprio servidor de email postfix + devcot, configurando no meu VPS Linode centOS estes serviços.

Tudo ia muito bem até receber aquela enxurrada de spam, tornando inviável verificar os emails diariamente, pois muito tempo era perdido para não encontrar nenhum email “de verdade”, assim o problema se tornou grande, como divulgar meu email oficial em um cartão de visita se nunca iria conseguir encontrar os contatos de pessoas interessadas em serviços neste mar de spam.

Quanto mais velho um domínio e um endereço de email mais spam ele recebe, a internet é cruel e seus robozinhos spammers vão se somando e aniquilando endereços de emails antigos, por isso muita gente vive trocando de email e quase sempre evitando divulgá-lo de forma escrita na internet para evitar spam, mas é inevitável. Como a f5sites.com existe desde 2009, são muitos lugares onde divulguei meus emails, assim a enxurrada de spam era diária a solução foi instalar o SpamAssassin.

Aí você me pergunta, ele realmente funciona e assassina os spams? Sim, muito bem, pouca coisa passa, estaria tudo bem se essa solução não tivesse gerado um problema adicional, além da dificuldade de configurar os filtros, ele esgotava os recursos do servidor, a CPU disparava para 100% e recebia muitos alertas diários, dividindo recursos com https, mysql, php-fpm o servidor de email acabava por travar todos os sites.

Teria que então abrir um novo VPS só para o email, aí surgiu a questão do custo, a frustração cresceu porque tive que desativar o meu servidor de email depois de semanas “apanhando” para configurá-lo certinho para não ser barrado quando enviado para servidores exigentes como gmail, qualquer configuração errada e o gmail jogava meus emails direto no spam. Estava tudo certo mas não havia recursos para o serviço ficar ativo, nessa hora amaldiçoei os serviços de emails corporativos, eles mesmo inundam a rede de spam para depois cobrar por serviços anti-spam, um jogo injusto para os pequenos.

Para servidor de email é necessário além do custo baixo uma boa reputação dos IPs e servidores, além da já tradicional escalabilidade, quase todas as empresas acabam assinando com o próprio Google e recebem além do serviço anti-spam de primeira qualidade, interfaces web para seus funcionários, um tipo de gmail corporativo mas com @seudominio.com, funciona muito bem e tem um preço acessível, mas tenho minhas restrições quanto a confidencialidade, além de existirem alternativas gratuitas ou muito mais baratas.

Não teria encontrado o Mailgun se não fosse em uma conversa informal com meu primo, CEO da Plape.bi, Yuri, que me indicouo serviço, pois estava tendo ótimo resultados e ao questioná-lo sobre seus concorrentes, rapidamente destacou suas vantagens. Assim que tive tempo comecei a configurar o serviço para testar, fico sempre receoso quando exigem o cartão de crédito, mas com uma cota mensal de 10 mil emails grátis, atenderia minha demanda inicial facilmente.

Assim após pesquisa sobre a empresa e o fundo que a mantinha, percebi que era uma alternativa viável as grandes corporações de TI, uma verdadeira entrante no mercado, com força para crescer e com preços competitivos. Consegui sem muita dificuldade configurar o email pelo painel do Linode DNS e assim pude começar a enviar meus emails transacionais, antes usava o serviço grátis do smtp do gmail, com muitas limitações, mas com o Mailgun atingi um novo patamar.

Foram mais semanas lendo as documentações e estudando os protocolos MX do DNS para conseguir configurar corretamente o recebimento de email, está sim uma ferramenta incrível. O Mailgun permite que você receba emails @seudominio e ainda oferece gratuitamente o serviços de filtro de spam com base no próprio SpamAssassin, além de permitir a configurações de rotas catch_all para encaminhar emails recebidos. Assim hoje com o Mailgun posso enviar e receber emails de forma gratuita, com filtro de spam e com limites bastante justos. Portanto agradeço muito ao Yuri pela dica e compartilho com vocês essa incrível ferramenta, Mailgun.

Mais um Pequeno Bug Corrigido do Sistema Pomodoros/Focalizador

Um pequeno bug vinha me incomodando desde o lançamento do Pomodoros, que era em alguns casos o sistema continuava funcionando mesmo “quebrado”, em termos técnicos, quando o cookie que mantém o usuário logado no site era deletado o sistema não redirecionava para o usuário refazer o login.

Uma situação típica era do usuário que entrava no sistema, mas por algum motivo perdia a conexão, seja pela validade do cookie, seja por questões de segurança, entre outras situações que podem exigir que o usuário refaça o login, e o mesmo “bugava”, o usuário não percebia mas estava perdendo seu progresso, pois não estava pronto para este tipo de situação.

Assim, se o usuário continuasse usando o sistema “quebrado”, pomodoros sem nomes e autores continuavam sendo publicado, em alguns casos resultavam em vários pomodoros “perdidos”. Como sou administrador do sistema podia entrar pelo back-end e corrigir, mas os usuários via de regra perdiam parte do progresso, viam seus suados pomodoros atribuídos a ninguém, como se algum usuário sem conta tivesse feito.

Então, após muitos anos, tive tempo para corrigir esse bug, já que agora, após alguns meses no ar, além de mim, tenho uma outra usuária retornando a utilizar fortemente o pomodoros, assim preciso garantir desde já um uso suave e sem problemas. Agora, se o usuário perder o cookie, via AJAX o sistema recebe uma mensagem e então redireciona o usuário para que o mesmo possa logar de novo.

Login Com Facebook e Google: Rede Fnetwork Conectada

Em 2016 iniciei o projeto da FNetwork, foi um retrocesso em muitos termos, o primeiro passo foi unificar todos os usuários de vários projetos num banco de dados único. Para isso todos os sites foram desativados por meses, após conseguir essa unificação tinha disponível somente o formulário padrão de registro do wordpress em cada projeto.

Os usuários do Pomodoros já utilizam de forma “pesada” a integração com o Facebook, sempre soube da importância de se deixar pronto esta integração novamente, mas de que adiantaria apenas um site conectado com o Facebook? Um usuário que logar com o Facebook no Pomodoros terá acesso a todos os nossos serviços, atuais e futuros.

Parte Técnica: Plugin wp-social-login (fork)

Fazemos aqui uma indicação deste excelente plugin para fazer login com redes sociais, nós avaliamos como 5 estrelas no diretório do WordPress. Existe serviços de terceiros que são oferecidos para isso, integração de  sites com redes sociais, com altos custos, basta você pesquisar no Google para perceber que este é um novo filão.

Mas os criadores deste plugin se mantiveram “raíz”, permitindo aos próprios usuários configurarem seus domínios para se conectarem diretamente com os servidores das redes sociais. Ao final, quando tudo corretamente configurado, o usuário clica em um botão e se torna um membro registrado do site.

Como utilizamos uma configuração especial com uso intenso da pasta mu-plugins, já que plugins que são colocados nesta pasta são automaticamente ativados/desativados pelo WordPress. Assim não precisamos entrar no painel, porém, a maioria dos plugins exige uma configuração inicial mínima, por isso fazemos forks de vários plugins, adicionando scripts que se auto-configuram para cada domínio.

Graças a API do Google e Facebook ficou muito fácil configurar vários domínios, já que o mesmo aplicativo permite diversas URLs de retorno. Assim agora temos configurado para nossos domínios o login do Facebook e Google. Com isto esperamos aumentar (e muito) (e muito rápido) nossa base de usuários.

Fnetwork: uma aposta na eficiência

A Fnetwork foi uma grande aposta, de alta incerteza e risco, onde não conseguia imaginar o resultado antes de iniciar, poderia resultar num fracasso, algo que quase aconteceu em fevereiro de 2017, quando fiquei em vias de encerrar a Fnetwork porque todos os projetos estavam novamente parados por tempo indeterminado.

Posso dizer que todos os projetos tiveram um ciclo de vida muito curto, já que sempre apareciam motivos pessoais que me impediam de continuar dedicando meu tempo em meus projetos, já que eram uma aposta incerta.

Eu poderia optar por um projeto de cada vez, mas trabalhar no coração da tecnologia era uma aposta na eficiência. Criei um plugin para otimizar o processo de produção de projetos em WordPress, melhorando a gestão de arquivos e banco de dados, chamdo F5 Sites WordPress Shared Posts and Taxonomies.

Conheça Pomodoros Black, a nova versão do site Pomodoros.com.br

Os primeiros usuário do site, em 2010, conheceriam o primeiro conceito do sistema e sua nova interface, e, como não poderia deixar de ser, a primeira coisa que me veio a cabeça quando fiz o logo foram os tomates em forma de cronômetro, então, rapidamente rascunhei um logo e coloquei tomates no lugar do “o”.

Pomodoros Black, nova interface

Acabei achando que estava muito óbvio e essa cor e configuração colocariam o logo numa posição comum, as cores e formas não falavam muito sobre o que era o projeto, alguns poderia até achar que era sobre molho de tomate ou uma pizzaria. Então mudei a cor do site para verde e substitui o logo, que é o que permanece até hoje.

Assim a maioria dos usuário viriam a conhecer o sistema na cor verde, onde houve uma pequena explosão no número de acessos e acabei precisando migrar de servidor em 2013 e desde então o serviço não atingiu mais nenhum grande momento de estabilidade, e assim, em pouco tempo fui perdendo todos os usuários, até chegar em zero.

Pessoas queriam usar mas o sistema caia, era frustrante e acabei revertendo toda aquela euforia inicial dos usuários para uma experiência de usuário horrível. Então entre 2014-2016 o projeto foi arquivado, ficou no ar algum tempo sem acesso, mas em 2017, após a adoção de um novo conceito de trabalhar com código-aberto, o Pomodoros ganharia sua última e derradeira versão, o Pomodoros Black, com a cor preta para representar uma nova experiência para os usuários.

Além disto com o código-aberto no github este projeto se transforma num excelente item de portfólio. Por fim, subitamente o JavaScript vem ganhando uma crescente atenção do mercado, o que pode valorizar e muito este projeto, que é feito com WordPress + JavaScript.

Você pode criar sua conta de usuário gratuitamente. O projeto é hospedado por F5 Sites e atualizador por Francisco Mat.

Focalizador entrando em estágio beta

O sistema Focalizador, originado do pomodoros.com.br, está entrando em estágio beta, estamos terminando as definições e modelos de assinaturas e conversando com o mercado para adequação do produto.

Em conversa com startup recebemos diversas solicitações de novidades, como a integração com o Trello entre outras funções que elevam o valor do sistema e fazem-no ficar mais adequado para situações reais de trabalho.

Estamos perto de terminar o pacote inicial do produto, onde o mesmo estará pronto e estável para a entrada de novos clientes, esperamos que a entrada dos primeiros usuários possam nos ajudar a identificar potencialidades e problemas para serem resolvidos.

Fnetwork: Buscando a Maturidade

Após anos de intenso trabalho e muitas mudanças nos bastidores antes do lançamento, com sempre a vista de melhoria do serviço, visando aprimorar diversas qualidades tecnológicas, foi-se aprimorado nossos servidores para a mais avançada configuração para lançamento rápido de novos serviços.

Dentro deste novo conceito de agilidade para lançar startups e serviços de TI, buscamos centralizar todos os domínios de projetos no mesmo servidor, compartilhando dados dos usuários, resultando numa configuação técnica aprimorada, então denominada Fnetwork em dezembro de 2017.

Após quase 2 meses de trabalho com essa nova configuração, muitos ajustes para compatibilizar todos os projetos, que eram independentes, para entrarem na Fnetwork, foram realizado e mostrou-se como uma alternativa muita vantajosa, portanto decidimos priorizar seu desenvolvimento e descontinuar todas as outras configurações.

Ainda existe muito trabalho a ser feito para completar essa integração, porém a partir deste momento vamos focar na maturidade desta nova grande rede de projetos denominada Fnetwork.

Integração de Contas de Usuários e Blogs da F5 Sites resulta na Fnetwork

Fnetwork é a rede de blogs administrados por Francisco Mat e hospedado na F5 Sites, que nada mais são do que em termos técnicos domínios diferentes operando o mesmo blog, a mesma instalação de WordPress, conteúdo (posts) e usuários, que fazem login e se cadastram em um site e tem acesso a todos, conceito parecido com que as grandes empresas de TI fazem, que oferecem uma conta de usuários e vários serviços diferentes, muitas vezes integrados, e assim aumentam e muito o valor de cada pequeno produto, que já começa com uma grande base de usuários. Naturalmente esse processo ocorreu, foram necessários meses de trabalho para atingir esse formato, porém não foi com o objetivo de imitar outra empresa, mas é uma convergência que por si só habilita uma série de melhorias na gestão de contas, apesar de ser fundamental para um crescimento continuado, é extremamente delicado e complicado de implantar na prática, já que temos muitas alternativas e exigências, assim também oferecemos um sistema de integração baseado em REST e Oauth 1.0, para que de fatos as contas dos usuários possam ser sincronizadas em diversos aplicativos e dispositivos.

A Fnetwork é o resultado de uma iniciativa de avanço tecnológico, um desafio técnico que estimulou a resultou na criação de toda uma rede facilmente expansível e integrada. A partir de um único blog é possível administrar outros blogs localizados em outros domínios, escreve o post uma vez e a publicação é “republicada” automaticamente pela rede.

Esse desafio apresenta possíveis soluções semi-prontas, testadas e levadas até o limite, como a utilização do plugin mainwp, integrado com facebook autopublish e qtranslateX, resultando numa configuração técnica muito boa e veloz. Com esse set de plugin era possível escrever um texto e o mesmo ser copiado em tempo real para os outros blogs, ótimo, mas em pouco tempo aparecer o primeiro problema, na hora de editar o texto, corrigir alguma informação ou erro era preciso alterar em todos os locais diferentes, sendo que havia texto sendo replicado em 4 ou 5 blogs, e como eu erro muito e gosto de ter essa liberdade de poder me corrigir no futuro e manter sempre o post atualizado e com informações quentes e atualizadas, porque diferente de um livro o blog é mais vivo, é atualizado e até mesmo os posts já escritos são corrigidos, assim como capítulos de livros, mas em vez de imprimir tudo de novo já é feito automaticamente.

A disponibilidade da informação é crucial, quanto mais rápido a velocidade de entrega mais disponível sua notícia e conteúdo fica, chegue antes, ou o mais próximo possível da hora certa, e seu leitor terá tempo para decidir qual melhor momento para consumir seu conteúdo. Então essa configuração não atendia essa necessidade de fornecer informação sempre atualizada, eu criei uma solução própria, disponível no github, um plugin denominado f5sites/shared-wp_posts, que permite compartilhar os posts de uma única instalação dentro do mesmo banco de dados por meio da alteração da classe $wpdb e das informações relativas as tabelas MySQL que são consultadas para buscar informações do blog. Porém teve uma contra-partirda não prevista interessante, as páginas, menus, imagens e mídia, tudo acabou compartilhado, então é possível administrar vários blogs ao mesmo tempo de uma única tela, basta escolher a categoria que representa o veículo que pretende utilizar para disponibilizar o conteúdo.

Conheça Pomodoros o novo projeto da F5 Sites

Versão 2011 arquivada.

A técnica dos Pomodoros foi criada por um estudante italiano chamado Francesco Cirillo na década de 80, ele tinha tanta coisa pra estudar que achou que não ia dar tempo. Foi então que na cozinha encontrou um relógio com o formato de tomate, daqueles que marcam o tempo para assar pizza, que soam um alarme quando o tempo termina.

Com o relógio em mãos e muito estudo pela frente ele se fez o desafio, ficar alguns minutos estudando sem perder a concentração. Ajustou o relógio para dez minutos e estudou sem parar. Gostou tanto do resultado que continuou usando os pomodoros na faculdade até se formar, sempre se dedicando em melhorar a técnica. Atualmente disponibiliza um livro que ensina detalhadamente a técnica e mantém um site que é referência no assunto.

Pomodoros.com.br-Logo

Acesse Pomodoros.com.br e utilize o relógio online

Depois de muitos estudos ele percebeu que dez minutos era pouco, os testes mostraram que o tempo de duração ideal de um pomodoro seria de 25 minutos, e ao final devia haver um descanso de cinco minutos. Esse é o tempo recomendado, esses trinta minutos formam um pomodoro, sendo 25 minutos de trabalho para 5 de descanso. Após 4 pomodoros deve haver um grande descanso de meia hora.

O tempo total dessa sessão de trabalho é de 145 minuto, ou 2h e 25 minutos. Uma sessão com quatro pomodoros exige muito mais esforço do que ficar trabalhando sem descanso, porque os pomodoros ajudam a descansar e recuperar a concentração. O tempo de descanso é quase um terço do total, observe que:

  • A sessão de pomodoros ideal tem 2h e 25min
  • Sendo 100 minutos trabalhando ou estudando
  • Para 45 minutos descansado

Descansar é mais importante do que as pessoas normalmente pensam, 5 minutos de descanso vão te fazer novo e te encher de disposição para continuar o trabalho. Comece devagar, tente completar um pomodoro, insista até conseguir terminar seu primeiro pomodoro. Terminar uma sessão com quatro pomodoros não é fácil, exige bastante treino.

Se você não tem um relógio de cozinha não tem problema, a F5 Sites acaba de lançar o site Pomodoros.com.br, todos podem usar gratuitamente nosso pomodoro online, não precisa se cadastrar para usar e é super simples, já vem com os tempos pré-configurados para trabalhar e descansar, além de indicar quantos pomodoros já foram feitos. É tão bom que estou usando agora mesmo para escrever esse post, uso e recomendo.

Versão 2011:

https://github.com/franciscof5/sistema-focalizador-js-2011

 

https://github.com/franciscof5/sistema-focalizador-js-2011