大象笔记

知者行之始,行者知之成

QMS 质量管理系统需求梳理

MES 还没分析明白,又被叫去对接内部的 QMS 质量管理系统需求。这企业数字化的工作,堪比工地小工,哪里需要哪里搬砖。毫无成就感可言。 一上午奔波大半个烟台,中午还错过了午饭,在富士康门口的路边啃了一份炒饼,今天刮大风,还啃了一嘴沙,补钙!真开心 :( QMS QMS 是质量管理系统(Quality Management System)的缩写。 目标 在出货之后,客户能够拿到产品相关的出厂报告。(没有中英文要求,即便是外国客户也依然使用中文报告。。。) 其中包括: 各个零部件的检测报告,合格证照片。 成品的检测报告,及实物照片。 这个出厂报告,由程序根据 word 或者 pdf 模板自动 ...

阅读全文...

研发人员写周报,本质上还是项目计划管理缺失

部门调整,今年主业变成了公司的数字化建设相关的内部开发。 但是,目前还在数字化的初期,具体做什么,从哪部分切入,都是一个未知数。 这周最大的变化是,恢复了之前的周报制度。(曾经用了一段时间的 redmine 项目管理软件,后来停用了) 我最难以接受的是,作为一个公司的数字化部门,周报要每个人提交一个 PPT。。。 这种管理方式怎么好意思去给其他部门推广数字化管理。。。 我看了一下企业微信上有个周报功能,所以推荐了一下是否可以使用这个。 但是我依然觉得周报不是一个好的管理手段。 周报不适合研发人员 纯粹是一种观点吧,如果是 redmine 这类项目管理软件能利用起来,实际是不需要周报这种形式 ...

阅读全文...

天下没有免费的 MES 系统

集团今年在推进各个子公司的数字化建设,在搞定一个 CRM 系统之后,下周又要迎来 MES 系统的调研开发。 我原本想借鉴 CRM 的实施方案,即,找一个成熟的开源系统,然后根据部门实际需求,在上面做二次开发即可。但是找了一下午,都没有找到一个真实的开源 MES。全都是知乎上的软文,以及 gitee 和 github 上的吸引流量的零代码 txt 项目。 不得已,记录一下这个无比痛苦的调研过程。否则这堆垃圾信息塞进脑子里,极度影响心情。 什么是 MES MES 即,Manufacturing Execution System 的缩写,中文翻译为制造执行系统。 其是一种用于管理制造过程的信息系统。 ...

阅读全文...

魔幻的 rust enum 枚举类型

在看一段 github 上文本解析库的 rust 代码时,看到这样一个 enum 的定义: #[derive(Debug)] pub enum Line { Comment(String), Metadata(String, String), Entry(DictEntry<String>), Empty, Incorrect, } 我整个人直接蒙了,为啥每个 item 后面还能备注类型?(这个时候我还没联想到 Option) 早上, 上班路上翻了一下 rust 的官方文档,找到了答案 (比翻螃蟹书方便多了)。例如一个 IP 地址的存储结构 ...

阅读全文...

企业数字化平台预算清单

目标 把公司数字化平台未来 3 年的设备及软件采购清单列出来。 包含自研的软件系统部分。 看起来是个费时费力的活,绝非一两个小时就能糊弄过去的小 case。 今天的计划又被打乱了。Android 工控屏的设备控制项目又得搁置一下。 计划即瞎猜 这种做未来几年计划的工作在我看来纯属浪费时间,但是没有办法,领导安排的任务只能出卖自己的时间。 《重来》那本书中“计划即瞎猜”一节里有句话: 放下你的臆测吧,现在就决定你这周要做什么,不必去管全年的计划。 待采购设备的厂家及型号 这个非常纠结的一个地方,因为是给未来的采购列计划,那么怎么保证 1 年过去了, 待采购的设备的型号还存在?价格能保持不变呢 ...

阅读全文...

rust 项目中 mod.rs 文件的作用

在 Rust Loco 项目中,会看到 models 及 controllers 目录下都有一个 mod.rs 文件。 查了一下,这个 mod 即 module (模块) 的简写。 mod.rs 说明,这个目录下包含一堆子模块。每个子模块的名称就是每个文件的名称。 例如,看看 loco 项目的 controllers 及 models 的代码示例: 目录结构 > tree src/controllers/ src/controllers/ ├── auth.rs ├── hello.rs ├── mod.rs ├── notes.rs └── user.rs > tree src ...

阅读全文...

rust web 框架 Loco 新建一个 HTML 页面

虽然 Loco 主推的是前后端分离的方式写页面,但是我还是喜欢后端渲染的 HTML 页面。 因为我的使用场景,大部分不适用前后端分离: 后端渲染的页面更 SEO 友好 页面需要多语言支持,而前端实现并不合适。例如如果支持 10 门语言,总不能一次加载所有语言吧。 前端技术更新过快,而且毫无意义。不想耗费过多的时间去跟进。 言归正传。 实际上 loco 官方文档中介绍 HTML template view 还是相对简单,要了解 view 的全面可以参考 loco 的一个 demo: https://github.com/loco-rs/loco/blob/master/examples/de ...

阅读全文...

rust web 框架 loco 命令大全

loco 框架的命令非常强大,完全可以媲美 laravel。 常用命令 新建项目: loco new 启动服务:cargo loco start 查看所有路由:cargo loco routes 主要命令 > cargo loco Finished dev [unoptimized + debuginfo] target(s) in 16.27s Running `target/debug/loco_tool-cli` The one-person framework for Rust Usage: loco_tool-cli [OPTIONS] <COMMAND> ...

阅读全文...

rust web 框架 loco 的后端 HTML 模板

loco 框架目前的文档还是有点简陋,想通过直接看文档来上手,不太现实。 还是需要自己结合代码去查看三方的依赖库的文档。 目录结构 注意,后台模板及相关的资源文件是在 assets 目录下。 而不是 frontend 目录下,frontend 是 vite 创建的纯前端部分 (前后端分离的方案, loco 的默认首页就是在 frontend 中)。 Loco SaaS 项目,初始化的 assets 目录结构: > tree assets/ assets/ ├── i18n │   ├── de-DE │   │   └── main.ftl │   ├── en-US │   │   ...

阅读全文...

NeoVim ALE 插件安装并配置 Rust Analyzer

在 NeoVim 中浏览 Rust Loco 项目代码时,想查看默认的 route 配置有哪些。 例如,src/app.rs 中,定义了: fn routes(_ctx: &AppContext) -> AppRoutes { AppRoutes::with_default_routes() .add_route(controllers::notes::routes()) .add_route(controllers::auth::routes()) .add_route(controllers::user::routes( ...

阅读全文...

历时一年微信个人公众号粉丝终于突破 1000

去年四月初开始重启这个注册了很久,但是一直没有怎么发过文章的微信个人公众号“大象工具”。主要是感觉内容类网站越来越没有流量,百度搜索几乎以一己之力摧毁了整个中文互联网,劣币驱逐良币,我自己也越来越习惯在微信搜索里找资料,于是就定期把个人博客里的文章同步到这个微信公众号里。 没想到一年后的今天,关注量突破了 1000,还是有点意外。而且连续几天的浏览量都超过了我网站的阅读量。 微信巨量的推荐引流,便捷的转发功能,及评论功能,确实构建了一个新的内容生态,我恍惚觉得这更像一个更加开放的论坛系统。毕竟网站生态的评论功能基本被敏感词摧毁了,而这里却可以相对自由的表达。 流量来源 下面这个统计图可以看到 ...

阅读全文...

rust web 框架 loco 安装

之前尝试了 rust 的 Axum 框架,并写了两个练手的小工具。但是感觉上还是太简陋了,跟 golang 的 gin 类似, 没有自带的 ORM 以及模板系统,对初学者非常不友好。 我需要的是一个类似 Laravel 这样的完善的框架,有自己的代码结构规范,以及各种内置功能。 恰好看到了 loco 这个框架,号称对标 Ruby on Rails 这个经典框架。 Loco is a Rails inspired web framework for Rust. 而且是基于 Axum 的封装。于是忍不住想尝试一下,顺便把之前写的小工具重构成基于 Loco 的。 安装 loco cargo in ...

阅读全文...