два обзора saas-ов от конкурентов mailchimp
ещё saas
// Types for the result object with discriminated union | |
type Success<T> = { | |
data: T; | |
error: null; | |
}; | |
type Failure<E> = { | |
data: null; | |
error: E; | |
}; |
// Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication | |
// http://creativecommons.org/publicdomain/zero/1.0/ | |
(function (win,doc) { | |
'use strict'; | |
if (!win.FileReader || !win.addEventListener || !doc.querySelectorAll) { | |
// doesn't cut the mustard. | |
return; | |
} | |
doc.querySelectorAll('input[type="file"][accept="image/*"]').forEach( function (fileInput) { |
два обзора saas-ов от конкурентов mailchimp
ещё saas
This is my current (as of 4/30/2020) Yabai and skhdrc config as well as the Ubersicht (http://tracesof.net/uebersicht/) widget I use rather than the Yabai status bar. I went this route rather than the built-in status bar because I didn't like how Yabai as of 2.0.1 handled multiple monitors in the status bar.
Nothing is too far from defaults here, and the spaces.coffee was something I found linked in an issue on Yabai's github page.
All libraries have subtle rules that you have to follow for them to work well. Often these are implied and undocumented rules that you have to learn as you go. This is an attempt to document the rules of React renders. Ideally a type system could enforce it.
A number of methods in React are assumed to be "pure".
On classes that's the constructor, getDerivedStateFromProps, shouldComponentUpdate and render.
console.clear(); | |
function compose(...fs) { | |
return function (...args) { | |
return fs.reduceRight((args, f) => [f(...args)], args)[0]; | |
}; | |
} | |
function simpleCheck(a, b) { | |
return a === b; |
/** | |
* Event loop. | |
* | |
* Read details here: | |
* http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition/#job | |
* | |
* by Dmitry Soshnikov <[email protected]> | |
*/ | |
/** |
Download the appropriate Kali Linux .iso
I used a 64 bit .iso
image, downloaded via HTTP. I downloaded the amd64 weekly version, as the pool
linux headers (needed below for installation of wireless drivers) were ahead of the stable release kernel.
Download the SHA256SUMS
and SHA256SUMS.gpg
files from the same location.
// UPDATE: In 2023, you should probably stop using this! The narrow version of Safari that | |
// does not support `nomodule` is probably not being used anywhere. The code below is left | |
// for posterity. | |
/** | |
* Safari 10.1 supports modules, but does not support the `nomodule` attribute - it will | |
* load <script nomodule> anyway. This snippet solve this problem, but only for script | |
* tags that load external code, e.g.: <script nomodule src="nomodule.js"></script> | |
* | |
* Again: this will **not** prevent inline script, e.g.: |
/* this lacks subscribe behavior or ability to dispatch from outside of component tree but that is generally not neccesary */ | |
class State extends React.Component { | |
constructor(props) { | |
super(props); | |
this.state = YOUR_INITIAL_STATE; | |
} | |
reducer = (action, state, props) => {...newState}; | |
/* setState takes an object of new state as first arg or a function of props and state that returns new state | |
* which we will use here | |
* we pass dispatch around and use it similarly to redux dispatch |