惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Heimdal Security Blog
P
Privacy International News Feed
S
Schneier on Security
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
P
Privacy & Cybersecurity Law Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Scott Helme
Scott Helme
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
aimingoo的专栏
aimingoo的专栏
Simon Willison's Weblog
Simon Willison's Weblog
S
Securelist
Help Net Security
Help Net Security
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Security Archives - TechRepublic
Security Archives - TechRepublic
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
N
News and Events Feed by Topic
Hacker News: Ask HN
Hacker News: Ask HN
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
雷峰网
雷峰网
博客园 - 司徒正美
V
V2EX
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
N
News | PayPal Newsroom
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
U
Unit 42
C
Cybersecurity and Infrastructure Security Agency CISA
P
Palo Alto Networks Blog
G
Google Developers Blog
T
Threat Research - Cisco Blogs
博客园 - Franky
I
InfoQ
D
DataBreaches.Net
爱范儿
爱范儿
Y
Y Combinator Blog
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

积薪 - 文章

用Cloudflare Durable Objects实现延迟部署 我可能破解了日式拉面的密码 关于本站最近的更新 谣言盛行的时代,你该如何进行信息核查? 近一年来社交网络使用习惯和信息获取方式的一些改变 终于有日本驾照了 台湾观察 我目前使用的AI服务 给博客加了一个搜索功能 你爱的是哪个国? 土地财政的深远影响 我们正在目睹中国文明的孤岛化 原积薪项目将于近日下线 记一次微信群吵架 终于生活在一个气候舒适的地方了 压垮我的最后一根稻草 不要指望银发经济 为什么是日本 日本首月记录 30岁,我做了个重大决定 什么才是规矩的博客 积薪24年1月更新 尝试留住时间的中年人 ADV换踏板,我不想要远方了 现在房价进行到哪一步了? 回老家远程一周,阳了 连肝两周,积薪8月大更新 一本典型的中式社科书 不太浪漫的田园生活
本站已进化到第三代
李大毛 · 2024-08-05 · via 积薪 - 文章

第一版:上线大吉!全新个站《可可托海没有海》正式发布

第二版:可可托海没有海2.0上线

在上一版使用Next开发的第二版开发完成的时候我就说过,接下来我要用更多的技术栈开发一个更复杂更符合我需求的第三版。经过一年断断续续的开发,实际连续开发时间大概是三四个月,第三版终于正式面世了。

既然要重新开发,必然是对现有的有不满。

对于第二版的CMS,Strapi虽然支持多语言内容,但在某些细节上不能让我满意,比如我希望不同语言的内容保持同样的slug,但相同语言内不得重复,这一点Strapi就做不到。

另外我也需要一个更好的方式存储大量摄影作品,并且在数据库内就存储图片的EXIF。在第二版里我是写了一个接口来在线读取,但我更希望EXIF信息在图片上传的时候就能存入数据库。

于是从那时起我就决定要重新开发。

最开始的时候,我是打算开发一个后端作为API的。到2023年年底,这个后端的功能大部分已经开发完成。具备了将图片转化为各个尺寸和各个格式,并提取EXIF信息的功能。

到了2023年年底,我开始重新思考当时架构的设计:服务端、CMS、前端,三个端是不是太复杂了,可不可以简化?

于是我决定取消Node开发的后端,由CMS直接操作数据库。从年初开始,断断续续将Svelte写的CMS即内容管理后台写完,剩下的工作就比较简单了,用Remix写了你现在看到的这个网站。

架构

整个网站可以分成四个部分:数据库、CMS、边缘函数和博客网站。

数据库使用了Supabase,充分利用了RLS和Postgres的各类插件。另外用户注册登录以及认证使用了Supabase Auth。

CMS使用SvelteKit开发,部署在Cloudflare上。负责对各类内容的编辑,数据的查看和修改,配置的设置等。

文章编辑页面
文章列表页
图片页

你现在正在浏览的网站使用Remix开发,同样部署在Cloudflare上。在选型的时候,因为太久没写React,就决定在React里选。但在尝试了最新版Next之后,我还是对其在非Vercel平台部署的体验感到不爽。于是选了Remix。将来我应该会写一写Remix的开发经验分享。

还有一部分就是Workers。用于调用AI接口、处理图片的上传和EXIF提取等。

特点

各端分离。数据库、CMS、博客都是独立的,将来重构任何一部分都会比较容易。

原生支持对象存储。因为有大量摄影图需要存储以及CDN加速,所以一开始我就决定媒体文件只支持S3存储。

多语言。新版博客希望能吸引来自全世界的访客。实际上前一版就有一些外国人来评论了。在新版里做的更好一些。

AI集成。目前根据标题生成slug、生成图片描述、生成概述和标签已经由AI完成。后续可能有更多应用。

未来计划

目前这个网站的架构和形态都是接近我满意的状态,剩下的事就是修修补补了。

  1. 增加更多的登录方式,包括邮件一键登录;

  2. 未登录评论;

  3. 用户间评论提醒;

  4. 优化代码。

如果你对本站有任何评价和建议,欢迎在评论区提出。

李大毛

2024年8月15日周四 08:58

回复 Maple: 很喜欢您博客的设计 尤其是摄影栏目中每张照片都配有故事和位置的设计 我也想做一个类似的 囿于个人水平精力有限 目前想以静态站为主 cloudflare page+一个框架 若博主可以给些推荐指导就在感谢不过了...

不想显示昵称的人

2024年8月14日周三 15:28

Gao Tianchi

2024年8月11日周日 09:03

李大毛

2024年8月8日周四 04:52

回复 1900: 我之前也打算体验一下SvelteKit CMS,你的感想如何? 当时打算把博客文章用Submodule引用到本地,放在Obsidian里,...