起点官方的免费看书渠道
正版阅读的免费渠道
- 腾讯视频的看书栏目
https://openweb.qidian.com/shipinpc/store/classify - 腾讯手游助手的看书栏目
https://openweb.qidian.com/syzspc/store/classify
手游助手的书更全一点。
虽然不是所有书籍都有,但是会有一小部分的热门书籍上架。
你来到了艺术的荒原
手游助手的书更全一点。
虽然不是所有书籍都有,但是会有一小部分的热门书籍上架。
关于 MACOS 使用快捷键关闭屏幕输出的设置方法。
适用: MacBook 2021+ 、MACOS Montery 12.6+
网上能找到的都是用 ctrl + shift + eject ,但是 MacBook 现在已经没有 Eject 键了,单独按电源键只能锁屏,无法立即关闭屏幕输出。
另外一些方法是使用触发角,设置其中一个为关闭屏幕,但是个人实在不愿意使用。
打开自动操作.app
, 打开后选择 快速操作
,在左侧找到 运行 shell 脚本
,双击添加,设置脚本内容为 pmset displaysleepnow
,并且将工作流程输入
改为 无输入
,如图:
配置好之后使用 command + s 保存,并起一个名字,我这里设置为 关闭屏幕
打开 系统偏好设置
-> 键盘
-> 快捷键
,
找到 服务
-> 通用
-> 关闭屏幕
,在后面点击设置一个你喜欢的快捷键
至此,你就可以方便地使用快捷键快速关闭屏幕了。
不只是关闭屏幕,所有可以使用shell脚本执行的操作都可以参考这种方式来使用。
问题来源:私有化的COS存储、基于S3协议进行读写使用。
问题表现:小于 1MB 的文件可以正常上传,大于1MB 必定超时
问题原因:
网关/Nginx 未对 SDK 发出的请求中携带的 expect:100-continue 请求头进行响应。
Nodejs 的 S3 SDK 在实现上需要等待服务端确认 100-continue 才会继续发送数据,服务端不响应 expect:100-continue 的情况下表现为连接超时。
详情可以看 S3 js SDK 源码:
https://github.com/aws/aws-sdk-js/blob/82d8972c3a9a859437dbf42d81b20f07cf86dd58/lib/services/s3.js#L400-L409
/**
* Adds Expect: 100-continue header if payload is greater-or-equal 1MB
* @api private
*/
addExpect100Continue: function addExpect100Continue(req) {
var len = req.httpRequest.headers['Content-Length'];
if (AWS.util.isNode() && (len >= 1024 * 1024 || req.params.Body instanceof AWS.util.stream.Stream)) {
req.httpRequest.headers['Expect'] = '100-continue';
}
},
var expect = httpRequest.headers.Expect || httpRequest.headers.expect;
if (expect === '100-continue') {
stream.once('continue', function() {
self.writeBody(stream, httpRequest);
});
} else {
this.writeBody(stream, httpRequest);
}
RFC 对 Expect:100-continue 的描述
https://www.rfc-editor.org/rfc/rfc2616#section-8.2.3
客户端其实不应该假定服务器一定会响应 100-continue,因为中间可以有若干代理服务不一定能正确完成该响应。
解决方法:
由于 S3 SDK 并未暴露该配置,因此无法在SDK端进行屏蔽,属于是底层机制了, 因此目前只能要求服务端进行适配解决。
换 aws-sdk-js-v3
也就是 @aws-sdk/client-s3
能否解决呢?
不行,v3 版本对于所有携带 Body 的请求都添加了 expect: 100-continue
,没有判断 1MB 。
https://github.com/aws/aws-sdk-js-v3/blob/f4c8f09cb89fe34f5deabcdec3936df69a5edb60/packages/middleware-expect-continue/src/index.ts#L14-L31
关于 Nodejs 中对 Header : expect 的处理
https://nodejs.org/api/http.html#http_event_continue
当设置 Expect 请求头时,该请求头会被立即发送。
https://nodejs.org/api/http.html#http_event_continue
当服务器对 Expect 请求头确认时,会触发 continue 事件。
https://segmentfault.com/a/1190000015928399
在文件夹下面写批处理,例如要做一个 tnpm
alias npm --registry=http://mirrors.cloud.tencent.com/npm/
则创建一个 tnpm.cmd 的文件,写入以下内容
@npm --registry=http://mirrors.cloud.tencent.com/npm/ %1 %2 %3 %4 %5 %6 %7 %8 %9
简单,快速,对 cmd 和 powershell 一起生效
缺点是只能对调用/执行类的这样操作,对于目录跳转之类的,就不太好用
手机、Win 系统的电脑、数据线
进入设置,搜索备份,按流程完成手机数据的备份,并将备份文件拷贝到其他设备(例如电脑)
略,参考官方教程
TWRP 是一个第三方 REC。
操作方法: 参考这篇文章 https://reajason.top/2021/04/12/androidflashrom/#%E2%9A%99%E5%88%B7%E5%85%A5-TWRP
文章已经失效,在这里提供部分相关的文件下载,刷机过程可以 Google 其他教程使用
蓝奏云 https://wwba.lanzoum.com/b03jumpqb 密码:6ef2
注意:由于 Android 9 的加密策略,在刷入 TWRP 之后,需要手动格式化 /data 分区,然后进入 TWRP 的重启选单,选择重启 Recovery。
之后才能在 TWRP 中和电脑中看到手机目录,并且将刷机包复制到手机
刷机包可以去酷安找别人发布好的,也可以用这个
https://www.aliyundrive.com/s/nSKgGgZHidp
该包集成了 Magisk,无需二次刷入。
将 zip 文件下载下来,在TWRP 下,复制到手机存储中,然后在 TWRP 中选择刷入
等待一段时间,即可完成刷入,之后重启手机,首次刷入完成后进入系统会比较慢。
如果能够正常进入系统,即代表刷入成功。