Como você pode aprender a programar!?

Lendo algumas matérias e assistindo alguns vídeos sobre Como aprender a Programar, cheguei até a imagem postada no fim do texto. Originária da freecodecamp ela exemplifica bem alguns níveis que o desenvolvedor terá de passar.  Não pense que hoje e futuramente se aplicará a ideia de que: Eu só sei fazer a linguagem x back-end e fim. Além de ridículo acho extremamente anti profissional.

Recentemente , várias visualizações incríveis das várias tecnologias utilizadas pelos desenvolvedores web em 2017 surgiram no web.

Estes são ótimos recursos para principiantes e especialistas. Eles definem claramente quais tecnologias você deve estar ciente de se você deseja obter um emprego como desenvolvedor web frontend, desenvolvedor web backend ou administrador do sistema.

Mas acho que eles são especialmente úteis para iniciantes absolutos aprendendo suas primeiras linhas de código.

Então, ao invés de gastar seu tempo tentando aprender cada linguagem e tecnologia de programação, você deve aprender o que todo desenvolvedor já deve saber:

Saiba como ler a documentação
Saiba como ler código-fonte
Saiba como depurar o código
Saiba como pedir ajuda

Dá uma olhada e se gostou, curte aí. Obrigado.

Full Stack Developer

Sempre procurei o que pudesse definir de melhor forma como eu trabalhava. Então surgiu o Full Stack Developer.

Sempre fui Front-End e Back-End

Quando falamos em tecnologias de desenvolvimentos necessárias para um desenvolvimento web, falamos em :

  • HTML5
  • CSS3
  • JavaScript
  • UX / UI
  • Conceitos como Mobile First, RWD, etc.

Mas como Back-End developer, também trabalho com:

  • PHP
  • Java
  • Python
  • .Net
  • Banco de Dados
  • etc.

Nos últimos tempo tivemos a evolução do JavaScript com o Node.JS que também é utilizado por profissionais Front-end.

Full Stack Developer, nada mais é do que um Front-End Developer que também é um Back-End Developer, ou como muitos sites descrevem, um Leão Branco.

Para quem não leu ainda sobre essa definição, todo Leão tem um gene que dá a ele a possibilidade de ser um Leão Branco, são raros os que nascem assim. Portanto, excelentes Full Stack Developers são raros.

Não é necessário que você seja o melhor Front-End e o melhor Back-End, mas deve ser hábil em ambas.

A rapidez em que o progresso dos dois mundos evolui, pode fazer com que você perca alguma atualização ou tenha o conhecimento superficial de uma ou nas duas áreas.

Em grandes empresas, dificilmente terá um Full Stack Developer, mas em Startups, pequenas e médias, é possível e muito provável acharmos um Front-End que também é um Back-End.

Bom, fica a cargo de cada um e de uma discussão mais ampla sobre o tema, até que ele seja realmente aceito e implementado por empresas.

Composer, gerencie dependências com PHP

Sei que saiu do prometido, e que você já deve conhecer o Composer, encontramos posts desde 2007 sobre ele. Mas eu arrecem comecei a usar, e acho demais qualquer contribuição que possa agilizar o desenvolvimento.

O Composer é o melhor gerenciador de dependências para PHP e a ferramenta mais utilizado hoje em dia no mundo. Ele permite definir bibliotecas externas utilizadas em seu projeto de forma simples e direta. O próprio Composer baixa, atualiza e carrega automaticamente todas as bibliotecas utilizadas pela sua aplicação.

Instalando o Composer

Como todos já sabemos, há diferenças na forma de instalação em sistemas Windows e em Linux/Mac OS X.

Instalando em Linux e Mac OS X

Em Linux e Mac, podemos usar por linha de comando. No terminal, execute o comando abaixo para baixar o instalador do Composer, usando curl, e executá-lo com o interpretador do PHP:

curl -sS https://getcomposer.org/installer | php

Caso você não tenha o curl instalado, use o comando abaixo, que também terá o mesmo resultado:

php -r “readfile(‘https://getcomposer.org/installer’);” | php

Se você rodar o comando ls, verá que o arquivo composer.phar agora está no diretório onde consta seu projeto.

Para testar a instalação, execute o comando abaixo:

php composer.phar

Um agrande sacada que ajuda bastante é a instalação global do composer, assim não será preciso executar este procedimento para cada projeto.

Então, copie o arquivo composer.phar para um diretório que esteja no PATH do nosso sistema. Pra facilitar, vamos renomeá-lo para composer apenas, sem extensão.

Copie o arquivo para o diretório /usr/local/bin/, com o comando mv:

sudo mv composer.phar /usr/local/bin/composer

Note que /usr/local/bin/ é um diretório protegido e você precisará de permissão de root para escrever nele. Por isso, executamos o comando usando sudo.

Agora o Composer está instalado globalmente. Basta digitar composer no terminal, em qualquer diretório e pode usá-lo onde quiser.

Instalando em Windows

O Windows oferece a opção manual e através de um instalador, que eu acabei usando devido a dependências do meu PHP local, ficou muito mais fácil pra mim.

Depois execute-o e siga os passos. O instalador vai colocar o Composer no PATH do seu Windows, assim você poderá executar o comando de qualquer diretório.

Se você estiver com uma janela do terminal (prompt de comando) aberta, deverá fechá-la e abri-la novamente. Isso é necessário para que a alteração no PATH seja carregada.

Se preferir seguir a instalação manual, execute os comandos descritos na documentação oficial.

Instalação de Dependências

Para instalar uma dependência, use o comando composer require. Um pacote é identificado por duas partes: vendor_name, que é o nome do responsável por ele e project_name, que é o nome do projeto propriamente dito.

Como exemplo, a instalação da apiclient do google:

composer require google/apiclient

Após este comando ele cria os arquivos composer.json e composer.lock automaticamente. A biblioteca apiclient (e todas as demais dependências) serão armazenadas no diretório vendor.

No arquivo composer.json é o arquivo de configuração principal. Nele serão armazenadas as dependências, nome do projeto etc.

O composer.lock é um arquivo manipulado pelo próprio Composer, para gerenciar as versões, saber de onde baixar as bibliotecas etc. No diretório vendor é onde fica o auto loader e todas as dependências de seu projeto.

Como Usar Dependências

Após declarado e baixado uma dependência, você poderá usá-la em todo o seu projeto. Basta que o autoloader do Composer tenha sido carregado.

Basta declarar ele no arquivo onde preisa utilizar suas dependências:

set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ .’/vendor/google/apiclient/src’);

require_once __DIR__.’/vendor/autoload.php’;

Como Atualizar Dependências

Como todo gerenciardor, o Composer baixa as atualizações dos pacotes. Basta usar o comando composer update. Esse comando verifica todas as dependências configuradas no arquivo composer.json e busca por atualizações. Dessa forma, elas estarão sempre atualizadas.
Viram a simplicidade e a praticidade em utilizar um gerenciador de dependências para seus projetos em php? Além de mantermos tudo organizado.

Bom, vou usar em mais projetos e certamente postarei mais.

Minha semana WordPress

Está última semana passamos por algumas configurações básicas para o WordPress. Principalmente na parte de performance.

Trabalhar com o WordPress é algo que gosto bastante e que considero muito fácil. Infelizmente a maioria das empresas não compreende o poder e as vantagens de trabalhar com esta ferramenta incrível. Mas aos poucos espero que isso mude.

wordpress-edersonmelo-2

 

Read more

WordPress, Otimize o MySQL

Além das opções que você pode ler nos posts anteriores em WordPress, como o uso de Cache, outra dica é otimizar o MYSQL de duas maneiras, a primeira é instalando e utilizando o plugin WP-DBManager.

Lembre-se sempre: Faça o backup da sua instalação e da sua base de dados!

Após instalar o plugin WP-DBManager vá no menu Database, selecione Repair DB e clique em reparar, selecione a opção Optimize DB e clique em otimizar.

A outra maneira é fazendo a otimização manualmente via phpMyAdmin.
Read more

WordPress, Domando o WPCron

O WPCron (WordPress cron) é o sistema de eventos agendados – também conhecidos como scheduled events – do WordPress. Mas o que é um evento agendado?

Um evento agendado é uma ação programada para ser executada;

Sempre que alguém visita o seu site, o wp-cron.php será executado e isso acarretará em um uso desordenado e muitas vezes desnecessário causando mais processamento e uso de recursos no servidor e trazendo também lentidão ao site.

Deixá-lo habilitado da forma padrão só irá elevar o load do servidor então o Cron só precisa ser executado quando você fizer alguma atualizações em seu WordPress, desabilitar o seu comportamento normal para ser executado a cada vez que um visitante acessar o seu site pode ser útil, para reduzir o consumo de recursos do servidor.

Read more

WordPress, Otimizando wp-config.php

O wp-config trata das configurações sobre a base de dados, chaves únicas de autenticação e salts (para segurança) e o modo de desenvolvimento ou modo debugging do WordPress para desenvolvedores.
Mas como todo o WordPress pode ser otimizado, então porque não?

Desabilite a revisão de artigos:
define(‘WP_POST_REVISIONS’, false);

Configurar tempo dos salvamentos automáticos
define(‘AUTOSAVE_INTERVAL’, 600); // Valor em segundos

Desabilite o WP_DEBUG
define(‘WP_DEBUG’, false);

Este pouco de alterações já fará uma boa diferença, pode acreditar.

WordPress, Diminua o número de consultas ao banco de dados

Seguindo a linha de performance simples em WordPress, temos a opção que eu venho usando bastante para diminuir o número de consultas ao banco de dados.
Ao invés de usar as tags do template para requisitar chamadas no banco de dados, substitua-as por caminhos absolutos/estáticos é mais eficiente.
No arquivo header.php do seu tema você verá varias tags que farão consultas ao banco de dados:

<html xmlns=”http://www.w3.org/1999/xhtml” <?php language_attributes(); ?>>
<head profile=”http://gmpg.org/xfn/11″>
<meta http-equiv=”Content-Type” content=”
<?php bloginfo(‘html_type’); ?>;
charset=<?php bloginfo(‘charset’); ?>” />

Read more

WordPress, use o Cache

Se você usa o WordPress(se não usa, eu recomendo), por padrão todos deveríamos otimizar o tempo de carregamento das páginas, melhorar a velocidade de resposta, navegabilidade para o usuário, diminuição de uso do hardware do servidor e a probabilidade do blog sofrer menos overload (sobrecarga).

Como resultado disso você vai economizar na escolha do seu plano, desta forma seu blog poderá passar um tempo maior em um servidor compartilhado até o momento em que precisar de uma VPS (Virtual Private Server ).
Read more

Winginx

Servidor PHP com Winginx

Sempre usei o EasyPHP como meu servidor de PHP, mas como precisei de mais, achei e analisei o Winginx, que é um complexo servidor web local no Windows para desenvolver em PHP e Node.js usando bancos de dados MySQL, MongoDB, Redis, memcached.
Um excelente substituto que cobre a atual necessidade da minha aplicação que é o Node, MongoDB e memcached, além de outros serviços. Substituindo com maestria o EasyPHP .

Com isso, possivelmente passarei a usar a Digital Ocean para as cloud applications.

Então fica a dica 😉