大象笔记

知者行之始,行者知之成

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 ...

阅读全文...

回家办公,显示器屏幕越多开发效率就越高么

最近晚上回家发现越来越不想打开电脑,即便开了电脑,面对两个显示器, 经常一行代码也没写,就刷起了 B 站上的红警视频 (一个看视频,另一个闲置状态)。。。然后到点关机睡觉。。。 也许是最近连续两周早起晨跑,到了晚上就犯困吧。 昨晚发的关于烟台网站开发的文章,也是在手机上码完字,直接发布的。也没有用到电脑。 反倒是,拿出落灰已久的笔记本,倚靠在沙发上,还能干点正经事。 为何在小小的笔记本屏幕上,和更小的手机屏幕上,我能静下心来写点东西。 反而到了大显示器,多显示器下,就开始分心,不知所措。总想边看视频,边工作。 实际上只完成了看视频的任务。。。 我觉得大概是之前养成的"习惯" ...

阅读全文...

烟台某些网站开发公司真是太糊弄了

公司一个网站找了一个烟台本地网站开发公司(某明网络),开发完成后,跟设计完全不符,而且这个刚毕业的开发人员连样式都搞不定。没办法,最后让我去擦屁股。非常无奈,钱让外面公司赚走了,活都我干了。。。 白白浪费两个周时间,一肚子火。 糊弄点 页面底部用了一个假的icp 备案号。域名不做工信部的 icp 备案。直接用的香港服务器。我是在阿里云上部署新网站时,发现域名访问被拦截了,才意识到这个问题。虽然海外服务器可以省去 icp 备案,但是公安备案是省不了的,而公安备案也没做。 不配置 https。一行命令搞定的事情,就是不弄。 不能发布文章。。。真的是纯静态页模板。第一次见这么糊弄的。 合同里有中英 ...

阅读全文...

第一次给个人网站提交公安联网备案

昨天接到烟台开发区当地派出所的电话,说我的个人网站需要 3 天内提交公安联网备案。我同事也收到了公司网站的公安联网备案要求。看来这次是集中催办了。 好在,同事今天下午操作了一遍备案流程,帮忙踩了不少坑,我晚上仅仅耗时半个小时就完成了备案提交。 具体参考,阿里云官方文档 “公安联网备案及注销”: https://help.aliyun.com/zh/icp-filing/basic-icp-service/user-guide/the-public-security-network-for-record-and-cancellation#concept-dw1-2sl-zdb 登录全国互联网安全 ...

阅读全文...

失眠头疼,晨跑

这段时间,估计是压力太大,晚上睡不着,或者凌晨醒了就无法入睡,要么天天做噩梦。还伴有严重的头疼。上一次有这种状况还是十多年前了。 早上翻来覆去也无法再次入睡,加上头疼欲裂,心想:算了,出去跑一圈吧,还能缓解压力。 好多年不跑步,担心心脏适应不了,于是慢跑一小段就走一会。为了控制运动量,临时下载了 keep app,初始化配置真繁琐哇 😓 今天状态还可以,沿着柳林河跑了一圈,正好两公里。严格来说是快走了两公里。。。 也许是运动量太小,没有感觉到身体不适的状况。 但是,沿着河边跑总要选择岔路口,容易分神,准备明天由柳林河,穿过小树林,沿海边跑了。 烟台这个城市比较好的一点是,人口密度小,跑步的人 ...

阅读全文...

Android Kotlin 调用 ZXing 扫描二维码

要在 Android 平板上实现一个输入激活码激活的功能,但是激活码太长,40 个字符,太长不好输入。所以想通过生成二维码,然后扫描二维码,提取激活码的方案。 我看目前 Google 官方推荐使用 ML kit 来识别二维码,但是由于使用的是华为平板,担心依赖于 Google 服务的功能无法运行,所以使用了 ZXing 这个库。 下面是一个教程: https://tutorialwing.com/implement-android-qr-code-scanner-using-zxing-library-in-kotlin/ 参考这里面的 fragment 部分。 摄像头权限 <uses- ...

阅读全文...

Windows 11 上通过国内源安装 Rust

下载 首先,从 Rust 官方网站下载 rustup-init.exe 64 位安装包。 https://www.rust-lang.org/tools/install 网络连接错误 但是直接点击 rustup-init.exe 进行安装,会报错。大意是网络无法连接。 这个跟之前在 Linux 上安装 rust 是一样的问题,被网址被国内和谐了。 info: profile set to 'default' info: default host triple is x86_64-pc-windows-msvc info: syncing channel updates for 'stable- ...

阅读全文...

rust 框架 loco 源码阅读:loco-cli 代码生成模版机制

主要是想了解一下 loco-cli 是如何通过命令行生成代码文件的。 因为我非常想基于 rust 来实现 android,或者 golang CRUD 之类的模板代码生成。特别是,对既有文件进行插入修改的策略。 逻辑代码 https://github.com/loco-rs/loco/blob/master/loco-cli/src/generate.rs 模板代码 以包含了 CRUD api 及 route 的 controller 模板为例: https://github.com/loco-rs/loco/blob/master/src/gen/templates/scaffold/api ...

阅读全文...

SuiteCRM 二次开发:合同金额与默认货币合同金额的区别

在通过 logic hook 开发 SuiteCRM 合同回款率计算功能时,遇到一个疑问: 为何合同模块有两个合同金额字段?在计算回款率时,我应该使用哪个作为合同金额计算的参考呢? total_contract_value:合同金额 total_contract_value_usdollar:合同金额(默认货币) 这两个字段在数据库的 aos_contracts 表中就能看到,在 admin 的工作室功能中也能看到。 同时,可以看到所有钱相关的字段,都是用了两个字段表示。即便加上了更多的币种,比如人民币,美元,欧元等,也是这两个字段。有 usdollar 后缀的字段,就是默认货币。 实测 ...

阅读全文...