readme 梳理代码结构 #45

This commit is contained in:
728
2023-12-14 10:14:19 +08:00
parent c2af1f5954
commit 84a47c7ce0

View File

@ -1,9 +1,14 @@
# 【从零开发】主义主义网站
## 代码结构 `ismism`
## [系列视频](https://space.bilibili.com/483417795/video)
编译环境 - 写的代码
运行环境 - 跑的代码
**每个视频对应的代码版本**
[https://gitlab.com/728/ismism/-/issues/45](https://gitlab.com/728/ismism/-/issues/45)
# 代码结构 `ismism`
开发环境 - 写的代码 `ismism.ts`
运行环境 - 跑的代码 `ismism`
编译环境 =>编译生成=> 运行环境 =>部署=> 运行(服务器端 + 浏览器端)
@ -58,9 +63,60 @@
- `start.zsh` 启动服务
* `*ui` 图形界面(运行环境)(浏览器端)
- `*index.html` 网页界面
* `*ssl` 域名证书和签名
* `mongod.service` `mongod.yaml` 数据库配置(服务器端)
* `nginx.conf` 端口配置(服务器端)
## [系列视频](https://space.bilibili.com/483417795/video)
## 开发环境
`deno` 开发工具
* `deno lsp` `deno lint` `deno check` 声明检查 类型检查 形式检查
- 就代码**本身**做检查 `verifying code as such`(静态检查)
- 不运行代码,没有输入数据,没有输出结果,只检查代码的形式(形式推理)
* `deno compile` `deno bundle` 编译打包
- 把带有类型声明的 `.ts` `typescript` 文件编译打包成没有类型声明,浏览器可直接运行的 `.js` `javascript`
- 在通过静态检查的前提下,把代码转化成直接可运行的状态
- 所有的类型声明,以及与运行状态无关的代码,都会被清除掉
- 代码的形式会被*扬弃*
* `deno eval` `deno test` `deno run` 运行代码 测试代码 执行功能
- 根据输入,**运行**程序,检查定义状态和内容(动态检查)
- 内容体现为运行**过程**中展开的数据**状态**
- **功能**体现为用户与程序的**交互**
- 程序的执行,向用户*敞开*
## 运行环境
### 服务器环境
`mongodb` 数据库
* 快速**高效**的读写数据
* `127.0.0.1:27017`
- `127.0.0.1` = `localhost` = 本地
- 只有本地服务能访问的端口
- `mongod --config mongod.yaml`
`ser.js` 数据服务
* 定义和提供数据操作和功能
* `127.0.0.1:728`
- `127.0.0.1` = `localhost` = 本地
- 只有本地服务能访问的端口
- `deno run --allow-net --allow-read cli/ser.js`
`nginx` 服务代理
* 高效、**安全**地处理请求
- 断然地*否定*不正当的请求
- 对外防御数据库、服务不设防的状态
* `0.0.0.0:80`
- `0.0.0.0` = `localhost` = 公网开放端口
- 对外敞开的端口
- `nginx -p . -c nginx.conf`
* `/` 主页 `index.html`
* `/q` 查询接口,如 `/q?que="usr"&usr=728`
* `/p` 数据接口
### 用户环境
网页浏览器,如 Chrome, Firefox, Safari, 微信浏览器