Instalando o memcached no Mac OS X
10/07/08
O memcached é um sistema distribuído de cache em memória utilizado por muitos sites com tráfego intenso como Youtube, Wikipedia e Digg.
Para instalá-lo no Mac OS X Leopard, siga os passos abaixo, que seguem a velha receita de bolo configure-make-install.
Iniciando a instalação
Antes de instalar o memcached, é preciso instalar a biblioteca libevent. Acesse o site http://monkey.org/~provos/libevent/ e faça o download da última versão. Após extrair seus arquivos, execute os comandos abaixo para compilar e instalar esta biblioteca.
cd libevent-1.4.5-stable
./configure
make
sudo make install
Agora, você pode instalar o memcached propriamente dito! O código-fonte do memcached pode ser encontrado em http://www.danga.com/memcached/. Faça o download e, depois de extrair os arquivos, execute:
cd memcached-1.2.5
./configure
make
sudo make install
Se você pretende utilizar o memcached em uma aplicação Ruby on Rails, você precisa instalar a gem de mesmo nome. Antes, você precisa instalar a biblioteca libmemcached. Acesse o site http://download.tangent.org/ e faça o download da última versão. Extraia os arquivos e execute os comandos abaixo.
cd libmemcached-0.21
./configure
make
sudo make install
E para finalizar, instale a gem memcached.
sudo env ARCHFLAGS="-arch i386" gem install memcached - Permalink
- Trackback
- Comentários (0)
- Ao som de: Kay Hanley – Mean Streak
Criando objetos de dados com OpenStruct
06/07/08
Imagine que você tenha um hash cujos atributos serão chamados muitas vezes durante um trecho de código.
user = {
:name => 'John Doe',
:blog => 'http://bleedingfromtheinside.com',
:style => 'from uk'
}
puts user[:name]
puts user[:blog]
puts user[:style]
O hash, embora útil, ainda não é a forma mais prática.
Seria muito mais conveniente se você pudesse acessar cada um dos atributos como se fossem métodos.
Algumas pessoas que não conhecem a linguagem muito bem iriam estender a classe Hash, sobrescrevendo o método
method_missing, como já vi algumas implementações por aí.
Mas como você é um cara esperto, iria utilizar o OpenStruct.
O OpenStruct permite que você crie objetos com atributos que não estão atrelados a uma classe, mas ainda assim respondem como se fossem métodos, com getters e setters.
require 'ostruct'
user = OpenStruct.new({
:name => 'John Doe',
:blog => 'http://bleedingfromtheinside.com',
:style => 'from uk'
})
puts user.name
puts user.blog
puts user.style
Muito melhor! Os atributos também podem ser modificados. Basta atribuir um valor qualquer.
user.style = 'emo'
Conheça a linguagem que está programando. O Ruby é muito simples de ser adaptado às suas necessidades, mas se você não conhecer a linguagem irá reinventar a roda e, quase sempre, sua solução não será a melhor nem a mais rápida.
- Permalink
- Trackback
- Comentários (0)
- Ao som de: Propagandhi – A Public Dis-service Announcement From Shell
Redimensionando imagens com Ruby e Image Science no Mac OS X
02/07/08
Se você precisa criar miniaturas de imagens com Ruby, esqueça o RMagick. Embora ele tenha muito mais funcionalidades que, convenhamos, quase ninguém usa, chegou a hora de conhecer o Image Science que, segundo seus autores, não sofre dos mesmos problemas de memory leak que o RMagick.
O Image Science possui algumas funções específicas para a geração de miniaturas, como redimensionamento e crop, utilizando o Free Image. Segundo os criadores do projeto, ele não sofre dos mesmos problemas de memory leak que RMagick.
Como instalar
Para instalar o Free Image, você precisará do XCode. Não se esqueça de adicionar o SDK para o Mac OS X 10.3.9, que não vem selecionado por padrão.
Instalando o Free Image
Baixe o código-fonte do Free Image na página do projeto SourceForge. A versão que instalei foi a 3.10.0.
Após extrair os arquivos, abra o arquivo "MakeFile.osx" e altere as linhas abaixo de
LIBRARIES_PPC = -Wl,-syslibroot /Developer/SDKs/MacOSX10.3.9.sdk
LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.4u.sdk
para
LIBRARIES_PPC = -Wl,-syslibroot /Developer/SDKs/MacOSX10.3.9.sdk/usr/lib
LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.4u.sdk/usr/lib
Agora, basta compilar!
make
sudo make install
Instalando o Image Science
Para finalizar, basta instalar o Image Science.
sudo gem install RubyInline
sudo gem install image_science
O Image Science é muito simples. Para redimensionar imagens proporcionalmente, limitando o maior tamanho, faça algo como o exemplo abaixo.
ImageScience.with_image(file) do |img|
img.thumbnail(100) do |thumb|
thumb.save "picture-thumb.jpg"
end
end
Se você quiser redimensionar a imagem sem se preocupar com a proporção, você pode usar o método resize.
ImageScience.with_image(file) do |img|
img.resize(100, 150) do |thumb|
thumb.save "picture-thumb.jpg"
end
end
E, por último, existe o método cropped_thumbnail, que recorta a imagem no tamanho especificado.
ImageScience.with_image(file) do |img|
img.cropped_thumbnail(100) do |thumb|
thumb.save "picture-thumb.jpg"
end
end - Permalink
- Trackback
- Comentários (1)
- Ao som de: Propagandhi – A Public Dis-service Announcement From Shell
