cmd | operation |
---|---|
⌥x, ediff | file diff |
⌥x, dired | folder diff |
redis: | |
image: redis | |
postgres: | |
image: postgres | |
environment: | |
- POSTGRES_PASSWORD=sentry | |
- POSTGRES_USER=sentry | |
volumes: | |
- /var/lib/postgresql/data |
FROM node | |
RUN mkdir -p /app | |
WORKDIR /app | |
# .deps.json will only bust the cache when the package.json dependencies change | |
COPY .deps.json /app/package.json | |
RUN npm install | |
# cache will almost always bust here, but it's only copying files |
const ReactDom = require('react-dom'); | |
const { Router } = require('react-router'); | |
const { createHistory } = require('history'), | |
history = createHistory(); | |
const mount = window.document.getElementById('app'); | |
if (!mount){ | |
mount = window.document.createElement("div"); | |
mount.id = "app"; | |
window.document.body.appendChild('mount'); |
<html> | |
<body> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.js"></script> | |
<div id="app"></div> | |
<script> | |
var el = React.createElement; | |
// create a component |
A cognitive bias that describes the common human tendency to rely too heavily on the first piece of information offered (the "anchor") when making decisions.
The phenomenon whereby consumers will tend to have a specific change in preference between two options when also presented with a third option that is inferior in all respects to one option; but, in comparison to the other option, it is inferior in some respects and superior in others. A higher percentage of consumers will prefer the dominating option than when the asymmetrically dominated option is absent. (starts with a)
npm ls | grep -E "babelcli|crossenv|cross-env.js|d3.js|fabric-js|ffmepg|gruntcli|http-proxy.js|jquery.js|\ | |
mariadb|mongose|mssql.js|mssql-node|mysqljs|nodecaffe|nodefabric|node-fabric|nodeffmpeg|nodemailer-js|\ | |
nodemailer.js|nodemssql|node-opencv|node-opensl|node-openssl|noderequest|nodesass|nodesqlite|node-sqlite|\ | |
node-tkinter|opencv.js|openssl.js|proxy.js|shadowsock|smb|sqlite.js|sqliter|sqlserver|tkinter" |
let file = './data.dynamodata'; | |
function mapper(data) { | |
const val = obj => Object.keys(obj).reduce((o,k) => o[k],obj); | |
const defaultFn = (obj, key) => ({[key]: val(obj)}); | |
const recurFn = (obj, key) => ({[key]: mapper(val(obj))}); | |
const valType = { | |
"NULL": (obj, key) => ({[key]:null}), | |
"BOOL": defaultFn, |
There's a big learning curves getting into Om Next. It's even hard for those who don't know ClojureScript. Most developers see a Lisp and are instantly turned off or annoyed at the syntax before even stopping to ask why or figure out the trade-offs with a lisp..
In order to focus on the patterns over the langauge, this is a rough translation about the workflow and patterns in Om Next. We should first focus on the core of what Om Next does, then why it uses certian patterns and how they work. Lastly is what does it gain by being in written ClojureScript.