Arquivo para 'Desenvolvimento'

Introdução ao jQuery

O jQuery é uma biblioteca JavaScript poderosa que está quase se tornando quase “sinônimo” do próprio JavaScript.

A apresentação de slides a seguir é de uma palestra introdutória do jQuery, que destaca praticamente todos os seus recursos e que mostra algumas modificações na versão mais recente da biblioteca (1.7).

E para quem quiser se aprofundar no assunto, o último slide aponta para um livro gratuito de jQuery: jqfundamentals.com.

(Registro aqui o agradecimento ao Erko Bridee por compartilhar esse conteúdo)

Rodando uma aplicação em Rails 3 na Dreamhost

Outro post rápido: para fazer sua aplicação em Rails 3 funcionar em uma hospedagem compartilhada na Dreamhost use o RVM para garantir que suas gems ficarão “em paz” no diretório do seu usuário (caso contrário o Passenger emitirá um erro de acesso proibido ao diretório /root/.gems) e depois configure sua aplicação para dizer onde estão suas gems. Eu explico:

1) Acesse sua hospedagem na Dreamhost via SSH.
2) Instale o RVM como um usuário (siga o passo-a-passo), e não como root.
3) Configure sua aplicação para que o Passenger saiba onde procurar suas gems, incluindo os seguintes comandos no início do arquivo config.ru:

ENV['GEM_HOME'] = '/caminho/para/suas/gems'
require 'rubygems'
Gem.clear_paths

Onde ‘/caminho/para/suas/gems’ deve ser subsituído pelo GEM_HOME usando o RVM. Por exemplo, se você instalou o ruby 1.8.7 (usando rvm install 1.8.7) e um gemset chamado meugemset, o caminho para suas gems vai se parecer um pouco com isto: /home/USUARIO/.rvm/gems/ruby-1.8.7-p330@meugemset

Edit @ 6/mar/2010: Ontem a Dreamhost anunciou que agora já suporta Rails 3, e a versão corrente nos servidores é a 3.0.3.

Resolvendo problemas com Rails, RVM, openssl e readline no Ubuntu

Se você está começando a trabalhar com RVM no Ubuntu, pode encontrar alguns problemas de configuração quando tentar executar o script/console (Rails 2.x), como por exemplo:

no such file to load -- readline (LoadError)

ou ainda

no such file to load -- openssl (LoadError)

O site oficial do RVM oferece uma solução, mas que não se aplica a todos os ambientes.

Para resolver esse problema é necessário fazer o seguinte:

1) Instale as bibliotecas do openssl e do readline via apt:

$ sudo apt-get install libreadline6 libreadline6-dev openssl libssl0.9.8 libssl-dev libopenssl-ruby

2) Remova a versão instalada do Ruby via RVM e reinstale indicando os diretórios do readline e do openssl:

$ cd <diretório do seu projeto Rails>
$ rvm remove 1.8.7
$ rvm install 1.8.7 --with-readline-dir=/usr/include/readline/ --with-openssl-dir=/usr/include/openssl/

Este exemplo aplica-se à versão 1.8.7 do Ruby no Ubuntu 10. Faça as adaptações necessárias para adequar ao seu ambiente. Esta solução foi testada com a versão 2.3.10 do Rails – acredito que pode ser aplicada a outras versões também.

Funcionou com você em outras configurações? Deixe um comentário!

Livro: Google Android

Este é o primeiro livro técnico que entra na minha lista de livros “completamente lidos”. Por se tratar de um livro técnico, não tem muito o que explicar sobre ele.

É uma fonte excelente de informações sobre programação para Android, o sistema operacional do Google para celulares. Explica muito bem os conceitos básicos para que o leitor possa iniciar rapidamente a programação para aparelhos com esse sistema, desde que tenha conhecimentos prévios de Java e Orientação a Objetos. Conhecimentos básicos sobre threads com Java também ajudam a entender melhor os exemplos.

Apesar de ser um livro longo (pouco mais de 600 páginas), o autor abriu mão de detalhes que muitas vezes interessam aos programadores – por exemplo, a forma como alguns registros são armazenados no dispositivo – em benefício da cobertura de diversos assuntos diferentes, que vão desde como funciona a estrutura da API do Android até a utilização do GPS ou da câmera do aparelho. Para encontrar esses detalhes que os programadores tanto gostamos (ainda estranho a silepse…), nada melhor que a documentação do sistema.

FlexReport com o Flex4!

Alguns dias atrás eu escrevi este artigo com o título “Uma nota sobre o FlexReport” e configurei o post para que ele fosse ao ar no dia seguinte. Este ERA o conteúdo do artigo:

Há um bom tempo eu escrevi um artigo e gravei um dois screencasts sobre o FlexReport, mostrando como ele funciona(va) e como criar um relatório com ele.

Esses artigos estão entre os mais visualizados do meu blog. Até hoje eu recebo perguntas e comentários sobre como resolver algum problema com o FlexReport, como imprimir em formato paisagem, como adicionar outros formatos de papel, entre outras perguntas.

Pretendo com este post responder a todas essas questões: não usem o FlexReport. A idéia do programa é excelente, mas infelizmente o projeto foi abandonado. A última versão (0.2 RC1, se não me engano) foi lançada no começo de 2008, quando o Flex 3 ainda não tinha tanto tempo de vida. Estamos em 2010, a versão final do Flex 4 já saiu e o FlexReport não mudou nem um pouco.

Eu até pensei em ajudar a tocar o projeto, mas por falta de tempo não pude colaborar da forma que eu gostaria.

Como já estamos usando o Flex 4, vale a pena dar uma olhada nos recursos de impressão que temos disponíveis. Pode ser que ajude em alguma coisa: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf65381-8000.html

Mas quando anoiteceu eu recebi um e-mail do Douglas Marques com uma boa notícia: ele e a equipe da empresa onde trabalha atualizaram a biblioteca do FlexReport para trabalhar com o Flex 4, além de corrigir diversos bugs! Cancelei a publicação do artigo e (felizmente) substituí por este novo artigo.

Eu ainda não testei a biblioteca, mas atendendo ao pedido do Douglas estou publicando ela aqui.

A informação que eu tive é que em breve a empresa disponibilizará o código fonte.

Update @ 08/nov/2010 20h30

Atendendo a solicitações (e resolvendo uma pendência antiga), estou publicando o código-fonte que o Douglas me enviou e dando os créditos apropriadamente: os feras que fizeram a atualização foram Diogo Muller, Douglas, Lucas Zambon, Ivo Marcelo e Marcelo Mello, todos da Lactec.

Instalando sua aplicação Rails/RestfulX (e as gems) na DreamHost

Apesar dos muitos comentários negativos que ouvi por aí sobre a DreamHost, até hoje não tive problemas: mantenho este blog hospedado lá há quase um ano e não tenho do que reclamar.

Esses dias resolvi colocar uma aplicação em Flex/Rails (com RestfulX) para rodar no servidor e não tive problemas. A única “pequena dificuldade” que tive foi para entender como funciona a instalação das gems no servidor deles, o que é muito simples.

Primeiro criei um subdomínio com suporte a Passenger (o que exigia que o diretório web terminasse com “public/”), conforme screenshot a seguir:


Leia o restante do artigo

CRUD com o RestfulX – aplicação funcionando

Há alguns dias eu escrevi dois artigos sobre como realizar as operações de CRUD com o RestfulX – um falando sobre o retrieve e outro sobre o create, update e delete.

Quando escrevi o segundo artigo eu fiquei devendo mostrar para vocês a aplicação de exemplo funcionando. Pois aqui está: veja a aplicação rodando e faça seus testes!

Para ver o código fonte basta clicar com o botão direito na aplicação e escolher “View source”.

CRUD com o RestfulX: Parte 2/2 – Create, Update e Delete

No último artigo que eu escrevi sobre CRUD com o RestfulX eu falei apenas sobre como obter os dados do servidor (retrieve). Neste artigo vou mostrar como funcionam as outras “letras” do acrônimo: criar, atualizar e apagar um registro (Create, Update e Delete).

Vou continuar usando o mesmo exemplo e aproveitar os conceitos explicados anteriormente. Por isso, se você não leu o artigo anterior, sugiro humildemente que faça isso antes de prosseguir … ;-)

Leia o restante do artigo

CRUD com o RestfulX: Parte 1/2 – Retrieve

Vou criar aqui um exemplo bem simples para mostrar como funcionam as operações básicas em banco de dados, conhecidas através do acrônimo CRUD (Create, Retrieve, Update e Delete), com o RestfulX.

O projeto é simples (outro daqueles que todo mundo já fez na vida): um cadastro de eventos e participantes destes eventos. Este exemplo irá evoluindo conforme for aumentando a complexidade dos artigos.

Leia o restante do artigo

Instalação “avançada” do RestfulX no seu projeto Rails

Após criar seu projeto no Rails usando o comando rails , você pode configurá-lo para usar o RestfulX através do comando script/generate rx_config. Este comando cria todos os arquivos de configuração do RestfulX e faz o download da biblioteca do framework (arquivo restfulx_framework.1.2.4.swc, que é a versão mais recente enquanto escrevo este artigo).

Mas você também pode fazer o download do projeto restfulx_framework e incluí-lo no seu projeto no Flex Builder. Para isso, faça o download do fonte do framework usando o git: git clone git://github.com/dima/restfulx_framework.git. Agora você pode gerar os arquivos de configuração: script/generate rx_config --skip-framework. Com a opção --skip-framework, o comando generate rx_config vai gerar os arquivos de configuração mas não vai fazer o download da biblioteca do RestfulX.

Leia o restante do artigo