terça-feira, 28 de julho de 2009

Rails Summint 2009

Quem vai?

Rails Summit 2009

Inscrições abertas, garanta já sua vaga!

quarta-feira, 15 de julho de 2009

Instalando Gems através do Git

Esse post é uma tradução/adaptação do original "Installing Gems from Git" disponível no Ruby.About.com.

Muitas gems são hospedadas em repositórios git, tais como o repositório público Github. Entretanto, para pegar a última versão, frequentemente não há gems construídas para você instalar com facilidade. Embora, instalar através do git seja fácil.

Primeiro você deve entender o que o git é. Git é o quê os desenvolvedores de código usam para acompanhar o código-fonte e colaborar ao mesmo tempo. Git não é um mecanismo de lançamento de versões. Por isso é importante notar que a versão do software que você pega do git, pode ou não ser estável. Essa não é uma versão lançada, e pode conter bugs que podem ser corrigidos antes da próxima versão oficial.

A primeira coisa que você deve fazer a fim de instalar gems através do git é instalar o git. Essa página do livro do Git explica como fazer isso. É bastante simples em todas as plataformas, e uma vez que é instalado, você têm tudo que você precisa.

Instalar uma gem através de um repositório Git pode ser feito em 4 passos.

  1. Clone o repositório Git.
  2. Mude para o novo diretório.
  3. Construa/Compile a gem.
  4. Instale a gem.


Clone o repositório Git

Na linguagem Git, "clonar" um repositório git é fazer uma cópia dele. Nós faremos uma cópia de um repositório do RSpec no github. Esta cópia será uma cópia completa, o mesmo que os desenvolvedores terão em seus computadores. Você pode até mesmo fazer alterações (embora você não será capaz de "commitar", enviar essas alterações de volta para o repositório).

A única coisa que você precisa para clonar um repositório git é a URL git. Isso está disponível na página do RSpec no github. A URL para clonar o RSpec é: git://github.com/dchelimsky/rspec.git. Agora simplesmente use o comando "git clone" com o URL fornecida.


$ git clone git://github.com/dchelimsky/rspec.git



Isso irá clonar o repositório do RSpec dentro de um repositório chamado rspec. Esse diretório deve sempre ser o mesmo que a parte final da URL clone (menos a parte .git).

Mudando para um novo diretório

Esse passo, também, é muito simples. Simplesmente mude mude para o novo diretório criado pelo Git.


$ cd rspec


Compilando/Construindo a Gem

Esse passo é um pouquinho mais complicado. Gems são compiladas/construídas usando o Rake, usando uma tarefa chamada "gem".


$ rake gem


Embora possa não parecer simples. Quando você instala uma gem usando o comando gem, silenciosamente, "por trás das cenas", alguma coisa está sendo feita de importante: Checagem de dependências. Quando você rodaro comando, ele pode retornar uma mensagem de erro dizendo que precisa instalar outras gems, ou que você precisa atualizar uma gem já instalada. Instale ou atualize essa gem usando o mesmo comando gem, ou instalando-a pelo git. Você pode ter de fazer isto várias vezes dependendo de quantas dependências a gem tenha.

Instale a Gem


Quando o processo de construção/compilação é completada, você terá uma nova gem no diretório pkg. Simplesmente dê o path relativo para esse arquivo .gem com o comando gem install. Você precisará de privilégios de ardministrador para fazer isso no Linux ou OSX.


$ gem install pkg/gemname-1.23.gem


A gem agora está instalada e pode ser usada como qualquer outra gem.


[]'s

sexta-feira, 10 de julho de 2009

Trabalhando com Gems no Ruby/Rails

Esse post é uma tradução/adaptação do original "Adding and Installing Gems from the Ruby Gems Repository" disponível no Ruby.About.com

Você pode adicionar e instalar Ruby Gems através de procura no repositório do Ruby Gems. Simplesmente rode o comando "gem search". Por padrão, Ruby Gems faz a procura apenas no seu repositório local -- as gems que você tem instalada. Enquanto isso pode ser muito útil para procurar gems já instaladas, isso geralmente não é a intenção de quando se roda o comando search. Para procurar em repositórios remotos, adicione --remote ou -r ao comando.

O forma básica de uma procura com o Ruby Gems é uma simples pesquisa de um termo sem outro argumento que não seja o --remote. O termo pesquisado será comparado com todas as Gems no repositório e seus resultados incluirão respostas aproximadas. Por exemplo, procurando por cloth isso inclui as gems "RedCloth" e "BlueCloth".

Abaixo temos um exemplo de procura por cloth. Uma quantidade de gems são listadas, bem como as sua versão atual. Essa saída pode ser alterada conforme as indicações abaixo.



$ gem search --remote cloth

*** REMOTE GEMS ***

BlueCloth (1.0.0)
ClothRed (0.4.1)
mediacloth (0.0.3)
RedCloth (3.0.4)


O número de argumentos pode ser fornecido para definir qual os resultados devem ser impressos no terminal. A lista completa desses argumentos podem ser acessada rodando o comando "gem help search". Outros tópicos de ajuda podem ser visualizados quando é rodado o comando "gem help".

  • -d, --details - Mostra as descrições das RubyGem bem como os nomes das gems e suas versões. Isso particularmente é útil quando você está procurando por gems relacionadas a um dado tópico. Por exemplo, quando estamos procurando por gems que trabalham com arquivos PDF, se você não tem uma gem específica em mente, procure por gems com PDF em seu nome e lendo as descrições você pode ter uma ideia do que está disponível.

  • --local, --remote, --both - Define onde o RubyGems deverá procurar as gems.

  • -a, --all - Mostra todas as versões da gem no repositório. Quando um desenvolvedor atualiza a versão de uma gem, a gem antiga não é deletada, desde que isso possa ser necessário (às vezes) para instalar uma versão anterior da gem. Usando esse parâmetro o RubyGems mostrará todas as versões da gem que estão no repositório.


Instalando Gems

Para instalar gems, você deve ter acesso de escrita. No Linux ou OS X, isso significa torna-se root/administrador no terminal ou usar o comando "sudo" para ordar a RubyGems como root/administrador. Os exemplos abaixo mostrarão como fazer isso com o "sudo", você precisará se reportar à documentação do seu sistema operacional para instruções de como rodar coisas como root/administrador. No Windows, você não precisará rodar o comando gem como um usuário administrador se, no seu HD, você tiver acesso de escrita na pasta da gem.

Instale gems com o comando "gem install". Com o comando "search", adicionar o parâmetro"--remote" é necessário. Você pode também fornecer o nome completo, não apenas o termo pesquisado como você fez com o comando de busca. Lembre-se que os nomes são também "case sensitive": "redcloth" não é o mesmo que "RedCloth".




$ sudo gem install RedCloth
[sudo] password for username:
Updating metadata for 52 gems from http://gems.rubyforge.org/
....................................................
complete
Successfully installed RedCloth-3.0.4
1 gem installed


Você pode também instalar uma versão específica de uma gem. Por exemplo, pode ser que você queira instalar uma versão anterior do RedCloth porque uma nova versão tem um bug ou quebra um recurso que você precisa usar. Nesse caso, você pode usar o parâmetro "--version", primeiro use o comando com o parâmetro "--all" para verificar quais versões estão disponíveis.





$ gem search --remote --all redcloth

*** REMOTE GEMS ***

Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
RedCloth (3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.0.11, 2.0.10,
2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2)



Neste exemplo, uma das últimas versões instaladas da série 2.x, 2.0.11. O parâmetro "--version" pega a "string versão" como um argumento. Uma string de versão tem um operador seguido por um número de versão. O operador pode ser apenas = (o sinal de igual) que significa que você deseja instalar a versão exata gema, mas também pode ser algo do tipo >= (maior ou igual a) para significar que você deseja instalar essa versão ou de qualquer versão mais recente.



$ sudo gem install --version '= 2.0.11' RedCloth
Bulk updating Gem source index for: http://gems.rubyforge.org/
Successfully installed RedCloth-2.0.11
1 gem installed

Compartilhando a tela/desktop do MacOs X com o Windows

Essa dica rápida é pra quem, como eu, precisa acessar seu Mac através do Windows. No meu caso por conta do trabalho uso um terminal Windows, mas fico sempre querendo fazer alguma coisa no macbook que sempre está ao lado, e por isso, pra não ficar indo de um computador para o outro resolvi acessar o Mac através do Windows, que aqui por sinal tem um generoso monitor de 24'', então espaço no desktop é o que não vai faltar.

Pra quem quer fazer o inverso, Mac -> Windows é só suar o prórpio RDesktop que a microsoft disponibiliza.

A pergunta então é como acessar na sequência Windows -> Mac. O procedimento também é bem simples. Siga os passos:

1) Acesse o "System Preferences" do seu Mac.


2) Acesse a opção "Sharing".
3) Nesse momento marque a opção "Screen Sharing" e clique em "Computer Settings". Verifique que existe a opção "VNC Viewers may control screen with password", então marque essa opção e digite uma senha de acesso.


4) Agora, já no Windows, instale qualquer visualizador VNC, nesse caso estou utilizando o RealVNC.

5) Após intalado abra o RealVNC e nesse momento apenas uma única dica. Clique em "Options", e selecione na guia "Colour & Encoding", na área "Colour level" a opção "Full(all avaliable colours)".





6) Pronto, agora é só digitar o IP do seu Mac e em seguida é solicitada a senha, aquela que você definiu no passo 3.


7) Agora é só partir pro abraço!


[]'s

segunda-feira, 6 de julho de 2009

Por que usar MacOs X?

O título acima pode parecer propaganda grátis do Mac/Apple, mas acredite, estou escrevendo porque tenho respondido muito essa pergunta ultimamente.

Isso mesmo, desde que comprei meu mac muitas pessoas já torceram o nariz, e muitas outras me perguntam porque resolvi encarar essa.


A resposta, para ser entendida, merece uma boa explicação, então, de tanto explicar a mesma coisa, resolvi escrever aqui.

Bom, eu costumo dizer que a ascenção natural de um "ser informático normal" é Windows, Linux (Ubuntu geralmente), Linux com Windows emulado e por fim MacOs X. Só em dizer isso muitos já arregalam os olhos ou torcem o nariz, mas a explicação é mais que lógica e normal.


Imagine que praticamente todos os seres que hoje usam computador iniciaram sua vida digital em cima do Windows, salvo claro exceções de pessoas que já tinham uma outra forma de contato direto com outras plataformas, mas geralmente se começa nele. Após o uso exaustivo, e depois de conhecer todos os caminhos e manhas desse SO, eis que o usuário começa a notar que o Windows é bom, isso mesmo, ele é bom até o momento em percebemos que não existe Windows sem Spyware, Vírus, Malwares, ou qualquer outra praga digital, é comum hard users do Windows tirarem um tempinho pra desfragmentar o disco, fazer limpeza do registro, passar um anti-spyware, anti-vírus e por aí vai, não tem como, eu que fui usuário durante um bom tempo sou a prova viva disso.


Depois dessa fase o usuário quer se libertar, e procurando soluções descobre o Linux e tenta recomeçar a vida digital pois é um novo mundo, tudo é diferente, muitos conceitos novos, muitas dúvidas surgem, e nessa hora posso dizer que o Ubuntu tornou muito viável a curva de aprendizado do Linux, obviamente o basicão de que se precisa para usá-lo dia-a-dia.


A fase Linux é muito legal, você descobre que pode viver sem pragas digitais e que os recursos dos seu computador são realmente grandes, 2GB de RAM apenas pra o Ubuntu é um mar quase infindável de espaço disponível, mas nem tudo é um mar de rosas, após descobrir esse novo mundo e de certa forma dominá-lo, o usuário começa a sentir falta de alguns softwares que ele já tinha se acostumado e que até usava profissionalmente, Adobe PhotoShop, Dreamweaver, Flash, Word, Excel, etc, etc... É claro que alguns vão dizer, "ahh, mas existem similares no Linux", e é verdade, pra tudo que temos em outras plataformas o Linux tem um similar, e isso não é ruim, é ótimo, até porque na maioria das vezes é free. O grande detalhe é que apesar das similaridades, você precisa aprender tudo novamente e na maioria das vezes ficar "fora do fluxo", isso mesmo, pois quem trabalha com imagens profissionalmente, quase que não pode sonhar em enviar uma arte feita no GIMP para a gráfica, tem que ser em PhotoShop senão a gráfica não aceita, e assim você começa a perder as esperanças, acha que vai ter q voltar para o martírio do Windows, mas no fim do túnel surge uma luz.


Exatamente! Agora podemos virtualizar computadores dentro de outros computadores. Com tantos recursos de memória RAM e disco disponíveis, a coisa mais simples é virtualizar uma máquina rodando o Windows dentro do Linux usando por exemplo o VirtualBox (um ótimo virtualizador, grátis por sinal), e isso mais uma vez abre um novo mundo, você volta a usar os programas que precisa e fica livre de pragas digitais, pois todo acesso a rede pode ser feito pelo Linux, deixando o Windows apenas para o trabalho real.


Muitas pessoas convivem com isso anos e mais anos, e porque não dizer por toda vida, eu mesmo passei um tempo assim e RECOMENDO SIM para todos que precisam se livrar das pragas, mas precisam ou são obrigados a usar o Windows.

Por fim, chega o MacOS X, e muitos perguntam, "Mas você já tem tudo que precisa no modo anterior Linux + Windows Virtualizado", e a resposta é SIM, COM CERTEZA, mas falta algo, como unir o melhor dos dois mundo de forma real e natural, isso mesmo! Como usar o ambiente "higienizado" mas que rode tudo nativo, sem precisar de firulas ou arrodeios? Simples, use um Mac!


Minha visão do MacOS X é essa, o melhor dos dois mundos, e por quê não dizer dos 3 mundos! :)

Com um Mac você vai poder ter um ambiente .NIX. Isso quer dizer que vai poder usar todo prompt/shell do linux, usar programas compilados com o MAKE e por aí vai. Nele você vai poder também utilizar toda a família Adobe (PhotoShop, Flash, Dreamweaver) e também o famoso pacote Office de forma nativa.



É claro que não existem todos os programas nativos para ele, mas, existem bem mais que no Linux e isso ajuda bastante. E, se por acaso você precisar do Windows ou Linux, basta virtualizar no VirtualBox mais uma vez.


É claro, que ao entrar nessa mais um novo mundo se abre, e posso dizer, você se surpreende muito com o que já existe em um mac, e muitas vezes fica a pensar o porquê de os outros SO não implementarem tais facilidades.

Bom, é óbvio que essa é minha opinião, e cada um tem suas necessidades, tentei apenas mostrar minha visão e como tudo aconteceu no meu caso.

É isso!

[]'s