06/03/2010

Upload de Imagens com Paperclip, armazenando no Banco de Dados

Bom pessoal, estive quebrando a cabeça esses dias pois tenho um site hospedado no @heroku e lá não era possível fazer upload de imagens com o Paperclip devido à permissões.
Procurando por uma solução vi muitos falando sobre o Amazon S3, porém, por mais barato que seja, é pago ! Então, vamos armazenar as imagens no banco(já que este site não terá muitas imagens e a performance não será comprometida).
Entrei na lista do Paperclip "desesperado" e lá encontrei uma postagem falando a respeito e nesta postagem o link que me salvou:

http://patshaughnessy.net/2009/4/14/database-storage-for-paperclip-rewritten-to-use-a-single-table#comments

Neste tutorial, o Pat nos mostra uma atualização do Paperclip onde é possível fazer o storage dos uploads no próprio banco de dados.
Seguindo o passo-a-passo do tutorial, consegui atingir meu objetivo e as imagens estão armazenadas no banco de dados em um campo do tipo LONGBLOB(atentem à isto caso estejam usando o MySQL).
Bem, é isso, qualquer dúvida estarei à disposição.

Obs: Em breve pretendo migrar o blog para wordpress ou algum outro que permita fazer tutoriais mais facilmente.

03/03/2010

Hospedagem gratuita no Heroku

Bem amigos, cá estou para divulgar hospedagem gratuita de Ruby on Rails, o @heroku !
Excelente por ser gratuito, apesar de eu não ter tido um tempo legal para testar, tive boas recomendações e para fazer o deploy é muito simples.
Bom, vamos ao que interessa, as configurações:

- Primeiro, devemos instalar a gem do heroku:
sudo gem install heroku

- Crie um novo repositório git para sua app(caso ainda nao tennha criado):
cd "sua_app"
git init && git add . && git commit -m "first commit"

- Criar uma nova aplicação heroku:
heroku create
Created http://sharp-autumn-42.com/ | git@heroku.com:sharp-autumn-42.git
Git remote heroku added

Obs: O nome da app(sharp-autumn) é gerado automaticamente, depois mostrarei como é simples renomear.

git push heroku master

- Executar migrations:
heroku rake db:migrate

- Abrir app no seu navegador:

heroku open

- Para renomear sua app é simples, basta executar:


heroku rename novonome --app nomeantigo
http://novonome.heroku.com/ | git@heroku.com:novonomoe.git

Sua app vai ficar com o seguinte endereço: http://novonome.heroku.com

Bem simples não ?
Até a próxima !

27/02/2010

Curso na @egenial

Olá galera, peço desculpa pela ausência, mas depois de muito tempo, acredito que voltarei a postar com uma frequência maior. Também estou pensando em migrar o blog, mas por enquanto continuo por aqui.

Segunda-feira, dia 01/03, começo curso de ruby on rails 2.3.5 na @egenial !!! Provável que eu poste considerações à respeito das aulas do curso. Curso este que tive excelentes recomendações de amigos e fóruns, sem contar que os mesmos também deram boas recomendações à respeito do instrutor do curso o @danielvlopes.

Aguardem novas postagens sobre o curso.

Até breve !

08/12/2009

Falta de tempo

Pessoal, desculpe a ausência nas postagens, mas ultimamente, o tempo tem sido raro...
Bom, vou aqui recomendar uma boa leitura para RoR, estou estudando através do: http://livro.urubatan.com.br/

O livro é bom para iniciantes, ainda não finalizei(devido à falta de tempo também), mas estou satisfeito até o momento. O livro, como a grande maioria, possui algumas erratas, basta pesquisar no google.

Outra fonte de conhecimento que recomendo e que fiquei bem animado quando soube de sua liberação:
http://blog.caelum.com.br/2009/12/02/apostila-de-ruby-on-rails-rr-71-liberada-para-download/

Bom, acho que não preciso falar muito da Caelum e seus materiais e treinamentos não é mesmo pessoal ?

Desculpem pela falta de tempo, mas vou me comprometer à postar algo mais técnico no próximo post.

Até breve !

11/10/2009

Linguagem Ruby

Olá a todos !
Para aqueles que estão se interessando por Ruby on Rails, é necessário que no minimo tenha uma boa noção de orientação à objetos. Aos que já possuem essa noção aqui vai uma dica para o aprendizado da linguagem Ruby em si. São os tutoriais do Akita on Rails:

Parte1: http://akitaonrails.com/2008/11/10/micro-tutorial-de-ruby-parte-i
Parte2: http://akitaonrails.com/2008/11/10/micro-tutorial-de-ruby-parte-ii
Parte3: http://akitaonrails.com/2008/11/10/micro-tutorial-de-ruby-parte-iii

Pretendo em breve postar particularidades do framework Rails. Iniciei com o material de Ruby pois faz mais sentido aprender a linguagem primeiro para depois partir para o famework.

Até breve.

03/10/2009

Evitando a SQL Injection

Olá galera, estou aqui agora para falar sobre um problema muito comum que acontece no mundo dos desenvolvedores, o sql injection. Que nada mais é do que o usuário inserir código malicioso(SQL) em um campo de seu site, software ou o que seja.
Por exemplo, se você faz em algum momento a determinada consulta:
User.find(:all, :conditions => "name = '#{params[:name]}'")
Isso possibilita o usuário a inserir um código malicioso através de sua consulta, ou seja, o usuário pode digitar no campo "name" o seguinte:
'; DELETE FROM PROJECTS; SELECT * from projects where '1'='1

Reultando em:

SELECT * FROM users WHERE name = ''; DELETE FROM USERS; SELECT * from users where '1'='1'

Vixxxx alguém deletou todos os dados da sua tabela de usuários. Mas calma, a solução para este
problema é bem simples, basta ao invés de passar toda a condição com uma string, passa-se um um
array ou um hash:

array:
User.find(:all, :conditions => ["name = ?", params[:name]])

hash:
User.find(:all, :conditions => {:name => params[:name]})

Pequenos detalhes como este são bem relevantes para nós desenvolvedores.

Até a próxima !

Objetivo do blog

Olá a todos, neste primeiro post, falarei apenas sobre o objetivo deste blog que é divulgar para todos links, artigos e tutoriais interessantes sobre Ruby on Rails.
Estou estudando bastante ultimamente e gostaria de compartilhar com todos o que encontro de interessante na web.

Abraços !