diff --git "a/2020 \345\271\264\344\272\206-\344\270\272\344\273\200\344\271\210\350\223\235\345\205\211\350\277\230\350\256\251\345\275\261\350\277\267\345\277\203\351\251\260\347\245\236\345\276\200/index.html" "b/2020 \345\271\264\344\272\206-\344\270\272\344\273\200\344\271\210\350\223\235\345\205\211\350\277\230\350\256\251\345\275\261\350\277\267\345\277\203\351\251\260\347\245\236\345\276\200/index.html" new file mode 100644 index 00000000..1916a8a6 --- /dev/null +++ "b/2020 \345\271\264\344\272\206-\344\270\272\344\273\200\344\271\210\350\223\235\345\205\211\350\277\230\350\256\251\345\275\261\350\277\267\345\277\203\351\251\260\347\245\236\345\276\200/index.html" @@ -0,0 +1,71 @@ +2020 年了,为什么「蓝光」还让影迷心驰神往? +

2020 年了,为什么「蓝光」还让影迷心驰神往?

feature-img

「蓝光」是一个离我们非常近,其实又有点远的词。对于一般观众来说,似乎总会在国内视频网站上看到它的身影——比高清、超清更高规格的那个分辨率叫做「蓝光」。

+

而对于电影收藏者,蓝光的含义几乎完全不同——例如今年 1 月 8 日,《大腕》和《飞驰人生》的收藏版蓝光碟同时发售,而所有碟片在两个月前预售时就已被抢售一空。

+

那么什么是蓝光碟,为什么它今天仍受到电影爱好者的如此追捧呢?希望这篇文章能给你一些答案。

+

蓝光光碟的发展历史

说起 DVD,想必不是太年轻的读者都不会陌生。二十年前,每家每户都少不了 DVD 光碟,家长偶尔还会带我们一起逛出租碟片的音像店,捷克动画片、台湾偶像剧和香港电影的碟片曾充斥着我们的童年和少年时期。

+

当年看《古惑仔》看地热血沸腾当年看《古惑仔》看地热血沸腾

+

但随着技术进步以及人们对画质的要求逐渐提高,DVD 的下一代存储格式也应运而生。而在历史上, DVD 的下一代光盘格式曾有两种,一种是我们今天要讨论的蓝光光碟(Blu-ray Disc),另一种则名为 HD DVD (High Definition DVD),在二十一世纪的第一个 10 年,它们曾各占半壁江山。

+

作为 DVD 之后的下一代光盘格式,蓝光光碟和 HD DVD 分别由索尼和东芝主导,一度处于你死我活的竞争关系。2006 年,第一批 HD DVD 电影上市,好莱坞的六大电影制片厂中,环球电影只发行 HD DVD 影碟,而索尼影业旗下的哥伦比亚、福克斯以及迪士尼只支持蓝光影碟,华纳和派拉蒙则同时发行两种影碟。

+

为了抢占市场,HD DVD 阵营选择高价拉拢电影制片厂。派拉蒙的高层曾透露过,HD DVD 阵营曾向派拉蒙支付 1 亿 5 千万美元,以取得派拉蒙一年半的 HD DVD 独占权。而索尼主导的蓝光阵营则有个天然优势——哥伦比亚就是索尼旗下的,而且哥伦比亚的经典影片的数量也比较多。因此在片源的竞争上,两大阵营暂时没有分出高下。然而如果要抢占市场,除了影碟,硬件播放设备也得要全面铺开才行,于是不久后,这场竞争的转折点出现了。

+

2006 年底,索尼推出了支持蓝光碟播放的 PS3 游戏机。一瞬间,那些购买了 PS3 的人同时也拥有了一台蓝光播放器(而且是一台价格相对实惠的播放器),这一举动很快就带动了蓝光碟的销量节节攀升,把 HD DVD 远远地甩在了后面。到了 2008 年,随着电影制片厂转向索尼的蓝光阵营,百思买、沃尔玛等线下商店将 HD DVD 从商店下架,彼时还是线上影碟租赁店的 Netflix 也宣布不再增加用于出租的 HD DVD 影碟库存。最终,2008 年 2 月底,东芝宣布结束所有 HD DVD 相关业务,HD DVD 也就此退出了历史舞台。

+

蓝光不只是高清

蓝光光碟(Blu-ray Disc)采用波长 405 纳米的蓝色激光光束来进行读写操作,因而以蓝光命名。如上文所说,蓝光只是一种存储介质,而并非一种分辨率的格式,但视频网站总爱用它标榜画质,当然也是因为它如大家想象的那样「确实高清」。

+

蓝光碟的分辨率到了什么级别

DVD 时代,受限于 DVD 光碟的容量和显示设备,分辨率最高只有 480P。蓝光出现之后,单面双层的容量为 50GB,于是分辨率相较于 DVD 有了很大的提升,达到了 1080P。分辨率提升后,画面细节相较于 DVD 自然丰富了很多,即便在家里的电视上欣赏电影,也有了更好的沉浸感,可以更专注地享受光影带来的魅力。

+

蓝光碟的单面和双面的容量区别蓝光碟的单面和双面的容量区别

+

要说 1080P 是曾经的 HD-DVD 达到过的高度,在今天的视频网站上也屡见不鲜,但是在甩开对手之后,2015 年蓝光光盘联盟推出了超高清蓝光光盘(Ultra HD Blu-ray,以下简称 「UHD 蓝光」),容量最高可达到 100GB,支持分辨率为 3840×2160 的 4K UHD 视频(有关分辨率以及 4K 的介绍,可以参考我的另一篇文章怎样的视频算得上「高清」?这 3 个「率」很重要),帧速率最高每秒 60 帧,相较于的普通蓝光,画面质量又有了质的飞跃。

+

普通高清 vs 4K HDR普通高清 vs 4K HDR

+

因为容量的增大,所以 UHD 蓝光能采用编码效率更好的 H.265 进行编码,相较于 H.264 大大减小了视频体积。得益于蓝光容量的增大,更多无损压缩的音频格式比如 PCM、杜比 TrueHD、DTS-HDMA 也越来越多地出现在蓝光中,进一步提升了观影体验。

+

除了高清,蓝光碟还带给我们这些

更加优秀的画面效果

其实大多数人对高清的理解只停留在分辨率的层面,但是随着 4K 逐渐普及,UHD 蓝光不仅在分辨率上进行了提升,画面效果也越来越接近于人眼的真实体验,这个至关重要的因素就是 HDR。

+

HDR 的含义是高动态范围成像,意味着图像或者视频的明暗差别更加明显。HDR 技术能够有效地展现不同曝光下的画面细节,色彩过渡更加自然,令画面更加真实,暗部细节也更加丰富。HDR 视频通常是通过捕捉更多的曝光信息再渲染成一个动态范围更广的视频。

+

在 2016 年蓝光光盘联盟发布的在 UHD 蓝光标准中,要求支持 HDR10,并可选择支持杜比视界。这两个是 HDR 技术的两个标准。HDR10 是最常见的一个的 HDR 标准,它要求 10bit 色深和 BT.2020 色域,这意味着画面色彩过渡更加自然、画面精度更高以及画面色彩更丰富。与 HDR10 相比,杜比视界支持高达 10000 尼特的亮度,而 HDR 最高为 1000 尼特,是后者的整整十倍;同时,杜比视界还支持 12bit 的色深。此外,杜比视界支持的视频内容包括逐帧元数据,它意味着杜比视界允许元数据一帧一帧地补充和适应 HDR 图像。所以杜比视界可以比 HDR10 更加精细地展示画面。

+

但是,尽管杜比视界的显示效果更加优秀,授权费用却相当不菲,让很多厂商望而却步;而 HDR10 则是免费开源的标准,所以现在市面上看到的 HDR 基本都是 HDR10。下面两张对比图展示了杜比视界对标准动态范围图像的处理。

+

杜比视界前杜比视界前

+

杜比视界后杜比视界后

+

更丰富的独家内容

蓝光在各地发行的时候,正片会针对各个地区做不同处理,除了字幕和音轨的差异,有时候还会对画面内容做一些特殊处理。比如迪斯尼的部分台版蓝光会把影片中的一些英文内容替换为中文。

+

而且不同版本的蓝光,画面质量也会因为码率或者胶片修复的质量不同而参差不齐。所以,会有人收藏喜爱的电影的 N 版修复版蓝光碟,直到收藏到一个满意的蓝光版本为止(由于不同蓝光碟的画质差异较小,因此下图用 DVD vs 2K 蓝光碟来对比画质)。

+

《机器人总动员》中美版和港版的差别《机器人总动员》中美版和港版的差别

+

《黑炮事件》DVD《黑炮事件》DVD

+

《黑炮事件》2K修复版蓝光《黑炮事件》2K修复版蓝光

+

除了电影正片,一般还会有拍摄花絮、删减片段、幕后访谈、导演评论音轨等额外内容,部分电影还会在蓝光碟中加入导演剪辑版。比如《流浪地球》蓝光套装中,除了一张 BD-50 正片碟,还有一张 BD-25 的花絮碟,此外还包含 240 页剧本,120 页画册(含剧照、幕后、分镜、概念图)以及导演+制片的评论音轨;张艺谋的《英雄》上映版本为 93 分钟,而发行的韩版蓝光版本为 110 分钟,足足多了 17 分钟的内容。这些内容是没办法在电影院中看到的,很多人购买收藏蓝光也是因为能欣赏到更多更丰富的内容。

+

碟影传媒发行的《流浪地球》的蓝光内容碟影传媒发行的《流浪地球》的蓝光内容

+

如何购买和观赏蓝光碟

购买蓝光碟

如果要查询一部电影的蓝光发行时间,可以到https://www.blu-ray.com/进行查询,这个网站基本涵盖了几乎所有电影的蓝光信息。在这里你能查询到即将要发行的电影蓝光的发行时间、编码、分辨率、HDR 标准、字幕和音频信息以及购买价格等等信息。所以它是很多电影发烧友必备的一个查询网站。

+

飞屋环游记即将发行的4K蓝光飞屋环游记即将发行的4K蓝光

+

如果要购买蓝光碟,主要渠道还是亚马逊海淘,因为绝大部分的国外蓝光只在亚马逊上进行销售,而且价格相对于一张电影票来说算是相当昂贵了:一张普通蓝光需要 20 美元,而对应的 UHD 蓝光则需要在 40 美元左右。如果发行的这部电影的蓝光比较稀有,则价格还会更高。另外,蓝光碟的外盒包装也会存在质量差异,一般铁盒对影碟的保护要更好,价格也会比普通包装更高一些。

+

国内比较方便的购买渠道就是淘宝,比较知名的蓝光发行商碟影传媒会发行一些国内外的经典影片,比如文章最开始提到的《大腕》和《飞驰人生》都是这家发行的。通常在正式发行前会进行预售,因为碟影传媒的蓝光基本都是限量发行,一般都会在预售阶段就会被抢购一空,成为绝版,因此有些制作精良的优秀电影还是有很高的收藏价值的。

+

欣赏蓝光碟

欣赏蓝光碟前先要了解锁区的概念。为了防止盗版,蓝光通过划分区码来限定只能在某一地区播放。在中国大陆境内,发展初期本土蓝光播放器发展速度较缓,所以片源多由香港(A 区)流入,并导致部分境外(港产、日产等 A 区机型为主)蓝光机进入市场;且因 PS3(台版、港版、日版、美版、韩版等蓝光 A 区机型)的大规模普及,导致市售标记“C 区”蓝光一般包含 A、C 区或者为全区。但是超高清蓝光没有区域限制。

+

蓝光光盘区码分布图蓝光光盘区码分布图

+

如果只是播放普通蓝光,SONY PS4、XBox One 或者一台带有蓝光电脑光驱的电脑都可以胜任。但是如果要选购支持 4K UHD 的蓝光播放器,可供选择的就比较少了。索尼或者松下会是比较好的选择,价位大概需要在 3000 到 6000 元左右,低于这个价位的基本不算真正意义的 4K 蓝光播放器。另外如果你恰好有一台 XBOX ONE S,也是可以播放 4K UHD 蓝光的。它应该是目前性价比最高的播放器。

+

选购完支持 4K 的播放器之后还要选择一个同样支持 4K 以及符合 HDR10 或者杜比视界的电视。电视在购买过程中也要处处小心,虽然目前国内的 4K 电视都说自己支持 HDR,但是符合 HDR10 标准的没有几个。购买前可以通过这个网站https://www.rtings.com/查询自己想购买的电视型号的评分和 HDR 支持情况,避免被不良商家忽悠。

+

索尼某款电视的评分索尼某款电视的评分

+

写在最后

最后还是想提一下国内视频网站上把蓝光当作分辨率的做法,无非就是提高了视频码率,然后就拿这个噱头来卖自家的会员,即便购买了会员享受到的「蓝光」也远远不及普通蓝光碟的画质。

+

对于大多数人来说,购买蓝光碟还是一件门槛挺高的行为,但是有必要了解一些基础常识,避免被一些网站蒙骗。对于电影爱好者或者收藏爱好者来说,蓝光可以算是电影的终极追求了,收藏一些自己最爱电影的蓝光碟在家中,可以沉浸其中反复回味。

+

不管你是哪种观众,希望这篇文章能帮助到同样爱电影的你。

+

我收藏的《黑炮事件》影碟,同样由碟影传媒发行我收藏的《黑炮事件》影碟,同样由碟影传媒发行

+
\ No newline at end of file diff --git "a/TransClient\345\276\256\344\277\241\345\260\217\347\250\213\345\272\217\346\233\264\346\226\260 /index.html" "b/TransClient\345\276\256\344\277\241\345\260\217\347\250\213\345\272\217\346\233\264\346\226\260 /index.html" new file mode 100644 index 00000000..8e24e48b --- /dev/null +++ "b/TransClient\345\276\256\344\277\241\345\260\217\347\250\213\345\272\217\346\233\264\346\226\260 /index.html" @@ -0,0 +1,27 @@ +TransClient微信小程序更新 可以支持添加µTorrent客户端了 +

TransClient微信小程序更新 可以支持添加µTorrent客户端了

feature-img

TransClient 上线以来,得到了很多朋友的喜欢,还给我提出了很多不错的意见,M-Team 的站长还有海盗还帮我免费宣传,真的非常感动!

+

所有的意见我都有认真地看,希望可以短时间内把这些功能更新上去,让它更加完美。如果你对 TransClient 还有更多的想法,也可以加入我的 Telegram 群组 https://t.me/transclient 和我交流,我会尽量解决大家的问题。

+

本来就只是一个自己的 idea,做就做了,没想太多,直到看到现在这么多人使用让我突然感受到它的意义。甚至有些海外的朋友特意和我表达感谢和支持,这些都是我继续下去的动力,再次真心感谢各位。

+

小程序上线到现在,一共发布了 5 个版本,除了解决一些 bug,还在添加下载服务器的页面增加了帮助说明,方便大家排查遇到的连接问题。

+

昨天发布的最新版本增加了 µTorrent 的支持,如果需要在 TransClient 里添加 µTorrent,需要在 µTorrent 里打开 Web UI,同时需要下载 webui.zip 安装包,放到 µTorrent 根目录下,不需要解压。

+

+

如果下载链接的后缀不是 .torrent,µTorrent 是不支持添加的,TransClient 对非 .torrent 后缀的的下载链接也做了兼容,同样可以添加到 µTorrent 并成功下载,欢迎大家体验。

+

关于后续计划,有很多的想法但是又没有太多时间去一一实现,只能一步步来。下一步会增加 rTorrent 的支持,然后会增加更多对种子的操作和管理功能,等这些功能都进一步完善后,会支持局域网内客户端的支持,敬请期待吧。

+

最后,还是感谢大家的支持,你们的喜欢是我坚持做下去的唯一动力,感谢!

+
\ No newline at end of file diff --git a/archives/2019/12/index.html b/archives/2019/12/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2019/12/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2019/index.html b/archives/2019/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2019/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2020/01/index.html b/archives/2020/01/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2020/01/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2020/02/index.html b/archives/2020/02/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2020/02/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2020/04/index.html b/archives/2020/04/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2020/04/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2020/05/index.html b/archives/2020/05/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2020/05/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2020/06/index.html b/archives/2020/06/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2020/06/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2020/index.html b/archives/2020/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2020/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2022/03/index.html b/archives/2022/03/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2022/03/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2022/05/index.html b/archives/2022/05/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2022/05/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2022/07/index.html b/archives/2022/07/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2022/07/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2022/09/index.html b/archives/2022/09/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2022/09/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2022/index.html b/archives/2022/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2022/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2024/01/index.html b/archives/2024/01/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2024/01/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/2024/index.html b/archives/2024/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/2024/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 00000000..c25a7ae6 --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/atom.xml b/atom.xml new file mode 100644 index 00000000..72211da1 --- /dev/null +++ b/atom.xml @@ -0,0 +1,563 @@ + + + 独语 + + + + + + 2024-01-08T07:17:23.000Z + https://duyu.page/ + + + Rick Lee + + + + Hexo + + + 算法与数据结构之栈(Stack)和队列(Queue) + + https://duyu.page/%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B9%8B%E6%A0%88(Stack)%E5%92%8C%E9%98%9F%E5%88%97(Queue)/ + 2024-01-08T03:49:53.000Z + 2024-01-08T07:17:23.000Z + + 栈(Stack)
  1. 定义: 栈是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加到栈中的元素会是第一个被移除的。
  2. 基本操作:
    • push: 向栈顶添加一个元素。
    • pop: 移除并返回栈顶元素。
    • peek/top: 返回栈顶元素而不移除它。
    • isEmpty: 检查栈是否为空。
    • size: 返回栈中元素的数量。
  3. 应用:
    • 函数调用和递归。
    • 撤销操作(如文本编辑器中的撤销)。
    • 括号匹配等。
  4. 实现:
    • 可以使用数组或链表实现。
    • 在数组实现中,栈的大小可能是固定的或动态扩展的。
    • 在链表实现中,栈可以动态地增长,并且不存在大小的限制。

队列(Queue)

  1. 定义: 队列是一种遵循先进先出(FIFO, First In First Out)原则的数据结构。这意味着最先添加到队列的元素会是第一个被移除的。
  2. 基本操作:
    • enqueue: 在队列的尾部添加一个元素。
    • dequeue: 移除并返回队列头部的元素。
    • front: 返回队列头部的元素但不移除它。
    • isEmpty: 检查队列是否为空。
    • size: 返回队列中元素的数量。
  3. 应用:
    • 数据缓冲(如打印任务队列)。
    • 任务调度。
    • 在宽度优先搜索算法中使用。
  4. 实现:
    • 可以使用数组或链表实现。
    • 链表实现更为常见,因为它可以轻松地在两端添加和删除元素。
    • 在数组实现中,通常使用循环队列来避免空间浪费。

对比

  • 主要区别: 栈是LIFO,而队列是FIFO。
  • 使用场景: 栈通常用于解决涉及递归、回溯等问题,而队列适合于处理按顺序处理的任务。

在JS/Python/Go中的应用

  • JavaScript:

    • 栈可以用数组实现(使用 pushpop 方法)。

    • 队列同样可以用数组实现(使用 pushshift 方法)。

    • 示例代码

      • 栈(Stack)
      class Stack {    constructor() {        this.items = [];    }    push(element) {        this.items.push(element);    }    pop() {        if (this.items.length === 0) return "Underflow";        return this.items.pop();    }    peek() {        return this.items[this.items.length - 1];    }    isEmpty() {        return this.items.length === 0;    }    size() {        return this.items.length;    }}// 使用栈let stack = new Stack();stack.push(10);stack.push(20);console.log(stack.peek()); // 输出: 20stack.pop();console.log(stack.peek()); // 输出: 10
      • 队列(Queue)
      class Queue {    constructor() {        this.items = [];    }    enqueue(element) {        this.items.push(element);    }    dequeue() {        if(this.isEmpty()) return "Underflow";        return this.items.shift();    }    front() {        if(this.isEmpty()) return "No elements in Queue";        return this.items[0];    }    isEmpty() {        return this.items.length === 0;    }    size() {        return this.items.length;    }}// 使用队列let queue = new Queue();queue.enqueue(10);queue.enqueue(20);console.log(queue.front()); // 输出: 10queue.dequeue();console.log(queue.front()); // 输出: 20
  • Python:

    • 栈可以用列表实现(使用 appendpop 方法)。
    • 队列可以用 collections.deque 实现,以支持高效的元素添加和删除。
    • 示例代码
      • 栈(Stack)
        class Stack:    def __init__(self):        self.items = []    def push(self, item):        self.items.append(item)    def pop(self):        if not self.is_empty():            return self.items.pop()        return "Underflow"    def peek(self):        if not self.is_empty():            return self.items[-1]        return "Empty Stack"    def is_empty(self):        return len(self.items) == 0    def size(self):        return len(self.items)# 使用栈stack = Stack()stack.push(10)stack.push(20)print(stack.peek())  # 输出: 20stack.pop()print(stack.peek())  # 输出: 10
      • 队列(Queue)
        from collections import dequeclass Queue:    def __init__(self):        self.items = deque()    def enqueue(self, item):        self.items.append(item)    def dequeue(self):        if not self.is_empty():            return self.items.popleft()        return "Underflow"    def front(self):        if not self.is_empty():            return self.items[0]        return "Empty Queue"         def is_empty(self):        return len(self.items) == 0    def size(self):        return len(self.items)# 使用队列queue = Queue()queue.enqueue(10)queue.enqueue(20)print(queue.front())  # 输出: 10queue.dequeue()print(queue.front())  # 输出: 20
  • Go:

    • 栈和队列通常需要自己实现,可以使用切片(slice)来实现栈,而队列则可以使用切片或链表实现。
    • 示例代码
      • 栈(Stack)
        package mainimport "fmt"type Stack []intfunc (s *Stack) Push(v int) {    *s = append(*s, v)}func (s *Stack) Pop() int {    if len(*s) == 0 {        return -1 // 表示栈空    }    index := len(*s) - 1    element := (*s)[index]    *s = (*s)[:index]    return element}func main() {    var stack Stack    stack.Push(10)    stack.Push(20)    fmt.Println(stack.Pop()) // 输出: 20    fmt.Println(stack.Pop()) // 输出: 10}
      • 队列(Queue)
        package mainimport "fmt"type Queue []intfunc (q *Queue) Enqueue(v int) {    *q = append(*q, v)}func (q *Queue) Dequeue() int {    if len(*q) == 0 {        return -1 // 表示队列空    }    element := (*q)[0]    *q = (*q)[1:]    return element}func main() {    var queue Queue    queue.Enqueue(10)    queue.Enqueue(20)    fmt.Println(queue.Dequeue()) // 输出: 10    fmt.Println(queue.Dequeue()) // 输出: 20}
]]>
+ + + + + + <h3 id="栈(Stack)"><a href="#栈(Stack)" class="headerlink" title="栈(Stack)"></a>栈(Stack)</h3><ol> +<li><strong>定义</strong>: 栈是一种遵循后进先出(LIFO, La + + + + + + + + + + + + +
+ + + 我筛选出了评分最高的十位Cambly英语口语老师 + + https://duyu.page/%E6%88%91%E7%AD%9B%E9%80%89%E5%87%BA%E4%BA%86%E8%AF%84%E5%88%86%E6%9C%80%E9%AB%98%E7%9A%84%E5%8D%81%E4%BD%8DCambly%E8%8B%B1%E8%AF%AD%E5%8F%A3%E8%AF%AD%E8%80%81%E5%B8%88/ + 2024-01-02T11:51:46.000Z + 2024-01-08T07:17:23.000Z + + 最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数量进行筛选,而且这些数据也不会在老师的详情页面进行展示。

站在Cambly的角度,这样的做法可能会给更多的老师机会,而不是全部学生都集中选某几个老师。但是对于我们用户来说,我们还是希望自己可以选到最优秀最有经验的老师。

于是我对Cambly的老师做了下筛查,筛选条件定为好评的数量大于1000,同时当前支持预约,按评分由高到低,筛选出了这10位老师。

TOP1

🌟 Teacher Sarah 🌟

  • 评分人数: 1099 👥
  • 好评数量: 1096 👍
  • 学生人数: 205 🎓
  • 平均评分: 4.97 ⭐️

TOP2

🌟 Nothemba 🌟

  • 评分人数: 2782 👥
  • 好评数量: 2772 👍
  • 学生人数: 455 🎓
  • 平均评分: 4.97 ⭐️

TOP3

🌟 Imran Malik 🌟

  • 评分人数: 1557 👥
  • 好评数量: 1548 👍
  • 学生人数: 299 🎓
  • 平均评分: 4.96 ⭐️

TOP4

🌟 Conor 🌟

  • 评分人数: 1229 👥
  • 好评数量: 1225 👍
  • 学生人数: 292 🎓
  • 平均评分: 4.96 ⭐️

TOP5

🌟 John from the UK 🌟

  • 评分人数: 2594 👥
  • 好评数量: 2572 👍
  • 学生人数: 446 🎓
  • 平均评分: 4.96 ⭐️

TOP6

🌟 Nick Twyman 🌟

  • 评分人数: 3653 👥
  • 好评数量: 3637 👍
  • 学生人数: 747 🎓
  • 平均评分: 4.95 ⭐️

TOP7

🌟 Teacher Rami 🌟

  • 评分人数: 2296 👥
  • 好评数量: 2290 👍
  • 学生人数: 444 🎓
  • 平均评分: 4.95 ⭐️

TOP8

🌟 Fatimah Graham 🌟

  • 评分人数: 1108 👥
  • 好评数量: 1104 👍
  • 学生人数: 374 🎓
  • 平均评分: 4.95 ⭐️

TOP9

🌟 Charles Riss 🌟

  • 评分人数: 1965 👥
  • 好评数量: 1956 👍
  • 学生人数: 356 🎓
  • 平均评分: 4.95 ⭐️

TOP10

🌟 Teacher Salman 🌟

  • 评分人数: 4846 👥
  • 好评数量: 4826 👍
  • 学生人数: 781 🎓
  • 平均评分: 4.95 ⭐️

根据我的经验,老师的教学风格是否适合自己还是要亲自试一试,以上的数据可以当作一个参考的维度。

最后希望大家都可以在cambly上找到自己心仪的老师。

]]>
+ + + + + + <p>最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数量进行筛选,而且这些数据也不会在老师的详情页面进行展示。</p> +<p>站在Ca + + + + + + + + + + + + +
+ + + 当思绪无处收留 + + https://duyu.page/%E5%BD%93%E6%80%9D%E7%BB%AA%E6%97%A0%E5%A4%84%E6%94%B6%E7%95%99/ + 2022-09-20T04:43:23.000Z + 2024-01-08T07:17:23.000Z + + 重新拥有表达的欲望可能因为自己独处的时间的越来越多,现实里跟人的交流的越来越少。

如今,自由地表达和自由地呼吸不知道哪个更困难一些。朋友圈只适合装逼,微博上我只会愤怒,推特上大家都在讨论政治,收留我负面情绪的地方可能就只剩了饭否和豆瓣了。

今天看到饭否有人说,审核机制后 TL 上看到的消息,都像是地球上看到星星数万年前发出的光。虽然上面还封存着我十年前的记忆,还有几个熟悉又陌生的饭友,但我更了几条后实在忍受不了这样的蛮横粗鲁的审核机制。编辑好一条消息发送出去后,这条消息的命运就交给了幕后那个不知道是人工还是程序的审核员。等了几十分钟后再看,这条消息就像从来没出现在这个互联网宇宙里一样。我觉得难过,也觉得悲哀。他们连一个可能活跃用户数不到一万的平台都不肯放过。

注销了用了十年多的豆瓣,幸好有备份的工具,可以把十年的记录保存下来一些。要在豆瓣发东西,你需要过滤掉政治有关的一切。我想,可能在朋友圈发点政治相关的东西还有点效果,至少可能还有人能看到。现在好了,这里没有了现实里认识的人,我终于能记录一些更忠于自己内心想法的思绪。

当然,我也可以选择到自己的博客,但它像个没人会发现的一座孤岛,我写完一篇文章后发现自己更孤独了。

]]>
+ + + + + + <p>重新拥有表达的欲望可能因为自己独处的时间的越来越多,现实里跟人的交流的越来越少。</p> +<p>如今,自由地表达和自由地呼吸不知道哪个更困难一些。朋友圈只适合装逼,微博上我只会愤怒,推特上大家都在讨论政治,收留我负面情绪的地方可能就只剩了饭否和豆瓣了。</p> +<p>今天看 + + + + + + + + +
+ + + 看了两部神秘的电影 + + https://duyu.page/%E7%9C%8B%E4%BA%86%E4%B8%A4%E9%83%A8%E7%A5%9E%E7%A7%98%E7%9A%84%E7%94%B5%E5%BD%B1/ + 2022-09-17T15:51:50.000Z + 2024-01-08T07:17:23.000Z + + 前些天在一个电影节的微信群中偶然看到一条观影的消息,点开后发现都是平遥和 First 出来的片子,毫不犹豫的选了两部。
放映的日子是今天下午,到了早上才收到放映地点的短线通知,搞得这一场电影放映像特务接头。
后来看群里的人讨论,才意识到这是两部没有龙标的片子,有可能会被别有用心的人举报。
第一部是疫情背景下的电影,一男一女在空旷的城市里游荡。两个主角在小城里很自由,镜头的调度也很自由,会忽然一转对准正在炸响的鞭炮或者窗台上随风摇摆的衣服。映后想问问导演这些镜头是闲来之笔还是事先就设计好的,想了想答案是什么也好像无关紧要。
最让我触动的是电影最后,两个人隔着口罩热吻,我觉得这是这部电影里最有力量的一个镜头。不到三年,口罩已经成为了我们身体的一部分,我还依稀记得第一次戴上它的不适,现在如果让我想象彻底摘掉他的那天会是什么样子,我没有办法。可能以后接吻就要像戴着避孕套一样戴着口罩吧。这个荒诞的国家里没有什么不可能,对吧。
这部电影也让我惊叹,我居然有生之年能在国内电影院里看到如此大尺度的电影。我也开始反思,我一直离不开北京的原因,可能就是有这么多的可能性吧。

第二部是关于广东汕尾两个女生的故事,也是一部游荡的电影。导演触碰现实问题有点过于直白,但电影我看得很舒服。电影让我想起一部 Netflix 的一部纪录片《寻》,几个在美国被收养的女生,回到广东寻亲的故事。这几年我们的计划生育政策来了个大转弯,但是一些地方的女生的生存现状可能还是没有多少改变。挺无奈的。

]]>
+ + + + + + <p>前些天在一个电影节的微信群中偶然看到一条观影的消息,点开后发现都是平遥和 First 出来的片子,毫不犹豫的选了两部。<br>放映的日子是今天下午,到了早上才收到放映地点的短线通知,搞得这一场电影放映像特务接头。<br>后来看群里的人讨论,才意识到这是两部没有龙标的片子,有 + + + + + + + + + + + + +
+ + + 我买了个表 + + https://duyu.page/%E6%88%91%E4%B9%B0%E4%BA%86%E4%B8%AA%E8%A1%A8/ + 2022-09-07T15:12:53.000Z + 2024-01-08T07:17:23.000Z + + 买表

北京在五月经历了一波疫情,居家办公了一个月。我在居家前屯了几瓶 1L 的可乐,居家的一个月我基本上都喝的这个。

几个月后,终于可以回家了,妈妈看到我的肚子,开始劝我减肥,我羞愧难当。

连我爸妈都看不下去了,我是得胖成了什么样子。

我也不想成为一个大腹便便的中年人。

回来之后,在朋友的怂恿下,马上跑去店里买了个 Apple Watch。

朋友说,买了它才会喜欢运动,我半信半疑。

如今,买了已经快两个月了。体重好像也没什么变化,但我看上去好像确实瘦了点,希望不是我的错觉。最重要的是,我居然把每周的跑步坚持下来了。

有了手表后,我决定每天走路到地铁,下了地铁后走路到公司。不然的话每天设定的活动目标就达不到。这样的话每天可以步行 4 公里。每周坚持跑步,从最开始的每周一次到最近的每周三次。
还记得第一次戴着手表跑步是去的奥森,气喘吁吁地跑完,几乎走了半程,心率也飙到了 190+。

惨不忍睹。

跑完之后觉得还不尽兴,于是就晃悠了到了鸟巢附近,一边走一边和老爸视频,让他看看鸟巢和水立方,当然了,还有旁边各种才艺表演的大爷大妈。最后那天消耗的大卡有 1000 多。

后面再跑步,慢慢可以把 5km 全程一口气跑完了,再然后慢慢也把速度也提了上来,已经能跑进 6min/km 了。虽然心率还是有点高,但还是很开心。

每次跑完我都特别渴特别饿,从跑步回来的路上会经过一家兰州拉面和一家烟酒店。我都会买一瓶脉动然后去点一碗牛肉拉面。这让我很苦恼,这可能就是我一直不掉秤的原因。

上周突然又想到是不是下班可以骑车回家,看上去只有 8 公里。

骑了两次共享单车,屁股实在是疼,放弃了。

PRO

前几天在论坛里讨论 9 月挑战奖章的时候,看到有个家伙说:感觉自己像是生产队的驴,天天在给个破手表打工。确实,如果要说这个手表有给我带来什么改变的话,我确实有点要变成给手表打工的样子。

我想要拿到所有能拿的奖章:每月挑战奖章、限量版挑战奖章、竞赛奖章。每次拿到奖章的感觉就像小时候拿到期末考试的奖状,恨不得把家里的一面墙都糊满。这种感觉尤其在添加了几个一起锻炼的好友后更加明显。看到别人在运动的时候,同时也会为自己的偷懒感到羞愧。有时候这边刚刚合上圆环的时候就准备休息,那边可能就有一个你的好友跟你说:怎么?刚刚过了目标这就要休息了?

还有一个竞赛的功能,可以跟好友一起进行一场为期 7 天的竞赛。不得不说它很容易激起你的胜负欲,因为它有一个用这个好友名字命名的专属奖章。

健身 APP 虽然没有多少功能,但在督促你锻炼这件事上做的足够完美。我这么一个经常半途而废的人能坚持两个月的运动属实是个小小的奇迹。一方面是奖章的激励,另外一个是跟好友的互动。它让我体验到更多运动的快乐。

CONS

但这个表也有很多让我抓狂的时刻。

上个月的某天突然看不到好友 A 的健身数据了,他也看不到我的数据,也没办法发送共享申请。没想到第二天我的也跟他一样的情况。好友 B 得数据也看不到了,删了 B 重新共享也失败了。而 B 那边一切正常,也能看到我的数据。

我们三个的情况:我:美区 A: 国区 B: 港区

我和出问题的 A 共同的地方是我俩会在同一个手机的 AppStore 上切换登录不同的 AppleID 。

然后是我排查问题的过程:

  • 开美国 ip 全局
  • 更新手机和手表的系统 重启手机、手表系统
  • 取消和手表的配对重新配对
  • 切换手机系统语言、地区
  • 换个手机跟手表配对

以上都没办法解决后,我怀疑是 AppleID 出了问题。我就把 iCloud 的 AppleID 切换成了另一个国区 ID ,发现马上恢复正常了。

于是我跟苹果客服反馈,让她帮我确认下是否 AppleID 出了问题。他们那边的工程师确认过后说我的账号没有任何问题,他们也不确定什么问题。反正就来回让我试我刚刚列举的那几个办法。

来来回回半个月后,苹果客服直接不搭理我了。

没办法跟好友共享的那些天,简直抓心挠肝,觉得自己的锻炼大计要就此夭折。幸运的是我在某个论坛发了帖子求助后的几天,它居然自己好了。

但是它也没好透,每天早上起来都有新的 bug。

要么是好友的数据更新不同步,要么是收不到好友的邀请,又或者是突然看不到好友的数据。越是临近苹果的新品发布会,遇到这些 bug 的概率越大。可能苹果的工程师们最近正在 debug。

最后

虽然有点小波折,但整体上我还是很感激这块手表带给我的改变。希望我可以拿到「3000 次活动目标」奖章。而且最重要的是瘦下来,然后健康快乐地活着。

]]>
+ + + + + + <h2 id="买表"><a href="#买表" class="headerlink" title="买表"></a>买表</h2><p>北京在五月经历了一波疫情,居家办公了一个月。我在居家前屯了几瓶 1L 的可乐,居家的一个月我基本上都喝的这个。</p> +<p>几个月后,终于 + + + + + + + + + + +
+ + + 事情他该有的那个样子 + + https://duyu.page/%E4%BA%8B%E6%83%85%E4%BB%96%E8%AF%A5%E6%9C%89%E7%9A%84%E9%82%A3%E4%B8%AA%E6%A0%B7%E5%AD%90/ + 2022-07-11T09:38:20.000Z + 2024-01-08T07:17:23.000Z + + 常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。

但如今的环境,已经容不得任何不一样的声音。大家都张牙舞爪地破口大骂阴阳怪气地冷嘲热讽。每个人都试图揪着对方的一点点漏洞把你打败。我们现在只剩下了一种声音,另一种声音被当成了异类,成了’不爱 x 滚出 xx’。不要说批评的声音看不见了,爱国爱的不够用力都要被拉出来口诛笔伐。

这是一个正常的世界么?

我也不想被封号被删帖被禁言被喝茶被因为讨论政治丢掉工作。我也想岁月静好两耳不闻窗外事。但我们的同胞我们自己在经历着各种各样的苦难啊。你说这不关我事,我自己都顾不过来呢。我当然希望大家都你好我好大家好,但是如果,如果有一天我们自己经历了同样的困境,一样和他们深陷绝望,我们难道只能对自己说:活该我倒霉?

我们为什么不能想想这些苦难是不是可以避免、苦难发生了我们可以怎么去尽一份力、这个世界的运行方式真的就是对的么、我们要给自己的后代这么一个世界么?

我希望天是蓝的草是绿的银行的钱可以取出来花钱买的房子可以住进去女生出去吃饭可以不被流氓骚扰去医院不会被拿刀的人砍伤。

我只是希望事情是他该有的那个样子。

]]>
+ + + + + + <p>常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。</p> +<p>但如今的环境,已经容不得任何不一样的声音。大家都张牙舞爪地破口大骂 + + + + + + + + + + + + + + +
+ + + 2020年,电影节看完电影,走在平遥古城的大街上 + + https://duyu.page/%E7%94%B5%E5%BD%B1%E8%8A%82%E7%9C%8B%E5%AE%8C%E7%94%B5%E5%BD%B1-%E8%B5%B0%E5%9C%A8%E5%B9%B3%E9%81%A5%E5%8F%A4%E5%9F%8E%E7%9A%84%E5%A4%A7%E8%A1%97%E4%B8%8A/ + 2022-05-13T08:29:24.000Z + 2024-01-08T07:17:23.000Z + + ]]> + + + + + + <iframe width="560" height="500" src="https://www.youtube.com/embed/ns3yD-1AVHo" title="YouTube video player" frameborder="0" allow="acceler + + + + + + + + + + + + + + 记一次多个站点账号被盗的经历 + + https://duyu.page/%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9%E8%B4%A6%E5%8F%B7%E8%A2%AB%E7%9B%97%E7%9A%84%E7%BB%8F%E5%8E%86/ + 2022-03-29T03:04:04.000Z + 2024-01-08T07:17:23.000Z + + 一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。

这个时候有点慌了,难道被网站 ban 号了?

最近也没干啥违规的事,只是用它下了几集美剧。

然后我去找站点管理,管理说我是不是有些对外开放的服务没有加密码,我的 API KEY 被一个美国的 IP 正在使用。

这个时候我才意识到可能是我的 Sonarr 出问题了。之前为了图方便,一直觉得上密码没必要。 Sonarr 连接的 Jackett 也没做端口转发,侥幸的以为会没啥问题。

盗号的人应该是我在下载的时候知道了我的 IP,进而发现了我 Sonarr 的端口。至于怎么根据 Sonarr 里填写的 Indexer 信息改了我的密码甚至邮箱,我到现在也没搞明白。离谱的是一起丢了的两个站都是随机密码,也没添加到 Sonarr 和 Jackett 里,居然也被盗了。

痛定思痛,决定给所有的内网服务都加上强密码。先检查了一遍 Chrome 保存的弱密码,都改成强密码并转移到 1password 里统一管理,然后清空 Chrome 里保存的所有密码。然后关闭所有转发出去的端口,只留一个用于反代。同时通过脚本自动申请免费的 SSL 证书,这样可以通过不同二级域名访问不同的服务,端口号只需要转发出去一个就够了。这样也方便了 1password 在填写密码的正确识别到当前网站对应的密码。

参考的教程地址: NAS 相关 篇七:群晖反向代理小保姆级使用教程

另外由于我的 Sonarr 里还添加了 Qbittorrent 的账号密码,以防万一我把我所有 PT 站的 passkey 又改了一遍。改的时候发现 flood 就自带了批量改种子 Tracker 的功能,很是方便。到这里我才算折腾完了。

总结

不要心存任何侥幸,除了不要使用相同密码或者弱密码外,还要注意不要随便做端口转发,做了转口转发的一定要加上强密码。否则在一些人眼里你就是在裸奔。

]]>
+ + + + + + <p>一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。</p> +<p>这个时候有点慌了,难道被网站 ban 号了?</p> +<p>最近也没干啥违规的事,只是用它下了几集 + + + + + + + + + + + + +
+ + + 如何将自己豆瓣想看的电影同步到Radarr + + https://duyu.page/%E5%A6%82%E4%BD%95%E5%B0%86%E8%87%AA%E5%B7%B1%E8%B1%86%E7%93%A3%E6%83%B3%E7%9C%8B%E7%9A%84%E7%94%B5%E5%BD%B1%E5%90%8C%E6%AD%A5%E5%88%B0Radarr/ + 2022-03-18T08:12:07.000Z + 2024-01-08T07:17:23.000Z + + 安装 radarr 的步骤略过不表,在 Radarr「设置 ⇒ 列表」中,支持添加 TMDB 或者 IMDB 的电影列表,但是不支持豆瓣。但在高级列表的选项中支持添加 RSS List。所以实现同步豆瓣想看列表的思路就是把自己的豆瓣想看列表转成 RSS。

安装 RSSHub

RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容。

以 Docker 部署的安装步骤为例:

  • 运行下面的命令下载 RSSHub 镜像

    $ docker pull diygod/rsshub
  • 然后运行 RSSHub 即可

    $ docker run -d --name rsshub -p 1200:1200 -e DOUBAN_COOKIE=YOURCOOKIE diygod/rsshub

    (将YOURCOOKIE 替换为自己豆瓣账号的 Cookie)

  • 在浏览器中打开  http://yourip:1200/ 。能正常访问代表安装成功。

  • 其他部署方式参考部署

获取豆瓣想看 RSS 列表

  1. 获取豆瓣。浏览器访问自己的豆瓣主页,进入个人主页后,浏览器地址里会有自己的豆瓣 id.

    www.douban.com/people/**豆瓣id**/

  2. 访问 https://docs.rsshub.app/social-media.html ,社交媒体的分类下找到豆瓣,会有一些豆瓣相关的 RSS 服务。在其中找到用户想看,然后用RSSHub的安装地址(比如: http://nasip:1200 ),拼接上这个路由 /douban/people/:userid/wish/:routeParams? :userid 替换为自己的豆瓣 ID,:routeParams?可以替换为 pagesCount=1。这样的话只会加载自己第一页的数据,避免一下子加载过多。

  3. 到 Radarr 里添加一个新的 Rss List.把拼接好的地址复制到RSS Link里保存即可。大功告成。

]]>
+ + + + 将下电影这件事交给自动化 + + + + + + + + + +
+ + + 追随《白日梦想家》的脚步,来一场肆意的冰岛冒险 + + https://duyu.page/%E8%BF%BD%E9%9A%8F%E7%99%BD%E6%97%A5%E6%A2%A6%E6%83%B3%E5%AE%B6%E7%9A%84%E8%84%9A%E6%AD%A5-%E6%9D%A5%E4%B8%80%E5%9C%BA%E8%82%86%E6%84%8F%E7%9A%84%E5%86%B0%E5%B2%9B%E5%86%92%E9%99%A9/ + 2020-06-14T10:49:59.000Z + 2024-01-08T07:17:23.000Z + + 在电影《白日梦想家》中,主角 Walter Mitty 是一名在《生活》杂志工作了 16 年的胶片洗印经理,他没办法开口跟自己心仪的女同事表白,也没办法回击主管对他的奚落,但是他时常会放空自己做白日英雄梦。梦里的他座右铭是「爱冒险、勇敢、有创意」,他可以冲到即将爆炸的楼里把女同事的小狗救出来,并顺便为三条腿的小狗装上义肢,也可以跟自己的主管在街上大战三百回合。

但是,《生活》杂志面临被并购的窘况,杂志需要做最后一期封面,他却找不到封面的胶片,而这张胶片的关键是找到一个在世界各地到处冒险的摄影师。

于是他拿起行李箱,开始了一场比自己白日梦还要壮丽的冒险。

看完《白日梦想家》后,被电影中的绝美风景击中。踌躇了五年之后,从来没有出过国的我,也决定挣脱现实的束缚,追随 Walter Mitty 的脚步,去冰岛来一场肆意的冒险。

NUUK

Walter 穿越了大半个地球,降落在格陵兰岛一个只有两辆汽车的小机场 NUUK。

实际上这个是位于冰岛赫本附近的赫本机场。赫本是冰岛东部一个只有 2100 人的渔镇,虽然人少,但它已经算是东部第二大城镇。赫本三面环港,盛产龙虾,大部分国内和进口的龙虾都会在这里上岸,所以来到这里一定要吃一口龙虾。

去赫本的当天,刚刚在冰河湖结束行程,便驱车赶往预订的赫本附近的民宿,来的路上还看到了冰岛马。头上的一撮毛是他们的特色,他们很喜欢跟人亲近,会跑到你身边来不停地点头,很是可爱。

赫本机场在民宿和赫本小镇的中间,到了之后发现电影里的小红小蓝和出租汽车的小亭子已经没有了,机场里有几辆直升机正在维修。这个迷你的航站楼还跟电影中一摸一样,仿佛下一秒 Walter 会提着箱子从门口出来。

酒馆和直升机

Walter 在机场租了一辆小红之后,到了一家酒馆寻找摄影师。这里他看到了女同事为他献上了一首大卫・鲍伊的《Space Oddity》,Walter 跳上了一架醉酒大汉驾驶的直升机。

2018 年,马斯克将自己的特斯拉送入太空,车上循环播放的也是这首《Space Oddity》。

这个酒馆位于斯奈山半岛上的斯蒂斯基霍尔米。为了到这个不起眼的小镇,我们足足在路上开了 12 个小时的车。和其他小镇一样,这里安静又悠闲,在街上吹着海风,看着颜色各异的小房子,你会觉得这才是生活该有的样子。

这里的酒馆已经关闭,直升机停靠的地方是一个不小的港口,旁边有一个警局,我去问警察叔叔酒馆为什么会关闭,警察叔叔还邀请我一起喝咖啡。原来这个酒馆本来也不存在,当时是为了拍这部电影专门搭建的。我透过窗户往酒馆里看了几眼,里面已不再是酒吧的样子。

小房子、自行车和大桥

Walter 乘直升机跳入大海,跟鲨鱼进行了一番搏斗,被渔船救起。但是依然没有找到摄影师,渔船带他在冰岛靠岸,他抢到了唯一的一辆自行车,奔向了下一个目的地。

在骑自行车的路上,经过了很多美景,我找到了其中的三个。

红色小房子位于斯蒂斯基霍尔米到格伦达菲厄泽的路上,经过它的时候已经是晚上十一点钟,夜色还没降临。小房子的坐标是 64.959204, -23.065281。

而这张照片是在赫本镇出发继续往北走的路上拍到的,经纬度是 64.289402, -15.080161,拍摄那天的天气也跟电影里一样好。

而电影里一闪而过的大桥的经纬度是 63.931187, -20.649490,从塞尔福斯出发沿一号公路驾驶 18 公里就能赶到,冰岛有名的黄金圈以及火口湖就在塞尔福斯附近。大桥旁边是一个私人农场,很多牛羊在里面悠闲地散步、吃草。

滑板和旅馆

Walter 遇到了一家人正在往车里收拾行李准备搬走,他从几个小孩手里换到了一个滑板,因为女同事的儿子也很喜欢滑板。他遇到一段连续下坡的山路,滑板派上了用场。

这一段盘山公路的终点是冰岛东部的又一个海港小镇塞济斯菲厄泽,一路上有雪山有瀑布,如果能从这里踩着滑板一路滑下来简直太爽了。实际上也就在电影中可以体验到,这条路上有来来往往的车辆,开车需要特别小心。

Walter 踩着滑板经过了一个小瀑布。现在这个瀑布旁边还专门开辟了一块空地用来停车,很是贴心。这个瀑布位于 65.236875, -14.108174。

下来的时候还是阳光明媚,返程的时候这里已经起了大雾,飘起了小雪。

Walter 滑到了山脚,到达了小镇的一个旅馆,现如今这个旅馆刷上了新颜色,现在是一家餐馆。点菜的时候跟店员展示了《白日梦想家》的截图,店员会心一笑,跟我说这里已经改变了很多。

这个小镇就像一个世外桃源,四周的山上在六月依旧白雪皑皑,远处的云跟山上的雪融在一起,映在小镇中心的湖里。

真想永远呆在这里。

手机短信

Walter 在这里经历了一场火山喷发,又错过了站在直升机上近距离拍摄火山的摄影师。而这个时候,他的同事给他来了短信,主管需要他尽早回去。

这个地点位于冰岛另一个小镇博尔加内斯,到首都雷克亚未克需要一个小时车程。上图这个地点位于 64.533599, -21.932128。

一艘小船一艘小船

雪豹

这一次 Walter 重新出发,去到了喜马拉雅。因为他得知他要找的摄影师正在山上拍摄雪豹。他翻山越岭,历经艰险见到了摄影师,终于知道了杂志的封面底片的去处,而此时此刻,摄影师也正好拍到了雪豹。

实际上这一段也是在冰岛拍摄的,并没有去到喜马拉雅。中途经过了一个瀑布,实际上是冰岛有名的斯科加瀑布。这条瀑布落差为 60 米,从前海岸线的陡峭岩石崖壁飞泻直下,旁边有海鸟来回翻腾,很是壮观。

多说几句

电影中的摄影师发现雪豹后,并没有按下快门,他喃喃自语道:如果我个人喜欢一个时刻,我不喜欢相机让我分心,我只想沉浸在那个时刻,享受现在。

有部电视剧里也有说:今天之所以区别于昨天,是因为昨天的感受依然留在我们心中。

这次出去,虽然很多时候都听不懂对方的语言,但我还是尽量地跟当地人多一些交流,而不是简单地打卡拍照走人,感受和了解当地的文化带给我的意义和简单的走马观光完全不一样。

最后以 Walter 所在的《生活》杂志的 Slogan 做结尾,希望你我都能感受到生活的意义。

TO SEE THE WORLD, THINGS DANGEROUS TO COME TO, TO SEE BEHIND WALLS, TO DRAW CLOSER, TO FIND EACH OTHER AND TO FEEL. THAT IS THE PURPOSE OF LIFE

]]>
+ + + + 看见世界,亲近彼此 + + + + + + + + + +
+ + + 一个月内我靠独立开发的小程序挣了多少钱 + + https://duyu.page/%E4%B8%80%E4%B8%AA%E6%9C%88%E5%86%85%E6%88%91%E9%9D%A0%E7%8B%AC%E7%AB%8B%E5%BC%80%E5%8F%91%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%8C%A3%E4%BA%86%E5%A4%9A%E5%B0%91%E9%92%B1-TransClient2.0%E6%9B%B4%E6%96%B0/ + 2020-06-07T07:58:42.000Z + 2024-01-08T07:17:23.000Z + + 好久不见。离上次发文又过去了一个月。这一个月的空闲时间里基本都在对 TransClient 进行迭代更新,所以公众号的文章一拖再拖,实在抱歉。

TransClient 2.0 发布了!

最近几天小程序更新了版本 2.0,增加了 µTorrent、rTorrent(Rutorrent)和群晖 DownloadStation 这三款下载客户端的支持,从一开始的 3 款客户端增加到现在的 6 款,以后暂时不会继续增加别的客户端支持了。

还有另外一个重大更新,那就是 TransClient 2.0 支持添加很多人一直呼吁的局域网了!只需要在添加服务器的时候勾选上「是否为局域网」即可,同时请确保手机和要连接的客户端在同一个局域网内。如果对添加的外网的服务器有安全性的担忧,可以只添加局域网。

此外,还增加了两个小功能。

  • 可以切换数据单位,比如 GB 可以切换为 GiB
  • 可以在服务器列表页展示所有下载服务器的即时速度

这两个功能需要在「个人主页->系统设置」中开启。

欢迎大家点击下方的小程序进行体验,如果没有以上提到的功能,可以删除小程序后重新进入。

TransClient 挣了多少钱

很多人关心的一个问题,TransClient 挣钱了么?确实挣钱了,但它到现在依旧还是赔钱的。

TransClient 其实诞生于 2019 年的 7 月份,这一年我重新又玩起了 PT,但这么多年过去了,仍然没有一款让人满意的支持多个下载客户端的远程管理工具,于是我注册了一个小程序,准备自己写一个这样的工具。

注册完之后,就一直蹉跎到 2020 年。这一年最开始的几个月里开始了一场始料未及的远程办公生活。于是我一边上班,一边抽时间写小程序的代码。在写代码之前还写了原型图,同时请别人做了设计稿。

终于在一个月之后的 4 月 19 号,TransClient 上线了。

上线之后,我把这一篇文章发到了 PT 吧、少数派、什么值得买、Telegram 频道还有小众软件。所有的用户都是来自于这些渠道。

在小程序上架后的一个星期里,很快就积累了 1000 的 UV(独立访客),达到了小程序开通流量主的条件,可以在小程序中添加腾讯随机分发的广告了。当时的我很激动,天真地以为已经掌握了财富自由的密码。

这些分发的广告一般都比较丑陋和碍眼,有些广告放到小程序里连我自己都没办法忍受。于是我只在两个二级页面不起眼的地方加上了广告。结果就导致到现在很多人还会问我,为啥自己看不到广告。哈哈哈。

在加了广告之后,小程序每天的收入大概是这样的:

所以,自从可以接入广告之后,我更能理解那些在产品中加广告的开发者了。我把手机里屏蔽广告的软件关掉,而且如果看到自己喜欢的产品,也会顺手帮忙去点一下广告,虽然我这个点击可能只有几分钱。

在更新了 2.0 之后,我在小程序的系统设置中加入了一个激励视频广告,本意是不想大家都去开启这个功能,结果第二天的广告收入却出乎意料,对我来说简直是一笔巨款。第二天的广告收入是这样的:

-w390-w390

与此同时还有很多人主动的给我点击广告或者赞赏,真的感谢你们。是你们的鼓励和支持给我了继续做下去的动力。

接下来,我就把我这段时间以来的收支情况公布一下。

收入

  1. 赞赏收入:¥142

  2. 腾讯流量主广告收入: ¥25.82

支出

  1. 设计稿 ¥1300
  2. 云开发服务器 ¥47.78

  1. 各类封面图: ¥39.6

所以,在不计算我自己的人力成本的基础上的总收入为 ¥-1219.56
有没有出乎你的意料呢?

最后

晒这些收支的目的不是为了网络乞讨,我有自己的工作,工资也足够养活我自己。我只是为了跟大家分享一下第一次尝试独立开发的一个普通开发者的经历。虽然结果跟预期的还是有差距,TransClient 在很多大牛眼里依旧是一个不起眼的小透明,但是收获的鼓励和支持,足够我坚持把它越做越好。PT 圈里有一句话: All for one and one for all。TransClient 算是我为大家做的一点微不足道的贡献吧。

最后,感谢这期间对 TransClient 帮助过和赞赏过的各位,我爱你们!

]]>
+ + + + TransClient 2.0更新 + + + + + + + + + +
+ + + 给硬盘里的小姐姐安一个家 | 如何打造一个属于自己的多媒体中心 + + https://duyu.page/%E7%BB%99%E7%A1%AC%E7%9B%98%E9%87%8C%E7%9A%84%E5%B0%8F%E5%A7%90%E5%A7%90%E5%AE%89%E4%B8%80%E4%B8%AA%E5%AE%B6-%E5%A6%82%E4%BD%95%E6%89%93%E9%80%A0%E4%B8%80%E4%B8%AA%E5%B1%9E%E4%BA%8E%E8%87%AA%E5%B7%B1%E7%9A%84%E5%A4%9A%E5%AA%92%E4%BD%93%E4%B8%AD%E5%BF%83/ + 2020-06-07T07:56:25.000Z + 2024-01-08T07:17:23.000Z + + 如今,大家越来越习惯于观看在线视频,即便部分流媒体需要每月支付一定的费用才能享受到更加优质的服务,大家也越来越心甘情愿地支付这一部分费用,毕竟国内的大部分视频网站还是对想免费观看的这一部分用户太不友好了。

但是还有这么一群人,他们没办法忍受视频网站的垃圾画质,不愿意接受动辄阉割的剧情,不想在以后的某个时间想回味一部电影,却被视频网站下架了。于是他们买了硬盘,买了 NAS,把他们喜欢的视频都装进自己的硬盘。

但是把硬盘塞满后,如何方便快捷地从一堆文件中找到自己想要的呢,又如何为你的文件做一个美观的可视化界面呢?

文件名很重要

如果要生成上图中这样的海报,需要相应的软件对存储的电影文件进行识别(也叫做刮削,后续统称为刮削),获取到对应的电影或者电视节目的元数据,而刮削的关键就是文件的命名。

首先来看两个命名的对比,大家觉得哪个命名更友好一点呢?

绅士们.The.Gentlemen.2019.BD720P.中英双字.mp4The Gentlemen 2019 2160p UHD BluRay TrueHD 7.1 HDR x265.mkv

对于大部分的人来说,肯定第一个更友好,因为一眼看过去就知道它是个什么电影,也知道这个文件里有什么字幕。

但是如果要是交给程序去识别呢?它大概率会困惑于这个 BD720P 到底是个什么鬼。

那么到底应该怎么去规范地命名一个电影文件呢?文件名里的内容都是些什么意思?

完整的英文名

一部电影或者电视节目,无论国内外都有属于自己的英文名,但是它的中文名可能千奇百怪。《WALL-E》在不同地区被翻译成了《机器人总动员》、《太空奇兵·威 E》和《瓦力》。刮削工具拿到电影的名字需要去对应的网站(比如豆瓣、IMDB、TMDB)搜索电影的元数据,如果是拿这几个中文名去检索,可能一无所获。

如果把命名成完整英文名,无论是从豆瓣还是其他国外网站都能快速准确地获取到对应的电影元数据。

如果是电视节目,则需要在文件名后加上对应的季数和集数,而一整季的所有文件需要放到同一个文件夹下,文件夹的命名中只需要有对应季数就可以。例如:

Rick.and.Morty.S03.1080p.BluRay.REMUX.AVC.TrueHD.5.1 (文件夹)Rick.and.Morty.S03E01.1080p.BluRay.REMUX.AVC.TrueHD.5.1.mkv

电影发行时间

很多电影都会有重名的情况,所以仅有完整的英文名还不够,还需要有电影的发行时间。
这个时间一般指的是电影首次公开上映的当地时间,现在很多电影会选择在流媒体首播,所以这里的时间也可以是影视剧在流媒体的首播时间。在文件命名的时候只需要写上对应的年份就可以了。

其实到这里,对于电影或者电视节目的元数据获取来说已经足够了,但是之后的这几个参数还是有必要提及一下。

分辨率

现在常见的分辨率有 720P、1080P 和 4K(2160P),至于那个 BD720P ,大概只有国内会这么叫,所以不建议采用。因为大部分 4K 电影的分辨率只有 3840×2160,这个分辨率被叫做 Ultra High Definition,所以文件命名中会在分辨率 2160P 后面再跟一个 UHD

伴随着 4K 同时出现的又有 HDR 和 杜比世界,所以文件命名中还需要增加一个 HDR 或者 DolbyVision 的标识。有关分辨率以及 4K 的具体介绍,可以参考我的这一篇文章怎样的视频算得上「高清」?这 3 个「率」很重要

视频来源

The Gentlemen 2019 2160p UHD BluRay TrueHD 7.1 HDR x265.mkv

这个文件中的 BluRay 就代表着这个视频的来源,表示它是通过蓝光光碟压制而来。除了 BluRay,DVD 表示文件来自于电影发行的 DVD 光碟,HDTV 的是通过视频采集的方式获取高清频道播放的资源,WEB-DL 则表示文件是从流媒体平台抓取的。稍微注意就会发现很多 Netflix 的资源都会有 WEB-DL 的标识。

而这几种来源代表的是视频质量的高低,相同分辨率下 BluRay 的码率最高,视频清晰度也更好,而 DVD 支持的最高分辨率只有 480P。所以我们通过视频来源这一项就可以知道这个视频文件的质量的高低。

音频编码

常见的音频编码有 DTS-HDMA、Dolby TrueHD、LPCM、DTS、AC3,其中前三种无损音频编码最大可支持到 7.1 声道。无损的音频编码可以大大提高观影的听觉体验,声音更加立体和有层次,但是需要配合对应的功放才能解码。

视频编码

常见的视频编码有 H.264 和 H.265(HEVC),H.265 因为编码效率更高,也常被用在 4K 影片中。文章开头提到的文件名最后的 x265 代表的就是 H.265 编码。

综上,如果文件名中这些信息都具备,那么仅仅通过一个文件名就能获取到很多有用的信息,可以很容易地挑选到适合自己的影片。最重要的是这样规范的命名对刮削器来说也相当友好,可以大大提高刮削的效率和准确度。

选择一款适合自己的多媒体方案

电影都存好了,命名也规范了,但是如何打造属于自己的多媒体中心,这就不得不提到主流的几款媒体服务器。

常见的媒体服务器有 Emby、Plex、Jellyfin,这三家的共同点是他们都有一个服务端和客户端,当视频文件在各种终端设备上播放的时候,解码的工作的可以交给服务端来进行,这样就实现了在任何客户端上(比如手机和电视)都可以播放。

除此之外,他们会把局域网内的文件进行刮削,配上对应的海报、简介以及演职员表,从而可以更方便地浏览文件。

简单地说,通过这三款媒体服务器,你可以打造一个属于自己的 Netflix。

服务端

服务端可以负责视频的解码和影视剧的刮削,这几个媒体服务器的服务端都可以安装在 NAS、Linux、Docker、或者 Windows 上,Plex 支持的平台稍多一些,Jellyfin 对 Nas 的支持性一般,好在它可以通过 Docker 安装。

Emby server 支持平台Emby server 支持平台

客户端

客户端用来读取和播放服务端中的视频。这三大媒体媒体服务器的支持客户端基本上已经包含了几乎所有的电视和手机的设备,你可以随时随地在任何设备上进行观看。

Emby 支持的客户端Emby 支持的客户端

安装

安装的步骤都大同小异,基本上照着操作文档都能很方便地完成。具体的安装步骤和设置内容网上已有很多文章已经分享过了,这里不再赘述。

服务端安装完成后第一件事情是要添加电影和电视节目的目录。需要注意的是,电影和电视节目的文件目录要分开添加到对应的分类里。假如在电影的目录中添加了部分电视节目的文件,则很大可能会刮削失败。

相关配置

安装完成后,可以对媒体库进行一些设置。我比较喜欢将简介和电影名称设置为中文,海报设置为英文,因为英文海报都会比较清爽,中文则会堆砌着一堆毫无意义的文字,对于有强迫症的人来说,这种海报容易引起心理不适。

电影的元数据需要从第三方网站获取,元数据的来源可以选择豆瓣或者 TheMovieDB,因为国内 TMDB 的连接性比较差,所以可以作为豆瓣的备选。

更喜欢哪一版的海报?更喜欢哪一版的海报?

媒体库的设置媒体库的设置

会员需要购买么

Plex 和 Emby 都有对应的高级版,高级版可以开启更多的功能。高级版最主要的的两个用处是客户端的播放以及硬件解码,如果是软解的话,服务端的 CPU 会承受比较大的压力。

但是 Jellyfin 是完全免费的,这两个刚需也完全能够满足。

订阅期限PlexEmbyJellyfin
每月$4.99$4.99免费
每年$39.99$54免费
终生$119.99$119免费

其他

除了电影和电视节目,这三款媒体服务器还添加音乐、书籍、电视直播等各种类型的多媒体。感兴趣的可以自行探索一番。

我自己的多媒体播放方案

我自己的所有媒体文件都是存放在群晖 NAS 里,目前用的是 Emby,服务端使用的也是群晖提供的套件进行安装。没有开通高级版,因为基本不会使用手机 APP 去观看电影。Plex 也使用过,但是服务端的一些操作对我来说不够友好,页面也比较陈旧和老土。之所以没有使用 Jellyfin 的原因是 Jellyfin 在群晖里只能通过 Docker 安装,但只能添加一个群晖的目录,对于我这种没有组 raid 的用户来说,没有办法将多个目录下所有的的媒体文件都添加到 Jellyfin 的服务端,所以最后还是忍痛选择了 Emby。

《三块广告牌》《三块广告牌》

而在设备端,我一直在用 AppleTV 的 Infuse Pro 6。Infuse 在前段时间刚刚增加了对 Emby 和 Jellyfin 的支持,在此之前它只支持 Plex。通过 Infuse 播放 Emby 的媒体文件无需开通高级版,直接添加对应的 Emby 账户就可以了,视频会展示在 Infuse APP 中,通过 AppleTV 进行解码。

Infuse的电影展示页面Infuse的电影展示页面

设备端除了 AppleTV 外,对这三款媒体服务器支持最好的就是 Kodi 了,只需要安装对应的插件即可进行使用,很多安卓 TV 和电视盒子上都可以通过安装 Kodi 来进行视频播放。

PT 可能会遇到的问题

通过 PT 下载的文件命名足够规范,但是有些文件夹中会带一些海报和 NFO 文件。如果在设置中选择保存 NFO 和海报到本地,会导致原有的从 PT 下载的文件被覆盖导致没办法做种。

在 AppleTV 支持 Emby 之前,我不想让 AppleTV 自己去下载影片的元数据,于是就让 Emby 生成 NFO 文件,然后 AppleTV 就会读取目录中的 NFO 文件来获取对应的影片信息。但是这样就导致刚刚提到的文件覆盖问题。

好在硬链接可以解决这个问题。

硬链接意味着同一个文件的多个入口,在 Linux 系统中,如果 B 文件 是 A 的硬链接,则 B 文件的命名修改不会同步到 A 文件。利用这个原理,我们可以将 PT 下载的文件硬链接到其他目录,然后把硬链接目录添加到 Emby 或者 Jellyfin 的媒体文件中。

但是如果 A 所在的目录 C 有新增文件,C 目录的新增文件也需要同步更新到 B 文件所在目录 D。否则的话 Emby 在硬链接之后就无法拿到 C 目录中最近添加的文件了。

可以通过这个命令解决以上问题:

cp -r -l -u C/* D

然后可以将这个命令加入群晖的任务计划中,定时执行就可以了。

最后

搭建一个多媒体中心其实是一个相当费力的一件事情,你需要购买硬件设备、安装各种软件,还要学习 Linux 命令,但是为了能够尽情的享受一部电影带给我的乐趣,这些折腾也都值得。

也欢迎在留言区中分享你自己的折腾经历。

]]>
+ + + + 生命在于折腾 + + + + + + + + + + + + + +
+ + + TransClient微信小程序更新 可以支持添加µTorrent客户端了 + + https://duyu.page/TransClient%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%96%B0%20/ + 2020-05-06T10:22:57.000Z + 2024-01-08T07:17:23.000Z + + TransClient 上线以来,得到了很多朋友的喜欢,还给我提出了很多不错的意见,M-Team 的站长还有海盗还帮我免费宣传,真的非常感动!

所有的意见我都有认真地看,希望可以短时间内把这些功能更新上去,让它更加完美。如果你对 TransClient 还有更多的想法,也可以加入我的 Telegram 群组 https://t.me/transclient 和我交流,我会尽量解决大家的问题。

本来就只是一个自己的 idea,做就做了,没想太多,直到看到现在这么多人使用让我突然感受到它的意义。甚至有些海外的朋友特意和我表达感谢和支持,这些都是我继续下去的动力,再次真心感谢各位。

小程序上线到现在,一共发布了 5 个版本,除了解决一些 bug,还在添加下载服务器的页面增加了帮助说明,方便大家排查遇到的连接问题。

昨天发布的最新版本增加了 µTorrent 的支持,如果需要在 TransClient 里添加 µTorrent,需要在 µTorrent 里打开 Web UI,同时需要下载 webui.zip 安装包,放到 µTorrent 根目录下,不需要解压。

如果下载链接的后缀不是 .torrent,µTorrent 是不支持添加的,TransClient 对非 .torrent 后缀的的下载链接也做了兼容,同样可以添加到 µTorrent 并成功下载,欢迎大家体验。

关于后续计划,有很多的想法但是又没有太多时间去一一实现,只能一步步来。下一步会增加 rTorrent 的支持,然后会增加更多对种子的操作和管理功能,等这些功能都进一步完善后,会支持局域网内客户端的支持,敬请期待吧。

最后,还是感谢大家的支持,你们的喜欢是我坚持做下去的唯一动力,感谢!

]]>
+ + + + TransClient支持添加µTorrent客户端了 + + + + + + + + + +
+ + + 家里搭建了 NAS 需要远程访问?这几个步骤很重要 + + https://duyu.page/%E5%AE%B6%E9%87%8C%E6%90%AD%E5%BB%BA%E4%BA%86NAS%E9%9C%80%E8%A6%81%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%E8%BF%99%E5%87%A0%E4%B8%AA%E6%AD%A5%E9%AA%A4%E5%BE%88%E9%87%8D%E8%A6%81/ + 2020-05-03T16:10:28.000Z + 2024-01-08T07:17:23.000Z + + 如今网盘的使用成本越来越高,更多的人选择搭建自己的家庭 NAS 服务器。

NAS 可以用来做大容量存储、文件备份、文件下载、相册同步,甚至可以搭建网站、搭建自己的笔记以及邮件服务。

NAS 一般都安装在家里,如果出门在外应该如何远程访问家里的 NAS 呢?

公网 IP

公网 IP 意味着它是世界上独一无二的一个 IP。如果电脑有一个公网 IP,可以通过这个 IP 直接连接到这台电脑。在进行 P2P 下载时,也能连接到更多的公网 IP,从而获得可观的下载速度。可以这么说,如果没有一个公网 IP,不算真正地连接到互联网。

为什么移动宽带比另外两家便宜地离谱?不是因为移动良心,而是因为装了移动宽带你也只是在移动的内网里玩。公网 IP?不存在的。

所以在确定自己有没有公网 IP 前,如果你是移动宽带而且还没有分配 IPV6 地址,还想要外网访问 NAS,只能选择类似 QuickConnect、花生壳之类的服务了。

如何确定自己是否拥有公网 IP 呢?

首先到自己的路由器管理后台,查看自己的 WAN IP, 然后到 https://ip.cn/ 查询自己网络的出口 IP,如果两个 IP 一致,则为公网 IP。

一般电信或者联通都会分配公网 IP,但如果通过上述方法查的的两个 IP 还是不一致,可以打电话给宽带的客服投诉,一般情况下都会给的。

但是即便有了这个公网 IP,这个 IP 也不是固定的,毕竟全世界的 IPV4 地址已经分配完毕,每人一个固定 IP 根本不可能,我们已经不能要求更多了。

直接访问 IP 的方式显然不能完美解决随时随地访问 NAS 的需求,这个时候就需要用到 DDNS。

DDNS

DDNS(Dynamic Domain Name Server)的全称是动态域名服务,可以将动态 IP 映射到一个固定的域名解析服务上。设置好 DDNS 后,就不用关心 IP 地址的变化,直接访问绑定好的固定域名就可以了。

现在路由器一般都提供了免费的 DDNS 服务,可以直接在路由器管理后台绑定域名。华硕的 DDNS 可以选择「www.asus.com」这个免费的服务器,只需要在主机名称里填入一个子域名就可以了。

群晖也提供了类似的服务,可以通过「系统面板 -> 外部访问 -> DDNS」 进行设置。

点击「新增」按钮,服务提供商选择 Synology,主机名称一栏填入一个没有被占用子域名,主域名可以选择默认的 synology.me,也可以选择其他域名,勾选同意条款后点击确定就设置成功了。其他 NAS 的设置跟群晖类似,就不一一演示了。

DNSPod 域名解析

如果不想用路由器或者 NAS 提供的免费域名,可以申请一个属于自己的域名。

域名可以到阿里云或者腾讯云购买得到,可以选择一些没有意义但又好记的域名,便宜的一年只需要 9 块钱就可以搞定。

如果是在阿里云购买的的域名,需要将域名的 DNS 修改为 DNSPod 的服务器:

f1g1ns1.dnspod.net f1g1ns2.dnspod.net

进入 DNSPod 的域名控制台 https://console.dnspod.cn/dns/list,添加刚刚购买的域名。

添加完毕后点击域名,添加一条解析记录。主机记录为域名的前缀,记录类型为 A,记录值为要绑定的 IP,这里指的是宽带的公网 IP,点击确认后保存。

前面提到宽带的公网 IP 不是固定的,所以需要定时检查宽带的 IP,然后映射到 DNSPod 绑定的域名。这就需要在 DNSPod 上新建一个密钥。

点击 DNSPod 右上角的头像,点击安全设置,进入密钥管理,然后创建密钥。

创建完毕后,将 ID 和 Token 保存下来。

然后到群晖的外网设置里新增一个 DDNS。服务提供商选择 DNSPod.cn,主机名称填入刚才增加的域名记录,用户名和密码填入上一步保存的 ID 和 Token。填入之后可以点击测试联机,测试通过后就可以点击确定保存了。至此,宽带的 IP 已经成功映射到购买的域名上了,之后可以通过域名加端口访问家里局域网内任意一台设备了。

端口转发

在局域网内运行的设备,外网是不能访问的,这个时候就需要做端口转发。比如路由器的的后台管理地址为 192.168.1.1,端口为默认的 80,如果要在外网访问家里的这台路由器就要将 192.168.1.1 的 80 端口转发到公网 IP 的任意一个端口上。由于国内宽带的 80 和 8080 端口都被封了,所以要转发到其他端口。

端口转发的设置一般在路由器内就可以完成,华硕的端口转发可以如下设置。

上图的设置里我把 NAS 的 5000 端口以及 NAS 里安装的 Transmission 的 9091 都转发出来了,这样就可以通过 DDNS 那一步里设置的解析域名加端口号来访问这两个服务了。在使用微信小程序 TransClient 远程控制这个 Transmission 的时候。需要填入这个解析域名以及 转发出去的 9091 端口号,就可以成功在手机上远程管理 Transmission 了。

]]>
+ + + + NAS 一般都安装在家里,如果出门在外应该如何远程访问家里的 NAS 呢? + + + + + + + + + + + + + +
+ + + 花了一个月时间,我写了一个远程管理下载上传的小程序 + + https://duyu.page/%E8%8A%B1%E4%BA%86%E4%B8%80%E4%B8%AA%E6%9C%88%E6%97%B6%E9%97%B4%E6%88%91%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E7%AE%A1%E7%90%86%E4%B8%8B%E8%BD%BD%E4%B8%8A%E4%BC%A0%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F/ + 2020-04-18T16:30:15.000Z + 2024-01-08T07:17:23.000Z + + 由于众所周知的原因,对于使用 qBittorrent、Transmission 等 BitTorrent 客户端的用户来说,ios 上一直没有一个可以远程管理下载的工具。对于已经习惯了移动端掌控一切的我们来说,在手机上访问一个没有经过适配的 PC 网页这种事情实在是难以忍受。

好在,通过小程序可以解决这个问题。

在写了人生中第一个原型图,业余时间撸了一个月前后端的代码后,TransClient 这个小程序就这么诞生了。大家可以点击文末的小程序进行体验。

TransClient 是做什么的

简单来说,它是一个远程管理下载上传的工具。

目前可以支持 qBittorrent、Transmmison、Deluge 这三个客户端。

你可以通过 TransClient 添加种子文件或链接到这三个客户端进行下载,同时可以查看下载进度、上传和下载速度,以及进行删除、暂停等操作。

需要注意的是,TransClient 默认跳转到下载服务器列表,只有添加一个可用的下载服务器,才能正常使用小程序里的各项功能。

下载服务器是什么

下载服务器其实是指可以远程访问的 BT 客户端,QB/TR/DE 都提供了远程访问的能力,这些客户端可以安装在家里的 NAS 里,也可以安装在你购买的某个服务器里。只要确保这些客户端外网可以访问,那么就可以添加到小程序的下载服务器列表,然后就可以对客户端内的种子文件进行各种操作了。

添加下载服务器需添加服务器对应的域名或 IP 以及端口号,如果设置有账号或者密码还需输入对应的账号密码。三个客户端里,Deluge 只需输入登录密码即可,而 qBittorrent 的账户和密码是必填的。输入完毕后,点击测试服务器,如果服务器可以正常连接的话,就可以添加到自己的下载服务器列表了。

我该如何添加一个下载?

添加完服务器后可以到服务器的种子列表页,也就是 TransClient 的首页,点击页面右下角的添加按钮,然后就可以添加下载了。

添加种子的方式有两种,一种是种子链接,另一种是种子文件。由于微信小程序的限制,只能从微信对话中选择文件,无法从手机的文件系统直接选择。添加完种子后还可以进行下载上传限速等操作,目前只有 Transmmison 是没办法在添加种子的同时进行限速的。

接下来送上自问自答的 QA 环节。

为什么小程序的功能比桌面客户端少了很多

以前会经常吐槽产品经理业务设计繁重交互复杂,在我自己尝试做一个原型图的时候才发现这个工作有多么难做,我面临最头疼的问题就是我想要的功能页面上放不下…

手机上屏幕空间有限,页面承载的功能不能太复杂,在没有产生灵光一现的产品思路前,我只能先把一些必要的功能保留。待后续把逻辑整理一番后,会增加一些常用的操作,比如种子列表排序、更新种子 Tracker 等功能。

为什么我下载服务器里明明有种子,但是种子列表里看不到

TransClient 默认展示活动中的种子,持续更新种子的状态和下载上传速度。如果想要查看所有的种子,可以点击页面底部的过滤按钮进行切换。

为什么我的 Deluge 在服务器列表里看不到统计数据

由于 Deluge API 的限制,需要在设置->Plugins 里将 WebUi 一项勾选上。

使用 TransClient 安全么?会不会泄漏我的账号密码?

在添加服务器之后,会把下载服务器的信息进行 AES 加密,数据库里不会保存任何跟自己服务器有关的明文信息,除了服务器别名和是否为默认服务器这两个参数。同时,TransClient 使用的小程序的云开发,服务器信息也不会暴露在外部的接口请求中。即便有人拿到了加密后的服务器信息,没有密钥他也是没办法解开的。

遇到 bug 或者想要某项功能应该如何反馈

可以点击个人主页的「联系作者」按钮,向我反馈相关问题。如果遇到 bug,建议通过「意见反馈」跟我沟通。

后续有什么规划

会支持更多的客户端,比如 μTorrent、rTorrent;增加更多操作以及种子信息的展示,敬请期待吧。

]]>
+ + + + 产品经理、前后端一手包办 + + + + + + + + + + + + + +
+ + + 我的2010年代:被电影延长的生命 + + https://duyu.page/%E6%88%91%E7%9A%842010%E5%B9%B4%E4%BB%A3-%E8%A2%AB%E7%94%B5%E5%BD%B1%E5%BB%B6%E9%95%BF%E7%9A%84%E7%94%9F%E5%91%BD/ + 2020-02-24T15:09:57.000Z + 2024-01-08T07:17:23.000Z + + 电影

十年前的 2010 年,刚刚步入大学,之前的观影途径有 VCD/DVD、星空卫视、学校组织的集体放映,甚至于村里的露天电影我都还有模糊的印象–应该是遥远的 90 年代了。

2010 年之后,电影帮我打开了另一个世界的大门。大学的时候有一门叫西方电影欣赏的选修课,在这门课上开始第一次真正接触到西方电影,《放牛班的春天》、《雨中曲》、《谍影重重》、《美丽人生》、《中央车站》这些电影都让我看得如痴如醉。有个极具人格魅力的老师跟我们说:「只要是 IMDB 7 分以上的片子,你们都可以去看。」但我还是先选择了豆瓣(毕竟豆瓣上的榜单更符合国内大多数人的口味),在豆瓣上开始标记每一部我看过的电影,如今在豆瓣电影已经标记了 678 个看过。

第一次听到 3D 这个词的时候我还正在读高三,当时《阿凡达》正在上映,我在收音机里听到《阿凡达》各种神乎其技的的 3D 体验,心里着急但又没有任何办法去真正体验,这种感觉着实让人抓心挠肝。2012 年,《泰坦尼克号 3D 版》在国内上映,虽然很多人已经把这部电影看了很多次,但当时这部后期转制的 3D 在国内也是相当火爆,火爆到我们班里一群男生集体跑到影院里去看这部电影。这是我自己第一次到影院里看电影,也是我第一次体验到 3D,有个 Rose 差点掉到海里的镜头把我看得头晕目眩。

在影院里看电影有个好处,你可以在黑暗中尽情地释放自己的情绪,更容易跟面前这片流动着光影的屏幕中的角色一起感受喜怒哀乐,一起经历一个完全不一样的人生。同时也有个坏处,当片尾字幕出现,影院灯光打开,很多时候是很难从电影中抽离出来的,碰到那种失落又无望的结局,需要在座位上呆坐很久才能缓过来。

看完《海边的曼彻斯特》久久不能从主角的痛苦中抽离出来看完《海边的曼彻斯特》久久不能从主角的痛苦中抽离出来

有了这个第一次的影院观影经历,我从此便一发不可收拾。虽然当时上学的自己生活不太宽裕,但每次碰到自己期待的电影,都会赶到影院里先睹为快。到现在我都还有印象深刻的电影,比如黄渤的《杀生》、时隔多年重见天日的《无人区》、李安的《少年派的奇幻漂流》、王全安《白鹿原》。时至今日,我依然觉得 《少年派的奇幻漂流》(《阿凡达》我没赶上) 是我看过的 3D 效果做的最用心效果最好的一部电影。到现在快十年过去了,各种大片的 3D 效果没有一点点进步,各种粗制滥造的 3D 电影依旧在影院里畅行无阻。

看完期待已久的《白鹿原》后很失望看完期待已久的《白鹿原》后很失望

这么多年的观影经历,国外那些长期盘踞在各大榜单的经典片子不必多说,说几个近些年对我影响比较大的国外电影。爱情电影中我最喜欢《乌云背后的幸福线》和《时空恋旅人》,喜欢这两个是因为从电影中能看到我自己的影子。《时空恋旅人》中男主跟刚刚还在熟睡的女朋友求婚后,女朋友说:「感谢你没有把求婚搞的很戏剧性,一群人围着的那种」。我听到这句话,差点流泪,我以为所有的女生都会喜欢那种惹人注目的浪漫。

男主还偷偷把一支街边乐队请回家里男主还偷偷把一支街边乐队请回家里

另一部对我影响最大的电影是《白日梦想家》,我在 14 年看完的这部电影,5 年后,我去了这部电影的拍摄地、第一次出国、第一次跟另一个国家的人交流,电影里的这句激励人心的话「To see the world, things dangerous to come to. To see behind walls, to draw closer. To find each other and to feel. That is the purpose of life.」,我确确实实也做到了。

看了很多国外电影后,我又把视线转向了国内,发现国内电影有太多太多的珍宝,有两位对我影响最大的导演:贾樟柯和郝杰。

我跟贾樟柯都是山西人,第一次看他的电影就是《小武》。在看这部电影之前我没看过任何一部这种风格的电影。电影的场景和我生活过的九十年代甚至于 00 年代都相差无几,尤其是电影里的山西话让我倍感亲切,小武在电影里的局促和尴尬也丝毫看不出表演的痕迹,一切都自然的像一部纪录片。从此我就爱上了贾樟柯。

原定于 2013 年上映的《天注定》历经各种波折,最终还是无法在国内上映,贾樟柯在一部纪录片中说他可能没办法在继续拍下去了,空间太小了。但他转身又拍出了豆瓣 7.9 分的《山河故人》以及豆瓣 7.6 分的《江湖儿女》。我在一篇《江湖儿女》的影评中写到:「每次看完贾樟柯的电影,心情都很复杂。最吸引我的还是写实的风格、各种生活化的场景、主演背后形形色色的人–有人在打牌有人在抽烟还有人在摸着自家的小狗。生活里没有那么多的起承转合,也没有那么多的反转和高潮,更多的还是贾樟柯电影里诸如小武之类的普通人。科长的电影一直都在记录这些影像和故事,这是我们国内很多电影都做不到的事情。」

《山河故人》这一幕让人泪目《山河故人》这一幕让人泪目

说到郝杰,很多人都对他的《光棍儿》很熟悉,这部影片粗糙、大胆、魅力无穷,我们看到了另外一个世界的生活。因为郝杰是张家口人,电影多是在张家口拍的,张家口当地的方言又跟我们县城的方言相差无几,当我第一次在看他的片子的时候,感受到的也是亲切和有生活气息。后来郝杰又拍了《美姐》和《我的青春期》(原名《我的春梦》),我都第一时间去电影院看了,因为如果他的电影不趁刚上映的时候看,晚一点就没有任何排片了。我特别喜欢《美姐》,我家乡的很多人也喜欢听电影里提到的二人台,我想如果把这部电影放给这些人看,他们也一定会喜欢。

那一年我最喜欢的一张电影海报那一年我最喜欢的一张电影海报

当然,还有很多优秀但很多人不了解的国产电影,比如最近几年的《村戏》、《爆裂无声》、《不成问题的问题》、《一个勺子》,希望这些电影可以在日后被更多的人欣赏和喜欢。

纪录片

除了国内的电影,国内还有很多优秀的纪录片。国内众多的人口也就意味着更多的故事,而很多故事又是没有办法在电影院中看到的,而纪录片独有真实和荒诞带给你的震撼远比电影强烈。

我不反感诸如《舌尖上的中国》或者《我在故宫修文物》之类的纪录片,但我更喜欢的是忠实记录这个时代以及这个时代普通个体的纪录片,通过这些记录片,你能确确实实感受到活着的力量。在这些纪录片中,周浩和徐童是我最敬畏的两个导演。

周浩的镜头对准了这个社会的每个细节,他拍过工人、农民、医生、警察、毒贩、高考生、官员,把这个时代的真实面目都展现在我们面前。每一个参加过高考的人都应该看一遍周浩的《高三》,想了解一个市长或者书记生活,去看《书记》和《大同》,如果想了解一个吸毒者有多么悲惨,就去看《龙哥》。

徐童的作品对准的都是底层社会的边缘人群,或许我们认为自己已经够底层了,每个月要被各种账单压的喘不过气,殊不知真正底层的人还在为了能吃一顿饱饭而发愁。看了徐童的《算命》后,我久久缓不过神来。历百程是一个残疾的算命先生,他的老婆是傻聋哑瘸的石珍珠。光这一句对他们的介绍,我都觉得生活对他们太残忍了,可是他们比我们大多数人都活得都有生命力。通过徐童的镜头,我们能看到一个个更加真实和有感染力的中国人,而不是一些人所谓的社会黑暗面。

历百程和石珍珠历百程和石珍珠

此外,《四个春天》、《少年·小赵》、《犴达罕》、《挖眼睛》等等独立制作的纪录片也同样优秀,推荐给大家。如今,越来越多的记录片进入了影院,虽然票房一般,但能进入电影院这已经是一件相当令人欣慰的事情了。

电视剧

国内的电视剧中,在 10 年代看过的很少很少,2009 年的两部电视剧《我的团长我的团》和《潜伏》是我的最爱。《我的团长我的团》是《士兵突击》的原班人马拍摄的有关远征军的故事,用豆瓣网友楞莲凌赖的话说:「 这部剧不仅让你知道中国为什么被逼的差点亡国,同时也告诉了你,中国为什么打成那样都没有亡国。」它是一部沉重又深刻电视剧,我曾经看着它的原著把某一页的纸打湿了,无论电视剧和书你看过一遍之后都不敢再看第二遍,因为它无所顾忌地将血淋淋的事实摆在我们面前,戳着每一位的心。主角龙文章在这部剧里如是说:「我想让事情是他本来的样子。」

车上躺着的是团长龙文章车上躺着的是团长龙文章

国外的电视剧中,我看的大多是都和大家一样,比如《生活大爆炸》、《绝命毒师》、《黑镜》这些热门的英剧或者美剧。工作了以后,空闲时间越来越少,很难像大学一样没日没夜的追一部美剧。但我一直想推荐给所有人的两部美剧,一部是豆瓣平均分 9 分的《废柴联盟》以及另一部接近满分的《瑞克和莫蒂》。这两部美剧都有同一个编剧 Dan Harmon,虽然这两部美剧风格迥异,但他们爆棚的想象力和折腾程度我觉得已经超越了所有其他的美剧,看完后的感觉就一个字:爽!

《瑞克和莫蒂》里也有不少的诸如此类的警世恒言《瑞克和莫蒂》里也有不少的诸如此类的警世恒言

最后

我一直觉得在荧幕前观看这些影视剧的最大的快乐在于能够体验到不同的人生,悲惨的、幸福的、疯狂的、荒谬的,如果把里面的主角都想像成平行世界的自己,就如同杨德昌在《一一》里所说,我们的生命至少延长了三倍。

注:本文参与少数派 2019 年度正文,属“我的 2010 年代清单”赛道

]]>
+ + + + 自从电影发明,人类的生命至少延长了三倍 + + + + + + + + + + + +
+ + + 「流水账」在北京到公司复工的第一天 + + https://duyu.page/%E6%B5%81%E6%B0%B4%E8%B4%A6%20%E5%9C%A8%E5%8C%97%E4%BA%AC%E5%88%B0%E5%85%AC%E5%8F%B8%E5%A4%8D%E5%B7%A5%E7%9A%84%E7%AC%AC%E4%B8%80%E5%A4%A9/ + 2020-02-22T04:10:30.000Z + 2024-01-08T07:17:23.000Z + + 年后在家远程办公了两周后,公司通知这一周要到公司上班。迫于无奈,请了三天年假在家又远程办公了三天后,还是极不情愿的去公司了。

早上骑车去地铁,路上没看到别的电动车,机动车倒是和以前一样不停地在我旁边呼啸而过,路上也有没戴口罩的大爷大妈悠然的走在路上。路边一个经常聚集了四五个老大爷的象棋摊居然也恢复了营业,有些地方可是一家人打个麻将都要被砸桌子的。

到了地铁站的非机动车停车场,往常这个时间点都停地满满当当,今天居然在入口附近就停好了我的电驴。进入地铁,除了一个出站的,我没看到其他人和我一起进入地铁。安检的人戴着护目镜测一次体温,但是过书包的安检仪有没有消毒我就不清楚了。

地铁车厢的人寥寥无几,一个人可以坐一排,我在过年期间也没有见过北京有这样的场景。到这个时候我才意识到,我可能是万中无一的必须到公司的开工锦鲤。虽然有座,但我还是选择站着,换乘爬楼的时候我也尽量选择步行楼梯。

到了公司大楼,测了两次体温,一次脖子一次手腕,都是 34 度。测温的物业不甘心,又让我撸起袖子测了一次,35 度。这样如此离谱的测温有啥意义。

进入公司,我又被测了一次温,贴心的保安大哥给了我洗手液。到了工位上发现我桌子上还有我一个年前戴过的一个口罩,那个时候我还不知道这个口罩是 N95 的,被我随手丢在一边。现在不一样了,我把它收进抽屉,准备再用用。

中午吃了统一配送到办公楼的一家饭店的饭,简直难以下咽,躲在一间小会议室里草草吃了几口就扔掉了。我决定从此还是点外卖或者自带吧。

口罩戴到这个时候,我已经有点难受了。耳朵疼,胸闷气短,总想摘下口罩用力呼吸几口。下午公司发了口罩,换上后耳朵更疼了。每隔一段时间我得整理一下口罩,让耳朵放松下。手头的工作就这样被不停的打断。好不容易到了下班时间,我此刻只想赶紧回家,痛快的呼吸。

回去的路上看到当当复工有员工感染的新闻,希望我们不会成为下一个当当。

]]>
+ + + + + + <p>年后在家远程办公了两周后,公司通知这一周要到公司上班。迫于无奈,请了三天年假在家又远程办公了三天后,还是极不情愿的去公司了。</p> +<p>早上骑车去地铁,路上没看到别的电动车,机动车倒是和以前一样不停地在我旁边呼啸而过,路上也有没戴口罩的大爷大妈悠然的走在路上。路边一个经 + + + + + + + + + + + + +
+ + + 2020 年了,为什么「蓝光」还让影迷心驰神往? + + https://duyu.page/2020%20%E5%B9%B4%E4%BA%86-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%93%9D%E5%85%89%E8%BF%98%E8%AE%A9%E5%BD%B1%E8%BF%B7%E5%BF%83%E9%A9%B0%E7%A5%9E%E5%BE%80/ + 2020-02-17T15:32:04.000Z + 2024-01-08T07:17:23.000Z + + 「蓝光」是一个离我们非常近,其实又有点远的词。对于一般观众来说,似乎总会在国内视频网站上看到它的身影——比高清、超清更高规格的那个分辨率叫做「蓝光」。

而对于电影收藏者,蓝光的含义几乎完全不同——例如今年 1 月 8 日,《大腕》和《飞驰人生》的收藏版蓝光碟同时发售,而所有碟片在两个月前预售时就已被抢售一空。

那么什么是蓝光碟,为什么它今天仍受到电影爱好者的如此追捧呢?希望这篇文章能给你一些答案。

蓝光光碟的发展历史

说起 DVD,想必不是太年轻的读者都不会陌生。二十年前,每家每户都少不了 DVD 光碟,家长偶尔还会带我们一起逛出租碟片的音像店,捷克动画片、台湾偶像剧和香港电影的碟片曾充斥着我们的童年和少年时期。

当年看《古惑仔》看地热血沸腾当年看《古惑仔》看地热血沸腾

但随着技术进步以及人们对画质的要求逐渐提高,DVD 的下一代存储格式也应运而生。而在历史上, DVD 的下一代光盘格式曾有两种,一种是我们今天要讨论的蓝光光碟(Blu-ray Disc),另一种则名为 HD DVD (High Definition DVD),在二十一世纪的第一个 10 年,它们曾各占半壁江山。

作为 DVD 之后的下一代光盘格式,蓝光光碟和 HD DVD 分别由索尼和东芝主导,一度处于你死我活的竞争关系。2006 年,第一批 HD DVD 电影上市,好莱坞的六大电影制片厂中,环球电影只发行 HD DVD 影碟,而索尼影业旗下的哥伦比亚、福克斯以及迪士尼只支持蓝光影碟,华纳和派拉蒙则同时发行两种影碟。

为了抢占市场,HD DVD 阵营选择高价拉拢电影制片厂。派拉蒙的高层曾透露过,HD DVD 阵营曾向派拉蒙支付 1 亿 5 千万美元,以取得派拉蒙一年半的 HD DVD 独占权。而索尼主导的蓝光阵营则有个天然优势——哥伦比亚就是索尼旗下的,而且哥伦比亚的经典影片的数量也比较多。因此在片源的竞争上,两大阵营暂时没有分出高下。然而如果要抢占市场,除了影碟,硬件播放设备也得要全面铺开才行,于是不久后,这场竞争的转折点出现了。

2006 年底,索尼推出了支持蓝光碟播放的 PS3 游戏机。一瞬间,那些购买了 PS3 的人同时也拥有了一台蓝光播放器(而且是一台价格相对实惠的播放器),这一举动很快就带动了蓝光碟的销量节节攀升,把 HD DVD 远远地甩在了后面。到了 2008 年,随着电影制片厂转向索尼的蓝光阵营,百思买、沃尔玛等线下商店将 HD DVD 从商店下架,彼时还是线上影碟租赁店的 Netflix 也宣布不再增加用于出租的 HD DVD 影碟库存。最终,2008 年 2 月底,东芝宣布结束所有 HD DVD 相关业务,HD DVD 也就此退出了历史舞台。

蓝光不只是高清

蓝光光碟(Blu-ray Disc)采用波长 405 纳米的蓝色激光光束来进行读写操作,因而以蓝光命名。如上文所说,蓝光只是一种存储介质,而并非一种分辨率的格式,但视频网站总爱用它标榜画质,当然也是因为它如大家想象的那样「确实高清」。

蓝光碟的分辨率到了什么级别

DVD 时代,受限于 DVD 光碟的容量和显示设备,分辨率最高只有 480P。蓝光出现之后,单面双层的容量为 50GB,于是分辨率相较于 DVD 有了很大的提升,达到了 1080P。分辨率提升后,画面细节相较于 DVD 自然丰富了很多,即便在家里的电视上欣赏电影,也有了更好的沉浸感,可以更专注地享受光影带来的魅力。

蓝光碟的单面和双面的容量区别蓝光碟的单面和双面的容量区别

要说 1080P 是曾经的 HD-DVD 达到过的高度,在今天的视频网站上也屡见不鲜,但是在甩开对手之后,2015 年蓝光光盘联盟推出了超高清蓝光光盘(Ultra HD Blu-ray,以下简称 「UHD 蓝光」),容量最高可达到 100GB,支持分辨率为 3840×2160 的 4K UHD 视频(有关分辨率以及 4K 的介绍,可以参考我的另一篇文章怎样的视频算得上「高清」?这 3 个「率」很重要),帧速率最高每秒 60 帧,相较于的普通蓝光,画面质量又有了质的飞跃。

普通高清 vs 4K HDR普通高清 vs 4K HDR

因为容量的增大,所以 UHD 蓝光能采用编码效率更好的 H.265 进行编码,相较于 H.264 大大减小了视频体积。得益于蓝光容量的增大,更多无损压缩的音频格式比如 PCM、杜比 TrueHD、DTS-HDMA 也越来越多地出现在蓝光中,进一步提升了观影体验。

除了高清,蓝光碟还带给我们这些

更加优秀的画面效果

其实大多数人对高清的理解只停留在分辨率的层面,但是随着 4K 逐渐普及,UHD 蓝光不仅在分辨率上进行了提升,画面效果也越来越接近于人眼的真实体验,这个至关重要的因素就是 HDR。

HDR 的含义是高动态范围成像,意味着图像或者视频的明暗差别更加明显。HDR 技术能够有效地展现不同曝光下的画面细节,色彩过渡更加自然,令画面更加真实,暗部细节也更加丰富。HDR 视频通常是通过捕捉更多的曝光信息再渲染成一个动态范围更广的视频。

在 2016 年蓝光光盘联盟发布的在 UHD 蓝光标准中,要求支持 HDR10,并可选择支持杜比视界。这两个是 HDR 技术的两个标准。HDR10 是最常见的一个的 HDR 标准,它要求 10bit 色深和 BT.2020 色域,这意味着画面色彩过渡更加自然、画面精度更高以及画面色彩更丰富。与 HDR10 相比,杜比视界支持高达 10000 尼特的亮度,而 HDR 最高为 1000 尼特,是后者的整整十倍;同时,杜比视界还支持 12bit 的色深。此外,杜比视界支持的视频内容包括逐帧元数据,它意味着杜比视界允许元数据一帧一帧地补充和适应 HDR 图像。所以杜比视界可以比 HDR10 更加精细地展示画面。

但是,尽管杜比视界的显示效果更加优秀,授权费用却相当不菲,让很多厂商望而却步;而 HDR10 则是免费开源的标准,所以现在市面上看到的 HDR 基本都是 HDR10。下面两张对比图展示了杜比视界对标准动态范围图像的处理。

杜比视界前杜比视界前

杜比视界后杜比视界后

更丰富的独家内容

蓝光在各地发行的时候,正片会针对各个地区做不同处理,除了字幕和音轨的差异,有时候还会对画面内容做一些特殊处理。比如迪斯尼的部分台版蓝光会把影片中的一些英文内容替换为中文。

而且不同版本的蓝光,画面质量也会因为码率或者胶片修复的质量不同而参差不齐。所以,会有人收藏喜爱的电影的 N 版修复版蓝光碟,直到收藏到一个满意的蓝光版本为止(由于不同蓝光碟的画质差异较小,因此下图用 DVD vs 2K 蓝光碟来对比画质)。

《机器人总动员》中美版和港版的差别《机器人总动员》中美版和港版的差别

《黑炮事件》DVD《黑炮事件》DVD

《黑炮事件》2K修复版蓝光《黑炮事件》2K修复版蓝光

除了电影正片,一般还会有拍摄花絮、删减片段、幕后访谈、导演评论音轨等额外内容,部分电影还会在蓝光碟中加入导演剪辑版。比如《流浪地球》蓝光套装中,除了一张 BD-50 正片碟,还有一张 BD-25 的花絮碟,此外还包含 240 页剧本,120 页画册(含剧照、幕后、分镜、概念图)以及导演+制片的评论音轨;张艺谋的《英雄》上映版本为 93 分钟,而发行的韩版蓝光版本为 110 分钟,足足多了 17 分钟的内容。这些内容是没办法在电影院中看到的,很多人购买收藏蓝光也是因为能欣赏到更多更丰富的内容。

碟影传媒发行的《流浪地球》的蓝光内容碟影传媒发行的《流浪地球》的蓝光内容

如何购买和观赏蓝光碟

购买蓝光碟

如果要查询一部电影的蓝光发行时间,可以到https://www.blu-ray.com/进行查询,这个网站基本涵盖了几乎所有电影的蓝光信息。在这里你能查询到即将要发行的电影蓝光的发行时间、编码、分辨率、HDR 标准、字幕和音频信息以及购买价格等等信息。所以它是很多电影发烧友必备的一个查询网站。

飞屋环游记即将发行的4K蓝光飞屋环游记即将发行的4K蓝光

如果要购买蓝光碟,主要渠道还是亚马逊海淘,因为绝大部分的国外蓝光只在亚马逊上进行销售,而且价格相对于一张电影票来说算是相当昂贵了:一张普通蓝光需要 20 美元,而对应的 UHD 蓝光则需要在 40 美元左右。如果发行的这部电影的蓝光比较稀有,则价格还会更高。另外,蓝光碟的外盒包装也会存在质量差异,一般铁盒对影碟的保护要更好,价格也会比普通包装更高一些。

国内比较方便的购买渠道就是淘宝,比较知名的蓝光发行商碟影传媒会发行一些国内外的经典影片,比如文章最开始提到的《大腕》和《飞驰人生》都是这家发行的。通常在正式发行前会进行预售,因为碟影传媒的蓝光基本都是限量发行,一般都会在预售阶段就会被抢购一空,成为绝版,因此有些制作精良的优秀电影还是有很高的收藏价值的。

欣赏蓝光碟

欣赏蓝光碟前先要了解锁区的概念。为了防止盗版,蓝光通过划分区码来限定只能在某一地区播放。在中国大陆境内,发展初期本土蓝光播放器发展速度较缓,所以片源多由香港(A 区)流入,并导致部分境外(港产、日产等 A 区机型为主)蓝光机进入市场;且因 PS3(台版、港版、日版、美版、韩版等蓝光 A 区机型)的大规模普及,导致市售标记“C 区”蓝光一般包含 A、C 区或者为全区。但是超高清蓝光没有区域限制。

蓝光光盘区码分布图蓝光光盘区码分布图

如果只是播放普通蓝光,SONY PS4、XBox One 或者一台带有蓝光电脑光驱的电脑都可以胜任。但是如果要选购支持 4K UHD 的蓝光播放器,可供选择的就比较少了。索尼或者松下会是比较好的选择,价位大概需要在 3000 到 6000 元左右,低于这个价位的基本不算真正意义的 4K 蓝光播放器。另外如果你恰好有一台 XBOX ONE S,也是可以播放 4K UHD 蓝光的。它应该是目前性价比最高的播放器。

选购完支持 4K 的播放器之后还要选择一个同样支持 4K 以及符合 HDR10 或者杜比视界的电视。电视在购买过程中也要处处小心,虽然目前国内的 4K 电视都说自己支持 HDR,但是符合 HDR10 标准的没有几个。购买前可以通过这个网站https://www.rtings.com/查询自己想购买的电视型号的评分和 HDR 支持情况,避免被不良商家忽悠。

索尼某款电视的评分索尼某款电视的评分

写在最后

最后还是想提一下国内视频网站上把蓝光当作分辨率的做法,无非就是提高了视频码率,然后就拿这个噱头来卖自家的会员,即便购买了会员享受到的「蓝光」也远远不及普通蓝光碟的画质。

对于大多数人来说,购买蓝光碟还是一件门槛挺高的行为,但是有必要了解一些基础常识,避免被一些网站蒙骗。对于电影爱好者或者收藏爱好者来说,蓝光可以算是电影的终极追求了,收藏一些自己最爱电影的蓝光碟在家中,可以沉浸其中反复回味。

不管你是哪种观众,希望这篇文章能帮助到同样爱电影的你。

我收藏的《黑炮事件》影碟,同样由碟影传媒发行我收藏的《黑炮事件》影碟,同样由碟影传媒发行

]]>
+ + + + 久违的更新 + + + + + + + + + +
+ + + 岁末盘点之2019年购买过的电子产品 + + https://duyu.page/%E5%B2%81%E6%9C%AB%E7%9B%98%E7%82%B9%E4%B9%8B2019%E5%B9%B4%E8%B4%AD%E4%B9%B0%E8%BF%87%E7%9A%84%E7%94%B5%E5%AD%90%E4%BA%A7%E5%93%81/ + 2020-01-02T00:37:42.000Z + 2024-01-08T07:17:23.000Z + + 转眼已经来到了 2020 年,过去的 2019 年依然平淡无奇,最值得总结的也就是买过的这些电子产品了,希望新的一年可以不要再这么败家。

群晖 DS918+

2017 年 4K 设备开始大量普及,4K 片源也越来越丰富,对存储空间、解码性能以及网络带宽都提出了更高的要求。群晖在这一年的的 9 月份推出了 918+。918+有四个硬盘位,搭载 J3455 四核 CPU,双千兆网口,内存最高可扩展到 8G,同时还有两个 NVME SSD 盘位。

我第一次接触到的群晖是一个入门款 DS218j,只有两个盘位,整体性能一般。后来在别人的安利下,就无脑入了这款 918+。

群晖我主要用来下载和备份电影,最开始买了几个希捷的 4T。随着电影越存越多,这几块 4T 也都要装满了。后来的几块硬盘都是在亚马逊买的,最近买的这块 12T 西部数据黑五比平常便宜了五百左右,虽然装上之后声音大了点,但是在选择一部电影下载前再也不用为空间不够发愁了。

除了存储电影,我还用来备份手机照片和电脑系统。手机照片备份到群晖里有一个问题,手机拍的实况照片会被转成视频,这一点上不如 iCloud 自家的备份那么方便。Mac 如果用群晖来进行备份还是相当方便的,不用外接硬盘,也不用考虑存储空间够不够,可以随时随地进行备份。

此外,我还尝试用它来做软路由、搭建图床、刮削视频(对硬盘里的视频自动识别,生成海报墙并归类)、跟别人分享我收藏的电影。有了 Docker 之后,还有很多很多的可能性,只有你想不到没有它做不到的,所以说群晖是买软件送硬件一点都不为过。

GoPro HERO7

买 GoPro 的是想出门旅游的时候拍点视频,单反烧不起,运动相机里也没得挑,看了一些评测视频后就下单了GoPro HERO7

图片来自GoPro官网图片来自GoPro官网

当时很多测评里都在吹 7 代的防抖,我看了评测以后也很心动,但新出的 8 代比 7 代的防抖又强悍了很多,而且现在 7 代比我下单时候的价格居然便宜了 2000 多,简直欲哭无泪。

来源:https://youtu.be/2J2O6E9ITT4来源:https://youtu.be/2J2O6E9ITT4

不过在使用过程中我还是比较满意的。GoPro 出门随身携带非常方便;支持拍摄4K 60 帧、2K 120 帧以及 1080P 240 帧的视频;照片适合拍摄全景,但是变焦能力有限,稍微远点的细节就照顾不了了。此外还有个超级好用的TimeWarp功能,可以将拍摄的视频运动加快并进行压缩,以 30 倍速拍摄 5 分钟,能生成 10 秒的视频。防水功能也很不错,即便在水下拍摄也没什么压力。

GoPro拍摄的照片GoPro拍摄的照片

GoPro 电池用的比较快,出去的时候随身带了三块电池,勉强够一天的轻度使用;拍的大部分视频都是 1080P 60 帧,也尝试拍了一些 4K 视频,但是体积太大了,内存卡没一会就满了,而且 4K 视频在最后剪辑的时候比较考验电脑的性能;暗光条件下拍摄效果也比较差,不适合在室内或者光线差的条件下进行拍摄;屏幕触控非常难用,很容易误触或者点击不上。

虽然它不够完美,但它依然是运动相机里的翘楚。不过在入手前一定要考虑好自己会不会坚持剪辑视频,没经过剪辑的一堆视频素材是没有任何灵魂的。

TCL R625

有次在某个群里随口问了句有没有可以支持 HDR,价位在 3000 左右的电视,有人推荐了TCL 55R625,国内同等配置的电视要比它贵不少。这个电视在国内生产,但是只在北美销售。我后来在某鱼上淘到一个别人刚买不久的二手。​

这款电视支持4K HDR 以及杜比视界。电视搭配 Roku 系统,流媒体中最高支持到 Youtube 4K HDR 以及 Netflix 的 4K 杜比视界。因为不是安卓系统,与国内视频 APP 基本无缘,所以需要搭配电视盒子使用。买了这个电视之后就是我使用率最高的家电了,看电影的幸福感也提升了好多。

芝杜 Z9S

电视播放在线视频还算可以,但是本地视频播放和解码就有点吃力了。所以就需要一个兼顾网络视频点播的本地视频播放机。看了一些评测,就入手了支持 4K HDR 的芝杜 z9s。芝杜最大卖点就是它的海报墙,它可以把 NAS 里的电影和电视剧精准识别然后进行归纳整理,配上电影海报和简介。

芝杜芝杜

刚开始上手的时候还是比较兴奋的,芝杜自带安卓系统,所以可以安装一些国内的视频 APP;被人吹捧的海报墙赏心悦目,看电影也方便了很多。但用的时间久了,发现海报墙的 bug 也最多,而且入手了之后才发现芝杜没办法支持ASS 本地字幕。这一点我有点没办法接受。

ATV 4K

正当我对芝杜审美疲劳的时候,看到有人推荐Apple TV 4K,又耐不住手痒剁手了。ATV 4K 是苹果 17 年推出的电视盒子,最高可以支持 4K 杜比视界,如果要正常使用的话需要一个非国区的 AppleID。有了这个盒子以后,我的芝杜就开始吃灰了。

在线视频方面,苹果自身的 iTunes 的片源库已经足够丰富了,而且最近几年新出的片子都自带杜比视界,每部片子大约要 20 刀左右,我也就只能看看预告片的水平,消费不起。Netflix 可以支持到 4K 杜比视界,但是 YouTube 最高只能支持到 1080P,因为苹果不支持 Google 自家的 VP9 编码。

本地视频方面,因为 ATV 没有提供硬盘接口,所以买之前如果没有一台 NAS,买它其实没有多大的意义。有了 NAS 还必须配合一款Infuse的 APP 来进行解码播放。它也提供了海报墙的功能,不过本地播放的视频最高只能支持到 4K HDR,不支持杜比视界。Infuse 自身刮削到的电影海报和简介的可编辑性太差了,而且国内的的一些电视剧 Infuse 没有办法识别,所以我电影用了Emby,电视剧用了Plex来进行刮削,管理起来方便了很多。这两个软件都可以在 NAS 里安装对应的套件。

小牛电动车

小牛是我这一年买过的最失望的一个产品。

买他的原因是新住处离地铁站有 4 公里,而且又没有合适的公交车。当时是这么算的:打车和地铁每天来回一共需要 40 块钱,这样下去三个月就够买一辆小牛了,只要小牛能坚持用三个月,这以后就是血赚。这么一想之后,想都没想就去线下店里下单了小牛的 US 都市版

速度方面,因为新国标要求限速25km/h,超过15km/h会有持续不断的警告声音,而且限速是不可破解的。这样的速度跑在路上,被自行车超车简直就是家常便饭。而且这个速度超车的时候的时候特别危险,死活提不上速,简直急死人。一个人还好,还能保持 25km/h 的速度,如果后座再带一个人,最高速度能上 20km/h 就该烧高香了。

续航方面,都市版的电池是 13Ah 的锂电池,理论续航是55km。可是实际骑下来发现这个续航比想象中的还要差。9 月份刚买的时候有几天是骑车到公司的,来回三十公里,单程需要在路上花费一个小时,晚上到家的时候基本上只剩 20%的电。再加上北京的路况实在是太差了,逆行的超速的非机动车道被占的,每天骑车到公司的路上都提心吊胆险象环生。骑了没几天我就改成只骑到 4 公里外的地铁站了。刚开始天气不冷的时候还好,基本五天充一次电。天冷以后这个电池就开始血崩,每两天就需要充一次电,每次拎着电池去充电的时候我都觉得自己特别愚蠢。

骑了几个月小牛后,我明白了一个道理:电动车最重要的还是续航,再好的颜值也白搭。

戴尔显示器

当时买显示器前考虑用来家里办公以及看电影,所以就想买个 4K 的。为了挑显示器,我把显示器的参数都研究了一遍,最后还是选了最开始同事推荐的戴尔 2718QM。虽然现在很多 4K 显示器都声称自己支持 HDR,但是最重要的一项指标亮度就远远不及格,真正的 HDR 显示器要在一万开外了,大部分声称自己支持 HDR 的都是假 HDR,戴尔这款也不例外。

上手之后发现搭配 Mac 使用的时候字太小了,需要将屏幕分辨率缩小成 2K 左右才能正常显示。我大部分时间还是用它来看电影,虽然是假 HDR,但是画面效果也还算满意,不过 27 寸的屏幕播放 4K 和 1080P 视频的时候看着没什么两样。

Dell 2718QM和电视的4K HDR对比Dell 2718QM和电视的4K HDR对比

在买了电视后,就把这款显示器转手卖掉了,换了一个 25 寸的2518DR,开启 HiDPI 之后用起来很舒服,也更愿意坐在电脑前撸代码码字了。

K2P 路由器

K2P 在斐讯刚开卖的时候要799块钱,后来爆雷的事大家都知道了,今年在某多买的时候只要 240 了,不过这个价格还是要比最低价贵上不少的。

K2P 有四个全双工千兆 LAN+一个全双工千兆 WAN,5G 和 2.4G 的天线各有两个,搭载 MT7621AT 双核四线程 CPU。K2P 因为性能优异,论坛的大佬们出了各种固件,比如官改、梅林、老毛子,可以满足你对路由器的一切想像。我买的那款刷的比较有名的高恪固件,因为这款固件北京联通可以多拨。多拨就是将运营商的带宽翻倍,比如北京联通双拨成功的话可以将原来 30Mbps 的上传成功提升到 60Mbps。因为之前买了一款华硕的 AC68U,所以在体验了一段时间双拨的快感后便索然无味,放在角落里吃灰了。

我对路由器的要求就是上网的时候感觉不到路由器的存在,无论是稳定性还是 5G 信号强度,K2P 的表现都很优秀,完全可以当一个家里的主路由来使用。

其他

除了以上提到的这些,还买了斐讯的 N1 盒子、小米的智能插座、Bose SoundLink Revolve(转手卖了),你在 2019 年又买了哪些超值的物件呢?欢迎大家留言分享。

]]>
+ + + + 倾家荡产的一年 + + + + + + + + + + + + + + + + + + + + + +
+ + + 岁末盘点之2019年购买过的订阅服务 + + https://duyu.page/%E5%B2%81%E6%9C%AB%E7%9B%98%E7%82%B9%E4%B9%8B2019%E5%B9%B4%E8%B4%AD%E4%B9%B0%E8%BF%87%E7%9A%84%E8%AE%A2%E9%98%85%E6%9C%8D%E5%8A%A1/ + 2019-12-29T12:10:52.000Z + 2024-01-08T07:17:23.000Z + +

本文最先发布于我的公众号**iTechMovie,**欢迎关注!原文链接:岁末盘点之 2019 年购买过的订阅服务

前几天在少数派看了这篇文章 《一个上班族的 2019 年数字订阅》,也想给自己来个年终总结,于是就有了这个岁末盘点系列。


现如今,无论是流媒体还是 APP,国内还是国外,付费订阅越来越成为主流,终身制或者买断制的方式也越来越少见。付费订阅的模式更加考验用户的忠诚度,同时也倒逼服务提供方给我们提供更优质的服务和体验。我觉得这是一件对双方都有利的事情。

下面分享一下 2019 年我购买过的订阅服务,有些不适合在这里写的就略过了。

Netflix

第一次使用 Netflix 是在第一部交互式影片《黑镜:潘达斯奈基》刚刚出来的时候,我被这集新奇又好玩的黑镜所吸引,果断注册了账户,就为了体验一下上帝视角。但看到最后发现,其实真正的上帝是这部剧的编剧,参与观看这部影片的观众其实也是一个角色而已。

观众决定主角的选择观众决定主角的选择

说回正题,Netflix 新开账户是有一个月的免费试用期的,有三个套餐可以选择,最贵的高级套餐支持4K以及4 个屏幕同时在线观看。如果在订阅的时候使用阿根廷或者土耳其 IP 最便宜,高级套餐每个人每月折合人民币 14 块钱左右。订阅完成后,可以观看的内容就只跟观看时的 IP 有关系了。

在今年 9 月份又重新订阅 Netflix 后,对我多年的观影习惯有很大改变。以前几乎不会在线看电影,现在 Netflix 出了我感兴趣的新剧就打开电视直接看了。比如最近新出的《爱尔兰人》和《婚姻故事》这两个奥斯卡的热门,以前我们是没办法在颁奖季之前看到的。

除此之外,Netflix 提供了很多高质量的剧集,无论是自制剧还是从别家买的版权每次都是一整季全部放出,而且都配有中文字幕。虽然今年不准备追新剧的,但还是耐不住首页的日常推荐,把两季的《去他*的世界》都追完了,还差点把《绝命毒师》和《Rick and Morty》重新完整刷一遍。

这个破世界的末日这个破世界的末日

总之,我觉得 Netflix 是目前最用户体验最好内容质量最高整体最优秀的流媒体,没有之一。

iCloud

虽然个人隐私在国内有点廉价,但毕竟 iCloud 里放的都是一些比较私人的文件,自从 17 年 iCloud 与云上贵州合作后,手里还有一个美区的 Apple ID,就把 iCloud 迁移到了美区。

免费的 5GB 空间是远远不够用的,手机随便拍点照片视频就塞满了。所以每个月 7 块钱50GB 套餐几乎是必选项,美区是 0.99 刀。

有了 NAS 后我的照片都备份到了 NAS 里,关闭了自动上传照片到 iCloud。云备份一直开着自动备份,所以现在占空间比较大的是手机备份,大约 14GB 左右。其他的还有之前上传过的照片和 iCloud 云盘里的一些文件。现在剩余空间还有 17GB 空间,这一两年内暂时没有升级更大空间的必要了。

Spotify

选择订阅 Spotify 的原因是我用了五年的网易云音乐收藏的歌曲里变灰的越来越多,几乎到了无歌可听的地步了,每次循环的都是那么几首,而且私人 FM 的推荐算法每次给我推的歌都让我有马上点进垃圾桶的冲动,而我又对 QQ 音乐有天然的反感,Apple Music 又没有一个好用的客户端,然后我就投向了 Spotify 的怀抱。

Spotify AppSpotify App

Spotify 也可以免费用,不过对切歌有限制,歌单播放中间还会插入音频广告且无法跳过。如果付费的话,新用户有三个月的试用期,试用期过后家庭套餐每人每月大约需要15 人民币

Spotify 刚开始使用的时候还是需要点时间适应的,歌曲是跟着专辑走的,而且都没有歌词。港台地区和欧美的歌手曲库都很全,但大陆地区的曲库相对差一点。像我常听的花儿乐队也不算小众了,Spotify 只有他们的两张专辑,李志的所有专辑倒是都有。他们的推荐算法也还算不错,推荐的歌总有些意外的惊喜。音质这方面我不太能听得出来,就不多作评价了。

听的最多居然是南拳妈妈听的最多居然是南拳妈妈

Apple tv+

如果要观看 Apple tv+需要一个非大陆地区的 Apple ID,不需要特殊的网络环境,手机和电脑可以通过视频 APP 观看,电视上观看的最大分辨率可以达到4K。因为苹果送了一年的试用期,我就追了几集《早间新闻》,整体体验还是很不错的。都有中文字幕,有些还有中文配音,算是对国内用户来说相当友好了。

价格方面,试用期过后一个月大概要35 人民币左右,考虑到 tv+的剧集实在是太少了,有热度的剧更是没几个,试用期过后我是不会选择继续订阅的。

YouTube Premium

YouTube 不用多说,世界上最大内容最丰富的视频视频网站。唯一让我感到不爽的一点的是国内的一些综艺视频无节操的往视频里加各种广告,本来 YouTube 的广告根本不让我反感的,但每隔几分钟就蹦出来一次广告实在是不能忍。

后来了解到印度区的 YouTube Premium 一个月一个人才4 块钱,除了可以支持后台播放以及下载视频,还可以同时开通 YouTube Music Premium,简直超值!开通印度区的会员需要一个印度 IP,家庭组成员也需要印度 IP,同时谷歌账户的付款地区要一致。

赠送的 YouTube Music Premium 首次进入的榜单和推荐的歌曲都是咖喱味的,需要自己调教一番,比如关注收藏几个喜欢的歌手才会将首页的推荐给变过来,不过榜单就无能为力了。

YouTube Music 的曲库还算丰富,但是跟 Spotify 一样,大陆地区的曲库还是不算很全,新裤子和花儿乐队的专辑没有几个,一些盗版的 MV 倒是很多。但每个月只花 4 块钱,能同时享受到这两样服务我已经很知足了。

Youtube MusicYoutube Music

其他

除了以上的这些,还订阅了京东会员亚马逊 Prime 会员的试用以及**Disney+**。京东会员应该花的不亏,免去的运费和送的京豆基本上能把会员费省下来。亚马逊 Prime 会员用的招行信用卡积分兑换的,有三个月的免费试用期,海外购可以免运费,就趁黑五入了一块硬盘。过了试用期就不会继续订购了,毕竟不会经常在上面买东西。Disney+在之前的文章提到过,体验很一般,试用期过后忘记取消订阅,又被自动续费了一个月,我很后悔。

最后

除了 Netflix 和 YouTube 需要特殊的网络环境外,其他几个国内的网络环境还是很方便地能享受到的,有机会希望大家一定要体验下,让国内的一些竭泽而渔又毫无底线的网站都见鬼去吧。

PS: 下一期会继续分享下 19 年购买过的一些电子产品,敬请期待!

]]>
+ + + + 优质的服务越来越昂贵 + + + + + + + + + + + + + + + + + + + +
+ +
diff --git a/baidusitemap.xml b/baidusitemap.xml new file mode 100644 index 00000000..0b40f8be --- /dev/null +++ b/baidusitemap.xml @@ -0,0 +1,95 @@ + + + + https://duyu.page/2020%20%E5%B9%B4%E4%BA%86-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%93%9D%E5%85%89%E8%BF%98%E8%AE%A9%E5%BD%B1%E8%BF%B7%E5%BF%83%E9%A9%B0%E7%A5%9E%E5%BE%80/ + 2024-01-08 + + + https://duyu.page/TransClient%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%96%B0%20/ + 2024-01-08 + + + https://duyu.page/%E4%B8%80%E4%B8%AA%E6%9C%88%E5%86%85%E6%88%91%E9%9D%A0%E7%8B%AC%E7%AB%8B%E5%BC%80%E5%8F%91%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%8C%A3%E4%BA%86%E5%A4%9A%E5%B0%91%E9%92%B1-TransClient2.0%E6%9B%B4%E6%96%B0/ + 2024-01-08 + + + https://duyu.page/%E4%BA%8B%E6%83%85%E4%BB%96%E8%AF%A5%E6%9C%89%E7%9A%84%E9%82%A3%E4%B8%AA%E6%A0%B7%E5%AD%90/ + 2024-01-08 + + + https://duyu.page/%E4%BC%98%E9%9B%85%E7%9A%84%E7%9C%8B%E4%B8%80%E9%83%A8%E7%94%B5%E5%BD%B1%E9%9C%80%E8%A6%81%E5%87%A0%E6%AD%A5/ + 2024-01-08 + + + https://duyu.page/%E5%A6%82%E4%BD%95%E5%B0%86%E8%87%AA%E5%B7%B1%E8%B1%86%E7%93%A3%E6%83%B3%E7%9C%8B%E7%9A%84%E7%94%B5%E5%BD%B1%E5%90%8C%E6%AD%A5%E5%88%B0Radarr/ + 2024-01-08 + + + https://duyu.page/%E5%A6%82%E4%BD%95%E7%AD%96%E5%88%92%E4%B8%80%E5%9C%BA%E8%AF%B4%E8%B5%B0%E5%B0%B1%E8%B5%B0%E7%9A%84%E5%86%B0%E5%B2%9B%E6%97%85%E8%A1%8C/ + 2024-01-08 + + + https://duyu.page/%E5%AE%B6%E9%87%8C%E6%90%AD%E5%BB%BA%E4%BA%86NAS%E9%9C%80%E8%A6%81%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%E8%BF%99%E5%87%A0%E4%B8%AA%E6%AD%A5%E9%AA%A4%E5%BE%88%E9%87%8D%E8%A6%81/ + 2024-01-08 + + + https://duyu.page/%E5%B2%81%E6%9C%AB%E7%9B%98%E7%82%B9%E4%B9%8B2019%E5%B9%B4%E8%B4%AD%E4%B9%B0%E8%BF%87%E7%9A%84%E7%94%B5%E5%AD%90%E4%BA%A7%E5%93%81/ + 2024-01-08 + + + https://duyu.page/%E5%B2%81%E6%9C%AB%E7%9B%98%E7%82%B9%E4%B9%8B2019%E5%B9%B4%E8%B4%AD%E4%B9%B0%E8%BF%87%E7%9A%84%E8%AE%A2%E9%98%85%E6%9C%8D%E5%8A%A1/ + 2024-01-08 + + + https://duyu.page/%E5%BD%93%E6%80%9D%E7%BB%AA%E6%97%A0%E5%A4%84%E6%94%B6%E7%95%99/ + 2024-01-08 + + + https://duyu.page/%E6%80%8E%E6%A0%B7%E7%9A%84%E8%A7%86%E9%A2%91%E7%AE%97%E5%BE%97%E4%B8%8A%E9%AB%98%E6%B8%85-%E8%BF%993%E4%B8%AA%E7%8E%87%E5%BE%88%E9%87%8D%E8%A6%81/ + 2024-01-08 + + + https://duyu.page/%E6%88%91%E4%B9%B0%E4%BA%86%E4%B8%AA%E8%A1%A8/ + 2024-01-08 + + + https://duyu.page/%E6%88%91%E7%9A%842010%E5%B9%B4%E4%BB%A3-%E8%A2%AB%E7%94%B5%E5%BD%B1%E5%BB%B6%E9%95%BF%E7%9A%84%E7%94%9F%E5%91%BD/ + 2024-01-08 + + + https://duyu.page/%E6%88%91%E7%AD%9B%E9%80%89%E5%87%BA%E4%BA%86%E8%AF%84%E5%88%86%E6%9C%80%E9%AB%98%E7%9A%84%E5%8D%81%E4%BD%8DCambly%E8%8B%B1%E8%AF%AD%E5%8F%A3%E8%AF%AD%E8%80%81%E5%B8%88/ + 2024-01-08 + + + https://duyu.page/%E6%B5%81%E6%B0%B4%E8%B4%A6%20%E5%9C%A8%E5%8C%97%E4%BA%AC%E5%88%B0%E5%85%AC%E5%8F%B8%E5%A4%8D%E5%B7%A5%E7%9A%84%E7%AC%AC%E4%B8%80%E5%A4%A9/ + 2024-01-08 + + + https://duyu.page/%E7%94%B5%E5%BD%B1%E8%8A%82%E7%9C%8B%E5%AE%8C%E7%94%B5%E5%BD%B1-%E8%B5%B0%E5%9C%A8%E5%B9%B3%E9%81%A5%E5%8F%A4%E5%9F%8E%E7%9A%84%E5%A4%A7%E8%A1%97%E4%B8%8A/ + 2024-01-08 + + + https://duyu.page/%E7%9C%8B%E4%BA%86%E4%B8%A4%E9%83%A8%E7%A5%9E%E7%A7%98%E7%9A%84%E7%94%B5%E5%BD%B1/ + 2024-01-08 + + + https://duyu.page/%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B9%8B%E6%A0%88(Stack)%E5%92%8C%E9%98%9F%E5%88%97(Queue)/ + 2024-01-08 + + + https://duyu.page/%E7%BB%99%E7%A1%AC%E7%9B%98%E9%87%8C%E7%9A%84%E5%B0%8F%E5%A7%90%E5%A7%90%E5%AE%89%E4%B8%80%E4%B8%AA%E5%AE%B6-%E5%A6%82%E4%BD%95%E6%89%93%E9%80%A0%E4%B8%80%E4%B8%AA%E5%B1%9E%E4%BA%8E%E8%87%AA%E5%B7%B1%E7%9A%84%E5%A4%9A%E5%AA%92%E4%BD%93%E4%B8%AD%E5%BF%83/ + 2024-01-08 + + + https://duyu.page/%E8%8A%B1%E4%BA%86%E4%B8%80%E4%B8%AA%E6%9C%88%E6%97%B6%E9%97%B4%E6%88%91%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E7%AE%A1%E7%90%86%E4%B8%8B%E8%BD%BD%E4%B8%8A%E4%BC%A0%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F/ + 2024-01-08 + + + https://duyu.page/%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9%E8%B4%A6%E5%8F%B7%E8%A2%AB%E7%9B%97%E7%9A%84%E7%BB%8F%E5%8E%86/ + 2024-01-08 + + + https://duyu.page/%E8%BF%BD%E9%9A%8F%E7%99%BD%E6%97%A5%E6%A2%A6%E6%83%B3%E5%AE%B6%E7%9A%84%E8%84%9A%E6%AD%A5-%E6%9D%A5%E4%B8%80%E5%9C%BA%E8%82%86%E6%84%8F%E7%9A%84%E5%86%B0%E5%B2%9B%E5%86%92%E9%99%A9/ + 2024-01-08 + + \ No newline at end of file diff --git a/images/favicon.ico b/images/favicon.ico new file mode 100644 index 00000000..95153952 Binary files /dev/null and b/images/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..d45dbc0b --- /dev/null +++ b/index.html @@ -0,0 +1,16 @@ +独语 +
  • 栈(Stack) +定义: 栈是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加到栈中的元素会是第一个被移除的。 +基本操作: +push: 向栈顶添...
    2024-01-08
  • 最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数...
    2024-01-02
  • 重新拥有表达的欲望可能因为自己独处的时间的越来越多,现实里跟人的交流的越来越少。 +如今,自由地表达和自由地呼吸不知道哪个更困难一些。朋友圈只适合装逼,微博上我只会愤怒,推特上大家都在讨论政治,收...
    2022-09-20
  • 前些天在一个电影节的微信群中偶然看到一条观影的消息,点开后发现都是平遥和 First 出来的片子,毫不犹豫的选了两部。放映的日子是今天下午,到了早上才收到放映地点的短线通知,搞得这一场电影放映像...
    2022-09-17
  • 买表北京在五月经历了一波疫情,居家办公了一个月。我在居家前屯了几瓶 1L 的可乐,居家的一个月我基本上都喝的这个。 +几个月后,终于可以回家了,妈妈看到我的肚子,开始劝我减肥,我羞愧难当。 +连我爸...
    2022-09-07
  • 常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。 +...
    2022-07-11
  • +
    2022-05-13
  • 一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。 +这个时候有点慌了,难道被网站 b...
    2022-03-29
  • 将下电影这件事交给自动化
    2022-03-18
  • 看见世界,亲近彼此
    2020-06-14
\ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 00000000..fdf39ed2 --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,8 @@ +独语 +
\ No newline at end of file diff --git a/page/3/index.html b/page/3/index.html new file mode 100644 index 00000000..410903c9 --- /dev/null +++ b/page/3/index.html @@ -0,0 +1,7 @@ +独语 +
\ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 00000000..0febd9ad --- /dev/null +++ b/robots.txt @@ -0,0 +1,8 @@ +User-agent: * +Allow: / +Allow: /archives/ +Allow: /tags/ +Allow: /js/ +Allow: /style/ +Sitemap: https://techmovie.xyz/sitemap.xml +Sitemap: https://techmovie.xyz/baidu_sitemap.xml \ No newline at end of file diff --git a/scripts/dark.js b/scripts/dark.js new file mode 100644 index 00000000..6f5f7d0d --- /dev/null +++ b/scripts/dark.js @@ -0,0 +1 @@ +(()=>{var e=document.querySelector(".mode-switch .iconfont"),t=document.querySelector("LINK[light-src*=https]"),a=window.matchMedia("(prefers-color-scheme: dark)"),o=localStorage.getItem("theme"),r=t==null?void 0:t.getAttribute("light-src"),c=t==null?void 0:t.getAttribute("dark-src");o==="dark"?(t==null||t.setAttribute("href",""),document.body.classList.toggle("dark-mode"),t==null||t.setAttribute("href",c)):o==="light"&&(document.body.classList.toggle("light-mode"),t==null||t.setAttribute("href",r));e==null||e.addEventListener("click",d=>{d.stopPropagation();let s="";a.matches?(document.body.classList.toggle("light-mode"),s=document.body.classList.contains("light-mode")?"light":"dark"):(document.body.classList.toggle("dark-mode"),s=document.body.classList.contains("dark-mode")?"dark":"light"),t==null||t.setAttribute("href",s==="dark"?c:r),localStorage.setItem("theme",s)});})(); diff --git a/scripts/post.js b/scripts/post.js new file mode 100644 index 00000000..06080235 --- /dev/null +++ b/scripts/post.js @@ -0,0 +1 @@ +(()=>{var a=(t,r,o)=>new Promise((e,g)=>{var l=n=>{try{s(o.next(n))}catch(i){g(i)}},m=n=>{try{s(o.throw(n))}catch(i){g(i)}},s=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,m);s((o=o.apply(t,r)).next())});var d={rootMargin:"0px",threshold:0},c=new IntersectionObserver(t=>{t.forEach(r=>a(void 0,null,function*(){let o=r.target,e=o.getAttribute("data-original");e&&r.isIntersecting&&(yield u(e,o),o.classList.toggle("img-loading"),c.unobserve(o))}))},d);function u(t,r){return a(this,null,function*(){return new Promise((o,e)=>{r.onload=()=>o(r),r.onerror=e,r.src=t})})}var b=document.querySelectorAll(".img-loading");Array.from(b).forEach(t=>{c.observe(t)});})(); diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..106cc94e --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,656 @@ + + + + + https://duyu.page/2020%20%E5%B9%B4%E4%BA%86-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%93%9D%E5%85%89%E8%BF%98%E8%AE%A9%E5%BD%B1%E8%BF%B7%E5%BF%83%E9%A9%B0%E7%A5%9E%E5%BE%80/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/TransClient%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%96%B0%20/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E4%B8%80%E4%B8%AA%E6%9C%88%E5%86%85%E6%88%91%E9%9D%A0%E7%8B%AC%E7%AB%8B%E5%BC%80%E5%8F%91%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%8C%A3%E4%BA%86%E5%A4%9A%E5%B0%91%E9%92%B1-TransClient2.0%E6%9B%B4%E6%96%B0/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E4%BA%8B%E6%83%85%E4%BB%96%E8%AF%A5%E6%9C%89%E7%9A%84%E9%82%A3%E4%B8%AA%E6%A0%B7%E5%AD%90/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E4%BC%98%E9%9B%85%E7%9A%84%E7%9C%8B%E4%B8%80%E9%83%A8%E7%94%B5%E5%BD%B1%E9%9C%80%E8%A6%81%E5%87%A0%E6%AD%A5/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E5%A6%82%E4%BD%95%E5%B0%86%E8%87%AA%E5%B7%B1%E8%B1%86%E7%93%A3%E6%83%B3%E7%9C%8B%E7%9A%84%E7%94%B5%E5%BD%B1%E5%90%8C%E6%AD%A5%E5%88%B0Radarr/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E5%A6%82%E4%BD%95%E7%AD%96%E5%88%92%E4%B8%80%E5%9C%BA%E8%AF%B4%E8%B5%B0%E5%B0%B1%E8%B5%B0%E7%9A%84%E5%86%B0%E5%B2%9B%E6%97%85%E8%A1%8C/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E5%AE%B6%E9%87%8C%E6%90%AD%E5%BB%BA%E4%BA%86NAS%E9%9C%80%E8%A6%81%E8%BF%9C%E7%A8%8B%E8%AE%BF%E9%97%AE%E8%BF%99%E5%87%A0%E4%B8%AA%E6%AD%A5%E9%AA%A4%E5%BE%88%E9%87%8D%E8%A6%81/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E5%B2%81%E6%9C%AB%E7%9B%98%E7%82%B9%E4%B9%8B2019%E5%B9%B4%E8%B4%AD%E4%B9%B0%E8%BF%87%E7%9A%84%E7%94%B5%E5%AD%90%E4%BA%A7%E5%93%81/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E5%B2%81%E6%9C%AB%E7%9B%98%E7%82%B9%E4%B9%8B2019%E5%B9%B4%E8%B4%AD%E4%B9%B0%E8%BF%87%E7%9A%84%E8%AE%A2%E9%98%85%E6%9C%8D%E5%8A%A1/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E5%BD%93%E6%80%9D%E7%BB%AA%E6%97%A0%E5%A4%84%E6%94%B6%E7%95%99/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E6%80%8E%E6%A0%B7%E7%9A%84%E8%A7%86%E9%A2%91%E7%AE%97%E5%BE%97%E4%B8%8A%E9%AB%98%E6%B8%85-%E8%BF%993%E4%B8%AA%E7%8E%87%E5%BE%88%E9%87%8D%E8%A6%81/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E6%88%91%E4%B9%B0%E4%BA%86%E4%B8%AA%E8%A1%A8/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E6%88%91%E7%9A%842010%E5%B9%B4%E4%BB%A3-%E8%A2%AB%E7%94%B5%E5%BD%B1%E5%BB%B6%E9%95%BF%E7%9A%84%E7%94%9F%E5%91%BD/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E6%88%91%E7%AD%9B%E9%80%89%E5%87%BA%E4%BA%86%E8%AF%84%E5%88%86%E6%9C%80%E9%AB%98%E7%9A%84%E5%8D%81%E4%BD%8DCambly%E8%8B%B1%E8%AF%AD%E5%8F%A3%E8%AF%AD%E8%80%81%E5%B8%88/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E6%B5%81%E6%B0%B4%E8%B4%A6%20%E5%9C%A8%E5%8C%97%E4%BA%AC%E5%88%B0%E5%85%AC%E5%8F%B8%E5%A4%8D%E5%B7%A5%E7%9A%84%E7%AC%AC%E4%B8%80%E5%A4%A9/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E7%94%B5%E5%BD%B1%E8%8A%82%E7%9C%8B%E5%AE%8C%E7%94%B5%E5%BD%B1-%E8%B5%B0%E5%9C%A8%E5%B9%B3%E9%81%A5%E5%8F%A4%E5%9F%8E%E7%9A%84%E5%A4%A7%E8%A1%97%E4%B8%8A/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E7%9C%8B%E4%BA%86%E4%B8%A4%E9%83%A8%E7%A5%9E%E7%A7%98%E7%9A%84%E7%94%B5%E5%BD%B1/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B9%8B%E6%A0%88(Stack)%E5%92%8C%E9%98%9F%E5%88%97(Queue)/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E7%BB%99%E7%A1%AC%E7%9B%98%E9%87%8C%E7%9A%84%E5%B0%8F%E5%A7%90%E5%A7%90%E5%AE%89%E4%B8%80%E4%B8%AA%E5%AE%B6-%E5%A6%82%E4%BD%95%E6%89%93%E9%80%A0%E4%B8%80%E4%B8%AA%E5%B1%9E%E4%BA%8E%E8%87%AA%E5%B7%B1%E7%9A%84%E5%A4%9A%E5%AA%92%E4%BD%93%E4%B8%AD%E5%BF%83/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E8%8A%B1%E4%BA%86%E4%B8%80%E4%B8%AA%E6%9C%88%E6%97%B6%E9%97%B4%E6%88%91%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E7%AE%A1%E7%90%86%E4%B8%8B%E8%BD%BD%E4%B8%8A%E4%BC%A0%E7%9A%84%E5%B0%8F%E7%A8%8B%E5%BA%8F/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%A4%9A%E4%B8%AA%E7%AB%99%E7%82%B9%E8%B4%A6%E5%8F%B7%E8%A2%AB%E7%9B%97%E7%9A%84%E7%BB%8F%E5%8E%86/ + + 2024-01-08 + + monthly + 0.6 + + + + https://duyu.page/%E8%BF%BD%E9%9A%8F%E7%99%BD%E6%97%A5%E6%A2%A6%E6%83%B3%E5%AE%B6%E7%9A%84%E8%84%9A%E6%AD%A5-%E6%9D%A5%E4%B8%80%E5%9C%BA%E8%82%86%E6%84%8F%E7%9A%84%E5%86%B0%E5%B2%9B%E5%86%92%E9%99%A9/ + + 2024-01-08 + + monthly + 0.6 + + + + + https://duyu.page/ + 2024-01-08 + daily + 1.0 + + + + + https://duyu.page/tags/%E7%94%B5%E5%BD%B1/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%95%B0%E7%A0%81/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%C2%B5Torrent/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E5%B0%8F%E7%A8%8B%E5%BA%8F/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/TransClient/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%94%BF%E6%B2%BB/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/political/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%B2%B3%E5%8D%97/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E4%B8%8A%E6%B5%B7/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%B5%81%E5%AA%92%E4%BD%93/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%BE%A4%E6%99%96/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/4K/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%B1%86%E7%93%A3/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Radarr/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E5%86%B0%E5%B2%9B/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%97%85%E8%A1%8C/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%A7%82%E9%B2%B8%E9%B1%BC/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%99%BD%E6%97%A5%E6%A2%A6%E6%83%B3%E5%AE%B6/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/NAS/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/DDNS/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%BF%9C%E7%A8%8B/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E5%B0%8F%E7%89%9B/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%8A%9D%E6%9D%9C/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Apple-tv/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%88%B4%E5%B0%94/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%96%90%E8%AE%AF/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/TCL-R625/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/GoPro-HERO7/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Netflix/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Youtube/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Apple-tv/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/iCloud/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Disney/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E4%BB%98%E8%B4%B9%E8%AE%A2%E9%98%85/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%A2%8E%E7%A2%8E%E5%BF%B5/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E9%AB%98%E6%B8%85/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E5%88%86%E8%BE%A8%E7%8E%87/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%93%9D%E5%85%89/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%BF%90%E5%8A%A8/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Apple-Watch/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%94%B5%E8%A7%86%E5%89%A7/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%BA%AA%E5%BD%95%E7%89%87/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Cambly/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%8B%B1%E8%AF%AD/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%88%AC%E8%99%AB/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%94%9F%E6%B4%BB/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E8%82%BA%E7%82%8E/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E5%A4%8D%E5%B7%A5/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E5%B9%B3%E9%81%A5/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/First/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E7%AE%97%E6%B3%95/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E6%A0%88/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/%E9%98%9F%E5%88%97/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Emby/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Jellyfin/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Plex/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/qBittorrent/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Transmission/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Deluge/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/1password/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Sonarr/ + 2024-01-08 + weekly + 0.2 + + + + https://duyu.page/tags/Jackett/ + 2024-01-08 + weekly + 0.2 + + + + + diff --git a/style/index.css b/style/index.css new file mode 100644 index 00000000..ab6af96f --- /dev/null +++ b/style/index.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,table{border-collapse:collapse;border-spacing:0}a{text-decoration:none}*{font-family:"Noto Serif",-apple-system,BlinkMacSystemFont,Segoe UI,serif}body{--text-color: #404040;--text-title-color: #111;--bkg-color: #fff;--link-color: #111;--link-active-color: #0074bf;--text-second-color: #7a7a7a;--border-color: #ececec;--article-text-color: #000;--textarea-color: #fff;--comment-primary-color: #6190e8;--comment-border-color: #dfe2e5;--popup-bg-color: #fff;--post-link-color: #060606;--comment-btn-bg-color: #fff;--comment-btn-border-color: #6190e8;--comment-btn-color: #6190e8;--comment-primary-btn-bg-color: #6190e8;--comment-primary-btn-border-color: #6190e8;--comment-primary-btn-color: #fff;--post-info-color: #060606;--switch-bg-color: #395b64;--img-bg-color: #eeedeb;--caption-bg-color: #f6f8fa;--code-color: #eb5757;--code-bg-color: rgba(135, 131, 120, .15)}body.dark-mode{--text-color: #a0a0a0;--text-title-color: #d2d2d2;--bkg-color: #3c3c3c;--link-color: #d2d2d2;--link-active-color: #0074bf;--text-second-color: #92918e;--border-color: #4b4b4b;--article-text-color: #a0a0a0;--textarea-bg-color: #4c4c4c;--post-link-color: #a0a0a0;--comment-primary-color: #1565c0;--comment-border-color: #717374;--popup-bg-color: #3a3636;--comment-btn-bg-color: #4c4c4c;--comment-btn-border-color: transparent;--comment-btn-color: #a0a0a0;--comment-primary-btn-bg-color: #4c4c4c;--comment-primary-btn-border-color: transparent;--comment-primary-btn-color: #d2d2d2;--post-info-color: #c8c8c8;--switch-bg-color: #333333;--img-bg-color: #616364;--caption-bg-color: #1a1b26;--code-color: #b8a4a4;--code-bg-color: #303536}body.dark-mode img,body.dark-mode code.hljs{filter:brightness(.9);background-color:#303536}@media (color-index: 48){body{--text-color: #a0a0a0;--text-title-color: #d2d2d2;--bkg-color: #3c3c3c;--link-color: #d2d2d2;--link-active-color: #0074bf;--text-second-color: #92918e;--border-color: #4b4b4b;--article-text-color: #a0a0a0;--textarea-bg-color: #4c4c4c;--post-link-color: #a0a0a0;--comment-primary-color: #1565c0;--comment-border-color: #717374;--popup-bg-color: #3a3636;--comment-btn-bg-color: #4c4c4c;--comment-btn-border-color: transparent;--comment-btn-color: #a0a0a0;--comment-primary-btn-bg-color: #4c4c4c;--comment-primary-btn-border-color: transparent;--comment-primary-btn-color: #d2d2d2;--post-info-color: #c8c8c8;--switch-bg-color: #333333;--img-bg-color: #616364;--caption-bg-color: #1a1b26;--code-color: #b8a4a4;--code-bg-color: #303536}body img,body code.hljs{filter:brightness(.9);background-color:#303536}body.light-mode{--text-color: #404040;--text-title-color: #111;--bkg-color: #fff;--link-color: #111;--link-active-color: #0074bf;--text-second-color: #7a7a7a;--border-color: #ececec;--article-text-color: #000;--textarea-bg-color: #fff;--post-link-color: #060606;--comment-primary-color: #6190e8;--comment-border-color: #dfe2e5;--popup-bg-color: #fff;--comment-btn-bg-color: #fff;--comment-btn-border-color: #6190e8;--comment-btn-color: #fff;--comment-primary-btn-bg-color: #6190e8;--comment-primary-btn-border-color: #6190e8;--comment-primary-btn-color: #fff;--post-info-color: #060606;--switch-bg-color: #395b64;--img-bg-color: #eeedeb;--caption-bg-color: #f6f8fa;--code-color: #eb5757;--code-bg-color: rgba(135, 131, 120, .15)}}@media (color: 48842621){body{--text-color: #a0a0a0;--text-title-color: #d2d2d2;--bkg-color: #3c3c3c;--link-color: #d2d2d2;--link-active-color: #0074bf;--text-second-color: #92918e;--border-color: #4b4b4b;--article-text-color: #a0a0a0;--textarea-bg-color: #4c4c4c;--post-link-color: #a0a0a0;--comment-primary-color: #1565c0;--comment-border-color: #717374;--popup-bg-color: #3a3636;--comment-btn-bg-color: #4c4c4c;--comment-btn-border-color: transparent;--comment-btn-color: #a0a0a0;--comment-primary-btn-bg-color: #4c4c4c;--comment-primary-btn-border-color: transparent;--comment-primary-btn-color: #d2d2d2;--post-info-color: #c8c8c8;--switch-bg-color: #333333;--img-bg-color: #616364;--caption-bg-color: #1a1b26;--code-color: #b8a4a4;--code-bg-color: #303536}body img,body code.hljs{filter:brightness(.9);background-color:#303536}body.light-mode{--text-color: #404040;--text-title-color: #111;--bkg-color: #fff;--link-color: #111;--link-active-color: #0074bf;--text-second-color: #7a7a7a;--border-color: #ececec;--article-text-color: #000;--textarea-bg-color: #fff;--post-link-color: #060606;--comment-primary-color: #6190e8;--comment-border-color: #dfe2e5;--popup-bg-color: #fff;--comment-btn-bg-color: #fff;--comment-btn-border-color: #6190e8;--comment-btn-color: #fff;--comment-primary-btn-bg-color: #6190e8;--comment-primary-btn-border-color: #6190e8;--comment-primary-btn-color: #fff;--post-info-color: #060606;--switch-bg-color: #395b64;--img-bg-color: #eeedeb;--caption-bg-color: #f6f8fa;--code-color: #eb5757;--code-bg-color: rgba(135, 131, 120, .15)}}@media (prefers-color-scheme: dark){body{--text-color: #a0a0a0;--text-title-color: #d2d2d2;--bkg-color: #3c3c3c;--link-color: #d2d2d2;--link-active-color: #0074bf;--text-second-color: #92918e;--border-color: #4b4b4b;--article-text-color: #a0a0a0;--textarea-bg-color: #4c4c4c;--post-link-color: #a0a0a0;--comment-primary-color: #1565c0;--comment-border-color: #717374;--popup-bg-color: #3a3636;--comment-btn-bg-color: #4c4c4c;--comment-btn-border-color: transparent;--comment-btn-color: #a0a0a0;--comment-primary-btn-bg-color: #4c4c4c;--comment-primary-btn-border-color: transparent;--comment-primary-btn-color: #d2d2d2;--post-info-color: #c8c8c8;--switch-bg-color: #333333;--img-bg-color: #616364;--caption-bg-color: #1a1b26;--code-color: #b8a4a4;--code-bg-color: #303536}body img,body code.hljs{filter:brightness(.9);background-color:#303536}body.light-mode{--text-color: #404040;--text-title-color: #111;--bkg-color: #fff;--link-color: #111;--link-active-color: #0074bf;--text-second-color: #7a7a7a;--border-color: #ececec;--article-text-color: #000;--textarea-bg-color: #fff;--post-link-color: #060606;--comment-primary-color: #6190e8;--comment-border-color: #dfe2e5;--popup-bg-color: #fff;--comment-btn-bg-color: #fff;--comment-btn-border-color: #6190e8;--comment-btn-color: #fff;--comment-primary-btn-bg-color: #6190e8;--comment-primary-btn-border-color: #6190e8;--comment-primary-btn-color: #fff;--post-info-color: #060606;--switch-bg-color: #395b64;--img-bg-color: #eeedeb;--caption-bg-color: #f6f8fa;--code-color: #eb5757;--code-bg-color: rgba(135, 131, 120, .15)}}h1,h2,h3,h4,h5,h6{font-weight:600;margin-top:40px;margin-bottom:16px}h2{font-size:1.5625rem;margin-top:50px;margin-bottom:16px}h3{font-size:1.25rem}h4{font-size:1rem}h5,h6{font-size:.875rem}.main-content{max-width:720px;margin:0 auto}body{background-color:var(--bkg-color);color:var(--text-color)}a{color:var(--link-color)}a:hover,a:active{color:var(--link-active-color)}p{margin:27px 0;line-height:1.875rem}#gitalk-container{color:var(--article-text-color)}#gitalk-container .gt-meta{border-color:var(--border-color)}#gitalk-container textarea{background-color:var(--textarea-bg-color);color:var(--article-text-color)}#gitalk-container .gt-btn{background-color:var(--comment-btn-bg-color);border-color:var(--comment-btn-border-color);color:var(--comment-btn-color)}#gitalk-container .gt-btn-public,#gitalk-container .gt-btn-login{border-color:var(--comment-primary-btn-border-color);color:var(--comment-primary-btn-color);background-color:var(--comment-primary-btn-bg-color)}#gitalk-container .gt-container.gt-input-focused:after{background:transparent!important}#gitalk-container .gt-comment-content{background-color:var(--textarea-bg-color)}#gitalk-container .gt-comment-content:hover{box-shadow:none}#gitalk-container .gt-link,#gitalk-container .gt-comment-username,#gitalk-container .gt-ico-text,#gitalk-container .user-mention{color:var(--comment-primary-color)}#gitalk-container .gt-svg svg{fill:var(--comment-primary-color)}#gitalk-container blockquote{border-color:var(--comment-border-color)}#gitalk-container .gt-popup{background-color:var(--popup-bg-color);border-color:var(--border-color)}#gitalk-container .gt-popup a{color:var(--comment-primary-color)}#gitalk-container .gt-container a.is--active{color:var(--article-text-color)}#gitalk-container .gt-container .gt-copyright{border-color:var(--border-color)}.main-container{position:relative}.article-list .article-list-item{padding:22px 0 12px;border-bottom:1px solid #ececec;border-color:var(--border-color);position:relative}.article-list .article-list-item.has-img{padding-right:170px}.article-list .article-title{display:block;font-weight:400;font-size:1.3125rem;width:calc(100% - 65px);line-height:1.875rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin-bottom:12px}.article-list .article-preview{margin-bottom:2px;transition:all .2s ease;font-size:1rem;line-height:1.5rem;max-width:580px}.article-list .article-time{color:var(--text-second-color);font-size:.8125rem;height:35px;display:flex;align-items:center}.article-list .img-wrapper{position:absolute;top:25px;right:0;width:150px;height:80px;background-size:cover,auto;background-position:50%;opacity:.75}.home-pager{height:60px;display:flex;align-items:center;justify-content:center;font-size:1rem}.home-pager .page-number{margin:0 8px}.home-pager .page-number.current{color:var(--link-active-color)}.post-page{position:relative;padding-bottom:60px}.post-page .title-bar{margin-bottom:30px;padding-top:20px}.post-page h1{font-weight:400;font-size:2.25rem;line-height:2.875rem;margin-bottom:12px;margin-top:0;color:var(--text-title-color)}.post-page .feature-img img{max-width:100%}.post-page p{color:var(--article-text-color);font-size:1.125rem}.post-page .img-caption{font-size:.875rem;text-align:center;display:block}.post-page .post-info{color:var(--post-info-color);display:flex;align-items:center}.post-page .post-info .tags{display:inline-block;margin-left:6px}.post-page .post-info .tags a{margin:0 3px;color:var(--post-info-color)}.post-page .post-info .tags a:hover,.post-page .post-info .tags a:active{color:var(--link-active-color)}.post-page img{max-width:90%;border-radius:5px;display:block;margin:0 auto 6px}.post-page img.img-loading{height:200px;width:90%;background-color:var(--img-bg-color);background-position:center center;background-repeat:no-repeat}.post-page .video-container{height:0;margin-bottom:20px;overflow:hidden;padding-top:75%;position:relative;width:100%}.post-page .video-container iframe,.post-page .video-container object,.post-page .video-container embed{height:100%;left:0;margin:0;position:absolute;top:0;width:100%}.post-page .post-pager{border-top:1px dashed #ececec;border-color:var(--border-color);height:80px;display:flex;justify-content:space-between;align-items:center}.post-page .post-pager div{flex-basis:48%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.post-page .post-pager div.next{text-align:right}.post-page .post-pager div.pre{text-align:left}.post-page .post-pager a{color:var(--post-link-color)}.post-page .post-pager a:hover,.post-page .post-pager a:active{color:var(--link-active-color)}.post-page a{color:var(--post-link-color)}.post-page a:hover,.post-page a:active{color:var(--link-active-color)}.post-page .copyright-wrapper{border-top:1px dashed #ececec;border-color:var(--border-color);padding:10px 0}.post-page .copyright-wrapper p{margin:7px 0;font-size:.875rem}.post-page .copyright-wrapper a{color:var(--post-link-color);border-bottom:1px dashed #ececec;border-color:var(--border-color)}.post-page .copyright-wrapper a:hover,.post-page .copyright-wrapper a:active{color:var(--link-active-color)}.post-page ul,.post-page ol{padding-left:30px}.post-page ul li,.post-page ol li{list-style:disc outside none;list-style:initial;line-height:2.125rem}.post-page ol li{list-style:auto}.post-page dt,.post-page dd{line-height:2.125rem}.post-page dd{padding-left:30px}.post-page table{border-collapse:collapse}.post-page table th,.post-page table td{border:1px solid #ddd;border-color:var(--border-color)}.post-page table th{height:32px;vertical-align:middle;padding:6px}.post-page table td{text-align:center;vertical-align:center;padding:6px}.post-page .highlight table{border:0;margin:0;width:auto}.post-page .highlight td{text-align:left;border:0;padding:0}.post-page blockquote{border-left:4px solid #ddd;border-color:var(--border-color);margin:0;padding:0 15px}.post-page .caption{background-color:var(--caption-bg-color);line-height:1.875rem;padding:0 8px;display:flex;justify-content:space-between}.post-page .caption a{color:var(--post-link-color)}.post-page .caption a:hover,.post-page .caption a:active{color:var(--link-active-color)}.post-page mark{background:none}.post-page strong,.post-page cite{color:var(--article-text-color)}.post-page cite{margin-left:10px}.post-page code{background-color:var(--code-bg-color);padding:3px;line-height:1.625rem}.post-page ::-webkit-scrollbar{display:none}.post-page iframe{width:100%}.archive-page .article-info{display:flex;align-items:center;margin-bottom:20px}.archive-page .article-info .date{margin-right:20px;flex-shrink:0}@media screen and (min-width: 800px){html{font-size:1rem}}@media screen and (min-width: 800px){html{font-size:1rem}main{max-width:800px;margin:0 auto}}@media screen and (max-width: 799px){html{font-size:1rem}.page-header li{font-size:1.25rem}.post-page h1{font-size:1.625rem}h2{font-size:1.375rem}h3{font-size:1.25rem}h4{font-size:1rem}h5{font-size:.875rem}h6{font-size:.75rem}main{max-width:720px;margin:0 auto}}@media screen and (max-width: 540px){html{font-size:.875rem}main{max-width:100%;padding:0 20px}.page-header li{font-size:1.25rem}.post-page h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.25rem}h4{font-size:1rem}h5{font-size:.875rem}h6{font-size:.75rem}.article-list .article-list-item.has-img{padding-right:100px}.article-list .img-wrapper{width:80px}.article-list .article-title{white-space:pre-wrap;width:100%}}.page-header{padding:20px 20px 60px;font-size:1.0625rem;margin:0 auto;width:100%;box-sizing:border-box}.page-header nav{position:relative}.page-header .router-list{display:flex;justify-content:center;flex-direction:row}.page-header .nav-item{margin:17px;font-weight:600}.page-header .nav-item a{transition:all .35s ease-in-out}.page-header .mode-switch{position:absolute;right:20px;top:50%;transform:translateY(-50%)}.page-header .mode-switch .iconfont{font-size:1.375rem;cursor:pointer}.page-header .social-list{display:flex;justify-content:center;align-items:center;padding-top:20px}.page-header .social-list li{height:30px;line-height:1.875rem;margin:0 10px;cursor:pointer}.page-header .social-list span{font-size:1.5rem;transition:all .35s ease-in-out}.page-header .social-list .icon-github,.page-header .social-list .icon-mail{font-size:1.625rem}footer.footer-page{height:50px;padding:20px;display:flex;align-items:center;justify-content:center}footer.footer-page a{display:inline-block;margin-left:5px} diff --git a/tags/1password/index.html b/tags/1password/index.html new file mode 100644 index 00000000..12c3ec81 --- /dev/null +++ b/tags/1password/index.html @@ -0,0 +1,8 @@ +1password +

#1password

  • 一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。 +这个时候有点慌了,难道被网站 b...
    2022-03-29
\ No newline at end of file diff --git a/tags/4K/index.html b/tags/4K/index.html new file mode 100644 index 00000000..64ea5069 --- /dev/null +++ b/tags/4K/index.html @@ -0,0 +1,7 @@ +4K +

#4K

\ No newline at end of file diff --git a/tags/Apple-Watch/index.html b/tags/Apple-Watch/index.html new file mode 100644 index 00000000..281420a5 --- /dev/null +++ b/tags/Apple-Watch/index.html @@ -0,0 +1,9 @@ +Apple Watch +

#Apple Watch

  • 买表北京在五月经历了一波疫情,居家办公了一个月。我在居家前屯了几瓶 1L 的可乐,居家的一个月我基本上都喝的这个。 +几个月后,终于可以回家了,妈妈看到我的肚子,开始劝我减肥,我羞愧难当。 +连我爸...
    2022-09-07
\ No newline at end of file diff --git a/tags/Apple-tv/index.html b/tags/Apple-tv/index.html new file mode 100644 index 00000000..0a85c7eb --- /dev/null +++ b/tags/Apple-tv/index.html @@ -0,0 +1,7 @@ +Apple tv+ +

#Apple tv+

\ No newline at end of file diff --git a/tags/Cambly/index.html b/tags/Cambly/index.html new file mode 100644 index 00000000..a26940ef --- /dev/null +++ b/tags/Cambly/index.html @@ -0,0 +1,7 @@ +Cambly +

#Cambly

  • 最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数...
    2024-01-02
\ No newline at end of file diff --git a/tags/DDNS/index.html b/tags/DDNS/index.html new file mode 100644 index 00000000..85b9b355 --- /dev/null +++ b/tags/DDNS/index.html @@ -0,0 +1,7 @@ +DDNS +

#DDNS

\ No newline at end of file diff --git a/tags/Deluge/index.html b/tags/Deluge/index.html new file mode 100644 index 00000000..f77e4cfd --- /dev/null +++ b/tags/Deluge/index.html @@ -0,0 +1,7 @@ +Deluge +

#Deluge

\ No newline at end of file diff --git a/tags/Disney/index.html b/tags/Disney/index.html new file mode 100644 index 00000000..d1c55c1d --- /dev/null +++ b/tags/Disney/index.html @@ -0,0 +1,7 @@ +Disney+ +

#Disney+

\ No newline at end of file diff --git a/tags/Emby/index.html b/tags/Emby/index.html new file mode 100644 index 00000000..a10501b1 --- /dev/null +++ b/tags/Emby/index.html @@ -0,0 +1,7 @@ +Emby +
\ No newline at end of file diff --git a/tags/First/index.html b/tags/First/index.html new file mode 100644 index 00000000..9a57def0 --- /dev/null +++ b/tags/First/index.html @@ -0,0 +1,7 @@ +First +

#First

  • 前些天在一个电影节的微信群中偶然看到一条观影的消息,点开后发现都是平遥和 First 出来的片子,毫不犹豫的选了两部。放映的日子是今天下午,到了早上才收到放映地点的短线通知,搞得这一场电影放映像...
    2022-09-17
\ No newline at end of file diff --git a/tags/GoPro-HERO7/index.html b/tags/GoPro-HERO7/index.html new file mode 100644 index 00000000..cb273f04 --- /dev/null +++ b/tags/GoPro-HERO7/index.html @@ -0,0 +1,7 @@ +GoPro HERO7 +

#GoPro HERO7

\ No newline at end of file diff --git a/tags/Jackett/index.html b/tags/Jackett/index.html new file mode 100644 index 00000000..3affbfd4 --- /dev/null +++ b/tags/Jackett/index.html @@ -0,0 +1,8 @@ +Jackett +

#Jackett

  • 一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。 +这个时候有点慌了,难道被网站 b...
    2022-03-29
\ No newline at end of file diff --git a/tags/Jellyfin/index.html b/tags/Jellyfin/index.html new file mode 100644 index 00000000..211c11bb --- /dev/null +++ b/tags/Jellyfin/index.html @@ -0,0 +1,7 @@ +Jellyfin +
\ No newline at end of file diff --git a/tags/NAS/index.html b/tags/NAS/index.html new file mode 100644 index 00000000..b1e51674 --- /dev/null +++ b/tags/NAS/index.html @@ -0,0 +1,7 @@ +NAS +

#NAS

\ No newline at end of file diff --git a/tags/Netflix/index.html b/tags/Netflix/index.html new file mode 100644 index 00000000..19430ac4 --- /dev/null +++ b/tags/Netflix/index.html @@ -0,0 +1,7 @@ +Netflix +

#Netflix

\ No newline at end of file diff --git a/tags/Plex/index.html b/tags/Plex/index.html new file mode 100644 index 00000000..5604e347 --- /dev/null +++ b/tags/Plex/index.html @@ -0,0 +1,7 @@ +Plex +
\ No newline at end of file diff --git a/tags/Radarr/index.html b/tags/Radarr/index.html new file mode 100644 index 00000000..b1f678ce --- /dev/null +++ b/tags/Radarr/index.html @@ -0,0 +1,7 @@ +Radarr +

#Radarr

\ No newline at end of file diff --git a/tags/Sonarr/index.html b/tags/Sonarr/index.html new file mode 100644 index 00000000..5369bb0b --- /dev/null +++ b/tags/Sonarr/index.html @@ -0,0 +1,8 @@ +Sonarr +

#Sonarr

  • 一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。 +这个时候有点慌了,难道被网站 b...
    2022-03-29
\ No newline at end of file diff --git a/tags/TCL-R625/index.html b/tags/TCL-R625/index.html new file mode 100644 index 00000000..d95168f0 --- /dev/null +++ b/tags/TCL-R625/index.html @@ -0,0 +1,7 @@ +TCL R625 +

#TCL R625

\ No newline at end of file diff --git a/tags/TransClient/index.html b/tags/TransClient/index.html new file mode 100644 index 00000000..af3c58d2 --- /dev/null +++ b/tags/TransClient/index.html @@ -0,0 +1,7 @@ +TransClient +

#TransClient

\ No newline at end of file diff --git a/tags/Transmission/index.html b/tags/Transmission/index.html new file mode 100644 index 00000000..095ccb6c --- /dev/null +++ b/tags/Transmission/index.html @@ -0,0 +1,7 @@ +Transmission +

#Transmission

\ No newline at end of file diff --git a/tags/Youtube/index.html b/tags/Youtube/index.html new file mode 100644 index 00000000..fb8f017e --- /dev/null +++ b/tags/Youtube/index.html @@ -0,0 +1,7 @@ +Youtube +

#Youtube

\ No newline at end of file diff --git a/tags/iCloud/index.html b/tags/iCloud/index.html new file mode 100644 index 00000000..d6cc3140 --- /dev/null +++ b/tags/iCloud/index.html @@ -0,0 +1,7 @@ +iCloud +

#iCloud

\ No newline at end of file diff --git a/tags/political/index.html b/tags/political/index.html new file mode 100644 index 00000000..948ecc65 --- /dev/null +++ b/tags/political/index.html @@ -0,0 +1,8 @@ +political +

#political

  • 常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。 +...
    2022-07-11
\ No newline at end of file diff --git a/tags/qBittorrent/index.html b/tags/qBittorrent/index.html new file mode 100644 index 00000000..6173c959 --- /dev/null +++ b/tags/qBittorrent/index.html @@ -0,0 +1,7 @@ +qBittorrent +

#qBittorrent

\ No newline at end of file diff --git "a/tags/\302\265Torrent/index.html" "b/tags/\302\265Torrent/index.html" new file mode 100644 index 00000000..b287716d --- /dev/null +++ "b/tags/\302\265Torrent/index.html" @@ -0,0 +1,7 @@ +µTorrent +

#µTorrent

\ No newline at end of file diff --git "a/tags/\344\270\212\346\265\267/index.html" "b/tags/\344\270\212\346\265\267/index.html" new file mode 100644 index 00000000..6376ed36 --- /dev/null +++ "b/tags/\344\270\212\346\265\267/index.html" @@ -0,0 +1,8 @@ +上海 +

#上海

  • 常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。 +...
    2022-07-11
\ No newline at end of file diff --git "a/tags/\344\273\230\350\264\271\350\256\242\351\230\205/index.html" "b/tags/\344\273\230\350\264\271\350\256\242\351\230\205/index.html" new file mode 100644 index 00000000..2b394951 --- /dev/null +++ "b/tags/\344\273\230\350\264\271\350\256\242\351\230\205/index.html" @@ -0,0 +1,7 @@ +付费订阅 +

#付费订阅

\ No newline at end of file diff --git "a/tags/\345\206\260\345\262\233/index.html" "b/tags/\345\206\260\345\262\233/index.html" new file mode 100644 index 00000000..6d66d81e --- /dev/null +++ "b/tags/\345\206\260\345\262\233/index.html" @@ -0,0 +1,7 @@ +冰岛 +

#冰岛

\ No newline at end of file diff --git "a/tags/\345\210\206\350\276\250\347\216\207/index.html" "b/tags/\345\210\206\350\276\250\347\216\207/index.html" new file mode 100644 index 00000000..ea9429a1 --- /dev/null +++ "b/tags/\345\210\206\350\276\250\347\216\207/index.html" @@ -0,0 +1,7 @@ +分辨率 +

#分辨率

\ No newline at end of file diff --git "a/tags/\345\244\215\345\267\245/index.html" "b/tags/\345\244\215\345\267\245/index.html" new file mode 100644 index 00000000..283fd151 --- /dev/null +++ "b/tags/\345\244\215\345\267\245/index.html" @@ -0,0 +1,8 @@ +复工 +

#复工

  • 年后在家远程办公了两周后,公司通知这一周要到公司上班。迫于无奈,请了三天年假在家又远程办公了三天后,还是极不情愿的去公司了。 +早上骑车去地铁,路上没看到别的电动车,机动车倒是和以前一样不停地在我...
    2020-02-22
\ No newline at end of file diff --git "a/tags/\345\260\217\347\211\233/index.html" "b/tags/\345\260\217\347\211\233/index.html" new file mode 100644 index 00000000..ccb9906f --- /dev/null +++ "b/tags/\345\260\217\347\211\233/index.html" @@ -0,0 +1,7 @@ +小牛 +

#小牛

\ No newline at end of file diff --git "a/tags/\345\260\217\347\250\213\345\272\217/index.html" "b/tags/\345\260\217\347\250\213\345\272\217/index.html" new file mode 100644 index 00000000..1bd57232 --- /dev/null +++ "b/tags/\345\260\217\347\250\213\345\272\217/index.html" @@ -0,0 +1,7 @@ +小程序 +

#小程序

\ No newline at end of file diff --git "a/tags/\345\271\263\351\201\245/index.html" "b/tags/\345\271\263\351\201\245/index.html" new file mode 100644 index 00000000..c6144797 --- /dev/null +++ "b/tags/\345\271\263\351\201\245/index.html" @@ -0,0 +1,8 @@ +平遥 +

#平遥

\ No newline at end of file diff --git "a/tags/\346\210\264\345\260\224/index.html" "b/tags/\346\210\264\345\260\224/index.html" new file mode 100644 index 00000000..694b9d72 --- /dev/null +++ "b/tags/\346\210\264\345\260\224/index.html" @@ -0,0 +1,7 @@ +戴尔 +

#戴尔

\ No newline at end of file diff --git "a/tags/\346\224\277\346\262\273/index.html" "b/tags/\346\224\277\346\262\273/index.html" new file mode 100644 index 00000000..a8320e24 --- /dev/null +++ "b/tags/\346\224\277\346\262\273/index.html" @@ -0,0 +1,8 @@ +政治 +

#政治

  • 常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。 +...
    2022-07-11
\ No newline at end of file diff --git "a/tags/\346\225\260\347\240\201/index.html" "b/tags/\346\225\260\347\240\201/index.html" new file mode 100644 index 00000000..0976f0f8 --- /dev/null +++ "b/tags/\346\225\260\347\240\201/index.html" @@ -0,0 +1,7 @@ +数码 +
\ No newline at end of file diff --git "a/tags/\346\226\220\350\256\257/index.html" "b/tags/\346\226\220\350\256\257/index.html" new file mode 100644 index 00000000..0ea803c5 --- /dev/null +++ "b/tags/\346\226\220\350\256\257/index.html" @@ -0,0 +1,7 @@ +斐讯 +

#斐讯

\ No newline at end of file diff --git "a/tags/\346\227\205\350\241\214/index.html" "b/tags/\346\227\205\350\241\214/index.html" new file mode 100644 index 00000000..51fe8673 --- /dev/null +++ "b/tags/\346\227\205\350\241\214/index.html" @@ -0,0 +1,8 @@ +旅行 +
\ No newline at end of file diff --git "a/tags/\346\240\210/index.html" "b/tags/\346\240\210/index.html" new file mode 100644 index 00000000..33470c67 --- /dev/null +++ "b/tags/\346\240\210/index.html" @@ -0,0 +1,10 @@ + +

#栈

  • 栈(Stack) +定义: 栈是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加到栈中的元素会是第一个被移除的。 +基本操作: +push: 向栈顶添...
    2024-01-08
\ No newline at end of file diff --git "a/tags/\346\262\263\345\215\227/index.html" "b/tags/\346\262\263\345\215\227/index.html" new file mode 100644 index 00000000..960d9cef --- /dev/null +++ "b/tags/\346\262\263\345\215\227/index.html" @@ -0,0 +1,8 @@ +河南 +

#河南

  • 常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。 +...
    2022-07-11
\ No newline at end of file diff --git "a/tags/\346\265\201\345\252\222\344\275\223/index.html" "b/tags/\346\265\201\345\252\222\344\275\223/index.html" new file mode 100644 index 00000000..e4e4b08a --- /dev/null +++ "b/tags/\346\265\201\345\252\222\344\275\223/index.html" @@ -0,0 +1,7 @@ +流媒体 +

#流媒体

\ No newline at end of file diff --git "a/tags/\347\210\254\350\231\253/index.html" "b/tags/\347\210\254\350\231\253/index.html" new file mode 100644 index 00000000..504779ea --- /dev/null +++ "b/tags/\347\210\254\350\231\253/index.html" @@ -0,0 +1,7 @@ +爬虫 +

#爬虫

  • 最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数...
    2024-01-02
\ No newline at end of file diff --git "a/tags/\347\224\237\346\264\273/index.html" "b/tags/\347\224\237\346\264\273/index.html" new file mode 100644 index 00000000..9880c7df --- /dev/null +++ "b/tags/\347\224\237\346\264\273/index.html" @@ -0,0 +1,8 @@ +生活 +

#生活

  • 年后在家远程办公了两周后,公司通知这一周要到公司上班。迫于无奈,请了三天年假在家又远程办公了三天后,还是极不情愿的去公司了。 +早上骑车去地铁,路上没看到别的电动车,机动车倒是和以前一样不停地在我...
    2020-02-22
\ No newline at end of file diff --git "a/tags/\347\224\265\345\275\261/index.html" "b/tags/\347\224\265\345\275\261/index.html" new file mode 100644 index 00000000..064b9bd0 --- /dev/null +++ "b/tags/\347\224\265\345\275\261/index.html" @@ -0,0 +1,7 @@ +电影 +

#电影

\ No newline at end of file diff --git "a/tags/\347\224\265\350\247\206\345\211\247/index.html" "b/tags/\347\224\265\350\247\206\345\211\247/index.html" new file mode 100644 index 00000000..1c9ef922 --- /dev/null +++ "b/tags/\347\224\265\350\247\206\345\211\247/index.html" @@ -0,0 +1,7 @@ +电视剧 +

#电视剧

\ No newline at end of file diff --git "a/tags/\347\231\275\346\227\245\346\242\246\346\203\263\345\256\266/index.html" "b/tags/\347\231\275\346\227\245\346\242\246\346\203\263\345\256\266/index.html" new file mode 100644 index 00000000..f4da2f92 --- /dev/null +++ "b/tags/\347\231\275\346\227\245\346\242\246\346\203\263\345\256\266/index.html" @@ -0,0 +1,7 @@ +白日梦想家 +

#白日梦想家

\ No newline at end of file diff --git "a/tags/\347\242\216\347\242\216\345\277\265/index.html" "b/tags/\347\242\216\347\242\216\345\277\265/index.html" new file mode 100644 index 00000000..c0e254c9 --- /dev/null +++ "b/tags/\347\242\216\347\242\216\345\277\265/index.html" @@ -0,0 +1,8 @@ +碎碎念 +

#碎碎念

  • 重新拥有表达的欲望可能因为自己独处的时间的越来越多,现实里跟人的交流的越来越少。 +如今,自由地表达和自由地呼吸不知道哪个更困难一些。朋友圈只适合装逼,微博上我只会愤怒,推特上大家都在讨论政治,收...
    2022-09-20
\ No newline at end of file diff --git "a/tags/\347\256\227\346\263\225/index.html" "b/tags/\347\256\227\346\263\225/index.html" new file mode 100644 index 00000000..72f7757b --- /dev/null +++ "b/tags/\347\256\227\346\263\225/index.html" @@ -0,0 +1,10 @@ +算法 +

#算法

  • 栈(Stack) +定义: 栈是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加到栈中的元素会是第一个被移除的。 +基本操作: +push: 向栈顶添...
    2024-01-08
\ No newline at end of file diff --git "a/tags/\347\272\252\345\275\225\347\211\207/index.html" "b/tags/\347\272\252\345\275\225\347\211\207/index.html" new file mode 100644 index 00000000..eb9c8b26 --- /dev/null +++ "b/tags/\347\272\252\345\275\225\347\211\207/index.html" @@ -0,0 +1,7 @@ +纪录片 +

#纪录片

\ No newline at end of file diff --git "a/tags/\347\276\244\346\231\226/index.html" "b/tags/\347\276\244\346\231\226/index.html" new file mode 100644 index 00000000..aad5674c --- /dev/null +++ "b/tags/\347\276\244\346\231\226/index.html" @@ -0,0 +1,7 @@ +群晖 +

#群晖

\ No newline at end of file diff --git "a/tags/\350\202\272\347\202\216/index.html" "b/tags/\350\202\272\347\202\216/index.html" new file mode 100644 index 00000000..e04f1d4d --- /dev/null +++ "b/tags/\350\202\272\347\202\216/index.html" @@ -0,0 +1,8 @@ +肺炎 +

#肺炎

  • 年后在家远程办公了两周后,公司通知这一周要到公司上班。迫于无奈,请了三天年假在家又远程办公了三天后,还是极不情愿的去公司了。 +早上骑车去地铁,路上没看到别的电动车,机动车倒是和以前一样不停地在我...
    2020-02-22
\ No newline at end of file diff --git "a/tags/\350\212\235\346\235\234/index.html" "b/tags/\350\212\235\346\235\234/index.html" new file mode 100644 index 00000000..ce08072a --- /dev/null +++ "b/tags/\350\212\235\346\235\234/index.html" @@ -0,0 +1,7 @@ +芝杜 +

#芝杜

\ No newline at end of file diff --git "a/tags/\350\213\261\350\257\255/index.html" "b/tags/\350\213\261\350\257\255/index.html" new file mode 100644 index 00000000..a5b2f06a --- /dev/null +++ "b/tags/\350\213\261\350\257\255/index.html" @@ -0,0 +1,7 @@ +英语 +

#英语

  • 最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数...
    2024-01-02
\ No newline at end of file diff --git "a/tags/\350\223\235\345\205\211/index.html" "b/tags/\350\223\235\345\205\211/index.html" new file mode 100644 index 00000000..a4ee4512 --- /dev/null +++ "b/tags/\350\223\235\345\205\211/index.html" @@ -0,0 +1,7 @@ +蓝光 +

#蓝光

\ No newline at end of file diff --git "a/tags/\350\247\202\351\262\270\351\261\274/index.html" "b/tags/\350\247\202\351\262\270\351\261\274/index.html" new file mode 100644 index 00000000..befa9fb4 --- /dev/null +++ "b/tags/\350\247\202\351\262\270\351\261\274/index.html" @@ -0,0 +1,7 @@ +观鲸鱼 +

#观鲸鱼

\ No newline at end of file diff --git "a/tags/\350\261\206\347\223\243/index.html" "b/tags/\350\261\206\347\223\243/index.html" new file mode 100644 index 00000000..e860bfef --- /dev/null +++ "b/tags/\350\261\206\347\223\243/index.html" @@ -0,0 +1,7 @@ +豆瓣 +

#豆瓣

\ No newline at end of file diff --git "a/tags/\350\277\220\345\212\250/index.html" "b/tags/\350\277\220\345\212\250/index.html" new file mode 100644 index 00000000..a9c76009 --- /dev/null +++ "b/tags/\350\277\220\345\212\250/index.html" @@ -0,0 +1,9 @@ +运动 +

#运动

  • 买表北京在五月经历了一波疫情,居家办公了一个月。我在居家前屯了几瓶 1L 的可乐,居家的一个月我基本上都喝的这个。 +几个月后,终于可以回家了,妈妈看到我的肚子,开始劝我减肥,我羞愧难当。 +连我爸...
    2022-09-07
\ No newline at end of file diff --git "a/tags/\350\277\234\347\250\213/index.html" "b/tags/\350\277\234\347\250\213/index.html" new file mode 100644 index 00000000..9d176b6b --- /dev/null +++ "b/tags/\350\277\234\347\250\213/index.html" @@ -0,0 +1,7 @@ +远程 +

#远程

\ No newline at end of file diff --git "a/tags/\351\230\237\345\210\227/index.html" "b/tags/\351\230\237\345\210\227/index.html" new file mode 100644 index 00000000..792b63bb --- /dev/null +++ "b/tags/\351\230\237\345\210\227/index.html" @@ -0,0 +1,10 @@ +队列 +

#队列

  • 栈(Stack) +定义: 栈是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加到栈中的元素会是第一个被移除的。 +基本操作: +push: 向栈顶添...
    2024-01-08
\ No newline at end of file diff --git "a/tags/\351\253\230\346\270\205/index.html" "b/tags/\351\253\230\346\270\205/index.html" new file mode 100644 index 00000000..785047a3 --- /dev/null +++ "b/tags/\351\253\230\346\270\205/index.html" @@ -0,0 +1,7 @@ +高清 +

#高清

\ No newline at end of file diff --git "a/\344\270\200\344\270\252\346\234\210\345\206\205\346\210\221\351\235\240\347\213\254\347\253\213\345\274\200\345\217\221\347\232\204\345\260\217\347\250\213\345\272\217\346\214\243\344\272\206\345\244\232\345\260\221\351\222\261-TransClient2.0\346\233\264\346\226\260/index.html" "b/\344\270\200\344\270\252\346\234\210\345\206\205\346\210\221\351\235\240\347\213\254\347\253\213\345\274\200\345\217\221\347\232\204\345\260\217\347\250\213\345\272\217\346\214\243\344\272\206\345\244\232\345\260\221\351\222\261-TransClient2.0\346\233\264\346\226\260/index.html" new file mode 100644 index 00000000..e800adc4 --- /dev/null +++ "b/\344\270\200\344\270\252\346\234\210\345\206\205\346\210\221\351\235\240\347\213\254\347\253\213\345\274\200\345\217\221\347\232\204\345\260\217\347\250\213\345\272\217\346\214\243\344\272\206\345\244\232\345\260\221\351\222\261-TransClient2.0\346\233\264\346\226\260/index.html" @@ -0,0 +1,66 @@ +一个月内我靠独立开发的小程序挣了多少钱 +

一个月内我靠独立开发的小程序挣了多少钱

feature-img

好久不见。离上次发文又过去了一个月。这一个月的空闲时间里基本都在对 TransClient 进行迭代更新,所以公众号的文章一拖再拖,实在抱歉。

+

TransClient 2.0 发布了!

最近几天小程序更新了版本 2.0,增加了 µTorrent、rTorrent(Rutorrent)和群晖 DownloadStation 这三款下载客户端的支持,从一开始的 3 款客户端增加到现在的 6 款,以后暂时不会继续增加别的客户端支持了。

+

还有另外一个重大更新,那就是 TransClient 2.0 支持添加很多人一直呼吁的局域网了!只需要在添加服务器的时候勾选上「是否为局域网」即可,同时请确保手机和要连接的客户端在同一个局域网内。如果对添加的外网的服务器有安全性的担忧,可以只添加局域网。

+

此外,还增加了两个小功能。

+
    +
  • 可以切换数据单位,比如 GB 可以切换为 GiB
  • +
  • 可以在服务器列表页展示所有下载服务器的即时速度
  • +
+

+

这两个功能需要在「个人主页->系统设置」中开启。

+

欢迎大家点击下方的小程序进行体验,如果没有以上提到的功能,可以删除小程序后重新进入。

+

TransClient 挣了多少钱

很多人关心的一个问题,TransClient 挣钱了么?确实挣钱了,但它到现在依旧还是赔钱的。

+

TransClient 其实诞生于 2019 年的 7 月份,这一年我重新又玩起了 PT,但这么多年过去了,仍然没有一款让人满意的支持多个下载客户端的远程管理工具,于是我注册了一个小程序,准备自己写一个这样的工具。

+

注册完之后,就一直蹉跎到 2020 年。这一年最开始的几个月里开始了一场始料未及的远程办公生活。于是我一边上班,一边抽时间写小程序的代码。在写代码之前还写了原型图,同时请别人做了设计稿。

+

终于在一个月之后的 4 月 19 号,TransClient 上线了。

+

上线之后,我把这一篇文章发到了 PT 吧、少数派、什么值得买、Telegram 频道还有小众软件。所有的用户都是来自于这些渠道。

+

在小程序上架后的一个星期里,很快就积累了 1000 的 UV(独立访客),达到了小程序开通流量主的条件,可以在小程序中添加腾讯随机分发的广告了。当时的我很激动,天真地以为已经掌握了财富自由的密码。

+

这些分发的广告一般都比较丑陋和碍眼,有些广告放到小程序里连我自己都没办法忍受。于是我只在两个二级页面不起眼的地方加上了广告。结果就导致到现在很多人还会问我,为啥自己看不到广告。哈哈哈。

+

在加了广告之后,小程序每天的收入大概是这样的:

+

+

所以,自从可以接入广告之后,我更能理解那些在产品中加广告的开发者了。我把手机里屏蔽广告的软件关掉,而且如果看到自己喜欢的产品,也会顺手帮忙去点一下广告,虽然我这个点击可能只有几分钱。

+

在更新了 2.0 之后,我在小程序的系统设置中加入了一个激励视频广告,本意是不想大家都去开启这个功能,结果第二天的广告收入却出乎意料,对我来说简直是一笔巨款。第二天的广告收入是这样的:

+

-w390-w390

+

与此同时还有很多人主动的给我点击广告或者赞赏,真的感谢你们。是你们的鼓励和支持给我了继续做下去的动力。

+

接下来,我就把我这段时间以来的收支情况公布一下。

+

收入

    +
  1. 赞赏收入:¥142

    +
  2. +
  3. 腾讯流量主广告收入: ¥25.82

    +
  4. +
+

+

支出

    +
  1. 设计稿 ¥1300
  2. +
  3. 云开发服务器 ¥47.78
  4. +
+

+
    +
  1. 各类封面图: ¥39.6
  2. +
+

所以,在不计算我自己的人力成本的基础上的总收入为 ¥-1219.56
有没有出乎你的意料呢?

+

最后

晒这些收支的目的不是为了网络乞讨,我有自己的工作,工资也足够养活我自己。我只是为了跟大家分享一下第一次尝试独立开发的一个普通开发者的经历。虽然结果跟预期的还是有差距,TransClient 在很多大牛眼里依旧是一个不起眼的小透明,但是收获的鼓励和支持,足够我坚持把它越做越好。PT 圈里有一句话: All for one and one for all。TransClient 算是我为大家做的一点微不足道的贡献吧。

+

最后,感谢这期间对 TransClient 帮助过和赞赏过的各位,我爱你们!

+
\ No newline at end of file diff --git "a/\344\272\213\346\203\205\344\273\226\350\257\245\346\234\211\347\232\204\351\202\243\344\270\252\346\240\267\345\255\220/index.html" "b/\344\272\213\346\203\205\344\273\226\350\257\245\346\234\211\347\232\204\351\202\243\344\270\252\346\240\267\345\255\220/index.html" new file mode 100644 index 00000000..c1af4cd6 --- /dev/null +++ "b/\344\272\213\346\203\205\344\273\226\350\257\245\346\234\211\347\232\204\351\202\243\344\270\252\346\240\267\345\255\220/index.html" @@ -0,0 +1,24 @@ +事情他该有的那个样子 +

事情他该有的那个样子

常常我们这些人会被别人骂会被别人贴标签:恨国党愤青建政狗精日精美反思怪。但我相信活了几十年的一个成年人不能被这些标签简简单单地定义。所以,我也提醒自己不要用同样的方式给别人贴小粉红五毛的标签。

+

但如今的环境,已经容不得任何不一样的声音。大家都张牙舞爪地破口大骂阴阳怪气地冷嘲热讽。每个人都试图揪着对方的一点点漏洞把你打败。我们现在只剩下了一种声音,另一种声音被当成了异类,成了’不爱 x 滚出 xx’。不要说批评的声音看不见了,爱国爱的不够用力都要被拉出来口诛笔伐。

+

这是一个正常的世界么?

+

我也不想被封号被删帖被禁言被喝茶被因为讨论政治丢掉工作。我也想岁月静好两耳不闻窗外事。但我们的同胞我们自己在经历着各种各样的苦难啊。你说这不关我事,我自己都顾不过来呢。我当然希望大家都你好我好大家好,但是如果,如果有一天我们自己经历了同样的困境,一样和他们深陷绝望,我们难道只能对自己说:活该我倒霉?

+

我们为什么不能想想这些苦难是不是可以避免、苦难发生了我们可以怎么去尽一份力、这个世界的运行方式真的就是对的么、我们要给自己的后代这么一个世界么?

+

我希望天是蓝的草是绿的银行的钱可以取出来花钱买的房子可以住进去女生出去吃饭可以不被流氓骚扰去医院不会被拿刀的人砍伤。

+

我只是希望事情是他该有的那个样子。

+
\ No newline at end of file diff --git "a/\344\274\230\351\233\205\347\232\204\347\234\213\344\270\200\351\203\250\347\224\265\345\275\261\351\234\200\350\246\201\345\207\240\346\255\245/index.html" "b/\344\274\230\351\233\205\347\232\204\347\234\213\344\270\200\351\203\250\347\224\265\345\275\261\351\234\200\350\246\201\345\207\240\346\255\245/index.html" new file mode 100644 index 00000000..a32f5206 --- /dev/null +++ "b/\344\274\230\351\233\205\347\232\204\347\234\213\344\270\200\351\203\250\347\224\265\345\275\261\351\234\200\350\246\201\345\207\240\346\255\245/index.html" @@ -0,0 +1,58 @@ +优雅的看一部电影需要几步 +

优雅的看一部电影需要几步

feature-img
+

本文首发于我的公众号iTechMovie,欢迎关注!原文链接:优雅的看一部电影需要几步

+
+

不知不觉已经到了而立之年,如果还有人问我有什么兴趣爱好的话,我想到的也就是电影了。虽然一直保持着到电影院看电影的习惯,但大部分想看的电影还是没办法在国内的影院看到。电影看的多了,对画质也越来越挑剔,如果没有一套足够完美的播放设备,总觉得自己一直追求的画质有点虚无缥缈。所以,今年在换了个稍微宽敞点的地方后,一通折腾,总算有了一个还算满意的看电影的环境。

+

电影从哪里来

大部分电影是通过 PT(Private Tracker)下载的,这些网站里电影的来源是电影在上映一段时间后发行的蓝光碟,所以最大程度上保证了视频的清晰度。因为 PT 在国内生存环境比较恶劣,各个站点都尽可能的保持低调,所以就不多说了。

+

除了 PT,还订购了几个流媒体。几个知名的流媒体中,Netflix 除了国内的网络环境不能访问外,无论资源丰富度、资源质量、对中文用户的友好程度,都是最好的那一个。Netflix 如果从阿根廷或土耳其订购最实惠,家庭套餐平均下来一个月一个人只有 15 块钱,然后就可以免广告享受到最高支持 4K 杜比视界的所有电影和电视剧。

+

+

Apple TV+是苹果今年刚推出的流媒体服务,Apple TV+目前资源只有几部而已,但是都有中文字幕,国内的网络环境也可以随意观看。但唯一觉得不太爽的就是剧集周更,而且高质量的剧也没几部,比较热门的《早间新闻》追了几集也弃掉了。

+

+

迪斯尼今年也推出了自己的流媒体服务 Disney+,涵盖了迪斯尼、皮克斯以及漫威几乎所有的剧集和电影,但是国内用户来几乎无福消受:没中文字幕而且只能美国原生 ip 观看。Disney+刚推出的时候新用户有七天的试用期,试用了一下,体验一般,不会再订购了。

+

如果在国内视频网站(除了 B 站)看电影看剧,我觉得还是比较奢侈的一件事情,因为你即便花了钱也享受不到应有的服务,VIP 用户除了被硬塞广告,还要忍受各种花式收割。远的不说,就比如最近《庆余年》的种种操作,已经是在给 VIP 用户喂 💩 吃了。

+

电影放在哪里

对于特别喜欢的电影我都有收藏的习惯,空闲的时候会时不时回味一下。收藏的越来越多,怎么更加方便的管理和观看就成了一个问题。后来了解到 NAS,也叫家庭私有云,就入手了群晖的入门款两盘位的 218j。后来因为存储空间和性能还是有点跟不上,就直接入手了四盘位的 918+。

+

+

群晖主要用它的两个功能,下载和备份。除了本身自带的套件 downloadStation,还可以安装 Transmission 和 qBittorrent 这类 PT 支持的下载软件,下载很容易达到宽带的速度上限,联通 300M 的宽带,下载最高可以到 40MB/s。如果配合上远程控制,在路上开始下载一部 40G 左右的蓝光原盘,到家的时候就可以打开看了。

+

除了下载,电脑系统和手机照片还可以很方便的备份到群晖。此外,群晖还支持各种网盘的同步,如果觉得一些重要文件存储在本地还不保险可以再同步到网盘里多一层保障。

+

如何流畅的看电影

群晖支持多种文件协议,无论是在电脑还是手机上,都可以在局域网内很方便地访问群晖里的文件。但是,如果文件过大,局域网的带宽就成了瓶颈。

+

假设一部 4K 电影原盘的码率是 80Mbps,则代表每秒钟传输的图像大小是 10MB,如果在局域网内播放,即便抛开声音的传输速率不谈,下载速度也至少需要 10MB/s,如果在一个百兆路由器架设的局域网内是无法流畅的播放这部 4K 电影的,所以就需要一个千兆路由器——理论上最大传输速度可以达到 125MB/s。而且现在运营商提供的带宽基本都在 100M 开外,所以如果不买一个靠谱的千兆路由器是没有办法发挥出百兆带宽的优势的。

+

于是在看了油管某位博主的推荐之后入手了一个华硕的 AC68U,刷了梅林系统主要用来局域网内设备去广告。现在用了两年多的时间一直都很稳定,是我这几年用过的最超值的电子产品之一。后来又买过斐讯的 K2p 用来双拨,体验也很不错,不过后来对双拨没需求了,现在也被闲置了。

+

用什么设备来看电影

用电脑和显示器都看过,前几个月前淘了一个 TCL 的外贸机 R625,支持 4K HDR 以及杜比视界。电视自带 Roku 系统,最高支持到 Youtube 4K HDR 以及 Netflix 的 4K 杜比视界。因为不是安卓系统,所以与国内视频 APP 基本无缘。

+

电视自带的Roku TV电视自带的Roku TV
Youtube 4KYoutube 4K

+

电视播放在线视频还算可以,但是本地视频播放和解码就有点吃力了。所以就需要一个兼顾网络视频点播的本地视频播放机。看了一些评测,就入手了支持 4K HDR 的芝杜 z9s。它可以把 NAS 里的电影和电视剧精准识别然后进行归纳整理,配上电影海报和简介。

+

+

刚开始上手的时候还是比较兴奋的,被人吹捧的海报墙的归类和刮削识别都深得我心。但用的时间久了,发现海报墙的 bug 也最多,而且入手了之后才发现芝杜没办法支持 ASS 本地字幕。这一点我有点没办法接受。因为是自带安卓系统,所以可以安装一些国内的视频 APP。我可能会时不时的看一些国内的综艺节目,这也是我一直没把它转手卖掉的原因。

+

芝杜海报墙芝杜海报墙

+

后来,又看到有人推荐 Apple TV 4K,又耐不住手痒剁手了。ATV 4K 是苹果 17 年推出的电视盒子,最高可以支持 4K 杜比视界。也正是因为了买了它,所以苹果 11 月推出的 TV+送了我一年的免费试用。

+

+

在线视频方面,苹果自身的 iTunes 的片源库已经足够丰富了,而且最近几年新出的片子都自带杜比视界。但如果要想看这些片子的话还是需要花费不少的,每部片子大约要 20 刀左右。Netflix 也可以支持到 4K 杜比视界,但是 Youtube 最高只能支持到 1080P,因为苹果不支持 Google 自家的 VP9 编码。

+

本地视频方面,因为 ATV 没有提供硬盘接口,所以买之前如果没有一台 NAS,买它其实没有多大的意义。有了 NAS 还必须配合一款 Infuse 的 APP 来进行解码播放。它也提供了海报墙的功能,不过本地播放的视频最高只能支持到 4K HDR,不支持杜比视界。因为它刮削到的电影海报和简介的可编辑性太差了,而且国内的的一些电视剧 Infuse 还是没有办法识别,所以我电影用了 Emby,电视剧用了 Plex 来进行刮削,最后的效果还是很满意的。这两个软件都可以在 NAS 里安装对应的套件,以后有关 ATV 的使用还可以详细的说一下。

+

Infuse的海报墙Infuse的海报墙
海报详情海报详情

+

我自己这套方案可能不适合所有人,每个人的喜好也不一样,也不是每个人都乐于折腾,所以原谅我最开始的标题党,以上内容,仅供参考。

+

最后,希望也爱电影的你永远年轻。

+
\ No newline at end of file diff --git "a/\345\246\202\344\275\225\345\260\206\350\207\252\345\267\261\350\261\206\347\223\243\346\203\263\347\234\213\347\232\204\347\224\265\345\275\261\345\220\214\346\255\245\345\210\260Radarr/index.html" "b/\345\246\202\344\275\225\345\260\206\350\207\252\345\267\261\350\261\206\347\223\243\346\203\263\347\234\213\347\232\204\347\224\265\345\275\261\345\220\214\346\255\245\345\210\260Radarr/index.html" new file mode 100644 index 00000000..92797c6f --- /dev/null +++ "b/\345\246\202\344\275\225\345\260\206\350\207\252\345\267\261\350\261\206\347\223\243\346\203\263\347\234\213\347\232\204\347\224\265\345\275\261\345\220\214\346\255\245\345\210\260Radarr/index.html" @@ -0,0 +1,48 @@ +如何将自己豆瓣想看的电影同步到Radarr +

如何将自己豆瓣想看的电影同步到Radarr

安装 radarr 的步骤略过不表,在 Radarr「设置 ⇒ 列表」中,支持添加 TMDB 或者 IMDB 的电影列表,但是不支持豆瓣。但在高级列表的选项中支持添加 RSS List。所以实现同步豆瓣想看列表的思路就是把自己的豆瓣想看列表转成 RSS。

+

安装 RSSHub

+

RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容。

+
+

以 Docker 部署的安装步骤为例:

+
    +
  • 运行下面的命令下载 RSSHub 镜像

    +
    $ docker pull diygod/rsshub
    +
  • +
  • 然后运行 RSSHub 即可

    +
    $ docker run -d --name rsshub -p 1200:1200 -e DOUBAN_COOKIE=YOURCOOKIE diygod/rsshub
    +

    (将YOURCOOKIE 替换为自己豆瓣账号的 Cookie)

    +
  • +
  • 在浏览器中打开  http://yourip:1200/ 。能正常访问代表安装成功。

    +
  • +
  • 其他部署方式参考部署

    +
  • +
+

获取豆瓣想看 RSS 列表

    +
  1. 获取豆瓣。浏览器访问自己的豆瓣主页,进入个人主页后,浏览器地址里会有自己的豆瓣 id.

    +
    +

    www.douban.com/people/**豆瓣id**/

    +
    +
  2. +
  3. 访问 https://docs.rsshub.app/social-media.html ,社交媒体的分类下找到豆瓣,会有一些豆瓣相关的 RSS 服务。在其中找到用户想看,然后用RSSHub的安装地址(比如: http://nasip:1200 ),拼接上这个路由 /douban/people/:userid/wish/:routeParams? :userid 替换为自己的豆瓣 ID,:routeParams?可以替换为 pagesCount=1。这样的话只会加载自己第一页的数据,避免一下子加载过多。

    +
  4. +
  5. 到 Radarr 里添加一个新的 Rss List.把拼接好的地址复制到RSS Link里保存即可。大功告成。

    +
  6. +
+

+
\ No newline at end of file diff --git "a/\345\246\202\344\275\225\347\255\226\345\210\222\344\270\200\345\234\272\350\257\264\350\265\260\345\260\261\350\265\260\347\232\204\345\206\260\345\262\233\346\227\205\350\241\214/index.html" "b/\345\246\202\344\275\225\347\255\226\345\210\222\344\270\200\345\234\272\350\257\264\350\265\260\345\260\261\350\265\260\347\232\204\345\206\260\345\262\233\346\227\205\350\241\214/index.html" new file mode 100644 index 00000000..c16dbabc --- /dev/null +++ "b/\345\246\202\344\275\225\347\255\226\345\210\222\344\270\200\345\234\272\350\257\264\350\265\260\345\260\261\350\265\260\347\232\204\345\206\260\345\262\233\346\227\205\350\241\214/index.html" @@ -0,0 +1,69 @@ +如何策划一场「说走就走」的冰岛旅行 +

如何策划一场「说走就走」的冰岛旅行

feature-img
+

本文首发于我的公众号 iTechMovie,欢迎关注!原文链接:如何策划一场「说走就走」的冰岛旅行

+
+

2013 年,看完《白日梦想家》这部电影后心情很激动,电影里有句至今印象深刻的 slogan:
TO SEE THE WORLD, THINGS DANGEROUS TO COME TO, TO SEE BEHIND WALLS, TO DRAW CLOSER, TO FIND EACH OTHER AND TO FEEL.
THAT IS THE PURPOSE OF LIFE

+

翻译过来是:开拓视野 冲破艰险;看见世界 身临其境;亲近彼此 感受生命;这才是生活的目的。当时我怎么也没想到我会和主人公一样白日梦变成现实,踏上那片最接近外星的土地–「冰岛」。

+

仿佛置身外星仿佛置身外星

+

确定行程

从 2018 年 10 月份萌生了去冰岛的想法之后,就开始了长达半年多的筹备。

+

首先确定下来的是大概的出行日期:六月份的端午加周末再加上几个工作日一共有十天左右。这个时间点去的话不至于太冷,所有的景点都开放,而且也不是旅游高峰期。

+

确定完大概的出行时间,就需要确定具体每天的行程。我想把电影在冰岛的取景地都去一遍,就谷歌了几个大概的地方,搜的过程中看到网站上有旅游定制的服务。抱着试一试的心态,就联系了几家定制旅行服务商做了行程规划,但是做出来的效果我觉得挺差强人意的。名义上是定制但不是私人定制,就是用他们的模版加加减减做的一个非常平淡无奇的行程规划。想去的几个电影中的地方都被他们忽略了,所以最后决定自己来做行程。

+

首先需要找到电影取景地的地理位置,因为大部分的取景地都不是冰岛的旅游景点,有些地名都没有,所以就需要精确到具体的经纬度。幸运的是有人已经在马蜂窝上把大部分的取景地总结出来了,我所做的就是把这些点标记整理好。

+

1号公路沿途上的一幕1号公路沿途上的一幕

+

这一部分工作是用谷歌地图来做的。谷歌地图实在是太好用了!中文支持、街景、地点标记、景点评分,附近搜索,你需要的功能它都有。像冰岛这种人烟稀少的地方,在公路上即使有一块不起眼的可以临时停车的地方,也能很容易在地图上找到!尤其在冰岛的路上开车的时候,这些功能真的可以救命。

+

环岛一圈需要去的地方环岛一圈需要去的地方

+

最终标出的这些点中,有冰岛必去的景点也有《白日梦想家》的取景地。有了这些标记出来的点,就可以确定每个点之间需要花费的时间,再算上景点逗留和吃饭休息的时间,每天的大概行程基本就会出来了。

+

但是冰岛这个国家人太少了,最大的城市首都雷克雅未克的人口估计都不及中国的一个县。出了首都就更是人烟稀少了,住宿和吃饭的地方少之又少。所以每天的行程的终点都要把住宿、吃饭以及超市这些地方考虑进去。

+

电影中的一个路边小屋电影中的一个路边小屋

+

食宿

设计出爱彼迎的产品经理真的是人类之光,两个远隔万里互不相识的人因为一场旅行产生联系,每次想起来都觉得奇妙。

+

选择爱彼迎的原因也是一样,宾馆太少太贵了。确定每天行程的时候,因为不知道哪里算是一个有点人烟的小镇,就只能在爱彼迎上看房子的地理位置,然后选一个自己满意的,同时也把当天的终点定为当地的小镇。有些民宿虽然照片上看着一般,本来不抱太大希望,但是入住之后给了我们太多的惊喜。

+

一个农场旁边的民宿,早上起来拍到的温馨一幕一个农场旁边的民宿,早上起来拍到的温馨一幕

+

除了民宿,还用了Booking来订酒店,Booking 可以选择立即付款或到店付款,有些酒店到店付款的价格会比立即付款高一些。最后还是选择了到店付款,中间如果有变故也可以随时免费取消

+

吃饭的地方都是在TripAdvisor上找的,很多餐馆里也都会贴着 TripAdvisor 的 Logo(类似于国内的大众点评)。首都雷克雅未克的选择比较多,剩下的地方都是一些小镇,餐厅就少的可怜了。在冰岛吃一顿饭还是相当奢侈的,简餐也需要人均 200。买过最便宜的东西是可口可乐,二十块钱。

+

《白日梦想家》曾在这个餐馆取景《白日梦想家》曾在这个餐馆取景

+

交通

行程定下来了之后,就可以预定机票了。考虑到出发和回来的飞机的时间点,预订了芬兰航空 AY086/AY993 的飞机,飞行加上转机大约要花14 个小时

+

因为首都雷克雅未克的国际机场离市区很远,所以预订完机票后还需要额外订购接送机。如果有经验或者英文好的可以到https://www.re.is/tour/flybus/自己预订,也可以找国内的一些代理商来预订,我们最后选择的后者,如果在那边遇到问题能找代理商帮忙联系解决(结果我们也确实遇到了很严重的问题,就是航班取消,呵呵你没听错,因为这个我们最后在雷市多停留了 2 天)。

+

Guide To Iceland是一个相当不错的网站,各种攻略信息都很全。但在上面找了一圈租车信息之后都觉得有点贵,又看了一些马蜂窝上的攻略后选了租租车。租租车也是代理商,Hertz、AVIS 都是比较大的租车行,最后图便宜选了个比较小的Triffty,在机场里只有一个小小的柜台。车子选择了马自达的 CX3

+

+

虽然预订网站和各种攻略里都说如果驾照不满一年是不能在冰岛自驾的,但在提车的时候跟柜员确认了很多次之后,发现原来我这个驾照刚拿不到半年的新手也是可以开车上路的。

+

冰岛驾车有个很特殊的地方就是要买各种保险,因为冰岛的路况和天气很复杂,如果车子有损坏,恰好又没有车险,是一定会大出血到心悸的。碰撞险、碎石险和防沙险是几个比较重要的保险。我们除了买了这几个保险,还买了一个国内的补充险。

+

除了这些,还要学习冰岛的交通规则、办理驾照翻译证件、下载导航软件、买车载手机支架、找沿途的加油站,事无巨细。

+

景点门票

门票支出也是花销挺大的一块,为了图省事,在确定好心愿单之后,我们还是直接找了国内的代理商来订购,到了冰岛之后也出了不少状况,代理商的客服也帮了很多忙。但在一次跟酒店前台的交流过程中,发现如果直接去这些旅游项目的官网直接购票,可以便宜不少。所以在前期准备的时候,如果有精力,建议还是直接去当地的英文官网直接购买。

+

在这家网站上订购的观鲸之旅看到了地球史上最大的动物--蓝鲸在这家网站上订购的观鲸之旅看到了地球史上最大的动物--蓝鲸

+

+

签证

签证办理只能在出发前 3 个月才能开始递交材料,把材料整理好之后找的携程的签证服务,里面只包含材料的整理,送签需要自己去。签证的办理过程很顺利,一个星期左右的时间就拿到了签证。但是切记,去办理签证的时候千万不要购买的他们推荐的所谓 VIP 和拍照服务!我就被狠狠坑了一笔。照片我们提前都准备好了,他们就是一口咬定你头部显示区域不够大,大概看我们是护照白本,容易好骗。

+

签证涉及到一个行程单的材料,这个我一定要推荐一下穷游网,他们网站提供的的功能简直太完美了。你可以把每天吃喝玩乐的所有事项都加在行程单里,最后导出行程单的时候除了可以导出送签专用行程单,还可以导出一份精美的 PDF,出去的时候带着这本 PDF 就足够了。

+

+

其他

其实到签证办完这一步之后,也就没什么需要操心的大事情了。但是还有很多很多的东西需要在出发前一个月进行准备。

+

这么多东西中,我觉得最重要的两样东西去哪里都不能少:护照和机票的复印件。这两样东西的原件如果在国外丢了,真的就是走投无路了。而且复印件要分开装在不同的地方,防止行李也一起丢了。

+

剩下的就是些杂七杂八但是又必须要准备的东西,比如类似国外电话卡、充电宝、转换插头、防水相机包、防水冲锋衣、雨衣、毛线帽子等等这样的小物件。这些东西基本都是在某宝买的,最后在整理清点的时候最好列一个Todo List,以防遗漏。虽然在出发前自我感觉这些工作已经做的足够细致了,但是到了自驾的时候才发现车载手机支架居然没买,因为这件东西最后吃了不少苦。

+

不过最后,我们还是推着两个 28 寸的行李箱按时出发了。

+

写在最后

虽然我分享的这些经验根本没办法做到随时随地说走就走,但是做了这么多准备工作之后,至少不会在最后说走就走的那天手忙脚乱。我觉得旅行的时候少为琐事操心专心享受旅行的过程,才是旅行最大的意义。

+

PS:后续会和大家分享下这次冰岛《白日梦想家》主题行的游记!有很多我们拍的好玩的照片,也会写一些景点要注意的小 tips,敬请期待。

+

PPS:关注公众号,回复「行程单」获取我自己整理和穷游导出的两份行程单。

+
\ No newline at end of file diff --git "a/\345\256\266\351\207\214\346\220\255\345\273\272\344\272\206NAS\351\234\200\350\246\201\350\277\234\347\250\213\350\256\277\351\227\256\350\277\231\345\207\240\344\270\252\346\255\245\351\252\244\345\276\210\351\207\215\350\246\201/index.html" "b/\345\256\266\351\207\214\346\220\255\345\273\272\344\272\206NAS\351\234\200\350\246\201\350\277\234\347\250\213\350\256\277\351\227\256\350\277\231\345\207\240\344\270\252\346\255\245\351\252\244\345\276\210\351\207\215\350\246\201/index.html" new file mode 100644 index 00000000..2bb9a3d4 --- /dev/null +++ "b/\345\256\266\351\207\214\346\220\255\345\273\272\344\272\206NAS\351\234\200\350\246\201\350\277\234\347\250\213\350\256\277\351\227\256\350\277\231\345\207\240\344\270\252\346\255\245\351\252\244\345\276\210\351\207\215\350\246\201/index.html" @@ -0,0 +1,67 @@ +家里搭建了 NAS 需要远程访问?这几个步骤很重要 +

家里搭建了 NAS 需要远程访问?这几个步骤很重要

如今网盘的使用成本越来越高,更多的人选择搭建自己的家庭 NAS 服务器。

+

NAS 可以用来做大容量存储、文件备份、文件下载、相册同步,甚至可以搭建网站、搭建自己的笔记以及邮件服务。

+

NAS 一般都安装在家里,如果出门在外应该如何远程访问家里的 NAS 呢?

+

公网 IP

公网 IP 意味着它是世界上独一无二的一个 IP。如果电脑有一个公网 IP,可以通过这个 IP 直接连接到这台电脑。在进行 P2P 下载时,也能连接到更多的公网 IP,从而获得可观的下载速度。可以这么说,如果没有一个公网 IP,不算真正地连接到互联网。

+

为什么移动宽带比另外两家便宜地离谱?不是因为移动良心,而是因为装了移动宽带你也只是在移动的内网里玩。公网 IP?不存在的。

+

所以在确定自己有没有公网 IP 前,如果你是移动宽带而且还没有分配 IPV6 地址,还想要外网访问 NAS,只能选择类似 QuickConnect、花生壳之类的服务了。

+

如何确定自己是否拥有公网 IP 呢?

+

首先到自己的路由器管理后台,查看自己的 WAN IP, 然后到 https://ip.cn/ 查询自己网络的出口 IP,如果两个 IP 一致,则为公网 IP。

+

+

一般电信或者联通都会分配公网 IP,但如果通过上述方法查的的两个 IP 还是不一致,可以打电话给宽带的客服投诉,一般情况下都会给的。

+

但是即便有了这个公网 IP,这个 IP 也不是固定的,毕竟全世界的 IPV4 地址已经分配完毕,每人一个固定 IP 根本不可能,我们已经不能要求更多了。

+

直接访问 IP 的方式显然不能完美解决随时随地访问 NAS 的需求,这个时候就需要用到 DDNS。

+

DDNS

DDNS(Dynamic Domain Name Server)的全称是动态域名服务,可以将动态 IP 映射到一个固定的域名解析服务上。设置好 DDNS 后,就不用关心 IP 地址的变化,直接访问绑定好的固定域名就可以了。

+

现在路由器一般都提供了免费的 DDNS 服务,可以直接在路由器管理后台绑定域名。华硕的 DDNS 可以选择「www.asus.com」这个免费的服务器,只需要在主机名称里填入一个子域名就可以了。

+

+

群晖也提供了类似的服务,可以通过「系统面板 -> 外部访问 -> DDNS」 进行设置。

+

点击「新增」按钮,服务提供商选择 Synology,主机名称一栏填入一个没有被占用子域名,主域名可以选择默认的 synology.me,也可以选择其他域名,勾选同意条款后点击确定就设置成功了。其他 NAS 的设置跟群晖类似,就不一一演示了。

+

+

DNSPod 域名解析

如果不想用路由器或者 NAS 提供的免费域名,可以申请一个属于自己的域名。

+

域名可以到阿里云或者腾讯云购买得到,可以选择一些没有意义但又好记的域名,便宜的一年只需要 9 块钱就可以搞定。

+

+

如果是在阿里云购买的的域名,需要将域名的 DNS 修改为 DNSPod 的服务器:

+

f1g1ns1.dnspod.net f1g1ns2.dnspod.net

+

+

进入 DNSPod 的域名控制台 https://console.dnspod.cn/dns/list,添加刚刚购买的域名。

+

+

添加完毕后点击域名,添加一条解析记录。主机记录为域名的前缀,记录类型为 A,记录值为要绑定的 IP,这里指的是宽带的公网 IP,点击确认后保存。

+

+

前面提到宽带的公网 IP 不是固定的,所以需要定时检查宽带的 IP,然后映射到 DNSPod 绑定的域名。这就需要在 DNSPod 上新建一个密钥。

+

点击 DNSPod 右上角的头像,点击安全设置,进入密钥管理,然后创建密钥。

+

+

创建完毕后,将 ID 和 Token 保存下来。

+

+

然后到群晖的外网设置里新增一个 DDNS。服务提供商选择 DNSPod.cn,主机名称填入刚才增加的域名记录,用户名和密码填入上一步保存的 ID 和 Token。填入之后可以点击测试联机,测试通过后就可以点击确定保存了。至此,宽带的 IP 已经成功映射到购买的域名上了,之后可以通过域名加端口访问家里局域网内任意一台设备了。

+

+

端口转发

在局域网内运行的设备,外网是不能访问的,这个时候就需要做端口转发。比如路由器的的后台管理地址为 192.168.1.1,端口为默认的 80,如果要在外网访问家里的这台路由器就要将 192.168.1.1 的 80 端口转发到公网 IP 的任意一个端口上。由于国内宽带的 80 和 8080 端口都被封了,所以要转发到其他端口。

+

端口转发的设置一般在路由器内就可以完成,华硕的端口转发可以如下设置。

+

+

上图的设置里我把 NAS 的 5000 端口以及 NAS 里安装的 Transmission 的 9091 都转发出来了,这样就可以通过 DDNS 那一步里设置的解析域名加端口号来访问这两个服务了。在使用微信小程序 TransClient 远程控制这个 Transmission 的时候。需要填入这个解析域名以及 转发出去的 9091 端口号,就可以成功在手机上远程管理 Transmission 了。

+
\ No newline at end of file diff --git "a/\345\262\201\346\234\253\347\233\230\347\202\271\344\271\2132019\345\271\264\350\264\255\344\271\260\350\277\207\347\232\204\347\224\265\345\255\220\344\272\247\345\223\201/index.html" "b/\345\262\201\346\234\253\347\233\230\347\202\271\344\271\2132019\345\271\264\350\264\255\344\271\260\350\277\207\347\232\204\347\224\265\345\255\220\344\272\247\345\223\201/index.html" new file mode 100644 index 00000000..d87a7e0d --- /dev/null +++ "b/\345\262\201\346\234\253\347\233\230\347\202\271\344\271\2132019\345\271\264\350\264\255\344\271\260\350\277\207\347\232\204\347\224\265\345\255\220\344\272\247\345\223\201/index.html" @@ -0,0 +1,69 @@ +岁末盘点之2019年购买过的电子产品 +

岁末盘点之2019年购买过的电子产品

转眼已经来到了 2020 年,过去的 2019 年依然平淡无奇,最值得总结的也就是买过的这些电子产品了,希望新的一年可以不要再这么败家。

+

群晖 DS918+

2017 年 4K 设备开始大量普及,4K 片源也越来越丰富,对存储空间、解码性能以及网络带宽都提出了更高的要求。群晖在这一年的的 9 月份推出了 918+。918+有四个硬盘位,搭载 J3455 四核 CPU,双千兆网口,内存最高可扩展到 8G,同时还有两个 NVME SSD 盘位。

+

我第一次接触到的群晖是一个入门款 DS218j,只有两个盘位,整体性能一般。后来在别人的安利下,就无脑入了这款 918+。

+

群晖我主要用来下载和备份电影,最开始买了几个希捷的 4T。随着电影越存越多,这几块 4T 也都要装满了。后来的几块硬盘都是在亚马逊买的,最近买的这块 12T 西部数据黑五比平常便宜了五百左右,虽然装上之后声音大了点,但是在选择一部电影下载前再也不用为空间不够发愁了。

+

+

除了存储电影,我还用来备份手机照片和电脑系统。手机照片备份到群晖里有一个问题,手机拍的实况照片会被转成视频,这一点上不如 iCloud 自家的备份那么方便。Mac 如果用群晖来进行备份还是相当方便的,不用外接硬盘,也不用考虑存储空间够不够,可以随时随地进行备份。

+

+

此外,我还尝试用它来做软路由、搭建图床、刮削视频(对硬盘里的视频自动识别,生成海报墙并归类)、跟别人分享我收藏的电影。有了 Docker 之后,还有很多很多的可能性,只有你想不到没有它做不到的,所以说群晖是买软件送硬件一点都不为过。

+

GoPro HERO7

买 GoPro 的是想出门旅游的时候拍点视频,单反烧不起,运动相机里也没得挑,看了一些评测视频后就下单了GoPro HERO7

+

图片来自GoPro官网图片来自GoPro官网

+

当时很多测评里都在吹 7 代的防抖,我看了评测以后也很心动,但新出的 8 代比 7 代的防抖又强悍了很多,而且现在 7 代比我下单时候的价格居然便宜了 2000 多,简直欲哭无泪。

+

来源:https://youtu.be/2J2O6E9ITT4来源:https://youtu.be/2J2O6E9ITT4

+

不过在使用过程中我还是比较满意的。GoPro 出门随身携带非常方便;支持拍摄4K 60 帧、2K 120 帧以及 1080P 240 帧的视频;照片适合拍摄全景,但是变焦能力有限,稍微远点的细节就照顾不了了。此外还有个超级好用的TimeWarp功能,可以将拍摄的视频运动加快并进行压缩,以 30 倍速拍摄 5 分钟,能生成 10 秒的视频。防水功能也很不错,即便在水下拍摄也没什么压力。

+

GoPro拍摄的照片GoPro拍摄的照片

+

GoPro 电池用的比较快,出去的时候随身带了三块电池,勉强够一天的轻度使用;拍的大部分视频都是 1080P 60 帧,也尝试拍了一些 4K 视频,但是体积太大了,内存卡没一会就满了,而且 4K 视频在最后剪辑的时候比较考验电脑的性能;暗光条件下拍摄效果也比较差,不适合在室内或者光线差的条件下进行拍摄;屏幕触控非常难用,很容易误触或者点击不上。

+

虽然它不够完美,但它依然是运动相机里的翘楚。不过在入手前一定要考虑好自己会不会坚持剪辑视频,没经过剪辑的一堆视频素材是没有任何灵魂的。

+

TCL R625

有次在某个群里随口问了句有没有可以支持 HDR,价位在 3000 左右的电视,有人推荐了TCL 55R625,国内同等配置的电视要比它贵不少。这个电视在国内生产,但是只在北美销售。我后来在某鱼上淘到一个别人刚买不久的二手。​

+

+

这款电视支持4K HDR 以及杜比视界。电视搭配 Roku 系统,流媒体中最高支持到 Youtube 4K HDR 以及 Netflix 的 4K 杜比视界。因为不是安卓系统,与国内视频 APP 基本无缘,所以需要搭配电视盒子使用。买了这个电视之后就是我使用率最高的家电了,看电影的幸福感也提升了好多。

+

芝杜 Z9S

电视播放在线视频还算可以,但是本地视频播放和解码就有点吃力了。所以就需要一个兼顾网络视频点播的本地视频播放机。看了一些评测,就入手了支持 4K HDR 的芝杜 z9s。芝杜最大卖点就是它的海报墙,它可以把 NAS 里的电影和电视剧精准识别然后进行归纳整理,配上电影海报和简介。

+

芝杜芝杜

+

刚开始上手的时候还是比较兴奋的,芝杜自带安卓系统,所以可以安装一些国内的视频 APP;被人吹捧的海报墙赏心悦目,看电影也方便了很多。但用的时间久了,发现海报墙的 bug 也最多,而且入手了之后才发现芝杜没办法支持ASS 本地字幕。这一点我有点没办法接受。

+

ATV 4K

正当我对芝杜审美疲劳的时候,看到有人推荐Apple TV 4K,又耐不住手痒剁手了。ATV 4K 是苹果 17 年推出的电视盒子,最高可以支持 4K 杜比视界,如果要正常使用的话需要一个非国区的 AppleID。有了这个盒子以后,我的芝杜就开始吃灰了。

+

+

在线视频方面,苹果自身的 iTunes 的片源库已经足够丰富了,而且最近几年新出的片子都自带杜比视界,每部片子大约要 20 刀左右,我也就只能看看预告片的水平,消费不起。Netflix 可以支持到 4K 杜比视界,但是 YouTube 最高只能支持到 1080P,因为苹果不支持 Google 自家的 VP9 编码。

+

本地视频方面,因为 ATV 没有提供硬盘接口,所以买之前如果没有一台 NAS,买它其实没有多大的意义。有了 NAS 还必须配合一款Infuse的 APP 来进行解码播放。它也提供了海报墙的功能,不过本地播放的视频最高只能支持到 4K HDR,不支持杜比视界。Infuse 自身刮削到的电影海报和简介的可编辑性太差了,而且国内的的一些电视剧 Infuse 没有办法识别,所以我电影用了Emby,电视剧用了Plex来进行刮削,管理起来方便了很多。这两个软件都可以在 NAS 里安装对应的套件。

+

小牛电动车

小牛是我这一年买过的最失望的一个产品。

+

买他的原因是新住处离地铁站有 4 公里,而且又没有合适的公交车。当时是这么算的:打车和地铁每天来回一共需要 40 块钱,这样下去三个月就够买一辆小牛了,只要小牛能坚持用三个月,这以后就是血赚。这么一想之后,想都没想就去线下店里下单了小牛的 US 都市版

+

+

速度方面,因为新国标要求限速25km/h,超过15km/h会有持续不断的警告声音,而且限速是不可破解的。这样的速度跑在路上,被自行车超车简直就是家常便饭。而且这个速度超车的时候的时候特别危险,死活提不上速,简直急死人。一个人还好,还能保持 25km/h 的速度,如果后座再带一个人,最高速度能上 20km/h 就该烧高香了。

+

续航方面,都市版的电池是 13Ah 的锂电池,理论续航是55km。可是实际骑下来发现这个续航比想象中的还要差。9 月份刚买的时候有几天是骑车到公司的,来回三十公里,单程需要在路上花费一个小时,晚上到家的时候基本上只剩 20%的电。再加上北京的路况实在是太差了,逆行的超速的非机动车道被占的,每天骑车到公司的路上都提心吊胆险象环生。骑了没几天我就改成只骑到 4 公里外的地铁站了。刚开始天气不冷的时候还好,基本五天充一次电。天冷以后这个电池就开始血崩,每两天就需要充一次电,每次拎着电池去充电的时候我都觉得自己特别愚蠢。

+

骑了几个月小牛后,我明白了一个道理:电动车最重要的还是续航,再好的颜值也白搭。

+

戴尔显示器

当时买显示器前考虑用来家里办公以及看电影,所以就想买个 4K 的。为了挑显示器,我把显示器的参数都研究了一遍,最后还是选了最开始同事推荐的戴尔 2718QM。虽然现在很多 4K 显示器都声称自己支持 HDR,但是最重要的一项指标亮度就远远不及格,真正的 HDR 显示器要在一万开外了,大部分声称自己支持 HDR 的都是假 HDR,戴尔这款也不例外。

+

上手之后发现搭配 Mac 使用的时候字太小了,需要将屏幕分辨率缩小成 2K 左右才能正常显示。我大部分时间还是用它来看电影,虽然是假 HDR,但是画面效果也还算满意,不过 27 寸的屏幕播放 4K 和 1080P 视频的时候看着没什么两样。

+

Dell 2718QM和电视的4K HDR对比Dell 2718QM和电视的4K HDR对比

+

在买了电视后,就把这款显示器转手卖掉了,换了一个 25 寸的2518DR,开启 HiDPI 之后用起来很舒服,也更愿意坐在电脑前撸代码码字了。

+

K2P 路由器

K2P 在斐讯刚开卖的时候要799块钱,后来爆雷的事大家都知道了,今年在某多买的时候只要 240 了,不过这个价格还是要比最低价贵上不少的。

+

K2P 有四个全双工千兆 LAN+一个全双工千兆 WAN,5G 和 2.4G 的天线各有两个,搭载 MT7621AT 双核四线程 CPU。K2P 因为性能优异,论坛的大佬们出了各种固件,比如官改、梅林、老毛子,可以满足你对路由器的一切想像。我买的那款刷的比较有名的高恪固件,因为这款固件北京联通可以多拨。多拨就是将运营商的带宽翻倍,比如北京联通双拨成功的话可以将原来 30Mbps 的上传成功提升到 60Mbps。因为之前买了一款华硕的 AC68U,所以在体验了一段时间双拨的快感后便索然无味,放在角落里吃灰了。

+

+

我对路由器的要求就是上网的时候感觉不到路由器的存在,无论是稳定性还是 5G 信号强度,K2P 的表现都很优秀,完全可以当一个家里的主路由来使用。

+

其他

除了以上提到的这些,还买了斐讯的 N1 盒子、小米的智能插座、Bose SoundLink Revolve(转手卖了),你在 2019 年又买了哪些超值的物件呢?欢迎大家留言分享。

+
\ No newline at end of file diff --git "a/\345\262\201\346\234\253\347\233\230\347\202\271\344\271\2132019\345\271\264\350\264\255\344\271\260\350\277\207\347\232\204\350\256\242\351\230\205\346\234\215\345\212\241/index.html" "b/\345\262\201\346\234\253\347\233\230\347\202\271\344\271\2132019\345\271\264\350\264\255\344\271\260\350\277\207\347\232\204\350\256\242\351\230\205\346\234\215\345\212\241/index.html" new file mode 100644 index 00000000..b9c8a9d8 --- /dev/null +++ "b/\345\262\201\346\234\253\347\233\230\347\202\271\344\271\2132019\345\271\264\350\264\255\344\271\260\350\277\207\347\232\204\350\256\242\351\230\205\346\234\215\345\212\241/index.html" @@ -0,0 +1,59 @@ +岁末盘点之2019年购买过的订阅服务 +

岁末盘点之2019年购买过的订阅服务

+

本文最先发布于我的公众号**iTechMovie,**欢迎关注!原文链接:岁末盘点之 2019 年购买过的订阅服务

+
+

前几天在少数派看了这篇文章 《一个上班族的 2019 年数字订阅》,也想给自己来个年终总结,于是就有了这个岁末盘点系列。

+
+

现如今,无论是流媒体还是 APP,国内还是国外,付费订阅越来越成为主流,终身制或者买断制的方式也越来越少见。付费订阅的模式更加考验用户的忠诚度,同时也倒逼服务提供方给我们提供更优质的服务和体验。我觉得这是一件对双方都有利的事情。

+

下面分享一下 2019 年我购买过的订阅服务,有些不适合在这里写的就略过了。

+

Netflix

第一次使用 Netflix 是在第一部交互式影片《黑镜:潘达斯奈基》刚刚出来的时候,我被这集新奇又好玩的黑镜所吸引,果断注册了账户,就为了体验一下上帝视角。但看到最后发现,其实真正的上帝是这部剧的编剧,参与观看这部影片的观众其实也是一个角色而已。

+

观众决定主角的选择观众决定主角的选择

+

说回正题,Netflix 新开账户是有一个月的免费试用期的,有三个套餐可以选择,最贵的高级套餐支持4K以及4 个屏幕同时在线观看。如果在订阅的时候使用阿根廷或者土耳其 IP 最便宜,高级套餐每个人每月折合人民币 14 块钱左右。订阅完成后,可以观看的内容就只跟观看时的 IP 有关系了。

+

在今年 9 月份又重新订阅 Netflix 后,对我多年的观影习惯有很大改变。以前几乎不会在线看电影,现在 Netflix 出了我感兴趣的新剧就打开电视直接看了。比如最近新出的《爱尔兰人》和《婚姻故事》这两个奥斯卡的热门,以前我们是没办法在颁奖季之前看到的。

+

除此之外,Netflix 提供了很多高质量的剧集,无论是自制剧还是从别家买的版权每次都是一整季全部放出,而且都配有中文字幕。虽然今年不准备追新剧的,但还是耐不住首页的日常推荐,把两季的《去他*的世界》都追完了,还差点把《绝命毒师》和《Rick and Morty》重新完整刷一遍。

+

这个破世界的末日这个破世界的末日

+

总之,我觉得 Netflix 是目前最用户体验最好内容质量最高整体最优秀的流媒体,没有之一。

+

iCloud

虽然个人隐私在国内有点廉价,但毕竟 iCloud 里放的都是一些比较私人的文件,自从 17 年 iCloud 与云上贵州合作后,手里还有一个美区的 Apple ID,就把 iCloud 迁移到了美区。

+

免费的 5GB 空间是远远不够用的,手机随便拍点照片视频就塞满了。所以每个月 7 块钱50GB 套餐几乎是必选项,美区是 0.99 刀。

+

有了 NAS 后我的照片都备份到了 NAS 里,关闭了自动上传照片到 iCloud。云备份一直开着自动备份,所以现在占空间比较大的是手机备份,大约 14GB 左右。其他的还有之前上传过的照片和 iCloud 云盘里的一些文件。现在剩余空间还有 17GB 空间,这一两年内暂时没有升级更大空间的必要了。

+

+

Spotify

选择订阅 Spotify 的原因是我用了五年的网易云音乐收藏的歌曲里变灰的越来越多,几乎到了无歌可听的地步了,每次循环的都是那么几首,而且私人 FM 的推荐算法每次给我推的歌都让我有马上点进垃圾桶的冲动,而我又对 QQ 音乐有天然的反感,Apple Music 又没有一个好用的客户端,然后我就投向了 Spotify 的怀抱。

+

Spotify AppSpotify App

+

Spotify 也可以免费用,不过对切歌有限制,歌单播放中间还会插入音频广告且无法跳过。如果付费的话,新用户有三个月的试用期,试用期过后家庭套餐每人每月大约需要15 人民币

+

Spotify 刚开始使用的时候还是需要点时间适应的,歌曲是跟着专辑走的,而且都没有歌词。港台地区和欧美的歌手曲库都很全,但大陆地区的曲库相对差一点。像我常听的花儿乐队也不算小众了,Spotify 只有他们的两张专辑,李志的所有专辑倒是都有。他们的推荐算法也还算不错,推荐的歌总有些意外的惊喜。音质这方面我不太能听得出来,就不多作评价了。

+

听的最多居然是南拳妈妈听的最多居然是南拳妈妈

+

Apple tv+

如果要观看 Apple tv+需要一个非大陆地区的 Apple ID,不需要特殊的网络环境,手机和电脑可以通过视频 APP 观看,电视上观看的最大分辨率可以达到4K。因为苹果送了一年的试用期,我就追了几集《早间新闻》,整体体验还是很不错的。都有中文字幕,有些还有中文配音,算是对国内用户来说相当友好了。

+

价格方面,试用期过后一个月大概要35 人民币左右,考虑到 tv+的剧集实在是太少了,有热度的剧更是没几个,试用期过后我是不会选择继续订阅的。

+

YouTube Premium

YouTube 不用多说,世界上最大内容最丰富的视频视频网站。唯一让我感到不爽的一点的是国内的一些综艺视频无节操的往视频里加各种广告,本来 YouTube 的广告根本不让我反感的,但每隔几分钟就蹦出来一次广告实在是不能忍。

+

后来了解到印度区的 YouTube Premium 一个月一个人才4 块钱,除了可以支持后台播放以及下载视频,还可以同时开通 YouTube Music Premium,简直超值!开通印度区的会员需要一个印度 IP,家庭组成员也需要印度 IP,同时谷歌账户的付款地区要一致。

+

+

赠送的 YouTube Music Premium 首次进入的榜单和推荐的歌曲都是咖喱味的,需要自己调教一番,比如关注收藏几个喜欢的歌手才会将首页的推荐给变过来,不过榜单就无能为力了。

+

YouTube Music 的曲库还算丰富,但是跟 Spotify 一样,大陆地区的曲库还是不算很全,新裤子和花儿乐队的专辑没有几个,一些盗版的 MV 倒是很多。但每个月只花 4 块钱,能同时享受到这两样服务我已经很知足了。

+

Youtube MusicYoutube Music

+

其他

除了以上的这些,还订阅了京东会员亚马逊 Prime 会员的试用以及**Disney+**。京东会员应该花的不亏,免去的运费和送的京豆基本上能把会员费省下来。亚马逊 Prime 会员用的招行信用卡积分兑换的,有三个月的免费试用期,海外购可以免运费,就趁黑五入了一块硬盘。过了试用期就不会继续订购了,毕竟不会经常在上面买东西。Disney+在之前的文章提到过,体验很一般,试用期过后忘记取消订阅,又被自动续费了一个月,我很后悔。

+

最后

除了 Netflix 和 YouTube 需要特殊的网络环境外,其他几个国内的网络环境还是很方便地能享受到的,有机会希望大家一定要体验下,让国内的一些竭泽而渔又毫无底线的网站都见鬼去吧。

+

PS: 下一期会继续分享下 19 年购买过的一些电子产品,敬请期待!

+
\ No newline at end of file diff --git "a/\345\275\223\346\200\235\347\273\252\346\227\240\345\244\204\346\224\266\347\225\231/index.html" "b/\345\275\223\346\200\235\347\273\252\346\227\240\345\244\204\346\224\266\347\225\231/index.html" new file mode 100644 index 00000000..09047376 --- /dev/null +++ "b/\345\275\223\346\200\235\347\273\252\346\227\240\345\244\204\346\224\266\347\225\231/index.html" @@ -0,0 +1,22 @@ +当思绪无处收留 +

当思绪无处收留

重新拥有表达的欲望可能因为自己独处的时间的越来越多,现实里跟人的交流的越来越少。

+

如今,自由地表达和自由地呼吸不知道哪个更困难一些。朋友圈只适合装逼,微博上我只会愤怒,推特上大家都在讨论政治,收留我负面情绪的地方可能就只剩了饭否和豆瓣了。

+

今天看到饭否有人说,审核机制后 TL 上看到的消息,都像是地球上看到星星数万年前发出的光。虽然上面还封存着我十年前的记忆,还有几个熟悉又陌生的饭友,但我更了几条后实在忍受不了这样的蛮横粗鲁的审核机制。编辑好一条消息发送出去后,这条消息的命运就交给了幕后那个不知道是人工还是程序的审核员。等了几十分钟后再看,这条消息就像从来没出现在这个互联网宇宙里一样。我觉得难过,也觉得悲哀。他们连一个可能活跃用户数不到一万的平台都不肯放过。

+

注销了用了十年多的豆瓣,幸好有备份的工具,可以把十年的记录保存下来一些。要在豆瓣发东西,你需要过滤掉政治有关的一切。我想,可能在朋友圈发点政治相关的东西还有点效果,至少可能还有人能看到。现在好了,这里没有了现实里认识的人,我终于能记录一些更忠于自己内心想法的思绪。

+

当然,我也可以选择到自己的博客,但它像个没人会发现的一座孤岛,我写完一篇文章后发现自己更孤独了。

+
\ No newline at end of file diff --git "a/\346\200\216\346\240\267\347\232\204\350\247\206\351\242\221\347\256\227\345\276\227\344\270\212\351\253\230\346\270\205-\350\277\2313\344\270\252\347\216\207\345\276\210\351\207\215\350\246\201/index.html" "b/\346\200\216\346\240\267\347\232\204\350\247\206\351\242\221\347\256\227\345\276\227\344\270\212\351\253\230\346\270\205-\350\277\2313\344\270\252\347\216\207\345\276\210\351\207\215\350\246\201/index.html" new file mode 100644 index 00000000..63249f1e --- /dev/null +++ "b/\346\200\216\346\240\267\347\232\204\350\247\206\351\242\221\347\256\227\345\276\227\344\270\212\351\253\230\346\270\205-\350\277\2313\344\270\252\347\216\207\345\276\210\351\207\215\350\246\201/index.html" @@ -0,0 +1,76 @@ +怎样的视频算得上「高清」?这 3 个「率」很重要 +

怎样的视频算得上「高清」?这 3 个「率」很重要

+

本文最先发布于我的个人微信公众号「 iTechMovie」(movieteclife),原文链接: https://mp.weixin.qq.com/s/tPoY7cG3lCc3ccv6AccYXg

+
+

当我们在谈论一个电影是不是高清的时候,究竟是在谈论什么?

+

分辨率

分辨率指的是显示的像素有多少,分辨率越高代表影像质量越好,越能表现出视频中更多的细节,文件大小也越大。

+

现在常见的分辨率有 720P(1280 × 720 个像素),1080P(1920 ×1080 个像素)4K(3840 × 2160)。

+

1080i/1080P/4K 是什么鬼

如果要讲清楚这几个概念,还要从电视的隔行扫描(interlaced scan)和逐行扫描(Progressive scan)说起。以前的 CRT 电视机的工作原理是电子束在屏幕上一行行扫描后发光来显示图像的,在信号传输过程中为了节省带宽,分奇数行和偶数行两次扫描。现在的电视虽然都已经是逐行扫描了,但是大部分的电视信号依然是隔行扫描,也就是说每次传输的图像信号只有一半。假设电视的分辨率为 1920×1080,则有 1080 个扫描行,每次传输的图像只占了一半的扫描行。之所以人眼看不出只有半张图片,是因为人眼的视觉暂留帮我们把两个半张图片拼接成了一张完整的图片。

+

隔行扫描 来源:  http://youtu.be/H_o5h5SK_70隔行扫描 来源: http://youtu.be/H_o5h5SK_70

+

高清电视信号的传输有 1080i 和 720P,之所以没有 1080P,还是因为传输带宽的问题。在一些体育比赛直播中,如果用隔行扫描比如 1080i 进行传输,因为体育比赛的画面基本都在高速移动,两次隔行扫描得到的图像差异过大,在进行拼接的时候已经拼接不上了,所以就出现了重影和错位。体育比赛观看的分辨率推荐 720P,虽然在分辨率上做了牺牲,但是每一帧的图像都是完整的,不会影响观看。如果非要给这三个排序的话,我觉得应该是 1080P>720P>1080i。
高速运动中1080i和720P的区别 来源:https://youtu.be/Avvh0iH2xSg高速运动中1080i和720P的区别 来源:https://youtu.be/Avvh0iH2xSg

+

然后再说 4K 中的 K,K 代表着横向像素中大约有多少列,1K 就是 1024,4K 就是 4096。所以 1920×1080 就是 1.9K 或 2K,3840×2160 是电视标准的 4K,4096×2160 也是 4K。常说的 4K,2K 都没有固定的分辨率,只看横向像素。

+

综上,P 和 i 都代表着竖向像素的行数,K 代表着横向像素列数。我们所说的高清视频至少要达到 1080i 才及格。到此,我们可以开始谈谈电影了。

+

VCD 与 DVD

在使用 MPEG2 标准的 DVD 大行其道的年代,受限于这种编码技术,DVD 的分辨率只有 720×480,但是已经比之前 VCD 的分辨率 320×240 提高了四倍多,而且 VCD 非常容易损坏不易保存,相信很多看过 VCD 的人都经历过关键情节全屏马赛克的情况。所以 VCD 在国内经历过一段时间的野蛮生长后退出了历史舞台。

+

DVD 根据数据内容层的层数又分为了两大类:DVD-5 和 DVD-9。一部 DVD-5 的容量只有 4.7G 左右,DVD-9 的容量最多只能有 8.5G。DVD-9 虽然能容纳更多内容,但是分辨率依然是 720×480。很多以前的电影和电视剧看不到画质很好的版本,是因为他们只发行了 DVD。
《落叶归根》的DVD导航《落叶归根》的DVD导航

+

蓝光可能不是你想象中的那个

很多人可能在国内视频网站上听过这个蓝光这个名字,但其实这是视频网站挂羊头卖狗肉,提供的视频质量也跟真正的蓝光相差甚远。

+

蓝光光碟(Blu-ray Disc)其实是 DVD 之后的下一代光盘格式,简称蓝光。被叫做这个名字是因为蓝光光碟用的是蓝色激光束进行读写操作。中间有几年的时间还曾经存在另一种叫做 HD DVD 的光盘格式跟蓝光争夺天下,但是在 2008 年之后,HD DVD 最终败下阵来,蓝光一统天下。

+

容量方面,跟 DVD5 和 DVD9 相对应,单面单层的蓝光光碟容量为 25G,单面双层的容量为 50G。在各大好莱坞电影公司纷纷推出蓝光光碟之后,一部电影的容量最高可以达到 40G 左右,分辨率达到了 1920×1080(1080P),至此,我们才得以看到真正高清的电影。

+

BD25和BD50BD25和BD50

+

由于蓝光光碟的巨大容量,画面细节相对于 DVD 丰富了很多,沉浸感也更好,只有沉浸其中,这样才能真正感受到电影的魅力。你不会希望在观影过程中突然冒出个马赛克扰了心情。相信我,体验了高清之后你就再也忍受不了任何枪版或者其他低清晰度的电影了。

+

《阿甘正传》的蓝光导航菜单《阿甘正传》的蓝光导航菜单

+

但是也正是因为容量过大,没有足够的空间存储,另外多年前的网速如果要拖一部蓝光原盘可能要几天时间,所以需要在保证视频质量的前提下尽量缩小体积。在 2008 之后国内外出现了很多压制组,他们会对蓝光光碟的内容进行重新编码缩小体积,最常见的编码技术是 H264,也叫 AVC、MPEG-4。压制完成的视频有 1080P 和 720P,这种小体积高质量的视频也同样适合收藏和观看。我们现在看到的大部分视频都是在蓝光的基础的上进行压制的,各大资源网站提供的最新电影都是搬自国内外这些压制组。

+

下面这两张对比图能看出区别么?(网站可能对图片有压缩,文章中的对比图可以关注我的公众号iTechMovie回复对比图获取原图)

+

蓝光源蓝光源

+

压制后压制后

+

为什么码率很重要

码率的意思是单位时间内传输数据的位数,用 kbps 表示。基本的算法是:码率(kbps)=文件大小(KB) * 8 / 时间(秒)。假设一部两个小时的 BD50 蓝光电影的视频容量为 35G,则码率为

+

35×1024×1024×8/2/3600=40777kbps=41Mbps

+

如果同一部电影的分辨率相同,码率不一样,也会影响画面的质量。因为码率越高,单位时间内传输的画面信息也就越丰富。

+

谈到码率就不得不谈到流媒体。流媒体是不用下载打开就可以直接观看的服务商。国内的三大视频网站,国外比较知名的 Netflix、hulu、Amazon Prime Video 和 Youtube,都可以算作流媒体。如果国外的这些流媒体都能进入中国,也就没三大视频网站什么事了。

+

Netflix未提供服务的地区仅剩4个Netflix未提供服务的地区仅剩4个

+

既然都是在线视频,如果要流畅地观看,网络条件就要够好。如果视频体积过大,势必会影响加载的速度。所以流媒体提供商就在视频的码率上做文章,在分辨率一样的情况下,通过压缩视频减小码率,牺牲一点画质从而减小体积,优化视频加载的体验。

+

一部电影在影院下映一段时间后,首先会上线流媒体,然后会发行蓝光原盘。就像前面说的,流媒体中的视频码率相对比较低,所以很多画面细节跟蓝光原盘比还是有差距的。而且流媒体对网络的依赖性很高,流媒体大多会根据当前的网络速度来自动调整播放的分辨率,如果自己的网络在高峰期比较卡顿,那就很影响观影体验了。

+

比如下面这个对比图中,画面主人公的面部蓝光源更加清晰,左边流媒体源的画面中帽子男的衣服褶皱消失了,右边裙子女的面部细节要比左边更丰富一些。

+

+

帧率又是什么

帧率指的是每秒显示的帧数。由于人类眼睛的特殊生理结构,如果所看画面的帧率高于每秒约 10 至 12 帧的时候,就会认为是连贯的。所以如果将这么多帧的图片放在一秒内播放完成,人眼所感受到的画面就是连续的。

+

从有声电影诞生的 1926 年到今天,99%的电影依然是 24 帧。只有霍比特人和李安的两部最新电影进行了更高帧率的尝试,《比利林恩的中场战事》和《双子杀手》都达到了惊人的 120 帧。帧数如果不高,会导致高速运动的物体看起来不连贯或者重影。帧数越高,再配合上更高的分辨率,人眼看到的电影画面也就越接近真实世界。比如下图 60 帧版本中火车快速通过的时候还能看到坐在火车里的乘客。

+

《双子杀手》低帧率《双子杀手》低帧率

+

《双子杀手》高帧率《双子杀手》高帧率

+

4K 时代

前面提到过 4K,横向像素要达到 1024 的 4 倍。之所以要单独拿出来说,是因为 4K 里面的猫腻太多了。

+

比较常见的 3840×2160 其实不算真正的 4K,因为 4K 的横向像素要达到 4096,这个分辨率被叫做 Ultra High Definition,简称 UHD,但是电视界经常把这个分辨率标为 4K 来误导消费者。4096×2160 是数字电影的 4K 标准,但是根据画幅比例的不同又衍生出了很多分辨率,4096×2160 的画幅比例是 1.90:1,4K 的《双子杀手》画幅比例为 1.85 : 1,分辨率应为 3996 × 2160。观众能在电影院欣赏到的 4K 电影少之又少,我只在今年《双子杀手》上映的时候去 CINITY 影院体验到了 4K120 帧,所以大家现在对分辨率是 UHD 还是 4K 也就没那么在意了,都统统称为 4K。

+

在 2015 年之后,蓝光原盘开始支持 4K 高清内容,新标准称为 Ultra HD Blu-ray,新规格的碟片有双层 66GB 和三层 100GB 两种。4K 蓝光原盘影片的压制采用 H.265/HEVC 高效率编码格式,能达到 H.264 两倍的压缩率, 分辨率为 3840 x 2160,帧率最高能达到 60FPS。

+

1080P vs 4K 来源:https://youtu.be/QlO_lOUwK141080P vs 4K 来源:https://youtu.be/QlO_lOUwK14

+

4K 蓝光影片的的画面信息内容是 1080 的 4 倍,影片细节更加丰富和生动。伴随 4K 蓝光影片的 HDR(高动态范围成像)可以使呈现的色彩更加生动,最亮和最暗画面的对比度更加分明,画面中的物体也更加真实,画面颜色过渡更加自然,带给用户视觉上的冲击也更大。HDR 的标准有 HDR10 和杜比视界,仅这两个概念又能讲上一整集,在这里就不赘述了,直接上对比图。

+

+

来源:https://youtu.be/H49VFZfWiag来源:https://youtu.be/H49VFZfWiag

4K 蓝光影片的头号劲敌就是诸如 Netflix 之类的流媒体,后者也推出了很多 4K 内容,观看起来也更加方便。不过跟 1080P 一样,流媒体中的 4K 码率比 4K 蓝光碟的码率要低不少。所以,流媒体或者 4K 蓝光原盘,就看自己的选择了。

+

写在最后

为了讲明白这些东西,查了很多很多的资料和视频,希望我的这些功夫都没有白费,能够帮助到大家,更加享受电影带来的快乐。

+
\ No newline at end of file diff --git "a/\346\210\221\344\271\260\344\272\206\344\270\252\350\241\250/index.html" "b/\346\210\221\344\271\260\344\272\206\344\270\252\350\241\250/index.html" new file mode 100644 index 00000000..bde77c9d --- /dev/null +++ "b/\346\210\221\344\271\260\344\272\206\344\270\252\350\241\250/index.html" @@ -0,0 +1,62 @@ +我买了个表 +

我买了个表

买表

北京在五月经历了一波疫情,居家办公了一个月。我在居家前屯了几瓶 1L 的可乐,居家的一个月我基本上都喝的这个。

+

几个月后,终于可以回家了,妈妈看到我的肚子,开始劝我减肥,我羞愧难当。

+

连我爸妈都看不下去了,我是得胖成了什么样子。

+

我也不想成为一个大腹便便的中年人。

+

回来之后,在朋友的怂恿下,马上跑去店里买了个 Apple Watch。

+

朋友说,买了它才会喜欢运动,我半信半疑。

+

如今,买了已经快两个月了。体重好像也没什么变化,但我看上去好像确实瘦了点,希望不是我的错觉。最重要的是,我居然把每周的跑步坚持下来了。

+

有了手表后,我决定每天走路到地铁,下了地铁后走路到公司。不然的话每天设定的活动目标就达不到。这样的话每天可以步行 4 公里。每周坚持跑步,从最开始的每周一次到最近的每周三次。
还记得第一次戴着手表跑步是去的奥森,气喘吁吁地跑完,几乎走了半程,心率也飙到了 190+。

+

惨不忍睹。

+

+

跑完之后觉得还不尽兴,于是就晃悠了到了鸟巢附近,一边走一边和老爸视频,让他看看鸟巢和水立方,当然了,还有旁边各种才艺表演的大爷大妈。最后那天消耗的大卡有 1000 多。

+

后面再跑步,慢慢可以把 5km 全程一口气跑完了,再然后慢慢也把速度也提了上来,已经能跑进 6min/km 了。虽然心率还是有点高,但还是很开心。

+

每次跑完我都特别渴特别饿,从跑步回来的路上会经过一家兰州拉面和一家烟酒店。我都会买一瓶脉动然后去点一碗牛肉拉面。这让我很苦恼,这可能就是我一直不掉秤的原因。

+

上周突然又想到是不是下班可以骑车回家,看上去只有 8 公里。

+

骑了两次共享单车,屁股实在是疼,放弃了。

+

PRO

前几天在论坛里讨论 9 月挑战奖章的时候,看到有个家伙说:感觉自己像是生产队的驴,天天在给个破手表打工。确实,如果要说这个手表有给我带来什么改变的话,我确实有点要变成给手表打工的样子。

+

我想要拿到所有能拿的奖章:每月挑战奖章、限量版挑战奖章、竞赛奖章。每次拿到奖章的感觉就像小时候拿到期末考试的奖状,恨不得把家里的一面墙都糊满。这种感觉尤其在添加了几个一起锻炼的好友后更加明显。看到别人在运动的时候,同时也会为自己的偷懒感到羞愧。有时候这边刚刚合上圆环的时候就准备休息,那边可能就有一个你的好友跟你说:怎么?刚刚过了目标这就要休息了?

+

还有一个竞赛的功能,可以跟好友一起进行一场为期 7 天的竞赛。不得不说它很容易激起你的胜负欲,因为它有一个用这个好友名字命名的专属奖章。

+

+

健身 APP 虽然没有多少功能,但在督促你锻炼这件事上做的足够完美。我这么一个经常半途而废的人能坚持两个月的运动属实是个小小的奇迹。一方面是奖章的激励,另外一个是跟好友的互动。它让我体验到更多运动的快乐。

+

CONS

但这个表也有很多让我抓狂的时刻。

+

上个月的某天突然看不到好友 A 的健身数据了,他也看不到我的数据,也没办法发送共享申请。没想到第二天我的也跟他一样的情况。好友 B 得数据也看不到了,删了 B 重新共享也失败了。而 B 那边一切正常,也能看到我的数据。

+

+

+

我们三个的情况:我:美区 A: 国区 B: 港区

+

我和出问题的 A 共同的地方是我俩会在同一个手机的 AppStore 上切换登录不同的 AppleID 。

+

然后是我排查问题的过程:

+
    +
  • 开美国 ip 全局
  • +
  • 更新手机和手表的系统 重启手机、手表系统
  • +
  • 取消和手表的配对重新配对
  • +
  • 切换手机系统语言、地区
  • +
  • 换个手机跟手表配对
  • +
+

以上都没办法解决后,我怀疑是 AppleID 出了问题。我就把 iCloud 的 AppleID 切换成了另一个国区 ID ,发现马上恢复正常了。

+

于是我跟苹果客服反馈,让她帮我确认下是否 AppleID 出了问题。他们那边的工程师确认过后说我的账号没有任何问题,他们也不确定什么问题。反正就来回让我试我刚刚列举的那几个办法。

+

来来回回半个月后,苹果客服直接不搭理我了。

+

没办法跟好友共享的那些天,简直抓心挠肝,觉得自己的锻炼大计要就此夭折。幸运的是我在某个论坛发了帖子求助后的几天,它居然自己好了。

+

但是它也没好透,每天早上起来都有新的 bug。

+

要么是好友的数据更新不同步,要么是收不到好友的邀请,又或者是突然看不到好友的数据。越是临近苹果的新品发布会,遇到这些 bug 的概率越大。可能苹果的工程师们最近正在 debug。

+

最后

虽然有点小波折,但整体上我还是很感激这块手表带给我的改变。希望我可以拿到「3000 次活动目标」奖章。而且最重要的是瘦下来,然后健康快乐地活着。

+
\ No newline at end of file diff --git "a/\346\210\221\347\232\2042010\345\271\264\344\273\243-\350\242\253\347\224\265\345\275\261\345\273\266\351\225\277\347\232\204\347\224\237\345\221\275/index.html" "b/\346\210\221\347\232\2042010\345\271\264\344\273\243-\350\242\253\347\224\265\345\275\261\345\273\266\351\225\277\347\232\204\347\224\237\345\221\275/index.html" new file mode 100644 index 00000000..9d4e8d44 --- /dev/null +++ "b/\346\210\221\347\232\2042010\345\271\264\344\273\243-\350\242\253\347\224\265\345\275\261\345\273\266\351\225\277\347\232\204\347\224\237\345\221\275/index.html" @@ -0,0 +1,54 @@ +我的2010年代:被电影延长的生命 +

我的2010年代:被电影延长的生命

feature-img

电影

十年前的 2010 年,刚刚步入大学,之前的观影途径有 VCD/DVD、星空卫视、学校组织的集体放映,甚至于村里的露天电影我都还有模糊的印象–应该是遥远的 90 年代了。

+

2010 年之后,电影帮我打开了另一个世界的大门。大学的时候有一门叫西方电影欣赏的选修课,在这门课上开始第一次真正接触到西方电影,《放牛班的春天》、《雨中曲》、《谍影重重》、《美丽人生》、《中央车站》这些电影都让我看得如痴如醉。有个极具人格魅力的老师跟我们说:「只要是 IMDB 7 分以上的片子,你们都可以去看。」但我还是先选择了豆瓣(毕竟豆瓣上的榜单更符合国内大多数人的口味),在豆瓣上开始标记每一部我看过的电影,如今在豆瓣电影已经标记了 678 个看过。

+

第一次听到 3D 这个词的时候我还正在读高三,当时《阿凡达》正在上映,我在收音机里听到《阿凡达》各种神乎其技的的 3D 体验,心里着急但又没有任何办法去真正体验,这种感觉着实让人抓心挠肝。2012 年,《泰坦尼克号 3D 版》在国内上映,虽然很多人已经把这部电影看了很多次,但当时这部后期转制的 3D 在国内也是相当火爆,火爆到我们班里一群男生集体跑到影院里去看这部电影。这是我自己第一次到影院里看电影,也是我第一次体验到 3D,有个 Rose 差点掉到海里的镜头把我看得头晕目眩。

+

在影院里看电影有个好处,你可以在黑暗中尽情地释放自己的情绪,更容易跟面前这片流动着光影的屏幕中的角色一起感受喜怒哀乐,一起经历一个完全不一样的人生。同时也有个坏处,当片尾字幕出现,影院灯光打开,很多时候是很难从电影中抽离出来的,碰到那种失落又无望的结局,需要在座位上呆坐很久才能缓过来。

+

看完《海边的曼彻斯特》久久不能从主角的痛苦中抽离出来看完《海边的曼彻斯特》久久不能从主角的痛苦中抽离出来

+

有了这个第一次的影院观影经历,我从此便一发不可收拾。虽然当时上学的自己生活不太宽裕,但每次碰到自己期待的电影,都会赶到影院里先睹为快。到现在我都还有印象深刻的电影,比如黄渤的《杀生》、时隔多年重见天日的《无人区》、李安的《少年派的奇幻漂流》、王全安《白鹿原》。时至今日,我依然觉得 《少年派的奇幻漂流》(《阿凡达》我没赶上) 是我看过的 3D 效果做的最用心效果最好的一部电影。到现在快十年过去了,各种大片的 3D 效果没有一点点进步,各种粗制滥造的 3D 电影依旧在影院里畅行无阻。

+

看完期待已久的《白鹿原》后很失望看完期待已久的《白鹿原》后很失望

+

这么多年的观影经历,国外那些长期盘踞在各大榜单的经典片子不必多说,说几个近些年对我影响比较大的国外电影。爱情电影中我最喜欢《乌云背后的幸福线》和《时空恋旅人》,喜欢这两个是因为从电影中能看到我自己的影子。《时空恋旅人》中男主跟刚刚还在熟睡的女朋友求婚后,女朋友说:「感谢你没有把求婚搞的很戏剧性,一群人围着的那种」。我听到这句话,差点流泪,我以为所有的女生都会喜欢那种惹人注目的浪漫。

+

男主还偷偷把一支街边乐队请回家里男主还偷偷把一支街边乐队请回家里

+

另一部对我影响最大的电影是《白日梦想家》,我在 14 年看完的这部电影,5 年后,我去了这部电影的拍摄地、第一次出国、第一次跟另一个国家的人交流,电影里的这句激励人心的话「To see the world, things dangerous to come to. To see behind walls, to draw closer. To find each other and to feel. That is the purpose of life.」,我确确实实也做到了。

+

看了很多国外电影后,我又把视线转向了国内,发现国内电影有太多太多的珍宝,有两位对我影响最大的导演:贾樟柯和郝杰。

+

我跟贾樟柯都是山西人,第一次看他的电影就是《小武》。在看这部电影之前我没看过任何一部这种风格的电影。电影的场景和我生活过的九十年代甚至于 00 年代都相差无几,尤其是电影里的山西话让我倍感亲切,小武在电影里的局促和尴尬也丝毫看不出表演的痕迹,一切都自然的像一部纪录片。从此我就爱上了贾樟柯。

+

原定于 2013 年上映的《天注定》历经各种波折,最终还是无法在国内上映,贾樟柯在一部纪录片中说他可能没办法在继续拍下去了,空间太小了。但他转身又拍出了豆瓣 7.9 分的《山河故人》以及豆瓣 7.6 分的《江湖儿女》。我在一篇《江湖儿女》的影评中写到:「每次看完贾樟柯的电影,心情都很复杂。最吸引我的还是写实的风格、各种生活化的场景、主演背后形形色色的人–有人在打牌有人在抽烟还有人在摸着自家的小狗。生活里没有那么多的起承转合,也没有那么多的反转和高潮,更多的还是贾樟柯电影里诸如小武之类的普通人。科长的电影一直都在记录这些影像和故事,这是我们国内很多电影都做不到的事情。」

+

《山河故人》这一幕让人泪目《山河故人》这一幕让人泪目

+

说到郝杰,很多人都对他的《光棍儿》很熟悉,这部影片粗糙、大胆、魅力无穷,我们看到了另外一个世界的生活。因为郝杰是张家口人,电影多是在张家口拍的,张家口当地的方言又跟我们县城的方言相差无几,当我第一次在看他的片子的时候,感受到的也是亲切和有生活气息。后来郝杰又拍了《美姐》和《我的青春期》(原名《我的春梦》),我都第一时间去电影院看了,因为如果他的电影不趁刚上映的时候看,晚一点就没有任何排片了。我特别喜欢《美姐》,我家乡的很多人也喜欢听电影里提到的二人台,我想如果把这部电影放给这些人看,他们也一定会喜欢。

+

那一年我最喜欢的一张电影海报那一年我最喜欢的一张电影海报

+

当然,还有很多优秀但很多人不了解的国产电影,比如最近几年的《村戏》、《爆裂无声》、《不成问题的问题》、《一个勺子》,希望这些电影可以在日后被更多的人欣赏和喜欢。

+

纪录片

除了国内的电影,国内还有很多优秀的纪录片。国内众多的人口也就意味着更多的故事,而很多故事又是没有办法在电影院中看到的,而纪录片独有真实和荒诞带给你的震撼远比电影强烈。

+

我不反感诸如《舌尖上的中国》或者《我在故宫修文物》之类的纪录片,但我更喜欢的是忠实记录这个时代以及这个时代普通个体的纪录片,通过这些记录片,你能确确实实感受到活着的力量。在这些纪录片中,周浩和徐童是我最敬畏的两个导演。

+

周浩的镜头对准了这个社会的每个细节,他拍过工人、农民、医生、警察、毒贩、高考生、官员,把这个时代的真实面目都展现在我们面前。每一个参加过高考的人都应该看一遍周浩的《高三》,想了解一个市长或者书记生活,去看《书记》和《大同》,如果想了解一个吸毒者有多么悲惨,就去看《龙哥》。

+

徐童的作品对准的都是底层社会的边缘人群,或许我们认为自己已经够底层了,每个月要被各种账单压的喘不过气,殊不知真正底层的人还在为了能吃一顿饱饭而发愁。看了徐童的《算命》后,我久久缓不过神来。历百程是一个残疾的算命先生,他的老婆是傻聋哑瘸的石珍珠。光这一句对他们的介绍,我都觉得生活对他们太残忍了,可是他们比我们大多数人都活得都有生命力。通过徐童的镜头,我们能看到一个个更加真实和有感染力的中国人,而不是一些人所谓的社会黑暗面。

+

历百程和石珍珠历百程和石珍珠

+

此外,《四个春天》、《少年·小赵》、《犴达罕》、《挖眼睛》等等独立制作的纪录片也同样优秀,推荐给大家。如今,越来越多的记录片进入了影院,虽然票房一般,但能进入电影院这已经是一件相当令人欣慰的事情了。

+

电视剧

国内的电视剧中,在 10 年代看过的很少很少,2009 年的两部电视剧《我的团长我的团》和《潜伏》是我的最爱。《我的团长我的团》是《士兵突击》的原班人马拍摄的有关远征军的故事,用豆瓣网友楞莲凌赖的话说:「 这部剧不仅让你知道中国为什么被逼的差点亡国,同时也告诉了你,中国为什么打成那样都没有亡国。」它是一部沉重又深刻电视剧,我曾经看着它的原著把某一页的纸打湿了,无论电视剧和书你看过一遍之后都不敢再看第二遍,因为它无所顾忌地将血淋淋的事实摆在我们面前,戳着每一位的心。主角龙文章在这部剧里如是说:「我想让事情是他本来的样子。」

+

车上躺着的是团长龙文章车上躺着的是团长龙文章

+

国外的电视剧中,我看的大多是都和大家一样,比如《生活大爆炸》、《绝命毒师》、《黑镜》这些热门的英剧或者美剧。工作了以后,空闲时间越来越少,很难像大学一样没日没夜的追一部美剧。但我一直想推荐给所有人的两部美剧,一部是豆瓣平均分 9 分的《废柴联盟》以及另一部接近满分的《瑞克和莫蒂》。这两部美剧都有同一个编剧 Dan Harmon,虽然这两部美剧风格迥异,但他们爆棚的想象力和折腾程度我觉得已经超越了所有其他的美剧,看完后的感觉就一个字:爽!

+

《瑞克和莫蒂》里也有不少的诸如此类的警世恒言《瑞克和莫蒂》里也有不少的诸如此类的警世恒言

+

最后

我一直觉得在荧幕前观看这些影视剧的最大的快乐在于能够体验到不同的人生,悲惨的、幸福的、疯狂的、荒谬的,如果把里面的主角都想像成平行世界的自己,就如同杨德昌在《一一》里所说,我们的生命至少延长了三倍。

+

注:本文参与少数派 2019 年度正文,属“我的 2010 年代清单”赛道

+
\ No newline at end of file diff --git "a/\346\210\221\347\255\233\351\200\211\345\207\272\344\272\206\350\257\204\345\210\206\346\234\200\351\253\230\347\232\204\345\215\201\344\275\215Cambly\350\213\261\350\257\255\345\217\243\350\257\255\350\200\201\345\270\210/index.html" "b/\346\210\221\347\255\233\351\200\211\345\207\272\344\272\206\350\257\204\345\210\206\346\234\200\351\253\230\347\232\204\345\215\201\344\275\215Cambly\350\213\261\350\257\255\345\217\243\350\257\255\350\200\201\345\270\210/index.html" new file mode 100644 index 00000000..be136ff3 --- /dev/null +++ "b/\346\210\221\347\255\233\351\200\211\345\207\272\344\272\206\350\257\204\345\210\206\346\234\200\351\253\230\347\232\204\345\215\201\344\275\215Cambly\350\213\261\350\257\255\345\217\243\350\257\255\350\200\201\345\270\210/index.html" @@ -0,0 +1,110 @@ +我筛选出了评分最高的十位Cambly英语口语老师 +

我筛选出了评分最高的十位Cambly英语口语老师

最近几个月为了练习口语,我订阅了Cambly在上面练一对一的口语。就我个人而言,Cambly最糟心的一点是老师筛选功能的残缺。目前只能根据一些关键词的筛选,但不能根据老师的真实评分和教授过学生数量进行筛选,而且这些数据也不会在老师的详情页面进行展示。

+

站在Cambly的角度,这样的做法可能会给更多的老师机会,而不是全部学生都集中选某几个老师。但是对于我们用户来说,我们还是希望自己可以选到最优秀最有经验的老师。

+

于是我对Cambly的老师做了下筛查,筛选条件定为好评的数量大于1000,同时当前支持预约,按评分由高到低,筛选出了这10位老师。

+

TOP1

+

🌟 Teacher Sarah 🌟

+
    +
  • 评分人数: 1099 👥
  • +
  • 好评数量: 1096 👍
  • +
  • 学生人数: 205 🎓
  • +
  • 平均评分: 4.97 ⭐️
  • +
+

TOP2

+

🌟 Nothemba 🌟

+
    +
  • 评分人数: 2782 👥
  • +
  • 好评数量: 2772 👍
  • +
  • 学生人数: 455 🎓
  • +
  • 平均评分: 4.97 ⭐️
  • +
+

TOP3

🌟 Imran Malik 🌟

+
    +
  • 评分人数: 1557 👥
  • +
  • 好评数量: 1548 👍
  • +
  • 学生人数: 299 🎓
  • +
  • 平均评分: 4.96 ⭐️
  • +
+

TOP4

+

🌟 Conor 🌟

+
    +
  • 评分人数: 1229 👥
  • +
  • 好评数量: 1225 👍
  • +
  • 学生人数: 292 🎓
  • +
  • 平均评分: 4.96 ⭐️
  • +
+

TOP5

+

🌟 John from the UK 🌟

+
    +
  • 评分人数: 2594 👥
  • +
  • 好评数量: 2572 👍
  • +
  • 学生人数: 446 🎓
  • +
  • 平均评分: 4.96 ⭐️
  • +
+

TOP6

+

🌟 Nick Twyman 🌟

+
    +
  • 评分人数: 3653 👥
  • +
  • 好评数量: 3637 👍
  • +
  • 学生人数: 747 🎓
  • +
  • 平均评分: 4.95 ⭐️
  • +
+

TOP7

+

🌟 Teacher Rami 🌟

+
    +
  • 评分人数: 2296 👥
  • +
  • 好评数量: 2290 👍
  • +
  • 学生人数: 444 🎓
  • +
  • 平均评分: 4.95 ⭐️
  • +
+

TOP8

+

🌟 Fatimah Graham 🌟

+
    +
  • 评分人数: 1108 👥
  • +
  • 好评数量: 1104 👍
  • +
  • 学生人数: 374 🎓
  • +
  • 平均评分: 4.95 ⭐️
  • +
+

TOP9

+

🌟 Charles Riss 🌟

+
    +
  • 评分人数: 1965 👥
  • +
  • 好评数量: 1956 👍
  • +
  • 学生人数: 356 🎓
  • +
  • 平均评分: 4.95 ⭐️
  • +
+

TOP10

+

🌟 Teacher Salman 🌟

+
    +
  • 评分人数: 4846 👥
  • +
  • 好评数量: 4826 👍
  • +
  • 学生人数: 781 🎓
  • +
  • 平均评分: 4.95 ⭐️
  • +
+

根据我的经验,老师的教学风格是否适合自己还是要亲自试一试,以上的数据可以当作一个参考的维度。

+

最后希望大家都可以在cambly上找到自己心仪的老师。

+
\ No newline at end of file diff --git "a/\346\265\201\346\260\264\350\264\246 \345\234\250\345\214\227\344\272\254\345\210\260\345\205\254\345\217\270\345\244\215\345\267\245\347\232\204\347\254\254\344\270\200\345\244\251/index.html" "b/\346\265\201\346\260\264\350\264\246 \345\234\250\345\214\227\344\272\254\345\210\260\345\205\254\345\217\270\345\244\215\345\267\245\347\232\204\347\254\254\344\270\200\345\244\251/index.html" new file mode 100644 index 00000000..66ade452 --- /dev/null +++ "b/\346\265\201\346\260\264\350\264\246 \345\234\250\345\214\227\344\272\254\345\210\260\345\205\254\345\217\270\345\244\215\345\267\245\347\232\204\347\254\254\344\270\200\345\244\251/index.html" @@ -0,0 +1,28 @@ +「流水账」在北京到公司复工的第一天 +

「流水账」在北京到公司复工的第一天

年后在家远程办公了两周后,公司通知这一周要到公司上班。迫于无奈,请了三天年假在家又远程办公了三天后,还是极不情愿的去公司了。

+

早上骑车去地铁,路上没看到别的电动车,机动车倒是和以前一样不停地在我旁边呼啸而过,路上也有没戴口罩的大爷大妈悠然的走在路上。路边一个经常聚集了四五个老大爷的象棋摊居然也恢复了营业,有些地方可是一家人打个麻将都要被砸桌子的。

+

到了地铁站的非机动车停车场,往常这个时间点都停地满满当当,今天居然在入口附近就停好了我的电驴。进入地铁,除了一个出站的,我没看到其他人和我一起进入地铁。安检的人戴着护目镜测一次体温,但是过书包的安检仪有没有消毒我就不清楚了。

+

地铁车厢的人寥寥无几,一个人可以坐一排,我在过年期间也没有见过北京有这样的场景。到这个时候我才意识到,我可能是万中无一的必须到公司的开工锦鲤。虽然有座,但我还是选择站着,换乘爬楼的时候我也尽量选择步行楼梯。

+

+

到了公司大楼,测了两次体温,一次脖子一次手腕,都是 34 度。测温的物业不甘心,又让我撸起袖子测了一次,35 度。这样如此离谱的测温有啥意义。

+

进入公司,我又被测了一次温,贴心的保安大哥给了我洗手液。到了工位上发现我桌子上还有我一个年前戴过的一个口罩,那个时候我还不知道这个口罩是 N95 的,被我随手丢在一边。现在不一样了,我把它收进抽屉,准备再用用。

+

中午吃了统一配送到办公楼的一家饭店的饭,简直难以下咽,躲在一间小会议室里草草吃了几口就扔掉了。我决定从此还是点外卖或者自带吧。

+

口罩戴到这个时候,我已经有点难受了。耳朵疼,胸闷气短,总想摘下口罩用力呼吸几口。下午公司发了口罩,换上后耳朵更疼了。每隔一段时间我得整理一下口罩,让耳朵放松下。手头的工作就这样被不停的打断。好不容易到了下班时间,我此刻只想赶紧回家,痛快的呼吸。

+

回去的路上看到当当复工有员工感染的新闻,希望我们不会成为下一个当当。

+
\ No newline at end of file diff --git "a/\347\224\265\345\275\261\350\212\202\347\234\213\345\256\214\347\224\265\345\275\261-\350\265\260\345\234\250\345\271\263\351\201\245\345\217\244\345\237\216\347\232\204\345\244\247\350\241\227\344\270\212/index.html" "b/\347\224\265\345\275\261\350\212\202\347\234\213\345\256\214\347\224\265\345\275\261-\350\265\260\345\234\250\345\271\263\351\201\245\345\217\244\345\237\216\347\232\204\345\244\247\350\241\227\344\270\212/index.html" new file mode 100644 index 00000000..d738bf9b --- /dev/null +++ "b/\347\224\265\345\275\261\350\212\202\347\234\213\345\256\214\347\224\265\345\275\261-\350\265\260\345\234\250\345\271\263\351\201\245\345\217\244\345\237\216\347\232\204\345\244\247\350\241\227\344\270\212/index.html" @@ -0,0 +1,18 @@ +2020年,电影节看完电影,走在平遥古城的大街上 +

2020年,电影节看完电影,走在平遥古城的大街上

+
\ No newline at end of file diff --git "a/\347\234\213\344\272\206\344\270\244\351\203\250\347\245\236\347\247\230\347\232\204\347\224\265\345\275\261/index.html" "b/\347\234\213\344\272\206\344\270\244\351\203\250\347\245\236\347\247\230\347\232\204\347\224\265\345\275\261/index.html" new file mode 100644 index 00000000..eb522d22 --- /dev/null +++ "b/\347\234\213\344\272\206\344\270\244\351\203\250\347\245\236\347\247\230\347\232\204\347\224\265\345\275\261/index.html" @@ -0,0 +1,19 @@ +看了两部神秘的电影 +

看了两部神秘的电影

前些天在一个电影节的微信群中偶然看到一条观影的消息,点开后发现都是平遥和 First 出来的片子,毫不犹豫的选了两部。
放映的日子是今天下午,到了早上才收到放映地点的短线通知,搞得这一场电影放映像特务接头。
后来看群里的人讨论,才意识到这是两部没有龙标的片子,有可能会被别有用心的人举报。
第一部是疫情背景下的电影,一男一女在空旷的城市里游荡。两个主角在小城里很自由,镜头的调度也很自由,会忽然一转对准正在炸响的鞭炮或者窗台上随风摇摆的衣服。映后想问问导演这些镜头是闲来之笔还是事先就设计好的,想了想答案是什么也好像无关紧要。
最让我触动的是电影最后,两个人隔着口罩热吻,我觉得这是这部电影里最有力量的一个镜头。不到三年,口罩已经成为了我们身体的一部分,我还依稀记得第一次戴上它的不适,现在如果让我想象彻底摘掉他的那天会是什么样子,我没有办法。可能以后接吻就要像戴着避孕套一样戴着口罩吧。这个荒诞的国家里没有什么不可能,对吧。
这部电影也让我惊叹,我居然有生之年能在国内电影院里看到如此大尺度的电影。我也开始反思,我一直离不开北京的原因,可能就是有这么多的可能性吧。

+

第二部是关于广东汕尾两个女生的故事,也是一部游荡的电影。导演触碰现实问题有点过于直白,但电影我看得很舒服。电影让我想起一部 Netflix 的一部纪录片《寻》,几个在美国被收养的女生,回到广东寻亲的故事。这几年我们的计划生育政策来了个大转弯,但是一些地方的女生的生存现状可能还是没有多少改变。挺无奈的。

+
\ No newline at end of file diff --git "a/\347\256\227\346\263\225\344\270\216\346\225\260\346\215\256\347\273\223\346\236\204\344\271\213\346\240\210(Stack)\345\222\214\351\230\237\345\210\227(Queue)/index.html" "b/\347\256\227\346\263\225\344\270\216\346\225\260\346\215\256\347\273\223\346\236\204\344\271\213\346\240\210(Stack)\345\222\214\351\230\237\345\210\227(Queue)/index.html" new file mode 100644 index 00000000..d6a95e5a --- /dev/null +++ "b/\347\256\227\346\263\225\344\270\216\346\225\260\346\215\256\347\273\223\346\236\204\344\271\213\346\240\210(Stack)\345\222\214\351\230\237\345\210\227(Queue)/index.html" @@ -0,0 +1,274 @@ +算法与数据结构之栈(Stack)和队列(Queue) +

算法与数据结构之栈(Stack)和队列(Queue)

栈(Stack)

    +
  1. 定义: 栈是一种遵循后进先出(LIFO, Last In First Out)原则的数据结构。这意味着最后添加到栈中的元素会是第一个被移除的。
  2. +
  3. 基本操作:
      +
    • push: 向栈顶添加一个元素。
    • +
    • pop: 移除并返回栈顶元素。
    • +
    • peek/top: 返回栈顶元素而不移除它。
    • +
    • isEmpty: 检查栈是否为空。
    • +
    • size: 返回栈中元素的数量。
    • +
    +
  4. +
  5. 应用:
      +
    • 函数调用和递归。
    • +
    • 撤销操作(如文本编辑器中的撤销)。
    • +
    • 括号匹配等。
    • +
    +
  6. +
  7. 实现:
      +
    • 可以使用数组或链表实现。
    • +
    • 在数组实现中,栈的大小可能是固定的或动态扩展的。
    • +
    • 在链表实现中,栈可以动态地增长,并且不存在大小的限制。
    • +
    +
  8. +
+

队列(Queue)

    +
  1. 定义: 队列是一种遵循先进先出(FIFO, First In First Out)原则的数据结构。这意味着最先添加到队列的元素会是第一个被移除的。
  2. +
  3. 基本操作:
      +
    • enqueue: 在队列的尾部添加一个元素。
    • +
    • dequeue: 移除并返回队列头部的元素。
    • +
    • front: 返回队列头部的元素但不移除它。
    • +
    • isEmpty: 检查队列是否为空。
    • +
    • size: 返回队列中元素的数量。
    • +
    +
  4. +
  5. 应用:
      +
    • 数据缓冲(如打印任务队列)。
    • +
    • 任务调度。
    • +
    • 在宽度优先搜索算法中使用。
    • +
    +
  6. +
  7. 实现:
      +
    • 可以使用数组或链表实现。
    • +
    • 链表实现更为常见,因为它可以轻松地在两端添加和删除元素。
    • +
    • 在数组实现中,通常使用循环队列来避免空间浪费。
    • +
    +
  8. +
+

对比

    +
  • 主要区别: 栈是LIFO,而队列是FIFO。
  • +
  • 使用场景: 栈通常用于解决涉及递归、回溯等问题,而队列适合于处理按顺序处理的任务。
  • +
+

在JS/Python/Go中的应用

    +
  • JavaScript:

    +
      +
    • 栈可以用数组实现(使用 pushpop 方法)。

      +
    • +
    • 队列同样可以用数组实现(使用 pushshift 方法)。

      +
    • +
    • 示例代码

      +
        +
      • 栈(Stack)
      • +
      +
      class Stack {
      +    constructor() {
      +        this.items = [];
      +    }
      +    push(element) {
      +        this.items.push(element);
      +    }
      +    pop() {
      +        if (this.items.length === 0) return "Underflow";
      +        return this.items.pop();
      +    }
      +    peek() {
      +        return this.items[this.items.length - 1];
      +    }
      +    isEmpty() {
      +        return this.items.length === 0;
      +    }
      +    size() {
      +        return this.items.length;
      +    }
      +}
      +
      +// 使用栈
      +let stack = new Stack();
      +stack.push(10);
      +stack.push(20);
      +console.log(stack.peek()); // 输出: 20
      +stack.pop();
      +console.log(stack.peek()); // 输出: 10
      +
        +
      • 队列(Queue)
      • +
      +
      class Queue {
      +    constructor() {
      +        this.items = [];
      +    }
      +    enqueue(element) {
      +        this.items.push(element);
      +    }
      +    dequeue() {
      +        if(this.isEmpty()) return "Underflow";
      +        return this.items.shift();
      +    }
      +    front() {
      +        if(this.isEmpty()) return "No elements in Queue";
      +        return this.items[0];
      +    }
      +    isEmpty() {
      +        return this.items.length === 0;
      +    }
      +    size() {
      +        return this.items.length;
      +    }
      +}
      +
      +// 使用队列
      +let queue = new Queue();
      +queue.enqueue(10);
      +queue.enqueue(20);
      +console.log(queue.front()); // 输出: 10
      +queue.dequeue();
      +console.log(queue.front()); // 输出: 20
    • +
    +
  • +
  • Python:

    +
      +
    • 栈可以用列表实现(使用 appendpop 方法)。
    • +
    • 队列可以用 collections.deque 实现,以支持高效的元素添加和删除。
    • +
    • 示例代码
        +
      • 栈(Stack)
        class Stack:
        +    def __init__(self):
        +        self.items = []
        +
        +    def push(self, item):
        +        self.items.append(item)
        +
        +    def pop(self):
        +        if not self.is_empty():
        +            return self.items.pop()
        +        return "Underflow"
        +
        +    def peek(self):
        +        if not self.is_empty():
        +            return self.items[-1]
        +        return "Empty Stack"
        +
        +    def is_empty(self):
        +        return len(self.items) == 0
        +
        +    def size(self):
        +        return len(self.items)
        +# 使用栈
        +stack = Stack()
        +stack.push(10)
        +stack.push(20)
        +print(stack.peek())  # 输出: 20
        +stack.pop()
        +print(stack.peek())  # 输出: 10
      • +
      • 队列(Queue)
        from collections import deque
        +
        +class Queue:
        +    def __init__(self):
        +        self.items = deque()
        +
        +    def enqueue(self, item):
        +        self.items.append(item)
        +
        +    def dequeue(self):
        +        if not self.is_empty():
        +            return self.items.popleft()
        +        return "Underflow"
        +
        +    def front(self):
        +        if not self.is_empty():
        +            return self.items[0]
        +        return "Empty Queue"     
        +
        +    def is_empty(self):
        +        return len(self.items) == 0
        +
        +    def size(self):
        +        return len(self.items)
        +
        +# 使用队列
        +queue = Queue()
        +queue.enqueue(10)
        +queue.enqueue(20)
        +print(queue.front())  # 输出: 10
        +queue.dequeue()
        +print(queue.front())  # 输出: 20
      • +
      +
    • +
    +
  • +
  • Go:

    +
      +
    • 栈和队列通常需要自己实现,可以使用切片(slice)来实现栈,而队列则可以使用切片或链表实现。
    • +
    • 示例代码
        +
      • 栈(Stack)
        package main
        +
        +import "fmt"
        +
        +type Stack []int
        +
        +func (s *Stack) Push(v int) {
        +    *s = append(*s, v)
        +}
        +
        +func (s *Stack) Pop() int {
        +    if len(*s) == 0 {
        +        return -1 // 表示栈空
        +    }
        +    index := len(*s) - 1
        +    element := (*s)[index]
        +    *s = (*s)[:index]
        +    return element
        +}
        +
        +func main() {
        +    var stack Stack
        +    stack.Push(10)
        +    stack.Push(20)
        +    fmt.Println(stack.Pop()) // 输出: 20
        +    fmt.Println(stack.Pop()) // 输出: 10
        +}
      • +
      • 队列(Queue)
        package main
        +
        +import "fmt"
        +
        +type Queue []int
        +
        +func (q *Queue) Enqueue(v int) {
        +    *q = append(*q, v)
        +}
        +
        +func (q *Queue) Dequeue() int {
        +    if len(*q) == 0 {
        +        return -1 // 表示队列空
        +    }
        +    element := (*q)[0]
        +    *q = (*q)[1:]
        +    return element
        +}
        +
        +func main() {
        +    var queue Queue
        +    queue.Enqueue(10)
        +    queue.Enqueue(20)
        +    fmt.Println(queue.Dequeue()) // 输出: 10
        +    fmt.Println(queue.Dequeue()) // 输出: 20
        +}
      • +
      +
    • +
    +
  • +
+
\ No newline at end of file diff --git "a/\347\273\231\347\241\254\347\233\230\351\207\214\347\232\204\345\260\217\345\247\220\345\247\220\345\256\211\344\270\200\344\270\252\345\256\266-\345\246\202\344\275\225\346\211\223\351\200\240\344\270\200\344\270\252\345\261\236\344\272\216\350\207\252\345\267\261\347\232\204\345\244\232\345\252\222\344\275\223\344\270\255\345\277\203/index.html" "b/\347\273\231\347\241\254\347\233\230\351\207\214\347\232\204\345\260\217\345\247\220\345\247\220\345\256\211\344\270\200\344\270\252\345\256\266-\345\246\202\344\275\225\346\211\223\351\200\240\344\270\200\344\270\252\345\261\236\344\272\216\350\207\252\345\267\261\347\232\204\345\244\232\345\252\222\344\275\223\344\270\255\345\277\203/index.html" new file mode 100644 index 00000000..6b2460ca --- /dev/null +++ "b/\347\273\231\347\241\254\347\233\230\351\207\214\347\232\204\345\260\217\345\247\220\345\247\220\345\256\211\344\270\200\344\270\252\345\256\266-\345\246\202\344\275\225\346\211\223\351\200\240\344\270\200\344\270\252\345\261\236\344\272\216\350\207\252\345\267\261\347\232\204\345\244\232\345\252\222\344\275\223\344\270\255\345\277\203/index.html" @@ -0,0 +1,115 @@ +给硬盘里的小姐姐安一个家 | 如何打造一个属于自己的多媒体中心 +

给硬盘里的小姐姐安一个家 | 如何打造一个属于自己的多媒体中心

如今,大家越来越习惯于观看在线视频,即便部分流媒体需要每月支付一定的费用才能享受到更加优质的服务,大家也越来越心甘情愿地支付这一部分费用,毕竟国内的大部分视频网站还是对想免费观看的这一部分用户太不友好了。

+

但是还有这么一群人,他们没办法忍受视频网站的垃圾画质,不愿意接受动辄阉割的剧情,不想在以后的某个时间想回味一部电影,却被视频网站下架了。于是他们买了硬盘,买了 NAS,把他们喜欢的视频都装进自己的硬盘。

+

但是把硬盘塞满后,如何方便快捷地从一堆文件中找到自己想要的呢,又如何为你的文件做一个美观的可视化界面呢?

+

+

文件名很重要

如果要生成上图中这样的海报,需要相应的软件对存储的电影文件进行识别(也叫做刮削,后续统称为刮削),获取到对应的电影或者电视节目的元数据,而刮削的关键就是文件的命名。

+

首先来看两个命名的对比,大家觉得哪个命名更友好一点呢?

+
绅士们.The.Gentlemen.2019.BD720P.中英双字.mp4
+The Gentlemen 2019 2160p UHD BluRay TrueHD 7.1 HDR x265.mkv
+ +

对于大部分的人来说,肯定第一个更友好,因为一眼看过去就知道它是个什么电影,也知道这个文件里有什么字幕。

+

但是如果要是交给程序去识别呢?它大概率会困惑于这个 BD720P 到底是个什么鬼。

+

那么到底应该怎么去规范地命名一个电影文件呢?文件名里的内容都是些什么意思?

+

完整的英文名

一部电影或者电视节目,无论国内外都有属于自己的英文名,但是它的中文名可能千奇百怪。《WALL-E》在不同地区被翻译成了《机器人总动员》、《太空奇兵·威 E》和《瓦力》。刮削工具拿到电影的名字需要去对应的网站(比如豆瓣、IMDB、TMDB)搜索电影的元数据,如果是拿这几个中文名去检索,可能一无所获。

+

如果把命名成完整英文名,无论是从豆瓣还是其他国外网站都能快速准确地获取到对应的电影元数据。

+

如果是电视节目,则需要在文件名后加上对应的季数和集数,而一整季的所有文件需要放到同一个文件夹下,文件夹的命名中只需要有对应季数就可以。例如:

+
Rick.and.Morty.S03.1080p.BluRay.REMUX.AVC.TrueHD.5.1 (文件夹)
+Rick.and.Morty.S03E01.1080p.BluRay.REMUX.AVC.TrueHD.5.1.mkv
+ +

电影发行时间

很多电影都会有重名的情况,所以仅有完整的英文名还不够,还需要有电影的发行时间。
这个时间一般指的是电影首次公开上映的当地时间,现在很多电影会选择在流媒体首播,所以这里的时间也可以是影视剧在流媒体的首播时间。在文件命名的时候只需要写上对应的年份就可以了。

+

其实到这里,对于电影或者电视节目的元数据获取来说已经足够了,但是之后的这几个参数还是有必要提及一下。

+

分辨率

现在常见的分辨率有 720P、1080P 和 4K(2160P),至于那个 BD720P ,大概只有国内会这么叫,所以不建议采用。因为大部分 4K 电影的分辨率只有 3840×2160,这个分辨率被叫做 Ultra High Definition,所以文件命名中会在分辨率 2160P 后面再跟一个 UHD

+

伴随着 4K 同时出现的又有 HDR 和 杜比世界,所以文件命名中还需要增加一个 HDR 或者 DolbyVision 的标识。有关分辨率以及 4K 的具体介绍,可以参考我的这一篇文章怎样的视频算得上「高清」?这 3 个「率」很重要

+

视频来源

The Gentlemen 2019 2160p UHD BluRay TrueHD 7.1 HDR x265.mkv
+ +

这个文件中的 BluRay 就代表着这个视频的来源,表示它是通过蓝光光碟压制而来。除了 BluRay,DVD 表示文件来自于电影发行的 DVD 光碟,HDTV 的是通过视频采集的方式获取高清频道播放的资源,WEB-DL 则表示文件是从流媒体平台抓取的。稍微注意就会发现很多 Netflix 的资源都会有 WEB-DL 的标识。

+

而这几种来源代表的是视频质量的高低,相同分辨率下 BluRay 的码率最高,视频清晰度也更好,而 DVD 支持的最高分辨率只有 480P。所以我们通过视频来源这一项就可以知道这个视频文件的质量的高低。

+

音频编码

常见的音频编码有 DTS-HDMA、Dolby TrueHD、LPCM、DTS、AC3,其中前三种无损音频编码最大可支持到 7.1 声道。无损的音频编码可以大大提高观影的听觉体验,声音更加立体和有层次,但是需要配合对应的功放才能解码。

+

视频编码

常见的视频编码有 H.264 和 H.265(HEVC),H.265 因为编码效率更高,也常被用在 4K 影片中。文章开头提到的文件名最后的 x265 代表的就是 H.265 编码。

+

综上,如果文件名中这些信息都具备,那么仅仅通过一个文件名就能获取到很多有用的信息,可以很容易地挑选到适合自己的影片。最重要的是这样规范的命名对刮削器来说也相当友好,可以大大提高刮削的效率和准确度。

+

选择一款适合自己的多媒体方案

电影都存好了,命名也规范了,但是如何打造属于自己的多媒体中心,这就不得不提到主流的几款媒体服务器。

+

常见的媒体服务器有 Emby、Plex、Jellyfin,这三家的共同点是他们都有一个服务端和客户端,当视频文件在各种终端设备上播放的时候,解码的工作的可以交给服务端来进行,这样就实现了在任何客户端上(比如手机和电视)都可以播放。

+

除此之外,他们会把局域网内的文件进行刮削,配上对应的海报、简介以及演职员表,从而可以更方便地浏览文件。

+

简单地说,通过这三款媒体服务器,你可以打造一个属于自己的 Netflix。

+

服务端

服务端可以负责视频的解码和影视剧的刮削,这几个媒体服务器的服务端都可以安装在 NAS、Linux、Docker、或者 Windows 上,Plex 支持的平台稍多一些,Jellyfin 对 Nas 的支持性一般,好在它可以通过 Docker 安装。

+

Emby server 支持平台Emby server 支持平台

+

客户端

客户端用来读取和播放服务端中的视频。这三大媒体媒体服务器的支持客户端基本上已经包含了几乎所有的电视和手机的设备,你可以随时随地在任何设备上进行观看。

+

Emby 支持的客户端Emby 支持的客户端

+

安装

安装的步骤都大同小异,基本上照着操作文档都能很方便地完成。具体的安装步骤和设置内容网上已有很多文章已经分享过了,这里不再赘述。

+

服务端安装完成后第一件事情是要添加电影和电视节目的目录。需要注意的是,电影和电视节目的文件目录要分开添加到对应的分类里。假如在电影的目录中添加了部分电视节目的文件,则很大可能会刮削失败。

+

+

相关配置

安装完成后,可以对媒体库进行一些设置。我比较喜欢将简介和电影名称设置为中文,海报设置为英文,因为英文海报都会比较清爽,中文则会堆砌着一堆毫无意义的文字,对于有强迫症的人来说,这种海报容易引起心理不适。

+

电影的元数据需要从第三方网站获取,元数据的来源可以选择豆瓣或者 TheMovieDB,因为国内 TMDB 的连接性比较差,所以可以作为豆瓣的备选。

+

更喜欢哪一版的海报?更喜欢哪一版的海报?

+

媒体库的设置媒体库的设置

+

会员需要购买么

Plex 和 Emby 都有对应的高级版,高级版可以开启更多的功能。高级版最主要的的两个用处是客户端的播放以及硬件解码,如果是软解的话,服务端的 CPU 会承受比较大的压力。

+

但是 Jellyfin 是完全免费的,这两个刚需也完全能够满足。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
订阅期限PlexEmbyJellyfin
每月$4.99$4.99免费
每年$39.99$54免费
终生$119.99$119免费
+

其他

除了电影和电视节目,这三款媒体服务器还添加音乐、书籍、电视直播等各种类型的多媒体。感兴趣的可以自行探索一番。

+

我自己的多媒体播放方案

我自己的所有媒体文件都是存放在群晖 NAS 里,目前用的是 Emby,服务端使用的也是群晖提供的套件进行安装。没有开通高级版,因为基本不会使用手机 APP 去观看电影。Plex 也使用过,但是服务端的一些操作对我来说不够友好,页面也比较陈旧和老土。之所以没有使用 Jellyfin 的原因是 Jellyfin 在群晖里只能通过 Docker 安装,但只能添加一个群晖的目录,对于我这种没有组 raid 的用户来说,没有办法将多个目录下所有的的媒体文件都添加到 Jellyfin 的服务端,所以最后还是忍痛选择了 Emby。

+

《三块广告牌》《三块广告牌》

+

而在设备端,我一直在用 AppleTV 的 Infuse Pro 6。Infuse 在前段时间刚刚增加了对 Emby 和 Jellyfin 的支持,在此之前它只支持 Plex。通过 Infuse 播放 Emby 的媒体文件无需开通高级版,直接添加对应的 Emby 账户就可以了,视频会展示在 Infuse APP 中,通过 AppleTV 进行解码。

+

Infuse的电影展示页面Infuse的电影展示页面

+

设备端除了 AppleTV 外,对这三款媒体服务器支持最好的就是 Kodi 了,只需要安装对应的插件即可进行使用,很多安卓 TV 和电视盒子上都可以通过安装 Kodi 来进行视频播放。

+

PT 可能会遇到的问题

通过 PT 下载的文件命名足够规范,但是有些文件夹中会带一些海报和 NFO 文件。如果在设置中选择保存 NFO 和海报到本地,会导致原有的从 PT 下载的文件被覆盖导致没办法做种。

+

在 AppleTV 支持 Emby 之前,我不想让 AppleTV 自己去下载影片的元数据,于是就让 Emby 生成 NFO 文件,然后 AppleTV 就会读取目录中的 NFO 文件来获取对应的影片信息。但是这样就导致刚刚提到的文件覆盖问题。

+

好在硬链接可以解决这个问题。

+

硬链接意味着同一个文件的多个入口,在 Linux 系统中,如果 B 文件 是 A 的硬链接,则 B 文件的命名修改不会同步到 A 文件。利用这个原理,我们可以将 PT 下载的文件硬链接到其他目录,然后把硬链接目录添加到 Emby 或者 Jellyfin 的媒体文件中。

+

但是如果 A 所在的目录 C 有新增文件,C 目录的新增文件也需要同步更新到 B 文件所在目录 D。否则的话 Emby 在硬链接之后就无法拿到 C 目录中最近添加的文件了。

+

可以通过这个命令解决以上问题:

+

cp -r -l -u C/* D

+

然后可以将这个命令加入群晖的任务计划中,定时执行就可以了。

+

最后

搭建一个多媒体中心其实是一个相当费力的一件事情,你需要购买硬件设备、安装各种软件,还要学习 Linux 命令,但是为了能够尽情的享受一部电影带给我的乐趣,这些折腾也都值得。

+

也欢迎在留言区中分享你自己的折腾经历。

+
\ No newline at end of file diff --git "a/\350\212\261\344\272\206\344\270\200\344\270\252\346\234\210\346\227\266\351\227\264\346\210\221\345\206\231\344\272\206\344\270\200\344\270\252\350\277\234\347\250\213\347\256\241\347\220\206\344\270\213\350\275\275\344\270\212\344\274\240\347\232\204\345\260\217\347\250\213\345\272\217/index.html" "b/\350\212\261\344\272\206\344\270\200\344\270\252\346\234\210\346\227\266\351\227\264\346\210\221\345\206\231\344\272\206\344\270\200\344\270\252\350\277\234\347\250\213\347\256\241\347\220\206\344\270\213\350\275\275\344\270\212\344\274\240\347\232\204\345\260\217\347\250\213\345\272\217/index.html" new file mode 100644 index 00000000..5c35c11b --- /dev/null +++ "b/\350\212\261\344\272\206\344\270\200\344\270\252\346\234\210\346\227\266\351\227\264\346\210\221\345\206\231\344\272\206\344\270\200\344\270\252\350\277\234\347\250\213\347\256\241\347\220\206\344\270\213\350\275\275\344\270\212\344\274\240\347\232\204\345\260\217\347\250\213\345\272\217/index.html" @@ -0,0 +1,50 @@ +花了一个月时间,我写了一个远程管理下载上传的小程序 +

花了一个月时间,我写了一个远程管理下载上传的小程序

feature-img

由于众所周知的原因,对于使用 qBittorrent、Transmission 等 BitTorrent 客户端的用户来说,ios 上一直没有一个可以远程管理下载的工具。对于已经习惯了移动端掌控一切的我们来说,在手机上访问一个没有经过适配的 PC 网页这种事情实在是难以忍受。

+

好在,通过小程序可以解决这个问题。

+

在写了人生中第一个原型图,业余时间撸了一个月前后端的代码后,TransClient 这个小程序就这么诞生了。大家可以点击文末的小程序进行体验。

+

TransClient 是做什么的

简单来说,它是一个远程管理下载上传的工具。

+

目前可以支持 qBittorrent、Transmmison、Deluge 这三个客户端。

+

你可以通过 TransClient 添加种子文件或链接到这三个客户端进行下载,同时可以查看下载进度、上传和下载速度,以及进行删除、暂停等操作。

+

+

需要注意的是,TransClient 默认跳转到下载服务器列表,只有添加一个可用的下载服务器,才能正常使用小程序里的各项功能。

+

下载服务器是什么

下载服务器其实是指可以远程访问的 BT 客户端,QB/TR/DE 都提供了远程访问的能力,这些客户端可以安装在家里的 NAS 里,也可以安装在你购买的某个服务器里。只要确保这些客户端外网可以访问,那么就可以添加到小程序的下载服务器列表,然后就可以对客户端内的种子文件进行各种操作了。

+

+

添加下载服务器需添加服务器对应的域名或 IP 以及端口号,如果设置有账号或者密码还需输入对应的账号密码。三个客户端里,Deluge 只需输入登录密码即可,而 qBittorrent 的账户和密码是必填的。输入完毕后,点击测试服务器,如果服务器可以正常连接的话,就可以添加到自己的下载服务器列表了。

+

我该如何添加一个下载?

添加完服务器后可以到服务器的种子列表页,也就是 TransClient 的首页,点击页面右下角的添加按钮,然后就可以添加下载了。

+

添加种子的方式有两种,一种是种子链接,另一种是种子文件。由于微信小程序的限制,只能从微信对话中选择文件,无法从手机的文件系统直接选择。添加完种子后还可以进行下载上传限速等操作,目前只有 Transmmison 是没办法在添加种子的同时进行限速的。

+

+

接下来送上自问自答的 QA 环节。

+

为什么小程序的功能比桌面客户端少了很多

以前会经常吐槽产品经理业务设计繁重交互复杂,在我自己尝试做一个原型图的时候才发现这个工作有多么难做,我面临最头疼的问题就是我想要的功能页面上放不下…

+

手机上屏幕空间有限,页面承载的功能不能太复杂,在没有产生灵光一现的产品思路前,我只能先把一些必要的功能保留。待后续把逻辑整理一番后,会增加一些常用的操作,比如种子列表排序、更新种子 Tracker 等功能。

+

+

为什么我下载服务器里明明有种子,但是种子列表里看不到

TransClient 默认展示活动中的种子,持续更新种子的状态和下载上传速度。如果想要查看所有的种子,可以点击页面底部的过滤按钮进行切换。

+

+

为什么我的 Deluge 在服务器列表里看不到统计数据

由于 Deluge API 的限制,需要在设置->Plugins 里将 WebUi 一项勾选上。

+

+

使用 TransClient 安全么?会不会泄漏我的账号密码?

在添加服务器之后,会把下载服务器的信息进行 AES 加密,数据库里不会保存任何跟自己服务器有关的明文信息,除了服务器别名和是否为默认服务器这两个参数。同时,TransClient 使用的小程序的云开发,服务器信息也不会暴露在外部的接口请求中。即便有人拿到了加密后的服务器信息,没有密钥他也是没办法解开的。

+

遇到 bug 或者想要某项功能应该如何反馈

可以点击个人主页的「联系作者」按钮,向我反馈相关问题。如果遇到 bug,建议通过「意见反馈」跟我沟通。

+

后续有什么规划

会支持更多的客户端,比如 μTorrent、rTorrent;增加更多操作以及种子信息的展示,敬请期待吧。

+

+
\ No newline at end of file diff --git "a/\350\256\260\344\270\200\346\254\241\345\244\232\344\270\252\347\253\231\347\202\271\350\264\246\345\217\267\350\242\253\347\233\227\347\232\204\347\273\217\345\216\206/index.html" "b/\350\256\260\344\270\200\346\254\241\345\244\232\344\270\252\347\253\231\347\202\271\350\264\246\345\217\267\350\242\253\347\233\227\347\232\204\347\273\217\345\216\206/index.html" new file mode 100644 index 00000000..99c04efc --- /dev/null +++ "b/\350\256\260\344\270\200\346\254\241\345\244\232\344\270\252\347\253\231\347\202\271\350\264\246\345\217\267\350\242\253\347\233\227\347\232\204\347\273\217\345\216\206/index.html" @@ -0,0 +1,28 @@ +记一次多个站点账号被盗的经历 +

记一次多个站点账号被盗的经历

一个月前的某一天,登陆一个国外 PT 站的时候提醒我密码错误,因为我一直用的 1password 做密码管理,尝试了几次后,想通过找回密码也未果–站点无此账户。

+

这个时候有点慌了,难道被网站 ban 号了?

+

最近也没干啥违规的事,只是用它下了几集美剧。

+

然后我去找站点管理,管理说我是不是有些对外开放的服务没有加密码,我的 API KEY 被一个美国的 IP 正在使用。

+

这个时候我才意识到可能是我的 Sonarr 出问题了。之前为了图方便,一直觉得上密码没必要。 Sonarr 连接的 Jackett 也没做端口转发,侥幸的以为会没啥问题。

+

盗号的人应该是我在下载的时候知道了我的 IP,进而发现了我 Sonarr 的端口。至于怎么根据 Sonarr 里填写的 Indexer 信息改了我的密码甚至邮箱,我到现在也没搞明白。离谱的是一起丢了的两个站都是随机密码,也没添加到 Sonarr 和 Jackett 里,居然也被盗了。

+

痛定思痛,决定给所有的内网服务都加上强密码。先检查了一遍 Chrome 保存的弱密码,都改成强密码并转移到 1password 里统一管理,然后清空 Chrome 里保存的所有密码。然后关闭所有转发出去的端口,只留一个用于反代。同时通过脚本自动申请免费的 SSL 证书,这样可以通过不同二级域名访问不同的服务,端口号只需要转发出去一个就够了。这样也方便了 1password 在填写密码的正确识别到当前网站对应的密码。

+

参考的教程地址: NAS 相关 篇七:群晖反向代理小保姆级使用教程 +

+

另外由于我的 Sonarr 里还添加了 Qbittorrent 的账号密码,以防万一我把我所有 PT 站的 passkey 又改了一遍。改的时候发现 flood 就自带了批量改种子 Tracker 的功能,很是方便。到这里我才算折腾完了。

+

总结

不要心存任何侥幸,除了不要使用相同密码或者弱密码外,还要注意不要随便做端口转发,做了转口转发的一定要加上强密码。否则在一些人眼里你就是在裸奔。

+
\ No newline at end of file diff --git "a/\350\277\275\351\232\217\347\231\275\346\227\245\346\242\246\346\203\263\345\256\266\347\232\204\350\204\232\346\255\245-\346\235\245\344\270\200\345\234\272\350\202\206\346\204\217\347\232\204\345\206\260\345\262\233\345\206\222\351\231\251/index.html" "b/\350\277\275\351\232\217\347\231\275\346\227\245\346\242\246\346\203\263\345\256\266\347\232\204\350\204\232\346\255\245-\346\235\245\344\270\200\345\234\272\350\202\206\346\204\217\347\232\204\345\206\260\345\262\233\345\206\222\351\231\251/index.html" new file mode 100644 index 00000000..5a8b0a85 --- /dev/null +++ "b/\350\277\275\351\232\217\347\231\275\346\227\245\346\242\246\346\203\263\345\256\266\347\232\204\350\204\232\346\255\245-\346\235\245\344\270\200\345\234\272\350\202\206\346\204\217\347\232\204\345\206\260\345\262\233\345\206\222\351\231\251/index.html" @@ -0,0 +1,91 @@ +追随《白日梦想家》的脚步,来一场肆意的冰岛冒险 +

追随《白日梦想家》的脚步,来一场肆意的冰岛冒险

feature-img

在电影《白日梦想家》中,主角 Walter Mitty 是一名在《生活》杂志工作了 16 年的胶片洗印经理,他没办法开口跟自己心仪的女同事表白,也没办法回击主管对他的奚落,但是他时常会放空自己做白日英雄梦。梦里的他座右铭是「爱冒险、勇敢、有创意」,他可以冲到即将爆炸的楼里把女同事的小狗救出来,并顺便为三条腿的小狗装上义肢,也可以跟自己的主管在街上大战三百回合。

+

但是,《生活》杂志面临被并购的窘况,杂志需要做最后一期封面,他却找不到封面的胶片,而这张胶片的关键是找到一个在世界各地到处冒险的摄影师。

+

于是他拿起行李箱,开始了一场比自己白日梦还要壮丽的冒险。

+

看完《白日梦想家》后,被电影中的绝美风景击中。踌躇了五年之后,从来没有出过国的我,也决定挣脱现实的束缚,追随 Walter Mitty 的脚步,去冰岛来一场肆意的冒险。

+

NUUK

Walter 穿越了大半个地球,降落在格陵兰岛一个只有两辆汽车的小机场 NUUK。

+

+

实际上这个是位于冰岛赫本附近的赫本机场。赫本是冰岛东部一个只有 2100 人的渔镇,虽然人少,但它已经算是东部第二大城镇。赫本三面环港,盛产龙虾,大部分国内和进口的龙虾都会在这里上岸,所以来到这里一定要吃一口龙虾。

+

去赫本的当天,刚刚在冰河湖结束行程,便驱车赶往预订的赫本附近的民宿,来的路上还看到了冰岛马。头上的一撮毛是他们的特色,他们很喜欢跟人亲近,会跑到你身边来不停地点头,很是可爱。

+

+

赫本机场在民宿和赫本小镇的中间,到了之后发现电影里的小红小蓝和出租汽车的小亭子已经没有了,机场里有几辆直升机正在维修。这个迷你的航站楼还跟电影中一摸一样,仿佛下一秒 Walter 会提着箱子从门口出来。

+

+

酒馆和直升机

Walter 在机场租了一辆小红之后,到了一家酒馆寻找摄影师。这里他看到了女同事为他献上了一首大卫・鲍伊的《Space Oddity》,Walter 跳上了一架醉酒大汉驾驶的直升机。

+

2018 年,马斯克将自己的特斯拉送入太空,车上循环播放的也是这首《Space Oddity》。

+

+

这个酒馆位于斯奈山半岛上的斯蒂斯基霍尔米。为了到这个不起眼的小镇,我们足足在路上开了 12 个小时的车。和其他小镇一样,这里安静又悠闲,在街上吹着海风,看着颜色各异的小房子,你会觉得这才是生活该有的样子。

+

这里的酒馆已经关闭,直升机停靠的地方是一个不小的港口,旁边有一个警局,我去问警察叔叔酒馆为什么会关闭,警察叔叔还邀请我一起喝咖啡。原来这个酒馆本来也不存在,当时是为了拍这部电影专门搭建的。我透过窗户往酒馆里看了几眼,里面已不再是酒吧的样子。

+

+

+

小房子、自行车和大桥

Walter 乘直升机跳入大海,跟鲨鱼进行了一番搏斗,被渔船救起。但是依然没有找到摄影师,渔船带他在冰岛靠岸,他抢到了唯一的一辆自行车,奔向了下一个目的地。

+

+

在骑自行车的路上,经过了很多美景,我找到了其中的三个。

+

红色小房子位于斯蒂斯基霍尔米到格伦达菲厄泽的路上,经过它的时候已经是晚上十一点钟,夜色还没降临。小房子的坐标是 64.959204, -23.065281。

+

+

而这张照片是在赫本镇出发继续往北走的路上拍到的,经纬度是 64.289402, -15.080161,拍摄那天的天气也跟电影里一样好。

+

而电影里一闪而过的大桥的经纬度是 63.931187, -20.649490,从塞尔福斯出发沿一号公路驾驶 18 公里就能赶到,冰岛有名的黄金圈以及火口湖就在塞尔福斯附近。大桥旁边是一个私人农场,很多牛羊在里面悠闲地散步、吃草。

+

+

+

滑板和旅馆

Walter 遇到了一家人正在往车里收拾行李准备搬走,他从几个小孩手里换到了一个滑板,因为女同事的儿子也很喜欢滑板。他遇到一段连续下坡的山路,滑板派上了用场。

+

+

这一段盘山公路的终点是冰岛东部的又一个海港小镇塞济斯菲厄泽,一路上有雪山有瀑布,如果能从这里踩着滑板一路滑下来简直太爽了。实际上也就在电影中可以体验到,这条路上有来来往往的车辆,开车需要特别小心。

+

Walter 踩着滑板经过了一个小瀑布。现在这个瀑布旁边还专门开辟了一块空地用来停车,很是贴心。这个瀑布位于 65.236875, -14.108174。

+

下来的时候还是阳光明媚,返程的时候这里已经起了大雾,飘起了小雪。

+

+

Walter 滑到了山脚,到达了小镇的一个旅馆,现如今这个旅馆刷上了新颜色,现在是一家餐馆。点菜的时候跟店员展示了《白日梦想家》的截图,店员会心一笑,跟我说这里已经改变了很多。

+

+

这个小镇就像一个世外桃源,四周的山上在六月依旧白雪皑皑,远处的云跟山上的雪融在一起,映在小镇中心的湖里。

+

真想永远呆在这里。

+

+

+

手机短信

Walter 在这里经历了一场火山喷发,又错过了站在直升机上近距离拍摄火山的摄影师。而这个时候,他的同事给他来了短信,主管需要他尽早回去。

+

+

这个地点位于冰岛另一个小镇博尔加内斯,到首都雷克亚未克需要一个小时车程。上图这个地点位于 64.533599, -21.932128。

+

一艘小船一艘小船

+

雪豹

这一次 Walter 重新出发,去到了喜马拉雅。因为他得知他要找的摄影师正在山上拍摄雪豹。他翻山越岭,历经艰险见到了摄影师,终于知道了杂志的封面底片的去处,而此时此刻,摄影师也正好拍到了雪豹。

+

+

实际上这一段也是在冰岛拍摄的,并没有去到喜马拉雅。中途经过了一个瀑布,实际上是冰岛有名的斯科加瀑布。这条瀑布落差为 60 米,从前海岸线的陡峭岩石崖壁飞泻直下,旁边有海鸟来回翻腾,很是壮观。

+

+

多说几句

电影中的摄影师发现雪豹后,并没有按下快门,他喃喃自语道:如果我个人喜欢一个时刻,我不喜欢相机让我分心,我只想沉浸在那个时刻,享受现在。

+

有部电视剧里也有说:今天之所以区别于昨天,是因为昨天的感受依然留在我们心中。

+

这次出去,虽然很多时候都听不懂对方的语言,但我还是尽量地跟当地人多一些交流,而不是简单地打卡拍照走人,感受和了解当地的文化带给我的意义和简单的走马观光完全不一样。

+

最后以 Walter 所在的《生活》杂志的 Slogan 做结尾,希望你我都能感受到生活的意义。

+
+

TO SEE THE WORLD, THINGS DANGEROUS TO COME TO, TO SEE BEHIND WALLS, TO DRAW CLOSER, TO FIND EACH OTHER AND TO FEEL. THAT IS THE PURPOSE OF LIFE

+
+
\ No newline at end of file