Arquivo mensais:outubro 2014

Mac – OSX – Conectando via SSH e mantendo a conexão aberta (KeepAlive)

Olá pessoal,

Esta dica é bem importante e resolve o problema de muita gente que ao conectar via SSH em uma máquina, percebe que depois de algum tempo a conexão é encerrada, necessitando criar uma nova.

Isso ocorre devido ao cliente OpenSSH que vem no Mac (OSX) não enviar o comando de Keep Alive (manter vivo), que como o nome já diz, mantém a conexão “viva”.

Para fazer isso siga os passos abaixo executando os comandos direto no terminal:

1 – Abra o terminal

2 – Crie a pasta “~/.ssh/” (caso já não exista) com o comando:

mkdir ~/.ssh/

3 – Edite o arquivo “config” com o programa “nano” (caso ele não exista, o próprio “nano” criará):

nano ~/.ssh/config

4 – Adicione as linhas:

Host *
    ServerAliveInterval 60

5 – Salve o arquivo com CONTROL + O

6 – Feche o editor com CONTROL + X

7 – Reinicie o terminal para que as mudanças tenham efeito.

 

Existe uma forma de fazer diretamente na execução do comando SSH, assim:

ssh -o ServerAliveInterval=60 servidor.com

 

Obs: Você pode experimentar diferentes intervalos de tempo do envio da informação do keep alive.

 

Obrigado e até o próximo post pessoal.

PHP – Atualizando o PHP no Mac – OSX

Olá pessoal,

Se você possui um Mac e deseja atualizar a versão do PHP que vem nele, existem comandos simples que você pode executar no terminal para realizar esta façanha de forma simples.

Segue abaixo uma lista com os comandos para cada versão (basta copiar e colar no terminal que o script faz todo o restante para você):

PHP 7.0 (Versão estável):

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

PHP 5.6:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

PHP 5.5:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

PHP 5.4 (Esta versão já não é mais utilizada):

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

PHP 5.3 (Esta versão já não é mais utilizada):

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.3

Lembrando que este script não modifica ou apaga a versão do PHP que vem nativamente com o OSX, por isso ele instala em uma pasta diferente. Para você sobrescrever o comando “php” do OSX para apontar para a sua nova versão instalada, faça o seguinte:

1 – Edite o arquivo “.bash_profile”:

nano ~/.bash_profile

2 – Adicione as linhas e salve o arquivo:

export PATH=/usr/local/php5/bin:$PATH

3 – Atualize os comandos no terminal:

source ~/.bash_profile

 

Para verificar a versão do PHP e saber se tudo deu certo, basta executar:

/usr/local/php5/bin/php -v

Por padrão o script “packager” é instalado em “/usr/local/packer” e o PHP é instalado em “/usr/local/php5”. Ao longo da instalação o script pedirá sua senha de usuário, mas fique tranquilo, pois ele pede para copiar os arquivos para as pastas internas do sistema.

Caso você queira saber mais sobre como executar o “pecl”, alterar o “php.ini”, “memcached”, acesse o site oficial: http://php-osx.liip.ch/ e neste mesmo site você fica sabendo de todas as versões PHP suportadas.

Obrigado e até o próximo post pessoal.

PHP – Composer – Facilitando a vida de quem usa

Olá pessoal,

Para quem usa o composer, o gerenciador de dependências para PHP (http://www.getcomposer.org) sabe o quanto é tediante ficar escrevendo o comando completo, ex:

php /Users/usuario/Developer/php/composer.phar install

Porém, para usuários de Mac e Linux, existe uma solução bastante simples e útil que vai facilitar a vida de todo mundo, que é a criação de um ALIAS para o comando completo. Abra o arquivo “.bash_profile” do seu usuário e adicione o ALIAS para o comando completo do composer. Exemplo:

Edite o seu bash_profile:

nano ~/.bash_profile

Adicione a linha abaixo e salve o arquivo:

alias composer="php [pasta aonde se encontrar o composer]/composer.phar"

Atualize a sessão do terminal com os novos comandos:

source ~/.bash_profile

Agora basta você executar no terminal:

composer install

 

Obrigado e até o próximo post pessoal.

PHP – Yii Framework 2.0 – Criando um novo projeto do tipo básico

Olá pessoal,

Resolvi escrever um tutorial de como usar o composer para criar um projeto simples com o Yii Framework 2.0. Depois de muito quebrar a cabeça consegui achar os comandos corretos para instalar e criar uma aplicação básica com o Yii Framework 2.0, pois tem muito material das versões betas e RC e fica um pouco confuso saber como proceder na versão final que saiu.

De forma resumida precisamos instalar o composer, adicionar o repositório no composer e criar uma aplicação Yii com o composer.

1 – Instalando o composer (ao instalar o composer, um arquivo composer.phar será baixado para a pasta aonde você está executando o comando, portanto, execute o comando abaixo em uma pasta que servirá como repositório deste arquivo, pois em todos os comandos que irão usar o composer você precisará passar o caminho deste arquivo como parâmetro):

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

Se o comando acima falhar, use o comando abaixo:

php -r "readfile('https://getcomposer.org/installer');" | php

2 – Adicionando o repositório das dependências do projeto:

php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"

3 – Criando a aplicação básica com o composer(execute este comando na raiz do seu servidor web, pois ele criará uma pasta chamada “meu-projeto” com os arquivos dentro):

php composer.phar create-project yiisoft/yii2-app-basic meu-projeto

4 – Se você usa Apache, adicione na raiz do seu projeto o arquivo “.htaccess” (meu-projeto/.htaccess) com o conteúdo:

Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ web/$1 [L]
</IfModule>

# Deny accessing below extensions
<Files ~ "(.json|.lock|.git)">
Order allow,deny
Deny from all
</Files>

# Deny accessing dot files
RewriteRule (^\.|/\.) - [F]

5 – Adicione na pasta “web” do seu projeto outro arquivo “.htaccess” (meu-projeto/web/.htaccess) com o conteúdo:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Acesse no seu navegador: http://localhost/meu-projeto

Obs: Eu coloquei o comando php seguido do composer.phar, mas você deve colocar o caminho aonde o seu composer.phar se encontra em seu servidor. Ex: php /home/user/php/composer.phar [comando]

Obrigado e até o próximo post pessoal.

PHP – Yii Framework 2.0

Olá pessoal,

Acabou de ser lançado o Yii Framework 2.0.

Framework que eu particularmente utilizo devido a sua robustez, arquitetura, segurança e ao mesmo tempo simplicidade para fazer uma aplicação enterprise.

Algumas coisas que se destacaram nesta versão que vale a pena citar aqui:

  • O gerador de códigos conhecido como Gii agora possui um gerador via web e via console.
  • Framework com foco em testes.
  • Utiliza frameworks conhecidos no mercado e especificações PSR.
  • Debugger integrado (não precisamos mais de plugins para visualizar o que acontece na aplicação).
  • A parte de segurança foi feia com a ajuda de 2 especialistas em segurança com PHP, que revisaram e rescreveram esta parte.
  • O Yii 1 já era um dos frameworks top em performance, e a versão 2 foi reformulada pra ter um desempenho ainda melhor, inclusive na parte relacionada ao banco de dados (ActiveRecord).
  • Uma coisa que me incomodava no Yii 1 era o fato de você alterar um único campo no modelo e ao dar o “save/update” ele alterava todos os campos (montava um update com todos os campos) da tabela. Agora na versão 2 ele controla isso internamente e monta a query de “update” somente com os campos que você modificou.
  • O Yii Framework 2 vem com suporte nativo a RESTful, possibilitando nativamente escrever API RESTful de forma simplificada.
  • A parte de autenticação agora possui suporte a autenticação externa, vindo com suporte nativo a OAuth1, OAuth2 e OpenID, ou seja, você já pode integrar com autenticação via Google e Facebook por exemplo de forma simples. Veja o exemplo no site oficial para entender a simplicidade do negócio.
  • Todos os widgets vem com suporte ao Bootstrap.
  • Vários helpers adicionados para trabalhar com elementos html, gerar links e todas aquelas coisas comuns em que as vezes criávamos funções estáticas para ter o mesmo resultado.
  • Criação de modelo para trabalhar com formulários simplificado.
  • Criação de regras para as classes ActiveRecord e Model (antigo CFormModel), simplificados.
  • Uso de namespace em todo o framework.
  • A arquitetura de pastas foi reformulada e proporcionou ainda mais a separação com o código do projeto, pois ele foi ainda mais projetado nesta versão para ser extensível e modular.
  • O componente de envio de e-mail padrão é o Swift com suporte a engine de templates do Yii.

Com todos esses recursos, potência, segurança e cuidado que os engenheiros do Yii possuem ao fazer o framework, que outro framework vai conseguir bater de frente com ele?

Fica aqui o meu parabéns a equipe de engenheiros que desde de sua versão 1 que eu uso até hoje, fizeram um excelente trabalho.

O link da notícia no site oficial é:
http://www.yiiframework.com/news/81/yii-2-0-0-is-released/

Obrigado e até o próximo post pessoal.

Android – Curso concluído na empresa A2RS

Olá,

Terminei mais um curso na empresa A2RS sobre Android.

Neste curso existia um foco especial que era aprender o suficiente para desenvolver um aplicativo que fizesse autenticação em um serviço web, exibir uma lista de ordens de serviço e alterar a ordem de serviço.

O serviço web foi feito em PHP  depois em C#, onde cada serviço recebe e envia informações em JSON. O projeto em C# em especial, eu fiz usando o template “ASP.Net Web Application”, acessando banco de dados SQL Server.

Produzi uma apostila com os seguintes temas para explicar cada tópico até a conclusão de todos os conceitos necessários para chegarmos ao aplicativo final:

1 – Introdução – História, processos burocráticos e ferramentas

2 – Arquivos de configuração da aplicação e do projeto

3 – Conhecendo um pouco sobre ferramenta Android Studio

4 – Conhecendo toda a estrutura do nosso projeto

5 – Conhecendo a classe Intent

6 – Conhecendo a classe Activity

7 – Criando a tela de login

8 – Criando a tela de lista de ordens de serviço

9 – Criando a tela de alterar uma ordem de serviço

10 – Trocando o ícone da aplicação

11 – Trocando o tema da aplicação

12 – Atualizando a IDE Android Studio

O aplicativo de exemplo no final do curso ficou assim:

 

Obrigado a todos os meus alunos e ao Ricardo que me contratou para lecionar sobre o assunto em sua empresa.