自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 天河有尽后为涯 星海无边前作岸

天河有尽后为涯,星海无边前作岸。

2023-08-20 13:44:43 233

原创 《Python基础》第2期:环境搭建

*Associate files with Python(requires the ‘py’ launcher):**让系统自动将 Python 关联到特定的文件类型,使得在文件资源管理器中双击 Python 脚本文件时,系统会自动使用 Python 解释器来运行这些脚本。**Add Python to environment variables:**将 Python 解释器的路径添加到系统的环境变量中,这样就可以在命令行中直接运行 Python 解释器而不需要输入完整的路径。

2025-06-01 11:14:07 751

原创 《Python基础》第1期:人生苦短,我用Python

作为程序员,在人工智能的时代,学会 Python 注定能走得更远。

2025-05-27 22:13:22 895

原创 鸿蒙电脑,给世界多一种选择!

目前,鸿蒙电脑的软件生态正在快速适配,5 月 8 日大约有 300 款软件,11 天后的 5 月 19 日就已经有了大约 1000 款软件,已基本满足日常娱乐和轻办公的需要,这样的增长速度是值得期待的。对开发者而言,开发的设备环境有了鸿蒙电脑,开发的系统环境有了鸿蒙操作系统,开发的语言环境有了仓颉编程语言,不再对国外的软硬件和编程语言深度依赖,有了更多的选择,也有了更多的应聘岗位。对国内软件厂商而言,多了一个使用平台,还可以暂避国外软件的竞争,可以更好的打磨产品。

2025-05-23 16:19:09 720

原创 《打造自己的DeepSeek》第2期:怎么安装自己的DeepSeek?

上一期介绍了为什么要打造自己的 DeepSeek,本期将介绍怎么安装自己的 DeepSeek。这里要使用的工具是。它是一个免费开源的本地大语言模型运行平台,可以帮我们把 DeepSeek 模型下载到我们自己的电脑上运行,支持 Windows、MacOS 和 Linux 三大主流操作系统(本月 8 日,华为发布了鸿蒙电脑操作系统,相信在不久的将来,Ollama 也会支持)。

2025-05-11 20:43:36 1037

原创 《打造自己的DeepSeek》第1期:为什么要打造自己的DeepSeek?

这个需求比较小众,大体就是一些知识记录者不想将这些知识放在网上,但又希望能快速检索自己知识库的内容,甚至能根据自己整理的知识进行分析,使用 AI 大模型是比较方便的方法,但公网的 DeepSeek 显然是不适合的。DeepSeek 是放在公网上的,意味着所有向 DeepSeek 的提问都有被记录的可能,如果涉及一些安全密级较高的数据或者特别隐私的信息,直接在网络上提问是有风险的。公版的 DeepSeek 是满血版的,非常强大,但它的功能都是设定好的,能回答的问题也是规定好的,有些敏感问题它是回答不了的。

2025-05-05 20:46:09 422

原创 地中海、双肩包、格子衫?从业9年程序员聊聊真实的程序员是什么样子

不过也正因为这一点,程序员之间的相处是比较纯粹的,没有那么多勾心斗角,也没有那么多利益冲突,程序员往往都是乐于帮助同事的,也乐于分享知识,相处起来是比较轻松的(这也是为什么我能在这个行业工作 9 年并且打算一直做下去的原因)。但从一个企业的长远发展来看,是更需要经验丰富的老员工的,已经有越来越多的国内软件企业意识到了这一点,所以 35 岁门槛已经愈加松动了,程序员也不是大众眼中的“青春饭”了。但其实这并不能代表大多数程序员,作为一名工作了 9 年的程序员,有必要跟大家聊聊真实的程序员是什么样子。

2025-04-21 14:02:01 421

原创 数量堪比自然语言的编程语言,该怎么选择?

程序的世界为每一个纯粹和热爱的人敞开

2025-04-13 22:49:29 860

原创 从一个普通程序员的角度,聊聊当前环境下,是否还适合做编程

如果不热爱编程,只是看重编程的高薪,那就算勉强入行了,也很难在编程枯燥的工作节奏坚持下来,何况编程的技术日新月异,需要不断的学习,没有热爱这个源动力,是很难主动去学习的,那时间久了也必将被淘汰。至于后面有没有更大年龄的门槛,我相信是有的,因为编程毕竟是脑力密集型劳动,随着年龄的增长,脑力自然会退化,总会有一个年龄门槛在等着程序员,但并不用为此焦虑,几乎每个行业都有年龄门槛,在这个门槛到来前努力绽放自己,实现自己的价值,自然也能有不错的收入,真到了门槛来临之时,不管选择哪条路,都能更加从容和淡然。

2025-04-13 22:45:28 478

原创 VSCode Java 单元测试没有运行按钮

在使用 VSCode 开发 Java 时,可能会遇到单元测试没有运行按钮的情况,如下图:可以看到,此时的单元测试没有运行按钮。

2025-03-26 11:14:19 599

原创 VSCode 使用默认profile打开文件

profile 是 VSCode 的一个功能,可以通过多首选项管理不同的环境,比如开发 Java 和开发 Python 需要不同的插件,就可以通过该功能配置不同的首选项,避免冗余的插件拖慢软件速度。一般作为文本编辑器使用时,只需要最原始的 VSCode 功能,也不需要自动保存,所以一般将默认的 profile 作为文本编辑器的首选项,只需进行如下设置即可。如此,不管当前使用的是什么 profile 在开发项目,都可以以默认 profile 打开文件,同时把 VSCode 当作文本编辑器。

2025-01-16 18:48:05 575

原创 Java MyBatis返回两个字段作为Map的key和value

这种查询在某些场景非常好用,比如查询字典,查询出的 key 和 value 就是字典的 value 和 label,利用 HashMap 的 get 方法时间复杂度为 O(1) 的特点,可以实现字典的快速映射。使用 MyBatis 时,可能会遇到这种情况:只查询两个字段,需要返回一个 Map,其中第一个字段作为 key,第二个字段作为 value。虽然能生成 Map,但其中的 value 是一个对象,不是直接值,与预期不符。这样得到的 Map 就是将两个字段作为 Map 的 key 和 value 了。

2024-12-06 15:10:40 892

原创 Java 列表元素自定义排序

比如对汉字的数字进行排序,他们的字符串长度都为 1,首字母顺序也不能得到预期的结果,因此需要自定义排序。这样的排序往往不能由元素本身的特性(比如字符串长度、首字母顺序)判断,需要自己指定顺序。如果需要改变排序规则(比如倒序),只需要改变自定义顺序列表的元素添加顺序即可。在 Java 开发过程中,有时会遇到需要对列表中元素进行自定义的排序。这样就得到了预期的结果。

2024-10-15 15:33:57 426 2

原创 C语言 18 条件编译

可以看到此时得到的结果就是 666 了,因为现在 PI 在引入的头文件中已经定义了(当然直接在当前源文件中定义也是一样的)当然,除了判断某个符号是否存在之外,也可以像条件语句那样直接进行逻辑判断,这里需要使用到。再来看看条件编译,还可以根据条件,选择性地对某些内容进行忽略。可以看到,在没有定义 PI 的情况下,执行的是。那如果现在希望判断某个符号没定义呢?,那要是现在定义了呢?

2024-09-29 15:47:39 355

原创 C语言 17 宏定义

虽然这里搞得像函数一样,但是最后还是会被替换为 x * x,而这个 x 就是填写的参数,所以最后会变成 9 * 9 替换上去,程序运行出来的结果就是 81 了。如果按照一般思维,M 是 a + b,那么替换上去之后应该就是 30,然后 30 x 10 最后得到的应该是 300 才对。,当然如果你定义为其他任意的内容,同样会替换到那个位置,但是至于替换之后程序还正不正常就不知道了。,注意这个跟类型无关,是赤裸裸的纯文本替换,也就是相当于把代码修改了,PI那里直接变成。这样就可以了,那么怎么去使用它呢?

2024-09-29 15:44:57 681

原创 C语言 16 系统库

前面了解了如何使用#include引入其他文件,接着来了解一下系统提供的一些常用库。

2024-09-27 23:27:02 660

原创 C语言 15 预处理

这到底是个什么东西,为什么每次都要加上呢?这里将详细讨论它缘由。C 语言中带号的指令并不是 C 关键字的一部分,不属于 C 语言。带号的指令是写给编译器看的,告诉它一些事情,好让它更好的为 C 代码服务。比如指令就是告诉编译器看到这句话就要把我写的文件包含进来,#define指令就是告诉编译器看到这个宏就用前面已经定义好的内容替换。

2024-09-27 17:22:29 463

原创 VSCode 定义Java类注释

这样的注释一片空白,无法标注类的作者、创建时间等信息。这样就自定义了 Java 的类注释了,此时再输入。在使用 VSCode 开发 Java 时,输入。进入 Java 配置。添加 Java 配置。

2024-09-20 16:45:15 666

原创 VSCode 定义代码模板

这样,以后在编写代码时,只需要使用配置的关键词就可以生成代码,比如一开始说的的序列化版本号代码输入。这段代码是固定写法,基本不会变,如果每次都手写的话,就比较繁琐了。VSCode 提供了生成代码段的功能,为我们提供了便利。是没有实际内容的,只是以注释的方式提供了一个示例。在使用编写代码的过程中,经常会写一些固定代码段。上方出现了各种后缀文件的选择,这里以选择。

2024-09-20 16:23:56 1025

原创 C语言 14 结构体 联合体 枚举

之前认识过很多种数据类型,包括整数、小数、字符、数组等,通过使用对应的数据类型,就可以很轻松地将数据进行保存了,但是有些时候,这种简单类型很难去表示一些复杂结构。

2024-09-19 14:49:49 1174

原创 C语言 13 指针

还记得在前面谈到的通过函数交换两个变量的值吗?swap(a, b);// 这里对a和b的值进行交换a = b;b = tmp;实际上这种写法是错误的,因为交换的并非是真正的 a 和 b,而是函数中的局部变量。那么有没有办法能够直接对函数外部的变量进行操作呢?这就需要指针的帮助了。程序中使用的变量实际上都是在内存中创建的。

2024-09-14 17:12:54 1161

原创 C语言 12 函数

程序的入口点就是main函数,只需要将程序代码编写到主函数中就可以运行了,不过这个函数只是由我们来定义,而不是我们来调用。当然,除了主函数之外,一直在使用的printf那么,函数的具体定义是什么呢?函数是完成特定任务的独立程序代码单元。每次要做这个任务时,都要完完整整地将任务的每一行代码都写下来,如果程序中多处都需要执行这个任务,每个地方都完整地写一遍,实在是太臃肿了,有没有一种更好的办法能优化代码呢?

2024-09-13 17:10:05 1291

原创 C语言 11 字符串

虽然这种编码方式能够很好的解决中文无法表示的问题,但是由于全球还有很多很多的国家以及很多很多种语言,所以最终目标是能够创造一种可以表示全球所有字符的编码方式,整个世界都使用同一种编码格式,这样就可以同时表示全球的语言了。不过这样能够表示的内容还是不太够,除了那些常见的汉字之外,还有很多的生僻字,比如龘、錕、釿、拷这类的汉字,后来干脆直接只要第一个字节大于 127,就表示这是一个汉字的开始,无论下一个字节是什么内容(甚至原来的128 个字符也被编到新的表中),这就是 Windows 至今一直在使用的默认。

2024-09-13 10:47:35 1269

原创 C语言 10 数组

简单来说,数组就是存放数据的一个组,所有的数据都统一存放在这一个组中,一个数组可以同时存放多个数据。

2024-09-06 09:40:53 1294

原创 C语言 09 流程控制

如果需要判断某个条件,当满足此条件时,才执行某些代码,那这个时候该怎么办呢?可以使用if这样虽然简洁,但不够直观,还是建议使用花括号。现在需求升级了,需要判断某个条件。当满足此条件时,执行某段代码;当不满足时,执行另一段代码。可以结合else但是这样可能还是不够用,比如现在希望判断学生的成绩,不同分数段打印的等级不一样。比如90以上就是优秀,70以上就是良好,60以上是及格,其他的都是不及格。那么这种又该如何判断呢?要像这样进行连续判断,我们需要使用else-if。

2024-09-03 16:14:21 681

原创 Java Excel转PDF(免费)

目前市面上 Excel 转 PDF 的组件较多:收费:aspose、GcExcel、spire开源:jacob、itextpdf其中收费的组件封装得比较好,代码简洁,转换的效果也很好,但收费也高得离谱:为了成本考虑,就需要考虑开源的组件了,因为它们都是免费的:jacob:目前没有探索出很好的导出效果。itextpdf:已探索出很好的导出效果,达到了与收费组件一致的效果(推荐)。以下是 itextpdf 的使用步骤:引入依赖<!-- POI Excel-->&lt

2024-08-29 15:57:20 2621 2

原创 C语言 08 运算符

不过默认情况下就是正数,所以没必要去写一个 + 号取模运算就是计算余数不过很遗憾,在 C 中没有指数相关的运算符,一般通过来实现。

2024-08-13 09:41:12 915

原创 VSCode 控制台中文乱码(永久性解决)

在 Windows 上使用 VSCode 进行开发时,经常会遇到控制台中文乱码的情况,设置编码往往都无效或者不能永久性解决。归根到底,是因为 Windows 中文版系统 cmd 编码默认为。一路点击确认,就永久性解决控制台中文乱码的问题。,而 VSCode 默认新建文件的编码为。,所以会出现中文乱码情况。

2024-07-29 14:57:16 1295 2

原创 Java 比较版本号

在开发中,有时候会遇到比较两个文件的版本号,或者比较多个文件的版本号得出最新版本号。

2024-07-29 10:08:28 633

原创 Docker 安装字体文件

由于 Docker 容器的隔离性,与宿主机是独立的运行环境,如果需要用到宿主机的字体文件就需要进行。例如在导出 PDF 文件时,如果缺少字体文件,就会产生乱码(常表现为中文变成方框)。Docker 字体文件的安装比较简单,因为 Linux 系统的字体文件一般都在。目录下,所以挂载该目录即可。

2024-07-11 17:24:47 662

原创 EasyExcel 单元格根据图片数量动态设置宽度

在使用 EasyExcel 导出 Excel 时,如果某个单元格是图片内容,且存在多张图片,此时就需要单元格根据图片数量动态设置宽度。

2024-07-05 18:13:28 480

原创 IDEA 一键部署Docker

以部署示例服务(sevnce-demo)为例。

2024-07-04 11:06:11 1100

原创 Hutool 获取中文日期

【代码】Hutool 获取中文日期。

2024-07-03 22:01:35 769

原创 EasyExcel 填充+写入

之所以要使用该拦截器,是因为填充时默认是只能取模板定义的 sheet 名称作为填充页的 sheet 名称,但业务中往往是需要动态命名 sheet 的,所以使用拦截器进行拦截处理后命名。此时读取的模板文件默认为压缩文件,是不能在后续进行填充的,所以需要在。:这里一定要传入对象,不能传入列表,否则填充的内容会变为空白。:这里必须要关闭写入器,不然写入的文件为空。

2024-07-03 17:24:20 1986

原创 Docker 部署Jenkins

【代码】Docker 部署Jenkins。

2024-05-18 17:20:10 396

原创 Docker 部署Nginx

【代码】Docker 部署Nginx。

2024-05-18 17:17:43 263

原创 Docker 部署Nacos

如果MySQL容器在WSL 2中运行,Nacos无法连接到容器的动态IP地址。WSL 2网络默认使用动态IP地址。即可访问Nacos。默认账号:nacos。默认密码:nacos。

2024-05-17 09:23:13 1289 2

原创 Docker 部署xxl-job

【代码】Docker 部署xxl-job。

2024-05-17 09:19:59 315

原创 Docker 部署RabbitMQ

d:设置程序后台运行。:设置服务自启动。--name:指定运行后的容器名称。-e:设置环境。这里主要设置账号密码为admin。默认账号密码为guest ,只能在 localhost访问,由于需要外网访问,所以创建admin用户进行登录。-p:设置公网IP地址的端口号对应容器内部的端口号。:安装可视化管理组件。

2024-05-16 18:23:42 528

原创 Docker 部署MinIO

:容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口。:容器名称。:后台启动。:随docker启动。:环境设置。:账号 :密码(正常账号应该不低于3位,密码不低于8位,不然容器会启动不成功) :数据卷挂载。第1个挂载文件数据。第2个挂载配置数据。 :指定客户端端口。2、访问管理界面服务器地址:9090输入设置的账号密码即可登录。

2024-05-16 18:22:00 600

空空如也

空空如也

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

TA关注的人

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