#!/bin/bash | |
# 停用 唯讀模式 | |
sudo steamos-readonly disable | |
# 初始化 Pacman Keys | |
sudo pacman-key --init | |
sudo pacman-key --populate archlinux | |
# 重新安裝 glibc | |
sudo pacman -S glibc --noconfirm | |
# 編輯 locale.gen | |
sudo sed -i "s%#zh_TW.UTF-8 UTF-8%zh_TW.UTF-8 UTF-8%" /etc/locale.gen |
// ==UserScript== | |
// @name Youtube: Automatic clapping machine | |
// @name:zh Youtube: 自動拍手機器 | |
// @version 1.4.5 | |
// @description 在其它人拍手時自動跟著一起拍 | |
// @author 琳(jim60105) | |
// @match https://www.youtube.com/* | |
// @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com | |
// @license GPL3 | |
// ==/UserScript== |
// ==UserScript== | |
// @name Youtube: Automatically press like after watching 5 minutes of video | |
// @name:zh Youtube: 觀看5分鐘影片後自動按喜歡 | |
// @version 1.1.3 | |
// @description Youtube: Automatically press like after watching 5 minutes of video | |
// @author 琳(jim60105) | |
// @match https://www.youtube.com/* | |
// @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com | |
// @license GPL3 | |
// ==/UserScript== |
/* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | |
* | |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |
* | |
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. | |
**/ | |
header { | |
display: flex; | |
justify-content: center; |
本文譯自 [Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up][tokio-internals]。
Thanks [David Simmons][david-simmons] for this awesome article!
[Tokio][tokio] 是 Rust 的開發框架,用於開發非同步 I/O 程式(asynchronous I/O,一種事件驅動的作法,可實現比傳統同步 I/O 更好的延伸性、效能與資源利用)。可惜的是,Tokio 過於精密的抽象設計,招致難以學習的惡名。即使我讀完教程後,依然不認為自己充分內化這些抽象層,以便推斷實際發生的事情。
從前的非同步 I/O 相關開發經驗甚至阻礙我學習 Tokio。我習慣使用作業系統提供的 selection 工具(例如 Linux epoll)當作起點,再轉移至 dispatch、state machine 等等。倘若直接從 Tokio 抽象層出發,卻沒有清楚了解 epoll_wait()
在何處及如何發生,我會覺得難以連結每個概念。Tokio 與 future-driven 的方法就好像一個黑盒子。
Last updated: April 2021
Also known as itag or format codes and way back they could be specified with the fmt parameter (e.g. &fmt=22
).
Depending on the age and/or popularity of the video, not all formats will be available.
Resolution | AV1 HFR High | AV1 HFR | AV1 | VP9.2 HDR HFR | VP9 HFR | VP9 | H.264 HFR | H.264 |
---|---|---|---|---|---|---|---|---|
MP4 | MP4 | MP4 | WebM | WebM | WebM | MP4 | MP4 |
wget --no-check-certificate --content-disposition https://github.com/joyent/node/tarball/v0.7.1 | |
# --no-check-cerftificate was necessary for me to have wget not puke about https | |
curl -LJO https://github.com/joyent/node/tarball/v0.7.1 |