首页
Featured image of post 2025 Week 11

2025 Week 11

①近日状态;②优化博客访问速度

周记 | 2025年第11周(03-10~03-16)的见闻、体验与思考

近日状态

🌤️ 💨

“乍暖还寒"是春天的标准特征,暖空气和冷空气交替影响,气温时升时降,在南方尤为明显。这导致我周前几天还穿着短袖,一夜之间就得多加好几件衣服。

另外,人和人的体感真的不一样,我穿着短袖走在街上,走两步就热得出汗,但还能看到不少人穿着毛衣外套。

🍎 📶

一直计划着给父母买 iPhone,最近出的 iPhone 16e 感觉合适,打算等降价到 3500 就入手。不过,关于信号弱这个问题,我又开始纠结了。

虽然我自己常被人调侃"苹果用户特有的强自适应”,信号时不时只有一两格我倒是能接受,但给父母用的话还是不太放心。

💻 🐍

DeepSeek生成的内容用力过猛,我反馈的最多的一类就是“说人话”、“朴实一点”。

特别是当让DS帮我整理笔记时,发现它总是偷偷添加一些我不认识的花里胡哨的内容。我一边在提示词里疯狂加入各种限制条件,一边内心暗叫:

“你随便篡改我的歌词是画蛇添足,还看星星一颗两颗三颗四颗连成线,你以为你是贪吃蛇吗”
——来自《夏洛特烦恼》夏洛暴打周杰伦片段

🧋 🍓

蜜雪冰城的山楂莓莓甜到掉渣。

蜜桃四季春只有第一口是甜的。

🚇 🥤

地铁安检口,安检人员摸了一下我水杯杯口,然后向同伴确认:“热的,可以了”。

可是我的杯子是空的,今天也没装过热水。

一直没搞懂深圳地铁的水检是什么原理,以前还要放在机器上,现在直接摸一下就给过。我以为是个别安检糊弄了事,后来发现坐的每一站的安检都是这样。

我想是不是危险的液体都需要低温储存?所以摸着没有冰手的感觉就可以判断没有危险?

但是后来发现,只有空杯才是这个流程,装水的还是要检测。

所以摸空杯到底是什么操作?

💬 🛖

虽然日常在即刻发笔记、在微博上碎碎念和胡言乱语,但我还是对隐私问题有所顾虑。

于是周末把大部分数据迁移到了Memos 上——这个self-host服务不仅能满足大部分需求,还更加安全。

从此不再在这两个公共平台上输出了,算是在数字隐居的道路上迈出了一大步。

(不过Memos似乎没有好的数据导出方案)


优化博客访问速度

我的博客托管在 GitHub 上,GitHub Pages 的访问速度还是太慢了。图片经常加载半天,别人点进来被加载转圈半天给劝退,我自己看着也闹心。

这周终于抽出时间折腾了一下。找到了 3 个解决方案:

  1. 图片转WebP格式进行压缩;
  2. 用国内的云图床储存图片;
  3. CDN加速。

WebP格式图片压缩

最影响页面加载速度的就是图片,因此图片优化是关键。主要2点思路:优化文件大小和优化存储位置。

采用图片压缩可以有效提升访问速度。一个主流的压缩格式是WebP,WebP格式不仅兼容性好,还支持无损压缩,现在很多网站都选择使用WebP格式的图片。

所使用的:

  • 转换工具:Google的cwebp编辑器 ,可以将图片压缩转换为WebP格式。
  • 批量转换脚本:用DS写了一个自动转换图片并替换文本的Python脚本,放在与图片和文本相同或上级目录运行。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
   import os
   import subprocess
   import re
   
   # 转换图片文件为 WebP 格式
   def convert_to_webp(filepath):
       output_path = os.path.splitext(filepath)[0] + '.webp'
       try:
           subprocess.run(['cwebp', -lossless, filepath, '-o', output_path], check=True)
           print(f'Converted {filepath} to {output_path}')
       except subprocess.CalledProcessError as e:
           print(f'Failed to convert {filepath}: {e}')
   
   # 遍历文件夹并转换图片
   def convert_images_in_folder(folder):
       for root, dirs, files in os.walk(folder):
           for file in files:
               if file.lower().endswith(('.webp', '.webp')):
                   filepath = os.path.join(root, file)
                   convert_to_webp(filepath)
   
   # 替换指定文件中的图片扩展名
   def replace_extensions_in_markdown(filepath):
       try:
           with open(filepath, 'r', encoding='utf-8') as file:
               content = file.read()
           
           # 替换 "png" 和 "jpg" 为 "webp"
           content = content.replace('.webp', '.webp')
           content = content.replace('.webp', '.webp')
           
           with open(filepath, 'w', encoding='utf-8') as file:
               file.write(content)
           print(f'Replaced "png" and "jpg" with "webp" in {filepath}')
       except FileNotFoundError:
           print(f'The file {filepath} was not found.')
       except Exception as e:
           print(f'An error occurred: {e}')
   
   # 主函数
   def main():
       # 转换当前文件夹及其子文件夹中的图片
       convert_images_in_folder('.')
   
       # 遍历当前目录及其子目录,替换所有的 index.md 文件中的图片扩展名
       for root, dirs, files in os.walk('.'):
           for file in files:
               if file == 'index.md':
                   markdown_path = os.path.join(root, file)
                   replace_extensions_in_markdown(markdown_path)
   
   if __name__ == '__main__':
       main()
   

转换后肉眼看没有差别,应该达到了无损的效果:

LOGO.jpg (213KB)
LOGO.png (213KB)
LOGO.webp (213KB)
LOGO.webp (89.8KB)

国内云图床存储图片

图片存储在 GitHub 仓库里,访问速度太慢了,换成国内的云图床后,图片加载会更快一些。

工具:

  • 云图床:我选用的是阿里云OSS
  • 上传工具:PicGo
  • 文本编辑器:Typora ,最好用的 Markdown 编辑器,支持一键上传云图床。免费版虽有文档数量限制,但也可以使用,也可以找找收费前的免费版本。

参考教程:

CDN加速

直接访问 GitHub Pages 的速度太慢,可以使用CDN 来加速访问。

CDN(Content Delivery Network,内容分发网络)加速,我的理解是将远端服务器的数据放到放到更近的服务器缓存,这样用户访问时可以从最近的服务器获取数据,而不必从远程服务器读取。

用的是Cloudflare 的 CDN 加速服务,网上教程太多了,我这里就不放了。

效果测评

写完稿后发现访问速度仍时快时慢,可能是 CDN 配置的问题,我再调一调,之后再做评估。

Licensed under CC BY-NC-SA 4.0
最后更新于 2025-03-19, 18:30 CST
发表了33篇文章 · 总计51.04k字
使用 Hugo 构建
主题 StackJimmy 设计