NOT

java设计模式之策略模式的优雅实现

策略模式是开发中常用的一种设计模式,主要解决在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护的问题。看了网上很多关于策略模式的上下文切换类实现都不甚优雅,故而想总结分享一篇自我感觉比较优雅的处理方式,方便大家一起学习。方式一:使用@PostConstruct初始化到map中 ......
模式 设计模式 策略 java

帆软报表公式

1、排序:seq() 2、隔行换色:row()%2==0条件格式; 3、去重计数:过滤条件seq($$$)==1 4、汇总去重公式:count(UNIQUEARRAY(value('ds1',4))) 5、按列分组去重公式:count(UNIQUEARRAY(value('ds1',4,18,b2) ......
报表 公式

再见,Spring!你好,Solon!

Java 新的生态:更快、更小、更简单。 启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk21;支持 graalvm native image。 ......
你好 Spring Solon

赌徒思维到底多可怕?

赌徒思维到底多可怕 从小接触钱之后对钱的意识很淡薄,要么就是大手大脚想买啥买啥,一气呵成,要么就是啥都不舍得买,衣食住行都是最简单的。 当我没钱回老家的时候,我家是农村养鸡户目前6000只蛋鸡,我爸一直在家送鸡蛋往外面商店,以前曾想过在家讨生活。但是觉得跟父亲性格格格不入。 他的想法是让我跟着送鸡蛋 ......
赌徒 思维

java 上传大文件

Java上传大文件实现方法简介在开发过程中,我们经常会遇到需要上传大文件的需求。本文将教会你如何用Java实现上传大文件的功能。 整体流程首先,让我们来看一下实现上传大文件的整体流程。下面是一个流程表格: 步骤 描述1 创建一个文件上传表单2 在后端编写一个接收上传文件的控制器3 将上传的文件保存到 ......
文件 java

FreeRTOS上移植RT-thread的at组件

因为一开始用的是FreeRTOS,因此,项目中的RTOS也是FreeRTOS,但是在项目开发过程中,发现需要解析AT指令集, 因此来移植一波RT-thread的软件包。下次就用RT-thread了,纯纯浪费时间移植。 首先捋清大概思路。 1. 串口接收中断被外界消息输入触发,中断在回调函数中将消息内 ......
组件 RT-thread FreeRTOS thread RT

倾斜摄影三维模型的根节点合并注意事项浅析

三维工厂K3DMaker是一款三维模型浏览、分析、轻量化、顶层合并构建、几何校正、格式转换、调色裁切等功能专业处理软件。可以进行三维模型的网格简化、纹理压缩、层级优化等操作,从而实现三维模型轻量化。轻量化压缩比大,模型轻量化效率高,自动化处理能力高;采用多种算法对三维模型进行几何精纠正处理,精度高,... ......
节点 注意事项 模型 事项

TypeScript入门到精通——泛型

泛型 泛型程序设计是一种编程风格或编程范式,它允许在程序中定义形式类型参数,然后在泛型实例化时使用实际类型参数来替换形式类型参数。通过泛型,我们能够定义通用的数据结构或类型,这些数据结构或类型仅在它们操作的实际类型上有差别。泛型程序设计是实现可重用组件的一种手段。 一、泛型简介 ......
TypeScript

简单的版本管理

需求 一个至少包含两个维度的表格数据,需要对表格数据实现版本管理 分析 基础的版本管理至少需要实现以下功能: 1、版本保存 2、版本预览 3、版本回滚 在数据库建立一张包含“版本号”、“内容”两个字段的版本控制表,用来保存版本数据; 由于后端是将数据以列表形式传递给前端显示的,因此在保存到版本表时可 ......
版本

VSCode如何把代码转换成一行

或者mac直接 ctrl + j,可以把选中的代码转成一行。 https://www.fengnayun.com/news/content/314947.html ......
一行 代码 VSCode

使用网络测试仪对nfs服务进行挂载读写测试

测试目的:Supernova网络测试仪是否支持对NFS服务进行测试 测试拓扑: NFS服务器准备: 开启NFS服务,并开放一个目录 Supernova测试仪创建测试用例操作: 测试结果验证: ......
测试仪 网络 nfs

第九周学习

# 定时器与时钟编程 本文档介绍了如何在编程中使用定时器和时钟功能。定时器和时钟是计算机系统中常用的工具,用于执行特定的任务和跟踪时间。我们将探讨定时器和时钟的基本概念,以及如何在不同编程语言中使用它们。 ## 定时器 定时器是一种计时设备,用于测量时间间隔或执行特定的任务。在编程中,我们可以使用定 ......

第十章 数据库连接池与DBUtils工具

目录一. 单选题(共5题,50分)二. 判断题(共5题,50分) 一. 单选题(共5题,50分) (单选题) 已知,存在 QueryRunner对象 runner , SQL语句:String sql = "select * from user where id=?";下面操作中,能实现查询指定记录 ......
DBUtils 数据库 工具 数据

实验三

实验3.1 实验3.1源码 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> #define N 80 void print_text(int line, int col, char text[ ......

CF1889B

题面 给一个 \(n\) 个点的图,每个点 \(i\) 有点权 \(a_i\),初始图上没有边,你可以进行如下操作若干次: 若 \(S_i+S_j\ge i\times j\times c\),添加一条边 \((i, j)\)。其中 \(S_i\) 表示 \(i\) 所在连通块的点权和,\(c\) ......
1889B 1889 CF

界面控件DevExpress WPF Gauge组件 - 轻松实现个性化商业仪表盘

DevExpress WPF Gauge(仪表)控件包含了多种圆形仪表类型、水平和垂直线性仪表、分段和矩阵数字仪表以及状态指示器,同时还具有最终用户交互性的集成支持。 P.S:DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpr ......
仪表盘 控件 DevExpress 组件 界面

Sourcetree 合并分支到主干

现在要合并dev分支到prd分支 1、首先切换到dev分支,然后拉取代码,然后切换到prd分支,拉取代码; 2、然后右击dev分支 3、选择合并dev分支至当前分支(当前分支为prd分支) 4、然后prd分支会显示有多个文件待推送,推送到仓库即可 ......
主干 分支 Sourcetree

多线程,多进程,协程,IO多路复用

关于Python Python有多进程,且原生支持协程,但是由于GIL全局锁的存在,Python只有假多线程,即单线程轮流执行多个任务,常用于IO任务的阻塞等待当中。 多线程 即一种基于内核态工作的异步运行方式。对于多核CPU而言,只有多线程和多进程才能真正的充分调用CPU的多核工作。但是由于用户态 ......
线程 进程

mysql修改密码的四种方式

mysql修改密码的四种方式 1、set password命令 (需登录) set password for root@localhost = password('123456'); 2、mysqladmin (无需登录,但需要知道原密码) mysqladmin -uroot -p12345678 ......
密码 方式 mysql

C# Socket网络编程

入门级C# Socket编程实现 只要知道要通信的两台主机的IP地址和进程的端口号,然后可以用Socket让这两个进程进行通信。 在本机上运行服务端和客户端,ip为127.0.0.1,使用端口9050(0~1023的端口号通常用于一些比较知名的网络服务和应用,普通网络应用程序则应该使用1024以上的 ......
网络编程 Socket 网络

转:ChatGLM3-6B测评

全新ChatGLM3-6B针对七项RAG能力的评测,谁最适合RAG? 原创 这个男人来自千祥 土猛的员外 2023-10-30 17:32 发表于浙江 https://mp.weixin.qq.com/s/6fnZt2sBTakfXZMcS-scPA 1.实体提取 实体和关系提取当然也可以使用NER ......
ChatGLM3 ChatGLM 6B

前端利用oss图片地址返回url下载zip包

// 首先引入插件npm install jszip // 导入项目import JSZip from 'jszip' // 利用canvas.toDataURL 转换base64方法下载图片 downZip() { // 测试数据 let downLoadImageList = ['https:/ ......
前端 地址 图片 oss url

记一次老商家端应用内存突然飚高原因分析

一、排查过程 问题发现是因为当时接到了内存UMP报警信息,如下: 通过查看PFinder发现内存一直在增长,没有停止迹象,触发fullGC也并没有下降趋势: 当机立断,先立即去NP上摘除了此台机器流量,然后继续观察,发现内存依然在不断增长。 随即查看故障分析,并没有得到有效信息: 因为流量已经摘除, ......
原因分析 内存 原因 商家

LINUX下ORACLE表空间及用户创建

LINUX下ORACLE表空间及用户创建 记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@ip:port/sid AS SYSDBA 管理员用户登录o ......
用户 ORACLE LINUX 空间

你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(中)

通过对TCP/IP协议的深入研究,我们可以更好地理解网络通信的整个过程,以及各个协议在其中的作用。这对于我们理解和解决网络通信中的问题非常重要。希望通过本文的学习,能够对TCP/IP协议有更深入的了解,并能够应用到实际的网络通信中。 ......
步骤 背后 只是 网址 网页

聊聊多层嵌套的json的值如何解析/替换

前言 前阵子承接了2个需求,一个数据脱敏,一个是低代码国际化多语言需求,这两个需求有个共同特点,都是以json形式返回给前端,而且都存在多层嵌套,其中数据脱敏的数据格式是比较固定,而低代码json的格式存在结构固定和不固定 2种格式。最后不管是数据脱敏或者是多语言,业务抽象后,都存在需要做json值 ......
多层 json

c++ ftp上传下载

#include <afxinet.h> int main(){BOOL dRes,pRes;HINTERNET hInternet;HINTERNET hConnect; hInternet = InternetOpen("A3GS Sample", INTERNET_OPEN_TYPE_DIRE ......
上传下载 ftp

SFNet_FFTBlock验证模块的有效性

五、序号5,使用identityConv进行残差连接,最后对增强后的幅值、增强后的相位、空域进行Concat class YYBlock(nn.Module): def __init__(self, in_channel=3, out_channel=20, relu_slope=0.2): sup ......

新手使用nodejs的SerialPort获取数据时需要注意的一个小点

onData(callback: (data: Buffer) => void): void { if (this.serialPort != null) { this.serialPort.on("data", (data: Buffer) => { callback(data); }) } } ......
小点 SerialPort 新手 数据 nodejs

livecd修改系统密码

1. 制作livecd引导盘,从livecd启动设备 2. 将原系统作为普通硬盘挂载到livecd系统上 注意:如果原系统做了lvm,需要挂载逻辑卷 mkdir /mnt/system mount /dev/mapper/openkylin-root /mnt/system 3. chroot到原系 ......
密码 livecd 系统