自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(597)
  • 收藏
  • 关注

原创 Linux C++编程死锁排查

在 Linux 环境下进行 C++ 编程时,多线程能显著提升程序的并发处理能力,让程序在面对复杂任务时表现得更加高效。但多线程编程并非一帆风顺,死锁问题就像隐藏在暗处的 “杀手”,随时可能让程序陷入僵局。想象一下,你的程序原本运行得好好的,突然就像被施了定身咒一样,毫无反应,所有的线程都被卡住,无法继续推进。这很可能就是死...

2025-03-13 16:05:56 575

原创 如何使用 Spring Boot 实现分页和排序

在 Spring Boot 中实现分页和排序通常是通过 Spring Data JPA 或者 Spring Data MongoDB 提供的分页功能来完成的。以下是一个基于 Spring Data JPA 的分页和排序实现的基本步骤。1. 添加依赖首先,确保你在 pom.xml 中包含了 Spring Data JPA 和...

2025-03-12 17:29:01 421

原创 浏览器崩溃的第一性原理:内存管理的艺术

作者:京东科技 屠永涛登录后复制 你是否曾经遇到过浏览器突然卡顿,甚至崩溃的情况?尤其是在打开多个标签页或运行复杂的网页应用时,浏览器似乎变得异常脆弱。这种崩溃的背后,往往与内存管理息息相关。1.浏览器的内存管理机制决定了它能否高效地分配和释放资源,而 JavaScript 引擎 V8 正是这一机制的核心。本文将探讨 ...

2025-03-12 16:38:42 757

原创 理解关系型数据库:主键、外键与表关联

1. 引言在关系型数据库设计中,主键(Primary Key)、外键(Foreign Key)与表关联(Table Relationships)是构建数据模型的核心要素。它们不仅保证了数据的唯一性和完整性,还通过定义实体间的逻辑关系,使复杂业务场景的数据存储成为可能。本文将通过3000余字的详细解析,结合电商系统、教务系统...

2025-03-12 16:33:57 693

原创 Harmony NEXT开发之ArkUI相对布局

相对布局在应用的开发过程中,经常需要设计复杂界面,此时涉及到多个相同或不同组件之间的嵌套。如果布局组件嵌套深度过深,或者嵌套组件数过多,会带来额外的开销。如果在布局的方式上进行优化,就可以有效的提升性能,减少时间开销。RelativeContainer为采用相对布局的容器,支持容器内部的子元素设置相对位置关系,适用于界面复...

2025-03-11 17:19:18 810

原创 Java 设计模式:观察者模式

一、模式定义观察者模式属于行为型设计模式,用于建立对象间的一对多依赖关系。当主题(Subject)状态变化时,所有依赖的观察者(Observer)会自动收到通知并更新。二、核心角色Subject(主题)维护观察者列表,提供添加/删除观察者的方法定义通知观察者的方法Observer(观察者接口)定义更新接口,用于接收主题通知...

2025-03-11 17:14:05 1072

原创 Rip路由协议学习和ripv2实现网络互连

一、介绍RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离。RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不可能在大型网络中得到应用。版本包括:RIPv1、 RI...

2025-03-11 17:04:57 319

原创 用Visual C#创建Windows服务程序

 一.Windows服务介绍:  Windows服务以前被称作NT服务,是一些运行在Windows NT、Windows 2000和Windows XP等操作系统下用户环境以外的程序。在以前,编写Windows服务程序需要程序员很强的C或C++功底。然而现在在Visual Studio.Net下,你可以运用C++或Vis...

2025-03-11 16:48:11 773

原创 安装Prometheus和Grafana监控主机性能

在运行一些服务时,我们可能想看看系统指标的占用情况,所以本文将介绍如何在 CentOS 服务器上安装 Prometheus 和 Grafana,并生成系统 CPU、内存使用率的仪表盘,可以按照以下步骤操作。拓扑图一、安装 Prometheus首先,访问 Prometheus 官网 获取最新版本的下载链接,然后使用 wget...

2025-03-11 16:25:41 776

原创 Spring Boot 与 Spring MVC 有何不同

Spring Boot 和 Spring MVC 都是 Spring 框架的一部分,但它们有不同的目标和功能。以下是它们之间的主要区别:1. 核心目标Spring Boot:Spring Boot 的目标是简化 Spring 应用的配置和部署。它通过提供默认配置和嵌入式服务器(如 Tomcat、Jetty 或 Undert...

2025-03-09 13:51:59 1393

原创 python : 正则表达式与re模块

我们需要正则表达式+re模块对字符串进行详细匹配、替换等操作。正则表达式:re模块中常用语法:(1)匹配 re.match ( )登录后复制 import repattern ='\d\.\d+' # '\d'表示单个数字 ; '\.'用于匹配'.'其中'\'为转译字符 ; '\d+'表示匹配一次或多次数字s...

2025-03-06 17:39:19 326

原创 Helm安装chart包到k8s报错“不能重复使用名称,名称已被使用”

一、报错提示如下“Error: INSTALLATION FAILED: cannot re-use a name that is still in use”,意思是安装chart时提供的名称已存在,不能重复使用同一个名称。登录后复制 root@iZ:/usr/local/src/my-helm-repo/charts#...

2025-03-06 15:58:26 370

原创 使用C#开发自己的web服务器

这篇文章讨论了如何使用C#开发一个简单的web服务器应用程序。尽管我们可以使用任何一种支持.NET的编程语言开发,但我选择了C#。本篇文章中的代码是使用微软的β2版的Visual C# Compiler Version 7.00.9254 [CLR version v1.0.2914]编译通过的,对代码作一些小的改动后,使...

2025-03-04 16:52:09 965

原创 SNMP 详解

SNMP 详解目录引言SNMP概述什么是SNMPSNMP的历史背景SNMP的体系结构管理信息库(MIB)SNMP代理SNMP管理站SNMP的版本SNMPv1SNMPv2cSNMPv3SNMP的工作原理基本操作GET 请求SET 请求GETNEXT 请求GETBU...

2025-03-04 16:02:58 470

原创 项目自从用了接口请求合并,效率直接加倍!

点击上方“程序员蜗牛g”,选择“设为星标”跟蜗牛哥一起,每天进步一点点程序员蜗牛g大厂程序员一枚 跟蜗牛一起 每天进步一点点31篇原创内容公众号请求合并到底有什么意义呢?我们来看下图。img假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知...

2025-03-02 10:48:12 416

原创 使用 Three.js 创建动态光效

大家好!我是 [数擎AI],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步!开发领域:前端开发 | AI 应用 | Web3D | 元宇宙技术栈:JavaScript、React、ThreeJs、WebGL、Go经验经验:6...

2025-03-02 10:21:48 303

原创 jenkins集成docker发布java项目

1、创建pipeline流水线任务2、进入配置选项选择参数化构建3、添加2个字符参数,用于传递变量4、编写pipeline脚本//所有脚本命令都放在pipeline中pipeline{ //指定任务再哪个集群节点中执行 agent any //声明全局变量,方便后面使用 environment { ...

2025-03-01 23:11:16 358

原创 typescript中 forEach、reduce、reduceRight、map、filter、some、every用法的求和方法

1、各个函数的作用:forEach:用于遍历数组元素,对每个元素执行回调函数。reduce:将数组元素累积成一个值,可以用来求和。reduceRight:与 reduce 类似,但从右向左累积,通常用于镜像或对齐操作。map:创建一个新数组,每个元素由原数组的元素经过函数处理得到。filter:过滤数组中的元素,只保留符合...

2025-03-01 21:05:03 458

原创 Qt系统

虽然Qt是跨平台的C++开发框架,Qt的很多能力其实是操作系统提供的,只不过Qt封装了系统的API。程序试是运行在操作系统上的,需要操作系统给我们通过支撑。一、事件1、事件的概念用户进行各种操作的时候。就可能会产生出信号,可以给某个信号指定槽函数,当信号触发时,就能够自动地执行对应的槽函数。事件也非常相似,用户进行的各种操...

2025-03-01 16:50:20 897

原创 RBAC授权

4 RBAC授权4.1 什么是RBAC在Kubernetes中,所有资源对象都是通过API进行操作,他们保存在etcd里。而对etcd的操作我们需要通过访问kube-apiserver来实现,上面的Service Account其实就是APIServer的认证过程,而授权的机制是通过RBAC:基于角色的访问控制实现。 RB...

2025-02-24 17:45:36 887

原创 不愧是腾讯,面试的质量太高了

今天分享的是粉丝投稿的在腾讯的最新面经,问的都是一些高质量的问题,看看你能答上来几个:1. Proactor和Reactor模式的区别?核心区别:事件处理流程不同Reactor:基于同步I/O,主线程监听事件就绪后,由工作线程执行实际I/O操作(读/写)和业务处理。典型代表:Linux epollProacto...

2025-02-24 14:48:11 652

原创 【Linux进程间通信】深入探索:Linux下的命名管道与System V共享内存

@TOC????前言:在Linux操作系统中,进程间通信(IPC)是一个至关重要的概念,它允许不同的进程之间进行数据交换和同步。随着现代操作系统的日益复杂,进程间通信的重要性也日益凸显。在众多IPC机制中,命名管道和System V共享内存无疑是两种最为常见且强大的工具命名管道,又称为FIFO(First In First Ou...

2025-02-24 14:33:50 786

原创 如何扣钱库存?防止操作超卖

在 Java 中实现扣减库存并防止超卖,通常可以采用以下几种常见的方法,下面为你详细介绍:1. 数据库层面加锁可以使用数据库的事务和锁机制来保证库存扣减的原子性,避免超卖。以 MySQL 为例,在扣减库存时使用行级锁。示例代码登录后复制 import java.sql.Connection;import java.sq...

2025-02-24 13:53:28 344

原创 Spring Boot + Redis 实现分布式锁

在 Spring Boot 中结合 Redis 实现分布式锁,可以通过 Redisson 或 Jedis 等客户端来操作 Redis,从而实现分布式锁。以下是使用 Redisson 实现分布式锁的示例。1. 添加依赖在 pom.xml 中添加 Redisson 依赖:登录后复制 <dependency> ...

2025-02-24 13:40:09 347

原创 Python中的图像处理:使用OpenCV进行图像分析

Python中的图像处理:使用OpenCV进行图像分析图像处理是计算机视觉领域的重要组成部分,能够帮助我们提取和分析图像中的信息。Python作为一种广泛使用的编程语言,提供了多种图像处理库,其中OpenCV(Open Source Computer Vision Library)是最为知名和强大的选择之一。本文将探讨如何...

2025-02-24 11:54:50 925

原创 深度解析 DeepSeek 的蒸馏技术

DeepSeek的蒸馏技术更是这一领域的佼佼者,它不仅攻克了传统蒸馏的瓶颈,还在多模态数据处理等前沿领域取得了突破性进展。本文将深入剖析DeepSeek蒸馏技术的核心原理、创新策略以及未来发展方向,带你一探究竟,领略AI模型优化的奥秘与魅力。1. DeepSeek蒸馏技术概述unsetunset1.1 蒸馏技术定义与原理u...

2025-02-23 16:23:36 710

原创 GridSearchCV:原理、应用与实例

1. GridSearchCV 简介GridSearchCV:原理、应用与实例GridSearchCV 是 scikit-learn 库中用于超参数调优的一种方法。它通过对预定义的参数网格进行穷举搜索,并利用交叉验证来评估每组参数组合的表现,从而帮助我们找到模型的最佳超参数配置。2. 工作原理参数网格定义: 用户需要预先设...

2025-02-23 15:17:30 369

原创 比 Notion 更强大!下一代开源知识库来了!

相信不少同学都用过 Notion 这款笔记软件,它凭借着集知识库、笔记、任务看板等多功能于一体的设计,已经成为了许多互联网用户的首选工具。但作为程序员的我们总是有着更多的期待,比如更好的隐私保护、更自由的部署方式、更开放的生态系统。在 GitHub 上浏览项目时,我发现了一款新的开源工具AFFiNE,让我眼前一亮。它不仅...

2025-02-23 11:13:03 303

原创 Elasticsearch中的CURL请求详解

在Elasticsearch(简称ES)的日常管理和操作中,CURL命令因其轻量级和高效性而备受青睐。CURL是一个利用URL语法在命令行方式下工作的开源文件传输工具,可以简单实现常见的GET/POST请求,是开发者与ES进行交互的重要桥梁。本文将详细介绍在ES中常用的CURL请求类型及其应用场景。一、创建索引在ES中,索...

2025-02-23 09:40:31 397

原创 kubeconfig基于User认证实践

3 kubeconfig基于User认证实践3.1 kubeconfig的作用由于APIServer是基于无状态HTTP/HTTPS协议实现,所以每次与集群进行交互时都需要进行身份认证,通常都是使用证书进行认证,其认证所需要的信息都会存放在kubeconfig文件中。客户端程序可以通过默认路径、--kubeconfig选项...

2025-02-23 09:14:13 666

原创 Java代码命名规范及最佳实践

在软件开发中,良好的命名规范是提高代码可读性、可维护性和可扩展性的关键。尤其在 Java 这种面向对象编程语言中,合适的命名能够使团队合作更加顺畅,减少后期维护时的困扰。本文将深入探讨 Java 中常见的命名规范,帮助开发者编写更加规范、清晰和易于维护的代码。一、Java命名的基本规则在 Java 中,命名规范通常遵循一些...

2025-02-20 15:30:57 810

原创 VSCode 实用小技巧

Visual Studio Code (VSCode) 是一款功能强大的开源代码编辑器,广受开发者欢迎。凭借其丰富的扩展性、良好的性能和简洁的界面,VSCode 成为前端开发、后端开发乃至全栈开发的首选编辑器之一。本文将分享一些常用的 VSCode 小技巧,帮助你提升开发效率和编程体验。一、快速导航与文件搜索1.1 快速打...

2025-02-20 15:27:57 794

原创 【HarmonyOS Next】鸿蒙监听手机按键

【HarmonyOS Next】鸿蒙监听手机按键一、前言应用开发中我们会遇到监听用户实体按键,或者扩展按键的需求。亦或者是在某些场景下,禁止用户按下某些按键的业务需求。这两种需求,鸿蒙都提供了对应的监听事件进行处理。onKeyEvent 默认的按钮监听事件onKeyPreIme 这是优先级最高的监听回调,别上面多了一个r...

2025-02-19 17:46:20 315

原创 display 属性详解

display 是 CSS 中 控制元素显示方式的属性,决定了 元素如何渲染、如何影响布局。它有多个取值,每个值的作用不同。???? 1. display 常见取值值作用适用场景block块级元素,占满整行div、pinline行内元素,不换行span、ainline-block行内块元素,不换行但可设置宽高button、inp...

2025-02-19 17:30:34 745

原创 Lua ——垃圾回收

Lua ——垃圾回收垃圾回收弱引用表__mode模式为 "k"__mode 模式为"v"__mode模式为"kv"总结析构器函数 collectgarbagecollectcountstoprestartsetpausesetstepmulstep垃圾回收  Lua语言使用自动内存管理。通过...

2025-02-19 17:28:57 550

原创 二进制数据处理:Bitstring 库详解

bitstring 是一个用于简化二进制数据创建和分析的 Python 库。它提供了直观的接口,使得处理位级别的二进制数据变得简单高效。主要功能:创建和解析二进制数据: 支持从十六进制、八进制、二进制、文件、格式化字符串、字节、整数和浮点数等多种方式创建位串。位级操作: 提供位级切片、连接、查找、替换等功能,方便对二进制数...

2025-02-19 16:58:46 432

原创 基于vue框架封装一个请求接口的js

在 Vue.js 中封装请求接口的 JavaScript 文件,可以使用 axios 进行 HTTP 请求。下面是一个简单的封装示例,你可以根据需求扩展功能,比如请求拦截、响应拦截、错误处理等。安装 Axios首先,确保你已经安装了 axios:登录后复制 npm install axios1.封装 http.js创建一...

2025-02-19 16:50:07 332

原创 Python 实现反转、合并链表有啥用?

大家好,我是 V 哥。使用 Python 实现反转链表、合并链表在开发中比较常见,我们先来看看各自的应用场景。先赞再看后评论,腰缠万贯财进门。反转链表比如,在处理时间序列数据时,有时需要将历史数据按照时间从近到远的顺序展示,如果数据是以链表形式存储的,通过反转链表可以高效地实现这一需求。再比如,判断一个链表是否为回文链表(...

2025-02-19 16:48:20 778

原创 用DeepSeek来帮助学习three.js加载3D太极模形

画一个平面的太极图是很容易,要实现3D的应该会很难一、参考3D模形效果 看某网页看到一个效果,像一个3D太极球,觉得挺有趣,挺解压的,想进一步去了解下这是如何实现效果:链接地址:http://www.webgl3d.cn/3D/banner3/index.html因为了解过three.js,但没有很深入,一...

2025-02-19 15:37:04 1319

原创 【HarmonyOS NEXT】获取正式应用签名证书的签名信息

1. 背景在接入微博SDK时,发现在微博开放平台中需要填写应用的签名信息。该签名信息需要填写2个,一个是debug【调试】证书对应的应用签名,一个是release【发布/线上】证书对应的应用签名。debug环境下,我们可以通过微博提供的方法获取登录后复制 new Utility().getSign(true).then(...

2025-02-19 15:15:42 911

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除