Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Edison Costa
- Instalação do Virtual Box e Vagrant.
- Criação, personalização e gerenciamento de Boxes.
- Utilização do Composer, Git e Revisr.
- Utilização do GitHub, BitBucket.
- Deploy final da aplicação.
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITLeo Baiano
Quando estamos trabalhando em um projeto web é importante seguir um padrão e criar rotinas que facilitam o trabalho em equipe. A ideia desta apresentação é mostrar como criar um ambiente de desenvolvimento web, com WordPress, utilizando GIT para controle de versão e Composer para gerenciar as dependências.
Construindo sites e sistemas com WordPressLeo Baiano
Como funciona a construção de sites e sistemas utilizando WordPress. Desde a etapa de planejamento até a escrita de códigos para construir o tema e sistemas necessários para todas as funcionalidades do site.
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãospirallab
A cada ano aumenta a quantidade de profissionais que além de criar e desenvolver o site em WordPress, precisam fazer a configuração, instalação e manutenção, tarefas que podem consumir um tempo significativo da sua semana, e que certamente pioram à medida em que o número de projetos cresce. Esta palestra apresenta uma alternativa para a gestão de múltiplos sites em WordPress, usando uma única instalação e sem Multisite, plugins ou outros serviços (que em muitos casos são pagos). Combinando wp-cli para administração e git para deploy automático, reduz-se o tempo gasto nas tarefas de manutenção, resultando numa economia significativa de tempo, incluindo atualização do core e plugins.
Apresentação realizada no WordCamp São Paulo 2016.
Um bom fluxo de trabalho para desenvolvimento web passa por 3 etapas: montar um servidor local adequado, usar ferramentas que te ajudem a escrever código de qualidade e saber como encontrar bugs de forma ágil e precisa. Nessa palestra vou demonstrar as ferramentas open-source que uso todos os dias para desenvolver com rapidez, qualidade e segurança: WP Local Docker, Xdebug e os padrões de projeto da 10up.
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Edison Costa
- Instalação do Virtual Box e Vagrant.
- Criação, personalização e gerenciamento de Boxes.
- Utilização do Composer, Git e Revisr.
- Utilização do GitHub, BitBucket.
- Deploy final da aplicação.
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITLeo Baiano
Quando estamos trabalhando em um projeto web é importante seguir um padrão e criar rotinas que facilitam o trabalho em equipe. A ideia desta apresentação é mostrar como criar um ambiente de desenvolvimento web, com WordPress, utilizando GIT para controle de versão e Composer para gerenciar as dependências.
Construindo sites e sistemas com WordPressLeo Baiano
Como funciona a construção de sites e sistemas utilizando WordPress. Desde a etapa de planejamento até a escrita de códigos para construir o tema e sistemas necessários para todas as funcionalidades do site.
Gerenciando sites em WordPress de forma eficiente: do deploy à manutençãospirallab
A cada ano aumenta a quantidade de profissionais que além de criar e desenvolver o site em WordPress, precisam fazer a configuração, instalação e manutenção, tarefas que podem consumir um tempo significativo da sua semana, e que certamente pioram à medida em que o número de projetos cresce. Esta palestra apresenta uma alternativa para a gestão de múltiplos sites em WordPress, usando uma única instalação e sem Multisite, plugins ou outros serviços (que em muitos casos são pagos). Combinando wp-cli para administração e git para deploy automático, reduz-se o tempo gasto nas tarefas de manutenção, resultando numa economia significativa de tempo, incluindo atualização do core e plugins.
Apresentação realizada no WordCamp São Paulo 2016.
Um bom fluxo de trabalho para desenvolvimento web passa por 3 etapas: montar um servidor local adequado, usar ferramentas que te ajudem a escrever código de qualidade e saber como encontrar bugs de forma ágil e precisa. Nessa palestra vou demonstrar as ferramentas open-source que uso todos os dias para desenvolver com rapidez, qualidade e segurança: WP Local Docker, Xdebug e os padrões de projeto da 10up.
Você está querendo traduzir seu site, tema, plugin ou até mesmo só procurando uma forma de contribuir para a comunidade?
Aprenda como funcionam e porque as traduções são tão importantes no mundo do WordPress!
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...WordCamp Floripa
Desenvolvedor WEB, professor, historiador, fotógrafo amador e pai da Gabriela e Maria Teresa. Entusiasta de tecnologias open-source, reconhece que o WordPress é hoje uma das principais ferramentas no desenvolvimento de uma internet mais democrática, participativa e livre. Persegue o desafio de aliar tecnologia e educação na construção de um mundo melhor.
Breve descrição sobre a apresentação: A apresentação tem por finalidade principal realizar um comparativo sobre as diferentes formas de instalar/configurar um ambiente WordPress num servidor cloud. Nesse sentido, reunimos aqui experiências diversas de criação de um website na Amazon Web Services (AWS), um dos principais serviços de computação em nuvem. Servidores cloud é uma realidade cada vez mais presente na vida de programadores, gestores, empreendedores, produtores de conteúdo, dentre outros atores do mundo digital.
Walker Leite apresenta usando o WordPress como backend de aplicaçãoWordCamp Floripa
Sou analista e desenvolvedor de software na InCuca, trabalhando a 10 anos na criação de soluções para a WEB.
Breve descrição sobre a apresentação: Vou introduzir com uma explicação do que é um headless CMS, e como o WordPress pode ser utilizado dessa forma, para criar um ambiente amigável na gestão de conteúdo de Web Apps. Vou usar um caso de uso real como base para a minha palestra.
Provavelmente se você trabalha com desenvolvimento já deve ter ouvido falar em Grunt e Bower. Mas você sabe qual a função de cada um? Pra que servem? Nessa rápida talk iremos abordar os conceitos e diferenças entre ambos, além de dicas de uso para que você e seu time não caiam em pegadinhas que podem atrapalhar o desenvolvimento.
Apresentação introdutória sobre a MEAN Stack, contando com o desenvolvimento, passo-a-passo, de uma aplicação simples.
Apresentação para o JSDay Campina Grande.
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Renato Groff
Apresentação sobre o desenvolvimento de APIs REST multiplataforma com ASP.NET Core 2.0. Palestra realizada durante o Nerdzão #3 em São Paulo-SP, um evento promovido pelo grupo Nerdzão em 04/11/2017.
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoAlamo Saravali
O Ionic Framework é uma ferramenta de desenvolvimento de aplicativos híbridos.
Baseado no Cordova, o Ionic possibilita criar aplicativos para diversas plataformas, incluindo iOS, Android, Windows Phone, etc., com um único código.
A vantagem do Ionic para com os outros é a facilidade de desenvolvimento e o desempenho do aplicativo.
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
Apresentação sobre primeiros passos no uso de Docker, bem como dicas e truques na manipulação de containers. Palestra realizada para profissionais da UNICID na cidade de São Paulo-SP no dia 29/11/2019.
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBBruno Rocha
Utilizar Flask + extensões para desenvolver uma plataforma full-stack com os recursos de auth, controle de acesso, assets, commands, celery tasks, interface admin customizavel, cache entre outras coisas. Falarei sobre minha experiência desenvolvendo o Quokka CMS http://www.quokkaproject.org que é um CMS desenvolvido com Flask e Mongo DB.
Você está querendo traduzir seu site, tema, plugin ou até mesmo só procurando uma forma de contribuir para a comunidade?
Aprenda como funcionam e porque as traduções são tão importantes no mundo do WordPress!
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...WordCamp Floripa
Desenvolvedor WEB, professor, historiador, fotógrafo amador e pai da Gabriela e Maria Teresa. Entusiasta de tecnologias open-source, reconhece que o WordPress é hoje uma das principais ferramentas no desenvolvimento de uma internet mais democrática, participativa e livre. Persegue o desafio de aliar tecnologia e educação na construção de um mundo melhor.
Breve descrição sobre a apresentação: A apresentação tem por finalidade principal realizar um comparativo sobre as diferentes formas de instalar/configurar um ambiente WordPress num servidor cloud. Nesse sentido, reunimos aqui experiências diversas de criação de um website na Amazon Web Services (AWS), um dos principais serviços de computação em nuvem. Servidores cloud é uma realidade cada vez mais presente na vida de programadores, gestores, empreendedores, produtores de conteúdo, dentre outros atores do mundo digital.
Walker Leite apresenta usando o WordPress como backend de aplicaçãoWordCamp Floripa
Sou analista e desenvolvedor de software na InCuca, trabalhando a 10 anos na criação de soluções para a WEB.
Breve descrição sobre a apresentação: Vou introduzir com uma explicação do que é um headless CMS, e como o WordPress pode ser utilizado dessa forma, para criar um ambiente amigável na gestão de conteúdo de Web Apps. Vou usar um caso de uso real como base para a minha palestra.
Provavelmente se você trabalha com desenvolvimento já deve ter ouvido falar em Grunt e Bower. Mas você sabe qual a função de cada um? Pra que servem? Nessa rápida talk iremos abordar os conceitos e diferenças entre ambos, além de dicas de uso para que você e seu time não caiam em pegadinhas que podem atrapalhar o desenvolvimento.
Apresentação introdutória sobre a MEAN Stack, contando com o desenvolvimento, passo-a-passo, de uma aplicação simples.
Apresentação para o JSDay Campina Grande.
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Renato Groff
Apresentação sobre o desenvolvimento de APIs REST multiplataforma com ASP.NET Core 2.0. Palestra realizada durante o Nerdzão #3 em São Paulo-SP, um evento promovido pelo grupo Nerdzão em 04/11/2017.
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoAlamo Saravali
O Ionic Framework é uma ferramenta de desenvolvimento de aplicativos híbridos.
Baseado no Cordova, o Ionic possibilita criar aplicativos para diversas plataformas, incluindo iOS, Android, Windows Phone, etc., com um único código.
A vantagem do Ionic para com os outros é a facilidade de desenvolvimento e o desempenho do aplicativo.
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
Apresentação sobre primeiros passos no uso de Docker, bem como dicas e truques na manipulação de containers. Palestra realizada para profissionais da UNICID na cidade de São Paulo-SP no dia 29/11/2019.
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBBruno Rocha
Utilizar Flask + extensões para desenvolver uma plataforma full-stack com os recursos de auth, controle de acesso, assets, commands, celery tasks, interface admin customizavel, cache entre outras coisas. Falarei sobre minha experiência desenvolvendo o Quokka CMS http://www.quokkaproject.org que é um CMS desenvolvido com Flask e Mongo DB.
Evento: WordCamp Belo Horizonte 2015
Data: 13/06/2015
Palestrante: Thiago Dieb e Lenon Leite
Desenvolvimento para WordPress deve sempre levar em conta segurança e padrões de programação. Seja um Hackers implementando regras e dicas de segurança para manter seu WordPress seguro.
WordPress para Gestores de Conteúdo - WordCamp BH 2015Nauweb
Apresentação ministrada por Pablo Matta Machado, no WordCamp Belo Horizonte, em junho de 2015.
Conteúdo voltado para jornalistas, redatores e produtores de conteúdo de maneira geral que gerenciam websites, veículos e blogs que contam com sistema WordPress.
Apresentação do @leonaressi no #UaiSEO sobre métricas, uso pragmático de ferramentas de informação para otimização em buscadores e web analytics em geral. Com exemplos em Google Analytics
Will the (wrist) watch make its comeback in 2014? It seems, the time is now. Pebble, Samsung, LG, Apple, ... and many others will soon disrupt the world of time. Are you ready? *UPDATED SEPTEBER 2014*
Palestra feito na PHPConf - 2016
Tudo sobre cache em aplicativos PHP, comento sobre os pontos de falha, o problema de invalidação, estrategias de como aplicar cache, bem como todos os tipos de cache, opções e possibilidades de multiplos caches e afins.
Tópicos importantes:
-- Planejamento de cache
-- Estrátegias de invalidação
-- Cache em back end
-- Cache para front end
-- Cache reverso
-- Localstorage
Algum tempo atrás estar preparado para um milhão de usuários simultâneos era somente para as grandes empresas como Google, twitter ou facebook. Mas com a explosão da Web 2.0 isso também é uma preocupação para qualquer que tenha um site de notícias ou mesmo um ecommerce. Somado as atualizações cada vez mais frenéticas (tecnológicas ou de regras denegócio) para fazê-lo sobreviver a concorrência acaba-se desprezando boas práticas para atender a audiência cada vez mais maior. Então, seu site está preparada para um milhão de usuários?
A cada dia surge novas tecnologias para produção de sistemas/site
tornando difícil acompanhar todas elas ou escolher as melhores. Porém
é possível escolher algumas técnicas e práticas importantes para
internet e seu ecossistema. A Web 2.0, expansão do comércio
eletrônico, redes sociais, a "Internet das Coisas" e outros buzzwords
tornam as escolhas tecnológicas cada vez mais difíceis de serem
tomadas pela enormidade de opções. Mas é possível considerar algumas
coisas para que um site/sistema proporcione uma boa experiência para
seu usuário e alguma vida para as equipes de TI.
Escalabilidade e alta disponibilidade no php com nginxSaveincloud
Se você tem um site, blog ou e-commerce com alto volume de acessos e busca por soluções que o tornem escalável e com melhor desempenho, então está na hora de entender melhor o que o NGINX pode fazer por você.
Prepare seu PHP pra receber mais visitas sem perder performance.
Instale e configure sua aplicação com NGINX escalável aqui na Saveincloud.
Faça um teste grátis com a gente por 14 dias. Acesse o link https://cloud.saveincloud.com.br/lp/nginx-escalavel-com-php/
Fale com a nossa equipe pelo whatsapp https://bit.ly/Saveincloud
Palestra de abertura do TDC (The Developer's Conference) realizada em julho/2015. Nesta palestra foi apresentado o UOL HOST como solução de produtos e serviçõs para quem quer desde a presença online até Cloud Computing. Foram apresentados exemplos de clientes reais que utilizam produtos como Domínios, E-mail, Site, Hospedagem e Cloud. Foi falado sobre os novos containers de hospedagem para linguagens PHP, Java e Node.js bem como as opções de cloud público, OpenStack e Cloud Privado para missão crítica
Semelhante a Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015] (20)
2. Tiago Hillebrandt
● Lead Developer na Copyblogger Media LLC
● Trabalha diariamente em uma estrutura com mais de 12.000 instalações
WordPress
● Colaborador de diversas comunidades de Software Livre, como Ubuntu,
WP-CLI, Bash, dentre outras
4. Servidor: Softwares atualizados
● Mantenha seus softwares atualizados!
● NGINX:
○ Versão nos repositórios do Ubuntu 12.04 LTS: 1.1.19
○ Versão nos repositórios do Ubuntu 14.04 LTS: 1.4.6
○ Mainline version: 1.9.7
● PHP:
○ Versão nos repositórios do Ubuntu 12.04 LTS: 5.3.10
○ Mainline version: 5.6.15
● MySQL, OpenSSL, etc
5. Servidor: NGINX
● Servidor web de alta performance (algoritmo de manipulação de conexões
diferenciado)
● Em conjunto com o FastCGI, é uma excelente opção (senão a melhor) para
execução do WordPress
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
6. NGINX SSL: Módulo SPDY HTTP/2
● Suporte adicionado ao NGINX 1.9.5
● Aplicável somente em sites com certificado SSL
server {
listen 443 ssl http2;
7. NGINX SSL: Vantagens do HTTP/2
● Protocolo binário (mais compacto e eficiente)
● Conexão multiplexada por domínio
● Cabeçalhos compactados com o formato HPACK (mais efetivo que o gzip)
● Esquema que ajuda os navegadores a priorizarem os "arquivos mais
necessários" (mais efetivo do que o esquema usado no SPDY)
Fonte: NGINX Inc
10. NGINX SSL: Cache de Sessão
● Faz o cache dos parâmetros da sessão SSL para reusá-los, evitando assim
o handshake a cada requisição
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
● Cada megabyte pode armazenar até 4.000 sessões, portanto sites com
muito tráfego devem utilizar um valor maior
11. NGINX SSL: OCSP Stapling
● Melhora a performance em conexões SSL (reduz aproximadamente 500ms)
● Consiste em evitar a verificação do status do certificado (OCSP) junto ao
servidor da Autoridade Certificadora (CA)
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ca-certs.pem;
● Adicionar somente se os intermediários não estiverem combinados dentro do
certificado carregado na diretiva ssl_certificate
13. NGINX: Compressão gzip
● Módulo gzip do NGINX
● Compacta as respostas do servidor, resultando na redução de 50% ou
mais no tamanho da resposta
● Após habilitar, você pode utilizar o GTmetrix para confirmar se a
compressão gzip está funcionando adequadamente: https://gtmetrix.
com/
● Se seu site já está rodando via HTTP/2, não utilize o gzip, uma vez que o
HPACK é mais efetivo
15. NGINX: Redirecionamento www/non-www
● Ao criar qualquer site, é importante definir se ele utilizará ou não o www
como prefixo
● Após essa definição, devemos implementar algumas regras no servidor
web para aprimorar a performance do site
● Muito importante para SEO, uma vez que evita que URLs diferentes sejam
indexadas para o mesmo conteúdo
17. NGINX: Redirecionamento www/non-www
# força todos as requisições non-www para www
if ($host !~ "^www.") { return 301 $scheme://www.$host$request_uri; }
# força todas as requisições www para non-www
if ($host ~ "^www.") { return 301 $scheme://dominio.com$request_uri; }
● Você pode substituir a variável $scheme por um esquema fixo (http ou https) se
desejar
18. NGINX: Redirecionamento www/non-www
● Para evitar redirect loops, não esqueça de também atualizar as opções siteurl
e a home do seu WordPress
● Via WP-CLI:
$ wp option update siteurl "https://www.dominio.com"
$ wp option update home "https://www.dominio.com"
20. Servidor: W3 Total Cache
● Excelente plugin de cache, disponível no repositório do WordPress
gratuitamente
● Hoje o W3TC é usado em mais de um milhão de instalações WordPress
● Métodos de caching recomendados:
○ Page caching (disk, opcode ou memcached)
○ Browser caching
○ Object caching
21. Servidor: W3TC Page Cache
● Cache baseado em URLs
● No primeiro acesso a determinada URL, um arquivo estático com o
conteúdo é criado dentro do cache
● Os próximos acessos para mesma URL são carregados do cache,
reduzindo o uso de recursos do PHP e MySQL
● Cache pode ser armazenado em disco ou na memória
22. Servidor: W3TC Page Cache
● Os métodos OpCode e Memcached tendem a ser mais rápidos, pois o
cache carregará diretamente da memória. Portanto, são uma boa opção
se você dispor de bastante memória para dedicar à eles
● Já os métodos Disk, apesar de serem um pouco mais lentos, podem se
tornar mais viáveis em servidores compartilhados ou VPSs com pouca
memória dispon ́vel, ou ainda caso queira poupar memória para processar
outras informações
● Se ainda assim está na dúvida de qual escolher, você pode testar a
performance do seu site método-por-método
23. Servidor: W3TC Browser Cache
● É o cache presente nos navegadores web
● No W3TC é poss ́vel determinar, por exemplo, quanto tempo as imagens e
demais arquivos estáticos (JS, CSS, HTML, dentre outros) serão
cacheados no navegador do usuário
● Permite a compressão dos cabeçalhos HTTP via gzip
24. Servidor: W3TC Object Cache
● O WordPress possui uma classe de Object Cache, no entanto ela não é
persistente
● Em outras palavras, a informação carregada é mantida na memória
somente até o fim da requisição atual
25. Servidor: W3TC Object Cache
● No W3TC, o Object Cache armazena uma cópia do objeto, seus atributos e
valores em formato JSON
● Além disso, a informação passa a ser mantida de forma permanente, pois
não é perdida ao término da requisição
● É poss ́vel determinar um intervalo para limpeza do cache, bem como uma
lista de objetos que não devem ser cacheados
26. Servidor: CDN
● Indicado para quem recebe tráfego de diversas localizações
(geograficamente distribu ́do)
● Reduz o uso de largura de banda do servidor onde seu site está
hospedado
● Serviços de CDN recomendados:
○ Amazon CloudFront
■ 2 datacenters no Brasil, custo variável por mês (on-demand)
○ CloudFlare
■ 1 datacenter no Brasil, custo fixo por mês
27. WordPress Scheduled Events
● São ações programadas para serem executadas automaticamente pelo
WordPress Cron
● Exemplo:
○ Posts agendados
○ Exclusão de transients expirados da wp_options
○ Verificação de updates do WordPress core, temas e plugins
28. WordPress Cron
● Por padrão ele rodará apenas se sua página tiver acessos, portanto um
método não muito confiável
● Carrega em todos os acessos ao site, e caso um evento agendado trave o
acesso pode ficar consideravelmente lento
● Pode ser implementado no crontab do seu servidor, um método muito
confiável
29. WordPress Cron
● Adicione ao seu wp-config.php:
define( 'DISABLE_WP_CRON', true );
● Adicione ao crontab:
*/10 * * * * www-data wget -o /dev/null -O /dev/null http://dominio.com/wp-cron.php
31. Dev: Transients API
● Armazenamento temporário de dados (cache)
● Normalmente usados para fazer cache de resultados de funções PHP e
queries MySQL
● Os transients possuem tempo de expiração, e são carregados
automaticamente pelo WordPress a cada requisição
● Problema comum entre plugins e temas mal codificados: criação de um
número excessivo de transients, ou ainda armazenamento de valores
muito grandes dentro deles
32. Dev: Transients API
Dever de casa: limpar os transients em seus sites WordPress
Comando SQL:
DELETE FROM wp_options
WHERE option_name REGEXP '^(_site)?_transient';
Ou via WP-CLI:
$ wp transient delete-all
33. Dev: Options API
● As options são utilizadas para armazenamento permanente de dados
● Quando você cria uma option, você pode definir se ela será carregada
automaticamente ou não por meio do campo autoload
● As autoloaded options são carregadas automaticamente pelo WordPress a
cada requisição
● Temos um problema comum entre plugins e temas mal codificados:
criação de um número excessivo de autoloaded options, ou ainda
armazenamento de valores muito grandes dentro delas
34. Dev: Options API
● Detectar a quantidade e o tamanho total das autoloaded options:
SELECT COUNT(*) AS total, ROUND(SUM(LENGTH(option_value)) / POWER
(1024, 2), 2) AS tamanho FROM wp_options WHERE autoload='yes';
35. Dev: Options API - Query 1
● Detectar as options com maior tamanho:
SELECT option_name, ROUND(LENGTH
(option_value) / POWER(1024, 2), 2) AS
tamanho FROM wp_options WHERE
autoload='yes' ORDER BY tamanho DESC
LIMIT 0, 15;
36. Dev: Options API - Query 2
● Detectar as options com prefixos similares:
SELECT SUBSTRING(option_name, 1, 16) AS prefixo,
COUNT(*) AS total FROM wp_options GROUP BY SUBSTRING
(option_name, 1, 8) ORDER BY total DESC LIMIT 0, 15;
37. Pingdom Speed Test
● Detecta o tempo de resolução do DNS, Time to First Byte (TTFB),
carregamento e tamanho de recursos da página
● http://tools.pingdom.com/fpt/
38. WP-Healthcheck
● Plugin em desenvolvimento, com previsão de lançamento em dezembro
● Versão inicial contará com suporte a três idiomas, incluindo Português do
Brasil