- Create
/etc/logrotate.d/my-crazy-app
file with following snippet:
/var/log/my-crazy-app/*.log {
daily
size 500M
missingok
rotate 10
compress
delaycompress
/etc/logrotate.d/my-crazy-app
file with following snippet:/var/log/my-crazy-app/*.log {
daily
size 500M
missingok
rotate 10
compress
delaycompress
(ns storm.starter.clj.word-count-kafka | |
(:import ;[backtype.storm StormSubmitter LocalCluster] | |
[storm.kafka KafkaConfig HostPort KafkaSpout SpoutConfig StringScheme]) | |
(:use [backtype.storm clojure config]) | |
(:gen-class)) | |
(def ^{:private true} | |
host (list "localhost:9092")) | |
(def ^{:private true |
^
is the XOR
operator - given two numbers it "lines up" their places and flips the place only if only one of the two numbers has that place:
// All of these are binary
111 ^ 111 === 000
110 ^ 111 === 001
110 ^ 110 === 000
This means that changed
will be a number with only those places set that are set in prev_state
or state
but not both.
upstream http_backend { | |
server 127.0.0.1:8080; | |
keepalive 32; | |
} | |
map $http_upgrade $connection_upgrade { | |
default upgrade; | |
'' close; | |
} |
Main choices for structuring the data are:
Once you've decided on the overall structure of the data, then you can, if you choose, denormalize data across multiple documents, by either denormalizing data from the "One" side into the "N" side, or from the "N" side into the "One" side. You'd do this only for fields that are frequently read, get read much more often than they get updated, and where you don't require strong consistency, since updating a denormalized value is slower, more expensive, and is not atomic.
Reference: http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1
class RouteBase | |
@@routes = {} | |
def self.routes=r | |
@@routes = r | |
end | |
def self.routes | |
@@routes | |
end |
package main | |
import ( | |
"fmt" | |
"net/http" | |
) | |
type String string | |
type Struct struct { |
require 'thread' | |
def process(job) | |
puts "processing job #{job}\n" | |
sleep rand(3) | |
end | |
threads = [] | |
for job in 1..10 |
GO ?= go | |
GOPATH := $(CURDIR)/_vendor:$(GOPATH) | |
all: build | |
build: | |
$(GO) build | |
# reference: http://peter.bourgon.org/go-in-production/ |