<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>随意而安 - 公开日记</title><link>https://ljc416.cloud/public-diaries.html</link><description>公开日记 RSS Feed</description><language>zh-CN</language><item><title>🎮 第六篇：六个小游戏——从&quot;能用&quot;到&quot;好玩&quot;的跨越 😊</title><link>https://ljc416.cloud/public-diaries.html</link><description>📅 2026年7月26-27日 | 🤯 挫折指数：★★★☆☆ | 🎯 关键词：Canvas、游戏循环、动画帧、2048算法、状态管理

为什么要在网站里做游戏？
网站已经有了：用户系统、待办列表、日记、留言板、好友聊天。功能很全面——但缺少&quot;趣味性&quot;。用户登录后做完待办就不知道该干什么了。我想让网站有一个游戏中心，用户可以在上面消磨时间。一开始只想做贪吃蛇，后来贪心地加到了 6 个。每个游戏看起来简单，真正用纯 JavaScript 实现起来全是坑。

游戏一：🐍 贪吃蛇——Canvas 入门
贪吃蛇是我第一个用 Canvas 写的游戏。之前所有的界面都是 HTML + CSS，Canvas ...</description><author>oi</author><pubDate>2026-08-11 01:09:22</pubDate><guid isPermaLink="false">diary-0229bd02@ljc416.cloud</guid></item><item><title>🌐 第五篇：域名、HTTPS 与 ICP 备案——从&quot;IP地址&quot;到&quot;真正的网站&quot; 😊</title><link>https://ljc416.cloud/public-diaries.html</link><description>📅 2026年7月25-26日 | 😤 挫折指数：★★★★★ | 🎯 关键词：域名注册、SSL证书、HTTPS、ICP备案、Nginx反向代理

为什么 IP 地址不够？
前四篇日志里，我的网站一直是用 IP 地址访问的：

http://8.133.198.68

每次把链接发给朋友，他们都会问：&quot;这是啥？病毒吗？&quot;一串数字确实看起来可疑。而且没有 HTTPS，浏览器地址栏前面显示一个刺眼的&quot;不安全&quot;。一个正经网站，必须有域名和 HTTPS。 这本来应该是很简单的事——买个域名，绑个 SSL，搞定。对吧？错了。这成了我整个项目中最漫长、最折磨人、最想放弃的一个阶段。

崩溃 #15：域名买了...</description><author>oi</author><pubDate>2026-08-06 10:34:18</pubDate><guid isPermaLink="false">diary-56068a62@ljc416.cloud</guid></item><item><title>💬 第四篇：好友、聊天、文件上传——把网站变成&quot;社交平台&quot; 😊</title><link>https://ljc416.cloud/public-diaries.html</link><description>📅 2026年7月23-25日 | 😤 挫折指数：★★★★☆ | 🎯 关键词：好友系统、实时聊天、文件上传、拖拽上传

从&quot;工具&quot;到&quot;社区&quot;
有了用户系统后，网站可以注册登录了。但每个用户是孤立的——你看不到别人，别人也看不到你。这不像一个&quot;网站&quot;，更像一个私人记事本。我想让网站有社交属性——用户可以加好友、发消息聊天。这比写 API 更复杂，因为涉及到了关系型数据和实时交互。

崩溃 #12：好友请求的双向逻辑
好友系统看起来简单，实际需要考虑的状态太多了：

用户 A 向用户 B 发好友请求 →
  A 看到：已发送请求（等待对方通过）
  B 看到：收到好友请求（接受 / 拒绝）

用户...</description><author>oi</author><pubDate>2026-08-06 10:34:05</pubDate><guid isPermaLink="false">diary-e3c27ef8@ljc416.cloud</guid></item><item><title>🔧 第三篇：后端！数据库！JWT！——从&quot;玩具&quot;到&quot;真正的网站&quot; 😊</title><link>https://ljc416.cloud/public-diaries.html</link><description>📅 2026年7月21-23日 | 😰 挫折指数：★★★★★ | 🎯 关键词：Flask、SQLite、JWT认证、验证码、CORS

为什么必须有后端？
前两篇我说到，数据存在 localStorage 里——换台电脑就没了，别人也看不到。网站要真正&quot;能用&quot;，必须有一个后端服务来管理数据。我选了 Python + Flask，因为 Python 语法相对友好，Flask 又轻量。但这条路比我想象的难走太多了。

崩溃 #7：从零到&quot;Hello API&quot;
第一行 Flask 代码是这样的：

from flask import Flask
app = Flask(__name__)

@app...</description><author>oi</author><pubDate>2026-08-06 10:33:50</pubDate><guid isPermaLink="false">diary-a06d5527@ljc416.cloud</guid></item><item><title>🎨 第二篇：让网页&quot;动&quot;起来——JavaScript 入门的痛苦与顿悟 😊</title><link>https://ljc416.cloud/public-diaries.html</link><description>📅 2026年7月18-20日 | 🤯 挫折指数：★★★★☆ | 🎯 关键词：JavaScript、DOM操作、数据消失、localStorage

从静态到动态，一切都变了
第一篇日志里，我只是把 HTML 文件放到了服务器上。但那个网页是&quot;死的&quot;——你看到什么就是什么，点任何地方都没反应。我想做的网站不一样：要有导航栏、暗色模式切换、计数器、待办事项列表。这些都需要 JavaScript。

崩溃 #4：变量、函数、DOM——三门语言一起学
CSS 已经够让人头疼了（flex 和 grid 我到现在还是半懂半不懂），JavaScript 一上来又是另一套东西：

// 为什么有些用 con...</description><author>oi</author><pubDate>2026-07-28 01:00:02</pubDate><guid isPermaLink="false">diary-27c25b8c@ljc416.cloud</guid></item><item><title>🚀 第一篇：从零到阿里云——第一次部署网站的崩溃与狂喜 😊</title><link>https://ljc416.cloud/public-diaries.html</link><description>📅 2026年7月中旬 | 😤 挫折指数：★★★★★ | 🎯 关键词：阿里云ECS、Nginx、SSH、安全组

那天，我想做个网站
其实想法特别简单——我想要一个属于自己的网站。不是那种用 Wix 或者 WordPress 模板搭的，而是自己一行一行代码写出来的。我甚至没有域名，只有一个阿里云 ECS 服务器，系统是 Alibaba Cloud Linux。对，就是那种黑乎乎的终端界面，连个桌面都没有。

崩溃 #1：SSH 连不上服务器
我照着教程在 PowerShell 里敲下：

ssh root@我的IP

回车。然后……什么反应都没有。等了快一分钟，超时了。我以为是 IP 写错了，...</description><author>oi</author><pubDate>2026-07-27 17:39:40</pubDate><guid isPermaLink="false">diary-a6e7327e@ljc416.cloud</guid></item></channel></rss>