自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Cygwin Terminal 下使用 vim 时绝对路径无法打开文件问题

这个问题是由于 Cygwin 环境下的文件路径处理问题导致的。在 Cygwin 环境中,Windows 的文件路径和 Unix 风格的路径是有区别的。Cygwin 尝试将 Windows 路径转换为 Unix 风格的路径,但这个转换过程并不总是完美的。当直接输入绝对路径时,Cygwin 可能无法正确地识别和转换该路径,从而导致 Vim 无法找到并打开该文件。而当通过 cd 命令进入到目录后,再使用 vim filename 的方式打开文件,Cygwin 就能正确识别相对路径,从而能够顺利打开文件。

2024-08-12 22:22:46 372

原创 【笔记】Spring Cloud Gateway 实现 gRPC 代理

Spring Cloud Gateway 在 3.1.x 版本中增加了针对 gRPC 的网关代理功能支持,本片文章描述一下如何实现相关支持.本文主要基于 Spring Cloud Gateway 的进行一个实践练习。有兴趣的可以翻看官方文档。由于 Grpc 是基于 HTTP2 协议进行传输的,因此 Srping Cloud Gateway 在支持了 HTTP2 的基础上天然支持对 Grpc 服务器的代理,只需要在现有代理基础上针对 grpc 协议进行一些处理即可。

2024-06-28 23:28:31 1394

原创 [笔记] keytool 导入服务器证书和证书私钥

我当前手头已有一个服务器证书和对应的私钥,现在需要转换为 Java KeyStore 格式使用,找了一大圈才发现 keytool 无法直接导入服务器证书和私钥,当然证书可以直接导入,但是私钥是无法直接导入。找了一大圈发现可以先将服务器证书和证书私钥转为 PKCS12 格式的密钥库,然后通过 PKCS12 格式证书转为 Java KeyStore 格式。

2024-06-28 00:07:49 601

原创 Hide Taskbar – 快捷键隐藏任务栏

说实话,我的电脑屏幕并不大,因此屏幕上的每一寸都很珍贵,通过开启 “自动隐藏任务栏” 选项可以提升屏幕使用空间,但是存在一个问题就是当鼠标划过屏幕最底层或者有新的窗口通知事件到达时,任务栏总是出乎意料的弹出,导致应用窗口不断的发生重绘,最近找到一个比较小巧简单的软件,通过快捷键的方式可以快速禁用任务栏弹出。运行后只需点击快捷键就能隐藏任务栏,简单易用。****

2024-06-27 00:54:20 907

原创 【笔记】一条命令使用 openssl 生成服务器证书

我们在请求 https 网址的时候,服务器会将自己的服务器证书发送到客户端以客户端去验证,客户端会拿自己本地的 CA 证书去验证服务器证书是通过该CA颁发的,如果是则身份认证通过。如果本地的CA无法验证服务器发来的证书时则会提示不安全或者拒绝连接。在生成 CSR(证书签名请求文件) 后,就可以将这个文件提交到 CA 机构,由 CA 机构生成对应的证书,CA 机构会验证 CSR 中的信息,在确认信息可信后,会使用自己的私钥对其中的信息进行数字签名后生成实际的服务器证书。

2024-06-21 21:04:25 530

原创 Win系统 锁屏自动暂停音乐

Windows 的系统锁屏功能可以让我们在离开电脑前时保护我们的系统安全,而如果你正在播放音乐的话,锁屏开启后默认是继续播放的。这就导致在公共场合下别人很容易能够通过你的电脑屏幕看到你在听什么,这里介绍一种通过 AutoHotKey 实现锁屏自动暂停音乐的方法。是一款免费的开源系统自动化和定制软件实用工具,可以帮助您大大提高日常计算机工作的效率。它允许您使用简单的编程语言创建自定义脚本,以实现各种任务的自动化,如文本替换、窗口管理、信息填充以及复杂的工作流程。这样在使用快捷键。

2024-06-12 22:41:49 424

原创 【笔记】Vim-plug 插件管理器离线安装插件

这是 Vim 的插件管理器,除了 Vim-Plug 以外还有 Vundle,NeoBundle 等其他 Vim 插件管理器,选择 Vim-Plug 的原因是它足够小巧,简单。然后将代码解压后移动到指定目录即可,这里的目录我们可以自己指定,比如用户目录下。注意这里的配置,变成了本地路径,这样的话 Vim-Plug 就会直接从本地目录加载插件了,而不需要通过 PlugInstall 执行安装操作。Vim-Plug 在正常情况下,我们需要在 begin 和 end 之间指定我们要安装的插件,如当我们想要安装。

2024-05-21 22:20:09 884

原创 [笔记] Win11 Microsoft Store App 离线下载

Micorsoft Store 中的离线安装包一般后缀为 AppxBundle 和 Appx。在一些环境下 Microsoft Store 下载速度缓慢,或者需要账号登录才能安装的场景,可以通过找到对应的离线安装包的形式进行安装。选择后缀为 appx 或者 appxbundle 的文件链接点击下载即可,下载完成后双击即可完成安装。

2024-05-07 22:53:21 1364

原创 Windows 系统上实现 sshpass 方案

sshpass 是 Linux 上的一个免输入密码通过 ssh 登录的方案,可以通过在命令行中指定密码,无需交互的方式完成一些自动化的动作。但是在 Windows 系统中并没有直接提供相关的支持。本篇文章针对这个思路探讨一下其他实现方式。

2024-04-27 22:32:58 3557 1

原创 Git 如何合并多个连续的提交

我平常的编程喜欢是写一段代码就提交一次,本地一般不攒代码,生怕本地有什么闪失导致白干。没错,由于频繁的提交,又不好好写message导致提交中出现多个相同的 message,同时变更分散在不同的提交中,回溯也十分的不方便。针对这种场景,Git 提供了能力支持,可以将多个提交合并为一个提交,使得提交日志变得清晰可读。此时可以看到提交记录中有多个提交。

2024-03-31 00:09:30 813

原创 [笔记] BAD PASSWORD ,linux 修改密码

随着人们对安全意识的逐渐提升,Linux 中的密码策略也变得越来越复杂,导致使用 passwd 改密时需要花费大量时间来应付密码策略。这里回顾一下这艰难的改密之路。

2024-03-30 22:29:42 1050

原创 JavaScript 使用 Promise 实现 sleep 休眠

以下为代码实现,该代码实现了每隔1秒打印一次当前时间,总共打印5次的功能这里使用了 Promise 异步操作功能,在 Promise 中调用了 setTimeout 方法,并在指定时间后执行回调函数完成 Promise。在外层通过 await 关键字等待 Promise 的完成。这样就实现了一个 sleep 函数了。

2024-03-20 22:45:35 531 1

原创 [笔记] Docker 安装脚本分析

选项时,系统会模拟执行命令或操作,显示将要执行的步骤和可能的结果,但不会真正执行这些步骤。这对于验证复杂的操作或检查潜在的问题非常有用,以便在实际操作之前进行调试或预览。选项运行删除命令,系统会显示将要删除的文件和目录列表,但不会实际删除它们。这样,你可以先检查列表,确保没有意外的文件将被删除,然后再决定是否执行真正的删除操作。是一个常见的命令行参数或选项,用于执行模拟运行而不实际执行任何操作。例如,假设你要删除一个目录及其所有子目录和文件,但你不确定删除操作是否会产生意外结果。

2024-03-14 00:24:15 644

原创 [笔记] 使用 Java Swing 实现一个简单的窗口

Java Swing 是一个用于构建图形用户界面(GUI)的Java库,它提供了丰富的组件和工具,用于创建交互式的桌面应用程序。Swing 是 Java Foundation Classes(JFC)的一部分,它是 Java 平台的一种标准用户界面工具包。Swing 提供了丰富的组件,包括按钮、标签、文本框、列表、表格等,以及布局管理器和事件处理机制等工具,使开发人员能够轻松创建复杂的用户界面。Swing 还支持可定制的外观和主题,开发人员可以根据需要自定义界面的外观和风格。

2024-03-04 00:02:02 1169

原创 [笔记] wsl 禁用配置 win系统环境变量+代理

然后退出wsl,并且执行关闭正在运行的 wsl,执行命令。进入用户目录,创建配置文件。最后重新进入wsl 即可。

2024-03-02 23:10:06 988

原创 [笔记] 使用 qemu 创建虚拟磁盘并安装 grub

nbd全称 Net Block Device网络块设备,是 Linux 中的一个模块用于加载网络上的块设备,由于使用到了网络,因此拥有较大的兼容性,同时由于通过网络进行传输,因此磁盘传输速度受限于网络带宽.这里主要用到该模块加载 qemu 的虚拟磁盘文件.# 创建一块大小为 128MB 的虚拟磁盘文件 qemu-img create -f qcow2 hd.img 128Mmodprobe nbd max_part = 8 # max_part=8 指定虚拟设备数量这里指定为 8这将将。

2024-01-03 23:42:34 1653

原创 [笔记] wsl2 下使用 qemu/grub 模拟系统启动(多分区)

然后使用losetup -f将其关联为本地回环设备使用系统工具 fdisk 为虚拟硬盘创建分区系统,这里选择使用 GPT 分区系统,并创建了两块分区.这里需要注意不要配置为 MBR 分区系统,会导致系统无法启动,grub-install 目前没找到如何设置支持 MBR 分区系统.在创建完成后通过kpartx -av然后在 /dev/mapper 目录下可以看到刚刚识别的分区信息现在我们可以为这两个分区进行格式化,第一个分区被我用于启动分区,通常文件系统为 fat32 类型的。

2023-12-12 23:32:44 1523

原创 [笔记] wsl 下使用 qemu/grub 模拟系统启动(单分区)

qemu 是一款十分优秀的系统模拟器,可以用于模拟各种CPU架构硬件。你可以在 x86平台上模拟出 arm 架构的 CPU并在其上运行程序,也可以反过来。总而言之,通过 qemu 可以忽略平台间的架构差异,完成硬件模拟。grub 是一个开源的系统启动器,用于对计算机进行初始化并引导至操作系统。

2023-12-11 22:25:24 1371

原创 [笔记] 使用 xshell 记录日志

平常会使用xshell登录远程系统,在一些场景下,由于远端节点不支持下载,因此无法下载日志,此时可以通过 xshell 自带的日志功能将远端节点的日志内容导出.

2023-11-29 23:39:06 1856

原创 linux ld 链接器学习笔记

这里的汇编语法时 AT&T语法,是gcc原生支持的语法,底层使用 gas(gnu assembler) 完成汇编,相较于 Intel x86语法, AT&T 语法要更加古老,因此大多数人更加偏向于使用 Intel 的语法. nasm 编译器支持x86语法.自从2.10版本,Intel语法可以通过使用.intel_syntax指令使用。

2023-11-22 22:15:43 820

原创 [教程]使用 Git 克隆指定分支

Git 是我们开发过程中经常使用到的版本管理工具,在平常情况下我们从远程克隆的时候会将整个库克隆下来,这会包括整个版本库的历史提交记录和远程库里的所有分支。但在一些情况下,比如我们并不需要查看历史提交记录而只是希望能够获取到最新的代码;或者我们只希望克隆某个指定分支时,而不是克隆全部的远程分支,此时我们就可以用到一些选项来减少我们的仓库的体积从而提高生产效率。

2023-03-03 19:44:10 20771 1

原创 基于图片识别的 UI 自动化测试工具 SikuliX

SikuliX 是一款开源的 GUI自动化测试工具,它的前身是 Sikuli(上帝之眼).不同于传统的 UI自动化测试工具, SikuliX 在执行鼠标键盘自动化时是基于图片识别的,也就是说我们的脚本逻辑可以由"鼠标移动到坐标 x,y"变成"鼠标移动到指定图案上"

2023-01-13 16:13:30 3092

原创 [笔记]在 PowerShell 中实现 tail -f 命令追踪日志

但由于现在的开发环境是 Window 10 ,并没有 tail 命令,经过查找,发现可以在 PowerShell 下使用。在开发过程中经常会遇到在 Linux 下使用。命令实时追踪日志输出。

2022-11-11 10:52:27 3977

原创 [笔记]RestController统一返回结果格式

Spring MVC 统一返回结果格式的一种封装处理办法

2022-10-28 14:40:47 1275

原创 [笔记]MySQL 删除重复数据

MySQL 删除重复行

2022-10-24 17:03:33 4387

原创 [笔记]MySQL查看事务信息

笔记记录了如何使用 SQL命令查看事务信息

2022-10-10 16:32:18 6565

原创 [笔记]事务与2PC

笔记描述了什么事务已经对应的二阶段提交场景

2022-10-10 14:23:11 160

原创 [笔记]CSS实现页面翻转功能

【代码】[笔记]CSS实现页面翻转功能。

2022-09-19 22:39:21 506

原创 [笔记]MySQL 插入导致死锁

线上遇到的 MySQL 插入导致死锁,问题排查.

2022-09-13 13:38:12 1988

原创 [笔记]SSH 端口转发

ssh 拥有很强大的能力,因为在服务器运维中一直在使用 ssh ,因此探讨 ssh 的功能能够在日常开发过程中受益颇多,这里描述下 ssh 的三种端口转发功能。灵活使用可以大大简化我们的开发过程。

2022-09-09 14:09:58 4858

原创 [笔记]JavaScript 实现按钮拖拽效果

笔记,JavaScript 实现按钮拖拽的效果

2022-09-06 17:09:53 743

原创 [笔记]使用 Arthas 获取Class 对象参数

class对象->@xxxClass@class 相当于一个静态的变量ognl 命令默认的类加载器为系统类加载器(SystemClassLoader) 注意使用时使用 -c 命令指定下类加载器。

2022-09-05 18:18:04 2056

原创 [折腾]使用SSH服务实现一个socks5代理服务器

其实使用的是ssh的动态转发功能。指定监听的端口,会在本地监听该端口,并将请求到该端口流量基于 SOCKS5 协议转发到远程主机上,其中可以不填,当不写或者为*时表示监听全部地址。-D *:8081,-D 8081,,不执行远程命令,仅仅用于端口转发-T不为该命令分配伪终端通过上面的命令,我们可以通过本地12345代理,将本地请求csdn的流量转发给远程主机,由远程主机帮我们执行请求后将结果返回给我们。...

2022-08-31 15:21:09 4387

原创 [笔记]设置私有 Git 服务器

如何在 Linux 上设置私有 Git 服务器。

2022-08-24 11:23:25 391

原创 MySQL大数据量查询方案

在业务开发过程中,有时会遇到大数据量查询的情况,如果将一次性加载全部查询结果的话会导致内存量暴增,甚至出现OOM异常,为了解决这种场景,MySQL中提供了针对此类场景解决方案,本文针对此类场景进行了研究..........

2022-08-18 18:31:57 6650

原创 SpringBoot 关于异步与事务一起使用的问题

Spring 事务和异步在一起使用时,如果不做处理的话会遇到事务未提交而导致异步方法执行时获取不到未提交的事务的数据从而执行异常,本文描述了一个类似的场景本针对该场景如何处理。

2022-08-13 18:27:18 6896 4

原创 FastJson 处理泛型

FastJson 处理泛型的逻辑

2022-07-25 14:34:47 7157 1

原创 Arthas watch 命令查看数组中对象的属性

arthas查看数组中对象的属性,ognl表达式映射,arthas 集合映射

2022-07-15 17:42:38 4766

原创 BCryptPasswordEncoder 加密算法解析

Spring Security 中提供了 用于用户密码的加密和验证,这里讲解一下该 的实现逻辑.首先 使用了 算法来对密码实现加密和验证

2022-06-13 15:33:46 9830 7

原创 Java 对象结构之 markword

Java 对象结构可以帮助我们认识到 Java 底层的工作原理,本片文章介绍了在不同代码的环境下对象头 markword 发生的变化

2022-06-09 16:19:08 5318 6

空空如也

空空如也

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

TA关注的人

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