- 博客(208)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
原创 desk-health-web-community-post
摘要:Desk Health Web是一款为长期盯屏人群设计的开源健康助手网页应用,提供多种健康提醒功能。主要特性包括:20-20-20护眼法则、番茄钟、深度工作模式等可自定义的工作节奏;浏览器本地实现的眨眼监测;干眼护理模式;以及高自由度的提醒设置(语音、弹窗、系统通知等)。项目采用纯前端技术栈(HTML/CSS/JS),注重隐私保护,所有数据处理均在本地完成。开发者计划未来增加PWA支持、数据导出等功能,并邀请用户体验和反馈。 (149字)
2026-07-18 11:33:16
163
原创 大模型性能压测利器 locust 实战 (FastAPI)
本文介绍了使用Locust进行性能测试的方法,并对比了服务端不同实现方式的性能表现。首先通过pip install locust安装工具,然后编写Python脚本分别实现服务端和客户端代码。服务端提供了三种接口实现:阻塞调用、多进程调用和异步非阻塞调用。测试结果显示:单线程阻塞调用约10 QPS;5进程池实现约50 QPS;而异步非阻塞调用可达1500 QPS,与直接返回结果相当。关键差异在于阻塞机制:time.sleep(0.1)会阻塞整个事件循环,而await asyncio.sleep(0.1)仅挂起
2025-08-25 12:15:00
1040
原创 RAG:让AI成为你的知识专家
RAG(检索增强生成)是一种让大语言模型更准确的技术,通过为AI配备"外置大脑"来实时检索外部知识库。其工作原理包括问题解析、知识检索、内容整合和生成输出四个步骤,核心是向量检索技术。RAG广泛应用于智能客服、教育辅导、医疗诊断、企业知识库和法律金融等领域。搭建RAG系统需要选择合适的工具、准备结构化知识库、优化检索流程和生成质量,并通过持续评估迭代改进。该技术有效解决了AI"幻觉"和知识过时问题。
2025-08-18 22:49:34
1098
原创 大模型的畅享
大脑作为天然的复杂模型,通过脑机接口可与数字世界连接,实现知识直接加载。大模型将具备深度语义解析、跨模态理解和智能经济等能力,包括语境把握、多感官融合认知,以及推动新产业革命。文章预见AI将成为核心生产力,彻底重塑人类学习、工作和生活方式。
2025-08-17 20:52:19
232
原创 向量数据库基础和实践 (Faiss)
主流产品包括Faiss、Milvus等,通过实践示例展示了如何使用Faiss进行向量存储和相似性检索。向量数据库作为AI时代的新型数据基础设施,专门用于存储和查询高维向量数据,支持非结构化数据的相似度检索。其核心原理包括将数据转换为向量表示、使用距离度量计算相似度,并采用高效的索引结构(如FLAT、IVF、HNSW)加速查询。与传统关系型数据库相比,向量数据库更擅长处理非结构化数据,在推荐系统、自然语言处理、计算机视觉、多模态数据处理和大模型增强(RAG)等场景表现突出。
2025-08-17 20:23:03
964
原创 MySQL是如何加行级锁的
行级锁分为记录锁、间隙锁和临键锁,分别用于锁定单条记录、记录之间的间隙以及记录与间隙的组合。在查询时,MySQL 会根据记录的存失和查询条件自动选择合适的锁类型,以防止幻读等并发问题。通过 performance_schema.data_locks 可以查看当前数据库的加锁情况。实战中,唯一索引和非唯一索引的等值查询会分别加不同的锁,如记录存在时加记录锁,不存在时加间隙锁或临键锁。锁的类型和范围直接影响并发事务的
2025-05-12 11:30:00
1043
原创 order by是怎么工作的?
中的 sql/orderbyDemo 部分将order by 的字段加到索引当中,查询耗时。根本原因是 利用了索引的有序性,不用进行额外的排序(Extra 中的 Using filesort)
2025-05-04 12:32:08
472
原创 线上问题排查方法和命令总结 持续更新中...
一般出现了线上问题,优先是考虑影响,先止损,再解决,以及后续如何规避。如果是批量问题(需要知道问题代码的影响范围),需要进行批量更新来规避掉潜在的风险。
2025-04-15 12:00:00
848
原创 MongoDB 简介
MongoDB 是一种 NoSQL 数据库,采用 文档模型 存储数据,支持灵活的 JSON 格式文档。它无需预定义表结构,能够动态调整数据结构,适合处理复杂、多变的数据类型。
2025-02-23 16:05:43
1548
原创 线上死锁问题排查和处理
通过 jps + jstack 来定位和排查。如果线程长时间处于阻塞,就需要考虑是否是死锁了。SHOW ENGINE INNODB STATUS 查看死锁日志
2025-02-22 20:26:18
1265
1
原创 工作中用到的 Linux 总结(持续更新中...)
工作后服务都是部署在 linux 系统下的,在运维的过程中不可避免的会和 linux 打交道。知道 linux 的一些知识,不仅可以对计算机操作系统,网络,进程等有更深入的了解,同时也可以让你写出更高效的代码(windows 下运行的情况和 linux 下有时候差好多)。
2024-10-27 14:47:40
1370
原创 pycharm依赖管理(不要用pip freeze)
在使用python虚拟环境时,可以使用requirements.txt来管理当前项目的依赖。注意,不要用 pip freeze > requirements.txt 这个命令,因为它会引入很多无关的包。可以使用 pipreqs ./ --encoding=utf-8./ 表示当前项目的目录,--encoding=utf-8 是为了避免报错(编码相关)Why to usepipreqs?
2023-12-17 16:41:10
1738
原创 JDK1.8 HashMap源码解析 (扩容机制,null键,与1.7的区别等)
hashmap支持null键吗?当扩容的时候,所有元素都会 rehash吗?怎么减少扩容次数为什么node数组的大小是2的n次?
2023-12-03 12:38:31
319
原创 《代码整洁之道》摘抄
为什么产品经理的想法总是在变化 提升开发效率和代码质量的技巧:测试先行(测试驱动开发)保持手感,练习kata专业主义(开发人员应该怎么保证代码质量)如何让代码质量逐步提高
2023-12-03 11:39:34
371
1
原创 一文了解工业互联网是什么,和传统互联网的区别有哪些
工业互联网和传统互联网有什么区别?工业互联网和传统互联网的从业者的区别? 工业互联网带来的效率提升有多大?
2023-12-02 22:54:54
2882
原创 ElasticSearch学习和使用 (使用head软件可视化es数据)
下载Elasticsearch6.2.2的zip包,并解压到指定目录,下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-2运行bin目录下的elasticsearch.bat启动Elasticsearch安装图形化插件head,用来可视化存储在es中的数据;ElasticSearch入门篇(保姆级教程) - coderxz - 博客园 (cnblogs.com)按照博客教程启动 head,通过浏览器访问es
2023-11-12 17:23:13
914
原创 闭包通俗解释,Demo(Go Java Python)
闭包就好比是一个能够包含函数代码和其相关环境的封闭单元,而且可以在其定义的范围之外继续存在和生效。
2023-10-29 10:06:16
514
1
原创 设计模式之建造者模式
就可以使用工厂模式和Builder模式,相对于工厂模式会产出一个完整的产品,Builder应用于更加复杂的对象的构建,甚至只会构建产品的一个部分。工厂模式主要是有很多的相似的类,把他们放到一个工厂里,在使用时传入一个类名就可以自动的创建,相当于工厂根据类名做了一个分发。建造者模式属于创建型模式的一种,又叫做生成器模式,主要用来进行对象的构建,相比较程序员一步一步的自己去new 方便很多。而创建者模式应用的场景更多是对象的创建步骤比较繁琐,所以将这个比较繁琐的步骤做一个封装,这样在使用时就比较简单了。
2023-04-03 12:00:13
542
原创 设计模式之工厂模式
当我们直接new一个对象比较麻烦时,比如构造方法传参数量太多,或者在构建对象之前需要进行一些其他的操作。再比如创建一个类A要先创建类B,这种使用new比较麻烦时就可以交给工厂去做,还减少了代码的重复。
2023-04-03 11:45:00
392
原创 Mybatis 源码解析(读取xml=>建立数据库连接=>结果映射)
Mybatis框架做了几件事情:读取配置文件XML,生成对应的数据源,解析读取SQL语句,方便后面去执行SQL。在调用相关的函数比如后将MySQL返回的数据和 本地的pojo 类User进行映射,将查询得到的结果转化为java的对象。
2023-03-23 19:47:21
503
原创 Java 核心技术卷1 第一章 java程序设计概述
正像我们在第1版中已经指出的那样,Java并不只是一种语言。在此之前出现的那么多种语言也没有能够引起那么大的轰动。作为一名程序设计人员,常常希望能够有一种语言,它具有令人赏心悦目的语法和易于理解的语义(C+不是这样的)。与许多其他的优秀语言一样,Java恰恰满足了这些要求。有些语言,但是,没有提供一个大型的库。如果想要有奇特的绘图功能、网络连接功能和数据库存取功能就必须自己动手编写代码。正是因为它集多种优势于一身,所以对广大的程序设计人员有着不可抗拒的吸引力。
2023-02-23 23:28:21
1283
原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决方案
使用autoReconnect=true&failOverReadOnly=false,(只对mysql 4之前的版本有效)com.mysql.jdbc.Driver 是mybatis-connection-java 5 及 5 以下的。com.mysql.cj.jdbc.Driver是mybatis-connection-Java 6 及以上的。但是我的这个错误并不是超时,因为wait_timeout 默认是 8小时,而报错信息中的时间只有233ms。以上解决方案的报错信息中的时间一般都很大比如。
2023-02-12 17:19:43
12025
1
原创 Vue 总结四 (ref, mixin, 插件, 插槽, VueX)
Vue 总结四 (ref, mixin, 插件, 插槽, VueX) 和id的区别对于传统标签来说没有区别 都拿到的是 html内容对于自定义的vue 的标签 ,ref拿到的是vue实例对象,而id 拿到的依然是 html内容应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc)使用方式:1. 打标识:```.....``` 或
2023-01-11 18:17:47
680
原创 Vue实现路由(Vue-router,参数传递,编程式路由导航)
当点击上面的 router-link 标签时,router-view标签 所在的位置就会被替换为 A.vue。A组件普通的路由导航需要借助 router-link 标签,也可以用函数来描述路由跳转的逻辑。push在切换vue的时候不会覆盖掉之前的切换记录,之后可以回退到之前的Vue。-- Vue中借助router-link标签实现路由的切换 -->在跳转后的vue中可以通过下面的表达式取出传递的参数。
2023-01-10 21:10:29
873
原创 RabbitMQ 总结一(简介、安装、Demo)
message queue 消息队列MQ是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。逻辑解耦+物理解耦 :使用了 MQ 之后,消息发送上游只需要依赖MQ,不用依赖其他服务。第三步, 声明用来存储消息的队列第四步, 进行消息的发布//publisher/consumer 和 broker 之间的 TCP 连接// 和 mq建立连接。
2023-01-09 11:59:44
1094
原创 RabbitMQ 总结二(MQ原理 通信方式 消息应答机制)
RabbitMQ 总结二(MQ原理 通信方式 消息应答机制) 本来是由 worker2 处理的消息,因为worker2内部发生了异常而导致没有手动消息应答,broker没有收到应答消息于是将消息重新入队,重新分发进行处理。
2023-01-09 11:39:34
1030
原创 Vue 使用过程中的问题总结(npm Nodejs Vue Vue-cli)
vue是一套渐进式,自底向上增量开发(就是根据系统和硬件编写出基层的基本需求代码,再慢慢增加模块),由于他要求遵守的规则较少,你可以引不同自己需要的东西,就需要配合。webpack是一个工具,俗称打包工具,就是把所以浏览器不能识别的东西如(less,scss)等转换为浏览器可以识别的语言如(css),因为vue中需要引入。、gradle十分相似,只不过maven、gradle是用来管理java jar包的,而npm是用来管理js的。
2023-01-03 16:09:54
483
原创 Vue 总结二 (过滤器 自定义指令 生命周期)
局部指令只能是vue实例绑定的元素使用,而全局指令所有的元素都能使用。(1).局部指令:directives:{指令名:配置对象} 或 directives{指令名:回调函数}(2).全局指令:Vue.directive(指令名,配置对象) 或 Vue.directive(指令名,回调函数)
2023-01-01 11:55:08
1034
1
原创 Vue 总结一(简介 基本语法)
2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。举例:v-bind:href="xxx" 或 简写为 :href="xxx",xxx同样要写js表达式,注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。3.备注:使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到。(1).初次读取时会执行一次。双向数据绑定:
2022-12-31 17:09:42
873
原创 JS概览 (JS基础 DOM BOM)
JS概览 (JS基础 DOM BOM) JS 作用域 预解析 DOM事件流 文档模型 BOM相关事件 JS执行机制 事件循环
2022-12-30 22:05:57
979
原创 JS实现轮播图效果(同时播放音频)
目标:切换到对应的角色就播放相应的音频。页面间隔固定时间会切换到下一图片,同时播放对应的音频,比如角色A 对应 音频1 等。图片左右两侧有控件用来切换图片,也就是两个单击事件和一个定时器。
2022-12-27 20:19:18
1026
手写RPC框架代码(带注释)
2022-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅