- XDebug v3+ inside Docker (e.g. php:7.3-apache Docker image)
- Running Docker v20.10+
- VSCode with PHP Debug Extension (Felix Becker)
- Using Docker Compose for orchestration
From scratch:
Remove homebrew from Catalina-Mojave:
https://osxdaily.com/2018/08/12/how-uninstall-homebrew-mac/
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
| npm set registry https://registry.npm.taobao.org && \ | |
| npm set disturl https://npm.taobao.org/dist && \ | |
| npm set sass_binary_site https://npm.taobao.org/mirrors/node-sass && \ | |
| npm set electron_mirror https://npm.taobao.org/mirrors/electron/ && \ | |
| npm set puppeteer_download_host https://storage.googleapis.com.cnpmjs.org && \ | |
| npm set chromedriver_cdnurl https://npm.taobao.org/mirrors/chromedriver && \ | |
| npm set operadriver_cdnurl https://npm.taobao.org/mirrors/operadriver && \ | |
| npm set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs && \ | |
| npm set selenium_cdnurl https://npm.taobao.org/mirrors/selenium && \ | |
| npm set node_inspector_cdnurl https://npm.taobao.org/mirrors/node-inspector && \ |
This example is part of this article.
This is an example for an HLS delivery with basic security. Nginx compiled with nginx-rtmp-module & secure-link is used as media server. Features:
- Domain filtering
- Referrer filtering
- Embed buster
| ########## Install NGINX ############## | |
| # Install software-properties-common package to give us add-apt-repository package | |
| sudo apt-get install -y software-properties-common | |
| # Install latest nginx version from community maintained ppa | |
| sudo add-apt-repository ppa:nginx/stable | |
| # Update packages after adding ppa |
-
Install [ExcelCompare] (https://github.com/na-ka-na/ExcelCompare) in $HOME/bin/excel_cmp
-
Wrapper for non-zero exit code for excel_cmp : $HOME/bin/excel_cmp
echo "diffing $*"
$HOME/bin/excel_cmp/bin/excel_cmp "$1" "$2"
exit 0
- Configure [git config] (file://)
| npm set registry https://r.npm.taobao.org # 注册模块镜像 | |
| npm set disturl https://npm.taobao.org/dist # node-gyp 编译依赖的 node 源码镜像 | |
| ## 以下选择添加 | |
| npm set sass_binary_site https://npm.taobao.org/mirrors/node-sass # node-sass 二进制包镜像 | |
| npm set electron_mirror https://npm.taobao.org/mirrors/electron/ # electron 二进制包镜像 | |
| npm set ELECTRON_MIRROR https://cdn.npm.taobao.org/dist/electron/ # electron 二进制包镜像 | |
| npm set puppeteer_download_host https://npm.taobao.org/mirrors # puppeteer 二进制包镜像 | |
| npm set chromedriver_cdnurl https://npm.taobao.org/mirrors/chromedriver # chromedriver 二进制包镜像 | |
| npm set operadriver_cdnurl https://npm.taobao.org/mirrors/operadriver # operadriver 二进制包镜像 |
In the below keyboard shortcuts, I use the capital letters for reading clarity but this does not imply shift, if shift is needed, I will say shift. So ⌘ + D does not mean hold shift. ⌘ + Shift + D does of course.
| Function | Shortcut |
|---|---|
| New Tab | ⌘ + T |
| Close Tab or Window | ⌘ + W (same as many mac apps) |
| Go to Tab | ⌘ + Number Key (ie: ⌘2 is 2nd tab) |
| Go to Split Pane by Direction | ⌘ + Option + Arrow Key |
Native HTML controls are a challenge to style. You can style any element in the web platform that uses Shadow DOM with a pseudo element ::pseudo-element or the /deep/ path selector.
video::webkit-media-controls-timeline {
background-color: lime;
}
video /deep/ input[type=range] {