The document appears to be source code for a Booking class in Java. It defines fields and methods for a booking, including the hotel, user, check-in/out dates, payment details, and other attributes. Methods include getters and setters for the fields, as well as transient methods to calculate total price and nights between dates. The class is annotated with JPA and Hibernate validation annotations.
Minha palestra sobre Ruby on Rails, Cultura e Ecossistema na Dev in Rio 2009. Vejam alguns dos meus vídeos dessa palestra em http://vimeo.com/akitaonrails
Minha palestra sobre Ruby on Rails, Cultura e Ecossistema na Dev in Rio 2009. Vejam alguns dos meus vídeos dessa palestra em http://vimeo.com/akitaonrails
Software livre e padrões abertos no desenvolvimento WebFelipe Ribeiro
Palestra apresentada no Software Freedom Day 2009 em Campina Grande - PB sobre a importância do uso de padrões abertos e o PHP como uma solução de software livre para desenvolvimento Web
Software livre e padrões abertos no desenvolvimento WebFelipe Ribeiro
Palestra apresentada no Software Freedom Day 2009 em Campina Grande - PB sobre a importância do uso de padrões abertos e o PHP como uma solução de software livre para desenvolvimento Web
Fórum de Software Livre do Serpro RJ 2009Fabio Akita
Esta palestra é muito parecida com a que eu também ministrei no evento Dev in Rio 2009, portanto os slides são quase iguais caso você já tenha baixado.
A apresentação fala sobre filosofias, valores e idéias ágeis e como elas são a fundação da comunidade Ruby on Rails e do ecossistema que se formou ao seu redor.
Alguns dos vídeos mostrados estão disponíveis em http://vimeo.com/akitaonrails.com
Mais uma introdução à filosofia das comunidades Ruby e Rails, com ênfase no Ecossistema mais do que na Tecnologia.
Vídeo da 37signals: http://www.vimeo.com/6028818
Vídeo do Uncle Bob: http://www.vimeo.com/5196176
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...Amazon Web Services
Attend this fun, fast-paced session and see five AWS-powered start-ups launch on-stage with Amazon.com CTO, Dr. Werner Vogels. You'll hear directly from these hand-selected companies and learn how they went from an idea to launch, using the AWS cloud. This exciting hour is your firsthand look at some of the hottest new start-ups, as well as a chance to get access to their new products and features. Whether you’re a booming enterprise or a blossoming start-up, this is a re:Invent activity that’s not to be missed.
Diving Into the New AWS SDK for Ruby (TLS305) | AWS re:Invent 2013Amazon Web Services
Ruby developers: attend this session and learn about the next major version of the AWS SDK for Ruby, the aws-core gem. We dive deep into the SDK, covering topics such as waiters, request enumeration and pagination, resource modeling, version locking, and more. Learn how to take advantage of these features as we construct a sample Ruby application using the AWS SDK.
From the "Rails: Hot or Not?" session at Sioux (Eindhoven, NL, May 23, 2007). An introduction to Rails and programming for the web, targeted at embedded developers. What are the challenges of web development? What technologies do we have at our disposal, and how does Ruby on Rails attack the problem?
Chad Udell - Developers are from Mars, Designers are from Venus360|Conferences
Where’s the love? Well, often when two coworkers from very different backgrounds are expected to work together, it can be tough to find. Designers and developers can indeed get along with a little foresight on process and understanding of the obstacles along the project’s path. Join Chad Udell in discovering some of those key differences and learn how to overcome them in order to create a blissful state of collaboration
Using AWS to Build a Graph-Based Product Recommendation System (BDT303) | AWS...Amazon Web Services
Magazine Luiza, one of the largest retail chains in Brazil, developed an in-house product recommendation system, built on top of a large knowledge Graph. AWS resources like Amazon EC2, Amazon SQS, Amazon ElastiCache and others made it possible for them to scale from a very small dataset to a huge Cassandra cluster. By improving their big data processing algorithms on their in-house solution built on AWS, they improved their conversion rates on revenue by more than 25 percent compared to market solutions they had used in the past.
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...Amazon Web Services
Whether you're a startup getting to profitability or an enterprise optimizing spend, it pays to run cost-efficient architectures on AWS. Dive deep into techniques used by successful customers to reduce waste and fine-tune their AWS spending, often with improved performance and a better end-customer experience. Some techniques covered in this session: Learn how to make the most of Auto Scaling, develop an effective Spot Instance strategy, and optimize for your daily traffic cycles. Learn techniques to tier storage, offload your static content to Amazon S3 and Amazon CloudFront, reduce your database loads with edge caching, spawn part-time databases, pool resources across accounts, and even teach your dev/test instances to sleep. Showcasing easily-applicable methods, this session could be your best invested hour all day.
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...Amazon Web Services
Whether you're a startup getting to profitability or an enterprise optimizing spend, it pays to run cost-efficient architectures on AWS. Dive deep into techniques used by successful customers to reduce waste and fine-tune their AWS spending, often with improved performance and a better end-customer experience. Some techniques covered in this session: Learn how to make the most of Auto Scaling, develop an effective Spot Instance strategy, and optimize for your daily traffic cycles. Learn techniques to tier storage, offload your static content to Amazon S3 and Amazon CloudFront, reduce your database loads with edge caching, spawn part-time databases, pool resources across accounts, and even teach your dev/test instances to sleep. Showcasing easily-applicable methods, this session could be your best invested hour all day.
Desmistificando Mitos de Tech Startups - Intercon 2017Fabio Akita
Versão apresentada no evento Intercon 2017. Desmistificando 10 dos principais mitos ainda repetidos pela comunidade de empreendedorismo e tech startups.
30 Days to Elixir and Crystal and Back to RubyFabio Akita
Presented at Ruby Dev Summit, a journey through learning Elixir, Crystal and making Ruby better in the process, and why Ruby still can compete in the Web.
Focada em jovens estudantes ou recém-formados para terem uma perspectiva sobre o que almejar na carreira de TI. Versão apresentada pela primeira vez no 6o meetup do Cricíuma Dev.
This is the opening keynote for the 1st edition of THE CONF (www.theconf.club). It has full presenter notes. The video recording will be available at InfoQ Brasil.
Desmistificando Mitos de Startups - Sebrae - APFabio Akita
O mundo de startups se tornou um grande show. A maioria não entende que a sorte tem um papel mais forte do que se imagina. E sem conhecimento, experiência e paciência, Não existe caminho simples para o sucesso.
A Journey through New Languages - Locaweb Tech DayFabio Akita
An exercise started in 2014 going all the way to early 2016 of a simple crawler made in (ugly) Ruby first, then moving to Elixir, to Crystal and back to Ruby and what we can take out of it.
A Journey through new Languages - Intercon 2016Fabio Akita
Minha palestra apresentando minha jornada sobre um código Ruby feito com otimização prematura, passando por Elixir, Crystal e de volta ao Ruby, escrito da forma arquiteturalmente mais "correta" e que no final se tornou até mais performática.
Esta é a minha palestra "Premature Optimization" versão "Code-Only". #THECONFBR
The Open Commerce Conference - Premature Optimisation: The Root of All EvilFabio Akita
This is the talk I presented in NYC at the Spree Conference. It's about how we may be making bad decisions out of blindly following misleading pitches. To avoid it, we just need to go back to the basics of CS: Don't optimize prematurely. Here's how.
67. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, December 15, 2009
68. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, December 15, 2009
69. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, December 15, 2009
70. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, December 15, 2009
71. Rotas RESTFul
GET /products/new
ActionController::Routing::Routes.draw do |map|
GET /products
map.resourcesPOST /products
:products
map.resources :addresses
map.resourcesGET /products/1 => [:line_items]
:orders, :has_many
map.namespaceGET /products/1/edit
:admin do |admin|
admin.resources :users
PUT /products/1
admin.resources :products
end DESTROY /products/1
end
Tuesday, December 15, 2009
72. Controller
class UsersController < Spree::BaseController
resource_controller
before_filter :initialize_extension_partials
actions :all, :except => [:index, :destroy]
show.before do
@orders = Order.checkout_completed(true)
.find_all_by_user_id(current_user.id)
end
create.after { self.current_user = @user }
create.response do |wants|
wants.html { redirect_back_or_default(products_path) }
end
end
Tuesday, December 15, 2009
73. Controller
class UsersController < Spree::BaseController
resource_controller
before_filter :initialize_extension_partials
actions :all, :except => [:index, :destroy]
show.before do
@orders = Order.checkout_completed(true)
.find_all_by_user_id(current_user.id)
end
create.after { self.current_user = @user }
create.response do |wants|
wants.html { redirect_back_or_default(products_path) }
end
end
Tuesday, December 15, 2009
74. Controller
class UsersController < Spree::BaseController
resource_controller
before_filter :initialize_extension_partials
actions :all, :except => [:index, :destroy]
show.before do
@orders = Order.checkout_completed(true)
.find_all_by_user_id(current_user.id)
end
create.after { self.current_user = @user }
create.response do |wants|
wants.html { redirect_back_or_default(products_path) }
end
end
Tuesday, December 15, 2009
84. “Eles servem mais de 23 milhões de visitantes/mês. A conversão
resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e,
mais importante, facilitou a dificuldade que tinham em manutenção.
Eles também finalizaram a reescrita do sistema em apenas 3 meses
com 4 desenvolvedores. Uma vez completo e otimizado, o site deles
agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, December 15, 2009
85. “Eles servem mais de 23 milhões de visitantes/mês. A conversão
resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e,
mais importante, facilitou a dificuldade que tinham em manutenção.
Eles também finalizaram a reescrita do sistema em apenas 3 meses
com 4 desenvolvedores. Uma vez completo e otimizado, o site deles
agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, December 15, 2009
86. “Eles servem mais de 23 milhões de visitantes/mês. A conversão
resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e,
mais importante, facilitou a dificuldade que tinham em manutenção.
Eles também finalizaram a reescrita do sistema em apenas 3 meses
com 4 desenvolvedores. Uma vez completo e otimizado, o site deles
agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, December 15, 2009
87. “Eles servem mais de 23 milhões de visitantes/mês. A conversão
resultou em 20 mil linhas de Ruby em vez de 125 mil linhas de Java e,
mais importante, facilitou a dificuldade que tinham em manutenção.
Eles também finalizaram a reescrita do sistema em apenas 3 meses
com 4 desenvolvedores. Uma vez completo e otimizado, o site deles
agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, December 15, 2009
126. Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, December 15, 2009
127. Para colocar as coisas em
perspectiva, o Friendster foi
escrito em Java e eles
mudaram para PHP.
MySpace foi escrito em
ColdFusion e eles mudaram
para ASP.NET.
Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, December 15, 2009
128. Para colocar as coisas em
perspectiva, o Friendster foi
escrito em Java e eles
mudaram para PHP.
MySpace foi escrito em
ColdFusion e eles mudaram
para ASP.NET.
Quando as pessoas caem em
problemas de escalabilidade,
normalmente acham que a
linguagem é o problema, mas
eu acho que isso raramente é
a realidade. Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, December 15, 2009
129. “O The New York Times usou Ruby on Rails
para agregar, analizar e mostrar os
resultados das eleições em quase tempo
real em um de seus sites mais acessados
de todos os tempos.”
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
Tuesday, December 15, 2009
130. “O The New York Times usou Ruby on Rails
para agregar, analizar e mostrar os
resultados das eleições em quase tempo
real em um de seus sites mais acessados
de todos os tempos.”
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
Tuesday, December 15, 2009
150. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, December 15, 2009
151. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, December 15, 2009
152. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, December 15, 2009
153. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, December 15, 2009
155. Funcionalidade: Adição
Para evitar erros bobos
Como um péssimo matemático
Eu quero saber como somar dois números
Cenário: Adicionar dois números
Dado que eu digitei 50 na calculadora
E que eu digitei 70 na calculadora
Quando eu aperto o botão de soma
Então o resultado na calculadora deve ser 120
Tuesday, December 15, 2009
156. Funcionalidade: Adição
Para evitar erros bobos
Como um péssimo matemático
Eu quero saber como somar dois números
Cenário: Adicionar dois números
Dado que eu digitei 50 na calculadora
E que eu digitei 70 na calculadora
Quando eu aperto o botão de soma
Então o resultado na calculadora deve ser 120
Tuesday, December 15, 2009