Skip to content

Commit

Permalink
Added daily article
Browse files Browse the repository at this point in the history
  • Loading branch information
TinySnow committed Oct 22, 2024
1 parent 937e60e commit 84751d9
Show file tree
Hide file tree
Showing 6 changed files with 1,850 additions and 1,489 deletions.
2 changes: 2 additions & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
- [杂记 | Sundry](杂记.md)
-----
- [每日一文 | Daily Article](每日一文/每日一文.md)
- [香蕉的尸斑 - 李碧华](每日一文/香蕉的尸斑%20-%20李碧华.md)
- [可以换吗?- 亦舒](每日一文/可以换吗?-%20亦舒.md)
- [女人为什么不宜搞哲学 - 周国平](每日一文/女人为什么不宜搞哲学%20-%20周国平.md)
- [猫婆 - 冯骥才](每日一文/猫婆%20-%20冯骥才.md)
Expand Down Expand Up @@ -649,6 +650,7 @@
- [Windows自定义自启动任务](技术/实践记录/Windows自定义自启动任务.md)
- [Git仓库瘦身](技术/实践记录/Git仓库瘦身.md)
- [博客历史演进](技术/实践记录/博客历史演进.md)
- [Telegram机器人的手机部署](技术/实践记录/Telegram机器人的手机部署.md)
- [其他资料 | Other Docs](技术/其他资料/其他资料.md)
- [Git 学习笔记](技术/其他资料/Git%20学习笔记.md)
- [Bash 代表命令](技术/其他资料/Bash%20代表命令.md)
Expand Down
318 changes: 230 additions & 88 deletions src/last-updated.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,121 +12,263 @@
- [杂记 | Sundry](杂记.md)
-----
- [每日一文 | Daily Article](每日一文/每日一文.md)
+ - [可以换吗?- 亦舒](每日一文/可以换吗?-%20亦舒.md)
+ - [香蕉的尸斑 - 李碧华](每日一文/香蕉的尸斑%20-%20李碧华.md)
- [可以换吗?- 亦舒](每日一文/可以换吗?-%20亦舒.md)
- [女人为什么不宜搞哲学 - 周国平](每日一文/女人为什么不宜搞哲学%20-%20周国平.md)
- [猫婆 - 冯骥才](每日一文/猫婆%20-%20冯骥才.md)
- [孤独 - 大卫 · 索罗](每日一文/孤独%20-%20大卫%20·%20索罗.md)
```

## sitemap.txt

```diff

@@ -175,6 +175,7 @@ https://tinysnow.github.io/每日一文/天堂之门 - 马克
https://tinysnow.github.io/每日一文/天堂的颜色 - 邵亚
https://tinysnow.github.io/每日一文/夫妻间的隐私 - 周国平
https://tinysnow.github.io/每日一文/头发 - 梁实秋
+https://tinysnow.github.io/每日一文/女人为什么不宜搞哲学 - 周国平
https://tinysnow.github.io/每日一文/女人的星球 - 高铭
https://tinysnow.github.io/每日一文/女人的猫性 - 佚名
https://tinysnow.github.io/每日一文/女朋友 - 亦舒
@@ -649,6 +650,7 @@
- [Windows自定义自启动任务](技术/实践记录/Windows自定义自启动任务.md)
- [Git仓库瘦身](技术/实践记录/Git仓库瘦身.md)
- [博客历史演进](技术/实践记录/博客历史演进.md)
+ - [Telegram机器人的手机部署](技术/实践记录/Telegram机器人的手机部署.md)
- [其他资料 | Other Docs](技术/其他资料/其他资料.md)
- [Git 学习笔记](技术/其他资料/Git%20学习笔记.md)
- [Bash 代表命令](技术/其他资料/Bash%20代表命令.md)
```

## 年度计划.md

```diff

@@ -11,13 +11,13 @@
- [x] 两个(2024.1.7)
- [x] 三个(2024.1.8)
- [ ] 《黑神话:悟空》通关
-- [ ] 【延续自 2023】Rust 的 Spring Boot 代码生成器 基础功能
- - [ ] 读取 JSON 配置文件
- - [ ] 根据 Test.hbs 文件生成 Test.java 文件
- - [ ] 连接 MySQL 数据库
- - [ ] 读取数据库表反向生成 java 文件
- - [ ] 自定义输出文件夹
- - [ ] 自定义输出层级目录
+- [ ] ~~【延续自 2023】Rust 的 Spring Boot 代码生成器 基础功能~~
+ - [ ] ~~读取 JSON 配置文件~~
+ - [ ] ~~根据 Test.hbs 文件生成 Test.java 文件~~
+ - [ ] ~~连接 MySQL 数据库~~
+ - [ ] ~~读取数据库表反向生成 java 文件~~
+ - [ ] ~~自定义输出文件夹~~
+ - [ ] ~~自定义输出层级目录~~
- [x] 跑步 100 公里(2024.3.26)
- [x] 存到能买起 99 新 E 18-135mm f3.5-5.6 OSS 镜头的钱(2024.4.19)
- [ ] 87 个 Hiphop 元素基础动作(非进阶叠加)
```

## 第五章:乘法与除法.md
## sitemap.txt

```diff

@@ -7,6 +7,11 @@
- 第三章:利用电能和布尔代数,造出了一个加法器。
- 第四章:引入有符号数,介绍原码、反码和补码,使计算机可以表示负数和运算减法。

+## TL;DR
+
+- 乘法可以看作是反复加法:预算限制高时,可以通过反复加法解决;预算充足时,可以结合 Booth 算法造出乘法模块。
+- 除法可以看作是反复减法,每减一次记一次数,直到减至最后一位并溢出停止;除法也可以使用长除法,实现是位移除法,向左移位并相减。同样,具体使用哪种方法取决于成本。
+
## 正文

### 乘法
@@ -137,6 +137,7 @@ https://tinysnow.github.io/每日一文/发出声音永远是有用的 - 席慕
https://tinysnow.github.io/每日一文/发明 - 于尔克 · 舒比格
https://tinysnow.github.io/每日一文/发民主财 - 韩少功
https://tinysnow.github.io/每日一文/变成虫子的人 - 黄惊涛
+https://tinysnow.github.io/每日一文/可以换吗?- 亦舒
https://tinysnow.github.io/每日一文/台阶 - 李森祥
https://tinysnow.github.io/每日一文/吃相 - 梁实秋
https://tinysnow.github.io/每日一文/吃酒 - 丰子恺
```

## 第四章:负数与减法.md
## Telegram机器人的手机部署.md

```diff

@@ -8,7 +8,9 @@

## TL;DR

--
+- 规定二进制数最高位为符号位,1 为负数,0 为正数,可以得到原码。
+- 利用 `相反数相加等于零` 可以推导出补码。
+- 减去一个数,等于加上这个数的相反数,根据此定理可以诱骗加法器做减法,得到减法器。

## 正文


@@ -30,7 +32,7 @@

- `0001` 表示 `1`,`1001` 表示 `-1`,`0111` 表示 `7`,`1111` 表示 `-7`

-  <u>需要说明的是,这里不一定需要抽出最高位,抽哪一位都可以,抽出最高位只是一种约定俗称的惯例。而且抽出最高位,在后续的电路设计中方便一点。</u>
+  <u>需要说明的是,这里不一定需要抽出最高位,抽哪一位都可以,抽出最高位只是一种约定俗成的惯例。而且抽出最高位,在后续的电路设计中方便一点。</u>

  这种只带符号位的二进制码,叫做 **原码**。

@@ -0,0 +1,193 @@
+# Telegram机器人的手机部署
+
+## 目的
+
+- 一直有读 epub 电子书的习惯,摘录段落复制下来段落很难看,把自己写的排版器的逻辑复制下来,写成了一个排版机器人
+- 所有发给机器人的文字,都会经过排版,后转发到读书频道
+
+## 前提
+
+- 本来最好方法是直接把机器人架在服务器上
+ - 没钱,之前就折中放在自己笔记本电脑上开机运行
+ - 开机运行还不起作用,所以都是自己手动启动
+ - 此电脑 -> 管理 -> 计算机管理 -> 系统工具 -> 任务计划程序
+ - 放置脚本在 `C:\Users\<You>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup` 目录下
+ - 放置脚本在 `C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp` 目录下
+ - 都不起作用……
+- 随身 Wifi 限速,连接 Telegram 需要科学上网,导致直接连不上
+ - 行里不准拉宽带,说是被黑客黑过,于是总行禁止了全国的 WLAN 设备
+- 想到了部署在手机上
+
+## 需求
+
+- 机器人手机部署,能随时开启和关闭
+
+## 工具
+
+- 一台 Root 过的手机(Root 很重要,否则读取不了文件)
+- Termux 应用程序(代理软件需要放行 Termux,否则下不了软件包)
+- 写好的 Telegram Bot 程序代码(编译后版本,否则还要自己编译一遍)
+- 科学上网软件(黑名单模式)
+
+## 步骤
+
+1. 拷贝 Telegram Bot 程序代码到 Termux 用户主目录任意文件夹下
+
+2. 准备运行环境
+
+ - 本 Bot 使用 Grammy 框架,一个使用 JavaScript 写成的框架,所以需要下载 Node
+
+ - ```shell
+ # termux 也使用 apt
+ apt install node
+ npm install grammy
+ ```
+
+ - npm 下载有些慢,需要 Termux 也通过代理
+
+3. 开启调试环境(可选)
+
+ - Grammy 设置一个环境变量即可看到 bot 的运行情况
+
+ - ```shell
+ export DEBUG="grammy*"
+ ```
+
+4. 设置终端通过代理,否则 bot 发送的请求无法到达 Telegram 服务器
+
+ - ```shell
+ export http_proxy=<proxy-address>:<port>
+ export https_proxy=<proxy-address>:<port>
+ ```
+
+5. 运行即可
+
+ - ```shell
+ sudo -E node main.js
+ ```
+
+ - 一定要使用 `sudo`,否则 Android 系统禁止 Termux 自带的用户读取 `/data/data/com.termux/files/home` 下的文件
+
+ - `-E` 携带当前的环境变量直接进入 sudo 的 root 环境,否则 node 使用 root 权限运行还是没有调试的环境变量,也就看不到调试信息,而且也不能通过代理
+
+## 备注
+
+1. **代理软件一定要是黑名单模式**
+ - 黑名单模式默认其他程序为白名单,通过
+ - 通过 Termux 程序启动的进程,是从 Android 系统 fork 出来的子进程,而该子进程因为不是手机里的 apk,没有包名,所以使用系统的代理
+ - 如果代理软件使用白名单模式,相当于同时禁止了系统的代理权限,所以 Bot 一定连不上 Telegram 的 API
+2. 一定要设置终端的代理,并让程序启动时携带当前的环境变量:`sudo -E`
+ - 最主要还是让终端启动的进程能够通过代理
+3. 如果还需要运行其他程序,可以在 tmux 或者 screen 等终端复用软件上运行
+
+## 附录
+
+### 简易启动脚本
+
+```shell
+# 设置 shell 脚本安全性
+set -Eexuo pipefail
+# 开启调试环境
+export DEBUG="grammy*"
+# 设置终端代理,需要更改为自己的代理地址和端口
+export http_proxy=<proxy-address>:<port>
+export https_proxy=<proxy-address>:<port>
+# 运行程序,需要更改为自己的路径
+sudo -E node main.js
+```
+
+### 启动 Log
+
+```shell
+~ $ ./run-bot.sh
+allexport off
+braceexpand on
+emacs off
+errexit on
+errtrace on
+functrace off
+hashall on
+histexpand off
+history off
+ignoreeof off
+interactive-comments on
+keyword off
+monitor off
+noclobber off
+noexec off
+noglob off
+nolog off
+notify off
+nounset on
+onecmd off
+physical off
+pipefail off
+posix off
+privileged off
+verbose off
+vi off
+xtrace on
+++ export 'DEBUG=grammy*'
+++ DEBUG='grammy*'
+++ export http_proxy=<proxy-address>:<port>
+++ http_proxy=<proxy-address>:<port>
+++ export https_proxy=<proxy-address>:<port>
+++ https_proxy=<proxy-address>:<port>
+++ sudo -E node /data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/main.js
+ grammy:bot Initializing bot +0ms
+ grammy:core Calling getMe +0ms
+ grammy:core Calling deleteWebhook +33ms
+(node:30291) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
+(Use node --trace-deprecation ... to show where the warning was created)
+ grammy:bot I am TinySnowRebornBot! +3s
+ grammy:bot Starting simple long polling +0ms
+ grammy:core Calling getUpdates +3s
+ grammy:core Calling getUpdates +31s
+ grammy:core Calling getUpdates +30s
+ grammy:bot Processing update 124801012 +15m
+ grammy:core Calling sendMessage +24s
+ grammy:core Calling getUpdates +1ms
+ grammy:core Calling getUpdates +30s
+ grammy:bot Processing update 124801013 +2m
+ grammy:core Calling sendMessage +7s
+ grammy:core Calling getUpdates +0ms
+ grammy:core Calling getUpdates +32s
+ grammy:core Calling getUpdates +30s
+ grammy:bot Processing update 124801014 +1m
+ grammy:core Calling sendMessage +27s
+ grammy:core Calling getUpdates +3ms
+ grammy:bot Processing update 124801015 +28s
+ grammy:core Calling sendMessage +28s
+ grammy:core Calling getUpdates +2ms
+ grammy:core Calling getUpdates +31s
+ grammy:core Calling getUpdates +31s
+ grammy:error HttpError: Network request for 'getUpdates' failed!
+ grammy:error at /data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/node_modules/grammy/out/core/error.js:85:15
+ grammy:error at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
+ grammy:error at async ApiClient.call (/data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/node_modules/grammy/out/core/client.js:54:29)
+ grammy:error at async ApiClient.callApi (/data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/node_modules/grammy/out/core/client.js:86:22)
+grammy:error at async Bot.fetchUpdates (/data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/node_modules/grammy/out/bot.js:400:27)
+ grammy:error at async Bot.loop (/data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/node_modules/grammy/out/bot.js:375:29)
+ grammy:error at async Bot.start (/data/data/com.termux/files/home/ChinesePassagesTypesetBotForTelegram/node_modules/grammy/out/bot.js:314:9) +0ms
+ grammy:error Call to getUpdates failed, retrying in 3 seconds ... +2ms
+ grammy:core Calling getUpdates +16s
+ grammy:core Calling getUpdates +31s
+ grammy:core Calling getUpdates +30s
+ grammy:core Calling getUpdates +30s
+ grammy:core Calling getUpdates +30s
+ grammy:bot Processing update 124801016 +6m
+ grammy:core Calling sendMessage +22s
+ grammy:core Calling getUpdates +3ms
+ grammy:core Calling getUpdates +32s
+ grammy:core Calling getUpdates +30s
+ grammy:core Calling getUpdates +30s
+ grammy:core Calling getUpdates +31s
+ grammy:core Calling getUpdates +30s
+ grammy:core Calling getUpdates +30s
+ grammy:core Calling getUpdates +31s
+ grammy:core Calling getUpdates +31s
+ grammy:bot Processing update 124801017 +5m
+```
+
+- 只要没有 Error 就可以,Log 中的 Error 是因为当时网络断了
+- 如果在 `grammy:core Calling deleteWebhook` 这一步停留了太长时间,说明没有连接上 API 服务器
\ No newline at end of file
```

## 可以换吗?- 亦舒.md
## 香蕉的尸斑 - 李碧华.md

```diff
new file mode 100644
index 0000000..35208e5
--- /dev/null
+++ b/src/每日一文/香蕉的尸斑 - 李碧华.md

@@ -0,0 +1,19 @@
+# 可以换吗?
+# 香蕉的尸斑
+
+*亦舒*
+*李碧华*
+
+  生育医生诊所里坐满渴望怀孕的太太,有一位流泪说:“真不明白怎么会有人堕胎”。可以换就好了,你不要的给我,皆大欢喜
+  新鲜运到的香蕉,像只巨梳,颜色亮黄,肉体坚实,其实最不好吃,因为不够香,而且有点涩
+
+  还有,珠圆玉润的一群正愁身上脂肪请之不走,看见厌食症人士住院增肥,也忍不住大叫一声:换给你,换给你
+  “有'雀斑'的香蕉才好吃呢!”这是会家子选择
+
+  成了名的演员歌星遇着记者喊打喊杀,厌恶到绝顶,正往上爬的艺人黯然神伤:换给我就好了,来缠住我吧
+  这样说有点俏皮,但较正确,或较恐怖的说法: ——那些出现在香蕉身上的,应该是“尸斑”
+
+  有些写作人爱出锋头不爱写,有些情愿写不喜亮相,两者均叫出版社头痛,不如这样:彼此交换一些剩余物资,两全其美
+  专家告诉我们,人死后,身体机能停止运作,血管会渐爆裂,血水渗出皮肤,形成褐色斑点。死去时间越长,尸斑出得越多。但肌肉受压的部份,不会呈现尸斑,如仰卧而死,斑点便在身前;俯伏,则在背后。验尸官据此可以推断尸体的死因,死亡时间,和曾否被人移动过,协助破案
+
+  “给我就好了”,我们时时无比艳羡、向往别人过剩而自身缺乏的东西。幼时,是物质:一只有趣玩具,一件漂亮衣裳……后来,是名利、友谊、爱情
+  说回水果吧
+
+  各人命运不同,故此友人间时时开这玩笑:“你不要他?早些通知我,我换双球鞋去追他。”或是,“你扔他时知会一声,我到窗下站着等接住。”
+  每一个水果,脱离了枝干,初期仍是顽强支撑着,如搭架子,但它们已经一天一天步向腐烂了。人们买下水果,嫌生,搁在一旁暂且不吃,为了等待它们“成熟”。在变坏之前一刻,水果迸发生命的余晖,那个时候最熟,最甜,最香,肉有点软,斑点微现,又未走下坡。我们吃水果,实在是吃它们最后的灿烂,也是一不归路。
+
+  可以换吗,你不珍惜的乃系我梦寐以求,你的终身盼望却为我唾弃
+  香蕉,木瓜,蜜瓜,菠萝,西柚,李子,啤梨,桃子……,都适合购买后一两天吃,不要太急。牛油果也是,不过它不比香蕉,雀斑会光明正大地显示,它脸色比较深沉,看不出端倪
+
+  可以换就好了
+  各位,希望不影响你们吃香蕉的心情。 ——但现实是这样的悲哀
\ No newline at end of file
```
1 change: 1 addition & 0 deletions src/sitemap.txt
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ https://tinysnow.github.io/每日一文/发出声音永远是有用的 - 席慕
https://tinysnow.github.io/每日一文/发明 - 于尔克 · 舒比格
https://tinysnow.github.io/每日一文/发民主财 - 韩少功
https://tinysnow.github.io/每日一文/变成虫子的人 - 黄惊涛
https://tinysnow.github.io/每日一文/可以换吗?- 亦舒
https://tinysnow.github.io/每日一文/台阶 - 李森祥
https://tinysnow.github.io/每日一文/吃相 - 梁实秋
https://tinysnow.github.io/每日一文/吃酒 - 丰子恺
Expand Down
Loading

0 comments on commit 84751d9

Please sign in to comment.