O documento descreve brevemente a linguagem de programação Ruby, incluindo sua história, características e aplicações. Em três frases:
Ruby é uma linguagem de programação interpretada, orientada a objetos e dinamicamente tipada, criada em 1993 para ser mais poderosa que Perl e mais orientada a objetos que Python. Sua filosofia de tudo ser objeto e sua sintaxe concisa tornam Ruby popular para desenvolvimento web com o framework Rails.
Uma versão um pouco mais leve e sem referências a tecnologias de backend, apresentando para a galera de frontend os principais conceitos de APIs RESTful e algumas ferramentas úteis para o dia-a-dia.
Para ver os slides com comentários descritivos, acesse: https://docs.google.com/presentation/d/1fcvYVSXVsgGsnjTJZHBxVig8d0iVOENcuPvfkfnuG4M/edit?usp=sharing
Uma palestra de boas práticas para APIs RESTful, apresentando os principais conceitos e sugerindo algumas ferramentas para o desenvolvimento e úteis no dia-a-dia.
Para ver os slides comentados, acesse https://docs.google.com/presentation/d/1ouKB72zKIu0IxSbk58-h0JxjD_tESW76lmFgMzF7OJo/edit?usp=sharing
Gerenciamento de dependências em pythonPatrick Porto
Esta apresentação mostra os avançados recursos do Pipenv em detrimento das formas tradicionais de gerenciamento de dependência. Ela enfatiza os dois principais problemas existente e como podem ser resolvidos pelo Pipenv.
Guilherme Blanco, Lead Architect da Carmigo, fez a palestra "Keynote: PHP-7", no PHP Experience 2016.
O iMasters PHP Experience 2016 aconteceu nos dias 21 e 22 de Março de 2015, no Hotel Tivoli em São Paulo-SP
http://phpexperience2016.imasters.com.br/
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Palestra ministrada no II Workshop de Software Livre do CInLUG em 25/03/2011. Introdução a Ruby e Rails.
Ruby and Rails Introduction from Frevo on Rails User Group, Pernambuco, Brazil.
Uma versão um pouco mais leve e sem referências a tecnologias de backend, apresentando para a galera de frontend os principais conceitos de APIs RESTful e algumas ferramentas úteis para o dia-a-dia.
Para ver os slides com comentários descritivos, acesse: https://docs.google.com/presentation/d/1fcvYVSXVsgGsnjTJZHBxVig8d0iVOENcuPvfkfnuG4M/edit?usp=sharing
Uma palestra de boas práticas para APIs RESTful, apresentando os principais conceitos e sugerindo algumas ferramentas para o desenvolvimento e úteis no dia-a-dia.
Para ver os slides comentados, acesse https://docs.google.com/presentation/d/1ouKB72zKIu0IxSbk58-h0JxjD_tESW76lmFgMzF7OJo/edit?usp=sharing
Gerenciamento de dependências em pythonPatrick Porto
Esta apresentação mostra os avançados recursos do Pipenv em detrimento das formas tradicionais de gerenciamento de dependência. Ela enfatiza os dois principais problemas existente e como podem ser resolvidos pelo Pipenv.
Guilherme Blanco, Lead Architect da Carmigo, fez a palestra "Keynote: PHP-7", no PHP Experience 2016.
O iMasters PHP Experience 2016 aconteceu nos dias 21 e 22 de Março de 2015, no Hotel Tivoli em São Paulo-SP
http://phpexperience2016.imasters.com.br/
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Palestra ministrada no II Workshop de Software Livre do CInLUG em 25/03/2011. Introdução a Ruby e Rails.
Ruby and Rails Introduction from Frevo on Rails User Group, Pernambuco, Brazil.
Minicurso de Ruby on Rails que ocorreu de 25/11/2014 até 28/11/2014 no Instituto Federal de Educação Ciência e Tecnologia do Sudeste de Minas Campus Barbacena
O ROS é uma estrutura(framework) de software flexível e de código aberto para programação de robôs. O ROS fornece uma camada de abstração de hardware, na qual os desenvolvedores podem criar aplicativos de robótica sem se preocupar com o hardware subjacente. O ROS também fornece diferentes ferramentas de software para
visualizar e depurar dados do robô.
Introdução a linguagem de programação Ruby, onde tópicos como
história, comunidade, e diferenciais da linguagem serão abordados.
Será dada uma ênfase na simplicidade e produtividade do código em si,
além de alguns exemplos utilizados no dia-a-dia.
Apresentado em 07/11/2011, na Hora da Tecnologia, na Universidade Feevale.
http://www.feevale.br/internas/vwImprensaVisualizar.asp?strInd=via6&intIdSecao=2578&intIdConteudo=49091&dteDataPublicacao=2011/11/05
Palestra realizada no DSC (Departamento de Sistemas e Computação) para alunos do curso de Ciência da Computação da UFCG.
Agradecimentos:
- Fábio Akita (/akitaonrails)
- Daniel V. Lopes (/danielvlopes)
Palestra introdutória que visa mostrar a abrangência da Linguagem de Programação Python em diversas áreas, Web, dispositivos portáteis, Cloud Computing e muitas outras. As vantagens da adoção da linguagens e suas características fundamentais, o comunidade e a mercado de trabalho que fazem parte do Ecossistema Python.
5. Criada porYukihiro "Matz" Matsumoto
“I wanted a scripting language that was more
powerful than Perl, and more object-oriented
than Python.”
http://linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
41. def fizzbuzz(number)
resp = ""
resp.tap do
resp << "fizz" if number.modulo(3) == 0
resp << "buzz" if number.modulo(5) == 0
resp << number.to_s if resp.empty?
end
end
42. def fizzbuzz(number)
resp = ""
resp.tap do
resp << "fizz" if number.modulo(3) == 0
resp << "buzz" if number.modulo(5) == 0
resp << number.to_s if resp.empty?
end
end
pane = javax.swing.JOptionPane
numbers = pane.show_input_dialog("Quantos
números?").to_i
43. def fizzbuzz(number)
resp = ""
resp.tap do
resp << "fizz" if number.modulo(3) == 0
resp << "buzz" if number.modulo(5) == 0
resp << number.to_s if resp.empty?
end
end
pane = javax.swing.JOptionPane
list = java.util.ArrayList.new
numbers = pane.show_input_dialog("Quantos
números?").to_i
numbers.times do |i|
list << fizzbuzz(i + 1)
end
44. def fizzbuzz(number)
resp = ""
resp.tap do
resp << "fizz" if number.modulo(3) == 0
resp << "buzz" if number.modulo(5) == 0
resp << number.to_s if resp.empty?
end
end
pane = javax.swing.JOptionPane
list = java.util.ArrayList.new
numbers = pane.show_input_dialog("Quantos
números?").to_i
numbers.times do |i|
list << fizzbuzz(i + 1)
end
pane.show_message_dialog(nil, list.to_s)
45. require 'java'
def fizzbuzz(number)
resp = ""
resp.tap do
resp << "fizz" if number.modulo(3) == 0
resp << "buzz" if number.modulo(5) == 0
resp << number.to_s if resp.empty?
end
end
pane = javax.swing.JOptionPane
list = java.util.ArrayList.new
numbers = pane.show_input_dialog("Quantos
números?").to_i
numbers.times do |i|
list << fizzbuzz(i + 1)
end
pane.show_message_dialog(nil, list.to_s)
50. describe Account do
context "transfering money" do
it "deposits transfer amount to the other account" do
source = Account.new(50, :USD)
target = mock('target account')
target.should_receive(:deposit).with(Money.new(5, :USD))
source.transfer(5, :USD).to(target)
end
it "reduces its balance by the transfer amount" do
source = Account.new(50, :USD)
target = stub('target account')
source.transfer(5, :USD).to(target)
source.balance.should == Money.new(45, :USD)
end
end
end
RSpec - Testando código Ruby
51. # language: pt
Funcionalidade: Usuário gerenciando produtos
Como um usuário com permissão de gerenciar produtos
Com o objetivo de dividir responsabilidades
E custos por produto
Eu deveria poder cadastrar
E gerenciar uma lista de produtos
Cenário: Listar produtos
Dado que eu esteja logado
E que existem os produtos produto 1, produto 2
E que eu esteja na página inicial
Quando eu clico "Produtos"
Então eu devo ver "produto 1"
E eu devo ver "produto 2"
Cucumber - Testes de Aceitação
64. Criando o DB e iniciando o servidor
$ rake db:migrate
(in /Users/rafael/Sites/playground/sc2010)
== CreateTasks: migrating ==============================================
-- create_table(:tasks)
-> 0.0026s
== CreateTasks: migrated (0.0034s) =====================================
$ rails server
=> Booting WEBrick
=> Rails 3.0.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-11-11 13:25:52] INFO WEBrick 1.3.1
[2010-11-11 13:25:52] INFO ruby 1.8.7 (2010-08-16) [x86_64-darwin10.4.0]
[2010-11-11 13:25:52] INFO WEBrick::HTTPServer#start: pid=7367 port=3000
65.
66.
67.
68.
69.
70.
71. Uma tarefa precisa ter um nome
class Task < ActiveRecord::Base
validates_presence_of :name
end
72.
73. class Task < ActiveRecord::Base
validates_presence_of :name
belongs_to :user
has_many :statuses
end