main
【从零开发】主义主义网站
系列视频
每个视频对应的代码版本: https://gitlab.com/728/ismism/-/issues/45
代码结构 ismism
开发环境 - 写的代码 ismism.ts
运行环境 - 跑的代码 ismism
编译环境 =>编译生成=> 运行环境 =>部署=> 运行(服务器端 + 浏览器端)
ismism.ts编译环境cli命令command line interfacesendsms.ts发送测试短信bundle.ts编译 .ts 并打包 .jsbuild .ts and bundle .jsbuild.zsh编译生成运行环境
src源代码sourceont基础操作onticbase.ts进制转换utc.ts时间格式Universal Time Conventioncrypt.ts签名验证cryptographyjwt.ts身份验证JSON Web Tokenadm.ts行政区划administrative regionjson.tsJSON数据声明
eid核心操作eidetictyp.ts数据类型声明typedb.ts数据库初始化与数据操作类型声明databaseis.ts数据定义与检查id.ts实体数据操作identityusr.ts用户数据操作usersoc.ts俱乐部数据操作sociationsocialagd.ts活动数据操作agendarec.ts记录数据操作record-creditdebitearnmsg.ts文章数据操作message-wsllitaut.ts权限数据操作authorauthority
pra业务操作praxiccan.ts操作权限doc.ts数据组合documentque.ts查询接口queryHTTP GET对数据组合做请求pas.ts用户登陆pass(的操作组合)pre.ts创建操作pre-dataprepare(的操作组合)put.ts更新操作put-data(的操作组合)pos.ts请求接口postHTTP POST对操作组合做请求
ser.ts服务serve
tst测试代码testsui图形界面graphical user interfaceindexUI声明(HTML/CSS)index.htmlUI入口template.htmlUI元素style.cssUI样式
bindUI定义(TS/JS)绑定服务器端与浏览器端的数据fetch.ts绑定数据bind.ts绑定UI入口template.ts绑定UI元素
ui.ts打包UIui bundle
cli命令(运行环境)(服务器端)*ser.js服务servedb.zsh启动数据库stop.zsh停止服务start.zsh启动服务
*ui图形界面(运行环境)(浏览器端)*index.html网页界面
mongod.servicemongod.yaml数据库配置(服务器端)nginx.conf端口配置(服务器端)
开发环境
deno 开发工具
deno lspdeno lintdeno check声明检查 类型检查 形式检查- 就代码本身做检查
verifying code as such(静态检查) - 不运行代码,没有输入数据,没有输出结果,只检查代码的形式(形式推理)
- 就代码本身做检查
deno compiledeno bundle编译打包- 把带有类型声明的
.tstypescript文件编译打包成没有类型声明,浏览器可直接运行的.jsjavascript - 在通过静态检查的前提下,把代码转化成直接可运行的状态
- 所有的类型声明,以及与运行状态无关的代码,都会被清除掉
- 代码的形式会被扬弃
- 把带有类型声明的
deno evaldeno testdeno run运行代码 测试代码 执行功能- 根据输入,运行程序,检查定义状态和内容(动态检查)
- 内容体现为运行过程中展开的数据状态
- 功能体现为用户与程序的交互
- 程序的执行,向用户敞开
运行环境
服务器环境
mongodb 数据库
- 快速高效的读写数据
127.0.0.1:27017127.0.0.1=localhost= 本地- 只有本地服务能访问的端口
mongod --config mongod.yaml
ser.js 数据服务
- 定义和提供数据操作和功能
127.0.0.1:728127.0.0.1=localhost= 本地- 只有本地服务能访问的端口
deno run --allow-net --allow-read cli/ser.js
nginx 服务代理
- 高效、安全地处理请求
- 断然地否定不正当的请求
- 对外防御数据库、服务不设防的状态
0.0.0.0:800.0.0.0=localhost= 公网开放端口- 对外敞开的端口
nginx -p . -c nginx.conf
/主页index.html/q查询接口,如/q?que="usr"&usr=728/p数据接口
用户环境
网页浏览器,如 Chrome, Firefox, Safari, 微信浏览器
Description
Languages
TypeScript
97.8%
HTML
1.4%
Shell
0.8%