Optional - Set format on save and any global prettier options
npm i -D eslint prettier eslint-plugin-prettier eslint-config-prettier eslint-plugin-node eslint-config-node
| // Types for the result object with discriminated union | |
| type Success<T> = { | |
| data: T; | |
| error: null; | |
| }; | |
| type Failure<E> = { | |
| data: null; | |
| error: E; | |
| }; |
| #!/bin/sh | |
| # Uninstall Zsh + Oh My Zsh + Powerlevel10k theme (macOS & Linux) | |
| # run: sh -c "$(curl -fsSL "$(echo "$(curl -s "https://api.github.com/gists/254e58bd87009963b3f58405d75cbe6c")" | grep -o '"raw_url": *"[^"]*"' | cut -d'"' -f4)")" | |
| # Remove installations + configurations | |
| rm -f ~/.p10k.zsh | |
| rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k | |
| sh ~/.oh-my-zsh/tools/uninstall.sh -y | |
| sudo chsh -s $(which bash) |
| import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core'; | |
| // Angular Drag and Drop File | |
| // | |
| // Add this directive to an element to turn it into a dropzone | |
| // for drag and drop of files. | |
| // Example: | |
| // | |
| // <div (appDropZone)="onDrop($event)"></div> | |
| // |
| <?php | |
| /* | |
| * ================================================================================================= | |
| * Below both hooks works for custom post types. | |
| * e.g. Suppose we have custom post-type name : Books | |
| * @ref https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column | |
| * ================================================================================================= | |
| */ |
FWIW: I (@rondy) am not the creator of the content shared here, which is an excerpt from Edmond Lau's book. I simply copied and pasted it from another location and saved it as a personal note, before it gained popularity on news.ycombinator.com. Unfortunately, I cannot recall the exact origin of the original source, nor was I able to find the author's name, so I am can't provide the appropriate credits.
| [{ | |
| "Note": "The first two digits (ranging from 10–43) correspond to the province, while the last two digits correspond either to the city/delivery zone (range 01–50) or to the district/delivery zone (range 51–99). Afghanistan Postal code lookup", | |
| "Country": "Afghanistan", | |
| "ISO": "AF", | |
| "Format": "NNNN", | |
| "Regex": "^\\d{4}$" | |
| }, { | |
| "Note": "With Finland, first two numbers are 22.", | |
| "Country": "Åland Islands", | |
| "ISO": "AX", |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>Sine Wave</title> | |
| <script type="text/javascript"> | |
| function showAxes(ctx,axes) { | |
| var width = ctx.canvas.width; | |
| var height = ctx.canvas.height; | |
| var xMin = 0; |
| var touchstartX = 0; | |
| var touchstartY = 0; | |
| var touchendX = 0; | |
| var touchendY = 0; | |
| var gesuredZone = document.getElementById('gesuredZone'); | |
| gesuredZone.addEventListener('touchstart', function(event) { | |
| touchstartX = event.screenX; | |
| touchstartY = event.screenY; |
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