Baixe e experimente a IDE CodeLobster, para desenvolver seus projetos.

Há várias IDEs para quem deseja usar o sistema operacional GNU/Linux para programar.
Algumas são específicas para algumas linguagens e outras são bem mais abrangentes.

O CodeLobster é uma IDE multiplataforma, voltada para a programação PHP, mas pode atender a outras linguagens também — tipo CSS, HTML, JavaScript etc. — como seria de se esperar de uma ferramenta voltada para desenvolvedores web.
Logo do CodeLobster e descrição do produto

Sua proposta inicial é ser leve e rápido (light-weight). Por isto, requer muito pouco espaço em disco para ser instalado.
O projeto foi desenvolvido a partir da construção de um editor de textos e evoluiu para um ambiente de desenvolvimento integrado.

Atualmente, há versões disponíveis para Windows, MacOS e Linux (Mint, Debian, Ubuntu e outros desta mesma ramificação).

Através de plug-ins o aplicativo pode ter funcionalidade estendidas para usar CMSs e frameworks populares — o que inclui o CakePHP, CodeIgniter, Drupal, Joomla, Symfony, Twig, WordPress, Yii, Node.js, JQuery, AngularJS, BackboneJS etc.

Download e instalação

Mesmo tendo versões voltadas a várias plataformas, neste artigo só irei abordar a sua instalação no Linux (Debian 10, para ser mais específico).
Instalação do CodeLobster via apt, na linha de comando

Faça o download da versão voltada à sua plataforma de trabalho, no site (link ao final do post) e abra um terminal para executar a instalação via dpkg. O procedimento é o mesmo em qualquer distro baseada no Debian, como é o caso do Ubuntu, do Mint etc.:


sudo dpkg --install ~/Downloads/codelobsteride-1.1.0_amd64.deb 

Feita a instalação. já é possível executar o programa — da linha de comando, no terminal ou na GUI.
codelobster via dash no GNOME do Debian

Primeiro uso e ajustes iniciais

Claro que não gostei da interface padrão do aplicativo…
Mas ele tem temas alternativos muito bonitos, principalmente com fundos escuros — os meus preferidos.
Sugiro dar uma olhada nestas opções, disponíveis em View/Visual Style.
Relação de temas do CodeLobster

Em seguida, altere o idioma da interface para o que achar mais adequado. O português (europeu) é o que está disponível na versão que usei.
Acesse a configuração pelo menu Tools/Preferences. Em seguida, localize a aba IDE, à esquerda e toque em General.
À direita, no painel, selecione o idioma (Interface Language) de sua preferência.
Painel geral do Codelobster

Preço do produto

O CodeLobster IDE é distribuído, no site, em uma versão gratuita – que expira em 30 dias.
A versão Professional pode ser adquirida no próprio site, por 99,95 dólares/ano. A assinatura dá direito ao uso em até 3 dispositivos diferentes.
codelobster logo

Referências

As versões dos pacotes de instalação do CodeLobster IDE para MacOS, Windows e Linux, podem ser baixadas neste site: http://www.codelobsteride.com/#download.

Perl, PHP e Python.

Cada qual com suas próprias vantagens e desvantagens, Perl, PHP e Python têm mais do que a letra ‘P’, no início de seus nomes, em comum.
Trata-se de 3 linguagens de programação modernas e muito populares.

Para se tornar um bom programador, dominar uma única linguagem de programação não é o suficiente.
É muito comum nos envolvermos em projetos que fazem uso de mais de uma linguagem, como meio para solucionar problemas.
Fazer a mudança de uma linguagem de programação para outra é mais fácil quando se tem intimidade com mais de uma.
O problema é que há muitas linguagens de programação no mundo.
Neste post, vou tentar mostrar porque Perl, PHP e Python merecem que você dedique parte do seu tempo para aprender, pelo menos, uma delas.
Claro que a escolha de uma linguagem, para erigir um projeto, parte de se considerar diferentes fatores — tais como

  • as funcionalidades que se deseja que as aplicações tenham,
  • que novos recursos elas devem suportar,
  • a(s) plataforma(s) de hardware/sistemas operacionais para as quais se vai desenvolver as soluções
  • performance, segurança, quantidade de código que precisará ser criado, a comunidade etc.

As linguagens dos ‘P’, são dinâmicas e poderosas, cada qual do seu jeito e têm em comum o fato de que são muito usadas para desenvolver aplicações web e scripts.
Vamos conhecer um pouco de cada uma, suas vantagens e (lógico!) desvantagens.

Perl

O Perl (nas versões 5.x e 6.x) é uma linguagem de programação dinâmica, interpretada, de propósito geral e de alto nível.
Originalmente desenvolvida por Larry Wall, em 1987, para uso no sistema operacional Unix — tinha um objetivo inicial de facilitar o processamento de relatórios de sistema.
O Perl passou por várias mudanças e revisões e tem sido reprojetada na versão 6 — a ponto de evoluir para uma nova linguagem, em relação á original.
Ambas as ramificações (Perl 5 e 6) têm desenvolvimento ativo e independente uma da outra, formando a família de linguagens Perl.
A família pega emprestado características de outras linguagens importantes, como C, shell script, AWK e sed.
Atualmente, encontra aplicação na administração de sistemas, programação de redes, aplicações financeiras, bioinformática etc.

Manipulação de cadeias de caracteres (strings) e expressões regulares são pontos fortes conhecidos do Perl.

Vantagens

  • Perl é muito boa para lidar com expressões regulares e costuma ser a primeira opção para fazer trabalho pesado nesta área.
  • Seu código é bem curto e, comumente, é possível implementar soluções com apenas uma linha de código.
  • Pode ser usada como linguagem funcional, imperativa, procedural ou orientada a objetos.
  • O CPAN do Perl provê uma grande quantidade de módulos e código testado. Boa parte é gratuita.
  • Por ser uma linguagem, já tradicional e com bastante estrada (mais de 30 anos), conta com muita documentação online e uma grande comunidade de suporte.
  • Portabilidade e disponibilidade a todas as plataformas.

Desvantagens

  • Uma vez que tem sintaxe complexa, iniciantes podem ter alguma dificuldade de entender.
    O mesmo código pode ser escrito de modos diferentes — o que é muito bom, quando se já tem um conhecimento mais avançado sobre a linguagem, mas pode ser fator de confusão para quem está aprendendo.
  • Comparado ao Python, tem documentação escassa sobre como programar orientado a objetos.
  • Pode ser lenta, em comparação com outras linguagens de script.

Popularidade

Mesmo não sendo “nova no pedaço”, seu crescimento tem sido lento, (novamente) comparado a outras linguagens.
Ainda assim, goza de grande popularidade e de uma comunidade engajada.

PHP

Também se trata de uma linguagem de propósito geral, mas é amplamente usada em websites.
Projetada por Rasmus Lerdorf, é uma linguagem de script interpretada server-side, desenvolvida com o propósito de ser usada no desenvolvimento web — sendo que, inicialmente, seu nome correspondia a Personal Home Page.
Atualmente, PHP é um acrônimo recursivo para PHP: Hypertext Preprocessor — ou “PHP: Preprocessador de Hipertexto”.
É muito usada em meio ao código HTML e está inserida em vários sistemas de gestão de conteúdo online.
O código é geralmente processado por interpretador implementado como módulo no servidor web ou como CGI (Common Gateway Interface).
O código também pode ser executado/interpretado na interface de linha de comando (CLI) e pode ser usado para implementar aplicações standalone.
Com um desenvolvimento, cujo início data de 1995, o PHP se encontra na versão 7.x, atualmente.
Ao contrário do Perl (5 e 6) e do Python (2 e 3), a comunidade do PHP caminha junto com as novas versões — de forma que a linguagem não sofreu uma bifurcação em seu desenvolvimento.
É usado no YouTube, no Facebook e em vários outros grandes projetos na Internet.

Vantagens

  • A grande maioria dos provedores de Internet oferece um ambiente pronto para você desenvolver em PHP, nas implementações mais atuais da linguagem.
  • É fácil de aprender e usar. A sintaxe é muito parecida com a da linguagem C.
  • Conta com uma enorme comunidade de suporte.
  • É estável e rápido.
  • Tem suporte a muitos bancos de dados e provê gestão nativa de sessão.

Desvantagens

  • Algumas das bibliotecas escritas em PHP usam uma abordagem procedural e podem ser de difícil compreensão para programadores com formação exclusiva em orientação a objetos.
  • Pode se tornar lenta com a escalabilidade das suas necessidades.
    Algumas organizações fazem uso de frameworks para contornar este problema, contudo.
  • Não é a opção ideal para escrever aplicações desktop.

Popularidade

É, certamente, muito popular e costuma integrar a lista top 10 de linguagens de programação — principalmente quando o assunto é desenvolvimento para a web.

Leia mais sobre o PHP.

Python

Desenvolvida no fim dos anos 80, por Guido van Rossum, Python é uma linguagem de programação elegante e fácil de aprender.
Tem se tornado especialmente popular nos últimos anos e costuma-se recomendar seu aprendizado (como primeira linguagem) a iniciantes em programação.
Tem suporte a múltiplos paradigmas — funcional, imperativa, procedural e, obviamente, orientada a objetos.
Pode ser usada para desenvolver aplicações para desktop, para dispositivos móveis, análise de dados, Web, computação nas nuvens, jogos etc.
A linguagem usa a indentação para identificar blocos de código, o que elimina a necessidade de usar pontos-e-vírgulas etc.

Vantagens

  • Muito bem documentada e você encontra muitos livros sobre a linguagem, inclusive ótimas publicações de autores nacionais. Ou seja, você não precisa comprar traduções malfeitas.
  • É usada em animação 3D e no desenvolvimento de jogos, diferente das outras linguagens de que falamos aqui.
  • Estudantes costumam aprender Python mais rápido do que C ou C++.
  • O código é mais enxuto e mais limpo e, portanto, mais fácil de entender.
  • Comparado a outras linguagens, seu código costuma ser mais curto.
  • Tem suporte a JVM, de forma que seu código pode rodar alguns objetos ou APIs Java.

Desvantagens

Por mais animado que se esteja com uma linguagem de programação, não dá para fechar os olhos para seus pontos fracos:

  • O seu código pode simplesmente não funcionar por que você esqueceu de indentar corretamente.
  • O Python força os programadores a seguir uma convenção.
  • É uma linguagem interpretada e mais lenta que C ou C++.
  • Até o momento, não é muito eficiente para rodar código voltado para múltiplos processadores e/ou núcleos.

Popularidade

Tem se tornado mais e mais popular nos últimos anos e chegou a ganhar o TIOBE Programming Language of the Year/2007. A instituição mede o crescimento e a popularidade de uma linguagem no período de um ano.
A linguagem se manteve em 2o, durante o ano de 2017.

Conclusão

Não existe resposta pronta para a pergunta “qual a melhor linguagem ….”
No caso destas 3, todas podem realizar os mesmos projetos — algumas, com mais eficiência do que as outras.
A título de sugestão, segue a minha lista:

  • PHP é a mais indicada para o desenvolvimento Web e projetos na Internet. Dos servidores gratuitos aos mais caros, quase todos oferecem suporte a PHP e a bancos de dados MySQL/MariaDB.
  • Projetos do lado do cliente, para rodar no desktop ou em dispositivos móveis, podem ser melhor servidos com Python.
  • Perl é mais vantajoso na automação de serviços, na administração de sistemas e em scripts.

Se você tem planos de iniciar um projeto na Web, vale saber que, com o PHP, vai encontrar quase tudo pronto para começar a trabalhar e ver os resultados.
Contudo, se ainda não tiver qualquer projeto em mente, minha recomendação pessoal é a favor do Python.

Referências

https://pt.wikipedia.org/wiki/Perl.

https://pt.wikipedia.org/wiki/PHP.

https://pt.wikipedia.org/wiki/Python.

Leia mais sobre Python.

https://electronicsforu.com/resources/software/a-guide-to-rogramming-in-perl-php-and-python.

Como criptografar texto dentro de um script PHP

Neste post vou mostrar como usar a função crypt do PHP, para codificar em base64 um texto dentro de um script.
O exemplo pode ser facilmente adaptado ou readequado para ser usado em seus scripts do dia a dia.
O programa pega o texto “uma senha qualquer” e a criptografa.
Em seguida, exibe o resultado criptografado na tela.
O código tanto pode ser executado no seu servidor web (Apache) como no terminal.
No meu exemplo, uso um terminal.
Segue o código, com os comentários:


<?PHP
// senha em texto puro a ser criptografada
$senhaTextoPuro = 'uma senha qualquer';

// criptografa o texto dado acima
$senha = crypt($senhaTextoPuro, base64_encode($senhaTextoPuro));

// exibe a senha codificada
echo $senha;
?>

Eu gravei o códio em um arquivo chamado senha.php
Para rodar o script no terminal, invoque o interpretador PHP:


php senha

dWo4bd6Qavg2Q

Como instalar a interface de linha de comando do WordPress

Alguns usuários podem ter utilidade para uma interface de linha de comando, para realizar atividades administrativas relacionadas ao WordPress.
Para estes, existe o wp-cli — WordPress Command Line Interface, ou “interface de linha de comando do WordPress”.

Sua instalação é simples e leva menos de 30 segundos (verdade!).
Veja quais são os prerequisitos para baixar, instalar e usar o wp-cli:

  1. Ambiente UNIX-like, o que inclui o OSX, sua distro Linux favorita, FreeBSD e Cygwin (para usuários Windows). No ambiente Windows, há suporte limitado do aplicativo, mas é possível usá-lo.
  2. PHP — a versão 5.3.29 é requerida, mas as atuais distribuições GNU/Linux já estão usando versões superiores à 7.0.
  3. WordPress 3.7 ou superior.

Por fim, use o comando wget (ou o curl) para fazer o download do wp-cli.phar:


wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Se preferir usar o curl, faça assim:


curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Verifique se aplicativo já está funcionando adequadamente:


php wp-cli.phar --info

PHP binary: /usr/bin/php7.0
PHP version:    7.0.19-1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI vendor dir:  phar://wp-cli.phar/vendor
WP_CLI phar path:   /home/apps
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.3.0

Para tornar o uso do aplicativo mais simplificado, vamos torná-lo executável:


chmod +x wp-cli.phar 

… e movê-lo para um diretório mais apropriado.


sudo mv wp-cli.phar /usr/local/bin/wp

Agora já será possível executá-lo, sem digitar “PHP” no começo:


wp --info

PHP binary: /usr/bin/php7.0
PHP version:    7.0.19-1
php.ini used:   /etc/php/7.0/cli/php.ini
WP-CLI root dir:    phar://wp-cli.phar
WP-CLI vendor dir:  phar://wp-cli.phar/vendor
WP_CLI phar path:   /home/apps
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.3.0

Se preferir, na hora de baixar o programa, é possível optar pela versão nightly (a versão dos desenvolvedores). Ela tem os recursos mais atuais, porém é menos testada do que a versão estável.


wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli-nightly.phar

Feito o download, basta repetir os procedimentos acima — tendo o cuidado de trocar o nome da versão estável pelo da nightly.


Sempre que quiser atualizar o wp-cli, use a opção ‘update’:


sudo wp cli update
[sudo] senha para justincase: 
Success: WP-CLI is at the latest version.

Se quiser passar a usar a versão nightly, é possível fazer a troca também através do ‘update’. Veja:


sudo wp cli update --nightly

Como configuração adicional, torne o aplicativo amigável ao recurso de autocompletar:


wget https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash

Use o source, para incluir o recurso no BASH, inclua a seguinte linha no seu .bashrc:


source /caminho/para/wp-completion.bash 

… ou seja, se este arquivo estiver no seu diretório home, use “source ~/wp-completion.bash” (sem as aspas).
Para que a alteração tenha efeito imediato, rode o comando:


source ~/.bash_profile

Agora, é só usar!

Assine este site

Todo dia eu aprendo alguma coisa nova sobre administração de servidores, WordPress, bancos de dados, Android etc.
Desde o começo, este site existe para compartilhar o que sei com outras pessoas.
Se quiser ser avisado(a) quando houver post novo no blog, inscreva-se abaixo!

Referências

https://make.wordpress.org/cli/handbook/installing/.
Leia mais sobre WordPress, neste site.

Teste o seu servidor para saber se ele suporta as últimas versões do WordPress

O sistema de gestão de conteúdo WordPress não é dos mais exigentes, em termos de recursos de hardware e software, mas para ter um desempenho melhor há algumas recomendações mínimas que o seu host precisa satisfazer.
Embora o hardware e a largura de banda disponível para o tráfego sejam fundamentais para o desempenho do WordPress, como CMS (Content Management System ou sistema de gestão de conteúdo), neste post vou me ater aos requisitos de software no servidor.
Se tiver dúvidas, em algum ponto, clique nos links ou nas tags no texto para obter maiores especificidades sobre algum tema.

O que você precisa ter para poder testar o seu servidor

Servidores podem ser testados à distância, online ou através de sites especializados neste tipo de tarefa.
Por questões de segurança, contudo, muitos administradores procuram esconder informações sobre as versões dos softwares instalados nos seus sistemas.
Entretanto, um dos requisitos para instalar o WordPress é ter acesso SSH ao servidor — a menos que você vá realizar todos os procedimentos em uma máquina local.
Portanto, neste texto, partimos do pressuposto de que você tem acesso SSH (Secure SHell) ao seu servidor, que é o suficiente para obter as informações de que necessita.

O sistema operacional

Você pode instalar tudo o que precisa, para dar suporte ao WordPress em uma máquina Windows, MacOS, UNIX (FreeBSD) etc.
O sistema operacional Linux, contudo é o mais usado — pelo baixo custo e pela confiabilidade.
Há alguns testes propostos neste artigo, que levam em conta uma instalação Linux.
Estes testes pode ser realizados em outros sistemas operacionais, com pouca ou nenhuma edição.

Em outras palavras, para o fim deste artigo, o sistema operacional que você tem aí, não é tão relevante.

Os requisitos de sistema

Localmente, você pode instalar, por conta própria, um servidor LAMP (acrônimo que corresponde a Linux, Apache, MySQL/MariaDB e PHP).
Se tiver interesse em montar um servidor deste tipo, veja alguns artigos que podem te ajudar:

De maneira resumida, Para rodar a versão mais atual do WordPress, com segurança e máximo desempenho, você precisa ter suporte aos seguintes softwares (e versões):

  • Servidor web Apache ou Nginx.
  • PHP na versão 7 ou superior.
  • Um destes 2 bancos de dados:
    • MySQL 5.6 ou superior
    • MariaDB 10.0 ou superior
  • suporte a HTTPS (não é obrigatório, mas é bom ter).

É possível usar outros servidores web (com suporte a PHP e MySQL/MariaDB), tal como o Lighttpd. Além disto, versões atuais do WordPress (na data deste post) ainda funcionam em versões anteriores do PHP.
Contudo, a melhor relação entre alta performance e segurança, só serão obtidos sob aqueles requisitos listados acima.
Vale ressaltar que as versões mais antigas do PHP e do MySQL já atingiram seus tempos de vida e já não recebem atualizações de segurança — o que pode expôr o seu site a vulnerabilidades e a ataques de crackers.
Por último – e não menos importante – este site usa e recomenda o DreamHost, como provedor de hospedagem.
O DreamHost faz uso das versões mais atuais dos softwares requeridos, tem suporte a HTTPS e dispõe de instalação automática do WordPress (one-click install), o que pode te poupar muito tempo.

Como verificar se as versões dos softwares requeridos estão presentes

Acesse o servidor localmente (com um terminal) ou remotamente (via SSH) e siga os procedimentos abaixo.
Para verificar o PHP e sua versão:


php --version

PHP 7.0.19-1 (cli) (built: May 11 2017 14:04:47) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.19-1, Copyright (c) 1999-2017, by Zend Technologies

Para verificar se o MySQL está presente e sua versão:


mysql --version

mysql  Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Acima, note que o comando ‘mysql’ exibe a versão do MariaDB.
Isto ocorre, por que é este último que se encontra instalado e não o MySQL.
Ainda assim, pelo motivo de facilitar a transição, o comando mysql ainda funciona em instalações de bancos de dados (exclusivamente) MariaDB.
Para conferir o MariaDB:


mariadb --version

mariadb  Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Por fim, em sistemas Linux atuais (com o systemd) é possível conferir o status do Apache, como este comando:


systemctl status apache2

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: 
   Active: active (running) since Mon 2017-07-24 09:58:25 -03; 3 days ago
  Process: 16914 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/
 Main PID: 597 (apache2)
    Tasks: 7 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─  597 /usr/sbin/apache2 -k start
           ├─16930 /usr/sbin/apache2 -k start
           ├─16931 /usr/sbin/apache2 -k start
           ├─16932 /usr/sbin/apache2 -k start
           ├─16933 /usr/sbin/apache2 -k start
           ├─16934 /usr/sbin/apache2 -k start
           └─17106 /usr/sbin/apache2 -k start

Outra forma de verificar a versão do Apache, está descrita neste post.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências