Books
- Reactive Microservices Architecture: free report by Lightbend CTO Jonas Bonér
- DDD Distilled
- Designing Data-Intensive Applications
- Domain-Driven Design: Tackling Complexity in the Heart of Software
- Implementing DDD
- CQRS Documents by Greg Young
class MyCommandHandler | |
def initialize | |
make_threadsafe_by_stateless | |
end | |
def call(cmd) | |
local_var = cmd.something | |
output(local_var) | |
end |
require 'pry' | |
require 'parser' | |
require 'parser/current' | |
class ConstToMethodRewriter < ::Parser::Rewriter | |
def on_casgn(node) | |
_, const_name, *args = node.children | |
replace_range = node.location.expression | |
const_value = args.first.location.expression.source |
~/d/project (feature/delayed_job_pool|✚3…) $ cat tmp/pids/delayed_job.0.pid | |
14702 | |
~/d/project (feature/delayed_job_pool|✚3…) $ cat tmp/pids/delayed_job.1.pid | |
14704 | |
~/d/project (feature/delayed_job_pool|✚3…) $ ps aux | grep delayed | |
rupert 14702 72.9 2.9 4865820 481384 ?? R 9:43AM 3:25.55 delayed_job.0 | |
rupert 14704 0.0 2.8 4839192 467044 ?? S 9:43AM 3:26.31 delayed_job.1 | |
rupert 15205 0.0 0.0 4267752 360 s005 R+ 10:18AM 0:00.00 grep --color=auto delayed | |
~/d/project (feature/delayed_job_pool|✚3…) $ kill -9 14702 |
require 'action_view' | |
require 'tmpdir' | |
require 'fileutils' | |
require 'optparse' | |
def check_syntax(path, options = {}) | |
erb = content(path) | |
code = ruby_code(erb) | |
eval("BEGIN { puts('ok'); return true }; #{code}", nil, path, 0) |
# sudo gem install bson | |
# sudo gem install bson_ext | |
# sudo gem install yajl-ruby | |
# sudo gem install json | |
# sudo gem install msgpack | |
require 'rubygems' | |
require 'benchmark' | |
require 'yaml' | |
require 'bson' |
mysql> EXPLAIN SELECT `my_table_name_xxxxxxxxxxxxx`.* FROM `my_table_name_xxxxxxxxxxxxx` WHERE `my_table_name_xxxxxxxxxxxxx`.`order_id` = 2015522 LIMIT 1; | |
+----+-------------+-----------------------------+------+-----------------------------------------------+------+---------+------+--------+-------------+ | |
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | | |
+----+-------------+-----------------------------+------+-----------------------------------------------+------+---------+------+--------+-------------+ | |
| 1 | SIMPLE | my_table_name_xxxxxxxxxxxxx | ALL | index_my_table_name_xxxxxxxxxxxxx_on_order_id | NULL | NULL | NULL | 280511 | Using where | | |
+----+-------------+-----------------------------+------+-----------------------------------------------+------+---------+------+--------+-------------+ | |
1 row in set (0.00 sec) | |
mysql> EXPLAIN SELECT `my_table_name_xxxxxxxxxxxxx`.* FROM `my_table_name_xx |
client = Elasticsearch::Client.new host: 'localhost:9200', logger: Rails.logger | |
client.indices.create({ | |
index: "businesses", | |
body: { | |
settings: {}, | |
mappings: { | |
"business" => { | |
properties:{ | |
name: {:type=>"string", index: "not_analyzed"}, # you probably need different index type depending on what kind of queries there are |
# keep in one file | |
class Whatever | |
class A | |
def self.interface_method | |
end | |
end | |
class B | |
def self.interface_method | |
end |
==> p: Last 10 log lines: | |
==> p: compiling object_tracing.c | |
==> p: compiling objspace.c | |
==> p: linking shared-object objspace.so | |
==> p: make[2]: Leaving directory `/tmp/ruby-build.20141225212618.1716/ruby-2.2.0/ext/objspace' | |
==> p: linking shared-object date_core.so | |
==> p: make[2]: Leaving directory `/tmp/ruby-build.20141225212618.1716/ruby-2.2.0/ext/date' | |
==> p: linking shared-object nkf.so | |
==> p: make[2]: Leaving directory `/tmp/ruby-build.20141225212618.1716/ruby-2.2.0/ext/nkf' | |
==> p: make[1]: Leaving directory `/tmp/ruby-build.20141225212618.1716/ruby-2.2.0' |