2023-12-15 12:43:28 +08:00
2023-12-12 17:57:55 +08:00
2023-12-15 12:43:28 +08:00
2023-11-06 11:56:30 +08:00
2023-11-06 11:56:30 +08:00
2023-12-14 10:14:19 +08:00

【从零开发】主义主义网站

系列视频

每个视频对应的代码版本 https://gitlab.com/728/ismism/-/issues/45

代码结构 ismism

开发环境 - 写的代码 ismism.ts 运行环境 - 跑的代码 ismism

编译环境 =>编译生成=> 运行环境 =>部署=> 运行(服务器端 + 浏览器端)

  • ismism.ts 编译环境
    • cli 命令 command line interface
      • sendsms.ts 发送测试短信
      • bundle.ts 编译 .ts 并打包 .js build .ts and bundle .js
      • build.zsh 编译生成运行环境
    • src 源代码 source
      • ont 基础操作 ontic
        • base.ts 进制转换
        • utc.ts 时间格式 Universal Time Convention
        • crypt.ts 签名验证 cryptography
        • jwt.ts 身份验证 JSON Web Token
        • adm.ts 行政区划 administrative region
        • json.ts JSON数据声明
      • eid 核心操作 eidetic
        • typ.ts 数据类型声明 type
        • db.ts 数据库初始化与数据操作类型声明 database
        • is.ts 数据定义与检查
        • id.ts 实体数据操作 identity
        • usr.ts 用户数据操作 user
        • soc.ts 俱乐部数据操作 sociation social
        • agd.ts 活动数据操作 agenda
        • rec.ts 记录数据操作 record - credit debit earn
        • msg.ts 文章数据操作 message - wsl lit
        • aut.ts 权限数据操作 author authority
      • pra 业务操作 praxic
        • can.ts 操作权限
        • doc.ts 数据组合 document
        • que.ts 查询接口 query HTTP GET 对数据组合做请求
        • pas.ts 用户登陆 pass (的操作组合)
        • pre.ts 创建操作 pre-data prepare (的操作组合)
        • put.ts 更新操作 put-data(的操作组合)
        • pos.ts 请求接口 post HTTP POST 对操作组合做请求
      • ser.ts 服务 serve
    • tst 测试代码 tests
    • ui 图形界面 graphical user interface
      • index UI声明HTML/CSS
        • index.html UI入口
        • template.html UI元素
        • style.css UI样式
      • bind UI定义TS/JS绑定服务器端与浏览器端的数据
        • fetch.ts 绑定数据
        • bind.ts 绑定UI入口
        • template.ts 绑定UI元素
      • ui.ts 打包UI ui bundle
  • cli 命令(运行环境)(服务器端)
    • *ser.js 服务 serve
    • db.zsh 启动数据库
    • stop.zsh 停止服务
    • start.zsh 启动服务
  • *ui 图形界面(运行环境)(浏览器端)
    • *index.html 网页界面
  • mongod.service mongod.yaml 数据库配置(服务器端)
  • nginx.conf 端口配置(服务器端)

开发环境

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, 微信浏览器

Description
No description provided
Readme
Languages
TypeScript 97.8%
HTML 1.4%
Shell 0.8%