# TinyLab **Repository Path**: wu-org/tiny-lab ## Basic Information - **Project Name**: TinyLab - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-29 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README * TinyLab SRS * 0 一款轻量、完备、共建、共享、开放、透明的数学应用软件平台。 * 1 编辑与显示 1.1 一个页面只编辑和显示一个实值矩阵 1.11 标签文字为TinyLab<空格><当前矩阵名> 1.2 当某矩阵元素被编辑时,后端数据实时更新。 1.21 一个元素当其在save过程中时背景色为淡黄色,save完成时恢复正常颜色。 1.3 未填写的矩阵元素表示0。 1.4 未填写的矩阵名字是_。(下划线(就叫做下划线)) 1.41 _始终指向着最后被访问的矩阵。 1.411 提供的享乐方式是用户可以坐在屏幕前按F5刷矩阵刷一整天。 1.5 首页的页面元素 1.51 总的来说表现为一个 _=[ ] 的形式。 1.511 _可以改成任何用户希望的名字。如果访问的是A,那么整个显示A=[/*A的内容*/]。 1.512 [ ]中由于什么也没填,所以表示一个1x1的0矩阵。 1.52 如果还有一个功能为save的页面元素,可以考虑为其设置快捷键,快捷键可以考虑Ctrl-s。 1.53 矩阵的尺寸由矩阵增广操作定义和变更。 1.531 矩阵增广操作 1.5311 可复制某行 1.5312 可复制某列 1.5315 可删除某行 1.5316 可删除某列 1.532 矩阵尺寸的限制 1.5321 至少要有一个元素,[ ]=[0]。 1.6 页面样式 1.61 矩阵元素的编辑筐大小要与其实际填写的位数相适应 1.7 矩阵元素的选取 1.71 可通过单击单选 1.72 可通过Tab键选取下一个 1.73 可框选矩阵的一部分或全部(以供批量操作) 1.8 批量操作 1.81 所选中元素接受同等键入赋值操作(比如可将选中矩阵的一部后键入0赋值为0,键入123赋值为123等等) 1.9 其他 1.901 快捷操作 1.9011 可移动某行或某列 1.902 有个帮助界面 1.9021 在页面左下角总悬浮着一个不大不小若隐若现的帮助按钮 1.90211 按钮的样式是悬浮着的圆圈中有一个问号 1.9022 按下则弹出帮助对话框 1.90221 对话框中应包含如快捷键表等等信息,亦可包含其他信息 * 2 访问方式 2.1 所访问的矩阵由uri决定。 2.2 矩阵及其运算在uri中的命名规则 2.21 命名规则应当支持矩阵连乘,如a1*a2*...*an。 2.211 a^n表示a的n次幂矩阵。使得a^i*b^j*c^k等都符合线性代数的一般定义。 2.212 a^T表示a的转置 2.213 a^-或a^-1表示a的逆 2.9 其他 * 3 矩阵运算 3.1 乘法 3.11 如果字符串A和B分别是两个矩阵的名字,则通过在uri中输入A*B访问矩阵AB,此时服务器中即有了一个叫做AB的矩阵。 3.111 但是矩阵AB不再与A或B协变。如需协变,仍需通过uri中的A*B形式。 3.2 数乘 再说 3.3 加法 再说 3.4 为节约服务器资源以及防止恶意行为计算放在客户端完成。 * 4 插件————可配置性、自定义操作以及可编程性 4.1 在帮助界面的左下角有一个标题为">_"的不大不小的按钮 4.11 按下去会弹出一个文本输入框 4.111 里面显示着页面加载完毕后需要继续加载的Javascript代码 4.1111 并可由此编辑 4.1112 代码存于本地 4.9 其他 4.901 内置插件(API) 4.9011 内置插件是页面加载时默认加载的Javascript代码 4.90111 有函数返回当前矩阵的名字。 4.90112 有函数返回当前矩阵的Javascript表示形式。 4.90113 有函数用Javascript表示形式设置当前矩阵。 4.90114 有函数保存矩阵数据。 4.91 可能通过插件实现 4.911 自定义界面 4.9111 按钮添置 4.9112 快捷键添置 4.9113 页面显示区添置 4.912 矩阵解析 4.9121 通过自定义函数做图像渲染 4.9122 通过自定义函数做音频渲染 4.913 游戏引擎 * 5 参考资料与后续进展 5.1 知乎网友xiaochi的实现方案 https://zhuanlan.zhihu.com/p/637148173 https://zhuanlan.zhihu.com/p/637145461 5.11 项目开源地址https://gitee.com/wu-org/go/tree/TinyLab/foo/MATRIX 5.12 服务部署方式 #+NAME: config.ini #+BEGIN_SRC [uwsgi] module = server:app master = true processes = 4 threads = 1 http = 0.0.0.0:8084 worker_class = gthread logto = tinylab.log py-auto-reload = 1 buffer-size = 1048576 #+END_SRC 5.121 如何运行 nohup uwsgi config.ini & 5.13 测试地址 http://124.221.142.162:8084 5.131 buglist 5.1311 变换莫测的乘积 打开http://124.221.142.162:8084/?a 将a设置为((1 1)(0 1)) 打开http://124.221.142.162:8084/?a*a 然后不断按F5刷新页面,结果变来变去,期望a*a有唯一的值。(除非a被修改) uwsgi配置threads = 1即修复 5.2 实际应用 5.21 音乐工程 http://124.221.142.162:8084/?%E5%86%AC%E4%B9%8B%E8%8A%B1