每日随笔

最近注意力被破坏得很严重。除了注意力不集中,反应也会慢半拍,语言表达变差,思考都深入不了多少。

手机成瘾很大原因是,大脑沉溺于获得信息的短时快感。要对抗这个瘾,可以让自己不断地做脑力小体操,例如数眼前有多少个物品,估算时间、大小等。只要做个几分钟,瘾就没那么强了。

大数据

搭建本地知识库问答系统

方案一 基于 MaxKB + Ollama 进行搭建 30 分钟即可上线基于本地大模型的知识库问答系统,不过对本地配置有一定要求,配置不高的话,响应时间会比较长。 MaxKB 的产品架构和实现原理(基于 RAG 流程)

数据治理

搞数据治理,要与具体业务结合

与具体业务脱节是数据治理走向失败的最主要原因。数据治理需要重具体业务问题出发,以具体业务为落地点,指定合理、可行的治理目标和改进路线,保证投入产出的经济性,才具备可持续推进的必要条件。

最新文章

工程总结 – 配置管理

最佳实践 基于字符串的 KV 对即可,避免潜在的序列化和转义问题 不要整形、浮点等其他类型,布尔值用 0 和 1 表示; 若需要对象、字典、列表等复杂层次结构,应该使用 JSON ,或约定格式 一般语言内置的配置对象已够用,如 Java 的 Properties 等; 如果有复杂操作,上策开发静态工具类,下策新开或拓展配置对象 若要考虑可读性和可编辑性,可以考虑 XML 和 YAML 尽量避免涉及文件系统,因为有类路径,相对路径,绝对路径等麻烦事 编码优于配置,一般硬编码+开关足够,不需要实现功能可配置化;

微服务 – Nacos 部署笔记

部署方法 使用的 Mysql 的库必须运行官网给出的脚本进行初始化,注意版本差异 Docker 或 Host,必须设置以下参数 MODE standalone SPRING_DATASOURCE_PLATFORM mysql MYSQL_DATABASE_NUM 1 MYSQL_SERVICE_HOST mysql-1 MYSQL_SERVICE_PORT 3306 MYSQL_SERVICE_DB_NAME nacos_1 MYSQL_SERVICE_DB_PARAM characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&serverTimezone=UTC MYSQL_SERVICE_USER admin MYSQL_SERVICE_PASSWORD 1234567Aa! 默认用户名/密码为: nacos/nacos

自动化 – 机器控制

服务器开发运维中常用的命令下发、进程调度、状态采集组件和工具: 命令下发 Ansible 简介:基于Python开发,采用SSH协议进行通信,无需在客户端安装代理软件,通过简单的Playbook语言来描述配置管理任务,实现自动化部署、配置管理和命令下发。 官方链接:https://www.ansible.com/ Puppet 简介:是一款基于Ruby开发的配置管理工具,采用C/S架构,通过定义资源的状态来管理服务器配置,同样可以用于命令下发。 官方链接:https://puppet.com/ 进程调度 Cron 简介:Linux系统中内置的进程调度工具,用于在指定的时间间隔执行命令或脚本。配置简单,通过crontab文件来设置任务。 官方文档:在Linux系统手册页中可查看,例如通过 man crontab 命令查看相关帮助。 Anacron 简介:针对Cron的不足而设计,用于处理系统关机等导致Cron任务错过执行时间的情况。它可以在系统恢复运行后,按照设定的时间间隔重新执行错过的任务。 官方文档:同样在Linux系统手册页中可查看,如 man anacron。 Celery 简介

自动化 – 功能测试

测试工具 Airtest http://airtest.netease.com/ Airtest 是网易开源的一个 UI 自动化测试工具,通过图像识别和 UI 控件检索技术,使得游戏测试简单快捷,支持 Android、iOS、Windows、Unity、Cocos2dx、白鹭引擎、微信小程序等,上手简单。

编程总结 – 流程控制

工作流引擎 Activiti 特点:是一个轻量级、开源的工作流引擎,基于Java开发。它提供了丰富的BPMN 2.0支持,能够方便地设计、执行和管理业务流程。Activiti的流程定义以XML文件形式存储,易于理解和维护。同时,它具有良好的扩展性,可与Spring等框架集成。 应用场景:适用于各种企业级业务流程管理,如请假流程、采购审批流程等。例如,在一个企业的报销流程中,可以使用Activiti定义从员工提交申请,到各级领导审批,再到财务打款的完整流程。 Camunda 特点:同样是基于Java的开源工作流引擎,对BPMN 2.0规范的支持非常全面和深入。Camunda提供了直观的Web界面用于流程建模、监控和管理,其任务列表功能便于用户处理待办任务。此外,它在事务处理和错误处理方面表现出色。 应用场景:常用于复杂业务流程的自动化,特别是需要高度定制化和可靠执行的场景。例如,在银行的贷款审批流程中,Camunda可以精确控制从贷款申请提交、信用评估、风险审核到最终放款的每一个环节。 Flowable 特点:也是基于Java的工作流和业务规则引擎,它与Activiti有一定渊源,在很多

编程总结 – 对象拷贝

在编程开发中,对象拷贝通常有两种方式:浅拷贝(Shallow Copy)和深拷贝(Deep Copy)。 浅拷贝 浅拷贝创建一个新的对象,该对象的内容是原对象元素的引用。这意味着如果原对象中的元素是可变的,修改新对象中的元素会影响原对象,反之亦然。 深拷贝 深拷贝创建一个新的对象,并递归地复制原对象及其所有嵌套的对象。这意味着新对象和原对象完全独立,修改一个对象不会影响另一个对象。 Java示例 Java中,可以通过实现Cloneable接口并重写clone()方法来实现浅拷贝。对于深拷贝,通常需要手动递归复制对象及其所有嵌套对象,或者使用序列化和反序列化的方式,可以用 MapStruct 等第三方 CodeGen 库实现。 Python示例 Python的copy模块提供了copy()和deepcopy()函数来实现浅拷贝和深拷贝。