- ~50GB MySQL Application
- Main motivation: PostGis
- Migration made with a custom tool(xml2pgcopy) and mysqldump on 45min
#!/bin/sh | |
command="${*}" | |
printf "Initialized REPL for `%s`\n" "$command" | |
printf "%s> " "$command" | |
read -r input | |
while [ "$input" != "" ]; | |
do | |
eval "$command $input" | |
printf "%s> " "$command" |
import React from 'react'; | |
import PropTypes from 'prop-types'; | |
import classNames from 'classnames'; | |
const ANIMATION_DURATION = 1000; | |
class BatchDropZone extends React.Component { | |
static propTypes = { |
Testing React components seems simple at first. Then you need to test something that isn't a pure interaction and things seem to break down. These 4 patterns should help you write readable, flexible tests for the type of component you are testing.
I recommend doing all setup in the most functional way possible. If you can avoid it, don't set variables in a
beforeEach
. This will help ensure tests are isolated and make things a bit easier to reason about. I use a pattern
that gives great defaults for each test example but allows every example to override props
when needed:
A docker entrypoint must ensure that after any initialization (environmanet setup etc.) the main docker
process must remain at PID 1. This is usually accomplished by using exec
as the last command (which
actually replaces the current process).
See also: https://docs.docker.com/engine/reference/builder/#entrypoint
An example entrypoint.sh
:
JedWatson/classnames (2650855 dls, 1465 stars) | |
yannickcr/eslint-plugin-react (2077066 dls, 710 stars) | |
rackt/react-router (1833204 dls, 9050 stars) | |
facebook/react-dom (782024 dls, 33044 stars) | |
gaearon/react-hot-loader (708042 dls, 3250 stars) | |
rackt/redux (568969 dls, 10743 stars) | |
rackt/react-redux (495498 dls, 1509 stars) | |
jsdf/coffee-react-transform (463488 dls, 380 stars) | |
JedWatson/react-input-autosize (455277 dls, 107 stars) | |
reflux/reflux (393281 dls, 4316 stars) |
'use strict'; | |
// Script to workaround discrepancies in s3 <=> os file and directory names. | |
// It allows you to host your static website on s3 without trailing slashes. | |
// e.g. example.com/products and example.com/products/mugs | |
if (!process.argv[2]) throw new Error('Must pass bucket as argument'); | |
var options = { | |
target: '.', |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
,elem.offsetTop
,elem.offsetWidth
,elem.offsetHeight
,elem.offsetParent
Worked 2015-09-08 for Phoenix 1.0.1 on Dokku 0.3.25.
These instructions assume you've set up Dokku. If not, go find a tutorial for that part. My notes for setting it up on Digital Ocean.
Create a Dokku app:
// Usage: | |
// Copy and paste all of this into a debug console window of the "Who is Hiring?" comment thread | |
// then use as follows: | |
// | |
// query(term | [term, term, ...], term | [term, term, ...], ...) | |
// | |
// When arguments are in an array then that means an "or" and when they are seperate that means "and" | |
// | |
// Term is of the format: | |
// ((-)text/RegExp) ( '-' means negation ) |