emacs 是一个简单的文本编辑器,不过它开始于 1976 年。一个软件的生命周期如果超过快 40 年的话,那么它一定是有可取之处的。
For OS X:
hello |
(defn subsets [things] | |
(if (empty? things) '(()) | |
(let [srt (subsets (rest things))] | |
(concat (map #(cons (first things) %) srt) srt)))) |
(defn redirect | |
([url] (redirect url :found)) | |
([url type] | |
{:status (case type | |
:permanent 301 | |
:found 302 | |
:see-other 303 | |
:not-modified 304 | |
:proxy 305 | |
:temporary 307) |
(defprotocol Greet | |
(sayHello [this])) | |
(defrecord Person [firstName lastName] | |
Greet | |
(sayHello [this] firstName)) | |
(def a (Person. "a" "b")) | |
(sayHello a) |
Rich Hickey • 3 years ago
Sorry, I have to disagree with the entire premise here.
A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero.
Mastery comes from a combination of at least several of the following:
(defn dups [seq] | |
(for [[id freq] (frequencies seq) | |
:when (> freq 1)] | |
id)) |
user=> (into {} [[:a 1] [:b 2]]) |
#System Design Cheatsheet
Picking the right architecture = Picking the right battles + Managing trade-offs
##Basic Steps
.markdown-here-wrapper { | |
font-size: 16px; | |
line-height: 1.8em; | |
letter-spacing: 0.1em; | |
} | |
pre, code { | |
font-size: 14px; | |
font-family: Roboto, 'Courier New', Consolas, Inconsolata, Courier, monospace; |