知者行之始,行者知之成
2023-06-07 · 阅读 87 · 字数 609
今天一位大象计算器微信小程序的热心用户“好梦”加我,希望能实现一个运费毛利率计算的功能。 她之前是在 Excel 表格里用公式自动计算的,但是希望能在手机上通过小程序来计算毛利。 原因是: 因为我们随时随地要计算,下班也要计算,就是不想开电脑 为了勤劳勇敢的中国人民业余时间能远离笨重的电脑,特别是在这个炎热的夏天,我决定牺牲小我成全大我, 在烟台今夏最热辣的一天,抱着滚烫的电脑,在中暑头痛欲裂的情况下 Ctrl-C Ctrl-V 实现了运费毛利计算功能。 功能界面 运费毛利计算功能概要 输入: 公里数 每公里单价 运费(报价) 折扣 税率 点击计算按钮,自动得出: 含税合同价 (公 ...
2023-06-05 · 阅读 122 · 字数 1247
本以为我的 Android 开发技术已经天下无敌了😅,没想到连 Flow / Channel 我都第一次见。。。不得不说 Android 的新概念层出不穷。 周末看了一堆文档,有了一个大概的了解。我发现微信公众号的文章质量还真是高,不少高手都做了详细的对比说明。 但是最终我一个也没有关注,从这些人的近期推文看都堕落了,不是贩卖焦炉,就是无脑卖其他骗子的课。扯远了,开始正题。 Flow 为何而生 一个挂起函数 (suspending function) 可以异步地返回一个值,但是没法多次返回。于是 Flow 就诞生了。 这也是为什么 Flow 获取 select 结果不需要加上 suspend ...
2023-06-02 · 阅读 145 · 字数 577
例如,我想在 Android APP 首页顶部显示搜索按钮,在详情页顶部显示删除按钮。 叫 Menu 还是 Top App Bar 搜素 Android Menu https://developer.android.com/develop/ui/views/components/menus 在官方文档里可以看到: XML View 中称之为 Menu Jetpack Compose 中称之为 Top App Bar Activity 中添加还是 Fragment 中添加 You can declare items for the options menu from either you ...
2023-05-31 · 阅读 171 · 字数 703
尝试手动启动了两个 docker containter: 一个用于 rasa core 一个用于 rasa actions 但是,发现测试对话不涉及 actions 服务的,一切正常返回; 但是跟 actions 相关的,没有任何返回。 查看 docker 容器日志 docker logs -f <containter-id> 这样就能实时查看 docker 容器中 rasa 的运行日志,跟 tail -f 效果等同。非常方便。 异常日志 查看了一下 rasa core 的日志: rasa.shared.exceptions.RasaException: Failed to ...
2023-05-30 · 阅读 214 · 字数 2172
非常典型地一个应用场景,即通过 rasa 从提交消息中提取城市和时间,然后调用三方天气接口查询天气,再返回用户。 但是按照官方文档,及电子书,网上资料里配置,jieba dict 也好,lookup table 也好,都会因为 DIETClassifier 报奇怪的异常。我感觉是版本的 bug,目前还没有定位到问题。 折腾了两天,没有头绪,看了部分 rasa 源代码,印象也非常不好,许多配置规则没有在文档中体现,需要看源码才能理清。 距离这个项目验收的时间不多了,我也懒得折腾,干脆直接在 actions 中直接获取消息原文,用 python 通过正则提取 entity,这本应由 DIETCla ...
2023-05-27 · 阅读 172 · 字数 473
继续将原有的 Compose 项目重写为 XML View,本来不想折腾,心想要不直接沿用原来的 Room 代码,但是看了 DAO 和 Repository 这种风格的代码,还是忍不了。 既然没有退路了,就得保证对历史数据的兼容。 数据库名称 注意,用 SQLDelight 指定数据库名称时,不要加 .db 后缀。否则跟之前 Room 生成的文件名不一致。 - val driver: SqlDriver = AndroidSqliteDriver(Database.Schema, context, "item_database.db") + val driver: Sq ...
2023-05-26 · 阅读 159 · 字数 807
之前用 Android SQLDelight 查询批量数据非常方便,没想到查询单条数据反而有点搞不清。 第一种做法 这样查询就是在主线程里,即 UI 线程。实际操作很快,没有任何卡顿。 val id = args.id if (id != 0L) { val item = viewModel.database.itemQueries.findOne(id).executeAsOne() binding.name.setText(item.name) binding.number.setText(item.num.toString()) } 第二种做法 val id = args.id ...
2023-05-25 · 阅读 172 · 字数 788
在一个 Android APP 中,需要由 Fragment A 跳转到 B 时进行传参,官方推荐使用 Safe Args。 Safe Args 主打的就是类型安全 (type-safety),测试了一下。 配置 build.gradle SafeArgs 和导航组件的其它模块不太一样,它本身并不是一个 API,而是一个可以生成代码的 gradle 插件。 所以需要将它设置为 gradle 依赖,并且在构建时使其能够正确运行来生成所需的代码。 首先,在项目级 project build.gradle 中增加配置: buildscript { dependencies { ...
2023-05-24 · 阅读 160 · 字数 857
在写一个 Android App,结构是一个 MainActivity,两个 fragment 分别是 home list fragment / detail fragment。 点击 home 页的 FAB 添加按钮,跳转 detail 页。 疑惑 我不明白为何 home fragment -> edit/detail fragment, 再返回时,home fragment onCreateView 又被调用了一遍。 navController.navigate(R.id.nav_edit) 难道,默认不支持 back stack ? 类似的问题 https://stackover ...
2023-05-24 · 阅读 150 · 字数 696
这种文字性的工作要是没有一个大纲,很容易不知所措,写着写着就走神了,效率低下。 整理了一下流程,然后无脑照着做就行了。 流程 所有软件截图黏贴到 word 文档中。图片居中排版。 根据截图补充文字说明。开篇一张图,内容全靠... 生成目录。使用二级,三级标题,方便生成目录。WPS 支持一键生成目录,搜索目录功能即可找到此功能。 编写系统概述/简介。ChatGPT 伺候,全是应付性文字,生成一篇 800 字的内容之后修修补补即可。 软件功能说明书应该包含哪些内容 包含以下几个部分: 标题页和版权声明:这个部分主要包括文档的标题、版本号、作者、日期以及版权声明等信息。 目录:目录列出了整个文 ...
2023-05-26 · 阅读 200 · 字数 858
由于使用的 Navigation UI 会在 navigate 时销毁 fragment 的 View,实际操作时,由 list to detail to list 这样的浏览路径,会导致 fragment onViewCreated 中的逻辑执行多次。这是不合理的,所以需要将相关逻辑挪到 view model 中 (fragment view 销毁了,但是 fragment 没有销毁,所以 view model 是安全的)。而 view model 中不应该去获取 fragment 或 activity 的实例,也就没法拿到之前偷懒放到 activity 中的 SQLDeligth Data ...
2023-05-23 · 阅读 249 · 字数 662
场景 例如,跟 Rasa 机器人对话中,询问今天星期几,然后使用 Python 返回中文答复。 nlu.yml 增加自然语言解析: - intent: weekday examples: | - 今天是星期几 - 今天几号 - 今天的日期 domain.yml 增加 actions: intents: - weekday actions: - action_weekday rules.yml 配置映射关系 - rule: 星期几 steps: - intent: weekday - action: action_weekday actio ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |