大象笔记

生产服务器 Flask 多并发支持,基于 Gunicorn

自从用了 Golang 开发服务端之后,好多年没有经历部署 Python 服务的苦恼。 但是由于要开发 Rasa 相关的服务,为了统一语言,还是继续使用了 Python Flask 框架。 又一次体验部署 Python 生产环境的艰辛。

对话机器人 Rasa(二十):Custom Action 中无法读取 Slot 值

## 现象 rasa custom action 中的代码,无法获取到 slot 值: ``` items = tracker.get_slot("items") ``` 而我确实在之前的流程中已经设置了 slot 的值

Android Fragment 实现对蓝牙设备的参数配置页面

## 新建 fragment 新建一个 Blank Fragment。会自动创建对应的 layout xml 文件,但是 binding 需要自己手写。 ## layout binding ``` package com.s

Ubuntu 安装 Python 环境管理工具 Miniconda 3

注意,推荐 [为了避免律师函警告,从 miniconda 切换到 miniforge](https://www.sunzhongwei.com/to-avoid-lawyers-warning-letter-switch-miniconda

对话机器人 Rasa(十九):rasa 不同客户端类型区分处理 custom channel

## 使用场景 例如,用 Rasa 实现一个自动聊天机器人,要同时实现多端: - 网页端 - 微信小程序端 - Android / iOS 原生 App 端 - Windows 端 每一端的回复内容会有些许差异,如:

NordicSemiconductor/Android-BLE-Library 监听连接状态变化

## 监听的目的 - Android App 界面显示当前的蓝牙连接状态:断开/连接中/已连接 - 在断开时,自动重连 ## 如何监听连接状态 (已废弃) 在 NordicSemiconductor/Android-BLE-

Android BLE 蓝牙操作设备三方库 NordicSemiconductor/Android-BLE-Library

## 为何要使用三方库 起因是我写的 Android 低功耗蓝牙 App 有几个现存的问题: - 写操作的并发问题导致写入失败,需要一个队列。iOS 内置了这个实现,甚至连微信小程序都实现了,但是 Android 官方没有实现,渣渣

修改开源项目管理系统 Redmine 代码

## 修改顶部菜单 实际上就是先搜索页面内的 class name, 然后根据模板代码中的变量名,搜索 ruby 代码。 例如,顶部菜单的代码文件 ``` grep "top_menu" -r ./ ./lib/redmi

android gradle 依赖版本号统一管理

## 在项目级 build.gradle 文件中 在 ext 代码块中定义 room_version。 ``` ext { kotlin_version = "1.6.20" nav_version = "2.4.

同一台服务器上部署多套 Redmine 项目管理系统

## 需求 由于其他子公司也想使用 redmine 开源项目管理系统,然而数据又不想共享。 所以需要独立部署多套系统,在一台服务器上。 ## 参考 主要部署细节参考第一次部署时整理的文档: [开源项目管理系统 Redmin