- 博客(57)
- 收藏
- 关注
原创 Docker 安装 Jenkins JDK8 版
直接运行(推荐,带内存限制 512M)http://你的IP:8080。拉取 JDK8 镜像。查看初始密码(必看)
2026-03-27 11:16:42
130
原创 Docker 安装 GitLab
最终启动命令(80 → 8989,443→4433,完全不冲突)访问 GitLab(必须带端口 8989)http://你的服务器IP:8989。查看密码(账号 root)
2026-03-27 10:08:10
97
原创 什么是Figma?
Figma 是一个基于浏览器的在线设计工具,专为数字产品的视觉设计和交互原型打造。Figma 则整合了设计、原型制作、交付和开发标注功能,形成一体化协作平台。Figma 通过实时协作取代传统文件传输,用云端共享替代本地存储,以系统化设计思维重构团队工作流程。工程师通过共享链接直接访问设计稿的开发模式,查看间距、颜色、字体等代码级参数。支持一键导出切图资源,无需设计师手动打包,大幅减少交付环节的沟通成本。设计文件默认存储在 Figma 的云端服务器,支持设置私有或团队可见权限。
2026-01-28 17:09:57
630
原创 Spring Boot 项目使用 EasyExcel 实现导出功能
你想要在 Spring Boot 项目中基于 EasyExcel 完整实现 Excel 导出功能,我会为你梳理一套标准化、可直接落地的实现方案,包含基础导出、字段控制、异常处理等核心内容,确保功能健壮且符合开发规范。以上代码可直接复制到项目中,替换 UserExportService 中的模拟数据为真实业务查询,即可快速实现生产级的 Excel 导出功能。打开文件,仅包含「用户 ID」「用户名」「用户状态」3 列,password 和 createBy 字段未导出。三、进阶优化(可选)
2026-01-26 17:24:12
732
原创 改变人生的方式
如果你想要某种结果,你必须在到达它之前,就已经过上能产生这种结果的生活方式。很遗憾地告诉你:如果你不打算终身接受让你瘦下来的那种生活方式,如果你没有找到一个比旧习惯更有“引力”的理由——你一定会反弹。有一件事永远是对的:认真审视你现在厌恶的生活,才有可能把自己发射到一个更好的方向。我们沉迷于地位游戏,给自己编造一些看起来很体面的“意义”,但这些东西从来不具备真正改变人生所需要的条件。我们会列出很多新年计划,告诉自己今年要干什么,到达到设么目标,这没什么,有上进心的人都会这么做。
2026-01-25 15:02:43
56
1
原创 晶圆制造中的Recipe是什么?
在半导体晶圆制造领域,绝非简单的参数清单,而是一套针对特定加工任务、由设备严格执行的。它是连接工艺设计、设备运行与产品性能的核心纽带,直接决定芯片的良率、性能与制造成本,是保障大规模量产稳定性与一致性的关键工具。
2026-01-21 08:39:30
1676
原创 晶圆CP测试
晶圆探针测试(Chip Probing,CP测试)是半导体制造中在晶圆切割封装前对裸片(Die)进行电气性能与功能验证的关键环节。通过探针卡接触芯片焊盘,施加信号并测量响应,检测参数如阈值电压(Vt)、导通电阻(Rdson)等,确保芯片符合设计规范。CP测试的核心目的是筛选不良芯片以降低封装成本、评估电性能参数(如漏电流、功耗)、验证功能完整性,并为工艺优化提供数据支持。部分情况下还可对芯片进行性能分级。
2026-01-20 10:54:20
396
原创 Fab厂中的MES系统
在现代化半导体晶圆厂(Fab)中,制造过程涉及数百道工序、数千个工艺参数和数十台昂贵设备的协同作业。任何微米级的偏差都可能导致整批价值数十万美元的晶圆报废。应对这一极端挑战、驱动半导体制造迈向高质量与智能化的核心引擎,正是制造执行系统(MES, Manufacturing Execution System)。它如同工厂的“大脑”与“中枢神经”,沉默却高效地运作于幕后,将极其复杂的物理制造过程转化为可控制、可优化、可追溯的数据流。
2026-01-20 10:51:00
848
原创 SpringBoot+SpringAI实战:30分钟搭建你的第一个智能应用
SpringAI是Spring生态下的一个全新项目,核心目标是为Java开发者提供一套简单、统一的API,快速集成各类AI大模型能力,无需关注不同厂商API的差异。核心优势:统一API:对接不同大模型无需修改核心代码,切换模型像切换数据源一样简单开箱即用:内置请求重试、超时控制、响应缓存等常用功能,减少重复编码无缝集成Spring生态:完美兼容SpringBoot、Spring Cloud等,符合Java开发者的使用习惯。
2026-01-09 23:03:47
455
原创 大模型RAG的介绍
领域知识覆盖不足、幻觉问题、信息过时以及数据安全风险,使得直接依赖大模型处理专业或实时性需求变得不可靠。RAG(Retrieval-Augmented Generation)通过将外部知识库与模型结合,动态检索相关文档作为生成依据,有效弥补了这些缺陷。通过上述方法,RAG系统能够在大模型基础上构建更可靠、更专业的智能应用,尤其适合对准确性要求严苛的领域。复杂场景中,RAG与微调可协同使用:RAG负责精准检索,微调优化模型对专业内容的处理能力。
2026-01-09 11:48:31
837
原创 半导体的学习路线
半导体是一个横跨材料、物理、电子、工艺、设计等多个领域的综合性学科,学习路线需要根据目标方向(如芯片设计、半导体工艺、器件研发等)有所侧重。先进半导体器件:研究 FinFET、GAA FET、功率器件(IGBT、MOSFET)、光电器件(LED、光电探测器)等新型器件的结构与原理。半导体制造技术:系统学习晶圆制造的全流程,包括晶圆制备、氧化、光刻、蚀刻、掺杂(离子注入 / 扩散)、薄膜沉积、金属化等关键工艺。数字电子技术:掌握逻辑门、触发器、组合逻辑 / 时序逻辑电路的分析与设计,为数字芯片设计打基础。
2026-01-04 09:19:29
1311
原创 从未纳入 Git 版本控制的本地代码上传到 Gitee
推送成功后,代码和提交历史会同步至 Gitee 仓库页面。填写仓库名称、路径和描述,取消勾选。登录 Gitee 账号,点击右上角。提交后,本地代码生成首次版本记录。,确保仓库完全空白。目录,存储版本控制数据。后,获取仓库地址(如。
2026-01-01 22:17:34
303
原创 Linux 定时备份 MySQL 并推送 Gitee
定期从 Gitee 下载备份文件,执行恢复测试,确保备份有效性。参数避免锁表,适合 InnoDB 数据库。,确保启用全库备份。
2025-12-31 09:49:16
191
原创 Linux 系统上安装 Nginx以及使用,推荐使用编译安装
将项目文件(如前端静态资源或后端构建产物)放置于统一目录,例如。编译安装的 Nginx 默认路径为。确保 Nginx 进程用户(通常为。或浏览器访问服务器 IP/域名。
2025-12-30 14:03:46
813
原创 什么是晶圆lot?
Quality Assurance:lot中的样品会被用作质量保证的一部分,通过对这些样品的测试,工程师可以确认整个lot是否符合标准。如果发现问题,lot级的追踪能力允许快速隔离和分析问题。数据采集:lot内的所有晶圆共享工艺条件,这使得工程师可以通过分析一个lot的数据来判断工艺的稳定性和效率。通常,晶圆制造工厂将多个晶圆放在一起进行同一流程的处理,这些晶圆组成的这一组就是一个“lot”。一致性:通过将晶圆分成lot,可以确保在同一批次中的所有晶圆都经历相同的工艺步骤和条件,这有助于提高产品的一致性。
2025-12-29 09:23:20
854
原创 wafer、die、chip之间的区别和联系?
Wafer(晶圆)Die(芯粒/裸片)Chip(芯片)。物理形式一整片硅片,包含多个 Die从晶圆上切割出的单个裸片封装后的成品芯片功能状态仅为承载电路的基础材料包含具体功能电路,但未封装经过封装后,可直接使用处理阶段晶圆加工阶段晶圆切割后,测试前或测试后封装与最终测试后交付用途半导体制造的原材料电路单元,测试是否合格独立产品,集成到设备中单元数量一片晶圆包含数百到上万个 Die单个裸片是一个 Die单个芯片通常对应一个 Die,但也可能包含多个 Die。芯片交付:将合格的芯片交付客户。
2025-12-29 09:17:39
1024
原创 半导体制造中各工艺环节的常见术语及释义
56.金属沉积(Metal Deposition):沉积铜、铝、钨等金属薄膜的工艺(如布线、接触孔)。77.蚀刻掩膜(Etch Mask):蚀刻过程中保护特定区域的材料(如光刻胶、氮化硅)。79.蚀刻剖面(Etch Profile):蚀刻后材料的截面形状(如垂直、倾斜)。126.缺陷检测(Defect Inspection):检测晶圆或芯片表面缺陷的工艺(如粒子、划痕)。65.各向同性蚀刻(Isotropic Etching):蚀刻速率在各个方向相同的蚀刻方式(如部分湿法蚀刻)。
2025-12-26 09:01:11
1825
原创 了解AI大模型
Fine-tuning就是模型微调,就是在预训练大模型(比如DeepSeek、Qwen)的基础上,通过企业自己的数据做进一步的训练,使大模型的回答更符合自己企业的业务需求。这个过程通常需要在模型的参数上进行细微的修改,以达到最佳的性能表现。这是不可以的,现在的大模型都是基于Transformer神经网络,Transformer的强项就是所谓的注意力机制。由于每次都是从向量库中找出与用户问题相关的数据,而不是整个知识库,所以上下文就不会超过大模型的限制,同时又保证了大模型回答问题是基于知识库中的内容,完美!
2025-12-25 11:15:36
722
原创 Windows怎么启动nginx
Windows 启动 Nginx 有 3 种常用方式,推荐用命令行启动(便于管理与排错),也可双击 exe 快速启动或注册为系统服务实现开机自启,以下是详细步骤与验证、管理方法。在 “Path” 填nginx.exe路径(如D:\nginx\nginx.exe),点击 “Install service” 完成注册。从Nginx 官网下载 Windows 版压缩包,解压到无中文 / 空格路径(如D:\nginx),路径下会有nginx.exe。nginx:前台运行,占用窗口,Ctrl+C可停止(适合调试)。
2025-12-25 08:40:37
1631
原创 微服务的注册中心
这里Nacos的依赖于服务注册时一致,这个依赖中同时包含了服务注册和发现的功能。因为任何一个微服务都可以调用别人,也可以被别人调用,即可以是调用者,也可以是提供者。启动完成后,访问下面地址:http://192.168.150.101:8848/nacos/,注意将192.168.150.101替换为你自己的虚拟机IP地址。首次访问会跳转到登录页,账号密码都是nacos。启动实例访问nacos控制台就可以在服务管理的服务列表里面发现服务注册成功。
2025-12-24 09:15:10
384
原创 穷人真的越来越穷?
他们看书,他们不拒绝并大量和富人交流,他们愿意跳出原来的圈子,他们去和比自己优秀的人靠近,他们相信别人的程度大于避免受骗的犹豫(就是被骗了,也能从经历中学习到新的事物,从而能辨识出新的机会)。2.持续收入期,也叫被动收入期,因为建立了自己的系统,比如有家公司,有个可以出租的房子,地铺,写字楼,前期工作,后期不工作也能有收入,有时候收入还在增长。3.钱生钱期,将持续收入得来的钱进行再投资,理财,站在资本链条的顶端,将钱贷给各个系统,银行,用钱生出来的钱就可以有优渥的生活,处于财务永生状态。
2025-12-24 08:50:42
430
原创 微服务的拆分原则
而横向拆分,是看各个功能模块之间有没有公共的业务部分,如果有将其抽取出来作为通用服务。例如用户登录是需要发送消息通知,记录风控数据,下单时也要发送短信,记录风控数据。因此消息发送、风控数据记录就是通用的业务功能,因此可以将他们分别抽取为公共服务:消息中心服务、风控管理服务。当然,微服务之间不可避免的会有或多或少的业务交互,比如下单时需要查询商品数据。虽然出现了服务间调用,但此时无论你如何在商品服务做内部修改,都不会影响到订单微服务,服务间的耦合度就降低了。所谓纵向拆分,就是按照项目的功能模块来拆分。
2025-12-23 10:08:53
389
原创 认识微服务
综上所述,微服务架构解决了单体架构存在的问题,特别适合大型互联网项目的开发,因此被各大互联网公司普遍采用。为了解决上述问题,所以我们引入了springcloud框架,微服务拆分以后碰到的各种问题都有对应的解决方案和微服务组件,而SpringCloud框架可以说是目前Java领域最全面的微服务组件的集合了。我们从单体架构的优缺点来分析,看看开发大型项目采用单体架构存在哪些问题,而微服务架构又是如何解决这些问题的。当然,微服务架构虽然能解决单体架构的各种问题,但在拆分的过程中,还会面临很多其它问题。
2025-12-23 08:39:24
471
原创 windows启动jmeter
在 Windows 上启动 JMeter,最常见的方法是找到解压后的 JMeter 目录,进入 bin 文件夹,然后双击运行 jmeter.bat 文件,同时会弹出一个黑色命令行窗口,这个窗口不要关闭,否则 JMeter 会退出。非 GUI 模式: 运行大规模测试时,使用命令行模式 (e.g., jmeter -n -t test.jmx) 效率更高,且不需要打开图形界面。等待: 会先出现一个命令行窗口(显示启动日志),然后 JMeter 的图形界面才会打开。输入命令: 在命令行中输入 jmeter。
2025-12-22 16:31:15
561
原创 在Windows上启动Redis
在Windows上启动Redis主要有命令行方式(redis-server.exe redis.windows.conf,但CMD窗口需保持打开)和服务方式(安装服务后用net start redis,可实现后台运行和开机自启),推荐通过安装服务的方式后台运行,然后通过服务管理器services.msc进行启停和设置自启。
2025-12-22 09:53:45
781
原创 使用exe4j将java的jar包成exe可执行文件
1,下载exe4j,下载地址https://exe4j.apponic.com/ 破解码网上找了一个A-XVK258563F-1p4lv7mg7sav。2,然后就是安装这个软件,软件都是傻瓜式安装。安装后首页显示,changelicense更改注册码。7,配置jre,高级选项选第一个,然后把三个默认选项去掉,选中自己电脑的jdk,3,填写工程名随便填,然后就是输出目录,也就是放exe文件的地方。然后一直下一步就看到我们的工具了,双击就可以使用了。8,最后一步保存我们的配置。6,选择Jar包和启动类。
2025-12-18 13:21:48
409
原创 java实现excel的导出的页面打印默认设置
java实现excel的导出的页面打印默认设置,打印成1页,纸张大小的的设置,方向的设置,以及合并单元格,每列的行高,提升打印效率。最后导出的excel用wps打开打印预览就有这些默认的配置。
2025-12-17 09:46:18
270
原创 初识动态规划
动态规划(dynamic programming)是一个重要的算法范式,它将一个问题分解为一系列更小的子问题,并通过存储子问题的解来避免重复计算,从而大幅提升时间效率。动态规划不包含回溯过程,因此只需使用循环迭代实现,无须使用递归。在以下代码中,我们初始化一个数组 dp 来存储子问题的解。动态规划最重要的事情就是找到初始状态,列出状态转移方程。在动态规划问题中,当前状态往往仅与前面有限个状态有关,这时我们可以只保留必要的状态,通过“降维”来节省内存空间。这种空间优化技巧被称为“滚动变量”或“滚动数组”。
2025-12-16 08:58:37
154
原创 什么是贪心算法
贪心算法(greedy algorithm)是一种常见的解决优化问题的算法,其基本思想是在问题的每个决策阶段,都选择当前看起来最优的选择,即贪心地做出局部最优的决策,以期获得全局最优解。贪心算法并不能找到最优解,也就是说,对于零钱兑换问题,贪心算法无法保证找到全局最优解,并且有可能找到非常差的解。对于某些硬币面值组合,贪心算法并不能找到最优解。凑零钱就是做好的贪心,给定 n种硬币,第 i种硬币的面值为 coins[i],目标金额为amt ,每种硬币可以重复选取,问能够凑出目标金额的最少硬币数量。
2025-12-16 08:57:35
195
原创 什么是回溯算法
回溯算法(backtracking algorithm)是一种通过穷举来解决问题的方法,它的核心思想是从一个初始状态出发,暴力搜索所有可能的解决方案,当遇到正确的解则将其记录,直到找到解或者尝试了所有可能的选择都无法找到解为止。当算法在搜索过程中遇到某个状态无法继续前进或无法得到满足条件的解时,它会撤销上一步的选择,退回到之前的状态,并尝试其他可能的选择。这种方法的优点在于能够找到所有可能的解决方案,而且在合理的剪枝操作下,具有很高的效率。然而,在处理大规模或者复杂问题时,回溯算法的运行效率可能难以接受。
2025-12-15 09:34:27
358
原创 分治思想解决汉诺塔问题
汉诺塔问题形成一棵高度为 n 的递归树,每个节点代表一个子问题,对应一个开启的 dfs() 函数,因此时间复杂度为 O(2的n次方),空间复杂度为 On。因为每次只能挪动一个圆盘,第3步移动了两个是因为当成了一个整体,也就是f(2),从本质上看,我们将问题 f(3)划分为两个子问题 f(2) 和f(1)一个子问题。f(n) 划分为两个子问题 f(n-1)和f(1)一个子问题 ,并按照以下顺序解决这三个子问题。F(2)和 f(1) 的解,所以我们可从分治角度思考,将 A 顶部的两个圆盘看作一个整体.
2025-12-15 09:08:54
262
原创 利用分治思想构建二叉树
根据以上划分方法,我们已经得到根节点、左子树、右子树在 preorder 和 inorder 中的索引区间。1,问题可以分解:从分治的角度切入,我们可以将原问题划分为两个子问题:构建左子树、构建右子树,加上一步操作:初始化根节点。根据 inorder 的划分结果,易得左子树和右子树的节点数量分别为 1 和 3 ,从而可将 preorder 划分为 [ 3 | 9 | 2 1 7 ]。3,子问题的解可以合并:一旦得到了左子树和右子树(子问题的解),我们就可以将它们链接到根节点上,得到原问题的解。
2025-12-14 00:45:51
279
原创 分治算法及其策略
3,快速排序:快速排序是选取一个基准值,然后把数组分为两个子数组,一个子数组的元素比基准值小,另一子数组的元素比基准值大,再对这两部分进行相同的划分操作,直至子数组只剩下一个元素。当子问题得到解决时,原问题也会同时得到解决。2,治(合并阶段):从已知解的最小子问题开始,从底至顶地将子问题的解进行合并,从而构建出原问题的解。2,治:从底至顶地将有序的子数组(子问题的解)进行合并,从而得到有序的原数组(原问题的解)。3,子问题的解可以合并:两个有序子数组(子问题的解)可以合并为一个有序数组(原问题的解)。
2025-12-14 00:30:57
380
原创 排序算法汇总以及java实现
具体来说,我们在未排序区间选择一个基准元素,将该元素与其左侧已排序区间的元素逐一比较大小,并将该元素插入到正确的位置。在此基础上,基数排序利用数字各位之间的递进关系,依次对每一位进行排序,从而得到最终的排序结果。1,选择排序:选择排序(selection sort)的工作原理非常简单:开启一个循环,每轮从未排序区间选择最小的元素,将其放到已排序区间的末尾。核心操作是“哨兵划分”,其目标是:选择数组中的某个元素作为“基准数”,将所有小于基准数的元素移到其左侧,而大于基准数的元素移到其右侧。
2025-12-13 23:59:41
322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅