domingo, 4 de agosto de 2013

Encontro PHP dia 06/08 19:30 em SP

Buenas! Esse artigo é somente para compartilhar o encontro PHP realizado pela Season onde vamos ter muito networking e compartilhamento de conhecimento. O encontro acontece dia 06/08/2013 (terça-feira) ás 19:30 na  Avenida Bernadino de Campos, nº 327 CJ 92, Bairro Paraíso - São Paulo - SP

Esse evento conta com duas palestras, sendo uma minha que vou falar sobre Domain-Driven Design aplicado no PHP e outra do Anderson Casimiro (Duodraco) que vai falar sobre Excelência em Software.

Se inscreva e participe, a inscrição é gratuita! Agora se você não puder ir se inscreve e assista via WEBCAST nesse link:

https://docs.google.com/spreadsheet/viewform?formkey=dEttMGpLNlVXQlQzSXRFUWxsb043ZUE6MA


sábado, 27 de julho de 2013

Instalando o OpenJDK 7 no Ubuntu 13.04


Olá amigos, essa é para vc que precisa do OpenJDK 7 para acessar seu internet banking ou instalar netbeans subir o solr ou coisas derivadas que precisam do java. Vamos instalar o Open JDK 7 no ubuntu 13.04


Primeiro vamos instalar o IcedTea plugin para o navegador
$ sudo apt-get install icedtea-7-plugin openjdk-7-jre


Agora O openjdk
$ sudo apt-get install openjdk-7-jdk


Bem, é isso ae.

quarta-feira, 12 de junho de 2013

Nginx php-fpm e mysql e phpmyadmin no Ubuntu 13.04

Olá amigos e amigas tudo bem? Hoje vou mostrar aqui de maneira bem objetiva como montar um ambiente padrão com o todo poderoso Nginx utilizando php-fpm e de quebra mysql no Ubuntu 13.04 ok?

No final deste pequeno artigo teremos um phpmyadmin rodando legalzinho com o nginx.


Abra o seu console e siga os passos(preciso dizer que precisa rodar como root?).


1º Vamos começar com nosso querido mysql

apt-get install mysql-client-5.5 mysql-server-5.5 php5-mysql

1º Agora o PHP
apt-get install php5 php5-cli php5-dev php5-mcrypt php5-curl php5-gd libapache2-mod-php5


2º Agora o Nginx

apt-get install nginx



3º Restart no nginx


 
/etc/init.d/nginx restart


4º Instalando o php-fpm
apt-get install php5-fpm


5º Vamos criar o diretorio www no /var para deixar la nossos fontes (vc não precisa fazer isso pode utilizar outro lugar, mas eu gosto deste)
mkdir /var/www




Agora vamos baixar os fontes do phpmyadmin em http://www.phpmyadmin.net/ estou utilizando a versão 4.0.3

Terminando o download vamos descompactar nosso amiguinho
unzip phpMyAdmin-4.0.3-all-languages.zip

E mover ele para o diretorio /var/www com o nome somente de phpMyAdmin
mv phpMyAdmin-4.0.3-all-languages /var/www/phpMyAdmin

Pronto. Agora vamos configurar os hosts do nosso phpMyAdmin

Criando a linha no hosts
vim /etc/hosts

Adicione
127.0.0.1     phpmyadmin.dev

E agora vamos criar o arquivo de configuração do nginx
vim /etc/nginx/sites-available/phpmyadmin.dev

E ai vc insere esse conteudo:

### phpmyadmin simple configuration
server {
server_name phpmyadmin.dev;
access_log /var/log/nginx/phpmyadmin.access.log;
error_log /var/log/nginx/phpmyadmin.error.log; 
client_max_body_size 5m;
client_header_timeout 1200;
client_body_timeout 1200;
send_timeout 1200;
keepalive_timeout 1200;
set $thttps off;
root /var/www/phpMyAdmin/;
try_files $uri $uri/ /index.php?$args;
index index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_connect_timeout 1200;
fastcgi_send_timeout 1200;
fastcgi_read_timeout 1200;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APPLICATION_ENV dev;
}
error_page 403 /403.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}

Cria um link maroto para o sites-enable
ln -s /etc/nginx/sites-available/phpmyadmin.dev /etc/nginx/sites-enabled/phpmyadmin.dev

por fim vamos arrumar a porta de escuta no fpm
sudo vim /etc/php5/fpm/pool.d/www.conf 

procura a linha que esta assim:
listen = /var/run/php5-fpm.sock

e mude para
listen = 127.0.0.1:9000
(lembre-se que no arquivo de conf colocamos o fast na 9000)

E da um restart na parada toda
service php5-fpm restart
/etc/init.d/nginx restart


e ai é só acessar
http://phpmyadmin.dev


Done!

Dúvidas não exite em perguntar.

sábado, 1 de junho de 2013

TDC2013

De 10 a 14 de Julho o TDC está de volta meus amigos! Vamos todos para o TDC2013 São Paulo

 The Developers Conference 2013, um evento organizado pela Globalcode

segunda-feira, 27 de maio de 2013

ZF1 para ZF2

Olá amigos(as), hoje vou apenas compartilhar aqui o video que foi o primeiro Webinar oficial da Zend feito em português pelo já conhecido e famoso Flávio Gomes Lisboa (Escritor dos livros de ZF1). Eu tive a oportunidade de assistir a transmissão ao vivo e achei muito produtiva em todos os aspectos.
Acho que o video tenta de uma forma simples comparar as diferenças entre os dois frameworks e mostrar os desafios que a Zend passou para criar esse framework tão robusto que é o Zend Framework 2.

Sendo assim segue abaixo o link do video:

http://www.zend.com/en/webinar/ZF/70170000000c4Mm-migrando-do-zf1-para-o-zf2-20130416.flv


terça-feira, 30 de abril de 2013

Netflix no Linux Ubuntu

Esse pequeno artigo vai te ajudar rapidamente a rodar o Netflix no Linux Ubuntu.

Mas espera ai! O NETFLIX NÃO RODA NO LINUX? E A RESPOSTA É SIMPLES, O NETFLIX utiliza o Microsoft Silverlight....

Na boa, há um ano atrás eu vi algumas estratégias do NETFLIX sobre uso do HTML5 muito interessantes, e até imaginei que fosse uma empresa "estilo Google de pensar", mas depois que eu vi que além de utilizarem Silverlight não existe uma alternativa criada POR ELES DIRETO NO BROWSER achei uma baita palhaçada e descaso dessa empresa.
Sério, que ano eles pensam que estão? Será que é tudo da
Microsoft? Será que a Microsoft ainda não aprendeu que quando vc tenta impor algo vc só tem a perder? Sei lá viu, algumas pessoas e alguns cargos na área de TI não deveriam simplesmente existir.

Enfim, deixando o desabafo de lado vamos falar da solução técnica para isso, um programador do EUA chamado Erich E. Hoover também ficou puto mas não apenas reclamou como arregaçou as mangas e foi desenvolver uma solução(PARA NOOOOOSSSAAA ALEGRIAA), e é bemmm simples pois é basicamente o programa que trabalha com o Wine em conjunto com o Firefox. E para vc e eu que queremos fazer o Netflix rodar sem muito esforço ficou perfeito(rs).



Abra o terminal e resolva isso com 3 comandinhos
$ sudo apt-add-repository ppa:ehoover/compholio
$ sudo apt-get update
$ sudo apt-get install netflix-desktop



Depois de instalado é só chamar nosso amiguinho e pronto
$ netflix-desktop




Fonte http://www.compholio.com/netflix-desktop/

sábado, 20 de abril de 2013

Arquitetura SOLID

Olá amigos, ultimamente ando com artigos mais conceituais pois meu intuito ultimamente é flexionar nosso cérebro para pensar  de uma forma mais ampla do desenvolvimento de software. Por isso hoje vou falar da consagrada Arquitetura de Software SOLID


Em meados de 2005, Robert Martin(Uncle Bob), publicou um artigo sobre 11 princípios de Design para desenvolvimento Orientado a Objetos. No artigo ele diz que não basta programar orientado a objetos, é necessário ter princípios de design para manter a qualidade. Os 5 primeiros princípios ficaram “mais famosos”, sendo estes os que formam o S.O.L.I.D.

O SOLID tenta mostrar de maneira simples como planejar algo limpo e de uso altamente flexível(afinal,  pq usar?). Vou dar uma acordada em vc ai, sabia que o famoso Zend Framework 2 usa SOLID? Pois é meu amigo e amiga o Matthew Weier cabeça do desenvolvimento do ZF2 buscou usar o melhor da atualidade para o framework e eles encontraram no SOLID uma forma de expressar o que eles queriam de fato que é o conceito de framework "USE O QUE VC QUISER E A VONTADE". Ta mais vamos ao ponto desse nome, veja a figura acima e acompanhe a explicação das siglas abaixo.

S – Single Responsibility principle: uma classe deve ter apenas uma responsabilidade.
O – Open/Closed principle: entidades de software devem ser abertos para extensão, mas fechadas para modificação.
L – Liskov substitution principle: objetos em um programa devem ser substitíveis por suas classes derivadas em qualquer ponto do código sem alterar a funcionalidade do programa.

I – Interface segregation principle: interfaces muito específicas são melhores do que interfaces de uso geral.
D – Dependency inversion principle: módulos devem depender de abstrações.
Mais detalhes, clique aqui.



Bem é basicamente isso recomendo uma leitura na documentação do Zend Framework 2(aqui) e também na matéria do Bob(aqui)