- 博客(67)
- 资源 (31)
- 收藏
- 关注
原创 Flink中如何使用Jmock 进行学习常规业务的学习与测试
目录1. 在pom中引入jmock 坐标2. 参照 [Jmock介绍](https://blog.csdn.net/u012491646/article/details/109743641) 规则写pojo类型3. 编写业务逻辑类输出结果图1. 在pom中引入jmock 坐标<dependency> <groupId>com.github.a524631266</groupId> <artifactId>jmock-core</art
2020-11-19 16:02:53
329
原创 Mock Annotation for Java 注解mock介绍
文章目录背景项目目标maven项目坐标项目依赖how to use生成一个pojo类。main.java功能介绍1. 接受多层pojo递归嵌套2. 接受正则表达式(支持基本类型/String/Date类型)3. 时间函数4. 容器随机5. 基本数据类型检测方法6. 支持 以@为前缀的语义转换7. 优先级8. 1.1.0 新增内容继承类使用内部类使用详细案例框架支持的类型注解使用方式注意: 注解的表达能力有限为什么不用map?后续进展所有规则均参照前端界比较流行的mock框架:javascript Mo
2020-11-18 16:58:50
1430
原创 netty篇 之基本概念和核心组件(一)
文章目录基本概念IO篇cpu与controller之间的交互方式perform IOIO中的四大基本概念的理解IO 模型演进BIO 模型分析BIO在tomcat上的模型图NIO 模型NIO在Tomcat中的模型图NIO中channel与buffer配套结合channel分类FileChannel实例FileChannel下的[零copy技术模型](https://segmentfault.com/a/1190000021448694)NIO中的buffer的直接内存UDP服务端的channel实现Serve
2020-08-04 12:42:46
596
原创 时间戳范围内正则表达式 生成器 解决方案
需求说明如何求出一个正则表达式,表示在 1324736000 到 1546272000之间的数例如15423232231这个根据正则表达式能够识别出来为true实际应用这个需求是因为由于公司内部rowkey的设计导致的,rowkey为 id+timestampe如果想对整个表中的指定1324736000 到 1546272000范围内的数据进行聚合操作其中一个解决方案是用row...
2019-08-27 22:21:25
1406
6
原创 jupyter由于无法import新包的解决方案
jupyter因为其在python框架下具有一个较为人性化的设计,从而在数据分析,python教学,以及python的快速学习中大放光彩. jupyter作为一个类似于spyder的一种编译器,其美观实用,而且还易于写博客吸引我.但是由于在jupyter模式下写代码的时候,会发现通过pip install package命令行安装package完成之后,无法在jupyter模...
2018-03-25 18:21:33
22265
8
原创 熵(entropy)的自然直观的理解
在机器学习领域有一种叫entropy目标函数,我们想通过调整参数(w,θ)去优化这种目标函数,以达到寻找到的含有某个参数(w,θ)的模型,最大程度上来表示我们想要描述的事件.但是,对于没有接触过熵这种概念的同学,实在是很困惑,熵到底是什么?为什么熵能够代表对原信息的一种度量标准(criteria)?这种想法,也一直困扰着我,感觉"熵"这种高大上的东西,感觉就像"量子物理"的"量子"概念一样
2017-12-24 12:40:51
3812
2
原创 【Java后端进行ai coding实践系列三】一句话,一个命令节约你的固定操作流程。
摘要:本文介绍如何通过配置文件简化AI编程中重复的命令操作。以代码提交为例,通过在.iflow/commands/目录下创建commit.toml文件,预设提交指令的描述和提示语,即可在命令行中快速调用该指令完成代码提交,避免每次重复输入相同命令。这种方法不仅适用于iflow工具,也可用于其他类似平台如Claude Code。文章还提供了iflow官方文档链接,方便用户进一步学习其他指令配置方法。(148字)
2025-10-29 14:32:14
266
原创 【Java后端进行ai coding实践系列二】记住规范,记住内容,如何使用iflow进行上下文管理
避免不同开发者写出风格迥异的代码,让后续维护时大家能快速看懂彼此的逻辑;,不用再为 “变量该用驼峰还是下划线”“接口返回格式怎么定” 反复争论;,规范中藏着无数前辈踩过的坑,比如异常处理规范能避免遗漏关键错误场景,遵循规范就是避开潜在 bug。但现实往往是:刚记住 “枚举要大写”,转头写 Controller 又忘了接口命名规则;团队定好的规范文档存进共享盘,开发时急着写功能根本没时间翻;新成员加入后,更是要花大量时间重新熟悉各种规则。于是我们不得不面对三个核心问题:如何才能真正记住编码规范?
2025-10-28 17:49:35
971
原创 【Java后端进行ai coding实践系列一】如何使用ai coding实现计划任务增删改查
摘要: 本文介绍了使用AI编程工具对项目需求变更进行代码调整的实践过程。原需求要求用户必须同时设置步数和睡眠目标,现改为只需设置其中一个即可。通过AI工具的计划模式,分三步完成修改:1)移除实体类中的@NotNull注解;2)添加自定义校验注解@ValidateGoalTargets;3)实现ConstraintValidator校验器确保两个目标不同时为空。整个过程展示了AI辅助编程的高效性,从需求分析到代码生成的完整流程仅需简单提示即可完成,大大提升了开发效率。
2025-10-27 18:04:07
1255
2
原创 市面上比较流行的AI浏览器,这里给你们整理一下
2025年AI浏览器正迎来智能浏览新时代,主要分为三大类:代理式浏览器(如Comet、ChatGPT Atlas)可自主执行复杂任务;集成式AI浏览器(如Edge Copilot、Brave Leo)深度融合AI助手提升生产力;扩展式AI助手(如豆包、Phew AI Tab)以插件形式增强现有浏览器功能。这些浏览器通过大语言模型实现网页总结、任务自动化、实时翻译等智能功能,市场年增长率达150%。建议用户根据需求选择,并优先考虑本地处理模型以确保隐私安全。
2025-10-27 14:19:29
1329
原创 【Deepseek OCR】重磅测试,mac环境下的体验【本人已经本地实验成功】
本文介绍了在Mac本地环境部署DeepSeek-OCR模型的过程。该模型是30亿参数的开源OCR工具,具有高压缩率和识别精度。作者详细记录了从下载模型、创建conda环境、安装依赖到解决常见报错(如镜像下载问题、CUDA兼容性)的完整步骤。测试结果显示模型识别准确但速度较慢,后续计划集成Gradio界面。文章还提供了调整后的代码仓库地址,方便读者参考使用。整个过程展现了如何在非CUDA设备上成功运行大型OCR模型的技术实践。
2025-10-23 15:40:16
1686
原创 搭建一个属于自己的mac摄像头视频流rtsp服务
基于上一篇从RTSP到HLS:构建一个简单的流媒体转换服务(java spring),我们搭建了一个rtsp转hls的服务,那么如何生成一个rtsp服务?我们本地电脑(本人用的是mac)是否可以搭一个采集摄像头的rtsp服务。答案是显然的,本文可以通过ffmpeg采集摄像头的视频流,并推往一个rtsp服务的功能。使用FFmpeg实现捕获摄像头并生成RTSP流,需要结合RTSP服务器一起工作。FFmpeg主要负责采集摄像头数据并推送到RTSP服务器,而RTSP服务器则提供RTSP协议的访问端点。
2025-09-23 15:26:50
947
原创 从RTSP到HLS:构建一个简单的流媒体转换服务(java spring)
本文介绍了如何用Java Spring构建RTSP转HLS的流媒体服务。RTSP协议适用于实时流媒体传输但不兼容浏览器,而HLS基于HTTP可在浏览器直接播放。项目采用Spring Boot框架,集成FFmpeg进行流媒体处理,提供HTTP接口管理转换任务。核心功能包括协议转换、Web服务和页面管理,主要流程涉及任务启动、RTSP探测、FFmpeg转码和状态管理。该项目为浏览器播放RTSP流提供了简单解决方案,未来可扩展多路流支持和优化错误处理。
2025-09-17 10:25:48
982
原创 java中关于异步转同步的一些解决方案的对比与思考。【spring mvc堵塞式】
我们知道kafka监听事件的时候如果是非广播模式的话,那么消费的信息可能在任一节点中,如何保证消费的数据是在一个节点上的呢?可以使用如下的技术方方案,通过 nodeID与lisenterId进行关联,消费到的时候不属于当前节点,那么转发请求到指定节点。会发现,最后超时之后,仍然会执行成功,不过deferredResult里面的结果被填充。方案可能还有更多,比如使用zookeep去做,那么方案很多,适合自己的才是最好的。:通过分区键将消息路由到目标节点,效率最高。DeferredResult超时了。
2025-06-22 22:02:50
1154
原创 Idea 如何配合 grep console过滤并分析文件
grep console插件]()右击打开文件目录,选择 tail in console 同时可以添加自己的快捷键。 随后会在idea的菜单栏中出现tail菜单。这里,接下来在tail菜单模块中使用邮右键这样可以愉快地使用grep功能了grep console插件安装插件。
2025-04-29 11:36:25
708
原创 全网唯一能解释通的-jvm锁升级的过程状态机流程描述
简述锁升级的初始化状态对象在被一个线程持有的过程中,会转化为偏向锁状态,当未释放时候,又来了一个新线程,此时线程会通过cas锁记录空间,如果成功,那么锁对象状态变更为了轻量锁,如果没有成功,此时锁状态会升级为重量锁。这是一个很简单的描述,但是需要心里对锁对象状态的流转要非常清晰,才能够。
2025-04-09 17:25:03
581
原创 Spring Cloud Gateway: get “Connection has been closed BEFORE response, while sending request body“
背景: 上传文件超过100M,出现了网关导致的问题。可以通过debug,可以发现,在调用链的过程中。
2023-07-06 09:27:00
2329
1
原创 arthas 源码分析 篇一 【结构篇】
这些模块并不影响核心模块的,只是在核心之上更多元化,满足用户的各种应用层面上的需求,比如弄个web界面,比命令行使用起来更方便。该式在用户启动目标jar包的过程中附属 arthas-agent.jar 包,在agentjar包中根据Premain-Class指定的类中premain方法动态修改字节码。b) 通过 attach方式,在agentjar包中根据Agent-Class指定的类中定义的agentmain方法中作为主入口加载并在运行时【实时】修改字节码。给定指定的class,返回对应的实例。
2023-03-26 21:39:02
1469
原创 个人开发的idea工具插件-json美化、时间戳转换、gif制作
上图有2个tab,在first这个tab中,又有3个tab,根据自己平时的工作上时常要上网去搜索查询json美化和时间戳解析的问题。自己想着直接在idea中的toolWindow中自己搞个小工具,多方便。同时为了写这篇文章用工具生成了一个mov、map4视频文件,想要转换成gif文件,也开发了第三个tab。这个工具做得比较简陋,不过本着实用的原则,各位看官就先忍忍。如果想要源码,可在下面评论,私发连接给你。自从开启了idea插件开发路程以来,得到了很多启发,下面根据自己的实际情况做了一些插件的小工具。
2023-03-24 23:20:22
1097
原创 比较好用的几款idea插件
我会持续在本文中添加一些有趣的插件。1、UI插件2、火焰字3、CodeGlance显示代码缩略图插件4、智能关键字记忆插件codota5、rainbow 括号灾难对于Lisp语言的开发是友好的6、idea插件开发工具。
2023-02-18 21:07:23
332
原创 汇编指令环境搭建已经基本指令操作
是用来查看cpu中各个寄存器相关指向地址的。寄存器就是cpu要执行指令的临时存储单元。cpu执行的指令依赖于寄存器所指向的内存地址内包含的数值。这些数值又可能是数据,有可能是指令。默认情况下可以理解data的含义,查看当前cpu所指向的查看的位置中的数据。-d 0000:9 表示段地址 0000 加上 偏移地址9。-d 0000:0 e 表示查看多少数据 e表示十进制中的15。段地址和偏移地址的组合确定了内存的物理地址。其他命令 r ax 表示编写ax寄存器的内容。多次输入d 会翻页查看内容。
2023-02-04 22:07:59
513
原创 记录一次gateway HandlerStrategies.withDefaults().messageReaders() 导致的内存炸裂的问题
年前出现了一次内存炸裂的生产事故。导致其他请求无法请求通过。[boundedElastic-55] [Loggers.java:314]:Scheduler worker in group main failed with an uncaught exception根据调用栈找到最先的代码片段目的是为了保证在gateway某次请求不限制body大小的问题,需要从网关的策略类中拿到一些reader,并且修改当前read的读取字节的大小。本来是一个比较简单问题。反而在gateway使用过程中,频繁发生
2023-01-18 14:48:04
2243
4
原创 Spring StateMachine 使用@WithStateMachine 遇到的transition报错,状态无法回滚的问题
所以用户在使用spring stateMachine中的注解@WithStateMachine 的时候要切记,这个方法只是一种监听器行为,而不会控制状态的流转。可以看到notifyTransition ,这个含义就是通知的意思,其语义就是一种监听行为,监听transition转换过程中发送的状态变化时候执行的操作。在使用注解的时候,这里特意去抛一个异常,场景是很常见的,在不知道哪个步骤里面,可能动作【action】会涉及到数据库存储、外部调用,往往会出现异常的情况。此时,doAction。
2022-09-15 17:15:49
2208
2
原创 flink 设置checkpoint路径遇到的部署问题[Cannot support file system for ‘hdfs‘ via Hadoop]
flink 设置ck遇到的部署遇到的问题1、 增加 core-site.xml文件 和 hdfs-site.xml这两个文件需要在集群的hadoop集群中找2、 需要在main方法中添加3、 需要在项目中引入hadoop版本通过4、 添加 checkpoint路径前提是flink用户需要有hdf集群的查看权限如果使用 rockeddbStateBackEnd需要添加依赖以上是设置增量ck需要做的代码设置。配置rocksdb保存checkpoint时,idea运行报错5、 确定设置了Co
2022-06-27 10:49:36
2446
原创 java Spi实战
SPI实战网上已经有很多介绍了SPI机制的文章,写得都非常棒。然而计算机是一门实战课程。最重要的是要把理论的知识转化为实战嘛。SPI使用场景略。实际中,如果真的用上,也是极少的。毕竟不常用。但是有一点可能很少有讲的。那就是SPI是支持双亲委派机制的。言外之意就是,当普通用户在使用接口规范方的接口的时候,需要在pom包中依赖一些实现接口规范的厂商的jar包,这个jar包可以单独存在于$JAVA_HOME/jre/lib【boot加载器加载的目录】$JAVA_HOME/jre/lib/ext 【.
2022-04-19 22:08:19
658
原创 flink 窗口 核心部件 - WindowOprator 算子计算过程
文章目录windowsOprator1. StreamRecord(流记录)timestamp的理解2. 窗口 WindowwindowAssigner3.如何判断延迟4. 窗口状态保存全局窗口状态如何使用全量窗口?增量窗口状态如何使用增量窗口?总结5. trigger 判断是否可以继续执行triggerContexttrigger 状态定义(TriggerResult)TriggerResult 触发窗口计算的前提条件。trigger应用!!!6. 触发窗口计算看不到图的可以通过这个链接查看wind
2021-04-02 18:52:23
646
原创 Flink 1.11.0 job提交流程源码解析(精髓)
文章目录1. 首先StreamExecutionEnvironment是流作业的一个执行环境2. StreamGraph的创建3. 异步创建一个JobClient客户端1. 创建一个执行器。2. pipeline到jobgraph的转化1.激活配置文件(准备JobGraph的配置)2. 翻译Translator (执行JobGraph转化)异步提交任务到Cluster(集群)中,并获取Job客户端1. LocalExecutor 构建器2. RemoteExecutorRestServerEndpoint
2020-10-24 08:43:19
1525
原创 DFA如何识别一个被3整除的数字串的正则表达式
需要具备的只是 编译原理 前第三章(词法分析,大概花个17个课时就可以了,读者要是感兴趣的话,可以多多深入了解)东南大学 廖力老师的编译原理很不错,推荐读者自己看看,(考前必备良品!)基本概念讲解即如下知识正规集,在编译原理中叫做 语言->L(α)L(\alpha)L(α) ,也就是说有句子的集合(这里要对句子有个非常清晰的理解,句子就是符合语法规则的字符串(更准确地应该叫做终结...
2020-04-22 13:34:10
3791
原创 gitlab shared runner 实战篇
文章目录假设用户在本机中有完善的docker执行环境以及k8s环境gitlab CI/CD 自动构建步骤概念 1 runner的执行环境1. gitlab 运行命令 查看gitlab配置2. gitlabrunner 执行一个可以运行runner的docker容器3.进入 gitlab-runner 内部构建mvn docker 以及其他文件, 用来生成一个镜像3.1 两种方式创建executo...
2020-04-08 15:20:47
2799
原创 位图实现(Java版本)
文章目录本质位图映射规则如何判断位图中是否存在某数代码实现java实现类是否因为hbase中的布尔过滤器的实现而感到疑惑呢?其实布尔过滤器这种存储结构的基本设计原型来源于位图的设计思想。本质位图其本质就是hash函数的一种设计实现,很多地方都会用到hash设计,比如java中的hashmap数据结构其底层仍然是以hash函数映射的数字作为key,其value是以链表方式存储碰撞数据位图映射...
2020-01-13 13:49:30
3163
原创 git抽离与瘦身场景-抽离子项目以及删除git中无用的大文件
目录1. 抽离场景---从大项目中抽离一个独立文件夹作为新的子项目0. 查看git大小1. 查看有哪些大文件(top 10)2.在总项目之外任一地方创建一个空项目,并通过本地项目进行动态拉取项目3.查看新项目目录大小2.瘦身场景--独立项目删减大文件(夹)场景0. 查看git大小1. 查看有哪些大文件(top 10)2. git filter-branch...
2019-12-02 14:15:10
646
原创 spark streaming2.4.0 任务启动源码剖析
文章目录官方案例StreamingContextDStreamGraphDStream调度篇输入流的注入与开启输出流的注入流动?官方案例首先以官方启动入手object SparkStreamingTest { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("aaa")....
2019-11-13 14:58:43
400
原创 spark2.4.0 sql dataframe向上补齐操作(含udaf操作)
文章目录方案一方案二思考方案一使用窗口函数以及index实现具体操作放大图查看方案二使用窗口函数的特性以及spark2.4.0 新的array特性进行结合具体操作放大图查看其中所指的窗口函数聚合函数(index索引) over(order by index rows between unbounded preceding and current row)表示针对每...
2019-11-04 11:44:50
1156
原创 spark sql 高阶函数介绍
文章目录背景transformtransform 嵌套执行(nest)existsaggregate 聚合背景An Introduction to Higher Order Functions in Spark SQLNested data types offer Apache Spark users powerful ways to manipulate structured data. ...
2019-11-04 11:14:22
1060
原创 Linux shell 整理之 语法结构篇(五)
文章目录背景条件分支语句if条件分支if then 最基本的语句if then elseif then elif then elsecasetest处理特殊条件使用[]来代替test函数高级判断复合判断(( expression )) 高级数值比较[[ expression ]] 高级字符串比较循环语句for基本语法稍微复杂一些的结构for循环注意的双引号问题练习题目for循环与重定向的结合wh...
2019-10-10 23:37:17
288
原创 spark-submit 到底做了什么
文章目录本文的目的是提升linux shell脚本的功力,以及熟悉spark-submit提交的具体流程spark-sumbit*第一段背景知识综合案例解读第二段背景知识解读第三段背景知识解读总结语本文的目的是提升linux shell脚本的功力,以及熟悉spark-submit提交的具体流程spark-sumbit*#!/usr/bin/env bashif [ -z "${SPARK...
2019-10-09 21:58:30
854
原创 Linux shell 整理之 复合命令行篇(四)
文章目录开篇前置命令和后置命令异常(非零状态码)状态码输入输出重定向符a) 输出重定向 与 内联输出重定向的区别b) **++输入重定向++** 与 **++内联输入重定向++**扩展 标准输入(0),标准输出(1),标准错误(2)c) 临时重定向 (>&)d) 永久重定向 (exec)永久改变输出永久改变输入exec 扩展管道参考资料前置参考文章Linux shell 整理之 ...
2019-10-09 16:14:19
1573
原创 Linux shell 整理之 用户权限篇(三)
文章目录用户管理useradd 发生了什么如果useradd某个设置经常被改动userdelusermod批量修改密码用户组GID值修改/ect/group文件UMASK 水印修改文件类型权限S 共享权限(!!!!)用户管理核心文件 /etc/passwduseradd 发生了什么其中会默认在创建用户的时候把/etc/skel/中的目录作为新用户的起始文件如果useradd某个设置经...
2019-10-08 13:47:13
933
计算机数据可视化基础
2017-12-29
HTML5 Canvas游戏开发实战
2017-10-30
A Computational Approach to Edge Detection (1986)
2018-04-09
elasticsearch-analysis-ik-7.1.0.zip
2019-07-17
zeal-for-develop.zip
2019-07-05
Cupertino-iCons-master.zip
2019-06-15
window python scrapy出错需要的包
2018-03-14
[超级智能:路线图、危险性与应对策略].(英)尼克·波斯特洛姆
2017-03-09
Tensorflow 实战Google深度学习框架 才云,郑,顾 完全版
2017-10-12
THREE.JS开发指南.zip
2017-10-30
Python源码剖析-深度探索动态语言核心技术.陈儒.扫描版
2017-09-13
Jaspersoft Studio community edition 6.21.5 for mac
2025-11-10
Stream+Processing+with+Apache+Flink2019.pdf
2020-09-29
antlr-intellij-plugin-v4-1.14.zip
2020-04-27
r-devtools-package-development.pdf
2019-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅