add new domain or subdomain to existing letsEncrypt certification with certbot: https://superuser.com/questions/1432541/how-to-add-a-domain-to-existing-certificate-generated-by-let-s-encrypt-certbot
To understand this binding, we have to understand the call-site: the location in code where a function is called (not where it's declared). We must inspect the call-site to answer the question: what's this this a reference to?
The first rule we will examine comes from the most common case of function calls: standalone function invocation. Think of this this rule as the default catch-all rule when none of the other rules apply.
function foo() {
console.log( this.a );
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const wait = ms => new Promise(resolve => setTimeout(resolve, ms)); | |
async function main() { | |
console.log("waiting ...."); | |
await wait(5000); | |
console.log("5 seconds have passed!"); | |
} | |
main(); |
gifify <filename.mpy> -o <filename.gif>
pm2 start google-chrome
--interpreter none
--
--headless
--no-sandbox
--disable-gpu
--disable-translate
--disable-extensions
--disable-background-networking
--safebrowsing-disable-auto-update \
- Don’t forget to turn off
control_flow
, you cannot use a mix ofasync/await
and thecontrol flow
:async/await
causes the control flow to become unreliable. So if youasync/await
anywhere in a spec, you should set theSELENIUM_PROMISE_MANAGER: false
- Note: To write and run native
async/await
test, the node.js version should be greater than or equal to 8.0, and Jasmine version should be greater than or equal to 2.7
- It's the slowest and most brittle locator strategy of all
- Markup is very easily subject to change and therefore xpath locators require a lot of maintenance
- xpath expressions are unreadable and very hard to debug