Marcio Trindade

Artigos

Boas práticas para suas views com cakePHP

Se preferir você pode fazer o download do video aqui

Devido a dificuldade de alguns para trabalhar com helpers resolvi mostrar uma dica bem simples de boas práticas pra trabalhar com eles.

Neste vídeo mostro um exemplo para colocar um valor de um determinado objeto disponível em sua view no layout geral, isso normalmente ocorre por motivos de incompatibilidade com o layout. Já vi por ai algumas soluções que funcionam, mas de uma forma não tão clara, então vamos ao vídeo ver como apliquei esta técnica.


Minha experiência com o formtastic

Ontem eu alterei um projeto meu que estava usando o form_for do rails para usar o semantic_form_for do formtastic. Vou contar aqui como foi a minha experiência para que possa incentivar e ajudar outras pessoas também.

Formtastic em ação

Se você quiser tem tudo sobre esta gem no do github (inglês) que você pode encontrar aqui


Queen Latifah

Recentemente a DBurns Design lançou o site da Queen Latifah. Acredito que este foi o maior desafio do qual passei nesta empresa. Utilizamos Ruby on Rails com Apache e podem acreditar, a performance está muito boa. Acredito que em breve teremos que escalar verticalmente e talvez horizontalmente, mas por hora estamos satisfeitos com a performance e nisso devemos muito também ao Blip.tv por hospedar todos os vídeos do site.

Gostaria de parabenizar toda equipe que participou do projeto direta ou indiretamente e acreditem que hoje vendo tudo o que este time (os que estão e os que passaram) construiu me sinto orgulhoso por ter feito parte deste.


Helper para DataTables

Vasculhando pelo site da jQuery encontrei este pluguin DataTables que me chamou a atenção e então procurei aplicar o mesmo na parte administrativa no meu blog. Inicialmente criei um partial para instanciar o plugin javascript com o seguinte código:


Instalar GEM na DreamHost

Eu utilizo a DreamHost para hospedar o meu blog, pra mim é uma boa empresa de hospedagem, visto que até hoje tive poucos problemas lá, e gostaria de compartilhar com vocês como resolvi um deles.

Você tem uma lista de gems disponível, porém algo que é muito comum é você precisar instalar algumas gems que não tem no servidor. Então você pode instalar estas gems ou dar um freeze delas no seu projeto. Eu considero a primeira a melhor solução. Então quero explicar como fazer isso. A DreamHost nos disponibiliza um tutorial de como fazer isso (inglês) e mostro como isso funciona em português.


Criando um sistema de novidades

Esta semana eu não queria deixar passar sem gravar um novo vídeo falando sobre o cakePHP, por isso resolvi seguir alguns conselhos do pessoal da lista cakephp-br e gravar algo um pouco mais útil para o dia a dia.

Felizmente a semana passada foi uma correria por que troquei de mac e meu chefe veio dos US para resolver umas coisas do escritório, mas o lado ruim foi que não consegui tempo para gravar um vídeo, com a troca de mac e tendo de instalar todos programas de novo acabei optando por testar um novo que achei muito legal, espero que gostem também.


Capistrano com repositório local

Outra dica que também vi com o Shadow11 é como fazer o deploy com repositórios locais. Veja o exemplo abaixo:

O repositório do meu blog está no servidor da DreamHost e o acesso é feito via ssh, com isso na hora de fazer o deploy sempre dava erro por que o caminho do repositório no servidor tinha que ser diferente. Então com esta dica você pode setar um repositório para ser utilizado no servidor de produção e um repositório para ser utilizado localmente.


Limpando o cache com Capistrano

Depois que publiquei o artigo Diminua o tempo de deploy do capistrano encontrando um problema que como não era criado um novo diretório (release) para o deploy ás páginas de cache não eram apagadas. Foi então que o ["]Shadow11](http://blog.shadowmaru.org/) adicionou uma linha nesta receita que poderia resolver nosso problema. Se trata de um shell script que vasculha todos os diretórios dentro do public e apaga os arquivos .html lógico que este tipo de funcionalidade você deve tomar cuidado ao usar em seu projeto e adapta-lo da melhor maneira possível. Abaixo o código que substituímos em relação ao artigo citado.



Entendendo a aplicação base com cakePHP

Hoje vou continuar o post Criando uma aplicação com Cake on Rails desta vez explico o que foi alterado no cakePHP e então da pra entender por que o nome cake_on_rails.

A grande diferença fica por conta dos prefixos. Vou usar como exemplo o mais comum (admin). Como cakePHP você ganha a possibilidade de criar estruturas como admin/pages/index que acessa o controller pages com o método admin_index. Este é um dos motivos pelo qual decidi alterar o cakePHP que é um projeto open source para estes fins. Então com o minha contribuição agora quando acessar a mesma url será chamado o controller admin/pages e o método index, separando assim todo o controller do admin do controller normal.