TLDR: Use for...of
instead of forEach()
in asynchronous code.
For legacy browsers, use for...i
or [].reduce()
To execute the promises in parallel, use Promise.all([].map(...))
# CLI | |
sudo apt update -y | |
sudo apt install -y \ | |
git curl docker.io \ | |
build-essential pkg-config autoconf bison rustc cargo clang \ | |
libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \ | |
libvips imagemagick libmagickwand-dev \ | |
redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev \ | |
rbenv apache2-utils |
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteBase / | |
RewriteRule ^index\.html$ - [L] | |
RewriteCond %{REQUEST_FILENAME} !-f | |
RewriteCond %{REQUEST_FILENAME} !-d | |
RewriteRule . /index.html [L] | |
</IfModule> | |
https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations |
These are the steps I went through to set up an SSL cert. Purchase the cert
Prior to purchasing a cert, you need to generate a private key, and a CSR file (Certificate Signing Request). You’ll be asked for the content of the CSR file when ordering the certificate:
openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr
.image:after { | |
display: block; | |
position: absolute; | |
width: 70%; | |
height: 70%; | |
border: 10px solid red; | |
} | |
video | |
{ |
/** | |
* Retrieves all the rows in the active spreadsheet that contain data and logs the | |
* values for each row. | |
* For more information on using the Spreadsheet API, see | |
* https://developers.google.com/apps-script/service_spreadsheet | |
*/ | |
function readRows() { | |
var sheet = SpreadsheetApp.getActiveSheet(); | |
var rows = sheet.getDataRange(); | |
var numRows = rows.getNumRows(); |
alert('omg hi!') |
# propagate titles to the window | |
set -g set-titles on | |
# Minimalist window title "0:bash" | |
set -g set-titles-string "#I:#W" | |
# show colors | |
set -g default-terminal "screen-256color" |
BEGIN:VCARD | |
VERSION:3.0 | |
N:qrd°by; | |
FN:qrd°by | |
TEL;WORK:+43 (0)1997 2742-0 | |
EMAIL;INTERNET:office@qrd.by | |
ADR;INTL;PARCEL;WORK;CHARSET=utf-8:;;Deublergasse 37;Vienna;;1210;Austria; | |
END:VCARD |
I wrote this as a reference for myself because some of the property names are non-obvious, and there are a number of relevant special properties, and there is no central concise listing of them all in GSAP Docs, other than (in longer form) on the CSSPlugin page.
...are all supported, with hyphenated-names
becoming camelCaseNames
. Non-animatable properties are also supported but they will be set at the beginning of the tween.
Special mentions: