- 博客(1202)
- 收藏
- 关注
原创 供应链计划性能优化解决方案-Clickhouse本地Join
本文主要针对供应链计划业务发展过程中系统产生的瓶颈问题的解决方案进行阐述,并且分享一些问题解决过程中用到的一些工具方法,希望对其他业务同类问题提供启发,原理细节不着重介绍,如有兴趣欢迎一起探讨。
2025-05-27 14:45:08
433
原创 【node】Session认证机制
身份认证指通过一定的手段,完成对用户身份的确认。web开发中常见的身份认证:手机验证码登录、邮箱密码登录、二维码登录等。不同开发模式进行身份认证服务端渲染推荐使用Session认证机制前后端分离推荐使用JWT认证机制Cookie是存储在用户浏览器的一段不超4KB的字符串,它由一个名称、一个值和其它用户控制Cookie有效期安全性使用范围的可选属性组成。不同域名下的Cookie各自独立,每当用户客户端发起请求时,会自动把当前域名下所有未过期的Cookie 一同发送到服务器端。自动发送域名独立。
2025-05-27 10:47:23
517
原创 从零理解PID控制:小球仿真到代码实现,手把手教你掌握工业级控制算法
很多人应该都听说过PID,它的运算过程简单,并能在大多情况下实现较好的控制效果,因此它是工程实践中使用最广泛的控制方法之一。抛开公式,我将带你从案例出发,详细了解PID的工作原理和使用方法。注:阅读本文不需要有过多的基础知识,只需中学物理和数学知识就能看懂(当然如果有高等数学知识和单片机知识的话理解起来会更容易)我们假设有一个一维的坐标轴(向右为正方向),在上面上有一个小球(可以看作质点),小球不受任何阻力,可以自由左右滑动;
2025-05-26 22:21:00
489
原创 Java的SPI机制详解
SPI(Service Provicer Interface)是Java语言提供的一种接口发现机制,用来实现接口和接口实现的解耦。简单来说,就是系统只需要定义接口规范以及可以发现接口实现的机制,而不需要实现接口。SPI机制在Java中应用广泛。例如:JDBC中的数据库连接驱动使用SPI机制,只定义了数据库连接接口的规范,而具体实现由各大数据库厂商实现,不同数据库的实现不同,我们常用的mysql的驱动也实现了其接口规范,通过这种方式,JDBC数据库连接可以适配不同的数据库。
2025-05-26 16:26:15
649
原创 【Docker项目实战】使用Docker部署SideQuests轻量待办事项管理工具
SideQuests 是一款专为提高个人生产力而设计的待办事项管理应用。它通过提供一个直观且易于使用的网页界面,帮助用户有效地组织和追踪他们的任务(Quests)与目标(Objectives)。无论是日常琐事还是长期项目规划,SideQuests 都能提供足够的灵活性来满足不同用户的需要。其简洁的设计理念结合了现代网页技术的优点,确保了在多种设备上都能获得良好的用户体验。1.本次实践部署环境为个人测试环境,生产环境请谨慎;2.在Docker环境下部署SideQuests轻量待办事项管理工具。
2025-05-26 14:57:57
715
原创 好端端的线程池,怎么就卡死了?
我们在排查的过程中就曾忽略这个方向,多花了很多时间(又是查CPU,又是看内存和GC,又是看火焰图,直到发现各项指标都正常时,才回过头重新审视代码,进而找到根因)。假设每天10万次请求,那么会产生内存约为5M,按照平均每个月发版一次(实际大家的业务应该更为频繁)的节奏,仅会积累150M的内存,这个量级并不算高,也未引起JVM的“重视”。本文为了表述方便,对代码做了简化,实际的业务逻辑较长,且为不同时期的历史逻辑,写代码时容易忽略全局,导致同一个线程池配置在同一个链路的多个节点而不自知。
2025-05-26 11:41:16
228
原创 Vue动态弹窗(Dialog)新境界:告别繁琐,拥抱优雅!?
总而言之,言而总之,这次架构的演进,给小编最大的感受就是🏗️从"各自为战"到"统一调度"。告别了维护繁琐、数量庞大的单个 Dialog.vue 文件,转而拥抱了基于createApp和h函数的动态创建方式。这种新模式下,基础 Dialog、配置面板 ( Panel.vue )、以及调用逻辑各司其职,实现了真正的高内聚、低耦合。最终使得整个项目结构更加清晰、代码更加健壮,也极大地提升了后续的可维护性。希望这套方案能给你带来一些启发!最后,如果你有任何疑问或者更好的想法,随时欢迎交流哦!👇。
2025-05-26 09:25:49
272
原创 基于K210开发板麦克风录音机测试
录音的文件是保存到 TF 卡中的.wav 文件,可以使用读卡器放到电脑上播放。有时候烧录完程序后,会出现 TF 卡读取失败的问题,重新拨动 K210 开发板的 电源开关,重新上电就可以。
2025-05-26 09:11:43
456
原创 【拥抱鸿蒙】HarmonyOS之构建一个自定义弹框
除了系统弹框,还可以对弹框进行自定义。自定义弹框更加灵活,适用于更多的业务场景。这里,我们实现一个包含多选器的自定义弹框,其实现效果如下图所示。不难看出,这个弹框由标题、选择列表和按钮操作区构成。自定义弹框需要使用装饰器我们创建一个名为的struct,并添加三个属性。\* items是数据源;\* selectedContent是选中结果拼接而成的字符串;\* controller是自定义弹框的控制器,其类型为。登录后复制1.2.3.4.5.6.7.8.
2025-05-25 22:03:37
566
原创 Docker 安装 Apache
Dockerfile文件中 COPY httpd-foreground /usr/local/bin/ 是将当前目录下的httpd-foreground拷贝到镜像里,作为httpd服务的启动脚本,所以我们要在本地创建一个脚本文件httpd-foreground。将主机中当前目录下的 conf/httpd.conf 文件挂载到容器的 /usr/local/apache2/conf/httpd.conf。将主机中当前目录下的 logs 目录挂载到容器的 /usr/local/apache2/logs/。
2025-05-25 13:32:31
403
原创 鸿蒙HarmonyOS NEXT开发:一次开发,多端部署(工程级)三层工程架构
在common模块中新建utils文件夹,下面创建Math.ets文件,新增Add函数,用于计算并返回两个数字的和。登录后复制1.2.3.
2025-05-25 10:46:49
524
原创 在Java中基于Geotools对PostGIS数据库的空间查询实践
在当今数字化浪潮下,空间数据的应用价值日益凸显,从城市规划到环境监测,从物流配送到地理信息系统(GIS)开发,精准、高效的空间数据查询成为关键环节。而 Java 作为广泛应用的编程语言,在与地理空间技术的融合中展现出独特魅力。Geotools 作为开源的 Java GIS 库,为 Java 开发者提供了强大的地理空间数据处理能力,犹如一把开启空间数据宝藏之门的钥匙。PostGIS 则是 PostgreSQL 数据库的空间扩展,能够存储和处理复杂的空间数据类型,是空间数据存储与管理的得力助手。
2025-05-22 17:29:58
854
原创 神州趣味地名-基于天地图和LeafLet的趣味地名探索
在华夏大地广袤的土地上,地名承载着深厚的历史文化底蕴,它们如同一颗颗璀璨的明珠,散落在祖国的各个角落,诉说着独特的地域故事与人文传说。这些地名有的因古老的传说而神秘奇幻,有的因独特的地理风貌而形象生动,有的则因历史事件而意义非凡,它们构成了神州大地丰富多彩的 “趣名” 地图。随着地理信息技术的飞速发展,天地图作为国家地理信息公共服务平台,为我们提供了海量精准的地理数据和强大的地图服务功能。
2025-05-22 17:29:56
918
原创 MCP-Playwright:AI自动化神器,一款超级好用的自动化测试框架!
作为开源的 AI 网页自动化工具,可以让 Claude、GPT-4o 等 LLM 具备真实网页交互能力,实现 浏览器操作、数据抓取、JavaScript 执行、网页截图 等功能。适用于自动化测试、信息抓取、SEO 竞品分析、AI 智能代理等任务。如果你希望让 AI 更智能地处理网页任务,不妨试试 Playwright MCP Server。
2025-05-22 17:29:35
741
原创 这个MySQL说“云上自建的MySQL”都是”小垃圾“
通过上面的演示,POALRDB FOR MYSQL 的数据归档表的方式我已经写清楚了,通过这样的方式,归档将只在库内进行,而不用再库外进行,或者在导出数据,对于一些Saas类的企业,这样的功能简直是到了心坎里面。同时对于PolarDB for MySQL的数据归档的性能有相关的说明,我们在使用的过程中也发现时间比我们想的要快,甚至我们都想把一些冷库都转成归档IBD的形式,这是不是太鸡贼了,为了省钱我们是什么都敢干!这个功能一出,我想都能想的到一些企业的需求马上就能被满足,尤其Saas 企业。
2025-05-22 17:10:13
832
原创 vivo 官网 APP 首页端智能业务实践
vivo官网APP首页是流量最大的页面,承载着新品、活动、商品、其他入口等流量分发的重任。在流量分发上,云端针对首页的主要场景建设了算法支撑。通过梳理首页的场景发现,智能硬件楼层场景的商品配置还是运营纯手工动态配置,而非算法推荐。为此,我们探索了端智能技术,将其运用在智能硬件楼层场景,用于提升商品分发效率,进而提升智能硬件楼层场景的点击率。端智能广义上来说,是指将人工智能算法部署到端侧设备中,使端侧设备具备感知、理解和推理能力;
2025-05-22 11:20:30
1007
原创 CDH6.3.2 升级 Spark3.3.0 版本
看网上的资料,有人说 Spark3 的 SQL 运行性能比 Spark2 可提升 20%,本人未验证,但是 Spark3 的 AE 功能的确很香,能自适应解决 Spark SQL 的数据倾斜。修改 spark3 的 pom 配置 /opt/spark-3.3.0/pom.xml,增加 cloudera maven 仓库。用的是 spark 的 make-distribution.sh 脚本进行编译,这个脚本其实也是用 maven 编译的,配置 spark3-submit 快捷方式。重置 scala 版本。
2025-05-22 09:51:44
833
原创 社招面试官问我Spring的IOC是啥?我一个比喻让他眼前一亮!
IOC(Inversion of Control)控制反转把创建对象的控制权交给容器,而不是我们自己 new 出来。我们自己负责创建对象(控制权在我们手里)。我们只写类和依赖关系。Spring会在启动时扫描类、分析依赖、创建对象,并自动把它们“装配”起来。我们只要“要什么”,Spring就“给什么”。是不是跟点外卖一个逻辑?如果你也在准备Java社招面试,请记得:“会用”只是第一步;“能讲清楚原理”才是高级玩家;“能举例解释、画图比喻”才是真正加分项!这篇文章是我一点一点写出来的,
2025-05-22 09:50:29
895
原创 鸿蒙HarmonyOS NEXT开发:仿抖音首页沉浸式页面效果,利用Navigation组件实现弹出评论弹窗
组件导航(Navigation)主要用于实现页面间以及组件内部的页面跳转,支持在不同组件间传递跳转参数,提供灵活的跳转栈操作,从而更便捷地实现对不同页面的访问和复用。由于避让区本身是有内容展示,如状态栏中的电量、时间等系统信息,或是手势交互,如导航条点击或上滑,在实现应用页面沉浸式效果后,往往会和避让区域产生UI元素的遮挡、视觉上的违和或交互上的冲突等问题,开发者可以针对不同场景选择以下方式对避让区和应用页面进行适配。开发者可以在派生类中新增属性方法,也可以重写基类NavPathStack的方法。
2025-05-22 09:49:23
640
原创 基于K210开发板神经网络加速器测试
KPU 是可以处理图像,让其产生不一样的视觉效果。KPU 与 LCD 的数据格式是不一样的,需要转化以下才可以正常显示。
2025-05-22 09:06:36
938
原创 spring状态机介绍及spring-statemachine代码示例
先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个,例如自动门的状态就是两个 open 和 closed。状态机,也就是 State Machine ,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。例如,根据自动门的运行规则,我们可以抽象出下面这么一个图。
2025-05-21 22:31:58
717
原创 Spring MVC核心类及注解 知道这些就OK啦
params属性中定义的值可以将请求映射的定位范围缩小。当客户端进行请求时,如果请求参数的值等于params属性定义的值,可以正常执行所映射到的方法,否则映射到的方法不执行。登录后复制1.2.3.4.5.6.7.
2025-05-21 22:29:56
583
原创 【JavaEE】Spring Boot 日志
一、日志概述⽇志主要是为了发现问题, 分析问题, 定位问题的, 但除此之外, ⽇志还有很多⽤途,像监控程序,当程序出现什么问题时,在日志中反应为相对应的日志,然后可以提醒程序猿。日志还可以记录数据,用于分析等等。
2025-05-21 21:39:20
947
原创 ❤Vue3以及vite配置
登录后复制1.vite下更改为登录后复制1.接下来我们去vite.config.js中自定义环境变量前缀及获取环境变量的配置登录后复制console.log(env.VITE_APP_BASE_API) // 获取环境变量return {// 环境变量前缀,默认只会暴露VITE开头变量,定义后可暴露VUE开头变量define: {},})1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.
2025-05-21 13:51:08
659
原创 一文读懂 Amazon DynamoDB 数据备份、复制与恢复
使用 DynamoDB Streams 和 Lambda实现自定义冲突解决策略支持选择性数据复制可以与其他服务集成DynamoDB 提供了多种备份、复制和恢复选项,可以满足从简单应用到企业级工作负载的各种需求。通过了解每种方法的优缺点,您可以设计一个满足您特定业务需求的数据保护策略。关键是要定期评估您的备份和恢复策略,确保它们随着应用程序的发展而扩展,并定期测试恢复流程以确保在需要时能够正常工作。
2025-05-21 10:29:17
655
原创 如何在面试中自信回答Spring3事件机制?看这一篇就够了!
在Spring框架中,事件机制是一个发布-订阅模型。发布特定事件。订阅感兴趣的事件,一旦有消息发布,就会自动触发监听器处理逻辑。事件类,承载特定信息。负责将事件广播给相应的监听器。当事件发布者发布事件后,事件广播器将其转发给所有监听器,从而实现不同组件之间的消息传递。“如果要自定义事件,该怎么做呢?”面试官话锋一转,继续提问。“自定义事件其实不难,主要分为三步:定义事件、创建监听器、发布事件。1. 自定义事件类2. 自定义事件监听器3. 事件发布者4. 触发事件。
2025-05-21 09:38:00
762
原创 鸿蒙HarmonyOS NEXT开发:基于Swiper组件和自定义指示器实现多图片进度条轮播功能
在短视频平台上,经常可以见到多图片合集。它的特点是:由多张图片组成一个合集,图片可以自动进行轮播,也可以手动去进行图片切换。自动轮播时,图片下方的进度条缓慢加载至完成状态;手动切换时,图片下方的进度条瞬间切换至已完成状态或未完成状态。由于原生Swiper组件自带的导航点指示器目前只支持数字和圆点的样式,不支持对应的特殊样式,因此需要通过自定义指示器(即进度条)来模拟底部的导航条效果。常见的图文作品,可以自动循环播放和手动切换播放合集中的图片。
2025-05-21 09:04:37
919
原创 模型蒸馏:“学神”老师教出“学霸”学生
现在我们来定义教师模型 —— 一个具有多个网络层的 CNN(卷积神经网络):请注意,学生模型的最后一层有 10 个神经元(对应 10 个数字类别),但未使用 softmax 激活函数。该层直接输出原始 logits 值,这在模型蒸馏过程中非常重要,因为在模型蒸馏阶段会应用 softmax 计算教师模型与学生模型之间的 Kullback-Leibler(KL)散度。
2025-05-21 08:40:39
343
原创 大型前端应用如何做系统融合?
A平台与B平台同属于同一系统链路上,前者主要致力于为用户提供注册入驻服务,后者则专注于提供具体业务操作服务。两者皆为运营人员所依赖的在线管理工具。在经历了为期两个月的紧张工作后,我们成功地将两个大型项目进行了深度整合,取得了显著的阶段性成果。通过这一融合过程,我们不仅统一了项目的代码规范和架构,还显著提升了组件的复用率。尽管在这个过程中我们遇到了诸多挑战和曲折,但最终的成果——用户体验的显著提升——使一切努力都显得弥足珍贵。我们深知,每一个成功的项目背后都有无数次的尝试和优化。
2025-05-20 14:45:57
701
原创 HarmonyOS实战:3秒实现一个自定义轮播图
轮播图作为应用程序中最普通使用的控件被广泛应用,相信对于来发者来说并不陌生。在 Android 中实现一个 轮播图很多选择使用第三方的插件,毕竟在有限的开发排期中自己动手去实现一个轮播图 并不那么简单,需要考虑的细节很多。支持自定义循环播放,自动播放。支持自定义播放时间间隔。支持横向和竖向轮播。支持自定义指示器。在鸿蒙实际开发中,实现一个轮播图是十分方便的,但是这并不是意味着所有功能都简单,还有一些看似简单的效果实现起来却是十分的复杂。学会的小伙伴赶紧动手试试吧!
2025-05-20 14:43:47
515
原创 探索自定义地图样式,打造应用专属个性化地图
不同应用的开发者对地图样式的展示需求差异很大。例如,物流类应用希望地图样式简洁一些,重点突出城市分布和快递路径;AR游戏类应用中的地图色彩需要和游戏UI适配,做的更酷炫一些;景区导览应用中的地图样式要景区特色相结合,重点呈现关键景点。这就要求地图样式为开发者提供多种地图样式供选择,包括简洁风格、酷炫风格、特色风格等,让开发者可以根据自己的需求自定义地图样式,包括颜色、标注、线条等元素,以实现更加个性化的展示效果,以满足不同应用的需求。(Map Kit)提供了。
2025-05-20 14:21:54
951
原创 【CodeBuddy】今天520,我只教你一遍。
在这个充满爱意的520,我仅用5分钟就完成了一个包含时空胶囊、动态情书、记忆时间轴等复杂功能的网页应用。这一切的实现密码,正是CodeBuddy展现的AI编程魔力。通过这次实践,我深刻体会到AI如何将创意快速转化为可运行的代码艺术。以下是实际操作中的开发界面与最终呈现效果(文末附代码):项目中渐变色背景、漂浮Emoji特效(动画)等视觉元素,AI通过自然语言描述自动生成CSS动画代码:1.2.3.4.5.1.2 交互逻辑构建胶囊开关动画(点击事件)与页面切换的协同逻辑,AI自动生成完整的DOM操作代码
2025-05-20 13:03:38
565
原创 HarmonyOS:使用PickerController将编辑后的图片替换原图
应用可获得用户从Picker选择的图片、视频的访问权限,读取图片、视频后进行编辑、修改。完成编辑修改后的图片/视频缓存到应用沙箱后,可调用本API,将编辑结果文件发送给PhotoPicker,并指定替换显示的原图。应用指定保存的文件,需在替换显示的范围内。新uri,即替换后的uri。基于originalUri修改后期望在photoPicker上替换originalUri显示的,暂存在应用沙箱的图片/视频uri。应用可通过该接口,将photoPicker中用户勾选的图片替换为应用后期编辑修改后的图片。
2025-05-20 09:19:19
890
原创 鸿蒙HarmonyOS NEXT开发:安全区域、沉浸式页面开发实践,软键盘布局适配解决方案
在软键盘系统避让机制中介绍过,弹窗为避让软键盘会进行避让,整体向上抬,这样可能会影响用户体验。比如下面这个评论里列表的弹窗,使用@CustomDialog实现的。当用户点击弹窗底部的输入框的时候,弹窗会整体上抬,输入框上抬的距离也过多。为了解决以上问题,可以使用Navigation.Dialog,通过设置NavDestination的mode为NavDestinationMode.DIALOG弹窗类型,此时整个NavDestination默认透明显示,示例代码如下:登录后复制@Entry。
2025-05-20 09:19:18
947
原创 HarmonyOS:应用及文件系统空间统计
在系统中,可能出现系统空间不够或者cacheDir等目录受系统配额限制等情况,需要应用开发者关注系统剩余空间,同时控制应用自身占用的空间大小。
2025-05-20 09:14:29
959
原创 Seata源码—7.Seata TCC模式的事务处理
该应用会订阅Dubbo服务,发起分布式事务,调用上述两个TCC参与者,内含TCC事务提交场景和TCC事务回滚场景的演示。TccTransactionService作为分布式事务的入口,其提交事务和回滚事务的接口都会被添加上@GlobalTransactional注解。Action拦截处理器在注册TCC的分支事务时,会调用DefaultResourceManager的branchRegister()方法。在TccActionInterceptor的invoke()方法中,会通过。
2025-05-20 08:55:34
779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人