start new:
tmux
start new with session name:
tmux new -s myname
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
// Initialize the Sass variables and partials used in this project. | |
// Set the legacy IE support variables. We override the default values set by | |
// the compass/support partial, but let styles-ie8.scss override these values. | |
$legacy-support-for-ie6 : false !default; | |
$legacy-support-for-ie7 : false !default; // Note the use of !default. | |
$legacy-support-for-ie8 : false !default; | |
// Partials to be shared with all .scss files. |
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc | |
. ~/.bashrc | |
mkdir ~/local | |
mkdir ~/node-latest-install | |
cd ~/node-latest-install | |
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 | |
./configure --prefix=~/local | |
make install # ok, fine, this step probably takes more than 30 seconds... | |
curl https://www.npmjs.org/install.sh | sh |
If you use server rendering, keep in mind that neither useLayoutEffect
nor useEffect
can run until the JavaScript is downloaded.
You might see a warning if you try to useLayoutEffect
on the server. Here's two common ways to fix it.
If this effect isn't important for first render (i.e. if the UI still looks valid before it runs), then useEffect
instead.
function MyComponent() {
A lot of people mentioned other immutable JS libraries after reading my post. I thought it would be good to make a list of available ones.
There are two types of immutable libraries: simple helpers for copying JavaScript objects, and actual persistent data structure implementations. My post generally analyzed the tradeoffs between both kinds of libraries and everything applies to the below libraries in either category.
Libraries are sorted by github popularity.
100+ different js counter apps... |
@akhleung is working on hcatlin/libsass and was wondering how @extend
is
implemented in the Ruby implementation of Sass. Rather than just tell him, I
thought I'd write up a public document about it so anyone who's porting Sass or
is just curious about how it works can see.
Note that this explanation is simplified in numerous ways. It's intended to
explain the most complex parts of a basic correct @extend
transformation, but
it leaves out numerous details that will be important if full Sass compatibility
invoices/123
?
in a URL like /assignments?showGrades=1
.#
portion of the URL. This is not available to servers in request.url
so its client only. By default it means which part of the page the user should be scrolled to, but developers use it for various things.