Nginx: 8 comandos básicos para conhecer e dominar a ferramenta

Nginx: Logotipo

Se você está começando com as configurações de servidores, é preciso aprender um pouco sobre o fantástico Nginx. Alguns dos comandos mais básicos para instalar e dominar a ferramenta.

O servidor web é rápido, leve, e com inúmeras possibilidades de configuração para melhor performance.

Primeiro, você precisa aprender os conceitos básicos da instalação. Como a maioria dos servidores web é executado no Ubuntu/Debian e CentOS/RHEL, você pode aprender com os exemplos a seguir para essas distribuições populares do Linux.

Nginx: Logotipo
Nginx: Logotipo

Antes de mais nada, a maneira correta de pronunciar o servidor web é “engine X”. Simples assim, agora você pode conversar com os outros desenvolvedores falando de maneira correta.

Ler mais

MySQL error: Table storage engine for ‘catalog_product_relation’ doesn’t have this option

Está com esse problema para executar um script SQL no MySQL? O que está ocorrendo é que de definição da tabela não é compatível com sua instalação do MySQL.

Esse problema ocorre principalmente ao realizar mysqldump na versão 5.5.x de um banco de dados do Magento, e ao importar em 5.7.x, não ter a opção para criação da tabela.

O seguinte erro ocorre ao executar o script SQL:

ERROR 1031 (HY000) at line 3002: Table storage engine for ‘catalog_product_relation’ doesn’t have this option

O problema

Isso provavelmente se deve à opção de tabela que você tem em seu CREATE TABLE DDL:

ROW_FORMAT = FIXED

Para verificar onde está o problema no scritp, pode executar no terminal o seguinte comando:

cat magento.sql | grep '=FIXED'

Somente as linhas que contém a palavra FIXED irão retornar. Para corrigir o problema, podemos realizar uma substituição através de REGEX, como nos exemplos abaixo.

Solução 1

Essa solução pode funcionar em SO linux, mas no Mac OSX apresentam erros.

sed -i 's/ROW_FORMAT=FIXED//g' magento.sql

Solução 2

Para funcionar no terminal do Mac OSX, utilize o comando abaixo:

LC_ALL=C sed -i '' 's/ROW_FORMAT=FIXED//g' magento.sql

Depois, é só realizar a importação do dump sem problemas!

SQL Join: Como e quando usar INNER JOIN, LEFT JOIN ou RIGHT JOIN

Uma artigo rápido para ajudar a entender como funciona cada tipo dessas pesquisas. Sempre que estamos começando com banco de dados, a dúvida de qual momento e como usar os JOIN no SQL surgem. OK, pra quem já está a tempos no desenvolvimento, a dúvida sempre fica.

O uso dos JOIN é essencial para conectar os dados entre as tabelas no banco de dados. Para nosso exemplo, por ser um portal focado em PHP, vamos considerar o exemplo em cima do melhor amigo que é o MySQL.

A modelagem

Para nosso exemplo, vamos considerar uma modelagem simples, imaginando um sistema de blogs onde existem artigos e categorias. O que vamos querer retornar nas consultas é os artigos que tem categorias, os arquivos com ou sem categoria, quais categorias tem artigos e ainda artigos sem categoria.

Sempre considerando que cada artigo pode ter apenas uma categoria associada.Exemplo de ER

 

Quando usar o INNER JOIN

Vamos listar todos os artigos e suas respectivas categorias. Caso um artigo não tenha categoria relacionada, não será exibido no resultado dessa pesquisa. Para isso, a query abaixo será executada.

SELECT artigos.id, artigos.titulo, categorias.titulo FROM artigos INNER JOIN categorias ON artigos.categoria_id = categorias.id

Quando usar o LEFT JOIN

Agora, vamos listar todos os artigos, mesmo que não tenham uma categoria associada na coluna.

SELECT artigos.id, artigos.titulo, categorias.titulo FROM artigos LEFT JOIN categorias ON artigos.categoria_id = categorias.id

Nesse caso, a coluna “categorias.titulo” irá retornar o valor NULL, mostrando os artigos que não tem uma categoria definida.

Quando usar o RIGHT JOIN

No caso do RIGHT JOIN, irá retornar primeiro verificar todas as categorias que tem artigos. Com isso, você irá perceber uma mudança no resultado, pois eles virão ordenados pelas categorias, caso não tenha definido nenhuma ordenação especial.

SELECT artigos.id, artigos.titulo, categorias.titulo FROM artigos RIGHT JOIN categorias ON artigos.categoria_id = categorias.id

Obrigado e até a próxima, qualquer dúvida deixe um comentário!

Composer: Usando pacotes no PHP

Caso o Composer ainda seja novo para você, esse post vai mostrar o que é, como instalar e usar para começar seus estudos.

Ele é uma ferramenta para gerenciamento de dependências para o PHP que vem ganhando muito espaço entre o desenvolvedores e tornando indispensável.

Com poucos comandos é possível definir todos as bibliotecas necessárias para o seu projeto. Ele ficará responsável por baixar e gerenciar todos os pacotes e configurar seu arquivo de autoloader.

Composer: Pacotes em PHP

O conceito

O conceito é que ele permite que você declare as bibliotecas de seu projeto, e que assim ele irá assumir o gerenciamento (instalação/atualização)-los para você.

Com isso, a instalação e atualização de novas bibliotecas ficará muitoooo mais fácil. Com alguns comandos no terminal, no caso de Linux e OS x, você manterá o projeto atualizado com as dependências.

Para quem já tem experiência com Linux, irá lembrar muito os comandos de “apt-get” dos sistemas Debian/Ubuntu.

Instalando o Composer

Para iniciar, você precisa realizar o download do arquivo phar. Para quem não conhece o phar, ele é um empacotamento de aplicações, de forma que você não precisa ser preocupar com estrutura. Você pode simplesmente baixar e sair usando em qualquer sistema.

Podemos baixar de duas formas distintas: cURL ou próprio PHP.

Download do Composer via cURL

Execute o seguinte comando em seu terminal:

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

Download do Composer via PHP

Execute o seguinte comando em seu terminal:

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

Existem outras maneiras de fazer a instalação. Caso prefira, poderá consultar a documentação para verificar a instalação.

Para sair usando, é necessário entender como ele funciona. Deve ter notado diversos frameworks no mercado que ao realizar o download, já vem com o arquivo “composer.json”. Lembre-se, é possível usar em qualquer projeto, pois ele irá auxiliar no controle das dependências do projeto.

Definindo o uso global

Recomendo que você consulte a documentação para verificar como é o funcionamento global. No caso do OS x, necessário mover o composer.phar para o /usr/local/bin/composer.

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

Após esse comando é só sair executando pelo terminar. É possível que em determinados projetos tenha problema de permissão, para isso, execute o comando usando o sudo.

Iniciando um projeto PHP com Composer

Depois da instalação feita, é hora de criamos o primeiro projeto. Para iniciar, vamos ao arquivo de configuração.

Lembre-se de criar uma pasta dentro de seu webserver, e nela criar o arquivo de configuração. Poderá usar o modelo abaixo:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "fausto@dicasdephp.com.br"
 }
 ],
 "require": {
 "php": ">=5.4.0"
 }
}

Acho que o próprio esqueleto é auto explicativo, mas segue abaixo detalhes do que você precisa preencher:

  • name: Nome do projeto (recomendável, mas não obrigatório);
  • description: Detalhamento do projeto (não obrigatório);
  • authors: Dê os créditos para quem contribuir com o projeto;
  • require: Informe quais são as necessidade do projeto. Nesse caso, obrigamos que seja necessário usar a versão 5.6 ou superior. Se a instalação falhar irá retornar um erro na hora da configuração do projeto;

Adicionando pacotes

Bem, a parte mais divertida é gerenciar os pacotes. Para saber o que adicionar ao seu pacote, poderá usar o Packagist, onde qualquer desenvolvedor pode inserir suas bibliotecas.

Para esse exemplo, vamos usar a biblioteca proem, para criação de rápido MVC. Veja abaixo nosso composer.json:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "fausto@dicasdephp.com.br"
 }
 ],
 "require": {
 "php": ">=5.4.0",
 "proem/proem" : "0.7.1"
 }
}

Executando o Composer

Agora, com nosso arquivo de configuração definido, é só executar o comando de instalação:

composer install

Ao verificar sua pasta novamente, notará que existem novos arquivos e pastas. Será criada uma pastar “vendor” e criado o arquivo “composer.lock” que é gerador após a instalação realizada com sucesso.

O último passo é criar um arquivo “index.php” e inserir o seu “autoload”. Veja nosso arquivo exemplo abaixo.

<?php

require 'vendor/autoload.php';

Se curtiu esse breve tutorial, deixe um comentário. Podemos fazer novo tutorial abordando mais detalhes.

Curso de PHP Profissional: Aprendendo mais sobre PHP

Está procurando sobre Curso de PHP Profissional? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que quais os requisitos para um programador PHP chegar ao nível ideal de profissionalismo.

Curso de PHP online

É possível hoje, assim como em diversas disciplinas de negócios, aprender PHP com qualidade sem sair de casa. Caso você já esteja no mercado de trabalho e procurando alcançar um novo nível de conhecimento, indicamos este curso de PHP.

O grande diferencial é a abordagem do PHP orientado a objetos e a construção conjunta de um sistema que poderá ser usado futuramente em diversos tipos de projetos.

Assim, além do aprendizado, você já finaliza o curso com um framework próprio para servir o mercado e seus clientes.

Mind Map - Curso de PHP Profissional
Mind Map – Curso de PHP Profissional

O que é o PHP

O PHP é, talvez hoje, a linguagem de programação de entrada no mercado da WEB. Criado por Rasmus Lerdorf em 1995, é de fácil acesso, pois está presente em 99% dos servidores de sites e possui uma infinidade de tutoriais, frameworks, apostilas e materias para aprendizado na internet.

As plataformas para sites mais utilizadas no mundo são hoje desenvolvidas em PHP, como WordPress, Drupal, Joomla, MediaWiki, Moodle e outras, tornando assim o mercado de programador em PHP extremamente necessária e concorrida.

Por ser uma linguagem de fácil acesso, acaba por ter o maior número de profissionais informais e com pouca experiência em construir sistemas robustos com a plataforma. Nesse quesito, cada vez mais o PHP ganha destaque e aumenta o número de demanda por especialização para tornar os informais em programadores profissionais.

Apostilas Grátis PHP

Uma ótima alternativa para curso de PHP é a fonte de aprendizado na internet que é o download de apostilas de PHP. Nada melhor que conteúdo grátis para acrescentar conhecimento para nosso dia-a-dia. Abaixo você tem acesso a 4 apostilas de PHP.

Vídeo Aulas Grátis de PHP

A mesma empresa de treinamentos que citamos acima te uma série de vídeos gratuitos com ótimas dicas de PHP. Para se inscrever e aproveitar, clique aqui.

Outra fonte de vídeo aulas grátis de php é o gigante YouTube. Olha aqui em baixo alguns links que separamos com aulas de WordPress, Magento e PHP Básico.

Curso Superior em Sistemas para Internet

Nos últimos semestres, grandes universidades do Brasil começaram a ofertar cursos superiores em tecnologia. O mercado de trabalho está necessitando de profissionais qualificados para o trabalho em grandes projetos, e essa pode ser uma ótima oportunidade para você se destacar nesse mercado que é bem concorrido.

Veja abaixo algumas das universidades que estão oferecendo esses cursos:

Oportunidade no Mercado de Trabalho

O perfil que as empresas procuram no profissional de PHP é as mais variadas. Posso citar alguns dos principiais requisitos presentes em diversas vagas de trabalho.

  • Desenvolver aplicativos em linguagens procedurais e orientadas a objeto;
  • Implementar aplicações dinâmicas para internet e para dispositivos móveis;
  • Integrar sistemas legados com sistemas atuais;
  • Conhecimento em ferramentas como WordPress, Magento, Drupal, Joomla;
  • Desenvolvimento de sites e sistemas para lojas virtuais;
  • Integração com redes sociais;
  • Projetar sistemas WEB com ferramentas de apoio;

Dicas: Inscreva-se grátis para receber uma sequência de vídeo aulas ensinando programação com PHP.