notas de estudo de Ruby 9/Abr/2008
Posted by Timóteo in Programação, Ruby, tutorial.Tags: guia de estudos, Ruby, ruby learning, tutorial
add a comment
a partir de hoje, temos uma nova seção: as notas de estudo de Ruby em português. são as notas de Satish Talim, traduzidas (por mim) para nosso idioma, o que torna mais fácil a vida de quem não entende inglês. Comecei hoje, então, ainda não temos muita coisa, mas, à medida que eu for traduzindo, a seção será atualizada. fiquem de olho (essa doeu), estou a todo vapor (ai!) traduzindo o tutorial, que tem mais de 120 páginas e é um ótimo guia de estudos para quem quer entrar no mundo de Ruby.
OBS: colaboradores, fiquem à vontade…
curso de ruby online 8/Abr/2008
Posted by Timóteo in Programação, Ruby.Tags: curso online, Ruby, ruby learning
1 comment so far
o programador indiano Satish Talim está oferecendo um curso de Ruby online (já vai na 5ª turma) DE GRAÇA!!! o curso é ministrado via moodle (um sistema usado para cursos à distância – depois escrevo sobre ele).
a duração é de 12 semanas e vai iniciar em 3 de maio. as inscrições ainda estão abertas (até 6 de maio) e qualquer um pode se inscrever. basta ir ao rubylearning.org, fazer o cadastro e enviar um e-mail para o Satish Talim, contendo seu nome e sobrenome cadastrados no site (o assunto deve ter o nome do curso incluso). cerca de um dia depois (ou menos), ele vai enviar uma chave para participar do curso. ao final, o participante recebe um certificado de participação.
antes de iniciar o curso, é recomendável que a gente leia (sim, eu me inscrevi) as notas de estudo disponíveis em rubylearning.com.
como nem tudo é perfeito, tem um pequeno problema, tanto no curso quanto no tutorial: são em inglês!!! o pessoal que souber inglês tem aí uma ótima fonte de aprendizado… pra quem não sabe, tem uma versão em espanhol aqui, traduzido por dois programadores mexicanos.
[EDIT] Já ia esquecendo… pra quem quer conhecer o projeto moodle e como funciona, essa é a página oficial do projeto…
PS: [off] que tal o tema novo do blog???
ruby on rails 2.0 iniciando um projeto 19/Fev/2008
Posted by Timóteo in Programação, Ruby, Software livre.Tags: rails 2.0, Ruby, Ruby on Rails
2 comments
Voltando a falar do Rails…..
Vou iniciar de novo um projeto de controle de fluxo de alunos no laboratório, usando como base os tutoriais presentes no Terminally Incoherent e no Akita on Rails. Então, vamos lá:
Depois de instalar o ruby, as gemas e o rails (veja aqui como fazer isso), vamos criar o projeto (Nota: é ainda mais fácil do que com o rails 1.2).
criando o projeto e o banco de dados
1. Não mudou nada em relação a criar o projeto. É só digitar (lembrando que o nome do projeto é relatorio):
rails relatorio
[editado]
para definir o mysql como banco de dados do projeto, pode-se colocar a opção
-d mysql
logo após o nome do projeto. No nosso caso, ficaria assim
rails relatorio -d mysql
[/editado]
2. Agora, sim, mudanças… Editar o arquivo config/database.yml, dentro da pasta do projeto (O Rails mudou o SGBD padrão para o SQLite3, então, vamos ter que modificar realmente o arquivo de definição de banco de dados para usá-lo com MySQL, que agora é da Sun). O meu arquivo ficou assim:
defaults: &defaults adapter: mysql encoding: utf8 username: root password: socket: /var/run/mysqld/mysqld.sockdevelopment: database: sits_development <<: *defaults test: database: sits_test <<: *defaults production: database: sits_production <<: *defaults
Uma coisa que eu achei legal foi a parada do “defaults”. Dá pra definir os parâmetros que são iguais para os três bancos e utilizá-los nas outras definições do arquivo, só chamando um “atalho” para a definição dos defaults.
Depois de editado o arquivo de configuração, vamos criar os bancos de dados. Prepare-se, esta é uma etapa muito complicada, que envolve códigos SQL extremamente complexos. Muito cuidado, digite no terminal, dentro da pasta do projeto:
rake db:create:all
Ué, cadê o SQL extremamente complicado? Foi pro espaço (O final do parágrafo anterior foi só pra assustar… :p). Se você estiver duvidando, abra o mysql da forma que desejar e veja que os bancos de dados foram realmente criados.
criando o scaffold e as tabelas
Vamos agora, criar as tabelas para o banco de dados. Aqui, vou criar a tabela de alunos, já que é a mais simples do nosso projeto. Esqueça o SQL, os campos serão criados dentro do script de scaffold, da seguinte forma:
script/generate scaffold Aluno cpf:string nome:string curso:string
Agora, geramos o banco de dados utilizando o comando
rake db:migrate
Se você quiser olhar no mysql, verá que a tabela alunos foi realmente criada. Tudo isso sem uma única linha sequer de SQL. Legal, né?
Criando uma rota para a página principal
Para criar uma rota, é só editar o arquivo config/routes.rb. Por enquanto, vamos definir a página de cadastro de alunos (que já foi criada automaticamente pelo scaffold) como sendo a principal. Precisamos apenas incluir a linha
map.root :controller => 'alunos'
logo abaixo de
ActionController::Routing::Routes.draw do |map|
Agora, depois de salvar o arquivo, deletamos a página public/index.html (Essa página é aquela que diz “Welcome Aboard”).
Pra ver o resultado, iniciamos o server com o comando
script/server
e verificar a aplicação no endereço localhost:3000 dentro do navegador.
ruby on rails II – começando a diversão 23/Jan/2008
Posted by Timóteo in Desenvolvimento, Programação, Ruby, Software livre.Tags: Desenvolvimento, Rails, Ruby, Ruby on Rails
add a comment
No primeiro post (aqui) de Ruby on Rails, instalamos o Ruby e o Rails. Agora, vamos à diversão.
Para criar o projeto, é só digitar o comando
rails <nome_do_projeto>
Vamos utilizar um exemplo, pra ficar mais claro. Vou fazer um relatório de uso dos PCs aqui no Laboratório da UFPE. Neste post, vou fazer o cadastro de alunos. Instalei o LAMP (Apache+PHP+MySQL no Linux. Aqui tem um tutorial) para usar o MySQL e o phpMyAdmin.
Criando o Banco de Dados
CREATE DATABASE `relatorio`;
Por enquanto, só vamos utilizar a tabela ‘aluno’, então vou criar só ela agora:
CREATE TABLE `alunos` (
`id` smallint NOT NULL AUTO_INCREMENT,
`CPF` BIGINT NOT NULL ,
`Nome` VARCHAR( 50 ) NOT NULL ,
`Curso` ENUM( 'adm', 'des', 'eco', 'eng', 'ped', 'upe' ) NOT NULL ,
PRIMARY KEY ( `id` ),
UNIQUE KEY `CPF_key` ( `CPF` )
) ENGINE = MYISAM ;
OBS: toda tabela deve ter uma chave primária de nome ‘id’, no MySQL o mais fácil é criar isto como ‘numeric auto_increment’.
Criando o projeto:
Vamos chamar o projeto de ‘relatório’. Assim, o código de criação ficaria:
rails relatorio
O rails vai criar uma pasta chamada relatório. Entre na pasta e digite:
script/server
que vai iniciar o servidor WEBrick, embutido no rails. Agora, já podemos digitar no navegador preferido (Firefox) o endereço http://localhost:3000. (sem o ponto =p). Se tudo deu certo, vai aparecer uma página com a mensagem “Welcome Aboard”, dando boas vindas. Note que tem um “link” que informa sobre o ambiente da aplicação. Aqui, estou usando ruby 1.8.6 (linux-i486), Gems 0.9.4 e rails 1.2.4.
Logo abaixo dessas informações, tem uma seção “Getting Started”, que vamos seguir agora.
1. Criar o banco de dados e editar o arquivo config/database.yml:
Já criamos o BD, então é só editar o arquivo. Com o editor de texto de sua preferência (vim), editar a seção development. Fica mais ou menos assim:
development: adapter: mysql database: relatorio username: root password: socket: /var/run/mysqld/mysqld.sock
2. Gerar os modelos e controladores:
É só utilizar o script generate, na pasta script. São duas linhas de comandos:
script/generate model aluno script/generate controller aluno
Agora já estão gerados o modelo e o controlador de aluno. Vamos, então, adicionar uma linha no arquivo app/controllers/category_controller.rb, para gerar o scaffold (é esse negócio que vai gerar um CRUD (Create, Refresh, Update, Delete) padronizado – Documentação). O arquivo vai ficar assim:
class AlunoController < ApplicationController
scaffold :aluno
end
A partir daqui, já é possível acessar o cadastro de alunos a partir do navegador, no endereço http://localhost:3000/aluno (eu precisei reiniciar o servidor WEBrick antes).
Por enquanto é só. Num post futuro, vamos customizar um pouco o cadastro de aluno.
Referências:
urubatan.com.br
API do Ruby on Rails
ruby on rails I – o início 8/Jan/2008
Posted by Timóteo in Desenvolvimento, Programação, Ruby, Software livre.Tags: Desenvolvimento, Rails, Ruby, Ruby on Rails
2 comments
O que é Ruby?
De acordo com o site oficial, Ruby é “uma linguagem de programação dinâmica, open-source com foco em simplicidade e produtividade. Tem uma sintaxe elegante que é natural de ler e fácil de escrever” (tradução livre). Resumindo: é fácil, rápida para desenvolver, poderosa, flexível e que está em pleno crescimento no mundo do desenvolvimento web. Foi criada por Yukihiro Matsumoto e divulgada em 1995. O início do boom se deu com a criação do Rails, um framework para desenvolvimento web em Ruby.
No site http://tryruby.hobix.com tem um tutorial básico e um interpretador online, para quem quiser conhecer a linguagem antes de instalar no PC.
Instalando o Ruby
O processo de instalação é bem simples:
- No Linux (fiz no Ubuntu 7.10 aqui do Lab): Depois de habilitar o repositório Universe, é só rodar o seguinte comando:
sudo apt-get install ruby irb rdoc
- No rWindows:
- Baixar o OneClick Installer aqui.
- Instalar normalmente.
Agora, as gemas
O Gems é o sistema de pacotes do Ruby. É mais ou menos como o apt-get do Debian. Através dele, pode-se instalar as bibliotecas restantes no Ruby. O processo é “muito complicado” =P
- Baixar o arquivo compactado da versão mais recente neste site.
- Descompactar.
- Na linha de comando, entrar na pasta e digitar, como root:
ruby setup.rb
- Pronto. Agora podemos utilizar o gems para instalar o rails.
Instalando o Rails
O Rails é um framework OpenSource para o desenvolvimento de aplicações web, com bancos de dados, em Ruby. Para instalá-lo, devemos executar a complicada sequência de passos (Um, pra ser mais preciso):
- Digite o comando:
gem install rails --include-dependencies
Nota: Existe um pacote chamado InstantRails, para Windows (clique aqui para baixar), que contém o Ruby, Rails, Apache e MySQL pré-configurados. É baseado no EasyPHP e funciona mais ou menos da mesma forma.
Referências:
urubatan.com.br
ruby-br.org (Ruby Brasil)
ruby-lang.org (Site oficial)
instantrails.rubyforge.org (InstantRails)
rubyforge.org
docs.rubygems.org (Documentação do Ruby Gems)
rubyonrails.org (Ruby on Rails)