diff --git a/readme.md b/readme.md index 28aebeb..6ae82e4 100644 --- a/readme.md +++ b/readme.md @@ -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, 微信浏览器