Instalando Imagemagick no Mac OS X com o Homebrew

Aqui um post sobre como instalar o Imagemagick no Mac OS X usando o Homebrew:

Install the RMagick gem in the painless way with Homebrew

Ele diz ser necessário editar a fórmula do brew little-cms antes de instalar (Passo 3a), mas eu instalei na minha máquina sem editar a fórmula e deu tudo certo.

A única coisa que tive que fazer que não está no post foi instalar o Git:


$ sudo brew install git

Também instalei o Subversion antes de instalar o Imagemagick só pra garantir:


$ sudo brew install subversion

Usei o Homebrew ao invés do Macports, mais tradicional. Aqui o que me levou a usar o Homebrew:

Homebrew vs. MacPorts

How to install ported Linux software on a Mac? (MacPorts, Fink, anything better?)

CKEditor no Rails

Para usar o CKEditor no Rails existe um plugin chamado rails-ckeditor (dã…).

O site do projeto é esse:
http://github.com/galetahub/rails-ckeditor

Para instalar é bem simples:

$ ./script/plugin install git://github.com/galetahub/rails-ckeditor.git
$ rake ckeditor:install
$ rake ckeditor:config

Para utilizá-lo basta adicionar esse código no começo da página que o ckeditor será utilizado:

<%= javascript_include_tag :ckeditor %>

E adicionar o ckeditor propriamente dito:

<%= ckeditor_textarea("object", "field", :width => '100%', :height => '200px') %>

Também é possível usar o form helper:

   ...
   <%= form.cktext_area :notes, :toolbar=>'Full', :width=>'400px', :heigth=>'200px' %>
   ...

Mais informações no site do projeto.

Ruby: Limpando dados de entrada

Três métodos da Classe String são bem interessantes para fazer uma limpeza numa string que veio como entrada de um formulário.

  • strip

Essa função retira espaços no final e no início de uma string. Em outras lingauagens é conehcida como trim().

Exemplo:

str = "   123.456.789-12     "
str.strip   #=> "123.456.789-12"

Dica: strip! faz o mesmo, só que alterando a string original

  • gsub(pattern, replacement)

O método gsub substitui qualquer caracter ou conjunto de carecteres que correspondam ao padrão (pattern) pelo segundo parametro do método (replacement). Na documentação da classe string, o padrão (pattern) é mostrado como uma expressão regular, o que com certeza mostra o poder do método gsub. Porém, se você quiser uma solução mais simples, também pode colocar como pattern apenas uma string. Em PHP seria o equivalente à função str_replace() ou em Visual Basic à função replace()

Exemplo:

str = "123 456 789 12"
str.gsub(' ', '')   #=> "12345678912""ola mundo!".gsub(/[aeiou]/, "*")
#=> "*l* m*nd*!"

Dica: Como o método strip!, o método gsub! altera a string original.

  • squeeze([string])

O método squeeze retira caracteres repetidos em uma string.

Exemplo:

str = "MMMMMaria"
str.squeeze   #=> "Maria"

str2 = "Pedro   da  Silva   Morais"
str2.squeeze   #=> "Pedro da Silva Morais"

É preciso ter cuidado ao usar esse método, pois nem sempre queremos retirar caracteres repetidos de uma string.

Exemplo:

str = "Maria do Socorro Navarro"
str.squeeze   #=> "Maria do Socoro Navaro"

Para evitar esse tipo de problema e ainda retirar os espaços duplicado no meio de uma string, o método squeeze aceita como parâmetro uma string, nesse caso um espaço em branco.

Exemplo:

str = "Maria    do   Socorro    Navarro"
str.squeeze(' ')   #=> "Maria do Socorro Navarro"

Dessa forma, apenas os espaços repetidos no meio da string são removidos.

Dica: o método squeeze! também é válido e altera a string original.

Como Ruby é uma linguagem Orientada a Objetos, é possível facilmente utilizar vários métodos de uma só vez.

Exemplo:

str = "    123 456 789 21   "
str.strip.gsub(' ', '')   #=> "12345678921"

str2 = "   Maria   Socorro Navarro  da Silva   "
str2.squeeze(' ').strip   #=> "Maria Socorro Navarro da Silva"

Mais informações na documentação do Ruby:

http://ruby-doc.org/core/classes/String.html

Cedilha no Ubuntu 10.04 e teclado US Internacional

Sempre que faço uma instalação nova do Ubuntu, ou mesmo quando há alguma atualização da GTK, tenho um problema não muito grave, mas que é chato: a cedilha não funciona como deveria. Ou seja com a combinação de teclas: ‘ + c

Existe uma outra combinação de teclas que resulta a cedilha: AltGr + ,

Mas prefiro a tradicional.

Para configurar o Ubuntu para usar a combinação ‘ + c para a cedilha:

1. Edite o arquivo /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules
$ sudo gedit /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules

2. Procure o bloco de código:
“/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so”
“cedilla” “Cedilla” “gtk20″ “/usr/share/locale”
“az:ca:co:fr:gv:oc:pt:sq:tr:wa”

3. Adicione um “en” no final da última linha, ficando assim:
“/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so”
“cedilla” “Cedilla” “gtk20″ “/usr/share/locale”
“az:ca:co:fr:gv:oc:pt:sq:tr:wa:en

4. Salve o arquivo, faça logout e login novamente.

A cedilha deve estar funcionando.

Ruby on Rails e Ubuntu 10.04 – Configurando ambiente para desenvolvimento

Atualizado [07/07/2011]: Post atualizado para o Rails 3.0.7

Uma pequena orientação sobre como configurar um ambiente de desenvolvimento para Ruby on Rails no Ubuntu 10.04.

O que vai ser instalado:

  • Ruby
  • Rubygems
  • Rails
  • Gem RMagick + Imagemagick
  • Eclipse + Aptana Studio 3 plugin
  • SQLite3
  • MySQL
  • Cliente para conexão com o Oracle

Após seguir esses passos você será capaz de desenvolver aplicações Ruby on Rails no Ubuntu sem problemas.

Configurando Ambiente para Desenvolvimento em Ruby on Rails:

Pacotes Básicos

- Aptitude

$ sudo apt-get install aptitude

- Pacote de Compiladores (necessários para instalar algumas gems)

$ sudo apt-get install build-essential

- Ruby:

$ sudo aptitude install ruby-full rdoc irb libyaml-ruby libzlib-ruby ri libopenssl-ruby

- RubyGems

$ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.5.tgz
$ tar -zxvf rubygems-1.8.5.tgz
$ cd rubygems-1.8.5.tgz
$ sudo ruby setup.rb
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem #(1.8 é a versão do Ruby instalada)
$ sudo gem update --system

- Rails

$ sudo gem install rails

- Imagemagick

$ sudo aptitude install imagemagick libmagick++-dev
$ sudo gem install rmagick

Ambiente de desenvolvimento (IDE)

Recomendo o Aptana Studio 3, que pode ser baixado no link abaixo, junto com o eclipse ou como um plugin:
http://aptana.com/products/studio3/download

- Aptana Studio 3 plugin for Eclipse

Download do Eclipse:
http://www.eclipse.org/downloads/packages/eclipse-classic-37/indigor

  1. No Eclipse acessar: Help > Install New Software
  2. Clicar em Add
  3. Adicionar:
    • Name: Aptana Studio
    • Location: http://download.aptana.com/studio3/plugin/install
  4. – Clicar em Next até concluir a instalação
  5. – Reiniciar o eclipse e instalar as gems que ele recomenda

Bancos de dados

- SQLite3

$ sudo aptitude install sqlite3 libsqlite3-dev
$ sudo gem install sqlite3-ruby

- MySQL

$ sudo aptitude install mysql-server mysql-client libmysqlclient15-dev
$ sudo gem install mysql mysql2

Cliente Oracle

- Instalar Linux kernel AIO access library – shared library:

$ sudo aptitude install libaio1

- Fazer o download dos pacotes: ( 32-bits ou 64-bits ):

  • instantclient-basic-linux32-11.2.0.1.zip ou oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
  •  

  • instantclient-sdk-linux32-11.2.0.1.zip ou oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip
  •  

  • instantclient-sqlplus-linux32-11.2.0.1.zip ou oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
  •  

- Descompactar todos em /opt 32-bits:

$ sudo unzip instantclient-basic-linux32-11.2.0.1.zip -d /opt/oracle/
$ sudo unzip instantclient-sdk-linux32-11.2.0.1.zip -d /opt/oracle/
$ sudo unzip instantclient-sqlplus-linux32-11.2.0.1.zip -d /opt/oracle/

64-bits:

$ sudo unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip -d  /opt/oracle/
$ sudo unzip oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip -d  /opt/oracle/
$ sudo unzip oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip -d /opt/oracle/

- Criar links simbólicos:

$ cd /opt/oracle/instantclient11_2
$ sudo ln -s libclntsh.so.11.1 libclntsh.so
$ sudo ln -s libocci.so.11.1 libocci.so

- Abrir o arquivo de configuração de bibliotecas:

$ sudo nano /etc/ld.so.conf

- Adicionar, salvar e sair:

/lib
/opt/oracle/instantclient_11_2/

- Executar ldconfig

$ sudo ldconfig

- Instalar gems necessárias:

$ sudo gem install ruby-oci8
$ sudo gem install activerecord-oracle_enhanced-adapter

Referências:

http://docs.aptana.com/docs/index.php/Installing_RadRails_on_Ubuntu_Linux#Installing_as_a_non-root_user

http://eddymulyono.livejournal.com/76656.html

http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html

http://www.modrails.com/install.html

http://www.rubyenterpriseedition.com/download.html

Olá, mundo!

É, esse título é o padrão do WordPress, mas já diz tudo.

Aqui é onde vou começar a postar minhas anotações e observações.