Concluinte do curso de Licenciatura em Computação – UEPB Àreas de Interesse: – Desenvolvimento Web – Redes (Arquitetura, Segurança) – Sistemas Operacionais (Linux, FreeBSD) – Cloud Computing
Objetivos – Ser um Perl melhorado – Mais OO do que Python 1993: Começo do desenvolvimento 1995: Versão 0.95 disponível 1996: Versão 1.0 disponível 1998: Site traduzido para inglês
o primeiro livro – Ruby Workshop 2000: InformIT publica entrevista com Matz 2001: – Programming Ruby (Pickaxe) – Rubyconf.new 2003: Versão 1.8.0 lançada
de strings e vice-versa Razões para usar symbol no lugar de string: – Se ocorrer a repetição da mesma string 1000 vezes, vai ser ocupado 1000 vezes o espaço de memória dessa string Para declarar um symbol, usamos “:” antes do nome – :simbolo1, :simbolo2
atributos de uma classe, acessível dentro da classe – @variavel_instancia = 10 Classe – São compartilhadas entre todos os objetos dessa classe – @@variavel_classe = 10
ser passadas como parâmetros para um método Delimitados por “{}” ou “do end” – “{}” para blocos de uma linha – “do end” para blocos com mais de uma linha Para criar métodos que recebam blocos, use a instrução yield no corpo do método
de classes, exceto: – Não possui instâncias – Não possui subclasses Um módulo serve como uma localização central para que sejam agregados métodos e constantes
utilizados para dois propósitos básicos: – Permitir que seja definido um método que não entre em conflito com outro já definido com mesmo nome – Compartilhar funcionalidades entre classes (pseudo herança múltipla)
de bibliotecas em Ruby A bibliotecas são disponibilizadas no formato .gem Resolução de dependências Várias versões da mesma gem no sistema Maneira recomendada de instalar bibliotecas (inclusive o Rails) – gem install rails
Full stack Full stack vs Glue Criado por David Heinemeier Hansson (2004) Extraído do aplicativo Basecamp MVC (Model-View-Controller) Código aberto, sem restrições
de negócio (persistência de dados) – View Interação com usuário (templates renderizados para html) – Controller Controle da lógica e fluxo de dados
– Desconfie se estiver utilizando o copiar e colar em excesso Testing – Suíte de testes integrada – Ideal 100% de cobertura de testes Abstração utilizando código Ruby – SQL – Javascript
um série de pacotes (frameworks) Cada pacote resulta em um .gem separado Pacotes – ActionMailer, ActionPack, ActiveRecord, ActiveSupport e ActiveResource
a biblioteca para interação com seu banco de dados Sqlite3: gem install sqlite3-ruby – Instalar o pacote de desenvolvimento do sqlite antes MySQL: gem install mysql – Instalar o pacote de desenvolvimento do mysql antes
novidade em deployment no mundo Rails Funcionamento semelhante ao mod_php – Popularização em shared hostings Substituto do FastCGI – Apenas upload dos arquivos para funcionar