技术栈及推进
1. 技术栈
整体实现主要分为三个部分,即版本管理、前后端和部署相关技术。

1.1 版本管理系统(Version Control Systems)
版本管理主要实现跟踪和控制代码变更,便于保存和回退版本。同时结合线上仓库,可以满足跨设备随时随地下拉、编辑、上传代码。
选用开源的分布式版本管理Git。
Git语法参见博客:Git常用语法
Git线上服务器搭建参见博客:Git个人线上服务器搭建
1.2 web技术栈
主要分为前端(Fontend)、后端(Backend)和数据库(Database)。
注: 上图中将数据库管理也归到后端,同属于服务器端。
前端
作用是创建一些网站页面或界面,显示呈现给用户。具有较强设计、交互属性。主要用的技术包括但不限于:
- HTML(Hyper Text Markup Language): 全称超文本标记语言。通过一些标签来结构化信息,标记网页显示的内容及格式。如标记某一段文字为一级标题
<h1>这段文字为一级标题</h1>。 - CSS(Cascading Style Sheets): 全称层叠样式表。可以为网页内容或元素添加样式,丰富页面的表现形式。如控制元素位置、字体大小、颜色等。
- Javascript: 一种广泛应用于网页开发中的轻量级编程语言,可以为网页增加动态效果,增强网页交互性。如添加鼠标点击事件、信息验证等。
- HTML(Hyper Text Markup Language): 全称超文本标记语言。通过一些标签来结构化信息,标记网页显示的内容及格式。如标记某一段文字为一级标题
基于上述三者的衍生库:Bootstrap, Ajax, jQuery 等;成熟集成框架:React, Vue
后端
从前端页面接收数据或用户请求,在服务器端进行数据处理、业务逻辑处理或数据库交互等,并将结果再返回到前端。编程语言选用
Python,用于处理各项数据、业务、数据库交互的框架选用Django。
数据库
主要用于存储网页显示的内容数据,如博客文档、相册图片等。同时具备增、删、改、查等功能。选用关系型数据库管理系统
MySQL。
1.3 网站部署
主要涉及到网页访问的一些安全防控或加载优化技术。如处理高流量并发请求、缓存机制、黑白名单机制、分布式数据加载等。主要应用技术包括但不限于Nginx, uWSGI, CDN
注:个人网页可能对于处理高并发需求较低,但对安全性和加载速度有需求,可以明显提升网站访问舒适度。
2. 实施推进
涉及具体实践和问题解决。也即涉及后续博客内容。
部分已掌握技术,可能不再写blog。如 MySQL 学习、Markdown 学习等

2.1 服务器搭建
主要涉及本地和远程(线上)服务器搭建。更具体:
- 本地MySQL 服务器搭建:用于前期代码调试阶段的网页数据存储、交互
- 线上个人Git服务器搭建:用于代码的版本控制、跨设备编辑同步
2.2 网页页面设计
该部分与编程/技术无关,主要涉及页面呈现风格、排版的设计。牵扯到诸多个人想法、选择和思路。
对于理工生来说最纠结、最难的一部分。后续 markdown -> html 的 CSS 风格设计亦是。

2.3 语法学习
主要涉及web领域的相关技术学习。包括但不限于第一节中的技术栈中所罗列的所有技术。
2.4 问题解决
主要涉及在建站的过程中,遇到的一些实际问题。包含问题来源(背景)、问题解决思路和解决过程。
3. 后续改进
- 学习高并发问题解决
- 创建并使用自己的手写字体库(个性化、防侵权)
- PC端、Mobile端兼容性优化
- AI agent
❗ 此篇为前期规划,后续会随具体实现而随时优化改进。