- 博客(210)
- 收藏
- 关注
原创 Django学习笔记
`prefetch_related()` | **一对多(OneToMany)、多对多(ManyToMany)**、反向 ForeignKey | **先查主表,再用 IN 查询关联表**,通常 2 次或更多查询 | ❌ 否(是“分步查”,不是 JOIN) | 加载集合(如 `task.annotations`、`user.groups`) |> 它专门用于高效加载 **一对多、多对多** 的关联数据集合,**避免 N+1 查询问题**,→ 一次查询搞定,适合“一对一”或“单值外键”。
2025-12-25 11:55:20
317
原创 docker构建和启动
以后再次构建:docker-compose up -d --build (构建并重启)构建:docker-compose build --no-cache。启动:docker-compose up -d。
2025-12-22 15:25:08
74
原创 GIT使用方法
在本地git命令行执行:ssh-keygen -t ed25519 -C "your_email@example.com" -f /root/.ssh/id_ed25519。没有这个后缀的是私钥保存在本地,使用git的时候会携带私钥发送到git服务端。弱国本地删除了私钥就会认证失败无法使用git。其中ed25519是密钥文件名字 "your_email@example.com" 是一个提示可以任意填写。-f后面的 /root/.ssh/id_ed25519 是保存的位置。
2025-12-19 19:19:02
576
原创 TypeScript语法
types - 定义数据结构形状 - 组合多个模型(类似多重继承)类型检查器 - 确保数据符合定义运行时验证 - 在创建和更新时验证数据序列化支持 - 自动转换为纯JS对象这种架构的优势✅强类型安全:减少运行时错误✅代码复用:通过组合复用功能✅可维护性:清晰的关注点分离✅开发体验:优秀的TypeScript支持✅性能优化:精确的响应式更新这就是为什么 Label Studio 选择 MST 来构建其复杂的状态管理系统——它提供了类型安全、可组合性和响应式更新的完美结合。
2025-12-16 20:07:48
260
原创 react的3中请求
📘 前端 API 调用方式详解:`fetch` vs `callApi` vs `API.invoke`> **适用读者**:React + TypeScript 开发者,Nx + Django REST Framework 项目使用者> **目标**:理解三种主流前端 API 调用方式的原理、适用场景与权衡---
2025-12-05 14:58:21
641
转载 多级缓存,毫秒级
通过自定义一个 Spring Boot Starter,并巧妙地利用了CaffeineRedis以及 Spring 的抽象,我们成功地将多级缓存这一复杂的分布式系统模式,封装成了一个对业务开发者完全透明的、基于标准注解的解决方案。
2025-08-25 12:00:05
112
转载 还在用Collectors.toList()?你可能错过了Stream API 90%的精髓!
它接收一个分类器函数 (classifier function),并按该函数产生的结果(即键)对元素进行分组,最终返回一个。的次数比你能数的清的还多。这是在满足特定条件后,对元素进行计数的最简洁的方式之一,尤其适合在对流进行过滤之后使用。非常适合用来生成 CSV 数据、用户友好的输出内容,甚至是可读性高的日志消息。返回流中元素的总数(在应用了你设置的任何过滤器之后)。——用简单的语言解释,并提供你可以立即上手的示例。将一个字符串流连接成一个单一的字符串。让我们一起,让你的 Stream 操作更智能吧。
2025-07-17 21:34:33
127
原创 IntelliJ IDEA开发中,合理使用插件可以显著提升开发效率、代码质量和开发体验
功能:强制代码风格检查(如缩进、命名规范),支持自定义规则(如Google Java Style、Sun Code Conventions)。功能:快捷键提示工具,当你使用鼠标操作时,提示对应的快捷键,帮助记忆常用操作(如 Ctrl+S 保存、 Alt+Enter 修复)。功能:实时检测代码中的Bug、漏洞和代码异味(Code Smell),支持Java、JavaScript等多种语言。功能:自定义IDE主题,提供多种配色方案(如暗色/亮色)、图标包(Material Design),提升视觉体验。
2025-06-25 06:47:30
604
转载 JRebel插件下载,离线激活 热部署插件
在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,例如使用devtool来实现热部署,但是在功能上它也有所限制,如果新增方法或者修改方法参数后,热部署是不生效的。因此对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。
2025-06-20 15:20:13
3835
原创 Oracle 下载网址
下载网址https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html
2024-11-03 04:37:03
937
1
原创 minio在windows系统上安装配置
下载安装包后在cmd窗口运行.\minio.exe server C:\minio --console-address :9000 --address :9001完成安装。可以从 MinIO 的官方网站(安装完成后,需要使用。
2024-11-03 04:33:37
436
原创 时序数据库TDengine窗口函数
select ts, lp_index,max(lp_value), lp_project_id, lp_variable_uri, lp_time_ticks, lp_value_type_value, lp_value, lp_unit from weixingdata.tdm_lp_original_datawhere lp_time_ticks >= '2023-11-27 12:38:41' and lp_time_ticks
2024-02-19 10:01:29
917
原创 循环数据4种方式
总结起来,如果你正在处理非常大的数据集,并且任务是 CPU 密集型的(而非 I/O 密集型),并行流可能会提供一些性能优势。然而,并行流会引入额外的复杂性,因为它们涉及到线程管理和可能的任务调度开销。通常情况下,不同操作的速度会因为数据的大小、数据的性质、系统的当前负载以及CPU核心的数量等诸多因素而不同。(for-each循环)是最直接的方法,因为它有直接的内存访问,并且开销较小。)在内部实现上稍微高效一些。在任何情况下,选择最佳方法的关键是了解你的数据和计算的特点,并且进行适当的基准测试。
2024-02-02 15:37:10
575
原创 时序数据库Tdengine 批量插入避免因为主键ts时间重复导致数据被覆盖掉
使用now() + #{index}a 其中那这个 #{index}是标签里的循环出来的index。
2024-01-25 14:41:53
2270
原创 vue使用Promise.all可以同时执行多个异步操作,,并将这些异步操作的结果一并返回
vue使用Promise.all可以同时执行多个异步操作,,并将这些异步操作的结果一并返回异步同步
2024-01-24 15:58:00
1215
原创 时序数据库
进行填充后,12:10的值将会被设定为一个线性插入值,这个值将会介于12:00和12:20的值之间。在这个例子中,由于12:20的值增加了10(从100到了110),那么线性插值的结果将会是105。它假设相邻的数据点之间的值变化是线性的,并且基于此来计算缺失点的值。进行填充后,12:10的值将会被设定为前一时间点12:00的值,即100。选择使用哪种方式取决于数据的性质和特点,以及您希望如何处理数据缺失的策略。子句结合使用,提供了对于在指定间隔内可能存在的数据空缺的填充策略。能够保持数据的平滑性,而。
2024-01-08 18:26:40
1413
原创 idea配置grpc工具生成java代码,目前没有成功生成java代码
在idea的Terminal里执行:mvn org.xolstice.maven.plugins:protobuf-maven-plugin:compile。
2023-12-13 17:11:03
492
原创 特定的插件(由其groupId、artifactId和version标识)旨在将Spring Boot应用程序打包为一个Windows服务,即在Windows操作系统中可以作为守护进程(Daemon)
当你使用Maven来构建项目时,这个插件将会在打包阶段自动执行,帮助你把Spring Boot应用程序打包成可以作为Windows服务安装和运行的形式。这使得Spring Boot应用程序部署在Windows环境中更为方便,尤其是在生产环境中需要长期运行的情况下。,这表示这个插件的目的是将Spring Boot应用程序作为Windows服务来运行。: 插件的所属组织或者个人的groupId,这里是。: 插件的artifact ID,这里是。: 插件的版本号,这里是。: 指定插件的执行配置。
2023-11-22 16:51:29
405
原创 Sublime Text 3 格式化xml、php、html、js、css 插件安装配置
Sublime Text 3 格式化xml、php、html、js、css 插件安装配置
2023-09-26 16:35:32
3087
原创 Thrift协议以及限制下载文件大小配置和限制上传文件大小配置
前两层都是通用的与具体业务无关的,processor则为根据idl生成的处理代码,processor都实现了如下接口。如上图,thrift共分为server,processor,protocal,transport四层,server一般由rpc框架自己实现,handler为业务开发人员实现的业务逻辑,processor为thrift根据idl自动生成的代码,protocal,transport则为通用类库,rpc框架根据需要进行选择。在服务端将数据编码成实际传输的格式,支持json,压缩,二进制等格式。
2023-09-13 18:41:00
441
原创 将一个对象的属性赋给另一个对象 通过一个mapping进行属性映射 mapping 为 src:dest 的属性名称
【代码】将一个对象的属性赋给另一个对象 通过一个mapping进行属性映射 mapping 为 src:dest 的属性名称。
2023-09-07 15:12:34
242
MQTT协议原理浅析、协议主要特性
2023-02-17
springBoo 核心原理、启动流程 echarts核心技术
2023-02-17
WebSocket+ SpringBoot
2023-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅