RubyTapas #062 - #069
062 Fiber
??
Homemade numerator
イミフ
063 Gem-Love Part 3
?
webmock, tdd
ムズイ
064 Yield or Enumerate
★
引数無しだとEnumeratorが返る
return to_enum(:names) if block_given?
return to_enum(__callee__) if block_given?
065 PulseFFI Part 7
?
smoke test 最近別件で知った言葉
066 Caching an API
★
通常のclassと同じファイル内で
require 'rspec/autorun'
と書いている
Caching Domain Objects
- Version conflicts
- Unused data is not cached
- Object must be serialized
Caching Response Data
- No version conflicts
- All available data is cached
- Raw strings are serialization-safe
レスポンスのローデータをキャッシュした方が良いという話
067 Moneta
★
Cacheの続き
store = Moneta.new(:YAML, file: "weather.yaml", expires: 300)
store = Moneta.new(:File, dir: "store")
monetaというものがある
068 Display Builder
★★
Template Approach
Builder Pattern
many types of Renderer, display
method_missingを各rendererで変えているところが重要そう
heavyなので初期から使うべきパターンではない
069 Gem-Love Part 4
★
Serverの実装とテスト
class Server < Sinatra::Base
post '/request/path') do
テスト側で面白そうな部分
browser = Rack::Test::Session.new(Rack::MockSession.new(server))
browser.post('/request/path')
require_relative
レベル高いのかジャンルが違うのか分からないこと多い