-

-
赞赏我
-
+
+

+
做项目
+
+
+
+

+
八股文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/README.md b/docs/README.md
index 926c846a0..a1e629d10 100755
--- a/docs/README.md
+++ b/docs/README.md
@@ -5,12 +5,24 @@ actionLinks:
- link: /md/other/guide-to-reading.md
text: 开始阅读 →
class: primary
-- link: https://t.zsxq.com/09hMHNMEh
+#- link: https://wx.zsxq.com/group/48411118851818
+# text: 知识星球
+# class: secondary
+- link: /md/zsxq/introduce.html
text: 知识星球
class: secondary
-- link: /md/other/road-map.md
- text: 路书 👣
+- link: /md/road-map/road-map.md
+ text: 编程路书 👣
class: secondary
+- link: https://gaga.plus
+ text: 项目(+菜鸟教程) 💐
+ class: secondary
+#- link: https://618.gaga.plus
+# text: 9.9元/月(云服务器) ☁️
+# class: secondary
+- link: https://walicode.xiaofuge.cn/
+ text: WaLiCode 🤖
+ class: secondary
features:
- title: 沉淀
details: 承遇朝霞,年少正恰。整装戎马,刻印风华。
@@ -18,39 +30,68 @@ features:
details: 八表流云澄夜色,九霄华月动春城。
- title: 成长
details: 心怀天下,声色犬码。生有热烈,藏与俗常。
-footer: 京ICP备19031103号-1 | 
京公网安备 11030102010881号
| GPL Licensed | Copyright © 2019 小傅哥,All rights reserved.
+footer: 京ICP备19031103号 | 
京公网安备 11030102010881号
| GPL Licensed | Copyright © 2019 小傅哥,All rights reserved.
---
---
-## 必看专栏
-- [重学Java设计模式](https://bugstack.cn/md/develop/design-pattern/2020-05-20-%E9%87%8D%E5%AD%A6Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E3%80%8A%E5%AE%9E%E6%88%98%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8F%E3%80%8B.html):从互联网真实业务中抽离出,交易、营销、秒杀、中间件、源码等22个真实场景,学习设计模式的实践技巧和落地方案。
-- [面经手册](https://bugstack.cn/md/java/interview/2020-07-28-%E9%9D%A2%E7%BB%8F%E6%89%8B%E5%86%8C%20%C2%B7%20%E5%BC%80%E7%AF%87%E3%80%8A%E9%9D%A2%E8%AF%95%E5%AE%98%E9%83%BD%E9%97%AE%E6%88%91%E5%95%A5%E3%80%8B.html):此专栏并不是单纯的面试题,也不是内卷八股文。而是从一个单纯的和程序员有关的数学知识点开始,深入讲解 Java 的核心技术。
-- [手写 Spring](https://bugstack.cn/md/spring/develop-spring/2021-05-16-%E7%AC%AC1%E7%AB%A0%EF%BC%9A%E5%BC%80%E7%AF%87%E4%BB%8B%E7%BB%8D%EF%BC%8C%E6%89%8B%E5%86%99Spring%E8%83%BD%E7%BB%99%E4%BD%A0%E5%B8%A6%E6%9D%A5%E4%BB%80%E4%B9%88%EF%BC%9F.html):渐进式手写 Spring 源码,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。
-- [手写 Mybatis](https://bugstack.cn/md/spring/develop-mybatis/2022-03-20-%E7%AC%AC1%E7%AB%A0%EF%BC%9A%E5%BC%80%E7%AF%87%E4%BB%8B%E7%BB%8D%EF%BC%8C%E6%89%8B%E5%86%99Mybatis%E8%83%BD%E7%BB%99%E4%BD%A0%E5%B8%A6%E6%9D%A5%E4%BB%80%E4%B9%88%EF%BC%9F.html):在手写的过程中学习 Mybatis 从解析、绑定、反射、缓存,到会话和事务操作,以及如何与 Spring 进行关联注册 Bean 对象,完成整合部分功能逻辑。
-
-## 大厂项目
-
-- [API网关](https://bugstack.cn/md/assembly/api-gateway/2022-08-12-%E5%BC%80%E7%AF%87%EF%BC%9A%E5%A6%82%E6%9E%9C%E8%AE%A9%E6%88%91%E8%AE%BE%E8%AE%A1%E4%B8%80%E5%A5%97%EF%BC%8CTPS%E7%99%BE%E4%B8%87%E7%BA%A7API%E7%BD%91%E5%85%B3.html):是互联网大厂必备的系统,承接着:打车、外卖、购物、支付等多场景的使用,更是大促期间千万级访问量的核心服务。
-- [Lottery 抽奖系统](https://bugstack.cn/md/project/lottery/introduce/Lottery%E6%8A%BD%E5%A5%96%E7%B3%BB%E7%BB%9F.html):以贯穿整个互联网所需的分布式技术栈,基于DDD领域驱动设计的四层架构与设计模式逻辑的实践项目,非常适合手里没有大项目的读者进行学习。
-- [SpringBoot 中间件设计和开发](https://bugstack.cn/md/project/springboot-middleware/2021-03-31-%E3%80%8ASpringBoot%20%E4%B8%AD%E9%97%B4%E4%BB%B6%E8%AE%BE%E8%AE%A1%E5%92%8C%E5%BC%80%E5%8F%91%E3%80%8B%E4%B8%93%E6%A0%8F%E5%B0%8F%E5%86%8C%E4%B8%8A%E7%BA%BF%E5%95%A6%EF%BC%81.html):结合互联网所需解决的方案场景,开发 SpringBoot Starter,涵盖:技术框架、数据服务、数据组件、分布式技术、服务治理、字节码、IDEA插件七个方面,16种中间件的设计和开发。
-- [IM Netty](https://bugstack.cn/md/project/im/2020-03-04-%E3%80%8ANetty+JavaFx%E5%AE%9E%E6%88%98%EF%BC%9A%E4%BB%BF%E6%A1%8C%E9%9D%A2%E7%89%88%E5%BE%AE%E4%BF%A1%E8%81%8A%E5%A4%A9%E3%80%8B.html):`JavaFx`、`Netty4.x`、`SpringBoot`、`Mysql` 等技术栈和偏向于DDD领域驱动设计方式,搭建的仿桌面版微信聊天工程实现通信核心功能。
-
-## 面试必备
+### 我是小傅哥
+
+- :dog: 13年毕业,互联网大厂架构师,全网40万+粉编程知识博主。
+- :man_technologist: 成长:[关于我,从小白到架构师的成长经历](https://www.bilibili.com/video/BV1FF41137q5)
+- :bus: 作品:[`CodeGuide | 程序员编码指南`](https://github.com/fuzhengwei/CodeGuide) | [`RoadMap 编程路书`](https://github.com/fuzhengwei/RoadMap) | [`Java 数据结构和算法`](https://github.com/fuzhengwei/java-algorithms) | [`IM 仿微信`](https://github.com/fuzhengwei/NaiveChat) | [`Java 面经手册`](https://github.com/fuzhengwei/interview) | [`IntelliJ IDEA 插件开发`](https://github.com/fuzhengwei/guide-idea-plugin) | [`Lottery 抽奖系统 - 基于领域驱动设计的四层架构实践`](https://github.com/fuzhengwei/Lottery) | [`API网关`](https://github.com/fuzhengwei/api-gateway) | [`手写MyBatis`](https://github.com/fuzhengwei/small-mybatis) | [`重学Java设计模式`](https://github.com/fuzhengwei/itstack-demo-design) | [`Netty 实战案例`](https://github.com/fuzhengwei/itstack-demo-netty) | [`字节码编程`](https://github.com/fuzhengwei/itstack-demo-bytecode) | [`ChatGPT AI 问答助手`](https://github.com/fuzhengwei/chatbot-api) | [`chatglm-sdk-java`](https://github.com/fuzhengwei/chatglm-sdk-java) | [`docker-image-pusher`](https://github.com/fuzhengwei/docker-image-pusher) | [`💱IDEA Plugin vo2dto —— 对象转换插件(15.8k+安装)`](https://bugstack.cn/md/product/idea-plugin/vo2dto.html) | [更多搜索...](https://github.com/fuzhengwei?tab=repositories)
+- :seedling: 干货:[公众号『 bugstack虫洞栈 』](https://bugstack.cn/images/personal/qrcode.png)
+- :pencil: 博客:[bugstack.cn](https://bugstack.cn/) - 足够硬核,内容老狠了!
+- :tv: 视频:[B站 小傅哥の码场](https://space.bilibili.com/15637440)
+- :love_letter: 微信:[fustack](https://bugstack.cn/images/personal/fustack.png) - 备注来意
+- :feet: 我的编程知识星球「码农会锁」:[实战生产级项目、手写框架级源码,可以向我 1对1 提问,解答技术/职场/规划问题](https://bugstack.cn/md/zsxq/introduce.html)
+
+### 开发的项目
+
+- 创新项目「AI」(6)
+ - [AI MCP Gateway 网关服务系统](https://bugstack.cn/md/project/ai-mcp-gateway/ai-mcp-gateway.html)
+ - [AI Agent 脚手架 + 场景应用(draw.io、手机龙虾)](https://bugstack.cn/md/project/ai-agent-scaffold/ai-agent-scaffold.html) - 综合 Spring AI、LangChain4j + Google ADK(a2a、mcp、skills),打造全新智能体架构方案。
+ - [AI Agent 拖拉拽 + 动态配置(RAG、MCP、Prompt)](https://bugstack.cn/md/project/ai-knowledge/ai-knowledge.html)
+ - [OpenAI 代码自动评审组件](https://bugstack.cn/md/zsxq/project/openai-code-review.html)
+ - [OpenAI 大模型微服务应用体系构建 - API-SDK、鉴权、公众号、微信支付](https://bugstack.cn/md/zsxq/project/chatgpt.html)
+ - [ChatGPT AI 问答助手 - 小型,对接知识星球](https://bugstack.cn/md/zsxq/project/chatbot-api.html)
+
+- 业务项目(5)
+ - [拼团交易平台系统](https://bugstack.cn/md/project/group-buy-market/group-buy-market.html)
+ - [小型支付电商系统 - 一套项目2套架构开发(MVC+DDD)](https://bugstack.cn/md/project/s-pay-mall/s-pay-mall.html)
+ - [大营销平台系统 - 前后端 + Dev-Ops 的全栈式综合编程实战DDD项目!](https://bugstack.cn/md/project/big-market/big-market.html)
+ - [Lottery 分布式抽奖系统 - 基于领域驱动设计的四层架构实践](https://bugstack.cn/md/zsxq/project/lottery.html)
+ - [Netty+JavaFx实战:仿桌面版微信聊天](https://bugstack.cn/md/zsxq/project/im.html)
+
+- 组件项目(8)
+ - [本地任务消息组件](https://bugstack.cn/md/project/local-task-message/local-task-message.html)
+ - [通用技术组件 - 🔧扳手工程](https://bugstack.cn/md/zsxq/project/xfg-wrench.html)
+ - [透视业务流程 - 监控系统](https://bugstack.cn/md/zsxq/project/business-behavior-monitor.html)
+ - [动态线程池组件](https://bugstack.cn/md/zsxq/project/dynamic-thread-pool.html)
+ - [蓝兔支付SDK设计和开发](https://bugstack.cn/md/zsxq/project/ltzf-sdk-java.html)
+ - [API网关:中间件设计和实践](https://bugstack.cn/md/zsxq/project/api-gateway.html)
+ - [SpringBoot Starter 中间件设计和开发](https://bugstack.cn/md/zsxq/project/springboot-starter.html)
+ - [IDEA Plugin 开发手册](https://bugstack.cn/md/zsxq/booklet/idea-plugin.html)
+
+### 我的出版物
+
+- 2021年出版[《重学Java设计模式》](https://u.jd.com/4I2CXeO) —— 涵盖一线互联网众多真实案例;交易、营销、秒杀、规则引擎等场景
+- 2023年出版[《手写MyBatis:渐进式源码实践》](https://u.jd.com/wssnicY) —— 从零手写源码级复杂项目,提升架构思维与设计逻辑。锻炼编码能力。
+
+### 我的电子书
+
+- [小傅哥的《Java 面经手册》](https://download.csdn.net/download/Yao__Shun__Yu/14932325) —— 全书共计 5 章 29 节,417页11.5万字,耗时 4 个月完成。涵盖数据结构、算法逻辑、并发编程、JVM以及简历和互联网大厂面试等内容。但此书并不是单纯的面试题,也不是内卷八股文。而是从一个单纯的和程序员有关的数学知识点开始,深入讲解 Java 的核心技术。并且每一章节都配有实践验证的源码,可以对照着一起撸才更有感觉!
+- [小傅哥的《倚天村·图解数据结构》](https://drive.weixin.qq.com/s?k=ACMA4AfQABUm2EZtFm#/) —— 全书共计4章14节,215页4.2万字100+张图片,耗时3个月完成。涵盖4类14种数据结构,包括:链表、数组、队列、堆栈、哈希表、堆、字典树、二分搜索树、平衡二叉树、2-3树、红黑树、并查集、图、布隆过滤器。
+- [小傅哥的《字节码编程》](https://drive.weixin.qq.com/s?k=ACMA4AfQABUJWQ0P92#/) —— 全书共计107页,11万7千字,20个章节涵盖三个字节码框架(ASM、Javassist、Byte-budy)和JavaAgent使用并附带整套案例源码!
+- [小傅哥的《IDEA Plugin 开发手册》](https://download.csdn.net/download/Yao__Shun__Yu/77484299) —— 此开发手册,分为4章12节循序渐进的通过实践案例开发的方式,串联 IDEA Plugin 开发的各项常用技术点,为读者讲解如何开发一个 IDEA 插件。
+
+### 面试必备
- [100道八股题考试测验](https://bugstack.cn/md/zsxq/material/exam.html) —— 考题范围:数据结构、算法、源码、设计模式、系统架构、中间件、网络通信、实战项目、扩展问题
- [面试题汇总](https://bugstack.cn/md/zsxq/material/interview.html):汇总关于面试问题、简历编写、上岸总结、招聘信息等内容
-- [简历模板](http://pan.bugstack.cn/?dl=0599585a4e691adc7137ea9cb25c087f):你可以在学习掌握博客中的技术以及大厂项目,按照简历模板的格式,包装和调整成你需要的简历内容,提高面试通过率。
-
-## PDF
-
-- [《Java 面经手册》](https://download.csdn.net/download/Yao__Shun__Yu/14932325)
-- [《重学Java设计模式》](https://download.csdn.net/download/Yao__Shun__Yu/19265731)
-- [《手撸 Spring》](https://download.csdn.net/download/Yao__Shun__Yu/21009038)
-- [《字节码编程》](https://download.csdn.net/download/Yao__Shun__Yu/12505051)
-- [《IDEA Plugin 开发手册》](https://download.csdn.net/download/Yao__Shun__Yu/77484299)
+- [简历模板](https://t.zsxq.com/19hxv0cgY):你可以在学习掌握博客中的技术以及大厂项目,按照简历模板的格式,包装和调整成你需要的简历内容,提高面试通过率。
-## 公众号
+### 公众号 - 关注获得新通知
最新文章会首发公众号,强烈推荐读者伙伴关注一波!另外,在公众号:bugstack虫洞栈 回复 `1024` 可以下载更多资源内容。
@@ -60,13 +101,13 @@ footer: 京ICP备19031103号-
-## 联系我
+### 联系我 - 可加技术交流群
-沉淀、分享、成长,让自己和他人都能有所收获!你也可以添加本站作者小傅哥的微信:`fustack` —— 加入作者技术交流群
+沉淀、分享、成长,让自己和他人都能有所收获!你也可以扫码添加本站作者小傅哥的微信(记得备注从博客来的)
-

-
微信:fustack
+

+
提示:如果添加失败,可以先扫码图中的客服,也可以找到我
diff --git "a/docs/md/about/job/2023-02-04-\351\241\271\347\233\256\350\277\231\344\271\210\351\227\256\357\274\214\346\212\212\344\275\240\346\260\264\345\210\206\346\214\244\345\271\262.md" "b/docs/md/about/job/2023-02-04-\351\241\271\347\233\256\350\277\231\344\271\210\351\227\256\357\274\214\346\212\212\344\275\240\346\260\264\345\210\206\346\214\244\345\271\262.md"
index 49d8cfa76..48c356464 100644
--- "a/docs/md/about/job/2023-02-04-\351\241\271\347\233\256\350\277\231\344\271\210\351\227\256\357\274\214\346\212\212\344\275\240\346\260\264\345\210\206\346\214\244\345\271\262.md"
+++ "b/docs/md/about/job/2023-02-04-\351\241\271\347\233\256\350\277\231\344\271\210\351\227\256\357\274\214\346\212\212\344\275\240\346\260\264\345\210\206\346\214\244\345\271\262.md"
@@ -155,9 +155,7 @@ Lottery 的设计把这事给办了;
如果你手里确实没有什么像样的实战项目能摆到简历里给面试官看。那么我非常建议加入小傅哥的知识星球。因为在知识星球里,小傅哥提供了:`《Lottery-抽奖系统》`、`《API网关》`、`《IM通信》`、`《手写MyBatis》`以及各类技术小册,这些项目学习完任何一个,都能和面试官聊到心花怒放,知道你是个有技术深度值得招聘进来的小伙。
-
-

-
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
1. 星球内的服务和实战项目都是小傅哥本人提供和**原创**,相信能够给大家带来**超过该价格的价值** 。举个例子,渐进式手把手带大家做**进大厂才可能看得见的项目**、有笔记有源码、有问题可以提,这比单独买一个课程或一套源码要值得多。其实都不到大城市一节补习班的钱,**哪怕把我的课程时长换算成培训机构的课时,也是便宜的超级多**。
2. 持续的内容创作 + 回答问题 + 知识星球的运营(简历批阅、就业指导、架构设计) 需要小傅哥每个早上6点-8点以及周末/假期持续维护。也希望加入星球的同学都是真的下定了决心想要进步,而不是像免费的交流群和社区一样 “闲聊扯淡”。
diff --git "a/docs/md/about/job/2023-03-19-\344\275\240\347\256\200\345\216\206\346\262\241\351\241\271\347\233\256\357\274\214\344\275\240\345\276\227\351\201\255\350\200\201\347\275\252\345\226\275\357\274\201.md" "b/docs/md/about/job/2023-03-19-\344\275\240\347\256\200\345\216\206\346\262\241\351\241\271\347\233\256\357\274\214\344\275\240\345\276\227\351\201\255\350\200\201\347\275\252\345\226\275\357\274\201.md"
new file mode 100644
index 000000000..df77c80e3
--- /dev/null
+++ "b/docs/md/about/job/2023-03-19-\344\275\240\347\256\200\345\216\206\346\262\241\351\241\271\347\233\256\357\274\214\344\275\240\345\276\227\351\201\255\350\200\201\347\275\252\345\226\275\357\274\201.md"
@@ -0,0 +1,84 @@
+---
+title: 你简历没项目,你得遭老罪喽!
+lock: need
+---
+
+# 你简历没项目,你得遭老罪喽!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+## 一、前言;豆包不是干粮
+
+每每准备面试,总有些小伙子甩出自己的`豆包项目`,不是Xxx管理系统,就是某某自动化平台。就像这几年自己的经历都放在 `CRUD` 编写上了,走的那是加班的道,干的都是体力的活。
+
+但就是这样的`豆包项目`,把简历塞满都不想给你面试机会。面试要啥,面试要的是你经历过复杂的业务场景、要是你参与过牛逼的技术方案。咋,那你业务场景不复杂、技术深度又不行。那面啥呢 🤨?面的是你那满嘴的`虎狼之词`吗?
+
+其实不只是工作几年,哪怕是现在的应届生,简历上要满是图书管理系统、学生用户中心系统、课程管理系统,都没法在卷出一个高薪的 Offer 了,当然那些外包工作还是可以的。不过像小傅哥认识的伙伴,入职字节跳动、入职京东物流、入职腾讯微信,真的是在上学阶段就积累了很多编程经验和编程思维,也参与学习到很多有业务场景复杂又有技术深度的项目上。
+
+如果你也有想点干货项目,`在简历上撑厂子`,接着往下看,小傅哥给你讲。
+
+## 二、整理;你的过往经历
+
+面试前不要上来就打开word往里怼东西,你这会压根就没想好你要写啥东西,更没有想过这份简历意味着什么。
+
+其实每一份简历都是一份明码标价的商品,那这既然是商品,要卖给人家。总得在简历上看到**卖点**吧。那你的卖点是什么呢?你的卖点是过往经历中积累的开发经验和落地能力,公司招聘你可以让你快速的在岗位上体现价值。
+
+但可能你一开始也没想好自己有啥`卖点`,那怎么办?打开一个 xmind 呀,把自己的过往经历先梳理进去。**以下这些都是你在编写项目时需要注意的重点事项,否则就会流水账一样的描述**
+
+
+

+
+
+- 有时候你不是不知道项目里怎么体现价值吗?其实除了项目本身自带的内容以外,你可以尝试把自己的学习过的核心技术添加到项目中描述。
+- 比如;你在项目中有一个场景,是通过定时任务扫描数据库表数据,完成某些任务的。但随着业务体量越来越大以后,扫描的效率逐步变差。那么这个时候老板就要求你赶紧提升扫描性能,因为延后的扫码就会耽误公司赚钱。因为延后拖慢了处理时间,也就影响了类似计息、发券、结算等。所以这里你可以设计一个**低延迟的任务调度设计**,通过这样的内容就可以很好的把技术高度给拉起来。
+
+
+

+
+
+- 而像这样的内容,小傅哥给你准备了很多,在 [bugstack.cn](https://bugstack.cn/) 小傅哥的博客里,你所学习到的技术深度内容,都可以编入到实际场景中解决实际问题。
+
+## 三、简历;教你编写价值
+
+简历,看的就是你的过往经历,通过过往经历展示你的技术实力和技术影响力。所以通常你可以通过这样几个方面来包装简历;
+
+
+

+
+
+- **开源项目**:编写技术插件、开源技术组件,这些东西不需要太大,只要是你开源出去,并且有相应的数据,那么就是有价值的。并且这样是你个人技术影响力的体现。比如像小傅哥基于 IDEA Plugin 插件开发的学习,编写了一个 [`vo2dto`](https://github.com/fuzhengwei/vo2dto) 插件;`解决对象转换问题。选定对象批量织入“x.set(y.get)”代码,帮助开发者自动生成vo2dto转换代码。`
+
+
+

+
+
+ - 地址:[https://github.com/fuzhengwei/vo2dto](https://github.com/fuzhengwei/vo2dto)
+ - 插件:[https://plugins.jetbrains.com/plugin/18262-vo2dto](https://plugins.jetbrains.com/plugin/18262-vo2dto) - 已有5.3k下载安装
+ - 课程:[bugstack.cn -> 中间件 -> IDEA Plugin 开发手册](https://bugstack.cn/md/assembly/idea-plugin/2021-08-27-%E6%8A%80%E6%9C%AF%E8%B0%83%E7%A0%94%EF%BC%8CIDEA%20%E6%8F%92%E4%BB%B6%E6%80%8E%E4%B9%88%E5%BC%80%E5%8F%91%EF%BC%9F.html)
+
+- **组件项目**:有些粉丝伙伴的简历里缺少技术,而且项目数量也不够。其实这个时候你可以编写一些 SpringBoot Starter 技术组件项目。想这一些组件都是对业务场景中同类共性功能的凝练,开发成共用组件降低研发成本,提高产研交付效率的。你既可以选择学习这里的内容使用,可以基于自己的学习做扩展处理。
+
+- **业务项目**:如果你本身手里没有什么项目,根本不够面试使用,那么就非常有必要学习一下 Lottery 微服务分布式抽奖系统。像这样一个项目在各个场景中都有使用,比如;电商、出行、外卖、旅游等各类需要促活、拉新的场景都会有一个对应的营销抽奖系统。并且这样的项目复杂度也不低,它需要承载较大体量的并发,以及频繁迭代。所以在系统设计上有复杂度,在技术实现上有深度。那么这样的项目写到简历里既不会特别大,面试又有的说。
+
+- **技术项目**:在计算机网络中,[**网关** ](https://zh.wikipedia.org/wiki/网关)(Gateway)是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。而**API网关**也是随着对传统庞大的单体应用(All in one)拆分为众多的微服务(Microservice)以后,所引入的统一通信管理系统。用于运行在外部http请求与内部rpc服务之间的一个流量入口,实现对外部请求的`协议转换`、`参数校验`、`鉴权`、`切量`、`熔断`、`限流`、`监控`、`风控`等各类共性的通用服务。如果你能了解并开发出一套这样的系统,那在简历中可是非常亮眼。
+
+## 四、学习;你需要找对人!
+
+这些硬核的技术项目,都是小傅哥从开发到架构师,依靠这些年的编程经验和技术积累,所创作出来分享给大家的。而每一个项目的完成都需要将近3-8个月的周末和假期,你如果真的想提升自己的能力,真的可以跟随一下这样的项目锻炼自己的编程思维和开发能力。
+
+当然我也不扯淡,这确实需要花一点钱💰,但你跟着我就是在跟着一个架构师在学习。并且我也相信能够给大家带来超过该价格的价值 。举个例子,渐进式手把手带大家做进大厂才可能看得见的项目、有笔记有源码、有问题可以提,这比单独买一个课程或一套源码要值得多。其实都不到大城市一节补习班的钱,哪怕把我的课程时长换算成培训机构的课时,也是便宜的超级多。
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
+
+- **星球**:码农会锁 - 一个学习实战项目,锻炼编码能力,增强编程经验的技术社群。
+- **地址**:[https://t.zsxq.com/0cLItY5jY](https://t.zsxq.com/0cLItY5jY)
+- **说明**:加入星球后可阅读星球置顶消息,快速了解课程学习。并且记得添加小傅哥微信,你还会获得进入一个VIP用户项目学习群。其他更多内容可以点击链接了解:[https://bugstack.cn/md/zsxq/introduce.html](https://bugstack.cn/md/zsxq/introduce.html)
+
+
+

+
+
+
diff --git "a/docs/md/about/job/2023-07-11-\351\235\242\350\257\225\345\256\230\351\203\275\351\227\256\344\275\240\345\225\245\344\272\206.md" "b/docs/md/about/job/2023-07-11-\351\235\242\350\257\225\345\256\230\351\203\275\351\227\256\344\275\240\345\225\245\344\272\206.md"
new file mode 100644
index 000000000..b321a3cb5
--- /dev/null
+++ "b/docs/md/about/job/2023-07-11-\351\235\242\350\257\225\345\256\230\351\203\275\351\227\256\344\275\240\345\225\245\344\272\206.md"
@@ -0,0 +1,93 @@
+---
+title: 校招生:"为啥,面试官和我热情地聊了20分钟,之后没下文啦?"
+lock: need
+---
+
+# 校招生:"为啥,面试官和我热情地聊了20分钟,之后没下文啦?"
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+要不是出于"人道主义",可能有些校招生的简历,3分钟就能聊完。但是没有办法,硬拉着扯了15分钟~20分钟!因为每个大厂面试官,在做校招面试前,都要经历一个岗前培训。"每场面试不低于20分钟"、"保持目光交流"、"用微笑和中性词解答"、"禁止争吵和过激讨论"、"不要诋毁求职者的简历内容"等等。
+
+所以,如果你的面试官和15分钟都在聊八股文,剩余5分钟喜笑颜开的和你唠家常。那大概率是你的简历实在没有啥可以问的了,只能靠这些内容凑一下面试时长了。而正常来说一场面试,60%以上的时间,是对你的简历进行**行为事件**挖掘。也就是要基于简历中的技术实际场景的使用来提问,比如;遇到了什么问题、怎么解决了、得到了哪些收获结果。形成完整的行为事件,这就是面试一个人的核心过程。
+
+那么,接下来小傅哥就给你介绍下,你的简历要有哪些东西,才能迎合面试官的胃口,提高你的通过率!
+
+## 一、面试官考试
+
+对于一场校招面试来说,需要准备的人不只是你,还有你的面试官。尤其是中大厂的面试官,在校招开始之前,需要统一听招聘宣讲、参与招聘学习课程再到学习考试,只有达到90分以上,才能有资格去面试你!
+
+而这90分以上的资格,也可以说是人才识别能力的资格。就是怎么面试,能从一群**小卡拉米**中寻找出最有潜力的技术人才。具体识别的标准包括;`认知水平`、`学习能力`、`专业知识`、`问题解决`和`创新能力`。所有的这些能力考察,都需要从你实际做了什么事情为锚点,链接起你的相关能力在各个事件上的体现。
+
+
+

+
+
+- 能力提升的70%都来自于对应用级项目的开发实践锻炼,剩余30%分别来自于课堂、书本、资料和向有经验的人学习。
+- 所以在面试中,面试官会尽能的挖掘简历中能体现出个人能力的价值点。而那些熟知的常见问题;架构、源码、八股、数据结构、设计模式等,也都会被从实际的应用场景中找到行为事件来提问。比如:“你的项目中,我看到一块关于抽奖的算法实现,那么抽奖流程是什么样,怎么设计更合理,抽奖算法是什么,这里的多个抽奖算法怎么注入到对象里的,Spring Bean 对象的生命周期是否了解,如果我希望是xxx的抽奖算法你该怎么实现等等”。
+- 面试官就是这样跟着一个问题点,一直串联出你的各类行为事件,这些问题你是怎么设计的,你是怎么想的,你是怎么做的,你的结果是什么。**所以只是干巴巴的,拿出一个问题就考,那么大概率你的简历是没有可被串联起来的行为事件,说白了没东西可问!**
+
+## 二、简历的等级
+
+其实,简历好不好,有没有东西可以聊。往往一看简历就大概知道了,比如根据这个人折腾过什么项目、参与过什么赛事、获得过什么奖项、有过什么样经历等内容。基本会给简历分个1、2、3级别,面试官是特别期待遇到一些有想法的学生,因为能从那些提问中,看到的不只是技术能力还有对技术的热情。
+
+### 1. 简历评级
+
+- 基础简历:1个业务项目 + 1个组件项目
+- 中级简历:1个业务项目 + 1个组件项目 + 1个创新项目
+- 高级简历:1个业务项目 + 1个技术项目 + 1个创新项目 + 1个开源项目【发布到插件/组件等市场有数据体现】
+
+
+

+
+
+什么样简历更得到面试官的喜欢,什么样的简历更能得到 Offer 其实也是面试了好多人后的一个经验总结。而把这些东西分享给大家,也是希望你能尽可能的展示出自己的能力,或者按照这样一个标准来要求自己。
+
+### 2. 优化简历
+
+小傅哥也为小伙伴修改了上百份简历,怎么编写、怎么描述、怎么组合,这些都是希望你能在面试的时候,把自己的最强的内容全面的展示出来。以下是举例;—— 提交你的简历,我也可以帮你优化:[https://t.zsxq.com/10pLHDzcD](https://t.zsxq.com/10pLHDzcD)
+
+
+

+
+
+
+

+
+
+
+

+
+
+## 三、实习没项目
+
+有时候我想把一些你还不知道的,但也会发生在你的职业生涯路上事情,提前告诉你。这样你也能自己有个准备。其实这里有个扎心的事实,加入公司实习也不一定有大的项目,还有还可能成为会议记录仔。
+
+
+

+
+
+站在公司的角度,实习生并不是一个稳定的因素,大部分招聘实习生还是偏向于零活为主。比如;会议记录仔、开发边角料、ERP查数、帮助测试功能等。当然也有那些运气好的并加上自身实力不错的,可以参与到稍微重点的项目中进行开发,还有可能因为参与了重点项目,而被留了下来。
+
+但即使是可能不会被分配到很重要的活,实习也是一个非常重要的经历,因为有了实习,你经历来自公司中真实的项目经历。虽然不一定做,但能天天看到哇。知道都开啥会,怎么接需求,怎么过进度,架构师干啥,开发工程师干啥,系统怎么监控,数据怎么查看,都有哪些权限申请等等。所以实习还是非常有必要。
+
+**但站在自己的角度**,要多看些公司的项目,尤其是源码中都怎么设计和实现的。因为公司里的项目,大部分不会像课程那样给你1、2、3步骤,也不会有手把手视频了。都是需要你有自己的“套路”来学习掌握,比如 Sequence Diagram 这样的插件看静态代码流程,或者是从单元测试入手运行调试代码,都是可以的。
+
+## 四、一条龙服务
+
+简历,也是一场战斗的开始,好好准备简历,才能让秋招有个好的收获。小傅哥通过过往招聘的经验,以及架构开发的积累,编写了一整套的学习路线。从学习路线、项目实战、1v1解答,再到简历优化,这可以为你指明路线,把有限的时间都用到必要的事情中。—— 也许就是我的一句话,就能让你少折腾好久,好久!
+
+
+

+
+
+---
+
+好啦,需要迎接校招的伙伴,赶紧加入吧!这么实惠、干净、给力的技术圈子并不多!
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
+
+
diff --git "a/docs/md/about/job/2023-09-13-\345\267\245\344\275\234\345\206\205\346\216\250.md" "b/docs/md/about/job/2023-09-13-\345\267\245\344\275\234\345\206\205\346\216\250.md"
new file mode 100644
index 000000000..84b05940d
--- /dev/null
+++ "b/docs/md/about/job/2023-09-13-\345\267\245\344\275\234\345\206\205\346\216\250.md"
@@ -0,0 +1,96 @@
+---
+title: 程序员,工作内推社群 —— 主打一个免费!
+lock: no
+---
+
+# 程序员,工作内推社群 —— 主打一个免费!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+`3600人的加入,600多天的运营`,其实小傅哥还悄悄的运营了一个免费的帮助大家找工作的星球,现在已经有非常多的伙伴加入,并分享许多公司的实习、校招、内推岗位,也有很多伙伴在线求职。—— 这个星球,纯免费、无杂质、做码农们找工作后盾!
+
+
+

+
+
+虽然多运营一个圈子,就会多占用我一些时间。但做这样能帮助到大家的事情,我认为就是值得的!
+
+就找工作来说,可以通过官网的渠道投递,也可以通过招聘网站发送简历。但从成功率看,其实还有个更好的方式,就是找内推。因为内推可以获得更高的面试优先级,以及拿到不错的通过率。因为内推是所在公司伙伴根据部门招聘要求,推荐的求职者。对于你的简历是否匹配岗位,以及还差哪些技术,都可以在帮忙推荐前根据简历对你提供一些非常重要的信息。所以内推可以有着不错的通过率。
+
+不过很多刚毕业和初入职场伙伴,并不认识那么多在公司里的大佬,所以也就没有太多的内推机会。但小傅哥有哇,我有这么多的粉丝读者,有在校的、毕业的、就业的、海外的,有的需要内推,有的需要招聘。所以这不是顺手送人🌹玫瑰的事吗,让他们可以互相交流,不就都解决了各自的需求。
+
+**星球里很多伙伴分享了自己组内的岗位**,有时候这些岗位信息,基本都没有出现在官网,就被抢没了。
+
+
+

+
+
+接下来小傅哥就介绍下这个免费星球的使用,方便小伙伴们使用,也祝愿每个努力奋斗的人,都能所求皆如愿,所行化坦途!
+
+>文末提供了扫码加入星球的方式,免费加入!!!
+
+## 一、星球有啥
+
+用于找工作的免费星球,名字叫【工作内推&码农们的浪浪山】。功能包括;岗位内推、在线求职、面试反馈、八股题库、通晒工资、吐槽公司、问个问题,这些模块。这些模块也是为了让大家尽可能找到一些不错的公司,也尽可能避免被一些公司坑。如果后续还有其他的诉求,也可以添加对应的模块。
+
+- 【岗位内推】:分享者需要明确提供;公司、地点、职责、要求,以及投递邮箱。—— 我们更信任是公司邮箱📮。
+- 【在线求职】:把自己的信息,包括;能力、岗位、经历、学历,分享出来。主动求职,让有需要的伙伴,可以私聊你。但注意保护好个人隐私。
+- 【面试反馈】:分享在面试中的一些经历,比如;面试的公司、时长、问题,如果有回答的不好的,也可以互相一起补充下答案。
+- 【通晒工资】:你知道,其实除了头部掐尖以后,其他的大部分伙伴以及入职几年的,工资都不是特别高。所以也想,如果有想说真实范围的,也能让大家参考。**这里小傅哥已经统计了一份,在下文中展示**
+- 【吐槽公司】:可能你待的比较疲惫😫,适当的吐吐槽放松下。但没有十全十美的公司,也没有十全十美的我们。互相成就而已!
+- 【问个问题】:当你需要对一些职场问题、生活问题、面试问题、技术问题等,需要讨论的时候,可以发个帖子,大家一起讨论。
+
+以上这些模块,在你发送帖子的时候,记得加上🏷标签。
+
+## 二、内容展示
+
+星球中已经积累了很多的招聘求职和公司的分享信息,这些内容都可以让大家尽可能的少走一些弯路。尤其是每个程序员的个人分享,远远要比一些官网的内容来的更加亲切。也希望大家多分享信息,因为这样可以更好的互相帮助。**这样的星球如果你还不加入,那真是乱花渐欲迷了眼,啥重要信息都看不见!🙈**
+
+### 1. 岗位内推
+
+
+

+
+
+### 2. 在线求职
+
+
+

+
+
+### 3. 面试反馈
+
+
+

+
+
+>对此,感兴趣也喜欢分享的伙伴,可以直接冲了!这是小傅哥专门为码农,在浪浪山⛰开出一个块根据基!
+
+## 三、晒晒工资
+
+有不少伙伴会被网上的工资唬住,还可能被精神PUA,不知道工作1、2、3年都能赚多少钱。甚至可能一激动就乱跳槽了,最后自己的简历职业生涯体现的很花。
+
+所以小傅哥在这里了做一份互联网码农的薪资统计,非常真实。包括;城市、学历、公司、薪资,还包括一年到头能赞多少钱💰。有了这样的数据,大家在自己的职业发展中,也好有个更真实的对比。
+
+**所以,小傅哥的这个免费星球,不造虚假数据、不PUA我们自己、不带节奏、不蹭热点,只做真实的内容分享。**
+
+
+

+
+
+## 四、加入星球
+
+**嘿嘿,怎么样?** 这样免费、给力、牛皮的星球,是不是非常值得加入。死鬼,那还等什么呢,直接扫码加入呀!当然也可以把本文分享到朋友圈你的伙伴群,让好东西可以被看见!
+
+| 免费星球 —— 工作内推,直接扫码加入。加入后,记得下个APP看起来更方便,也可以PC端搜星球看。 |
+| :----: |
+|
|
+| **付费星球 —— 学习项目**,API网关、Lottery抽奖、IM通信、SpringBoot Starter 组件开发、IDEA Plugin 插件开发等 |
+|

|
+
+从很多研发伙伴的找工作来看,最大的问题是没有好的项目,撑不起来简历。所以如果你也是这样的情况,可以好好加入付费星球,跟着小傅哥做做项目,因为我会带着你做一些非常有深度的项目编码,**提高编程思维,锻炼编码能力。**
\ No newline at end of file
diff --git "a/docs/md/about/job/2024-09-08-\351\230\277\351\207\214P7\357\274\214\345\260\261\346\230\257\345\276\210\345\244\232\344\272\272\347\232\204\345\244\251\350\212\261\346\235\277\345\220\227\357\274\237.md" "b/docs/md/about/job/2024-09-08-\351\230\277\351\207\214P7\357\274\214\345\260\261\346\230\257\345\276\210\345\244\232\344\272\272\347\232\204\345\244\251\350\212\261\346\235\277\345\220\227\357\274\237.md"
new file mode 100644
index 000000000..f175ebbc0
--- /dev/null
+++ "b/docs/md/about/job/2024-09-08-\351\230\277\351\207\214P7\357\274\214\345\260\261\346\230\257\345\276\210\345\244\232\344\272\272\347\232\204\345\244\251\350\212\261\346\235\277\345\220\227\357\274\237.md"
@@ -0,0 +1,87 @@
+---
+title: 阿里P7,就是很多人的天花板吗?
+lock: no
+---
+
+# 阿里P7,就是很多人的天花板吗?
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+有人说:”阿里的P7就是很多人的天花板?“,其实他说的没错。这个级别对应研发就是高级架构师,或者M序列管理一个组长的岗位。前面冲到P7靠你的学历进入大厂和技术积累冲击岗位,但从这往后再想晋升靠命了!
+
+
+

+
+
+**天花板级别的收入咋样?🤔**
+
+`字节的 2-2 ~ 3-1`、`腾讯的10级 ~ 11级`、`阿里的 P7~P8`、`京东的 T7~T8`,他们的待遇和基本收入是差不多的。在这些级别中平级跳槽的一般不多,除非有是干的实在不爽了。一般是手里有干货的,从任何一家调另外一家,普通会级别+1,收入也会有所增加。来自 [duibiao.info](https://duibiao.info/) 的一份收入数据对比。
+
+
+

+
+
+举例🌰,在一个大部门中,T9级别极少,年龄最大,T8少量、主力在 T6~T7,校招新入职在 T2~T3。不过往往C9级别高等院校的学生 + 技术积累很不错,拿到的校招 Offer 会倒挂社招T5级别的薪资范围。前两年一般需要积累,无晋升名额,从做出成绩后,1~2年可能会提名一次晋升。当然还有一些靠命的东西,会走的很快。比如公司组织的技术赛事获奖、A级项目入围等。**当然如果你连续发生事故,造成重大影响,也会让你走的很快。**
+
+> 接下来,小傅哥分享一些,修炼一身,即走的出去加薪,也留的下来晋升的本事!
+
+## 一、不要过早冒头!- 做人
+
+`纵无显效亦藏拙,若有所成甘守株。`
+
+在武侠电影🎬《剑雨》中有这一段,陆竹在破庙中与细雨经过一番过招之后,指出细雨的剑法漏洞。并通过`藏拙于巧(藏巧于拙)`,`用晦而明`,`寓清于浊`,`以屈为伸`,破解辟水剑。
+
+
+

+
+
+这里有一句,藏拙于巧,出自于 自贻 - 唐·罗隐 中的诗句`纵无显效亦藏拙,若有所成甘守株。`。意思在于古往成就大事者,都要善于藏锋守拙、低调隐忍。
+
+在我最开始入职的时候,就不善于这个。往往都是横冲直撞,斗业务、怼产品、干测试!要不是得益于早年的互联网更纯粹,加上领导的偏爱。可能在某次过招后,我也就被送走了。直到现在我的电脑里还保留有和当时产品 battle 的截图 😂。当时的性格就是,你错了,你不对,我指出你不认,那我就再上一招!但往往每一招背后,我也都有漏洞,就像那剑法一样。所以一直我也没有走管理岗!
+
+所以无论是校招还是社招,进入一家公司后。都不要想着一进来就做的多大,也不要想着多快的晋升。所有看似风平浪静的组织,往往背后也都牵扯着一堆的`"利益权衡"`。先做好自己,完成好交付。
+
+## 二、不要只做业务!- 做事
+
+业务是程序员👨🏻💻进入公司后完成的第一个交付动作,以目前看所有的人都是为了业务的发展而存在的。如果业务不赚钱,第一个被送走的就是程序员。但这里就有一个很重要的事情,你还记得你是怎么进来的吗?要不是校招学历、要不是技术积累、要不是项目经验、要不是背了八股刷了算法。但终究不是说你手速多快,能敲多少 CRUD 进来的。
+
+所以,在公司中不能只是完成业务交付即可,要在业务交付多积累成绩。因为同样一个项目不同的人设计实现,就会出现不一样的成绩。有些会把架构、模型、方案、扩展、都在一次次交付中积累出来,并在需求的时候将这一套标准沉淀并复用。这些东西落地可为其他组做标准,上升可为述职讲成绩。同时,你观察🔎还会发现,组内总有人会对同类的技术工作,凝练总结设计开发成通用的技术组件。在归属上这不是他的强职责范围,但在年终总结和后续晋升比拼上可是实打实的成绩。差距也是这样一点点拉开的。
+
+我常听到有人说,DDD 复杂、设计模式浪费时间。不,你要知道,不是那东西复杂,也不是那东西浪费时间。是你,是你复杂,是你浪费时间!你不觉得当让你来做分享的时候,你甚至没有办法用技术的话术阐述自己的过程,也很难总结出过往的成绩。总感觉自己就是在拼装接口、组织逻辑、完成交付。
+
+所以你只是扮演着劳苦,但不功高的角色。每每提到晋升加薪,就会反问到,你这个人有什么成绩!
+
+## 三、不要持续趟平!- 自己
+
+`趟平就是工作懈怠吗?其实过渡的工作也是一种趟平。`
+
+不知道你是否意识到,公司和个人是两条发展线,是不能顾此失彼的。更好的个人能力是可以更好的把工作做出成绩。而往往有些人一脑门子的只是一个状态下同一个方式的完成工作,其实往往是没有多少成绩的。
+
+一个程序员如果只是会写代码,其实是偏安一隅。业务怎么样、运营怎么做、产品怎么设计、一整套的开发工具实施运维是怎么运行的、各个组件都有哪些原理等等,这些东西都是都需要掌握的。在整体的学习过程中,综合的锻炼出自己成体系的知识结构,才是长久有价值的。
+
+尤其是可以跟着一些有大厂经验的人学习他的方法论,学习他的业务经验、学习他的编码技巧,都是可以快速的提高自己的能力的。
+
+## 四、小傅哥的经验!- 参照
+
+小傅哥在职场发展、业务经验、场景方案、技术经验、实战项目等多方面都有来自于大厂锻炼出来的经验编写。可以让伙伴们学习,快速提高自己的。还为500多人修改过简历,不少伙伴也都被小傅哥的经验,抬进了非常不错的公司。各个大厂也都有小傅哥的伙伴。
+
+在这方面我总结了很多的经验,你可以阅读;
+
+
+

+
+
+地址:[https://bugstack.cn/md/zsxq/material/study-experience.html](https://bugstack.cn/md/zsxq/material/study-experience.html)
+
+---
+
+加入小傅哥的星球「码农会锁」阅读450+份简历和评审,学习6个业务项目;`MVC+DDD,双架构开发小型电商`、`大营销(超级大课)`、`OpenAI 大模型应用`、`Lottery`、`IM`、`AI 问答助手`。7个组件项目;`OpenAI 代码评审`、`BCP 透视业务监控`、`动态线程池`、`支付SDK设计和开发`、`API网关`、`SpringBoot Starter`、`IDEA Plugin 插件开发`。1套源码课程、1套基础教程、1到云服务器教程以及各类场景解决方案。
+
+如果大家希望通过做有价值的编程项目,提高自己的编程思维和编码能力,可以加入小傅哥的【星球:码农会锁】。加入后解锁🔓所有往期项目,还可以学习后续新开发的项目。
+
+> 🧧加入学习这样一套项目,放在一些平台售卖,一个至少都是上千块。但小傅哥的星球,只需要100多,就可以获得全部的学习项目!重要的是学习小傅哥的经验!
diff --git "a/docs/md/about/job/2025-11-16-\347\216\260\345\234\250\350\275\254AI\345\272\224\347\224\250\345\274\200\345\217\221\357\274\214\346\230\257\344\270\215\346\230\257\344\270\252\346\234\272\344\274\232\357\274\237.md" "b/docs/md/about/job/2025-11-16-\347\216\260\345\234\250\350\275\254AI\345\272\224\347\224\250\345\274\200\345\217\221\357\274\214\346\230\257\344\270\215\346\230\257\344\270\252\346\234\272\344\274\232\357\274\237.md"
new file mode 100644
index 000000000..24d0e7e42
--- /dev/null
+++ "b/docs/md/about/job/2025-11-16-\347\216\260\345\234\250\350\275\254AI\345\272\224\347\224\250\345\274\200\345\217\221\357\274\214\346\230\257\344\270\215\346\230\257\344\270\252\346\234\272\344\274\232\357\274\237.md"
@@ -0,0 +1,102 @@
+---
+title: 现在转AI应用开发,是不是个机会?
+lock: no
+---
+
+# 现在转AI应用开发,是不是个机会?
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是小傅哥。
+
+最近 AI 实在是太火了,不是以前那种火在互联网上,而是火到互联网公司里头。之前是铺在 AI 算法上,现在是扎进 AI 应用里。一天天我们都下班了,AI Agent 应用项目组的小伙伴还在加班!🤨
+
+
+

+
+
+**其实这是个机会!**
+
+如果你的学历将将够得到中大厂,但总是被刷。或者之前在一些传统行业,但想进入互联网。那么,一定要在简历上添加 AI 应用类场景项目。
+
+
+

+
+
+此类项目以 AI Agent 智能体和 OpenAI 应用为主,无需掌握底层算法或复杂调优能力。只要具备任一主流 AI 框架(如 Spring AI、Google ADK)使用经验,或有自主开发 AI SDK 及应用的实践,都能显著提升你的竞争力。
+
+
+

+
+
+如果你最近在搜索招聘岗位,一定会发现各个公司都新增加了 AI 应用开发岗位,而且是非常多。因为公司里的各个部门,都需要基于 AI 做场景提效,因此所有的业务项目,都会被 AI 翻一遍。而且各个大厂的里的研发都比较倾向于参与到一些 AI 场景开发里,因为这必然后面做晋升述职可以讲的一个亮点。
+
+**为啥以前没那么 AI 应用开发的岗位?**
+
+2024年11月25日,AI MCP 协议发布,这东西就是 AI 的手脚,有了他以后 AI 进入了 Agent 智能体时代。以前我们都是问它,之后按照回答的流程,操作我们自己的场景。但现在,我们不是问,而是让它直接做。AI Agent 智能体,可以基于询问,把内容拆分,执行,判断,输出。给出最终的结果。
+
+所以,公司里目前大量的业务场景,都开始做相关业务类型的智能体服务,也因此有了非常多的 AI Agent 智能体岗位。当你在Boss直聘,检索这些岗位后,就会知道他们都在哪些场景落地了(AI Agent + 业务)。
+
+## 一、学习路线
+
+从22年年尾至今,小傅哥一直在做 AI 应用方面的实战编程项目,从最初的 AI 类的接口开发和使用,到 SDK 的封装,再到 OpenAI 应用结合微信支付、公众号、多模态、敏感词做线上服务。随后24年出了 MCP 协议,又紧跟着最新技术做 AI Agent 智能体。现在又开发 AI MCP Gateway 网关。可以说每一步都很超前,企业里需要的技术,小傅哥就带着你最先最快的补充起来。
+
+
+

+
+如图所示,这是一套 AI 应用开发路线,按照你的诉求可以选择学习;
+
+- 时间充足;可以从 OpenAI 代码自动评审开始,之后到 AI Agent 智能体,再到 OpenAI 项目开发。后面可以跟随二阶段项目。
+- 时间紧张;可以先做 AI Agent 智能体,这个项目分为3部分,第三部分是智能体部分。学习后写完简历,后面在学其他部分。
+- 时间很紧;适合于找实习或者校招想加点AI的,那么可以做个 OpenAI 代码自动评审,项目不大,但也是一个两眼的技术点。随着写完简历面试,后续可以继续补充其他 AI 内容。
+
+> AI MCP Gateway 正在更新,这也是互联网中必备的 AI 类项目,之后还会继续更细其他 AI 项目。
+
+## 二、项目介绍
+
+### 1. OpenAI 代码自动评审
+
+本套组件是小傅哥基于 `GitHub Actions` + `OpenAI(ChatGLM)` + `Git/GitHub` + `公众号模板消息` 串联出从代码提交获取通知,Git 检出分支变化,在使用 OpenAI 进行代码和写入日志,再发送消息通知完成整个链路。
+
+
+

+
+
+
+

+
+### 2. AI Agent 智能体
+
+这是一套综合`前后端 + Dev-Ops`,基于 Spring Ai 框架实现,Ai Agent 智能体。耗时7个多月,38节课程(`视频`+`文档`),从 RAG 到 MCP,再实现出互联网企业级,可编排的 Ai Agent 智能体,现已全部开发完成 + 部署上线。💐
+
+
+

+
+
+
+

+
+### 3. OpenAI 应用(含支付)
+
+此项目以应用OpenAI技术,对接多种大模型提供生成式服务,为XXX场景提效。项目的架构设计实现以微服务进行拆分,涵盖;OpenAI-SDK、OpenAI-API、公众号鉴权、微信支付等。并以模块化设计,积木式构建应用,让不同的场景诉求都可以配置化对接。
+
+
+

+
+
+
+

+
+### 4. AI MCP GateWay
+
+该项目是 AI 应用场景下的通用技术服务组件类项目,以解决接口 MCP 协议转换而设计实现。在整个项目中,你可以积累到关于 MCP 协议的深度分析,学习分析协议的技巧和方案,并积累关于设计一个组件解决通用场景问题的能力。
+
+
+

+
+
+> 很多能力就是这样,早早的储备起来,以备不时之需!程序员也是一个一直学习的行业!春江水暖鸭先知🦆,码农需要学知识!
+
diff --git "a/docs/md/about/job/2026-03-21-\345\217\244\346\263\225\347\274\226\347\250\213\357\274\214\346\230\257\345\220\246\350\277\230\351\207\215\350\246\201\357\274\237.md" "b/docs/md/about/job/2026-03-21-\345\217\244\346\263\225\347\274\226\347\250\213\357\274\214\346\230\257\345\220\246\350\277\230\351\207\215\350\246\201\357\274\237.md"
new file mode 100644
index 000000000..b28f7f71f
--- /dev/null
+++ "b/docs/md/about/job/2026-03-21-\345\217\244\346\263\225\347\274\226\347\250\213\357\274\214\346\230\257\345\220\246\350\277\230\351\207\215\350\246\201\357\274\237.md"
@@ -0,0 +1,131 @@
+# 纳闷?老板,为什么还不开除你!
+
+作者:小傅哥
+博客:[https://bugstack.cn](https://bugstack.cn/)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+AI 的迅猛迭代,好像让很多伙伴都开始焦虑,是否会被 AI 替代。今天小傅哥,站在一个老码农的视角,参与过众多复杂项目需求的场景下,帮你分析 AI 是否可以完全取代我们。
+
+
+

+
+
+**古法编程!**
+
+2025年是 AI Agent 工具爆发的时代,AI IDE 也在这一年兴起。从这一年往前,称之为古法编程。AI 都来了,还用学代码吗,反正问 AI 就行了,他可以帮我写好。
+
+但 AI 真的能帮你把所有的代码都写好吗?古法编程也真的不重要吗?好!咱们接下来就讨论下!
+
+## 老板,为什么还不开除你?
+
+🤔古法编程,是否还重要?如果不重要了,那老板现在应该立马把你开了才对。资本是逐利,不可能这会不拿起屠刀,进行开“猿”节流。
+
+那,为什么,我们还在岗位上。用着 AI 和自己,一起写代码呢?
+
+或者说,软件开发岗位的企业招聘也不用限制学历和专业了,土木的、经管的、美院的、学医的,都可以过来写代码呀。那这到底为什么呢?不是说,现在学编程是49年入国军吗?
+
+啊!其实,原来有一部分人在扯淡。
+
+他们刻意在描述上降低了软件交付的复杂度,并把 AI 编码等同于软件交付,等价于程序员👨🏻💻的工作就只是写代码。从而忽视了,一个复杂项目需求,在前期的调研、讨论、分析,产出 PRD 文档,在进行细节的讨论,确保流程的可靠行。最后才是研发设计和编码实现,以及测试验证、预发验证、流量回放等,这才是一整个需求交付的过程。编码,只是其中的一小部分而已。
+
+
+

+
+
+**所以**,目前老板还不敢开除你!只会让你使用 AI 加快生产效率。
+
+## 外行,为什么也没做出大项目?
+
+不少外行,特别兴奋于,一句话 AI 写个贪吃蛇,或者搞出个坦克大战。
+
+那你就在这个实现的贪吃蛇上,在完成以下诉求;
+1. 完整的登录体系,涵盖;手机号验证、公众号扫码、APP 应用可人脸、浏览器要有指纹,登录后同平台服务免登录。
+2. 可微信/支付宝多渠道,支付购买各类场景增强VIP道具,可给任务角色换装。涵盖完整商城体系,用户可在平台售卖个人游戏时获得的特殊道具。
+3. 给用户提供,积分、兑换、返利,以及在活动时间,有转盘抽奖、老虎机🎰、扭蛋等各类配合场景的玩法,增强用户心智和提高用户体验。并提供给运营自主配置使用。
+4. 支持联机对战、定期赛事、总/区排行榜、组队房间、语音对话(YY功能)、打字聊天(注意敏感词过滤)、视频录制(精彩时刻)。
+5. 支持种树、种菜乐园,为贪吃蛇提供家园归属,及其N天种菜,果实成熟后,可获得xxx商城对应sku商品兑换卡,0元支付可配送到家。
+6. 综上,确保数据库事务,以及最终一致性。并支持 MQ、RPC、xxl-job 等分布式架构设计。
+
+
+

+
+
+以上内容,可不是胡编乱写,这就是现实中的互联网场景里的业务。也是你天天使用的`淘宝`、`京东`、`滴滴`、`美团`、`腾讯`里面的场景。如果你觉得 AI 可以替代程序员,那么你现在就可以对以上应用全面截图之后让 AI 帮你帮所有内容都写出来。
+
+真相就是,AI 没办法,在你自己不清楚详细逻辑的情况,为你全量的完成所有内容的编写。甚至它可能为了实现 A 功能,而导致 B 功能连带不可用。
+
+所以,外行们,**燃骚你的 Token 吧,让 API 中转站哇哇赚钱!**
+
+## 自己,跟着AI屁股后面评审代码
+
+Duang、Duang、Duang,写出一堆。但你看不懂,你敢提交吗?出了事故是开除你,还是开除 AI?
+
+就代码来说,它是对产品功能详细逻辑的具体数字化体现,个人的对产品功能的理解和架构、编码、设计等经验的积累,决定了产出代码的正确性和可靠性。
+
+注意,千万不要简单的理解为,你只是在一个新工程或者代码量很少的工程中完成需求。你现在可能要打开2、3个工程,每个工程在历史沉淀中,有几十万行代码。还要与其他部门的伙伴配合,完成接口的开发、对接和联调。
+
+那么,这么复杂的业务理解和需求交付情况下,程序员为了更细致的理解细节,也常常会在通过编写伪代码来梳理逻辑,并与产品经理确认临界细节。这个过程是非常重要的。
+
+如果,现在换成 AI 全部完成逻辑的开发,那么细节分析的时候,你要写的就是所有开发内容的提示词,这个工作成本并不低(甚至还会漏逻辑,因为不是你持续的写,就可能发现不了)。但对于有经验的高级开发来说,AI 编码的质量,并不一定多高,甚至比如上一些高级开发。所以,他们往往是在一些已经明确自己完全可以写,也可以把控 AI 写的代码时候,会让 AI 来完成这部分内容的编写,之后再进行审查和提交。
+
+
+

+
+
+所以,复杂项目场景,并不是一句话 AI 就能全干了。甚至在整个工作来看,AI 只是完成了一少部分编码而已。
+
+## 关于,有AI后岗位是否减少?
+
+减少?反而增多了!
+
+没有 AI 的时候,业务需求交付就完事了。现在有 AI 了,各种服务都要支持 AI 的接入,又是监控、又是巡检、又是客服,甚至点奶茶都要走个 AI 玩一圈。也因此为 AI 建基础技术设施,包括;AI 网关、AI 脚手架、AI 通用智能体(A2A)、AI 测试标准化验证等等。
+
+
+

+
+
+与此同时,各行业也都会被程序员写的 AI 类服务,洗一圈的。春江水暖鸭先知,没有哪个行业有程序员能这么早的感受这个世界的变化了!即使就放在现在,AI 都火成这个德行,部分焦虑的程序员还害怕没工作的时候,其实外行人想装个 OpenClaw 都要付费请程序员帮忙。
+
+所以,别傻了。你已经踩在这个时代的风口上了!没有人比你的机会更多。你看现在的 Boss 上有多少新上的 AI 应用开发工程师岗位,哪些做过的 Java 项目,现在都要用 Spring AI + Google ADK(a2a、mcp、skills)在翻盖。
+
+
+

+
+
+## 那么,请正确看待AI的价值!
+
+AI 是这个时代非常牛的工具,也改变了很多的工作协作方式,还为各类场景带来了智能体赋能。如;豆包、OpenClaw、AI IDE、NotebookLM...,
+
+- 可以使用豆包,做一些内容编写,询问知识,还可以给小朋友讲故事。
+- 可以使用 OpenClaw 完成一些日常工作,整理素材,编写资料,剪辑视频。
+- 可以使用 AI IDE,学习编程,处理开发工作(明确范围的内容实现)
+- 可以使用 NotebookLM 整理笔记,学习知识。
+
+有太多的好用AI产品,在改变我们的生活。
+
+其实整个时代来看,不是学古法编程重要不,也不是 AI 重要不,而是我们走过的这条路,增长的见识,积累的经验,锻炼的思维,重要!没有这些,即使有个工具也没法驾驭的起来。
+
+
+

+
+
+之后,我们在说回本质;llm、rag、mcp、skills、a2a、agent work flow,这也是程序员设计出来的呀。所以,ai 的上限,由人决定。
+
+---
+
+**综上;**
+
+
+

+
+
+1. 首先,全局视角来看,所有行业,没有哪个行业有程序员这个行业具备最早接触世界上最新技术的了。即使是普通的 gpt 使用,OpenClaw 体验,程序员行业可以折腾,但其他行业直到现在都没法接触、使用和开发。
+2. 之后,说回写代码,写代码是交付的一部分,但交付不等于写代码。交付包括需求的讨论、分析、设计、编码、测试、上线、维护等全流程的操作。之后编码来说,有架构经验,丰富业务知识积累,复杂场景解决方案的程序员和只是初级程序员,使用 AI 也完全不一样。AI 是辅助提效的,但AI 没法完全替代人来写代码。否则互联网公司,现在就可以把人全部开除了,而不是让人又去使用 AI 提效。
+3. 并且35也不是终点,企业里现在也很喜欢老员工,老员工稳定性好,工资相对新人甚至是有点偏低(新人往往好学校的,工作几年培养起来,薪资很不错)。那么老员工的收入偏低,企业的成本不高,而且经验丰富好用。
+4. 如果这,如果那,但不如每一天都进步一点,每一年都有个变化。没有哪个绝对的好,也没有绝对的差,每一个行业,领域,都需要走到腰部以上,深入的积累,才可能让自己具备随时走的出去,也有留下来的本事。
+
+
+
diff --git "a/docs/md/about/me/2020-12-27-2020\346\200\273\347\273\223\357\274\214\344\275\234\344\270\272\346\212\200\346\234\257\345\217\267\344\270\273\347\232\204\344\270\200\345\271\264\357\274\201.md" "b/docs/md/about/me/2020-12-27-2020\346\200\273\347\273\223\357\274\214\344\275\234\344\270\272\346\212\200\346\234\257\345\217\267\344\270\273\347\232\204\344\270\200\345\271\264\357\274\201.md"
index b34a64b10..e508c7ad4 100644
--- "a/docs/md/about/me/2020-12-27-2020\346\200\273\347\273\223\357\274\214\344\275\234\344\270\272\346\212\200\346\234\257\345\217\267\344\270\273\347\232\204\344\270\200\345\271\264\357\274\201.md"
+++ "b/docs/md/about/me/2020-12-27-2020\346\200\273\347\273\223\357\274\214\344\275\234\344\270\272\346\212\200\346\234\257\345\217\267\344\270\273\347\232\204\344\270\200\345\271\264\357\274\201.md"
@@ -1,14 +1,14 @@
---
layout: post
category: itstack-code-life
-title: 2020总结 | 作为技术号主的一年!
+title: 2020年,小傅哥の年终总结!
tagline: by 小傅哥
tag: [java,itstack-code-life]
excerpt: 快到年底了,写个总结吧!关注我的粉丝朋友,谢谢你!滴水之恩,永不相忘!我没照顾到的伙伴,对不起!我不是有意忽略了你。致我相识的每一位同好,所求皆如愿、所行化坦途。再见2020,迎接2021!
lock: need
---
-# 2020总结 | 作为技术号主的一年!
+# 2020年,小傅哥の年终总结!
作者:小傅哥
博客:[https://bugstack.cn](https://bugstack.cn)
diff --git "a/docs/md/about/me/2023-01-02-2022\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md" "b/docs/md/about/me/2023-01-02-2022\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
index c550b08bc..c3c89b1f3 100644
--- "a/docs/md/about/me/2023-01-02-2022\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
+++ "b/docs/md/about/me/2023-01-02-2022\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
@@ -108,9 +108,7 @@ Github:[https://github.com/fuzhengwei](https://github.com/fuzhengwei)
如果你也愿意成为23年在职场更有竞争力的码农。相信我,加入小傅哥一起学习,是最不亏的决定!
-
-

-
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
**加入链接**:[https://t.zsxq.com/09S1kW2r9](https://t.zsxq.com/09S1kW2r9)
**获取优惠**:公众号【bugstack虫洞栈】回复【星球】获取专属粉丝优惠券
diff --git "a/docs/md/about/me/2023-04-16-\350\277\231\346\230\257\346\210\221\345\274\202\345\212\250\347\232\204\347\254\254\344\270\200\345\221\250\357\274\214\344\270\272\345\225\245\347\246\273\345\274\200\345\216\237\351\203\250\351\227\250\357\274\237.md" "b/docs/md/about/me/2023-04-16-\350\277\231\346\230\257\346\210\221\345\274\202\345\212\250\347\232\204\347\254\254\344\270\200\345\221\250\357\274\214\344\270\272\345\225\245\347\246\273\345\274\200\345\216\237\351\203\250\351\227\250\357\274\237.md"
new file mode 100644
index 000000000..3893b0bf1
--- /dev/null
+++ "b/docs/md/about/me/2023-04-16-\350\277\231\346\230\257\346\210\221\345\274\202\345\212\250\347\232\204\347\254\254\344\270\200\345\221\250\357\274\214\344\270\272\345\225\245\347\246\273\345\274\200\345\216\237\351\203\250\351\227\250\357\274\237.md"
@@ -0,0 +1,113 @@
+---
+title: 这是我异动的第一周,为啥离开原部门?
+lock: need
+---
+
+# 这是我异动的第一周,为啥离开原部门?
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+23年4月1日的`愚人节`,我异动了!
+
+整个23年的2月、3月、4月接连发生了好多事,`生娃`、`MyBaits新书上市`、`公司发了年终奖`、`换了新的房子`,还有`异动`。哈哈哈,都是大事、都是开心的事。每一件事都是因为`种因`所以`得果`,异动也是。但为啥异动了呢,我在原部门领导可是很看重的。
+
+## 一、为啥要异动呢?
+
+其实在去年我就有些犹豫是否异动了,我也清楚的知道异动和找份新工作也没有太大差别,很多事情都要从头开始。这是新的学习机遇,也是新的工作挑战。
+
+虽然我现在的工作可以说是驾轻就熟,领导对我的认可度也非常好,给了我很多空间发挥和对应的成绩收获。但在一个领域已经做到大部分时候给其他人阐述知识,自己吸收缺不多的时候。说心里话,我稍微有些慌,因为我不想寅吃卯粮。所以我决定异动了!
+
+最初也考虑是否专门从事下专门的中间件编写,比如写数据库、或者做云相关的 Serverless FaaS,但鉴于我对自己知识成长体系的建设来说,其实我现在很已经摸到了一点;如何找到市场诉求、设定产品、开发实现、营销推广、运营客户,但这里还少一环其实就只支付交易。
+
+尤其是考虑到以后如果自己做一整套的产品服务时,支付肯定是必不可少的一环,甚至可能也会包括和信贷打交道。那么在我粉丝规模已经逐步增大的情况下,如果贸然上一款和支付有关的内容,其实还是有风险的。毕竟这里的鉴权、风控、准入、支付、交易等核心流程还是需要不少的知识积累,才能做出更稳妥的产品。
+
+所以,为了让自己成为更多可能的多面性,我异动了!—— 不知道你是否也会有这样的职场生涯顾虑,欢迎留言交流。
+
+接下来给大家分享下,异动后如何快速的融入到新的工作。**我看到很多找了新工作的伙伴,不知道该如何快速的了解系统并承接需求写代码。**
+
+## 二、异动的第一周!
+
+🤔架构师异动到新的岗位写代码吗?
+
+写,当然写。不写代码怎么深度的熟悉业务,没有深度的业务熟悉怎么把控细节。没有业务的详尽熟悉和代码细节把控,其实很难做出符合预期的架构设计。难道只想着做做架构设计、评审评审代码逻辑,就当架构师。**那时间长了,你得走的老惨喽!**
+
+所以小傅哥在进入新的工作岗位后,是先看文档吗?哈哈哈,不是,小傅哥进入新岗位后,是先参与了一场部门的团建活动!去了趟水长城。
+
+玩归玩,回来就开始"卷"了
+
+
+

+
+
+先从一个超级大的文档看起,逐步了解到这个部门的业务规模、业务形态、业务流程,之后再到系统工程、工程架构、模块划分。还听了一场关于《互联网金融反洗钱》的分享,真是开了眼界了。啥死鬼都有,各种路子的洗钱案例。**可能写着写着代码呢,突然就被带走了。**
+
+但只看文档是没法了解到核心流程的,也注意不到细节流程,甚至可能看完了也就忘记了。对于研发来说,想深入了解一定是上手实现。—— 所以那些不写代码的架构师,不能叫架构师,基本叫技术管理者。所以小傅哥就开始接需求,写代码了。这可能也是大部分小伙伴非常关心的,一个入职/异动到新岗位的程序员👨🏻💻怎么快速的开始承接需求呢?
+
+## 三、接需求的经验!
+
+新入职或者异动到新岗位的小伙伴也不要害怕,因为给你分需求的伙伴更害怕,`万一你写的代码给这系统给干嘎喽!`所以大家都不用怕,给你分配需求会有人带并且需求最开始都不大,这些需求都是让你一点点的熟悉系统的小需求。同时你的代码会在规范内编写以及代码评审,开发完事后还有测试对流程进行校验,交付上线时还有对应的审批处理。所以安心一些,好好卷!
+
+但该看的代码还要看,该干的流程还要干。而面对成片成片可能已经经过历代码农堆砌的不成样子的代码,咋能快速开始呢?其实这个问题主要包括以下几点;
+1. 交付给你需求会有对应的产品 PRD 文档,也会告诉你从哪个类的哪个接口开始处理。
+2. 在面对一个类可能有几千行代码的时候,怎么找对应的流程呢?这个时候你可以下载一个 IDEA 插件 `Sequence Diagram` 这个插件可以非常方便的帮助你生成类方法调用的流程图。
+3. 学会找到和编写单元测试并进行断点调试,只有你会断点调试,才能验证你的流程以及学习他人的流程。—— 很多新人之前可能只看视频的投喂学习,必须掌握这个技能。
+4. 新人保持风格统一,不要感觉你需要的没有,就自己创建一个。记得先去寻找那些已经存在的方法,并尽可能的优先使用它们。如果你对他们有改动,一定要通过插件或者Alt+F7查看,这个方法都被哪些流程中引用了。
+5. 新功能开发记得拉个自己的分支,日期时间-姓名缩写-需求缩写,提交的时候也只在这个分支提交。千万不要把自己的代码,在没确认情况下,写到别人的分支或者master主分支上。另外不到最后交付,不要贸然提交或者合并到 master 分支。小心被锤!王铁锤的锤!
+6. 开发好的需求,记得写好对应的流程和文档,因为毕竟你是新接触这个项目,可能开发完等到一起提测的时候会有个时间间隔,到时候忘记自己都在哪些类里写了啥。这也是有可能的!
+7. 不要因为看到一点问题,就过早的去优化。这个时候只要参考原有的结构来编写你的功能即可,等你真的能驾驭它了,在去折腾它。
+8. 不要过早的吹牛自己3天就能写完,可能你需要4天。刚来的,你哪知道这里的水多深。尤其是从RPC、MQ、配置中心、分布式任务调度、分库分表、提测、上线等一套的系统和流程要你熟悉,给自己留点buffer更安全。
+9. 反复确认流程细节,有时候你想的可能不是你想的,早一些的发现问题,更容易降低风险。
+10. 遇到问题可以去找你的导师,或者结伴编程的伙伴。但不要频繁的去找,你可以在自己思考后,汇总后,尽可能找一个时间批量的解决。
+
+**以上**是一些承接新工作时所积累的经验,但可能你还会遇到更多的问题。放心,时间会让你一点点把这些都学会,并逐步成长为那个主要的负责人!
+
+## 四、能力从哪来的?
+
+但对于**没有大型项目开发经历**的伙伴来说,以上可能也只是别人的经验而已。如果想让自己能快速的融入到一个额外的新的项目,那么一定是之前有了很多的技术积累和相关的项目经验。在这个过程中遇到同类的事情,参照自己所积累的经验,才是快速上手的关键。
+
+这里小傅哥也是也为有这样成长诉求的伙伴,编写了很多资料在我的博客上;[bugstack.cn](https://bugstack.cn/) 可以说是**一条龙的成长辅导**。以 `Lottery 项目开发为入口`,项目驱动学习,通过一个项目把各项`分布式技术栈`、`架构设计`、`设计模式`、`组件开发`、`源码技术`、`PI网关`等内容串联起来,让大家成体系的积累自己的技术经验。
+
+
+

+
+
+### 1. 加入星球的伙伴,都怎么说
+
+
+

+
+
+### 2. 加入星球的伙伴,学的咋样
+
+
+

+
+
+
+

+
+
+
+

+
+
+### 3. 加入星球的伙伴,喊你加入
+
+
+

+
+
+---
+
+加入星球,以项目学习。有视频、有文档、有代码、有很多大牛的优秀作业,还有面试简历案例、简历优化服务和一整套的对应的面试题整理。是不是很爽,这样一整套的东西,学起来才有滋有味!详细参考:[https://bugstack.cn/md/zsxq/introduce.html](https://bugstack.cn/md/zsxq/introduce.html)
+
+
+

+
+
+
+**综上**,`如果你想多赚一些钱,也希望自己的职业生涯长久一些`,有一定的硬核技术积累,在往后的职场中更稳一些,那么可以加入小傅哥的星球。这些足够硬核的内容,可以帮助你更加平稳的度过往后的路,企业不会永远一帆风顺,但只要你手里技术硬,就会相对平稳。
+
diff --git "a/docs/md/about/me/2023-05-07-51\345\201\207\346\234\237\344\273\243\347\240\201\346\227\205\346\270\270.md" "b/docs/md/about/me/2023-05-07-51\345\201\207\346\234\237\344\273\243\347\240\201\346\227\205\346\270\270.md"
new file mode 100644
index 000000000..a37c5ffec
--- /dev/null
+++ "b/docs/md/about/me/2023-05-07-51\345\201\207\346\234\237\344\273\243\347\240\201\346\227\205\346\270\270.md"
@@ -0,0 +1,76 @@
+---
+title: 5.1假期代码旅游,卷个新项目!
+lock: need
+---
+
+# 5.1假期代码旅游,卷个新项目!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+**9天假期写了8天代码和10篇文章,这个5.1过的很爽🤨!**
+
+如假期前小傅哥的计划一样,这个假期开启了新的技术项目《ChatGPT 微服务应用体系构建》教程;`从搭建环境`、`开发chatgpt-sdk-java`、`对接公众号`、`封装api`,直至假期最后一天,完成了微信公众号的对接,**可以与 ChatGPT 对话聊天啦!**。
+
+
+

+
+
+可以预见的是,会有越来越多的生成式OpenAI服务诞生,并且也有越来越多的场景开始接入。已经有很多小伙伴所在的公司开始要求会做 ChatGPT 开发,并且能接入到自家公司的客服回复、产品介绍、文案编写等场景中。
+
+所以学习这样开发技术,等同于学习了一项工作经验技能。`尤其是在和小傅哥这样高质量的架构师学习😏`,学到手不只是业务代码,还有高质量的架构设计和编码经验。—— 否则你可能根本没有地方看到这样优秀的应用级项目代码!
+
+## 一、我的假期
+
+🤔 这有点像一个假期旅游计划,但我的旅游是在代码中!
+
+
+

+
+
+这趟车🚌,本身的核心是关于**微服务应用体系的构建**,通过讲解配置`Docker`、`Nginx`、`SSL`等环境以及开发出`鉴权`、`认证`、`微信公众号`、`企业微信`、`支付宝交易`等模块的方式,完善体系的物料服务。而 ChatGPT 只是其中的一种产品形态而已,这种产品形态通过 API 的方式与具体的物料服务模块解耦。这样做的方式是因为基础的物料`【物料指SDK和服务】`并不会频繁变化,而离业务最近的 API 会随业务变动发生较多的改动。所以这样的应用架构方式,在互联网大厂中也是非常常见和常用的。
+
+这些东西的价值在于架构思维,而我也希望授人以渔,教会大家一些根本的东西,而不是永远的在CV+CRUD。有了这样的学习,学习的就不只是这样一个项目,而是可以把这个项目中所涉及的组件开发,都能进行任意物料模块与需要对接的服务进行关联打通使用。方便`写到简历`、`用到项目`、`实战锻炼`、`积累经验`。
+
+## 二、对接方案
+
+那么目前对接到微信公众号的方案是什么样呢?【如图】
+
+
+

+
+
+- 这是整个项目开发到目前第10节,对接到公众号的一个整体流程。以用户请求鉴权为入口,分配访问Token授权。再接收公众号的验签和应答后调用 ChatGPT-SDK-Java 完成消息的应答处理。**这其中还包括项目的打包构建云服务的使用等一系列操作,非常具有实战性。**
+- 目前的开发其实还只是整个项目的一小部分,后续还要继续完善包括;Web页面、流式应答、AI作图、企业微信、支付交易等流程。整体架构如下面介绍。—— 死鬼,跟着小傅哥,你会得到很多很多!
+
+## 三、整体架构
+
+接下来我们再以工程拓扑的视角看下这套需要开发的系统;—— `你做过的项目可能就是做项目,但小傅哥带着你做项目,一定先让你看到全貌的架构,也学会架构设计图的绘制。`
+
+
+

+
+
+如拓扑结构,系统从上到下以不同的产品形态,统一调用封装的服务API进行功能的流转。API系统中所处理的核心动作,会以各个物料模块进行实现。所以这里会拆分出标准的 ChatGPT-API 业务系统,之后再由各个模块系统支撑。到具体的模块中再进行详细的系统设计。
+
+## 四、上车学习
+
+**你的加入不只是获得这样1个学习项目,而是6个项目 + 6个技术小册!** 😄你就说,爽不爽,吃的饱不饱!课程介绍:[https://bugstack.cn/md/zsxq/introduce.html](https://bugstack.cn/md/zsxq/introduce.html)
+
+小傅哥致力于把星球`码农会锁`开发成`最具互联网应用级实战项目开发学习社群`,让加入的伙伴都能学习到`干刺啦`的硬核干货项目,学习后即可提升编程思维也能锻炼编码能力。
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
+
+---
+
+
+

+
+
+此课程会包括,基础设置、模块开发、API服务等几块内容,而基础设施主要为一些基本操作,小傅哥会把一些这样的内容都放到这块,方便很多新人伙伴学习使用。这里会分为3个大的步骤;
+
+1. 在基础设置的基本必备服务搭建后,会进入接口鉴权的简单开发,这个模块开发后,大家就可以简单的使用了小傅哥提供的 OpenAI 了接口了。—— 当然你如果自己有 OpenAI 接口,也可以直接使用。**像 [https://huggingface.co/](https://huggingface.co/) 也提供了一些可以免费使用的简单 Open-API**
+2. 有了这部分内容的使用,后续会进入 API-SDK 的开发,以及网页的简单开发。通过这样的开发构成一套基本的模块服务。ChatGPT-WEB-UI -> API-SDK -> 鉴权 -> OpenAI 的使用。
+3. ChatGPT-WEB-UI 流程🏃🏻跑通后,就可以逐步扩展其他服务模块。让业务与场景结合,如关注公众号、公众号回复、企业微信机器人、交易支付购买授权Token。这个过程可以让 ChatGPT-WEB-UI 与各个模块结合使用。
\ No newline at end of file
diff --git "a/docs/md/about/me/2024-01-09-\344\273\216T4\345\210\260T8\357\274\2144\345\271\264\346\227\266\351\227\264\357\274\2144\346\254\241\346\231\213\345\215\207\343\200\202\346\212\200\346\234\257\346\217\220\345\215\207\346\234\200\345\277\253\347\232\204\351\202\243\345\207\240\345\271\264\357\274\214\346\210\221\345\201\232\344\272\206\344\273\200\344\271\210\357\274\237.md" "b/docs/md/about/me/2024-01-09-\344\273\216T4\345\210\260T8\357\274\2144\345\271\264\346\227\266\351\227\264\357\274\2144\346\254\241\346\231\213\345\215\207\343\200\202\346\212\200\346\234\257\346\217\220\345\215\207\346\234\200\345\277\253\347\232\204\351\202\243\345\207\240\345\271\264\357\274\214\346\210\221\345\201\232\344\272\206\344\273\200\344\271\210\357\274\237.md"
new file mode 100644
index 000000000..e1863be05
--- /dev/null
+++ "b/docs/md/about/me/2024-01-09-\344\273\216T4\345\210\260T8\357\274\2144\345\271\264\346\227\266\351\227\264\357\274\2144\346\254\241\346\231\213\345\215\207\343\200\202\346\212\200\346\234\257\346\217\220\345\215\207\346\234\200\345\277\253\347\232\204\351\202\243\345\207\240\345\271\264\357\274\214\346\210\221\345\201\232\344\272\206\344\273\200\344\271\210\357\274\237.md"
@@ -0,0 +1,94 @@
+---
+title: 从T4到T8,4年时间,4次晋升。技术提升最快的那几年,我做了什么?
+lock: need
+---
+
+# 从T4到T8,4年时间,4次晋升。技术提升最快的那几年,我做了什么?
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+哈喽,大家好我是技术UP主小傅哥。
+
+**从T4到T8,4年时间,4次晋升**。这四年间的快速成长,主要来自认知的改变。我开始有意识的圈定自己的`技术地盘`,形成一套自己的技术体系壁垒,让自己有更多的可能接住更多的机会。而认知的提升是见人、见事,以及能在不确中坚持并获得收益。
+
+
+

+
+
+成绩的结果只是我自己的,但过往的经历却可以帮助很多人!
+
+在这段过往中我清楚地认识到,千万别让自己只成为别人手里的螺丝钉或工具包。`CRUD仔`、`SQLBoy` 这些工作,只能一个季度一个季度、一年一年的消耗你的时间和精力。而那些看似有难度的东西,如;`编程范式`、`设计原则`、`架构模式`、`架构风格`等,也只是因为你接触的少,所以感觉难。就像不少伙伴都觉得落地 DDD 复杂,使用 MVC 简单。但如果你最开始接触的就是 DDD 呢?有人带着你搞 DDD 的项目呢?让你一次次从`创新的架构`、`高级的编码`、`场景的处理`、`方案的手段`中,吸收这些能快速提升能力的知识,你会进步很慢吗?
+
+那么,接下来小傅哥就给你分享下整体架构的成长路线,以及要提升能力需要做哪些类型项目。
+
+>文末有获取资料方式,还有送福利 4.0 50万 Tokens 活动!🉐
+
+## 一、我是怎么想的?
+
+4年多时间我在 [bugstack.cn](https://bugstack.cn/) 博客,写了`几百万字`技术内容,涵盖;系统架构、设计模式、源码、JVM、中间件、IDEA Plugin、字节码增强,以及各类实战项目。那你觉得这些技术内容都能帮助到工作提效?不一定,甚至可能有些工作中都不会使用。
+
+就比如;手写JVM,但几乎2~3年也没有一次处理过JVM的问题。做字节码增强 + JavaAgent,但公司里也有专门的团队运维着全链路监控系统。懂得域名申请、备案、Nginx配置、前后端镜像打包部署发布,但公司有全流水线的CI/CD持续交付工具。
+
+**那都用不上,不白折腾了?**
+
+
+

+
+
+首先,这不白折腾,通过这些看似也用不上的学习,却构建了个人的技术栈体系逐步的闭环。就像当你要设计系统架构和遇到复杂问题时,其实这些看似没用上的知识,都是环环相扣的。他们可以让你对一件事想的深,看地更远。
+
+然后,当我们来表述自己完成的工作时,往往需要站在当下的工作,先从上往下看,我为什么做这个事。之后从这个事往远看,做这个事能带来什么?这些技能是你在跳槽、面试、述职、分享时,非常重要的本领。否则你只能做一个执行者,让做啥做啥的工具。
+
+最后,工作和个人,本身就是两条路线。当个人的能力远超工作所需的时候,也就是你能进入另外一个圈层的时候,且这个行为是不断正向循环的。而且个人的能力提高后,对于工作上的输出往往会有时候做出精彩一击,让你也能站在聚光灯下。
+
+>感受:做长期规划,脱离平台,仍旧具备个人价值。
+
+## 二、有价值的学习
+
+其实技术个人的成长往往是很快的,可能一年前还是`CURD仔`,一年后就能独立架构系统,承接复杂需求。这样的伙伴成长速度,在大厂中非常常见。那是大厂的伙伴就很聪明嘛,很猛吗?其实也不是,而是什么环境,就容易锻炼什么样的素质。就像小傅哥在大厂的多年工作经验,编写的相关资料和实战项目,都是能帮助你锻炼出这样的能力,包括;
+
+- 【思维】清楚地理解系统的演变、微服务的拆分、分布式设计的设计,而不是一讲到高并发就来说多线程。
+- 【技术】熟练的运用 Spring、SpringBoot、MyBatis 等开发框架技术,并对其使用源码所提供的接口、类、SPI标准开发各类组件,有一定的设计思路和落地能力。
+- 【技术】具备核心技术组件的使用能力,okhttp3、Guava、RateLimiter、Hystrix 等,设计出可靠的系统。
+- 【技术】具备分布式技术栈的选型和使用,RPC、MQ、任务调度、分库分表,并基于分布式技术栈设计和落地系统。
+- 【技术】可以熟练构建系统的 ELK 日志服务、分库分表数据同步、skywalking 全链路监控、Prometheus + Grafana 监控面板。
+- 【架构】逐步了解并掌握,领域驱动设计(DDD)、微服务、微内核的架构模式
+- 【架构】学习组件化设计,懂得系统边界的拆分,理解并能驾驭高内聚低耦合的编码经验。
+- 【架构】通过结构化、函数化的面向对象思维,合理的设计系统,并开发出功能与框架分离,最小化复杂度的工程代码。
+- 【设计】熟练运用工厂、策略、组合、模板等设计模式,编写出具备良好扩展性的代码。
+- 【设计】通过单一职责、接口隔离、依赖倒置的设计原则手段,让代码更加清晰。从而做到整体的业务复杂不会影响局部的处理。
+- 【方案】学习众多场景解决方案,如;三方支付对接、支付掉单补偿、大模型SDK设计和对接、低延迟任务调度、营销平台复杂性玩法等。
+- 【其他】具备组件的设计开发能力,基于对同类共性需求的能力,开发出通用的技术组件。
+
+以上,这些方面的内容举例,都可以从小傅哥所编写的文档和项目中学习到。此外还有非常多的细节架构方案,都是大家可以参与学习的。
+
+## 三、一张架构成长地图
+
+为了让我的粉丝伙伴,更加清楚地了解到架构师所需的技术类技能成长,这里小傅哥根据这份非常专业权威的资料 [developer-roadmap By Kamran Ahmed](https://github.com/kamranahmedse/developer-roadmap) 做了中文版的内容梳理。
+
+
+

+
+
+原搞下载:[https://www.alipan.com/s/LqwsNfHRx54](https://www.alipan.com/s/LqwsNfHRx54)
+
+以上这份资料不非得作为架构师指导路线,也是编程技能高级进阶类参考说明。这是一份理论资料,点开`小圆点⭕️`会看到每条内容的具体明细介绍。
+
+>成长的路线地图能明确方向,但在这个过程中还需要配套的资料和项目,让伙伴们下场锻炼。而小傅哥就是想通过自己在大厂的积累,编写出相应的成长锻炼项目,让各位得到快速的技术积累。
+
+## 四、技术学习资料
+
+为了能让粉丝伙伴能像小傅哥一样得到全方面的成长,这里小傅哥在建设星球「码农会锁」的资料库时,分出;基础教程、业务项目、组件组件,以及开源项目、源码学习、架构方案这样几个大的模块。日常中小傅哥会把大厂的设计思想和技术手段,分享给小伙伴们。并在每个周末更新实战项目,目前【如图】星球已经完成了7个项目,以及1个在进行中的。
+
+
+

+
+
+>这样一套来自还在一线编码的架构师,编写的成体系的原创项目,在任何平台都是很难找到的!
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
+
+关于星球更多了解:[1万人社群的小傅哥知识星球好吗,值得买吗?](https://bugstack.cn/md/zsxq/memorabilia/ten-thousand.html)
diff --git "a/docs/md/about/me/2024-01-28-\345\244\247\345\216\202\346\236\266\346\236\204\345\270\210\345\260\217\345\202\205\345\223\245\357\274\214\344\270\212\345\255\246\346\227\266\351\203\275\345\201\232\350\277\207\345\223\252\344\272\233\351\241\271\347\233\256\357\274\237.md" "b/docs/md/about/me/2024-01-28-\345\244\247\345\216\202\346\236\266\346\236\204\345\270\210\345\260\217\345\202\205\345\223\245\357\274\214\344\270\212\345\255\246\346\227\266\351\203\275\345\201\232\350\277\207\345\223\252\344\272\233\351\241\271\347\233\256\357\274\237.md"
new file mode 100644
index 000000000..9552cfdd3
--- /dev/null
+++ "b/docs/md/about/me/2024-01-28-\345\244\247\345\216\202\346\236\266\346\236\204\345\270\210\345\260\217\345\202\205\345\223\245\357\274\214\344\270\212\345\255\246\346\227\266\351\203\275\345\201\232\350\277\207\345\223\252\344\272\233\351\241\271\347\233\256\357\274\237.md"
@@ -0,0 +1,183 @@
+---
+title: 大厂架构师小傅哥,上学时都做过哪些项目?
+lock: need
+---
+
+# 大厂架构师小傅哥,上学时都做过哪些项目?—— 10年+过往阶段成长历程
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+常听兄弟们👬🏻提到一堆烂大街CRUD项目;`图书管理系统`、`考试管理系统`、`成绩管理系统`等等。这些项目小傅哥上学时候也练手做过,还创新出了😂`彩礼管理系统`,共计9个!**呐,既然兄弟们喜欢CRUD,今天就全部分享给大家!💐**
+
+
+

+
+
+**这9个项目,全是上学阶段的原创!**
+
+考试抽题存题系统、分数计算器、即时仿QQ聊天、学生成绩管理系统、在线考试系统、图书馆系统、彩礼管理系统、串口通信聊天、物流配送系统。还有C++ MFC 开发的播放器。
+
+整个的这一堆项目,也是我在上学阶段的学习历程,通过各个项目锻炼常用各类技术栈的使用。如果一些小白伙伴感兴趣小傅哥10年前的代码,也可以参考下。通过这样一个基础类学习参考,让自己度过小白阶段。
+
+
+

+
+
+那么,接下来小傅哥就分别展示下,这些过往**青涩项目的成果**,以及代码片段。当然还有现在小傅哥带着大家做项目的设计和实现手段,这样你就知道10年码农的一个成长历程!
+
+>🧧文末有加入学习链接,可以获得9个CRUD项目,8个高级编码实战项目。
+
+## 一、CRUD 项目展示
+
+小傅哥,13年毕业🎓,在以前上学阶段是没有像现在这么多学习资源的,也很少能在网上检索到学习资料,大部分都是想着自己能做点什么项目,锻炼下学习的各类技术栈,如:Java、Swing、Servlet、JSP、Spring、SpringMVC、MyBatis、Hibernate、Socket、HTML、Div+CSS、JQuery等。所以也就有了这样一个个锻炼的学习项目。
+
+这些练习项目的编码难度都是非常低的,更多是想让小伙伴们了解下小傅哥一走学习编程的经历,给小伙伴们一些学习&成长参考。这些项目的源码也可以帮助纯小白伙伴,了解最简单流程的实现方式。
+
+### 1. 彩礼系统
+
+在我的项目开发笔记中有这么一条 **2012年2月11日 13:17:35 小付彩礼系统制作完成**。12年前的那天寒假下午,在家开发完了这个锻炼的项目。
+
+
+

+
+
+好多年后,我才知道。那年的彩礼账单,真的在多年后发到了我的手上。不过不是买楼,而是22年出手卖掉一套房子。以前觉得自己想着彩礼大家收着不好意思,不如一套在线的彩礼系统。现在才知道,是做了一套账单系统!如果这套东西在加上微信支付,真的就可以做成在线收彩礼的系统了。
+
+**那些年记录的笔记**
+
+```java
+2012年2月5日 13:22:18
+1:有汉字的url图片不显示
+2:截图的img不显示
+3:背景类型的添加图片显示
+4:img scr类型的设置图片不显示
+5:在ClUser_login.jsp里面引入css样式不好使
+ 所以直接把css样式写到jsp页面里面
+ 如果所使用源码用户,工具不出bug可以直接引用 login到jsp页面里面。login.css在css文件里面
+2012年2月7日 11:30:48
+6:当使用hql查询时候一定要注意顺序
+ select from where group by
+ 类似这样的顺序
+7:在struts2+hibernate后 在使用hql语句的时候
+ 不能使用? setParameter(0,"");的形式
+ 这样会得不到结果
+8:在本项目中max 和 min 的使用 有时候会出现 bug 不一定max 就是最大的结果 min就是最小的 结果
+9:有时候有的jsp页面对引入的jq不起作用,所以还 需要用js+dom解决
+10:对于登录要获取list的页面,使用了分组查询语 句以控制重复的内容出现
+2012年2月8日 13:36:26
+11:当list类型为数据库类型时候,在写hql语句的 时候不能使用Select 具体某个信息,这样会得不 到所查询的信息。最后导致无法遍历
+ 所以直接写from * ... ...既可
+2012年2月9日 13:14:58
+12:因为兼容性视图的设置,会把原来css样式搞乱
+ 所以不要乱改兼容性视图设置(浏览器设置)
+2012年2月10日 11:50:52
+13:当浏览本系统的时候,目前建议用MyEclipse自带的浏览器。否则css,js,jq部分会不支持。
+2012年2月11日 13:17:35
+小付彩礼系统制作完成
+后期有待更新05版
+2012年2月18日 13:11:06
+后期补写
+因为在login页面每次连接到新页面,都是在原页面填充,所以在a标签加入这个属性解决问题target="_blank"
+```
+
+### 2. 在线考试
+
+在做彩礼项目前,我还下手干过一个在线考试系统。在大二那年,2011年11月09日 13:39:04 我开始着手设计在线考试的功能流程。
+
+
+

+
+
+以前做的一些锻炼练手项目,都是直接打开工程就撸代码,但逐步发现这么没有规划路线的干不太行。所以从在线考试项目开始,知道做这样的项目要好好的规划下,整体的流程是什么样,要的功能有哪些,怎么做一些设计。有了文档在编码,就变得清晰多了。
+
+所以,一些新人伙伴在学习的时候,也不要一上来就直接撸代码。思考、设计,是编码前非常重要的流程。虽然可能刚开始还做不出什么完善的设计内容,但这个过程很重要。逐步的就会锻炼出那些强劲的设计思维。
+
+### 3. 物流配送
+
+临近毕业前又做了一个更大的 CRUD 物流配送系统,包括前端页面、后台管理,全部流程都是查库、写库。可以说是把 CRUD 又拉了一个新高度。要是放在现在,这样一个项目都不够面试用的了!
+
+
+

+
+
+所有这些项目都可以加一句:“本项目纯属虚构,如有雷同请把雷同项目删掉”。
+
+出门在外,身份是自己给的。项目需求也是自己给的,这边造完需求,那边打开 IntelliJ IDEA 锻炼。到这个项目可以说是把 CRUD 升级了,将近20几个流程管理全是 CRUD 查库、写库、改库。
+
+>这些项目也就仅能看看流程,纯流程的 CRUD 代码是价值不大了。如果能对照这些文档和UI页面按照现在的方式编写还是有价值的。其他的项目可以从文末获取链接下载查看。
+
+## 二、高质量学习
+
+10多年的成长经历得出;其实就学习来说,CURD 项目有那么 1~2 个,锻炼下就可以了。如果早些年我就能接触到,现在这样的我提供的学习和路线,我会更快的提升。
+
+接下来我再介绍3个项目,可以让大家感受到更核心的东西是如何设计的。
+
+### 1. OpenAI 大模型项目
+
+项目:《OpenAi 大模型应用服务体系构建》
+架构:微服务架构设计,OpenAI-SDK 多模型组件【ChatGLM、ChatGPT】、DDD 应用服务API封装、WEB REACT 前端界面
+地址:[https://bugstack.cn/md/project/chatgpt/chatgpt.html](https://bugstack.cn/md/project/chatgpt/chatgpt.html)
+
+
+

+
+
+项目是一个包括`前后端 + Dev-Ops`,全栈式编程,的硬核项目!基于 React + SpringBoot + Nginx + Docker 云服务部署的 OpenAI 应用项目。并且是能上线对外提供服务使用的项目!`不同于一些开源项目,本项目具备完整的前后端开发和实施部署方案。`
+
+
+### 2. 大营销平台系统
+
+项目:《大营销平台系统》
+架构:SpringBoot、DDD、微服务架构【Dubbo、RabbitMQ、Redis、Sharding-JDBC】
+地址:[https://bugstack.cn/md/project/big-market/big-market.html](https://bugstack.cn/md/project/big-market/big-market.html)
+
+
+

+
+
+这个新项目,结合小傅哥已经带着大家完成的 OpenAi 大模型应用业务场景,做上层的营销活动。这就像互联网公司中有了电商、外卖、出行等场景一样,在场景之上做营销活动。所以我们的新项目是 **《大营销平台系统》**!因为小傅哥的星球之前做过了一个抽奖,那么这个项目会用新的DDD架构,对抽奖系统进行重构,并扩展出`营销账户`、`用户返利`、`积分兑换`等服务,完成一整套的营销平台功能。💥
+
+### 3. API网关系统
+
+项目:《API网关架构设计,从单体服务到微服务的架构演进》
+架构:微服务架构设计、SpringBoot Starter 组件设计、DDD 领域驱动设计
+地址:[https://bugstack.cn/md/assembly/api-gateway/api-gateway.html](https://bugstack.cn/md/assembly/api-gateway/api-gateway.html)
+
+
+

+
+
+API网关系统用于统一管理RPC(Dubbo)通信接口,通过协议解析和泛化调用统一对外提供HTTP服务的系统。这套系统是微服务架构设计,分为核心通信、启动引擎、注册中心、管理平台以及上报接口服务。这套API网关也是随着对公司传统庞大的单体应用(All in one)拆分为众多的微服务(Microservice)以后,所引入的统一通信管理系统。用于运行在外部HTTP请求与内部RPC服务之间的一个流量入口,实现对外部请求的协议转换、参数校验、鉴权、切量、熔断、限流、监控、风控等各类共性的通用服务。
+
+## 三、获取项目
+
+小傅哥的**星球「码农会锁」**主要以带着大家做公司`应用级实战项目`为主,目前已经交付完成7个(项目演示:[https://gaga.plus](https://gaga.plus)),正在进行中的1个(大营销平台系统)。除此之外还有;开源项目、技术小册、基础教程、架构方案、应对招聘、职场晋升经验等分享。
+
+**项目地址**:https://gitcode.net/KnowledgePlanet/crud - 加入星球后可置顶消息,申请仓库权限。
+
+
+

+
+
+本次内容小傅哥再把以前做过的CRUD项目分享给大家,作为加入星球的附带品,当个玩具让大家参考。星球中更多价值在于那些高级的实战项目,这些东西的学习才能帮助大家更快速的成长,在面试中提高竞争力。
+
+>星球中的高级项目,对于需求场景的设计和编码技巧都非常多,贼适合贼面试中秀出能力,让面试官眼前一亮,斩获Offer!
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
+
+---
+
+- [从T4到T8,4年时间,4次晋升。技术提升最快的那几年,我做了什么?](https://mp.weixin.qq.com/s/xr4A6yk_HxwJo06P8VdcHw)
+- [小傅哥知识星球咋样,值得加入吗?](https://mp.weixin.qq.com/s/KWJFPQSa69TxFGYPWDJ69g)
+- [小傅哥自研插件,为开发提效80%,已经有8.1k安装量!](https://mp.weixin.qq.com/s/kAk09Onhw7sHonhXdn0QzA)
+- [从 MVC 到 DDD 重构,我们有了新想法!](https://mp.weixin.qq.com/s/UyqhQrHyBTDujfv8w4bhXQ)
+
+
+
+
+
diff --git "a/docs/md/about/me/2024-02-07-2023\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md" "b/docs/md/about/me/2024-02-07-2023\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
new file mode 100644
index 000000000..37de2c6dd
--- /dev/null
+++ "b/docs/md/about/me/2024-02-07-2023\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
@@ -0,0 +1,88 @@
+---
+title: 2023年,小傅哥の年终总结!
+lock: need
+---
+
+# 2023年,小傅哥の年终总结!—— 慢下来不投机取巧,也能发展的挺好。
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+你穿的是地,你批的是天,走的是阳关道,奔的是日子甜。😄又是一年过去了,截止到2023年结束,总计发表366篇原创技术文章,完结了7个编程项目。累计公众号粉丝12万,星球付费用户1万。3年前的一个慢下来的决定,让我在3年后有了不错的收获。**原来慢下来不投机取巧,也能发展的挺好。**
+
+
+

+
+
+>这一年经历了好多,在职场、在副业、在家庭,都有不同的故事发生。以此文记录,留作多年后来看。
+
+## 一、在职场,异动走了
+
+15年加入互联网大厂,先后经历了;消金、生态、校园、中台、用户,等部门。兜兜转转了一圈,23年4月1日(愚人节),又回到消金。
+
+这一圈走下来经历了好多,也几乎是完美匹配互联网发展的周期,从早期的野蛮蓬勃,到圈地创新,再到硬卷PPT,最后回到核心根基。记忆深刻的是,在这一圈中有一段经历是总在写PPT,把词语一遍遍完善,找出一个个可能的创新,形成一套套好讲的故事。如果你也遇到这样的情况,那么最好赶紧异动或跑路,因为这个组真的没啥业务的需求了!
+
+这样的一个组除了绩效低,还受整组的影响,对个人年终总评也是比较差的。比如给你一个`XXX标签`打分不及格😂。
+
+所以,后来不少拿到Offer的伙伴,问小傅哥是否能去的时候。我一定给出这样一个参考,你去的这个部门是否舍得给钱,一般现在不舍得给钱的,后面也别想赚到更多的钱。因为那可能是个很边缘的部门。网传腾讯有个部门叫【五香鸡】年终奖嘎嘎给力,还有个部门叫【惨死鸡】,那个叫五香鸡的部门是微信事业部(WXG)。
+
+当我重新回到原来的部门,工作了一个季度,与新领导1v1的时候。"我说,终于可以安心的做些技术的事了。不在急功近利的今天做,明天就要PPT,后天就找别的部门推广!也不再非得造成一些词包装成绩,而是可以用原本的本质描述结果。"
+
+23年来说我的异动算晚的,与我一起的伙伴早早的就离职或异动了,因为刀砍到他们那更快(绩效低、无加薪、无晋升)。但是这些伙伴能力不好吗。`一个去了字节`、`一个去了核心业务线还承担核心职责`。**所以记住,有时候不是你不行,是平台差。**
+
+23年4月往后的职场也逐步趋势向好,不只是我所在的组,也是整个公司。不再要求管理者以外的研发编写周报,也不需要年中和年末PPT述职,也去掉了非高T的测评。大家在评审的时候,也都用文字资料和有必要的图来阐述等。这些都给研发这一层做了减负,把心放在做事上。当然如果还是有的组在玩命卷汇报话术,像美工一样精修PPT图,那一定是和那个领导有关,与公司的整体价值观背道而驰。
+
+当然,工作嘛,就是用时间换取固定的钱。不可能太完美符合你所有心意。而在职场生涯要有意识的知道,这有2条路线,一条是工作本身,一条是自我成长。没有永远稳定的工作,只有自身的能力远超工作所需,并在不同年龄阶段都能匹配到对应的能力范围,才可能相对的稳定。**记住,技术嘎嘎重要,那是你作为研发的立身之本**
+
+## 二、在副业,有成绩了
+
+我常听到过一句话:"提前给你一张清华大学的录取通知书,条件是未来两年里,你要坚持每天6点起床,每天坚持背30个单词,每天坚持做一张试卷,每天坚持比其他同学多学习两个小时。"
+
+但其实在我们的生活里,并不会有人给你一个明确的目标,告诉你做什么,你就可以获得哪些。反而普通人的努力,大部分都是不确定的`结果努力`。甚至是需要长期在不确定中,坚持做确定的事。但这个确定的坚持成本并不低,可能是1年、3年,也可能是5年。并且坚持也不是你一个人的事,尤其是结婚有娃,那就是整个家庭的事。这个过程很需要家庭的支持,否则你将没有太多的时间投入到你坚持的事情上。
+
+我于19年7月开始正式编写技术文章,不去蹭热点、不去造故事、也不接广告。只是默默的写出一篇又一篇的技术文章,开发出一个又一个的实战项目(`大营销平台`、`OpenAi大模型应用、Lottery`、`IM`、`AI问答助手`、`API网关`、`中间件`、`IDEA Plugin`)。这样的实战项目,每一个都要写半年多,从0到1的方式一节节的完成。这样虽然慢但没关系,因为我所具备的技术经历是极其充足的,这是很多的小培训机构不具有的。他们也招聘不到大厂的真材实料的`研发&架构师`,可以让培训讲师面试个大厂的高级架构师试试看,工资远比当培训讲师来到多。
+
+这也是我的优势所在,所以我宁愿慢下来,慢慢输出。这样可以让跟随我的粉丝伙伴,能学习到有价值的技术项目,而不是那些自导自演的demo案例。因为进入公司真的不需要那一堆堆的小demo。所以公司需要啥样的技术,我就会慢慢的一个个写下来,并做出一个个项目让大家学习。
+
+**直至23年,全网累计40万读者关注、公众号粉丝12万、星球付费用户1万。这我深刻的感受到,原来慢下来不投机取巧,也能发展的挺好。**
+
+那怎么做,才能把一件事做成呢?🤔
+
+我举个例子;在这些年的创作中,我从不认为某个技术不好,而应该是不同的场景有不同的选择技巧。不少小伙伴时而看到一些分享,专为喷一些技术而做的视频/文章,会比较激动。但你要知道,他喷是为了流量(一个阅读5毛到1块),而你信就是耽误自己了。一个人如果不能坚定自己的想法,是很容易被一些碎片化带有情绪的内容所左右的,甚至还要对喷几句。或是容易和别人/同事发生矛盾。那说明你现在自身的内耗是很大的,应该要尝试改变。
+
+我们用3年学会了说话,但却要用一生学会闭嘴。当你努力做好自己的事,不再试图叫醒一些人时,你才可能有机会走到最前面。所以你不非得聚众,因为往往跷跷板轻的那一面,才会站的更高。当大家都说好的时候,机会也就没了。
+
+
+

+
+
+>🧧[加入星球](#) 关注公众号「bugstack虫洞栈」回复「星球」可以获得优惠券。项目展示:[https://gaga.plus](https://gaga.plus)
+
+## 三、在家庭,新添成员
+
+在职场中那个`XXX标签`打分,差点影响了我生活的幸福指数!为啥呢?🤔
+
+23年2月,嘿嘿,我的女儿👧🏻出生了💐🧨。当过爸爸妈妈的小伙伴会知道,小孩出生后会需要晒黄疸,如果屋子没有阳光是一件挺麻烦的事。最开始我租住的房子🏡就是那种一天只有早上不到1小时的光照,但日常和媳妇也都是上班/下班,大多数周末和放假的时候都会回廊坊(后来被我卖掉了)。所以也光照不多也没啥影响,夏天还比较凉爽。这样屋子就这样住了6年多。
+
+所以在女儿快出生前,媳妇说要不换个房子🏡吧(很聪明)。我一想也是,我都工作这么多年了,绩效还不错,排队公司的公租房也是应该可以的。之后就开始申请排队,进去一看1%,说我排名比较靠前。嘎嘎开心,好消息是1个月左右就排到了,差一点的消息是5.1才能入住。哈,好家伙。这中间还差了几个月,所以又临时在外面租了3个月的房子。后来在5.1的时候👪一家人搬入了新家。
+
+这中间如果我晚申请一个月,我就排不上了。因为`XXX标签`打分不及格,后来再看排名跑到了5%。所以媳妇很聪明😂,好在早点申请,听媳妇话能发家致富。我也就是从那时候,决心异动🤨,影响我生活运势的团队,不能再继续了!
+
+😂5.1搬进新家做的第一件事,是老妈小区捡到一些床的木板,以前是木匠师傅的老爸用木板做了新的厨房灶台。
+
+在我们入住这个新房子的时候,厨房的灶台面板是塌陷的,怕它突然断掉。所以和物业维修报备后,嘎嘎快的就给换了一套全新的(很给力)。但我们忘记了,这新的有甲醛。聪明的媳妇几乎买变了所有的甲醛测试仪,测试屋内甲醛超标,厨房更是报表。所以,老爸来了以后,拆了台面,用老妈捡来的木板搭建了新的厨房。—— 后来,我对用嘴对着甲醛测试仪吹起,它也超标。也不知道甲醛测试仪准不准了,反正厨房是拆了!至少这样不担心影响娃就行。
+
+有了老爸、老妈在,我和媳妇也能安心上班。有聪明的媳妇在,也总是做出机智的决定。有娃在,多了很多故事,让原本快节奏的生活,在家里能有一份慢下来的时光。
+
+## 四、在未来,一些计划
+
+一路在互联网工作,看到了很多部门、小组,对应的产品的设定、落地、发展到解散。可以看得到的是,很多意想出来的非真实用户诉求的,大部分都很难存活下去。就像一个产品的主线核心功能都还有用户体验不佳的时候,但却花费大力气做一些完全不相关的功能【我们用过的很多互联网产品,都有这样的情况】。有时候那些没用的产品功能,很多时候都是因为好汇报,好讲故事,好晋升用。
+
+所以,对于我在职场发展、在技术积累、在作品创作,都会保持做长期有价值的事。就像编写的很多技术文章,不一定有多炸裂的阅读量,但对于研发的技术体系成长一定是有价值的。
+
+电影🎬《疯狂动物城》有个闪电,办事很慢,一个字一个字的。但最后出现开车的时候,一溜烟的就不见了。因为它踩下去油门,抬脚也很慢。有时候慢下来才是快,在这个社会中,当大家都急功近利的图快,你只需要慢下来,用慢下来的一年对比求快的一个月,你会发展的非常漂亮。
+
+好啦,祝大家2024,身体健康,开开心心 🍻💐😄
+
diff --git a/docs/md/about/me/2024-11-17-gold-content.md b/docs/md/about/me/2024-11-17-gold-content.md
new file mode 100644
index 000000000..5c0e6528f
--- /dev/null
+++ b/docs/md/about/me/2024-11-17-gold-content.md
@@ -0,0 +1,90 @@
+---
+title: 小傅哥的含金量,还在上升!
+lock: need
+---
+
+# 小傅哥的含金量,还在上升!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+嘿嘿 😈,有时候我也会去网上对我评论,或者爬爬楼看看群里有人提到我时候的评价。当然无论什么内容,我基本不会去参与。毕竟让人怪不好意思的。不过我偷偷截图下来,当做对自己所做事情的鼓励。**你也想知道大家对我怎么评价的不?🤔**
+
+
+

+
+
+**不装了,我是大厂架构师,我摊牌了!**
+
+能在一家互联网大厂公司工作近10年,一直在一线核心业务场景开发&架构,又不断的承担高并发项目的架构和设计落地。那么他的广度、深度都会有非常不错的积累。如果他在能陆续的输出这些内容让人能学习到,可以说是做了非常有意义的事情!而小傅哥就是那个其中的他。
+
+
+

+
+
+在我编写的博客量内容越来越多以后,我得到了很多的正反馈,包括;非常多的公司把这些内容作为`架构指导建议`、`编码行为规范`、`场景方案示例`,也有高校老师直接点名学生跟着小傅哥学项目,还有伙伴在各个论坛留言的认可。嘿嘿 那可以刻我觉得做有价值的技术分享真不错。
+
+## 一、老师说;先跟着小傅哥做项目!
+
+我的大学导员时而也会和我聊,现在大学生要学习哪些技术,才能和公司招聘要求匹配。因为在校的学生👩🏻🎓做的项目,很多都是 CRUD 的,这些内容刚入门的时候做1-2次还好,但再重复就没有意义了,缺少广度和深度锻炼。所以非常需要像做公司里的项目一样成长。
+
+没想到类似这样的对话,在其他高校的老师和高校的学生也给他的学生和伙伴分享。
+
+
+

+
+
+
+

+
+
+也是因为有这样多的信任和认可,我也变得"越来越卷"😂,不断的卷出新的实战项目!这些项目的不是就只完成功能,而是把大厂中的经验整合进来,把业务、架构、设计、编码的技巧,逐步的呈现到项目中。所以跟着小傅哥学习,会吸收的非常多。
+
+## 二、评论区;这群死鬼还真认可我!
+
+有时候我的粉丝伙伴会把一些评论截图给我,告诉大家对我的认可。还把我引流到 linux.do 注册了个账号😂。
+
+
+

+
+
+
+

+
+
+- 其实当你有非常强的积累,有足够的广度和深度,用大量的时间做技术积累,其实是会得到很多伙伴的认可的。
+- 像是 OpenAI 大模型、大营销这样的大项目每个都花费1年的时间进行打磨输出。而且我也会有意的把互联网大厂中的技术方案,随着项目输入进去。这就像你吃一个东西一样,层层都有口感。演示:[https://openai.gaga.plus/](https://openai.gaga.plus/) - 当你看到小傅哥编码的项目,会让你对系统架构和工程编码都有非常高的认知。
+
+## 三、产品线;为开源社区做贡献!
+
+写开源组件、做工具插件,又发表过十多个专利。小傅哥不只是带着大家做项目,日常也会搞一些小东西,让开发工程师可以使用,提高编码效率。
+
+地址:[https://plugins.jetbrains.com/plugin/18262-vo2dto/versions](https://plugins.jetbrains.com/plugin/18262-vo2dto/versions)
+源码:[https://github.com/fuzhengwei/vo2dto](https://github.com/fuzhengwei/vo2dto)
+
+
+

+
+
+💱 vo2dto IDEA Plugin 1.89万下载量,解决对象转换问题。选定对象批量织入“x.set(y.get)”代码,帮助开发者自动生成vo2dto转换代码。
+
+✨ 特性
+
+1. 2个对象的转换操作,通过复制 X x 对象,转换给 Y y 对象
+2. 允许使用 lombok 对象转换、lombok 和普通对象转换,对于 serialVersionUID 属性过滤
+3. 支持类继承类,全量的对象转换操作
+4. 含记忆功能的弹窗选择映射关系,支持全量对象、支持匹配对象、也支持空转换,生成一组set但无get的对象
+5. 支持对于引入不同包下的同名类处理
+6. 支持 Lombok.Builder 模式创建转换对象
+
+## 四、卷工作;用强悍的实力拿下大厂Offer
+
+跟着小傅哥学习,不会浪费时间,不会走小道弯路。全程做技术兜底,遇到的各种问题都能帮你解决。包括你学习时候的代码bug,可以把代码提交到星球,我来帮你调试。最终把兄弟们送到各个竞争赛道的头部,拿到最牛的薪资待遇 Offer!
+
+
+

+
diff --git "a/docs/md/about/me/2025-01-04-2025\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md" "b/docs/md/about/me/2025-01-04-2025\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
new file mode 100644
index 000000000..5c07b93af
--- /dev/null
+++ "b/docs/md/about/me/2025-01-04-2025\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223.md"
@@ -0,0 +1,145 @@
+---
+title: 2025年,小傅哥の年终总结!
+lock: need
+---
+
+# 2025年,小傅哥の年终总结!
+
+作者:小傅哥
+博客:[https://bugstack.cn](https://bugstack.cn/)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+喜悦、兴奋、困惑、焦虑、释然、强大。2025年,是我的本命年,12年的一个轮回,好像所有做的事情,在这一年都有了一个阶段性的表现。**就像因果不是你一拳我一脚,而是蝴蝶振翅一念换天。**
+
+
+

+
+
+12年一个轮回,也和【道】符合。所以,今年的年度总结,换个行文方式,用 [《道德经》](https://daodejing.org/) 第42章比较热门的内容,做为引子,来串联故事线,希望小伙伴们喜欢😄。**好啦,2025年的,年终总结正式开始!**
+
+
+

+
+
+>道生一,一生二,二生三,三生万物。万物负阴而抱阳,冲气以为和。人之所恶,唯孤寡不毂,而王公以为称。故物,或损之而益,或益之而损。人之所教,我亦教之。强梁者不得其死,吾将以为教父。道德经,资料:[https://daodejing.org/](https://daodejing.org/)
+
+## 一、副业,道生一
+
+>道生一,一生二,二生三,三生万物。
+
+起因动念,决定做的事,想好走的路,就是道。开始执行便有了一,之后又用了6~7年时间,开枝散叶完成了一个自己的IP品牌建设。
+
+6年时间里,从最初的写技术博客,到编写技术小册和出书,再到带着读者粉丝做实战项目。我用10年+互联网大厂的技术经验积累和产品业务认知,帮助读者构建一个1:1还原真实工作环境的超大技术资料库,覆盖全部的核心应用技术,以及截止到今年有19个应用级实战编程项目。
+
+我的目标是,让加入小傅哥的伙伴,就等同于进入一个互联网大厂的项目组。在这里可以学习到非常有价值的编程架构经验,也能学习到丰富的应用产品业务知识。不少伙伴都感慨:“进入到公司才发现,小傅哥教的东西有多重要!”
+
+2025年,新增完成了,1个业务项目、2个AI项目(含1个进行中)、2个组件项目、2个自学项目、5套基础教程;
+
+### 1. 实战项目
+
+- 2024-11-11《拼团交易平台系统》 - 24年末启动,25年中完成。这套项目业务流程非常细腻,可以让学习的伙伴,掌握细腻的业务知识、大厂的架构设计和解决方案,也可以学习到微服务&分布式的设计和实现,同时又有非常有价值的场景解决方案。
+- 2025-03-03《DeepSeek RAG、MCP、Ai Agent 智能体》 - 这几乎是全网最早启动的智能体项目,分3个阶段教学,直至完成一个可拖拉拽配置的智能体。这套内容是基于 Spring AI 框架实现,做 Java 业务项目的公司,也都是使用 Java 语言编写智能体,来为业务项目提效。而 Python 类则偏向底层或者数据以及量化多一些。
+- 2025-04-19《通用技术组件 - 🔧扳手工程》 - 这是一套互联网大厂里的通用解决方案,他们会把共性的诉求,凝练成通用的组件,让各个系统可以复用。像是拼团项目、Ai Agent 项目,都有使用这里的组件能力,让大家真实感受到一个互联网公司级的项目,是怎么做这样的事情的。
+- 2025-10-20《AI MCP Gateway 网关服务系统》 - 这是25年10月,新启动的一个 AI 类项目,也是互联网公司中必备的 AI 类项目。因为公司里需要把各类的业务接口,转换为 AI MCP 协议的服务能力,让 AI 客户端可以调用使用。而这个项目又是深入理解 json-rpc2 mcp 协议的一个项目,非常具有学习价值。
+- 2025-11-23《本地任务消息组件》- 在互联网公司中,所做的微服务项目,都要解决一致性(MQ、RPC、HTTP)问题,这里会设计一个通用的技术组件,来完成任务补充操作。
+- 2025-09-15《钓鱼佬-网页游戏项目》- 自学扩展思路类型项目,Java & Python 双版本代码
+- 2025-09-08《吉祥外卖系统 PLUS 版》 - 自学扩展思路类型项目,方便伙伴拓宽互联网场景视野,增强自身学习过外卖,补充外卖知识的项目。
+
+### 2. 基础知识
+
+- 2024-12-17《技术术语》- 陆续编写,防腐、对象(vo、po、dto...)、微服务、埋点、幂等...
+- 2025-08-03《云服务器操作课程》- 购买配置、SSH连接使用、Docker 一键安装脚本、JDK、Maven、MySQL、Redis等,Docker 部署项目、ai ssh命令工具
+- 2025-08-24《产品文档》- 滴滴特惠、国家电网营销
+- 2025-07-28《菜鸟教程》- 小白基础教程,基础环境配置、Java基础、并发编程、线程池、JVM 调优、Spring、MyBatis、MySQL、Redis、技术架构、互联网场景、技术关键词、Dev-Ops 环境配置等。
+- 2025-01-01《编程路书》长期维护项目,今年更新内容,今年新增;oauth2、ddd、ollama、aigc、google adk、joycode、docker 一键安装脚本&部署项目教程、流量录制和回放、远程调试、draw.io + ai 提效等。
+
+
+

+
+
+**怎么样,加入小傅哥的社群,学起来是不很爽。你得到的哪是一个项目,而是完整的小傅哥本人!**
+
+## 二、职场,以为和
+
+>万物负阴而抱阳,冲气以为和。
+
+生阴而向阳,冲气乃万物,万物是道之所念,意之所行的结果。万物又皆以循环往复,起落升降周而复始。但因我道心已改😂,所以也只是坦然的看待当前这个循环。
+
+因为我在一个公司的时间足够长,所以我现在看待职场,看像是看待一个缩影的人生。从3-5年蓄力、到5-10年爆发、再到10-15年淬炼到下个赛道(高级技术架构、T转M),后面在逐步缓慢退场。就像这一年, 我有好几个饭搭子离职了,也有被动毕业的,还有一些是领导换成了员工,员工换成了领导。更有之前的伙伴,已经走到了更高的顶层M级别,光彩照人。
+
+放到以前我也会很羡慕晋升到更高级别,甚至不在意钱,而是在意晋升。但现在是站在了循环之外,来看待这些事情。更关心的不是那些晋升,而是在意于把多的时间留给家人,留个自己,留给身体。整个职场生涯到了这个阶段的很多伙伴,应该算是在“控分”,做的不是特别突出,但也不落后。
+
+**为啥会“控分”呢?**
+
+刚工作时我绝不会意识到这一点,但到了结婚生子,上有老,下有小的时候,就会感受到了。
+
+举例,很多北京工作的伙伴,是没有北京户口的。周五晚上一堆拼车的,要回天津了,周一早上又突突的跑来。有时候又要调休办理这个流程,办理那个手续,那你的精力自然就会被分配出去,很难有自己时间,或者全都扑给工作。类似这样的工作的伙伴,可以说非常消耗自己的,直至控分越低,最后也就只能做其他的去了。
+
+伙伴说:“北京社保我已缴满10年+了,但我好像也从没细致的看看北京,当我办完手续,想先在北京好好玩一周,再退租回家。” 哼,这死鬼,变现不少股票,也拿了顶格 n+1,当然满意离场了。
+
+潮汕人说,工字不出头,在小也要做生意。不过,像是我们这种家里没有做生意的,可能也没有啥做生意的基因,所以只能一小小点的尝试,在一个长期的时间里进行验证,找到自己的【道】。
+
+## 三、心态,求不毂
+
+>人之所恶,唯孤、寡、不毂(gu 车轱辘,圆满),而王公以为称。
+
+反着干,求圆,则求不圆(不毂)。以放下的心态拿起来,上班就是为了离职的,面试就是为了面不上的。把期待放到最低,我不要了,爱咋地咋地。
+
+生活中那么多事,不可能每件事都做到尽善尽美,所有的事情都玩命投入,那么每一件事情都可能做的乱码起糟。所以,要有第一性原则,要有自己的主线任务,找到那些事务的本质,才能有更好的心态完成这件事。
+
+就像很多985/211的伙伴找实习的时候,学校就近找了个小公司,干着一些打杂的事情,那么临近毕业写到简历就非常难看。
+
+找实习的第一个点,是验证你的能力,可以够得上当前这家公司。那么第一性目标,就应该奔着你的学校和你的积累,匹配未来你要去的城市和公司级别来找实习。
+
+而写简历,是通过你的实习经历(或导师实验室)、项目经验、技术积累、赛事活动等,举证你的能力项。这样才能让你再毕业的时候找到一份更好的工作。
+
+而我做的事情也一样,很多事情都是很慢,很慢的推进,不图热点,也不去接广告。朝着不骄不矜,虚怀处下的心态做事,把时间和精力都放在构建整个技术体系上,逐步形成一个完整的闭环,这样它的价值也会在后续逐步的变大。
+
+## 四、结果,益和损
+
+>故物或损之而益,或益之而损。
+
+放在当下可能有困惑或不甘,但拉长时间线看,未来的某一天你都可以释然般的讲出当年的事,而那些事为你涨的经验,又能驱动着你走到了更高的一个台阶。往往,我们就是在这些不确定性中获益,动心忍性,曾益其所不能。
+
+上一个12年,租房被骗,合租不爽,入职时间拉长(毕业了也不给办正式入职,多实习了3个月),电脑进水,手机丢了,出差没钱租满屋子都是床的一张床...
+
+后来,所有的事情都让我有了新的想法和计划;
+- 租房被骗,合租不爽;后来,再也不合租了,就自己住,有了更多的自己的时间,也能做一些自己事情。从13年,就开始折腾各种技术。
+- 入职时间拉长;后来,第二年以入职不满一年为理由不给涨薪,所以多方面储备,1年后离职进入互联网,才有了现在的生活方式。
+- 电脑进水,手机丢了;后来,花500元修了电脑,暂时用一个临时的小手机打电话用。接了第一份私活,转了5000块,立马买了新手机。
+- 出差没钱;后来,我会想,什么公司、什么工作、什么领导,饿肚子的时候,只有自己感受到。
+
+所以,很多事情都是这样,没有什么一定的好或则一定的不好。这一个12年,也有很多杂七杂八的事情,它们也驱动着我做了新的规划,未来会逐步体现出来。
+
+你呢,是不也有很多事情,让你有了新的计划和不错的结果。
+
+## 五、分享;亦教之
+
+>人之所教,我亦教之。
+
+站在我自己来看,这些年一直秉承着;**沉淀、分享、成长,让自己和他人都能有所收获。**
+
+我看待我自己便是一个知识的桥梁或者媒介,通过的我工作储备,把这些内容转换成`文字`、`视频`、`代码`,让关注到我的伙伴,可以成体系的学习积累编程相关的经验。
+
+一年一年来说,其实我都在构建这个业务场景和技术实践的体系结构,并紧跟技术热点,甚至要早于很多互联网公司的动向,把这些内容提前给大家。这也让很伙伴进入职场后可以受益:`“小傅哥,我们公司在做 DDD 重构,我可以主导很多东西”`、`“我们公司也开始了 MCP 的开发,还有 AI MCP 网关”`、`“真快,现在公司都在做 AI Agent 提效业务的了”`、`“小傅哥是真教东西呀,要不是学了这些,我进入公司肯定跟不上”`,等等。
+
+
+

+
+
+可能多年以后,小伙伴会说一句:**“傅哥,对得起我!”**
+
+## 六、共勉:强梁者
+
+>强梁者不得其死,吾将以为教父(始/本/规矩)。
+
+强梁者,亦是强良者,过分的强横,亦或过分的善良,都不会得到太好的结果。所以,不惹事,不怕事,多积累自己,储备自己,让自己具备随时脱身的本事,亦或是能站住脚的能力,才是做人的始末规矩。
+
+当在校生有丰富的技术积累就不害怕面试、当工作多年的你有很好的项目经验就不用担心跳槽、当你有了不错的资金储备就不担心职场pua,当你有了工作以外的提前规划和实施就不担心未来的发展。
+
+斜杠、多面手,让自己有更多的可能,不让自己陷入任何一个环境里,作为梁者承重,或为良者受欺。打开思路,多关注事务的本质和运行规律,我们都可以过一个更舒服的生活。加油,每个少年们!
+
+**2025年,再见啦,2026年开启啦!祝每一个伙伴,每一年都有一个新的认知,来过好每一天的生活。**
diff --git "a/docs/md/about/me/2025-01-05-2024\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223\357\274\201.md" "b/docs/md/about/me/2025-01-05-2024\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223\357\274\201.md"
new file mode 100644
index 000000000..d45e24404
--- /dev/null
+++ "b/docs/md/about/me/2025-01-05-2024\345\271\264\357\274\214\345\260\217\345\202\205\345\223\245\343\201\256\345\271\264\347\273\210\346\200\273\347\273\223\357\274\201.md"
@@ -0,0 +1,79 @@
+---
+title: 2024年,小傅哥の年终总结!
+lock: need
+---
+
+# 2024年,小傅哥の年终总结!
+
+作者:小傅哥
+博客:[https://bugstack.cn](https://bugstack.cn/)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+仿佛24年的元旦聚餐还在昨天,一觉酒醒就到了25年的元旦😂。要不总说,幸福不折腾的日子总让人感觉过的很快,还真是快。
+
+同时我也满怀期待,临近过年的3周,有伙伴聚餐、有单位团建,喜庆氛围逐步拉满,之后快乐过年!**今年应该能放炮了🧨,庆祝下这一年做的大量上百万字的内容输出!**
+
+
+

+
+
+>这是我东北的老家,每每过年都会想起他。从13年毕业到现在,整个家里人就一起“北漂”了,也就没在东北过过年。看看2025年可以回去一趟。
+
+## 疯狂输出
+
+这一年的输出也是卷的飞起,包括;一套`大营销项目60节+`、一套`小型支付双架构MVC+DDD`、三套`技术组件项目`和一套`基础教程70节的《编程路书》`,同时配套的录制大量的视频教程。合计输出至少在200万字。—— 键盘膜都敲碎了!😱
+
+- 编程路书,是一套为了帮助小白伙伴学习编程开发的实战案例指导手册。包括;脚手架、系统架构、开发环境、开发技术、常用类库、工程测试、质量监控、发布部署、应用网关,这样几个大块。这也是我看过很多网上都是碎片化的不成体系的教程,甚至都没法运行,所以构建了这样一套免费教程,帮助大家学习。
+- 业务项目,大营销是一套非常大型的实战业务项目,含有丰富的业务场景,全程视频手把手的教程,带着大家做技术成长。随着大营销的落地,又开启了小型支付项目,用 MVC 和 DDD 架构分别实现一遍,让小伙伴可以快速理解 DDD 并上手开发。
+- 技术组件,其实小傅哥深知,简历要想漂亮点,必须是有点轮子一样的技术组件。虽然公司不一定让你哐哐哐的造轮子,但是得有这样的技术,因为这是你技术深度的体现。
+
+与此同时,为了让学习编程的伙伴可以成体系化的成长,所学内容有连贯性、进阶型,而不是东一榔头,西一棒子。所以小傅哥构建了一整套项目进阶路线。这套项目进阶路线,在25年会继续迭代。让大家一次加入就学到爽!
+
+
+

+
+
+>🧧关注公众号「bugstack虫洞栈」回复「星球」可以领取加入优惠券。
+
+## 长期主义
+
+`这一年胖东来火了,雷军的含金量也在不断提升。`
+
+但其实说白了,别骗人、别忽悠、做长期且有价值的事,长期坚持做,达到一定的规模体量了,就一定会有成绩。
+
+而那些靠大量推广和包装起来的,总会在后面得到一堆堆流量的反噬。而长期坚持虽然看着慢,但完完整整的做下来一个个硬核项目的,总能在后面得到好的反馈。
+
+如果有些伙伴想自己做点什么,只要在你喜欢的能长期做的方向上,一直做下去,积累大量的生产资料,最后也都可以做成。不用图快,有时候图快就会成韭菜。
+
+工作了这么多年,看到一个个同事从最初入职到10年的发展,会感觉多少有点“命”在里面😂。有些一起的同期的伙伴,职位都已经到达了顶峰。而以前的他的领导,都成了他下面,下面,下面的部门职员。
+
+但其实这个“命”也是个人长期在某些方向积累的结果,比如你持续积累的业务经验甚多,做的项目也都次次拿奖,又具备良好的表达能力。自然就会平步青云。而如果你在部门偏创新,反复的调整折腾,别说往上走,别被开除都算不错的。
+
+当然,所有的这些,没有啥可能一直持续的平稳的,都可能在不确定性中发展。即使你工作很久在一个项目上,但这个项目也不是你的。随时都可能被拿走。如果你的被反复拿走,那么就要多积累自己。如果你的不被拿走,而且把别人的拿走给你,那你就可以好好做项目,慢慢项目多了,管的人也会增多。所以,你要知道自己处于的是什么路线,有没有“命”里的正财或偏财,之后选择性的发展。让其他分支路线,保持个60分及格就行了。
+
+但命呢,也是过往信息、技能、知识、逻辑的积累所产生的行为判断。如果你做的哪些事向好,但又不符合自己的性格就是运。所以,一个人正向的积累越多,越能让自己有非常好的命。
+
+## 卷和不卷
+
+`500万-800万,买一套房,你会选择留在北京吗?🐂🐴`
+
+不会,为什么?因为小孩晚上不爱睡觉!啊?这两者有什么关系?
+
+我呢,是来自于东北的村里,小的时候总是天一黑,跟着大人看会电视📺,没等到7:00的新闻联播演完,就困的睡着了。第二天,又跟着大人,早早的起床。因为大人要下地干活了,晚起就没人管了。
+
+但现在的小孩,能整整熬到10点、11点才睡觉,他们就像有很多精力一直没释放完一样。和自己小时候一对比,突然想到。是呀,自己小时候,开门出去就是一个非常大的院子,再跑出去就是跟着一帮的伙伴在野地里疯跑,晚上自然累的呼呼就睡。
+
+而现在的小孩,基本一整天都在水泥楼房里,每次下个楼都要换一堆的衣服,出去跑一会又回来继续脱衣服。等在过几年,就开始上幼儿园、小学、中学,一直被卷到毕业再到进厂当牛马。虽然我们现在也做这牛马的工作,但好在累了还能回忆下小时候有个不错的童年。
+
+所以,在整个时代机会那么大的时候,你都没有卷出结果,怎么就能觉得在培养一个小牛马,就能继续卷赢。当然,这只是我的想法,如果都是我的想法,想必不卷也会过的不好。所以一定要有人卷。
+
+当下,我们都已经这么明白这个社会的运行规则了,要卷就先卷自己吧。**走暗路、更瘦天、进窄门**
+
+## 未来输出
+
+25年,必然也会很忙的一年。因为我的计划是交付出一套全体系的应用级项目,让你在小傅哥这里学习就等于进入一个互联网大厂学习。
+
+目前已有6个业务项目、7个组件项目交付完成,未来一年保守估计将会再交付2套业务,2套组件。不过虽然有这么大量的交付和高频的更新,但小傅哥的星球依旧是价格上最实惠的。仅仅用一个项目的价格,就可以学习全部项目!
\ No newline at end of file
diff --git "a/docs/md/about/me/2025-07-03-\345\230\216\345\230\216\345\274\272\357\274\214\345\230\216\345\230\216\345\223\222\345\255\246v2.0.md" "b/docs/md/about/me/2025-07-03-\345\230\216\345\230\216\345\274\272\357\274\214\345\230\216\345\230\216\345\223\222\345\255\246v2.0.md"
new file mode 100644
index 000000000..a5d3a0223
--- /dev/null
+++ "b/docs/md/about/me/2025-07-03-\345\230\216\345\230\216\345\274\272\357\274\214\345\230\216\345\230\216\345\223\222\345\255\246v2.0.md"
@@ -0,0 +1,115 @@
+---
+title: 帮助大家学编程,嘎嘎大学 v2.0 上线!
+lock: need
+---
+
+# 帮助大家学编程,嘎嘎大学 v2.0 上线!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+五年啦📢,从最初只有一个 `IM 仿微信项目` + `编写 Netty` + `字节码编程`文章小傅哥,终于靠一己之力构建出了完整的toc业务场景,实战项目训练社群。感谢这么多年一直陪伴着小傅哥的粉丝伙伴!体验地址:[https://gaga.plus](https://gaga.plus)
+
+
+

+
+
+**文末说说下个五年**
+
+**gaga.plus 嘎嘎强,嘎嘎哒(大)学,小傅哥的私有技术朋友圈 👬🏻**
+
+嘎嘎强,嘎嘎哒学,是帮助从事软件开发行业的伙伴,搭建起一条与实际公司场景项目最近的桥廊。在这里你不需要臆想出虚假的项目,也不需要全是 CRUD 的空洞编程。而是实实在在的来自于企业的真实业务流程,进行编程思维的锻炼和编码能力的提升。
+
+嘎嘎哒学,是以一个互联网公司中的真实项目组,进行业务场景需求的讲解和项目的开发。再这样的一个项目组,有业务项目,有通用组件项目,有创新应用项目。还有项目的分析、设计、部署、上线、监控、压测,可以说你在小傅哥这里学习,就等于你在真实大厂的实际工作。
+
+
+

+
+
+**注意,实习生不算,因为实习生进入工作大部分是做边角料的活。** 所以实习生,更要学习,否则还远不如在小傅哥技术社群学习积累的多。
+
+## 一、嘎嘎哒学
+
+**嘎嘎强,嘎嘎哒学!**我把这作为一个`在线的技术大学`进行维护。社群,以最实惠的价格,最丰富的项目,带着粉丝伙伴一起成长。并且提供全程从0到1的教程,让小白伙伴也能上手学习,互联网真实场景的实战项目。
+
+地址:[https://gaga.plus/](https://gaga.plus/)
+
+
+

+
+
+🎓 欢迎来到技术社群,星球「码农会锁」!这里是你的 🏫 编程学习殿堂。体验真实业务场景项目,掌握大厂核心编程技术。 全程视频手把手,增强编程思维,锻炼编码能力 👨🏻💻
+
+跟着小傅哥学习,你可以积累到非常丰富的实用性实战技能;
+
+- 【系统架构】微服务、DDD 领域驱动设计、SpringBoot Starter、IDEA Plugin
+- 【设计模式】工厂、策略、模板、外观、组合、状态、代理、门面等 —— 这些设计模式都在项目中使用,解决实际场景问题。
+- 【框架技术】Spring、SpringBoot、SpringMVC、MyBatis、MySQL、Guava、JWT、Shiro、OKHTTP3、Schedule、Netty、字节码(ASM\Javassist\Byte-Buddy)、JavaFx
+- 【分布式类】Dubbo、MQ(Kafka\RocketMQ)、Redis、XXL-Job、Zookeeper、Sharding-JDBC、DB-Router、Elasticsearch、Zookeeper、Canal、Otter、ELK、Hystrix、RateLimiter
+- 【前端技术】React、Next.js、Typescript
+- 【运维知识】Docker、Portainer、Git、Compose、运维脚本
+- 【创新技术】Spring AI、RAG、MCP、Agent
+- 【通用组件】结合 Spring、Redis、MyBatis、AOP技术等,实现的通用技术组件
+- 【技术方案】营销、电商、外卖、支付、组件、重构,以及性能优化等各类场景的技术方案归档。
+
+这些技术都是在各个项目中运用到的内容,也是中大互联网公司必备的技术技能,从面试招聘的要求中就能看到这些知识项要求熟练掌握。那么,这些内容也是小傅哥星球内项目能让大家学习掌握的技术。此外,还有一项隐藏技能就是绘画能力。
+
+进入公司后,免不了要述职、分享、答辩,那么绘画就是一些非常重要的技能,加入星球就能看到各类项目中的高级绘图,学习这些能力。
+
+## 二、项目举例
+
+### 1. 业务项目
+
+
+

+
+
+### 2. 组件项目
+
+
+

+
+
+### 3. 其他项目
+
+
+

+
+
+## 三、运维操作
+
+其实学项目,就不只是写代码,还有很多的其他操作。就像公司里一样,写代码只是编程工作的一部分。因此,小傅哥也带着大家学习整个 DevOps 的各项技术。如,Docker + 软件,在云服务器的操作,提供好运维脚本。
+
+
+

+
+
+### 1. 一键安装脚本
+
+
+

+
+
+### 2. 云服务器教程
+
+
+

+
+
+- 地址:[https://bugstack.cn/md/road-map/docker-install.html](https://bugstack.cn/md/road-map/docker-install.html)
+
+## 四、下个五年
+
+地址:[https://github.com/fuzhengwei/CodeGuide/issues/111](https://github.com/fuzhengwei/CodeGuide/issues/111)
+
+让人怪不好意思的,上山⛰的路走了,巅峰的山也看了,后面也快下山了。**所以下个五年,感觉有点像离职倒计时。😂**
+
+在公司中我们每隔3年,可以申请一次换新的电脑,领取到手后,会有一个残值,不断的降低,最终到3年降低到0元,之后就可以换新的了。
+
+有时候我们一起聊天的伙伴,也会感觉自己的残值在逐渐的降低。一方面是年级越来越大,部门的新人越来越多。另外一方面是自己的家庭,娃也都快要上小学,离开也是陆续的事。
+
+那么,下个五年走完后。那时候,应该彻底的在做自己的事了。今年5年的利率 `1.6%`,五年后正好取定期存款,拿利息带着家人一起旅游!🚗 ⛰
diff --git a/docs/md/about/me/about-me.md b/docs/md/about/me/about-me.md
index c440c1ae9..4f2430a26 100644
--- a/docs/md/about/me/about-me.md
+++ b/docs/md/about/me/about-me.md
@@ -32,7 +32,7 @@
## Note
-自从写技术专题案例,收获到很多小伙伴的喜欢,他们都希望可以在出一些视频或者小册,愿意收费支持!在次真的非常感谢你们,我一定继续努力输出更多的原创技术!
+自从写技术专题案例,收获到很多小伙伴的喜欢,他们都希望可以在出一些视频或者小册,愿意付费支持!在次真的非常感谢你们,我一定继续努力输出更多的原创技术!
同时为了可以尽可能满足大家的技术诉求,以及互相互学成长,我希望;
diff --git "a/docs/md/about/study/2023-04-02-\345\233\275\345\244\226\347\240\201\345\206\234\357\274\214\344\274\232\345\215\267\345\205\253\350\202\241\346\226\207\345\220\227\357\274\237.md" "b/docs/md/about/study/2023-04-02-\345\233\275\345\244\226\347\240\201\345\206\234\357\274\214\344\274\232\345\215\267\345\205\253\350\202\241\346\226\207\345\220\227\357\274\237.md"
new file mode 100644
index 000000000..875e551ba
--- /dev/null
+++ "b/docs/md/about/study/2023-04-02-\345\233\275\345\244\226\347\240\201\345\206\234\357\274\214\344\274\232\345\215\267\345\205\253\350\202\241\346\226\207\345\220\227\357\274\237.md"
@@ -0,0 +1,117 @@
+---
+title: 国外码农,会卷八股文吗?
+lock: need
+---
+
+# 国外码农,会卷八股文吗?—— 俄罗斯、韩国、日本、纽约、荷兰
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+哈哈哈,写了那么多、写了那么久的技术文章,也想看看国外的码农是否也会这样`卷的飞起`。为此想起了一直在日本同寝同学;`你们那边面试需要背八股文吗?`这老哥给我说;`啥是八股文?`
+
+这死鬼,他们竟然不问八股文,**怪不得去了都10年了也没喊过35岁危机!** 那其他国家呢,韩国、新加坡、俄罗斯。尤其俄罗斯程序员都蛮厉害的,他们是怎么学习的?今天小傅哥就带着大家看看外面的`师姐`,是 **世界**!! 这个难用的输入法🤨!
+
+## 一、为什么被卷?
+
+`卷`,是认知不足的同圈层挤压。就像大厂研发晋升的序列;T1、T2、T3、T4、T5、T6、T7、T8、T9...,前面的级别的人总是很多还很便宜,并且竞争激烈,为了一份工作要`背八股`、`刷算法`、`读源码`。所以也找工作也变得非常卷。
+
+但其实也有很大一部分人是`感受不到卷`,其核心在于他们超过`同龄同级别`伙伴的认知,所以一路走过去,都过的风生水起。所以我也希望以我的经验,给你3方面内容,分别包括;`开眼界的资料`、`学会学习的方法`、`真实场景的开发技术`。
+
+## 二、外面的八股!
+
+🤔 我想同样是学Java、用Java,美国、韩国、印度、德国、巴西、墨西哥,这些用 Java 的大户也可能存在和国内一样的Java资料。看看他们都是怎么卷的,能不能从中学到些新的手段和姿势。
+
+但这里要注意,搜索国外的资料最好用对应的语言,比如;
+- 俄语;Java. Путь от ученика до эксперта. -`Java 从学生到专家`
+- 韩语;신입 개발자 전공 지식 & 기술 면접 백과사전 - `新开发人员专业知识&技术面试百科全书`
+- 其他;但比如像印度、新加坡,他们的大部分资料是英语就能搜到,不过看头像知道,那是个老外😁
+
+### 1. 芬兰 - Ilkka Seppälä:设计模式
+
+
+

+
+
+
+

+
+
+- 作者:[iluwatar](https://github.com/iluwatar)
+- 作品:[https://github.com/iluwatar/java-design-patterns](https://github.com/iluwatar/java-design-patterns) - 80.5k Star,`他的仓库里还有 30-seconds-of-java 这样的内容`
+- 博客:[https://java-design-patterns.com/](https://java-design-patterns.com/)
+- 感受:这老哥在技术圈的活跃度非常好,有时候也看到别的仓库有他的身影。他所编写的资料也非常硬核,是一个提升编程思维、锻炼开发能力的优秀内容。
+
+### 2. 韩国 - gyoogle - 八股题
+
+
+

+
+
+
+

+
+
+- 作者:[gyoogle](https://github.com/gyoogle)
+- 作品:[https://github.com/gyoogle/tech-interview-for-developer](https://github.com/gyoogle/tech-interview-for-developer) - 10.1k Star
+- 博客:[https://gyoogle.dev/](https://gyoogle.dev/)
+- 感受:作者,三星青少年软件学院 1st 现任开发工程师。gyoogle 的 10.1k 仓库我估计也是韩国那边非常大的八股题了。另外在 gyoogle 作者的 following 可以看到韩国的妹子,比如;郑多熙、Yian Kim 尹金 嘿嘿 - 挺好看的就。
+
+### 3. 纽约 - Kevin Naughton Jr. - 面试
+
+
+

+
+
+
+

+
+
+- 作者:[kdn251](https://github.com/kdn251)
+- 作品:[https://github.com/kdn251/interviews](https://github.com/kdn251/interviews)
+- 感受:作者是纽约 Google 的一名软件工程师,分享编程和技术相关的任何其他内容的视频。也是一份不错的八股文。
+
+### 4. 荷兰 - Lars Kappert - 编程原则
+
+
+

+
+
+
+

+
+
+- 作者:[webpro](https://github.com/webpro)
+- 作品:[https://github.com/webpro/programming-principles](https://github.com/webpro/programming-principles)
+- 感受:作者,自由开发者/架构师。关心 JavaScript、性能、自动化和开源。在 JavaScript 方面沉淀内容较多,也编写了类似我截图的编程原则类内容。这样的思想非常宝贵,程序员不只是单一的写代码,更是未来世界的构建者。比如 ChatGPT
+
+---
+
+但别忘记了,你们还有`小傅哥`,这个深耕技术的男人!!!Github:[https://github.com/fuzhengwei](https://github.com/fuzhengwei)
+
+
+

+
+
+## 三、游戏学编程
+
+在检索相关资料的时候就想,既然俄罗斯的程序员那么厉害,肯定是有点不同的学习方式。所以小傅哥又检索到了一个网页版的游戏学习编程的课程。地址:[https://javarush.com/](https://javarush.com/) - 体验了下还蛮有趣的。除此注册它会给你一些题目进行作答,判断你是哪个级别的研发,之后给你提供专门的资料。资料分为文档、任务和游戏,游戏的话一个个小故事引导你去学习,比较适合新人。【体验即可,不用付费】举例;[https://javarush.com/quests/lectures/en.questsyntax.level00.lecture03](https://javarush.com/quests/lectures/en.questsyntax.level00.lecture03)
+
+
+

+
+
+
+

+
+
+## 四、过来人经验
+
+编程是一个一个阶段的突破,早期我们不太了解编程和最终的结果,所以常常通过视频的方式进行学习。视频里怎么做,我们就怎么写。但随着编程经验积累多了以后,其实要逐步脱离视频学习,不能完全照着视频做。虽然视频会让你一步步的完成后得到正确的结果,但视频也会让你缺少思考。而你遇到的错误越少,你所到的成长也就越少。
+
+当你实际加入到公司以后,不会有人提供给你视频,给你的只是`产品文档`、`研发设计`、`研发代码`、`单元测试`,你需要通过这些资料快速掌握所需要开发的项目,这是一项非常重要的技能。如果你不会打断点、不会调试、不会看文档,那么将非常难进入工作中。
+
+学习要以结果为导向,通过项目的驱动,学习相关技术栈和积累错误经验。只有这样你才能甩开初级阶段的拐棍,进入快速成长阶段。
+
diff --git "a/docs/md/about/study/2023-05-14-\345\215\247\351\276\231\343\200\201\345\207\244\351\233\217\357\274\201\344\270\244\346\272\220\347\240\201\345\255\246\345\276\227\344\270\200\357\274\214\344\273\243\347\240\201\350\264\250\351\207\217\351\203\275\344\270\215\344\274\232\345\267\256\357\274\201.md" "b/docs/md/about/study/2023-05-14-\345\215\247\351\276\231\343\200\201\345\207\244\351\233\217\357\274\201\344\270\244\346\272\220\347\240\201\345\255\246\345\276\227\344\270\200\357\274\214\344\273\243\347\240\201\350\264\250\351\207\217\351\203\275\344\270\215\344\274\232\345\267\256\357\274\201.md"
new file mode 100644
index 000000000..e6ebe0020
--- /dev/null
+++ "b/docs/md/about/study/2023-05-14-\345\215\247\351\276\231\343\200\201\345\207\244\351\233\217\357\274\201\344\270\244\346\272\220\347\240\201\345\255\246\345\276\227\344\270\200\357\274\214\344\273\243\347\240\201\350\264\250\351\207\217\351\203\275\344\270\215\344\274\232\345\267\256\357\274\201.md"
@@ -0,0 +1,85 @@
+---
+title: 卧龙、凤雏!两源码学得一,代码质量都不会差!
+lock: need
+---
+
+# 卧龙、凤雏!两源码学得一,代码质量都不会差!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+有人问我,编程能力怎么提升,我说学源码学的。他有问我,是不学 Spring 源码比学 MyBatis 更好,MyBatis 太简单了!🤨 我说死鬼,且边去。
+
+MyBatis 源码真的没有那么简单,也没有说不如 Spring 源码的设计。一个在源码中驾驭了数十种以上设计模式的 MyBatis 它的代码设计,可不是小扒菜。可以这么说,学了 Spring 源码可以应对面试和开发组件,但学了 MyBatis 的源码,**那么你可以做架构师**!`接下来,小傅哥就告诉你为什么!`
+
+## 一、卧龙凤雏:平分秋色
+
+Spring 和 MyBatis 可以说是 Java 行业的卧龙凤雏,其他同类的框架也不少,但要说稳定、可靠、方便,还得是它们2个的组合。也正因为这样在各个企业中,也是用的非常之多,所以面试的时候也更喜欢问这2个框架源码。
+
+那么这两个框架在设计和实现上,能平分秋色吗?🤔 问你这两个框架有啥不同,你能一句话就总结到位不?
+
+
+

+
+
+**卧龙:Spring** - 万物皆可Bean,把一个 Bean 对象拆分到稀碎,细化流程。在每个拆分后的节点内,插入可被外部使用的动作流程。如你可以在Bean对象初始化过程中修改获得对象、修改对象、添加对象等任何你想扩展的流程。
+
+**凤雏:MyBatis** - 与 Spring 不同的是,MyBatis 管理的是多边服务。左手拿着 JDBC、右手握着 Java DAO,通过六合之力,把两招合并成一整招。你过来呀,执行呀!
+
+所以,在小傅哥深度学习完两套源码后,感受;**Spring 复杂精妙,设计的高**。**MyBatis 大开大和,设计的硬**。Spring 学习完以后,使用 Spring 和调试 Bug 都会变得有理有据,也能基于 Spring 开发 SpringBoot Starter 组件。而 MyBatis 学习完,是更贴近业务开发,你能学习到非常多的编码技巧。就仅仅一个 session 会话流程模型的设计,你既可以用到 API网关,也可以用到如 ChatGPT 接口封装。有了 MyBatis 源码的学习经验,对于这样的同类诉求开发,你会变得非常得心应手。而这就是你在积累架构师对系统设计经验和落地能力。
+
+## 二、架构之美:沁人心脾
+
+我特别喜欢有难度也有复杂流程的的东西,因为难度一上来,就有了驾驭的空间。就像天罡36板斧的能力,只切菜就没看头。但如果是战场交锋,那么打起来肯定漂亮。而且很多小伙伴在职场上的晋升,也都是靠那些**俏活**上去的,天天搞 ERP 写 CRUD 多少年都白费蜡。
+
+那么小傅哥在学习完 MyBatis 的源码后,就开始架构了 API 网关的设计。MyBatis 是管理着 JDBC 与 DAO,而 API 是管理着 RPC 与 HTTP。这不是天然的 session 会话模型设计吗,简直和 MyBatis 的架构一毛一样。干它势在必行!—— 小傅哥接下来就把这两套架构模型展示出来,让大家对比看看。
+
+### 1. MyBatis ORM架构模型
+
+
+

+
+
+### 2. API 网关架构模型
+
+
+

+
+
+这些架构模型,都是小傅哥在学习和设计的时候一条条绘制出来的。主要你能按照我的学习路线指引,也一定能理解透彻每一条知识点,并且绘制出非常清晰有用的架构和模型图。
+
+## 三、学习路线:走向高端
+
+[《手写 MyBatis:渐进式源码实践》](https://union-click.jd.com/jdc?e=618%7Cpc%7C&p=JF8BANUJK1olXwQBUVpdAE8SAF8IGVIVXQUCU24ZVxNJXF9RXh5UHw0cSgYYXBcIWDoXSQVJQwYAXV5dC0sQHDZNRwYlNGYHJBcZDhJ0fB1XUgRlL3RUIxYbeEcbM244G1oUXQEKU1hfCHsnA2g4STXN67Da8e9B3OGY1uefK1olXQELUV9ZCkkTBmYMEmsSXQ8yIgoCXAhHXjhMK2slXjYFVFdJDjlWUXsOaWslXTYBZF5cCEMUBmgMGFwRQQYBV1taAFcXBGYNGl8XXwICVV5bOEkWAmsBK2s)有纸质图书和星球中的在线电子版。你可以按照自己的喜欢,选择扫码购买图书或者加入小傅哥的星球。
+
+
+

+
《手写 MyBatis:渐进式源码实践》@小傅哥
+
+
+除了这本技术图书,**小傅哥的知识星球里**,涵盖了;`业务项目(4)`、`组件项目(3)`、`技术小册(4)`、`手撕源码(2)`、以及`简历辅导`、`小白辅助`的各类课程内容。加入后建议学习路线如下;
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
+
+1. **为了面试**:Java面经手册(八股)、Lottery 分布式抽奖(项目)、SpringBoot Starter 中间件设计和开发(拉伸技术)、手写Spring/手写Mybatis(2选1)
+2. **夯实能力**:重学Java设计模式、Lottery 分布式抽奖、手写Spring、手写Mybatis、ChatGPT 应用项目
+3. **拉伸技术**:字节码、IDEA Plugin 开发手册、SpringBoot Starter、API网关
+4. **网络编程**:Netty 4.x 小册、IM(Netty 4.x + JavaFx)
+5. **应届小白**:重学Java设计模式、Java面经手册、手写Spring/手写Mybatis(2选1)、Lottery 分布式抽奖、SpringBoot Starter 中间件设计和开发,之后学习拉伸技术、网络编程
+
+
+

+
+
+---
+
+**用户反馈**:
+
+- [@星期一](https://t.zsxq.com/0chHS92j5):`通过两天的学习成功将第五、第六章节跑通并完成了测试,感受最深的是对策略模式和模板模式的进一步了解,之前在看重学java设计模式的时候,对于很多设计模式都处于一知半解的状态,现在结合这个抽奖系统,让我对这两个设计模式有了不一样的理解与认识,感觉真的很棒。这种边记笔记,边学习的感觉真的很好,以前可能看视频学,一天能看很多章节,但其实很多东西都没有弄懂,现在是一天一个章节,慢慢去理解代码怎么编写,怎么完成。这些天虽然还有些地方理解的不是很清楚,我还是继续接着学,到时候回头再来温习一遍。`
+- [@星期一](https://t.zsxq.com/0cmdaowpB):`本身我自己学习是没有画图,记录学习遇到问题的解决方法的习惯,但加入了知识星球,看到里面许多像我一样的学员都开始跟着小傅哥去画图,去记录学习中遇到的问题,我自己也尝试着这样去做,发现学习的思路更加清晰,且记忆更深`
+- [@神经蛙](https://t.zsxq.com/0cIVeIzgI):`断断续续花了2个星期终于感觉完整学完了抽奖系统,首先非常感谢小傅哥,该项目确实让我感觉学习到很多优秀的内容,以下是我学习的一个阶段性总结`
+- [@L.ast](https://t.zsxq.com/0cJSH02ju):`花费了十天时间把整个抽奖系统的基本内容全部动手实现,对个人而言设计模式、xxljob,kafka,以及路由组件设计这部分收获很多。打算抽一天时间回顾总结项目细节,尤其是对一些订单id和日期id这部分设计的作用,解决什么问题。`
+- [@BookSea](https://t.zsxq.com/0cxV12kki):`加入傅哥的星球是我做过最好的投资之一,2022年3月,加入了傅哥的星球。2023年3月,迎来了我的职业生涯的第一次跳槽。`
+
diff --git "a/docs/md/about/study/2023-06-04-\345\220\216\347\253\257\347\240\201\345\206\234\357\274\214\346\200\216\344\271\210\345\206\231\345\245\275\345\211\215\347\253\257\344\273\243\347\240\201\357\274\237.md" "b/docs/md/about/study/2023-06-04-\345\220\216\347\253\257\347\240\201\345\206\234\357\274\214\346\200\216\344\271\210\345\206\231\345\245\275\345\211\215\347\253\257\344\273\243\347\240\201\357\274\237.md"
new file mode 100644
index 000000000..5efb3eb02
--- /dev/null
+++ "b/docs/md/about/study/2023-06-04-\345\220\216\347\253\257\347\240\201\345\206\234\357\274\214\346\200\216\344\271\210\345\206\231\345\245\275\345\211\215\347\253\257\344\273\243\347\240\201\357\274\237.md"
@@ -0,0 +1,71 @@
+---
+title: 后端码农,怎么写好前端代码?
+lock: need
+---
+
+# 后端码农,怎么写好前端代码?
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+作为后端码农,你还写前端代码吗?🤔 其实小傅哥工作中也很少需要去写前端代码,即使有也只是做做 ERP 页面,简单的使用下 HTML、DIV+CSS、JQuery 对着功能修修补补。而这点老技能的积累还是在上学时学习的,那时候有本书叫**《锋利的 JQuery》**。学习后,做了好多的的页面结合后端技术练习编程项目。
+
+
+

+
+
+现在看看这些页面还挺有意思,学生成绩管理、在线考试、图书馆系统,还有一个彩礼管理系统 😂。距离这些页面的编写时间到现在已经有10多年了,而前端的技术为了更好的适应互联网应用需求的开发,也发生了很多的变化。包括各类新的框架的诞生,让写前端代码也变得面向对象;vue、react、Typescript 等。
+
+## 一、为啥写前端代码?
+
+哈哈哈,其实本来我也不爱写前端代码,写习惯了后端以后,那种打开大合的方式驾驭着数据库、Redis、ES、Dubbo等以后,突然写点前端代码,那一个像素1px,就感觉是在shi上雕花。有时候写一天那,也就扣吃出来点那么多东西,所以过往中很少自己去写前端页面。那为啥现在要写呢?
+
+因为,有诉求!当自己想完成一个小东西的时候,只有后端技术,是没法展示出自己的想法到一个产品层的。那么即使你后端的代码写的再漂亮,前端不做一个展现,不体现出后端来,还是缺少点什么。
+
+而这个写前端代码的萌芽,就是在小傅哥开始做 ChatGPT-Web 时候开始的,后端的 ChatGPT-SDK、API 模型,小傅哥都可以使用非常好的架构和会话的设计模式来实现。但这样好的代码怎么体现出来呢,只有自己干一下才知道!所以,新的征程开始了,我这个前端的二把刀选手,开启了UI界面的设计和编码实现。在这里小傅哥选择了 next.js + Typescript 因为它更符合面向对象的思维,学习成本低,开发效率高。
+
+## 二、你想做成啥样子?
+
+小傅哥给大家部署了一个 ChatGPT 服务,因为它使用的就是 Typescript 语言,并且 UI 设计的还比较符合我的审美。所以小傅哥也想做一个这样的东西。当然我会编程出自己的一个框架结构,并且融入自己的想法进去。地址:[itedus.cn](https://chatgpt.itedus.cn/) - 可以进入体验。
+
+
+

+
+
+对于后端码农来说,你可能乍一看页面感觉也没啥。但就这样一套界面,写起来也需要老多东西了,而且是在一个新的语言开发下,与直接使用**锋利的JQuery**😂 完全不一样。但没关系,好在我的编程思想还在,只要我能要的,基本它都是能支持的。实在不知道的,还可以问 ChatGPT 不是。
+
+## 三、一番摸索找到路!
+
+有时候你以为 HelloWorld 简单,那是你已经熟练了一个语言。知道它用什么工具开发更顺畅、怎么创建工程更容易、设置什么脚本更好用、怎么方式编码才正确。
+
+但没关系,你所有想开始学习的内容,只要是小傅哥炸进去的,都会给你趟出一条容易学习的路。既能让你上手学习到东西,也不至于上你只是没有思考的CV代码。—— 我一直觉得,只是跟着视频 CV 代码,那只是粘贴老师的思维逻辑,自己啥都没学到。
+
+
+

+
+
+
+

+
+
+- 经过一番摸索已经有点找到开发 Typescript 语言的感觉😋了,怎么设置页面、怎么路由地址、怎么引入依赖、怎么安装组件。
+- 从这个图上你是不感觉,这东西除了有点前端的味道以外,也挺有后端代码的感觉的。也都是面向对象的引入、设置、使用。要不说开发就做三件事;定义属性、创建方法、调用展示。—— 如果你也想学习下,那么跟着小傅哥肯定是可以学习下来的,并且以后自己也能写写页面。或者说最起码能修修补补了。
+
+## 四、已经开发到哪了?
+
+ChatGPT 是小傅哥新增的一个星球项目,做了 Dev-Ops、API、ChatGPT-SDK,最近开始折腾页面的开发。小傅哥计划按照PC端微信的界面结构,开发一个网页版的 UI,并把 AI 对话填充进去。并且支持面试官角色、简历优化角色、文案编写角色、法务咨询角色等,方便各类用户使用。
+
+
+

+
+
+- 课程:[https://bugstack.cn/md/project/chatgpt/chatgpt.html](https://bugstack.cn/md/project/chatgpt/chatgpt.html)
+- 描述:小傅哥的代码质量绝对不会凑 CRUD 写代码,必须把架构和设计模式安排的明明白白,用加入的兄弟们学到爽!
+
+---
+
+**扫码加入,一次加入就可以学习6个项目,死鬼,这么个价格可不多哦。** 项目有学习群、简历编写案例、面试问题汇总、读者作业分享,总之就是让大家实惠!—— 跟着架构师学习,学习的段位也会非高。这就像拜师学艺一样,小傅哥能给你写出的代码质量,绝对不是凑代码。
+
+>[🧧加入学习](https://bugstack.cn/md/zsxq/other/join.html)
diff --git "a/docs/md/about/study/2024-03-03-\345\210\2605\344\270\207\345\260\261\345\245\275\344\272\206.md" "b/docs/md/about/study/2024-03-03-\345\210\2605\344\270\207\345\260\261\345\245\275\344\272\206.md"
new file mode 100644
index 000000000..84b10d13c
--- /dev/null
+++ "b/docs/md/about/study/2024-03-03-\345\210\2605\344\270\207\345\260\261\345\245\275\344\272\206.md"
@@ -0,0 +1,156 @@
+---
+title: 到5万就好了!
+lock: need
+---
+
+# 到5万就好了!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+🤔 有小伙伴问傅哥,什么时候写项目,才能有自己的思路。`可以读懂代码`、`可以调试bug`、`可以扩展功能`。现在比较慌,现在遇到个报错,只想扔给傅哥。`🎙️叠个大bug,再发一串报错,愿傅哥的周末不寂寞😂。 `
+
+
+

+
+
+**答案是,不多,当你有`5万行,有效代码编写`的时候,你甚至可以横着走🦀。**
+
+以我为例,在整个技术学习积累阶段,新人小白时,是最容易犯错的。那些明明看来很简单的`环境配置`,`空指针异常`,`断点调试`,`数据库连接密码错误`等,都需要花费很长的时间来解决。当需要寻求帮助的时候,对错误的描述也不够准确。甚至也不会想到要告诉对方,自己是在什么场景、什么环境、执行了什么流程、发生的什么错误。
+
+针对这样的情况,小傅哥给新人伙伴分享一些常见简单错误的处理手段和正确的把错误信息描述出来,同时再分享个从小白到入门进阶的学习路线。这个路线,也是将来冲击P7(50k)综合工资的路线。
+
+>🧧文末有8个,互联网公司级实战项目,提高面试竞争力!
+
+## 1. 常见错误
+
+
+

+
+
+在小傅哥的星球「码农会锁」中,有这么一个标签 **#Bug笔记** 专门记录一些常见的错误信息和处理手段。这些错误来自于伙伴们,在实战项目学习中,所遇到的一些常见问题的解答。对新人伙伴的帮助是非常大的。示例如下;
+
+### 1. java.lang.ClassFormatError
+
+
+

+
+
+**场景**:星球伙伴在运行API网关项目时,报错,java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module
+
+
+

+
+
+**原因**:Dubbo 通过反射 Api 访问 defineClass ,但是在 JDK 9 以上,JPMS 模块化,就不让访问了。
+
+**方案**:可以通过添加配置「`--add-opens java.base/java.lang=ALL-UNNAMED`」临时解决,但可能会引起其他问题,所以切换为 JDK 1.8 比较稳妥。
+
+
+

+
+
+### 2. Unable to find a @SpringBootConfiguration
+
+
+

+
+
+**场景**:星球伙伴在学习项目,搭建模块化module工程的后,运行测试代码,时长遇到; Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
+
+**原因**:其中一个原因是没有注意到包的路径问题,因为默认情况下 Application 扫描 Bean 对象,需要保持一个上下层的关系。如;Application 在 cn.bugstack 下,那么其他对象就要在 cn.bugstack.xxx 下面。这样才能扫描。在 Spring 中讲究约定大于配置,如果不保持包的结构,就会引出很多其他的配置问题。与其额外增加配置,不如遵守开发约定。
+
+### 3. Failed to configure a DataSource: 'url' attribute is not specified
+
+
+

+
+
+**场景**:星球伙伴在学习OpenAI项目中,自己对照工程搭建项目,启动运行 Application 后在控制台发现报错如下「这也是很多伙伴在搭建项目中常见的一个错误」【图1】;
+
+```java
+Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
+
+Reason: Failed to determine a suitable driver class
+
+Action:
+
+Consider the following:
+ If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
+ If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev are currently active).
+```
+
+**原因**:因为小伙伴在搭建项目的时候,【如图】引入了 MyBatis、MySQL 的数据库连接配置,那么 SpringBoot 在自动装配 DataSourceAutoConfiguration 的时候会找相关的 MyBatis 连接数据源配置。但此时 yml 中又没有提供相关的数据源配置,所以会报错「一种是自己学习忘记配置,另外一种是课程本节未使用到数据源,但自己先引入了 MyBatis 也没配置对应的连接信息」。
+
+
+

+
+
+**处理**:
+1. 早期项目如果没有使用到 MyBatis、MySQL,可以从工程中排出。pom 根目录可以做版本引入,但不在 app 中做具体的引入。这样项目就不会加载了。
+2. 通过 `@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})`排出掉数据源的自动装配【如图】。
+
+
+

+
+
+### 4. java.lang.IllegalArgumentException: Result Maps collection does not contain
+
+
+

+
+
+**场景**:星球伙伴在做大营销项目的时候,编写第一个查询数据库接口,配置完 MyBatis 的时候,遇到这样一个报错;
+
+```java
+java.lang.IllegalArgumentException: Result Maps collection does not contain value for org.example.infrastructure.persistent.dao.IStrategyDao.dataMap
+```
+
+**心里**:心里处于崩溃状态,怎么可能,代码已经编写了,这也没有错,为啥呢。【图1】
+
+**原因**:如图2,因为字母写错了。这也是一个手敲代码很容易写错的。
+
+**处理**:检查 MyBatis Mapper 中,所有写错 dataMap 的地方进行修改。
+
+
+

+
+
+## 2. 学习路线
+
+编程不是看的,经验不是背的。最好的学习方式是下手实践,一个个编程所需学习的技术,用案例锻炼,在结合案例到项目中实践。以项目完成为导向,用项目驱动学习,有就可以少走很多弯路了。
+
+看到不少伙伴还在死扣 Servlet、JSP、Hibernate、Struts2,真的,这类项目别做了,这类技术也先放放吧,面试不问的,工作也不需要的。我按照互联网企业常用的技术,给大家梳理一套清晰的学习教程。
+
+
+

+
+
+- **基础教程**,这部分也就是大家简历中所体现的`专业技能`部分。这些技能覆盖到以后,基本也就匹配上市面所有Java类的互联网公司了。
+- **实战项目**,不只是简历,也包括企业,项目主要分为这样4个类型。业务、技术、组件、插件,还有一类是源码。互联网公司中不少是根据源码做的二次封装,开发了一个符合企业所需的软件。在这条路线学习上,给纯小白伙伴准备了一个既有深度,又手把手带着做的**《大营销项目》**。在这个项目中,小傅哥把业务流程、架构设计、脚手架使用、设计模式、场景方案、工程测试、接口对接、工程打包、服务上线、简单压测等,全部都给体现出来了。有了这样一个积累,在去看其他的项目(也是从0到1的)会更加得心应手。之后在一个简历中,你可以用`业务项目 + 技术项目/组件项目`,来组合使用,这样可以让自己的竞争力更强一些。
+- **技术方案**,这是一种技术视野扩展的手段。小傅哥的内容体系是衔接着公司实践级别的,这样也就能让加入小傅哥星球的伙伴,具备学习到真实场景的设计技术。这些东西可以让你有更多内容的了解。
+- **面试相关**,职场、简历、招聘、八股,这是在我们有了核心技术和实战项目这个大基座上面的`生活`,我会用这么多年的实践能力,帮助你成长。无论你是处于哪个阶段。
+
+## 3. 出成绩了!
+
+我从没想过做这些成体系的内容,只单纯的为了满足大家面试。面试只是职业生涯中一个很小的过程,而更重要的是想办法把大家的技术能力拉升到腰部以上,这也是任何一个行业的本质逻辑。腰部以上赚钱,腰部以下求温饱。
+
+所以小傅哥的**星球「码农会锁」**,是小傅哥按照一个中大型互联网企业的标准,进行教程的开发。让一个小白沿着这条路线,可以从基础内容、理论内容、项目内容、架构内容,一步步成长起来。星球中现有的伙伴,在经过这些内容的学习,可以说是得到了非常大的进步。
+
+
+

+
+
+- 来自于星球「码农会锁」伙伴们的学习记录。
+- 小傅哥本身也是互联网大厂的架构师,在工作中也有架构设计、业务开发、组件开发、培养新人、技术分享等工作。所以在小傅哥的星球你就相当于在小傅哥所在公司,接受架构师对你的培训,是一样一样滴。
+
+## 4. 加入学习
+
+跟着`小傅哥学习项目`可以获得的收获;我可以按照所在互联网大厂的标准,从`需求设定`、`框架搭建`、`领域设计`、`库表设计`、`功能开发`、`项目打包`、`发布部署`、`运维监控`、`简历编写`、`面试解析`,这样一整条线的内容,全部交给你!有了这样一套的组合,那你学习完找份工作还不是嘎嘎滴容易!
+
+> 这样的项目学习在小傅哥星球「码农会锁」有8个,每个都是从0到1开发并提供简历模板和面试题,并且还在继续开发,后续还将有更多!价格嘎嘎实惠,早点加入,早点提升自己。项目地址:[https://gaga.plus](https://gaga.plus)
+
diff --git a/docs/md/ai/a2a.md b/docs/md/ai/a2a.md
new file mode 100644
index 000000000..8974a9fc5
--- /dev/null
+++ b/docs/md/ai/a2a.md
@@ -0,0 +1,388 @@
+---
+title: a2a
+lock: need
+---
+
+# A2A,实际跑起来是什么样?
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+
+
+大家好,我是技术UP主小傅哥。
+
+chatgpt(22年)-> LLM 进阶(23年)-> MCP 协议(24年)-> Skils 技能(25年)-> A2A 标准(25年),这几年 AI 发展的非常迅速,定义了协议,开发了组件,发布了产品。每个阶段,都有非常牛皮的代表性的内容,车速非常快🚌,不知道在坐的各位有没有掉队。
+
+
+

+
+
+针对这些 LLM 大模型的相关知识,小傅哥也分别提供了相关实战类项目,包括;**AI 问答助手(23年)**、**OpenAi(ChatGPT/ChatGLM) 微服务应用体系构(23年)**、**OpenAI 代码自动评审组件(24年)**、**AI Agent 智能体 - 拖拉拽(25年)**、**AI MCP Gateway 网关服务系统(25年)**、**AI Agent 脚手架 + 场景应用(26年)**,通过这些实战项目,实践各类标准协议和技术组件(spring ai、google adk...)的使用,以及提供非常出色的解决方案。
+
+因为后续的 ai agent 智能体项目,还会涉及到 a2a 协议,所以先给大家做个相关技术的使用方便大家快速实践理解。
+
+>🧧 文末提供了20个实战项目(6个AI、5个业务、8个组件、1套源码),以及各类编程技术小册等。欢迎一起加入学习。
+
+## 一、A2A 是什么?
+
+A2A (Agent2Agent) 协议是 Google于2025年4月推出、并由 Linux基金会托管的开源开放标准。它作为AI智能体之间的“通用语言”,旨在实现不同框架、不同厂商构建的智能体(Agent)间跨平台发现、通信与协作。
+
+随后25年底,Google 发布了 [a2a adk](https://central.sonatype.com/artifact/com.google.adk/google-adk-a2a/0.4.0) 组件(迭代速度很快)。之后借助代理开发工具包 (Google ADK),我们可以构建复杂的多代理系统,其中不同的代理需要使用代理对代理 (A2A) 协议进行协作和交互!本节提供了一个全面的指南,指导您构建强大的多代理系统,使代理能够安全高效地进行通信和协作。
+
+框架:[https://google.github.io/adk-docs/a2a/](https://google.github.io/adk-docs/a2a/)
+
+源码:[https://github.com/google/adk-java](https://github.com/google/adk-java)
+
+资料:[https://www.ibm.com/cn-zh/think/topics/agent2agent-protocol](https://www.ibm.com/cn-zh/think/topics/agent2agent-protocol)
+
+文档:[https://a2aprotocol.ai/docs/](https://a2aprotocol.ai/docs/)
+
+---
+
+如图,整套智能体架构(含A2A);
+
+
+

+
+
+- 左侧,是 LLM 模型智能体构建,基于 Spring AI 框架实现。这部分包括,AiApi 使用、RAG、MCP、Skills 的组合构建。
+- 右侧,是 AI Agent 智能体编排,基于 Google ADK 框架实现。这套框架,提供了智能体工作流组装,插件回调钩子等各项基于 Google 发布的协议进行构建的。
+- 之后,右上方,是 Google ADK 26年基于 A2A 协议实现的框架组件,方便我们设计出远程的 A2A 服务对接,把远程服务,转换为本地功能组件,编排进智能体中。因此 A2A 协议的作用,就是让一个远程的智能体,可以像构建本地智能体一样,连接起来进行使用。
+
+> 基于 a2a 的协议,也有很多三方框架,但我们需要的是一个整体的解决方案,单一一个功能,还不能解决所有问题。所以这里优先选择 google adk 框架。
+
+## 二、实践案例
+
+### 1. 编程环境
+
+- jdk 17
+- google adk 0.8
+- spring ai 1.1.0-M3
+
+>相关的版本包,已经在测试工程中的 pom 里引入了。可以打开工程查看。
+
+### 2. 工程结构
+
+
+

+
+
+- 工程:[https://github.com/fuzhengwei/xfg-dev-tech-google-adk-a2a-server](https://github.com/fuzhengwei/xfg-dev-tech-google-adk-a2a-server)
+- 说明:基于 Google ADK 框架,构建 A2A 服务端和客户端。注意,服务端的启动方式为 `quarkus.sh` 方式启动服务,之后使用客户端连接。
+- 注意:这部分还有一些关于关于 Spring AI + Google ADK 的基础使用知识,是在 ApiTest 中有案例。也可以学习项目 [《AI Agent 脚手架 + 场景应用》](https://bugstack.cn/md/project/ai-agent-scaffold/ai-agent-scaffold.html)
+
+### 3. 测试案例
+
+```java
+public class ApiTest {
+
+ public static void main(String[] args) throws Exception {
+ OpenAiApi openAiApi = OpenAiApi.builder()
+ .baseUrl("https://apis.****.cn")
+ .apiKey("sk-tIYdEUUnMqKX3bRf756a31449a4942***需要配置你的key")
+ .completionsPath("v1/chat/completions")
+ .embeddingsPath("v1/embeddings")
+ .build();
+
+ ChatModel chatModel = OpenAiChatModel.builder()
+ .openAiApi(openAiApi)
+ .defaultOptions(OpenAiChatOptions.builder()
+ .model("gpt-4o")
+ .build())
+ .build();
+
+ // agent 测试
+ LlmAgent agent = LlmAgent.builder()
+ .name("test")
+ .description("Chess coach agent")
+ .model(new SpringAI(chatModel))
+ .instruction("""
+ You are a knowledgeable chess coach
+ who helps chess players train and sharpen their chess skills.
+ """)
+ .build();
+
+ InMemoryRunner runner = new InMemoryRunner(agent);
+
+ Session session = runner
+ .sessionService()
+ .createSession("test", "fzw")
+ .blockingGet();
+
+ Flowable
events = runner.runAsync("fzw", session.id(),
+ Content.fromParts(Part.fromText("1+1")));
+
+ System.out.print("\nAgent > ");
+ events.blockingForEach(event -> System.out.println(event.stringifyContent()));
+ }
+
+}
+```
+
+- 这是一个 Spring AI + Google ADK 构建的简单智能体,由 LlmAgent 构建时候,创建模型 `new SpringAI(chatModel)` 关联到 Spring AI 框架。
+- 之后,由 Google ADK 构建的智能体,使用内存记忆,创建会话之后进行测试。也可以学习项目 [《AI Agent 脚手架 + 场景应用》](https://bugstack.cn/md/project/ai-agent-scaffold/ai-agent-scaffold.html) 锻炼使用相关内容。
+
+### 4. A2A 测试
+
+#### 4.1 服务端
+
+这部分内容的学习,可以打开案例代码,方便对比。
+
+##### 4.1.1 服务提供
+
+```java
+@ApplicationScoped
+public class AgentExecutorProducer {
+
+ @ConfigProperty(name = "my.adk.app.name", defaultValue = "default-app")
+ String appName;
+
+ @Produces
+ public AgentExecutor agentExecutor() {
+ return new com.google.adk.a2a.executor.AgentExecutor.Builder()
+ .agent(Agent.ROOT_AGENT)
+ .appName(appName)
+ .sessionService(new InMemorySessionService())
+ .artifactService(new InMemoryArtifactService())
+ .agentExecutorConfig(AgentExecutorConfig.builder().build())
+ .build();
+ }
+
+}
+```
+
+- 这部分是把智能体提供出去,通过 google adk 框架,创建 AgentExecutor 实例。
+- 之后 Agent.ROOT_AGENT 类似于上面的测试案例,智能体构建的部分。你可以创建任何之后通过 AgentExecutor 发布出去。
+
+##### 4.1.2 卡片提供
+
+```java
+@ApplicationScoped
+public class AgentCardProducer {
+
+ @Produces
+ @PublicAgentCard
+ public AgentCard agentCard() {
+ try (InputStream is = getClass().getResourceAsStream("/agent/agent.json")) {
+ if (is == null) {
+ throw new RuntimeException("agent.json not found in resources");
+ }
+
+ // Read the JSON file content
+ String json = new String(is.readAllBytes(), StandardCharsets.UTF_8);
+
+ // Use the SDK's built-in mapper to convert JSON string to AgentCard record
+ return Utils.OBJECT_MAPPER.readValue(json, AgentCard.class);
+
+ } catch (Exception e) {
+ throw new RuntimeException("Failed to load AgentCard from JSON", e);
+ }
+ }
+
+}
+```
+
+**/agent/agent.json**
+
+```java
+{
+ "capabilities": {"streaming": true},
+ "defaultInputModes": ["text/plain"],
+ "defaultOutputModes": ["application/json"],
+ "description": "一个专门检查数字是否为素数的智能体。它可以高效地确定单个数字或数字列表的素性。",
+ "name": "check_prime_agent",
+ "skills": [
+ {
+ "id": "prime_checking",
+ "name": "Prime Number Checking",
+ "description": "使用高效的数学算法检查列表中的数字是否为素数",
+ "tags": ["mathematical", "computation", "prime", "numbers"]
+ }
+ ],
+ "preferredTransport": "JSONRPC",
+ "url": "http://localhost:9090",
+ "version": "1.0.0"
+}
+
+```
+
+- 这里要构建一个智能体卡,A2A 的协议中,把服务包装成一个卡片的概念。
+- agent.json 配置的是 `Agent.ROOT_AGENT` 智能体的信息。
+- 如果你之前学习过小傅哥的 AI MCP 网关项目,会对 JSONRPC 有印象, MCP 协议和 A2A 协议,都是走到 JSONRPC 标准进行的通信。
+
+#### 4.2 客户端
+
+##### 4.2.1 构建端
+
+```java
+public final class A2AAgent {
+
+ private static final Random RANDOM = new Random();
+
+ private static final OpenAiApi openAiApi = OpenAiApi.builder()
+ .baseUrl("https://apis.****.cn")
+ .apiKey("sk-tIYdEUUnMqKX3bRf756a31449a4942***需要配置你的key")
+ .completionsPath("v1/chat/completions")
+ .embeddingsPath("v1/embeddings")
+ .build();
+
+ private static final ChatModel chatModel = OpenAiChatModel.builder()
+ .openAiApi(openAiApi)
+ .defaultOptions(OpenAiChatOptions.builder()
+ .model("gpt-4.1")
+ .build())
+ .build();
+
+ @SuppressWarnings("unchecked")
+ public static ImmutableMap rollDie(int sides, ToolContext toolContext) {
+ ArrayList rolls =
+ (ArrayList) toolContext.state().computeIfAbsent("rolls", k -> new ArrayList<>());
+ int result = RANDOM.nextInt(Math.max(sides, 1)) + 1;
+ rolls.add(result);
+ return ImmutableMap.of("result", result);
+ }
+
+ public static final LlmAgent ROLL_AGENT =
+ LlmAgent.builder()
+ .name("roll_agent")
+ .model(new SpringAI(chatModel))
+ .description("处理不同面数骰子的投掷。")
+ .instruction(
+ """
+ 当被要求掷骰子时,始终调用 roll_die 工具并指定面数(如果未指定,默认为 6)。不要编造结果。
+ """)
+ .tools(ImmutableList.of(FunctionTool.create(A2AAgent.class, "rollDie")))
+ .build();
+
+ public static LlmAgent createRootAgent(String primeAgentBaseUrl) {
+ // 远程 agent
+ BaseAgent primeAgent = createRemoteAgent(primeAgentBaseUrl);
+
+ // 本地 agent
+ return LlmAgent.builder()
+ .name("root_agent")
+ .model(new SpringAI(chatModel))
+ .instruction(
+ """
+ 你可以在本地掷骰子,并将素数检查委托给远程的 prime_agent。
+ 1. 当用户要求掷骰子时,将请求路由给 roll_agent。
+ 2. 当用户要求检查素数时,委托给 prime_agent。
+ 3. 如果用户要求先掷骰子然后检查,先调用 roll_agent,然后将结果传给 prime_agent。
+ 在讨论素数之前,始终先简述骰子结果。
+ """)
+ .subAgents(ImmutableList.of(ROLL_AGENT, primeAgent))
+ .build();
+ }
+
+ private static BaseAgent createRemoteAgent(String primeAgentBaseUrl) {
+
+ String agentCardUrl = primeAgentBaseUrl + "/.well-known/agent-card.json";
+ AgentCard publicAgentCard =
+ new A2ACardResolver(new JdkA2AHttpClient(), primeAgentBaseUrl, agentCardUrl).getAgentCard();
+
+ Client a2aClient =
+ Client.builder(publicAgentCard)
+ .withTransport(JSONRPCTransport.class, new JSONRPCTransportConfig())
+ .clientConfig(
+ new ClientConfig.Builder()
+ .setStreaming(publicAgentCard.capabilities().streaming())
+ .build())
+ .build();
+
+ return RemoteA2AAgent.builder()
+ .name(publicAgentCard.name())
+ .a2aClient(a2aClient)
+ .agentCard(publicAgentCard)
+ .build();
+ }
+
+}
+```
+
+- createRootAgent 是构建入口,一个是创建 createRemoteAgent 远程智能体,一个是 `LlmAgent.builder()` 构建本地智能体。之后在构建本地智能体的时候,通过 subAgents 把远程智能体填充到本地的智能体里去了。这个编排的方式有多种多样的。
+- createRemoteAgent 远程构建,这是固定协议路径 `/.well-known/agent-card.json`拿到智能体卡片以后(一个卡片上有各类的信息),之后通过 a2aClient 创建客户端,在通过 RemoteA2AAgent 完成本地智能体的转换。
+
+##### 4.2.2 使用端
+
+```java
+public final class A2AAgentRun {
+ private final String userId;
+ private final String sessionId;
+ private final Runner runner;
+
+ public A2AAgentRun(BaseAgent agent) {
+ this.userId = "test_user";
+ String appName = "A2AAgentApp";
+ this.sessionId = UUID.randomUUID().toString();
+
+ InMemoryArtifactService artifactService = new InMemoryArtifactService();
+ InMemorySessionService sessionService = new InMemorySessionService();
+ this.runner =
+ new Runner(agent, appName, artifactService, sessionService, /* memoryService= */ null);
+
+ ConcurrentMap initialState = new ConcurrentHashMap<>();
+ var unused =
+ sessionService.createSession(appName, userId, initialState, sessionId).blockingGet();
+ }
+
+ // ... 省略部分
+
+ public static void main(String[] args) throws InterruptedException {
+ BaseAgent agent = A2AAgent.createRootAgent("http://localhost:9090");
+ A2AAgentRun a2aRun = new A2AAgentRun(agent);
+
+ List events =
+ a2aRun.run("掷一个6面的骰子。").toList().timeout(90, TimeUnit.SECONDS).blockingGet();
+
+ events.forEach(A2AAgentRun::printOutEvent);
+
+ events =
+ a2aRun.run("这是素数吗?").toList().timeout(90, TimeUnit.SECONDS).blockingGet();
+
+ events.forEach(A2AAgentRun::printOutEvent);
+ }
+
+}
+```
+
+- A2AAgentRun 测试入口,连接远程的智能体,之后做相关的调用验证。
+
+## 三、测试验证
+
+### 1. 前置准备
+
+1. IntelliJ IDEA 右侧的 maven 点击执行 clean -> install 构建
+2. 通过命令启动服务,`mvn quarkus:dev -pl xfg-dev-tech-app`
+
+### 2. 访问服务
+
+#### 2.1 服务首页
+
+
+

+
+
+- 地址:[http://localhost:9090/q/dev-ui/welcome](http://localhost:9090/q/dev-ui/welcome)
+- 说明:访问首页,localhost:9090 会看到上面的地址信息,这个是 a2a 协议的入口。
+
+#### 2.2 服务协议
+
+
+

+
+
+- 地址:[http://localhost:9090/.well-known/agent-card.json](http://localhost:9090/.well-known/agent-card.json)
+- 说明:点击 agent-card.json 可以看到具体的服务协议信息。
+
+### 3. 调用验证
+
+
+

+
+
+- 点击运行,你可以看到它在进行多个智能体的调用(可能模型原因不准,但核心点在于多个智能体的调用)。
+- 好啦,到这关于 A2A 整个内容就演示完了,可以时刻关注 google adk a2a 协议的迭代,这部分内容后续还会有一些调整。
+
diff --git a/docs/md/ai/agent-skill.md b/docs/md/ai/agent-skill.md
new file mode 100644
index 000000000..123e16dd1
--- /dev/null
+++ b/docs/md/ai/agent-skill.md
@@ -0,0 +1,226 @@
+---
+title: agent-skills
+lock: need
+---
+
+# Agent Skill,你记一下,我做如下部署调整!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+
+
+大家好,我是技术UP主小傅哥。
+
+skill 是什么?它像是一本技能书📚,把一阳指(`mcp/py/shell/js`)和狮吼功(`prompt`)合成了一整招。缩短了从用户把提示词发给AI客户端,进行分析,决策,再到 mcp 执行的过程,**让诉求直达结果**,token 减少了,幻觉减少了!
+
+
+

+
+
+随着 LLM 大模型能力的不断提升,并与 RAG、MCP、Skill 的结合,使得 Agent 智能体与完整的计算机环境(Computer/Phone)交互成为可能。这个过程中,一方面不断产生新的技术方案,一方面又不断的优化设计。就像 Skill 的出现,它不是替代 MCP,而是更准确的使用 MCP 能力。
+
+接下来,小傅哥就带着大家使用一波 skill,让小伙伴们可以在 opencode、trae.ai,以及基于 Spring AI 也可以使用上 skill 能力。
+
+## 一、skill 和 prompt + mcp
+
+如图,演示了一段 skill 的编写案例;
+
+
+

+
+
+- 场景:案例中体现的是,对电脑性能检测后,用一段下达命令的方式,告知用户如何优化电脑性能。
+- 重点:如果不使用 skill,则需要描述一大段话术,让 ai 自己完成对用户场景诉求的分析,并按照步骤来调用对应的各个 mcp 服务(没有 skill 则需要把各类内容,都包装为 mcp 服务)。这个过程是比较消耗 token 的,也可能有不小的幻觉。现在有了 skill,我们可以适当的完整的写一段诉求文档,文档里嵌入可执行的脚本/mcp服务,让执行更可靠。
+- 用途:那都有哪些场景可以写 skill 技能书呢?🤔 如;互联网公司里的系统巡检,在接收到报警日志后,拿到一个报警的系统和接口信息,之后用 skill 技能书,分别采集出对应的系统配置、上线日志、数据库/缓存情况、运营操作记录、全链路监控上的接口耗时情况等。之后在根据我们日常排查问题的时候经验,编写过程步骤,这样会更加准确。
+
+> 所以,不是 skill、mcp 谁替代谁,而是 skill 对 mcp 进行增强,让 ai 执行时更加可靠。
+
+## 二、配置使用
+
+首先,像是市面上的 claude code、opencode 这些软件,都是支持了 skill 技能书配置使用的,如果遇到一些软件暂时还不支持 skill,或者自己使用 spring ai、langchain4j、google adk 构建的智能体时候需要使用 skil 技能,则可以通过 skillport-mcp 来使用 skill 配置。
+
+这里小傅哥分别演示下 opencode、trae.ai + mcp、spring ai + google adk + mcp 的方式使用 skill;
+
+### 1. 测试工程(skill)
+
+
+

+
+
+- 地址:[https://github.com/fuzhengwei/xfg-dev-tech-agent-skills](https://github.com/fuzhengwei/xfg-dev-tech-agent-skills)
+- 说明:
+ - 工程里 `docs/skills` 下面就是一个个技能书,battle-plan、pdf,每一个技能书下都必须有一个 SKILL.md 文件,作为入口。这个文件,可以描述 prompt 提示词,以及在提示词中明确给出可执行的脚本(py\shell\js)和可参考的文档。
+ - 此外,在 xfg-dev-tech-app 下,test 里编码的是 SpringAiToolTest 测试技能书案例。
+
+### 2. opencode 使用
+
+- 文档:[https://opencode.ai/docs/skills/](https://opencode.ai/docs/skills/)
+- 安装:[https://bugstack.cn/md/road-map/ai-ssh-opencode.html](https://bugstack.cn/md/road-map/ai-ssh-opencode.html) - `做好了安装脚本,方便小白伙伴使用`
+
+#### 2.1 配置skill
+
+```java
+fuzhengwei@fuzhengweideMacBook-Pro-2 skill % ls
+battle-plan
+fuzhengwei@fuzhengweideMacBook-Pro-2 skill % pwd
+/Users/fuzhengwei/.opencode/skill
+fuzhengwei@fuzhengweideMacBook-Pro-2 skill % cd battle-plan
+fuzhengwei@fuzhengweideMacBook-Pro-2 battle-plan % ls
+reference.md scripts SKILL.md
+fuzhengwei@fuzhengweideMacBook-Pro-2 battle-plan %
+```
+
+进入到 opencode 配置文件下,如果是 linux 一般会放到 `/root/.config/opencode/` 下。首先你要进入到这个 opencode 配置文件夹,之后在这个文件夹添加一个 skill,再之后就在 skill 下创建你的具体的技能书了。现在你可以把 xfg-dev-tech-agent-skills 案例工程的技能书,battle-plan 放到 skill 里。
+
+#### 2.2 开启skill
+
+```java
+fuzhengwei@fuzhengweideMacBook-Pro-2 ~ % cd /Users/fuzhengwei/.opencode
+fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode % ls
+bin node_modules package.json
+bun.lock opencode.json skill
+fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode % cat opencode.json
+{
+ "permission": {
+ "skill": {
+ "pr-review": "allow",
+ "internal-*": "deny",
+ "experimental-*": "ask",
+ "*": "allow"
+ }
+ },
+ "$schema": "https://opencode.ai/config.json"
+}% fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode %
+```
+
+- 注意 `opencode.json` 需要配置下 `"*": "allow"`
+
+#### 2.3 使用skill
+
+
+

+
+
+- 提问:`基于 skill 解答,电脑性能优化`
+- 说明:这里的`电脑性能优化`就是 skill 工具名称的描述。
+
+### 3. trae.ai + mcp + skill
+
+#### 3.1 工具说明
+
+工具:[https://github.com/gotalab/skillport](https://github.com/gotalab/skillport)
+
+目前还有不少 AI Agent 智能体,在底层设计上,还不支持直接使用 skill,也包括一些 ai 组件框架,也都没有 skill 的直接支持。那么这里要引入一个 skillport-mcp 服务来解决。借助 mcp 能力,使用 skill。
+
+#### 3.2 工具安装
+
+```java
+# 需要安装 python3
+pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/
+pip3 install uvx
+```
+
+- 安装 skillport 前,要确保本地安装了 pyhton/python3 环境。之后有 uvx 的安装。
+
+```java
+pip3 install skillport
+# or: uv tool install skillport
+```
+
+- 如果安装过程中遇到一些失败的问题,可以用 trae.ai 里面执行安装,之后把报错拖进去提问。
+
+#### 3.3 mcp 配置
+
+
+

+
+
+```java
+{
+ "mcpServers": {
+ "skillport": {
+ "command": "uvx",
+ "args": ["skillport-mcp"],
+ "env": { "SKILLPORT_SKILLS_DIR": "~/.skillport/skills" }
+ }
+ }
+}
+```
+
+- 这里你要配置下自己 skill mcp 服务,到你的 trae.ai 中。确保一定安装好了 python 环境,可以执行 `pip3 install skillport` 安装。
+
+#### 3.4 工具使用
+
+
+

+
+
+当你选择 Builder with MCP(涵盖了skillport-mcp),之后提问 `基于 skill 解答,电脑性能优化` 那么就可以得到上面的命令了。
+
+### 4. spring ai + skill
+
+```java
+public class SpringAiToolTest {
+
+ private static final Logger log = LoggerFactory.getLogger(SpringAiToolTest.class);
+
+ public static void main(String[] args) {
+ OpenAiApi openAiApi = OpenAiApi.builder()
+ .baseUrl("https://apis.itedus.cn")
+ .apiKey("sk-efen7WX8Q8vGvBps3f7c9a34578d41BbBc508dC5Df33A9Fb")
+ .completionsPath("v1/chat/completions")
+ .embeddingsPath("v1/embeddings")
+ .build();
+
+ ChatModel chatModel = OpenAiChatModel.builder()
+ .openAiApi(openAiApi)
+ .defaultOptions(OpenAiChatOptions.builder()
+ .model("gpt-4.1")
+ .toolCallbacks(new ArrayList<>() {{
+ addAll(List.of(sseMcpClient()));
+ }})
+ .build())
+ .build();
+
+// String call = chatModel.call("你哪有哪些 skill 工具能力");
+ String call = chatModel.call("基于 skill 解答,电脑性能优化");
+
+ log.info("测试结果:{}", call);
+
+ }
+
+ /**
+ * https://github.com/gotalab/skillport
+ * pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/
+ * pip3 config set install.trusted-host mirrors.aliyun.com
+ * pip3 config list
+ * pip3 install uvx
+ */
+ public static ToolCallback[] sseMcpClient() {
+ ServerParameters stdioParams = ServerParameters.builder("uvx")
+ .args("skillport-mcp")
+ .env(new HashMap<>() {{
+ put("SKILLPORT_SKILLS_DIR", "/Users/fuzhengwei/coding/gitcode/KnowledgePlanet/road-map/xfg-dev-tech-agent-skills/docs/skills");
+ }})
+ .build();
+
+ McpSyncClient mcpSyncClient = McpClient.sync(new StdioClientTransport(stdioParams, new JacksonMcpJsonMapper(new ObjectMapper())))
+ .requestTimeout(Duration.ofSeconds(35000)).build();
+
+ McpSchema.InitializeResult initialize = mcpSyncClient.initialize();
+
+ return SyncMcpToolCallbackProvider.builder().mcpClients(mcpSyncClient).build()
+ .getToolCallbacks();
+ }
+
+}
+```
+
+- 在 Spring AI 程序中,添加 `skillport-mcp` 服务,之后在 ChatModel 模型里,使用 mcp 服务。
+- 如果你正在开发一些 AI Agent,那么也可以把 `skillport-mcp` 配置进去使用。如小傅哥带着做 [AI Agent 智能体项目](https://bugstack.cn/md/project/ai-knowledge/ai-knowledge.html) 你现在可以加进去更多的扩展操作了。
+
+
+
diff --git a/docs/md/ai/ai-ssh-opencode.md b/docs/md/ai/ai-ssh-opencode.md
new file mode 100644
index 000000000..d7c22695a
--- /dev/null
+++ b/docs/md/ai/ai-ssh-opencode.md
@@ -0,0 +1,229 @@
+---
+title: ai ssh opencode
+lock: need
+---
+
+# ai ssh opencode 命令行工具
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+>沉淀、分享、成长,让自己和他人都能有所收获!
+
+
+
+大家好,我是技术UP主小傅哥。
+
+天才般的发明,**ai ssh 命令行工具**,让 ai 的使用不只局限在 `ai 对话提问`、`ai idea 辅助编码`,也可以直接让操作系统具备 ai 能力。其实这才是我一直想要的东西!😄
+
+
+

+
+
+**ai 正在改变产品设计!**
+
+2025年,是 ai agent 智能体爆发的一年,它所提效的接入方式可以分三层来看;
+
+先是中间这一层,是 ai agent 接入服务和软件,像是大家使用的 trae.ai 或者小傅哥分享过的 [draw.io + ai](https://bugstack.cn/md/road-map/draw.io.html),以及各个互联网公司用 ai 提效做的一些场景客服,系统巡检,日志分析等。
+
+之后上面这一层,是从用户视角,模拟用户行为使用软件,而不是直接接入到软件api上。它使用的方式是 AutoGLM-Phone-9B 手机模型,以 ADB 或者无障碍模式,让手机可以接收用户指令,完成操作。如;`打开京东,搜索东北老式麻辣烫,加入购物车,以默认地址,进行支付购买。下单支付完成后,微信发给xxx告诉,她预计送达时间。` 如果感兴趣,可以基于这篇文章进行实践。[《手机 + agent,这是要掀桌子!》](https://bugstack.cn/md/algorithm/model/autoglm-phone-agent.html)
+
+然后底下这一层,是从系统层面,不再依赖于直接对接某个软件,某个api,而是以系统层面直接操作软件,或者完成整个行为动作。如,在云服务器/本地,配置好 jdk、maven、docker 环境,之后帮我拉取 git clone xxx 仓库代码,本地完成 maven 构建和启动。以及在遇到问题时候,让 ai 直接检索并处理都是非常可以的。
+
+好,那接下来,小傅哥给大家分享下,如何安装一个 ai ssh 工具(没有这个教程,很多人是安装不上的!)。
+
+>🧧 文末提供了小傅哥所有编程实战项目获取方式,一次加入即可获得19个已完结的实战项目,也有非常多的 AI 类项目,一定要补充学习!
+
+## 一、工具介绍
+
+ai ssh 是命令行工具,可以安装到 Mac、Windows、Linux 上,以通过 terminal(终端)直接操作系统进行使用。它的场景也包括你打开的 IntelliJ IDEA 下面的 terminal 终端中使用,这样就天然的嵌入到了 IntelliJ IDEA 中了,非常方便。
+
+目前这类的 ai ssh 命令行工具软件也非常多,包括;[opencode.ai](https://opencode.ai/)、[claude](https://claude.com/product/claude-code)、[openai codex](https://github.com/openai/codex)、[阿里千问 - qianwen code](https://github.com/QwenLM/qwen-code),都出了对应的软件。
+
+在整体体验后,效果还是都不错的,这里是 opencode 的终端使用截图;
+
+
+

+
+
+- opencode 默认提供了一些免费模型,可以输入 `/models` 进行选择。
+- 另外还可以通过配置文件,添加其他模型,如 claude 模型、openai 模型、小米模型等。
+
+## 二、软件安装
+
+以下软件安装,会需要用到 gcc、nodejs 20+ 版本,建议安装 Ubuntu 24 版本,可以不需要折腾系统环境。
+
+### 1. 脚本说明
+
+这软件好用是挺好用,但它的源都在 Github 上,很多伙伴在执行官网脚本 `curl -fsSL https://opencode.ai/install | bash` 是安装不上的。所以,小傅哥做了一个对应的脚本,方便大家更加简化的安装使用。
+
+
+

+
+
+- 脚本(gitcode):[https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install](https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install)
+- 脚本(github):[https://github.com/fuzhengwei/xfg-dev-tech-docker-install](https://github.com/fuzhengwei/xfg-dev-tech-docker-install)
+
+### 2. 脚本下载
+
+```java
+git clone https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install.git
+```
+
+- 你可以通过命令的方式把脚本拉取到本地电脑或者云服务器上。
+
+### 3. 脚本授权
+
+```java
+find . -name "*.sh" -type f -exec chmod +x {} \;
+```
+
+- 全部授权
+
+```java
+chmod +x terminal.sh
+```
+
+- 指定授权
+
+### 4. 执行安装
+
+
+

+
+
+```java
+./terminal.sh
+```
+
+- 执行安装时,选择1,opencode code,这个是比较推荐的。
+- 无论是 Windows、Mac、Linux 都可以使用这个脚本进行安装,我已经做好了对应的脚本。
+- 安装完成后,需要输入 `opencode` 之后 Enter(回车)进入到系统中。如果提示 opencode 不是有效的命令,可以检查是否安装过程中有个提示 `source .../bashrc` 可以自行执行刷新。
+
+## 三、软件配置
+
+### 1. 命令使用
+
+
+

+
+
+
+

+
+
+- `/init` - 创建/更新 Agents.md"
+- `/review` - 检查变化"
+- `/new` - 创建新的会话"
+- `/models` - 选择模型"
+- `/agents` - 智能体方式"
+- `/session` - 会话列表"
+- `/status` - 查看状态"
+- `/mcp` - 选择mcp服务"
+- `/theme` - 选择主题"
+- `/editor` - 编辑"
+- `/connect` - 链接模型提供者"
+- `/help` - 帮助"
+- `/commands` - 命令"
+- `/exit` - 调试模式"
+
+> 这些可能会随着版本更新而调整,你可以依次尝试下。
+
+### 2. 配置模型(自定义 - 可选)
+
+
+

+
+
+
+

+
+
+```java
+{
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "my-model-openai": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "OpenAPI",
+ "options": {
+ "apiKey": "你的apikey",
+ "baseURL": "https://你的baseURL/v1"
+ },
+ "models": {
+ "gpt-4.1": {
+ "name": "gpt-4.1"
+ }
+ }
+ },
+ "my-model-glm": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "GLMAPI",
+ "options": {
+ "apiKey": "你的apikey",
+ "baseURL": "https://open.bigmodel.cn/api/paas/v4"
+ },
+ "models": {
+ "glm-4.7": {
+ "name": "glm-4.7"
+ }
+ }
+ }
+ },
+ "model": "my-model-openai/gpt-4.1"
+}
+```
+
+- 如果你想自己更换下模型,比如使用 openai 的或则 claude 的,那么需要你在脚本下的 terminal/opencode.json 进行更换,之后执行 `./opencode.json.sh` 进行创建。
+- 如果先执行了 ``./opencode.json.sh`` 之后想更换配置的模型,则可以通过 vim 命令,编辑 `/root/.config/opencode/opencode.json`
+- 其他的还有一些像是 mcp 的配置,可以参考官网(避免调整了配置错),[https://opencode.ai/docs/mcp-servers/](https://opencode.ai/docs/mcp-servers/)
+
+
+## 三、软件使用
+
+### 1. Linux
+
+#### 1.1 构建项目
+
+
+

+
+
+#### 1.2 安装软件
+
+
+

+
+
+#### 1.3 巡检系统
+
+
+

+
+
+#### 1.4 编写文件
+
+
+

+
+
+>通过命令操作云服务器是非常便捷的,尤其是很多小白伙伴,有了这个可以说是如小白虎添翼!打开思路,你可以在更多地方使用上,尤其哪些环境安装都困难的伙伴。
+
+### 2. Mac/Windows + IntelliJ IDEA
+
+
+

+
+
+- 在本地电脑,除了可以像 Linux 举例那种安装和检查各类软件,也可以直接在 IntelliJ IDEA 开启,之后管理你的项目。
+- 尤其是很多伙伴,拿到一个项目,不知道里面都是什么,也不清楚脚本能干啥,那你都可以使用 opencode 帮你解决。
+
+### 3. IPad Pro
+
+
+

+
+
+虽然 IPad Pro 没啥开发类软件,但如果你使用的是云服务器、Nas等,这些软件里安装 opencode,那么你也可以在 IPad Pro 安装 [termius.com](https://termius.com/) SSH 工具,通过 SSH 工具操作部署了 opencode 的 Linux 系统。
+
+现在日常出门,带着 IPad Pro 也是可以处理一些小的开发的维护的,非常方便。IPad Pro + Nas 嘎嘎舒服!
diff --git a/docs/md/ai/draw.io.md b/docs/md/ai/draw.io.md
new file mode 100644
index 000000000..4ffdac94a
--- /dev/null
+++ b/docs/md/ai/draw.io.md
@@ -0,0 +1,140 @@
+---
+title: draw.io + ai agent
+lock: need
+---
+
+# draw.io + ai Agent,确实打开新思路
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+>沉淀、分享、成长,让自己和他人都能有所收获!
+
+
+
+大家好,我是技术UP主小傅哥。
+
+又到年底了,又要必不可少的开始画图做PPT述职啦 😂,述职的好坏和年终奖都有可能挂钩!这对天天写代码大部分的程序员👨🏻💻来说是一件非常头疼的事,但好在这次可以使用个**神器**!
+
+
+

+
+
+**Ai Agent 会结合到各个场景!**
+
+可以想象,将来我们使用的各种工具,都会很方便的以标准的协议方式结合到 AI Agent 智能体。这就像小傅哥,25年,年初开始做 Ai Agent 时,对一个智能体的执行过程,是需要自己进行分析,设计,实现的(`那时候我就在讲,Agent 也会出标准框架`)。到了年中的时候 Google ADK 除了 0.1.0 最初的版本,年尾发布了 0.4.0,这个框架提供了构建智能体的最基本框架,可以整合 Spring AI、Langchain4j 快速构建智能体。
+
+>Spring AI、Langchain4j 提供的是 AI 封装能力,Google ADK 提供的是 Agent 执行能力(并行、循环、串行)的组装和使用。
+
+未来(甚至不会太久),各个软件与 Ai Agent 的对接会变得非常容易,你手里用到的各项软件,都可以很方便的添加上智能体的能力。就像,我们现在用到的 `trae.ai`、`Cursor`,在以后 Ai Agent 基础能力成熟后,在结合 `Visual Studio Code` 给出软件对接标准协议,那么任何一个人都可以快速的搭建出一个智能体编码工具。除此之外,其他的软件也都会逐步提供出这样的能力。
+
+扩展的思路分析完毕,小傅哥这次先带着大家了解下,draw.io 是怎么与 Ai 结合使用的。
+
+>🧧 文末提供了小傅哥所有编程实战项目获取方式,一次加入即可获得19个已完结的和本次新开展的。
+
+## 一、关于 draw.io
+
+draw.io 是一个用于绘制通用图表的 JavaScript 客户端编辑器。
+
+官网:[https://www.drawio.com/](https://www.drawio.com/)
+代码:[https://github.com/jgraph/drawio](https://github.com/jgraph/drawio)
+
+
+

+
+
+我所有的这类的绘图,都来自于使用 draw.io 完成([bugstack.cn](https://bugstack.cn) 还有很多绘图)。它可以下载到本地使用,也可以在网页使用。如果你是开发人员,还可以使用它的开发组件引入到自己的程序中进行使用。也正因如此,有了 Ai Agent 能力的结合,一种是通过 MCP,另外一种是直接通过扩展功能,直接在 draw.io 二开上完成。接下来小傅哥会分别介绍这两种方式以及使用。
+
+## 二、MCP 方式对接
+
+MCP(Model Context Protocol)是用于解决 AI 与服务接口通信的标准模型上下文协议,该协议通过标准化通信方式,使AI应用程序能够访问和使用实时数据、执行操作,从而克服了模型训练数据的局限性。 你可以将MCP想象成AI应用程序的“USB-C接口”,它提供了一个标准化的方法,让AI模型能够连接各种外部资源。
+
+**Draw.io Model Context Protocol (MCP) Server**,就是基于此协议实现的对接 Draw.io 的 MCP 服务。我们可以使用这样一套服务,把 AI 与 Draw.io 建立起使用链接。
+
+源码:[https://github.com/lgazo/drawio-mcp-server](https://github.com/lgazo/drawio-mcp-server)
+
+### 1. 插件安装
+
+- 谷歌浏览器:[https://chromewebstore.google.com/detail/drawio-mcp-extension/okdbbjbbccdhhfaefmcmekalmmdjjide](https://chromewebstore.google.com/detail/drawio-mcp-extension/okdbbjbbccdhhfaefmcmekalmmdjjide)
+- 火狐浏览器:[https://addons.mozilla.org/en-US/firefox/addon/drawio-mcp-extension/](https://addons.mozilla.org/en-US/firefox/addon/drawio-mcp-extension/)
+
+
+

+
+
+安装完成后,可以看到这样一个小插件(右侧插件文件里可以点击让常驻浏览器),之后后面可以等着使用(继续下面的步骤)。
+
+### 2. 配置服务
+
+```java
+{
+ "mcpServers": {
+ "drawio": {
+ "command": "npx",
+ "args": [
+ "-y",
+ "drawio-mcp-server"
+ ]
+ }
+ }
+}
+```
+
+#### 2.1 trae.ai - 也可以其他的
+
+
+

+
+
+#### 2.2 spring ai
+
+
+

+
+
+### 3. 使用服务
+
+首先打开:[https://app.diagrams.net/#](https://app.diagrams.net/)
+
+
+

+
+
+- 对接上之后,你就可以在右侧提问了。之后他就可以实时的出设计图。`受限于MCP服务对接,它不是在 Draw.io 上扩展,会缺少一些交互和判断,画图有时候会有重叠。`
+- 不过,这个方式的好处是,你可以结合自己的代码,拖进去,让它直接出架构图、流程图、模型图等。之后在自己做一些调整。
+
+## 三、软件方式使用
+
+现在 Github 上有很多基于 Draw.io 的二次开发,结合了 Ai 的能力,这里小傅哥找到一个做这块功能比较早的,next-ai-draw-io 来演示给大家。感兴趣的伙伴,还可以结合代码做二次开发。
+
+这是一个基于 Next.js 的 Web 应用程序,它将 AI 功能与 draw.io 图表集成在一起。该应用程序允许您通过自然语言命令和 AI 辅助可视化来创建、修改和增强图表。
+
+### 1. 代码下载
+
+代码:[https://github.com/DayuanJiang/next-ai-draw-io](https://github.com/DayuanJiang/next-ai-draw-io)
+
+```java
+git clone https://github.com/DayuanJiang/next-ai-draw-io.git
+```
+
+
+

+
+
+下载代码后,注意修改配置文件。
+
+### 2. 启动工程
+
+
+

+
+
+- 进入 package.json 点击绿色箭头执行启动。
+
+### 3. 访问项目
+
+
+

+
+
+- 访问 http://localhost:6002 这样你就可以提问来让它绘制图了。这个效果还不错。
\ No newline at end of file
diff --git a/docs/md/ai/github-models.md b/docs/md/ai/github-models.md
new file mode 100644
index 000000000..08fbfcac4
--- /dev/null
+++ b/docs/md/ai/github-models.md
@@ -0,0 +1,212 @@
+---
+title: Github Models
+lock: need
+---
+
+# Github Models(AI接口),申请使用教程
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+>沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+现在做 AI 应用开发的小伙伴越来越多了,随之而来的是对 LLM 大模型接口的使用依赖。一般的模型,可能会让程序出现幻觉。而高质量的模型,大部分是需要付费,比如 `openai/gpt-5`、`azureml-xai/grok3`、`azureml/Phi-4` 等。**那怎么办!?🤔**
+
+
+

+
+
+这些免费的不错的大模型(LLM),也都是有对应的频次和最大出入/输出token的限制。虽然不会让咱们玩命的调用测试。但在程序开发初期,对于单个功能的验证还是非常方便的。接下来,小傅哥就给大家演示下,关于 Github 免费提供的大模型如何配置使用。
+
+## 一、模型说明
+
+### 1. 官网地址
+
+官网:[https://github.com/marketplace?type=models](https://github.com/marketplace?type=models)
+
+
+

+
+
+在 Github marketplace 下提供了非常多的免费的 LLM 使用,gpt-5、gpt-4.1 都是有的,具备完整的测试功能。有时候还会新增加其他模型。
+
+### 2. 频次限制
+
+地址:[https://docs.github.com/en/github-models/use-github-models/prototyping-with-ai-models#rate-limits](https://docs.github.com/en/github-models/use-github-models/prototyping-with-ai-models#rate-limits)
+
+
+

+
+
+- 每日150次、每分钟15次,每次token,8000进、4000出。对于单个模型的验证是没问题的,不过对于复杂的 ai agent 智能体是跑不动的。所以,这块测试的话,要分开验证。之后对于全流程的,在购买 api 进行测试即可。
+- 如果小伙伴还觉得,每分钟15次,有点不够干的,那你可以弄10个账号,通过 nginx 负载下,这样基本每分钟150次,一天1500次还是很够用的。
+
+## 二、模型使用
+
+### 1. 测试工程
+
+
+

+
+
+- 地址:[https://github.com/fuzhengwei/xfg-dev-tech-github-models](https://github.com/fuzhengwei/xfg-dev-tech-github-models)
+- 说明:这里小傅哥准备了一套基于 Spring AI 的测试工程,来验证 Github LLM 的使用。你可以下载后,替换 token/apikey 即可调用验证。
+- 环境:jdk 17、maven 3.8.x、spring ai 1.1.0
+
+### 2. 对接申请
+
+#### 2.1 申请token
+
+地址:https://github.com/settings/tokens/new
+
+
+

+
+
+- 在 Tokens 下,添加 Note 描述和过期时间,完事后不用加任何其他权限,拉到最后设置点击 `Generate token` 生成令牌即可。
+- 生成后复制你的 Token,复制后关闭就看不见了。只有删除和创建新的。
+
+#### 2.2 查看curl(api)
+
+地址:[https://github.com/marketplace/models/azure-openai/gpt-4-1/playground](https://github.com/marketplace/models/azure-openai/gpt-4-1/playground)
+
+
+

+
+
+在左侧你可以选择需要使用的模型,之后进行对话验证。之后,在右侧有一个 `Use this model` 这里可以获得模型 API 请求信息。
+
+
+

+
+
+你现在单独验证 api,在整个程序测试前,要确保你的 api 是可用的。
+
+### 3. 测试验证
+
+```java
+public class ApiTest {
+
+ public static void main(String[] args) throws Exception {
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ Resource resource = new ClassPathResource("dog.png", classLoader);
+
+ OpenAiApi openAiApi = OpenAiApi.builder()
+ .baseUrl("https://models.github.ai/inference")
+ // apikey 要替换为你的,在 https://github.com/settings/tokens 创建即可。
+ .apiKey("ghp_FfiwBkVunYDQyhIwaQSccVw******")
+ .completionsPath("/chat/completions")
+ .embeddingsPath("/embeddings")
+ .build();
+
+ ChatModel chatModel = OpenAiChatModel.builder()
+ .openAiApi(openAiApi)
+ .defaultOptions(OpenAiChatOptions.builder()
+ .model("openai/gpt-4.1")
+ .build())
+ .build();
+
+ // 模型测试,没问题可以识别图片
+ ChatResponse response = chatModel.call(new Prompt(
+ UserMessage.builder()
+ .text("请描述这张图片的主要内容,并说明图中物品的可能用途。")
+ .media(Media.builder()
+ .mimeType(MimeType.valueOf(MimeTypeUtils.IMAGE_PNG_VALUE))
+ .data(resource)
+ .build())
+ .build()));
+
+ System.out.println("测试结果" + JSON.toJSONString(response));
+
+ }
+
+}
+```
+
+```java
+测试结果{"metadata":{"empty":false,"id":"chatcmpl-CzHhVYaXPv3HjJ3oKE4YKPamPQRQB","model":"gpt-4.1-2025-04-14","rateLimit":{"requestsLimit":1000,"requestsRemaining":996,"tokensLimit":1000000,"tokensRemaining":980423},"usage":{"completionTokens":0,"nativeUsage":{},"promptTokens":0,"totalTokens":0}},"result":{"metadata":{"contentFilters":[],"empty":true,"finishReason":"STOP"},"output":{"media":[],"messageType":"ASSISTANT","metadata":{"role":"ASSISTANT","messageType":"ASSISTANT","finishReason":"STOP","refusal":"","index":0,"annotations":[{"$ref":"$.metadata.rateLimit.usage.nativeUsage"}],"id":"chatcmpl-CzHhVYaXPv3HjJ3oKE4YKPamPQRQB"},"text":"这张图片的主要内容是一只卡通风格的小狗。小狗是棕色的,脸部较大,眼睛圆而突出,表情看起来有些疑惑或惊讶,嘴巴微微张开,尾巴翘起。整个形象简洁可爱,线条和颜色运用都比较简单。\n\n**物品的可能用途:**\n1. **图标或表情包**:这种卡通形象常用于聊天软件中的表情包或头像,传达惊讶、困惑等情感。\n2. **儿童绘本或动画角色**:可以作为儿童图书或动画中的形象角色,吸引小朋友的注意力。\n3. **宠物相关宣传设计**:可用于宠物店、宠物产品的宣传海报、包装或logo,增加亲和力。\n4. **教育材料**:在教学课件或教育类APP中,用于引导、示范或者增加趣味性。\n\n整体而言,这是一种很常见且可爱的卡通动物形象,主要用于与宠物、儿童或者情感表达相关的领域。","toolCalls":[]}},"results":[{"$ref":"$.metadata.rateLimit.usage.nativeUsage.result"}]}
+```
+
+- 这是一段基于 Spring AI 配置 github llm api的使用方式,尤其注意,baseUrl、apiKey、completionsPath、embeddingsPath、openai/gpt-4.1,这些配置信息和你直接使用管的 gpt 配置是有差异的。
+- 本案例,是识别图片的用途,你也可以验证其他功能。这样的项目在小傅哥的 [《AI Agent 智能体》](https://bugstack.cn/md/project/ai-knowledge/ai-knowledge.html) 都有讲解。
+
+## 三、使用拓展
+
+### 1. 部署脚本
+
+
+

+
+
+- 这是一套 nginx 转发脚本。你需要有自己的域名(各个云服务器厂商都可以购买)以及申请 ssl 后才可以配置使用。
+- ssl 可以从 [httpok](https://bugstack.cn/md/road-map/ssl-httpsok.html) 申请使用。地址:[https://bugstack.cn/md/road-map/ssl-httpsok.html](https://bugstack.cn/md/road-map/ssl-httpsok.html)
+
+### 2. 转发说明(nginx)
+
+如果你希望在使用的过程中,让模型是以你之前使用 openai 一样的方式,那么可以配置一套 Nginx 转发;
+
+```java
+server {
+ listen 80;
+ listen [::]:80;
+ server_name 需要配置域名(api.xxx.cn);
+
+ rewrite ^(.*) https://$server_name$1 permanent;
+
+}
+
+server {
+ listen 443 ssl;
+ server_name 需要配置域名(api.xxx.cn);
+
+ ssl_certificate /etc/nginx/ssl/_.itedus.cn.pem;
+ ssl_certificate_key /etc/nginx/ssl/_.itedus.cn.key;
+
+ ssl_session_cache shared:SSL:1m;
+ ssl_session_timeout 5m;
+
+ ssl_ciphers HIGH:!aNULL:!MD5;
+ ssl_prefer_server_ciphers on;
+
+ location / {
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header Host $http_host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ }
+
+ location /v1/ {
+ # 去掉路径中的/v1前缀
+ rewrite ^/v1/(.*) /$1 break;
+ proxy_pass https://models.inference.ai.azure.com;
+ proxy_http_version 1.1;
+ chunked_transfer_encoding off;
+ proxy_buffering off;
+ proxy_cache off;
+ proxy_set_header X-Forwarded-For $remote_addr;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+}
+```
+
+- nginx 的方式是,当访问有 v1/ 路径的时候,在进行路径重写 `rewrite ^/v1/(.*) /$1 break;` 之后转发到 `https://models.inference.ai.azure.com` - `这个也是 gpt 里的一种模型对接地址`
+- 转发后,你就可以直接使用模型服务了。
+
+### 3. curl 验证
+
+
+

+
+
+- 配置转发后,就可以使用 curl_nginx.sh 脚本进行验证了。
+
+好啦,本文到这,你就可以初步使用免费的 LLM 进行一些一些初始功能验证。2025年,ai agent 开始崛起,2026年,必然是 ai agent 爆发的时候。一定要多学习这类实战项目,企业里 spring 是大盘,所以结合 spring ai 做的项目也必然会非常多。
+
diff --git a/docs/md/ai/google-adk.md b/docs/md/ai/google-adk.md
new file mode 100644
index 000000000..805cf6e95
--- /dev/null
+++ b/docs/md/ai/google-adk.md
@@ -0,0 +1,344 @@
+---
+title: google adk
+lock: need
+---
+
+# Google Agent ADK,20分钟,帮你搭建一个简单智能体
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+💐 从22年至今,小傅哥已经带着大家做了5个AI类项目,包括;`(22年)问答助手`、`(23年)OpenAI应用(含支付、敏感词过滤)`、`(24年)AI 代码自动评审`、`(25年)Ai Agent 智能体`、`(25年)Ai MCP Gateway 网关`。
+
+这些项目也都是结合这,AI 这一年最新的技术动向和应用方向,而做的设计和落地。所以,每次小傅哥都给大家讲了,接下来 AI 将影响的一些场景,也都陆续的发生了。就像,24年11月发布 MCP 协议后,我给大家说,所有互联网企业都将大量的落地 MCP 服务,并开始 Ai Agent 智能体实现(别看市面有 dify、扣子,各个且用还是要做自己的业务智能体)。
+
+随后,25年年初,小傅哥就带着大家开始了 RAG、MCP、Ai Agent 智能体的开发,并告诉大家,以后 Ai Agent 智能体也会出标准的框架,让开发更加容易。这不,**谷歌的 ADK 就来了**。并且这哥们👬🏻还定义A2A协议。这会让不是那么大型的互联网公司,也会具备 Ai Agent 智能体开发的能力。
+
+接下来的几年,所有的业务项目,都会以 Ai Agent 智能体翻一遍,程序员新增的岗位和工作量仍然会很多。因为在咱们这,你做的越快,你就得做的越多!
+
+>接下来,小傅哥就带着大家做一下 Google ADK 搭建 AI Agent。如果你感兴趣 AI 类项目,还可以在文末获取全部实战项目源码,深度积累此类技术内容。**文末有Google ADK 运行效果,交互式对话智能体,对 ELK 进行巡检分析。**
+
+## 一、官网资料
+
+- 官网:[https://google.github.io/adk-docs/](https://google.github.io/adk-docs/)
+- 搭建:[https://google.github.io/adk-docs/get-started/](https://google.github.io/adk-docs/get-started/)
+
+
+

+
+
+- ADK 以轻便化构建 Ai Agent 智能体,解决智能体开发的复杂流程而设计。目前支持 Python、Java、Go 3种语言对应的技术框架。
+- 整个文档完整的描述了,智能体的创建和运行、工具的调用(tools、function、mcp)、可观测性以及 A2A 协议等。
+- Agent Development Kit (ADK) is designed to empower developers to quickly build, manage, evaluate and deploy AI-powered agents. These quick start guides get you set up and running a simple agent in less than **20 minutes**.
+
+## 二、工程实践
+
+### 1. 前置说明
+
+本次的 Ai Agent 实践,是以 Google ADK 框架为基础,配和 Github [system-prompts-and-models-of-ai-tools](https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools) 开源提示词项目中的 claude-code-system-prompt 作为必要描述。来实验,ELK 系统日志智能分析场景。
+
+- API Key:[https://ai.google.dev/gemini-api](https://ai.google.dev/gemini-api) 需要申请开发 API 秘钥,是免费的。
+- Docker 环境,本项目部署了一套 ELK 日志服务,基于 Docker 部署,之后对 ELK 模拟写入日志,让 Ai Agent 智能体进行分析。`如果暂时配置不了,可以在测试的时候去掉这部分 mcp 服务`
+- `JDK 17+`、`Maven 3.8.x`
+
+### 2. 工程说明
+
+
+

+
+
+- 工程地址:[https://github.com/fuzhengwei/xfg-dev-tech-google-adk](https://github.com/fuzhengwei/xfg-dev-tech-google-adk)
+- 这是一套引入了 Google ADK 0.1.0 版本的 Agent 最基础智能体测试。如果需要扩展,还要额外增加很多东西,可以参考 [《Ai Agent 智能体项目》](https://bugstack.cn/md/project/ai-knowledge/ai-knowledge.html)
+
+#### 2.1 YML 配置
+
+```java
+server:
+ port: 8901
+
+# 可申请API秘钥;https://ai.google.dev/gemini-api
+google:
+ api:
+ base-url: https://generativelanguage.googleapis.com
+ key: AIzaSyDF6JnvFx7xWEsARS*******可以自己申请免费的
+ cloud:
+ project: xfg-google-adk
+
+logging:
+ level:
+ root: info
+ config: classpath:logback-spring.xml
+```
+
+- 在 `application-dev.yml` 修改你的参数配置,配置你的 Google api key
+
+#### 2.2 ADK 单测
+
+```java
+import com.google.adk.agents.LlmAgent;
+import com.google.adk.events.Event;
+import com.google.adk.models.Gemini;
+import com.google.adk.runner.InMemoryRunner;
+import com.google.adk.sessions.Session;
+import com.google.genai.Client;
+import com.google.genai.types.Content;
+import com.google.genai.types.HttpOptions;
+import com.google.genai.types.Part;
+import io.reactivex.rxjava3.core.Flowable;
+
+public class ApiTest {
+
+ /**
+ * 可申请免费测试api
+ * https://ai.google.dev/gemini-api/docs/quickstart?hl=zh-cn#apps-script
+ */
+ public static void main(String[] args) {
+ LlmAgent agent = LlmAgent.builder()
+ .name("test")
+ .description("test agent help user do work")
+ .model(Gemini.builder()
+ .apiClient(Client.builder()
+ .apiKey("AIzaSyDF6JnvFx7xWEsARSGosNmvTU3ZoCwo-mc")
+ .httpOptions(HttpOptions
+ .builder()
+ .baseUrl("https://generativelanguage.googleapis.com")
+ .timeout(500000)
+ .build())
+ .build())
+ .modelName("gemini-2.0-flash")
+ .build())
+ .build();
+
+ InMemoryRunner runner = new InMemoryRunner(agent);
+
+ Session session = runner
+ .sessionService()
+ .createSession("test", "xiaofuge")
+ .blockingGet();
+
+ Flowable events = runner.runAsync("xiaofuge", session.id(), Content.fromParts(Part.fromText("hi agent can you help me")));
+
+ System.out.print("\nAgent > ");
+ events.blockingForEach(event -> System.out.println(event.stringifyContent()));
+
+ }
+
+}
+```
+
+```java
+Agent > Hi there! Yes, I'm here to help. To best assist you, could you tell me what you need help with? The more information you give me, the better I can understand your request and provide a useful response.
+```
+
+- 这是一套最基础的 Ai Agent 智能体 ADK 的测试使用代码。其实它的配置和调用与 Spring AI 框架是有类似之处的,基本上这类框架也都是这样的使用模式。
+- LlmAgent 提供了一整套构建智能体的方式,可以设置客户端(Gemini),并设置相关的 baseUrl、apiKey 参数,以及模型和超时时间等。
+- InMemoryRunner 的用途是把 Agent 放入一个记忆执行里,让一整个 Session 会话下的执行都被记录下,这样才能记录上下文。
+- 之后就是放到响应框架进行之后和拿到最后结果啦。
+
+#### 2.3 Agent 智能体测试
+
+```java
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class AutoAgentTest {
+
+ @Value("${google.api.base-url}")
+ private String baseUrl;
+
+ @Value("${google.api.key}")
+ private String apiKey;
+
+ private static final String USER_ID = "xiaofuge";
+ private static final String NAME = "multi_tool_agent";
+
+ public static BaseAgent agent;
+
+ @Before
+ public void init() {
+ List mcpTools = new ArrayList<>();
+ mcpTools.addAll(mcp_elk());
+ mcpTools.addAll(mcp_filesystem());
+
+ agent = LlmAgent.builder()
+ .name(NAME)
+ .model(Gemini.builder()
+ .apiClient(Client.builder()
+ .apiKey(apiKey)
+ .httpOptions(HttpOptions
+ .builder()
+ .baseUrl(baseUrl)
+ .timeout(500000)
+ .build())
+ .build())
+ .modelName("gemini-2.0-flash")
+ .build())
+ .description("You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.")
+ .instruction(
+ """
+ You are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.
+
+ 可以在这里复制全部提示词;https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools/blob/main/Claude%20Code/claude-code-system-prompt.txt
+ """)
+ .tools(mcpTools)
+ .build();
+ }
+
+ /**
+ * - 需要配置后,才能在单测控制台输入内容
+ * IntelliJ IDEA Help -> Edit Custom VM Options -> -Deditable.java.test.console=true
+ *
+ * - ai.google.dev/api
+ */
+ @Test
+ public void test_agent() {
+ InMemoryRunner runner = new InMemoryRunner(agent);
+
+ Session session =
+ runner
+ .sessionService()
+ .createSession(NAME, USER_ID)
+ .blockingGet();
+
+ try (Scanner scanner = new Scanner(System.in, StandardCharsets.UTF_8)) {
+ while (true) {
+ System.out.print("\nYou > ");
+ String userInput = scanner.nextLine();
+
+ if ("quit".equalsIgnoreCase(userInput)) {
+ break;
+ }
+
+ Content userMsg = Content.fromParts(Part.fromText(userInput));
+ Flowable events = runner.runAsync(USER_ID, session.id(), userMsg);
+
+ System.out.print("\nAgent > ");
+ events.blockingForEach(event -> System.out.println(event.stringifyContent()));
+ }
+ }
+
+ }
+
+ private List mcp_elk() {
+ Map env = new HashMap<>();
+ env.put("ES_HOST", "http://127.0.0.1:9200");
+ env.put("ES_API_KEY", "none");
+
+ ServerParameters mcp_elk = ServerParameters.builder("npx")
+ .args(List.of(
+ "-y",
+ "@awesome-ai/elasticsearch-mcp"
+ ))
+ .env(env)
+ .build();
+
+ CompletableFuture futureResult =
+ McpToolset.fromServer(mcp_elk, JsonBaseModel.getMapper());
+
+ McpToolset.McpToolsAndToolsetResult result = futureResult.join();
+
+ return result.getTools();
+ }
+
+ private List mcp_filesystem() {
+ ServerParameters mcp_filesystem = ServerParameters.builder("npx")
+ .args(List.of(
+ "-y",
+ "@modelcontextprotocol/server-filesystem",
+ "/Users/fuzhengwei/Desktop"
+ ))
+ .build();
+
+ CompletableFuture futureResult =
+ McpToolset.fromServer(mcp_filesystem, JsonBaseModel.getMapper());
+
+ McpToolset.McpToolsAndToolsetResult result = futureResult.join();
+
+ return result.getTools();
+ }
+
+}
+```
+
+- AutoAgentTest 智能体,配置了两个 mcp,mcp_elk、mcp_filesystem 服务。其实 AI Agent 智能体,都少不了 MCP 服务的加持,这样才能让这个大脑有手脚可以行动起来。
+- init 初始化阶段,instruction 配置了对应的智能体提示词,这部分很重要,有点像智能体的神经。[https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools/blob/main/Claude%20Code/claude-code-system-prompt.txt](https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools/blob/main/Claude%20Code/claude-code-system-prompt.txt) - 可以选择这里的提示词配置到智能体进行测试。
+- 这部分也可以运行测试,之后会你可以进行提问。注意,如果你没有配置 elk,那么可以删掉 `mcpTools.addAll(mcp_elk());` 代码。
+- mcp_filesystem() 配置了,`/Users/fuzhengwei/Desktop` 你需要修改为你的本地的有权限访问的地址。
+
+#### 2.4 Agent 智能体服务
+
+有了前面的案例测试基础,就可以把服务配置成对应的接口,以及开发个简单的页面进行对接验证了。
+
+##### 2.4.1 服务接口
+
+```java
+@Slf4j
+@RestController
+@RequestMapping("/trigger")
+@CrossOrigin(origins = "*")
+public class AgentController {
+
+ private final AgentService agentService;
+
+ public AgentController(AgentService agentService) {
+ this.agentService = agentService;
+ }
+
+ @PostMapping(path = "/session", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+ public CreateSessionResponse createSession(@RequestBody CreateSessionRequest req) {
+ String sessionId = agentService.createOrGetSession(req.getUserId());
+ log.info("创建会话ID:{}", sessionId);
+ return new CreateSessionResponse(sessionId);
+ }
+
+ @PostMapping(path = "/chat", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
+ public ChatResponse chat(@RequestBody ChatRequest req) {
+ String sessionId = req.getSessionId();
+ if (sessionId == null || sessionId.isEmpty()) {
+ sessionId = agentService.createOrGetSession(req.getUserId());
+ }
+ log.info("使用会话ID:{}", sessionId);
+ List outputs = agentService.chat(req.getUserId(), sessionId, req.getMessage());
+ return new ChatResponse(sessionId, String.join("\n", outputs));
+ }
+}
+```
+
+- 这里就是把单测的服务,包装成接口。详细的部分可以直接看工程代码。
+
+##### 2.4.2 页面对接
+
+
+

+
+
+- 把服务端的接口对接到页面。
+
+## 三、功能测试
+
+### 1. 部署 elk 日志服务
+
+
+

+
+
+- 整个 Ai Agent 案例,配置了 ELK 作为日志分析的基础,所以最好配置下。
+- 这里也有云服务器的部署操作,也可以参考教程来部署。教程:[https://bugstack.cn/md/road-map/docker-install.html](https://bugstack.cn/md/road-map/docker-install.html)
+- 注意配置完成后,要执行 `elk-blacklist-data.sh` 模拟的写入进去一些日志,这样才能用于分析使用。
+
+### 2. 启动服务访问页面
+
+
+

+
+
+
+

+
+
+- 以上演示了,使用 Ai Agent 进行 ELK 日志分析,通过对话可以看到,最终我们可以拿到系统的日志数据。
+- 你还可以尝试配置其他的 MCP 服务,之后验证各种场景功能。担任如果你希望更细化的做 Ai Agent,还是要看下 [《Ai Agent 智能体项目》](https://bugstack.cn/md/project/ai-knowledge/ai-knowledge.html) 这样可以更细腻的做出这样的系统,以及对应的可视化编排操作。
diff --git a/docs/md/ai/openclaw.md b/docs/md/ai/openclaw.md
new file mode 100644
index 000000000..85fc8b974
--- /dev/null
+++ b/docs/md/ai/openclaw.md
@@ -0,0 +1,347 @@
+---
+title: OpenClaw
+lock: need
+---
+
+# 🦞OpenClaw,你是不还没有安装上?这个中文版,可以试试!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+
+
+🦞OpenClaw,大龙虾,看着挺复杂,其实一点也不简单。都火成这德行了,但也还是有很多伙伴在安装这一块就挂壁了。想体验呀,咋整?
+
+
+

+
+
+**怎么理解 OpenClaw 🦞**
+
+OpenClaw 是一款开源 AI 助手,不到2个月时间 [Github](https://github.com/openclaw/openclaw) 点赞量已经超过 170k Star ⭐️,它的出现为我们提供了更俏的思路使用 LLM 大模型。从24年底,定义了 MCP 协议,25年爆发了 Ai Agent 的落地,随后出现 [GLM AutoPhone](https://bugstack.cn/md/algorithm/model/autoglm-phone-agent.html) 控制手机,现在又来了大龙虾 OpenClaw 控制电脑。
+
+你可以把 OpenClaw 理解为一个从你到电脑设备,需要敲键盘的过程,**设计了一个中间网关层**。你的指令可以通过各类 APP/Web 对话的方式,下发给 OpenClaw 完成电脑的一些列操作。如;`帮我安装个Docker`、`在Docker中部署下Redis`、`告诉我现在运行状况和剩余可用资源`等等操作。
+
+
+

+
+
+综上,这让我们离`数字员工`又近了一步,后续可以拷贝个人工作技能到 skills 编写,如一些高频重复的场景,对现存系统运行的巡检,对运营类数据的排查,对活动经营情况的分析等。都可以被制作为 skills 让 OpenClaw 使用。
+
+接下来,小傅哥就带着大家安装下 OpenClaw + 飞书配置,这套组合还是蛮好用的。
+
+## 一、安装介绍
+
+### 1. 软件
+
+官网:[https://openclaw.ai/](https://openclaw.ai/)
+源码:[https://github.com/openclaw/openclaw](https://github.com/openclaw/openclaw)
+
+中文社区:
+- [https://clawd.org.cn/](https://clawd.org.cn/) - `新人伙伴比较推荐实用这个,全是中文提示,安装起来更友好。`
+- [https://openclaw.qt.cool/](https://openclaw.qt.cool/)
+- [https://1panel.cn](https://1panel.cn/)
+
+> 除了官网的 OpenClaw 资源,还有不少中文社区,对 OpenClaw 做了镜像和汉化的处理。安装方式也都一样,小白伙伴也可以体验下,全是中文对小白更友好。另外,这部分汉化是基于 openclaw 源码来做的,如果你有一些预安装诉求,以及汉化或者有自身公司想做些扩展也可以基于源码 fork 来改造。
+
+### 2. 环境
+
+- nodejs 22+ (不少安装包里会提供检测和安装)[https://nodejs.org/zh-cn/download](https://nodejs.org/zh-cn/download)
+- 2c4g 云服务器/本地电脑 [https://618.gaga.plus](https://618.gaga.plus) - `推荐买1年送3个月的` + Ubuntu 24 系统。
+- 环境初始化脚本 [https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install](https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install) - `执行 sudo ./openclaw.sh 会帮你在云服务器安装 nodejs 22+`
+- 镜像资源 `--registry https://registry.npmmirror.com` 如使用 `sudo npm install -g openclaw@latest --registry https://registry.npmmirror.com`
+
+### 3. 资源
+
+- GLM ApiKey:[https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys](https://www.bigmodel.cn/glm-coding?ic=KFLKGANUMO) - 可以换账号新注册下,获取2000万token,可以提前申请好,复制到自己的文档里(你可能会失败好多次,反复使用)。
+- 飞书:[https://open.feishu.cn/app](https://open.feishu.cn/app) - `企业自建应用(下载个桌面版更好用)`,先发布一次(拿到App ID、App Secret)让 OpenClaw 对接上,之后再飞书机器人配置上**事件配置**,之后在发布一次应用。这样就建立起链接了,下文教程有详细处理过程。
+
+## 二、部署介绍
+
+### 1. 部署流程
+
+OpenClaw 的安装过程中,会涉及一些列命令的使用,我把这些放到一个图里,方便大家理解;
+
+
+

+
+
+- 首先,关于安装可以使用 curl 向导式一次安装,也可以使用 npm 安装软件后,在启动配置向导。在 [xfg-dev-tech-docker-install](https://gitcode.com/Yao__Shun__Yu/xfg-dev-tech-docker-install) 一键安装脚本中,提供了 `sudo ./openclaw.sh` 安装脚本,附带的会帮助你完成 nodejs 22+ 的检测和安装,以及飞书组件的提示,会简化一些你的操作。
+- 然后,在执行 `sudo openclaw onboard` 运行向导后,会告诉你这个软件的安全提示,你可以通过`←` `→`选择 yes 安装即可。再往后,会进行模型的选择,这里支持好多模型,本案例使用的 [glm apikey](https://www.bigmodel.cn/glm-coding?ic=KFLKGANUMO)
+- 之后,一系列选择后(不分可以跳过),包括通信渠道(飞书)也可以先跳过,即可完成安装。安装后可以通过 `sudo openclaw gateway` 启动网关。这样 openclaw 也就正式启动起来了。
+- 再后,安装飞书插件 `sudo openclaw plugins install @m1heng-clawd/feishu --registry https://registry.npmmirror.com` 这东西的目的是让 openclaw 可以对接上飞书。
+
+### 2. 常用命令
+
+| 命令 | 作用 | 备注 / 参数 |
+| :----------------------------------------------------------- | :---------------------- | :-------------------------------------------- |
+| `npm install -g openclaw@latest --registry https://registry.npmmirror.com` | 安装 openclaw | |
+| `openclaw onboard` | 安装引导 | |
+| `openclaw status` | 查看 Gateway 状态 | 检查网关是否可达及运行状况 |
+| `openclaw health` | 健康检查 | 主要检测 core 运行和依赖情况 |
+| `openclaw doctor` | 综合诊断与修复建议 | 可配合 `--yes` / `--non-interactive` 自动执行 |
+| `openclaw configure` | 交互式配置向导 | 用于设置模型、通道、凭据等 |
+| `openclaw config get ` | 获取配置值 | 指定路径提取配置 |
+| `openclaw config set ` | 设置配置项 | 支持 JSON5/raw 文本 |
+| `openclaw config unset ` | 清除配置项 | 移除单个键值 |
+| `openclaw channels list` | 列出已登录通道 | 可观察 WhatsApp/Telegram 等登录状态 |
+| `openclaw channels login` | 登录新的通道账号 | 用于扫描/授权链接 |
+| `openclaw skills list` | 列出技能 | 查看可用/已安装的技能 |
+| `openclaw skills info ` | 技能详情 | 观察某项技能参数或版本 |
+| `openclaw plugins list` | 列出插件 | 查看已安装插件 |
+| `openclaw plugins install ` | 安装插件 | 例如 @openclaw/voice-call |
+| `openclaw plugins enable ` | 启用插件 | 之后通常需要重启网关 |
+| `openclaw logs --follow` | 显示日志 | `--json / --plain / --limit` 等组合使用 |
+| `openclaw gateway` | 启动 Gateway 网关 | |
+| `openclaw gateway install` | 安装系统服务 | 根据平台注册 Gateway 守护进程 |
+| `openclaw gateway start` | 启动 Gateway 网关 | 系统服务模式下启动 |
+| `openclaw gateway stop` | 停止 Gateway 网关 | 同上 |
+| `openclaw gateway restart` | 重启 Gateway 网关 | 适合配置变更后应用 |
+| `openclaw gateway status` | 网关系统服务状态 | 不同于 `openclaw status`,会探测服务单元 |
+| `openclaw uninstall` | 卸载 Gateway 服务及数据 | 官方推荐使用 |
+| `openclaw uninstall --all --yes --non-interactive` | 全自动卸载 | 包含状态、workspace、插件等 |
+| `openclaw uninstall --state` | 删除状态文件 | 不删除 workspace/CLI |
+| `openclaw uninstall --workspace` | 删除工作区 | 移除 agent/workspace 文件 |
+| `openclaw uninstall --service` | 仅卸载服务 | 不删除数据 |
+| `openclaw uninstall --dry-run` | 模拟卸载 | 显示结果但不实际执行 |
+
+## 三、部署操作
+
+### 1. 创建飞书
+
+
+

+
+
+#### 1.1 创建应用
+
+
+

+
+
+**批量导入,权限列表**
+
+```java
+{
+ "scopes": {
+ "tenant": [
+ "aily:file:read",
+ "aily:file:write",
+ "application:application.app_message_stats.overview:readonly",
+ "application:application:self_manage",
+ "application:bot.menu:write",
+ "cardkit:card:write",
+ "contact:contact.base:readonly",
+ "contact:user.employee_id:readonly",
+ "corehr:file:download",
+ "docs:document.content:read",
+ "event:ip_list",
+ "im:chat",
+ "im:chat.access_event.bot_p2p_chat:read",
+ "im:chat.members:bot_access",
+ "im:message",
+ "im:message.group_at_msg:readonly",
+ "im:message.group_msg",
+ "im:message.p2p_msg:readonly",
+ "im:message:readonly",
+ "im:message:send_as_bot",
+ "im:resource",
+ "sheets:spreadsheet",
+ "wiki:wiki:readonly"
+ ],
+ "user": [
+ "aily:file:read",
+ "aily:file:write",
+ "im:chat.access_event.bot_p2p_chat:read"
+ ]
+ }
+}
+```
+
+- 创建应用后,你可以获得到应用凭证(appid、appsecret)这个信息是用于 openclaw 对接使用的。
+
+#### 1.2 发布应用
+
+
+

+
+
+- 创建应用后,点击发布应用。这样你创建的应用才是有效的。
+
+#### 1.3 事件配置(机器人)- openclaw 配置之前
+
+
+

+
+
+- 飞书应用创建后,还需要配置机器人。但这会配置也是失败的,因为 openclaw 还没有关联上来。
+- 这里需要在 openclaw 配置飞书通信渠道,之后重启 openclaw 网关,这里点击保存并配置权限(`接收消息`、`通讯录基本信息`),点击确认开通权限。在发布一个新应用,再和飞书机器人对话就可以使用了。
+
+### 2. 安装应用(openclaw)
+
+#### 2.1 执行脚本(含带引导)
+
+```java
+curl -fsSL https://openclaw.ai/install.sh | sudo bash -s -- --registry https://registry.npmmirror.com
+```
+
+- openclaw 官网版
+
+```java
+curl -fsSL https://clawd.org.cn/install.sh | sudo bash -s -- --registry https://registry.npmmirror.com
+```
+
+- openclaw-cn 中文社区版,适合新人伙伴使用。熟练后,使用官网版即可。他们操作的方式是一样的。
+- 安装后的使用差异,一个是 `sudo openclaw config` 一个是 `sudo openclaw-cn config`
+
+#### 2.2 引导配置
+
+```java
+sudo npm install -g openclaw@latest --registry https://registry.npmmirror.com
+sudo npm install -g openclaw-cn@latest --registry https://registry.npmmirror.com
+
+# 运行向导
+sudo openclaw onboard
+sudo openclaw-cn onboard
+```
+
+- 注意 `-cn` 为中文版,如果你不是执行的 curl 一键安装版本,是采用了 安装 `openclaw@latest` 程序,那么需要自己执行引导配置。
+
+##### 2.2.1 安全提示
+
+
+

+
+
+##### 2.2.2 配置方式
+
+
+

+
+
+##### 2.2.3 模型配置
+
+
+

+
+
+
+

+
+
+##### 2.2.4 通信通道(飞书)
+
+**选择渠道**
+
+
+

+
+
+**安装插件**
+
+
+

+
+
+- 如果未安装过飞书插件,可以选择安装,也可以跳过后,后续在安装。
+- 单独安装插件 `sudo openclaw-cn plugins install @m1heng-clawd/feishu`
+
+**配置凭证**
+
+
+

+
+
+- 把你的应用凭证,配置到 openclaw 应用程序里。之后继续回车。
+- 注意,一会要会到飞书页面,配置事件关联到 openclaw 上。
+
+##### 2.2.5 技能配置
+
+
+

+
+
+##### 2.2.6 部署完成
+
+
+

+
+
+
+

+
+
+```java
+ubuntu@VM-0-2-ubuntu:~$ sudo openclaw-cn gateway
+```
+
+- 配置完成后,要启动下网关。能看到以上信息,表示运行没问题了。
+- 现在要到 3.1 接着配置飞书。
+
+### 3. 配置飞书
+
+#### 3.1 事件配置(机器人)
+
+
+

+
+
+- 注意,完成 2.2.6 步骤后,再回来操作。
+- openclaw 关联上飞书以后,点击**添加事件**,以及添加上相关权限。完成后,会提示你发布一个新应用。
+
+#### 3.2 发布应用
+
+
+

+
+
+- 点击发布应用,版本号 +1
+
+#### 3.3 打开应用
+
+
+

+
+
+- 这会对话飞书,会提示执行一个命令,类似于验证签名。
+- 命令 `sudo openclaw-cn pairing approve feishu KF2BRAXW`
+
+#### 3.4 验证前面(+重启网关)
+
+
+

+
+
+```java
+ubuntu@VM-0-2-ubuntu:~$ sudo openclaw-cn pairing approve feishu KF2BRAXW
+
+🦞 Clawdbot-CN 0.1.4 (b161cdd) — 唯一不能在你的私信上训练的机器人Mark。
+
+Approved feishu sender ou_762197513d3d1cb907f4c0d2ed3c3b2b.
+ubuntu@VM-0-2-ubuntu:~$ sudo openclaw-cn gateway
+
+🦞 Clawdbot-CN 0.1.4 (b161cdd) — 我不是魔法——我只是在重试和应对策略上极其执着。
+
+06:39:38 [canvas] host mounted at http://127.0.0.1:18789/__clawdbot__/canvas/ (root /root/clawd/canvas)
+06:39:38 [heartbeat] started
+06:39:38 [gateway] agent model: zai/glm-4.7
+06:39:38 [gateway] listening on ws://127.0.0.1:18789 (PID 20687)
+06:39:38 [gateway] listening on ws://[::1]:18789
+06:39:38 [gateway] log file: /tmp/clawdbot/clawdbot-2026-02-08.log
+06:39:38 [browser/server] Browser control listening on http://127.0.0.1:18791/
+06:39:38 [feishu] [default] starting Feishu provider (你的应用名称)
+06:39:38 [info]: [ 'event-dispatch is ready' ]
+```
+
+- 如上方式,执行你的签名验证,并重启网关。
+- 到这,就配置完成了,可以使用了。
+
+## 四、使用体验
+
+
+

+
+
+现在你可以发挥想象的让 openclaw 帮你做事情了,很多运维的活,他也都可以完成。美滋滋!
diff --git a/docs/md/ai/qclaw.md b/docs/md/ai/qclaw.md
new file mode 100644
index 000000000..5d5bf04dd
--- /dev/null
+++ b/docs/md/ai/qclaw.md
@@ -0,0 +1,242 @@
+---
+title: QClaw
+lock: need
+---
+
+# 🦞站起来蹬,每天2亿token,我已经会用 OpenClaw 了!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+深度体验后,**云服务器 + OpenClaw 的工作属性,基本等于零,白费蜡🕯!** 所以,于3月初,购入 Mac Mini(丐版16G)。部署 `OpenClaw`(+`QClaw`)+ `编程环境`(`jdk`、`maven`...) + `Docker`,`配合 Nas 环境做存储` + `Mac Pro`(随行控制设备)+ UU 远程(没事看看它)等,我才体验到**它能给我干活啦**!😄
+
+
+

+
+
+❤ 心得体会!
+
+最早部署的是 [OpenClaw](https://openclaw.ai/)(这哥们也原生就支持中文啦)+ 飞书,部署起来也很简单。但因为使用的都是自己的 Token,有点舍不得站起来蹬 🚴🏻,感觉每一句话都在烧钱💰。相比较下 OpenClaw 同样一个事的消耗程度,是其他 AI IDE(Trae.ai)的上百倍,那直接用其他的不也可以吗!?🤔
+
+但不深度玩,不干它几亿 Token,就不能体验到花钱的快乐!
+
+好在呀,好在 [**QClaw**](https://qclaw.qq.com/) 每天一个登录的账号,赠送 4000 万 Token。换5个微信(还得家里人多),就是2亿 Token!就算干山崎大队,也是tm有富余的呀!
+
+
+

+
+
+几十亿 Token 下去后,我的体验是;它能干活,能想一个你的员工一样,控制这台电脑干活。包括,可以按照需求写代码,完成编译、构建、部署,打开浏览器验证功能逻辑,对于错误的编码可以继续完善。并且你可以随时随地的通过手机/Pad,通过`微信`/`企微`/`飞书`等方式,与它交流。
+
+不过,它也不是那么省心的。三千六百颗手榴弹,给老李能干山崎大队,给咱也就能炸个鱼塘。所以,OpenClaw 你要想让它准确的给咱干活,就像写出来的代码,不仅它能看懂,我也得能认识呀。
+
+那么,就需要上技能 Skills,这也是我在深度体验 OpenClaw 的最大感受,也是最先干的一个活。先拿10亿 Token,写2个 Skills 之后再说(先把🦵🏻腿接上)。—— 把你工作的方式,训练成技能,让 AI 懂你!
+
+
+

+
+
+> 接下来,小傅哥就分享下,用 OpenClaw(QClaw)做的一些事。
+
+## 一、产品上线(skills)
+
+发布到了官网(clawhub):[https://clawhub.ai/u/fuzhengwei](https://clawhub.ai/u/fuzhengwei)
+
+
+

+
+
+[**xfg-zsxq-skills**](https://clawhub.ai/fuzhengwei/xfg-zsxq-skills) 一款星球社群运营服务的技能,便于所有加入社群的龙虾🦞主,可以让龙虾自主看帖、回帖,根据自己工作信息发帖/文章,以此方式龙虾形成一个自己的社群,吸收 OpenClaw 使用经验。这是一个自我成长的过程。
+
+[**Xfg-ddd-skills**](https://clawhub.ai/fuzhengwei/xfg-ddd-skills) 一款 DDD 架构(六边形)指导编码的技能,因为在实际使用 AI 编码中,如果不加限制,他可能每次实现的功能逻辑,工程结构、分包方式、实现过程,都有非常大的差异。这会导致我们在拿到这份代码后,后续迭代也会非常吃力。所以,设计此技能,按照通用的 DDD 架构(六边形),限定 AI 编码方式。此技能初上线,已经用户体用。
+
+## 二、安装技能
+
+
+

+
+
+| 用途 | 地址 |
+| -------- | --------------------------------------------- |
+| 星球社群 | https://github.com/fuzhengwei/xfg-zsxq-skills |
+| 编码架构 | https://github.com/fuzhengwei/xfg-ddd-skills |
+
+OpenClaw、QClaw、OpenCode等,你都可以直接把技能**连接**告诉它,它可以帮你直接安装。如果不能直接安装也可以下载安装包,本地到底即可。
+
+## 三、运行效果(zsxq-skills)
+
+### 1. 主动发帖
+
+
+

+
+
+- 当你部署 zsxq-skills 技能后开始时,他会询问你,要对哪个星球地址进行操作,以及对应的 cookie 信息。如果 cookie 过期了,它还会主动询问你进行替换。
+- 整体配置完成后,你就可以对星球进行发帖以及查看帖子等操作。不过不要弄的特别频繁!
+- 像是在 OpenClaw(QClaw)还可以让添加上定时的任务处理。
+
+### 2. 龙虾社群🦞
+
+
+

+
+
+- 地址:[https://wx.zsxq.com/group/48885154455258](https://wx.zsxq.com/group/48885154455258)
+- 说明:现在这个[《OpenClaw 养虾社区🦞》](https://wx.zsxq.com/group/48885154455258)就已经入住了很多小龙虾,欢迎👏🏻一起来玩下。
+
+## 四、编程效果(ddd-skills)
+
+### 1. 技能说明
+
+如果不对 ai 做编码结构和实现方式限定,ai 会每次都给你“惊喜”,但工程交付需要的是在确定的结构下,持续的迭代输出。所以,需要增加规范技能,限定 ai 编码输出方式的统一。
+
+
+

+
+
+因而,小傅哥把过往历史一行行手敲的 DDD 资料,以及定对应的工程代码,持续的通过 OpenClaw(QClaw)喂给 AI,再安装技能并只用,查看通过此技能完成的编码,是否符合预期。经过仅2周的折腾,目前发布了 [xfg-ddd-skills v2.2.1](https://github.com/fuzhengwei/xfg-ddd-skills) 版本,可以满足 DDD 六边形架构设计和编码实现。
+
+地址:[https://github.com/fuzhengwei/xfg-ddd-skills](https://github.com/fuzhengwei/xfg-ddd-skills) - 欢迎使用,也感谢给点个 Star 支持!更建议,帮忙一起维护迭代。
+
+### 2. 技能设计
+
+```java
+xfg-ddd-skills/
+├── SKILL.md # 技能入口文件
+├── README.md # 本文件
+├── assets/ # 资源文件
+├── scripts/ # 脚本工具
+└── references/ # 参考文档
+ ├── architecture.md # 六边形架构概述
+ ├── entity.md # 实体设计规范
+ ├── aggregate.md # 聚合根设计规范
+ ├── value-object.md # 值对象设计规范
+ ├── repository.md # 仓储模式规范
+ ├── port-adapter.md # 端口与适配器规范
+ ├── case-layer.md # 业务编排层规范
+ ├── project-structure.md # Maven 多模块结构
+ ├── naming.md # 命名规范
+ └── docker-images.md # Docker 镜像配置
+```
+
+- 当你需要以下场景时,使用本技能:
+
+ - 设计或实现 DDD 架构的项目,可以直接帮你创建准确的、统一的、可用的工程架构
+ - 需要六边形架构、端口与适配器模式
+ - 创建 Entity(实体)、Aggregate(聚合根)、Value Object(值对象)
+ - 设计 Repository(仓储)模式
+ - 业务编排层(Case Layer)设计
+ - 触发层(Trigger Layer:HTTP/MQ/Job)设计
+ - 构建富领域模型(Rich Domain Model)
+
+- 注意,此技能还在持续迭代中,陆续还会增强使用效果。
+
+```java
+┌─────────────────────────────────────────────────────────────┐
+│ 触发层 Trigger │
+│ (HTTP Controller / MQ Listener / Job) │
+└─────────────────────────┬───────────────────────────────────┘
+ ▼
+┌─────────────────────────────────────────────────────────────┐
+│ API 层 │
+│ (DTO / Request / Response) │
+└─────────────────────────┬───────────────────────────────────┘
+ ▼
+┌─────────────────────────────────────────────────────────────┐
+│ 案例层 Case │
+│ (业务编排 / 流程串联 / 组合调用) │
+└─────────────────────────┬───────────────────────────────────┘
+ ▼
+┌─────────────────────────────────────────────────────────────┐
+│ 领域层 Domain │
+│ (Entity / Aggregate / VO / Domain Service) │
+└─────────────────────────┬───────────────────────────────────┘
+ ▲
+┌─────────────────────────────────────────────────────────────┐
+│ 基础设施层 Infrastructure │
+│ (Repository Impl / Port Adapter / DAO / PO) │
+└─────────────────────────────────────────────────────────────┘
+```
+
+- 此技能符合六边形架构设计标准,相关文档:[https://bugstack.cn/md/road-map/ddd-guide-03.html](https://bugstack.cn/md/road-map/ddd-guide-03.html)
+
+### 3. 场景应用
+
+#### 3.1 表单开发
+
+小傅哥这里选择的一个【表单】功能开发的场景,类似通讯 doc 里有一个表单的功能,设置表单后,让用户填写;
+
+由运营配置表单,填写相应的输入信息(字段),有文本、数字、日期、下拉选择和图片上传等类型。以及增强了表单数据场景运用,填表的表单可以直接关联到用途上,如数据做权限功能审核,或者数据做发券等功能。最后分享链接给用户填写提交,提交时候可以选择让用户是否鉴权(如github登录、星球登录、公众号登录)。
+
+
+

+
+
+全程零参与代码实现,只提供必要的信息。对于开发后的功能,都是让 OpenClaw(QClaw)自己做浏览器访问,填写数据,验证功能。如果有问题,则进行优化功能的处理。
+
+不过,做这类东西,还是需要懂场景,懂产品,懂架构,懂技术。否则,它真运行起来,也是会有不少问题的。
+
+#### 3.2 产品演示
+
+##### 3.2.1 编辑表单(关联数据场景)
+
+
+

+
+
+##### 3.2.2 表单数据(全局展示信息)
+
+
+

+
+
+##### 3.2.3 能力配置(数据场景配置)
+
+
+

+
+
+- 这个的目的,就在于配置完表单,用户填写后,那么这些数据,要干啥用。我们可以把一些字段关联起来,直接使用。
+
+##### 3.2.4 填写记录(展示收集信息)
+
+
+

+
+
+##### 3.2.5 分享表单(用户填写数据)
+
+
+

+
+
+- 分享表单后,用户填写提交即可。
+
+### 4. 工程演示
+
+
+

+
+
+- 这个结构很重要,通过 xfg-ddd-skills 的限定,它可以按照约定的方式来编码。不要有ai幻觉和惊喜,而是要有小傅哥的“味道”。
+- 不过在整个设计实现的“灵魂”上,还是差了点,不够老辣!
+
+## 五、体验总结
+
+1. 这种大量的工程化的,AI 写的代码,我不想碰。既不能给它修,也不想给它改。只要有 Token 就想让 AI 继续搞。软件工程交付,需要的不只是代码,还包括完整的理解代码,代码与产品PRD完全匹配,从而形成代码资产。
+2. 使用AI做项目,仍然需要懂技术的,你的能力多强,你驾驭AI的本事就多大。
+3. 纯新项目,或者小公司快速场景验证,可以使用AI快速搭建出来一套。
+4. 公司里几十万行的老项目,如果靠 AI 这样迭代编写,可能会出事故。审查要严格。程序员编码的过程,是一行行逻辑的确认和产品功能的完整匹配。
+5. 当一个需求过于复杂的时候,AI 会有过程中崩溃问题。这个对于个人编码项目没啥所谓,但公司级别的需求的迭代的。它的编码速度,有时候会低于人。n个类中,n行代码中,迭代功能,程序员已经有历史经验。ai 需要全量识别(或者你提前都编写好了技能)
+6. skills 很有用,希望使用 ai 迭代项目的,需要持续的为工程迭代 skills 的各项技能。相当于为工程写技能路书。
+7. OpenClaw(QClaw)属于一种网关入口,来控制设备。如果你更熟练于编码,那么纯 AI IDE 会更适合。如果你往各类的服务,接管电脑,那么 OpenClaw 更为合适。
+
+---
+
+
+

+
\ No newline at end of file
diff --git a/docs/md/ai/spring-ai.md b/docs/md/ai/spring-ai.md
new file mode 100644
index 000000000..89d85372b
--- /dev/null
+++ b/docs/md/ai/spring-ai.md
@@ -0,0 +1,191 @@
+---
+title: Spring AI
+lock: need
+---
+
+# spring ai
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。今天来带大家体验一下 Spring AI 的 Easy 开发!
+
+现在的 OpenAI 对接开发真的是越来越容易了,直接引入 Spring AI 这个组件包,配置上可调用的 ApiHost、ApiKey 就可以完成对 OpenAI(ChatGPT)接口的调用。在此之前也有那么多各类的接口服务,还没有像 OpenAI 这样,被 Spring 如此重视,直接提供专属的 SDK 包,封装所有大模型(`暂无国内的`)。这也说明 OpenAI 的趋势力量多么庞大!
+
+
+

+
+
+**OpenAI 结合业务才更有价值**
+
+虽然 OpenAI 的接口对接是越来越简单了,但我们要知道,一个实际的项目就不只是对接 OpenAI 接口,还需要完成一系列的业务流程封装。就比如目前我们看到国内的各类套壳或自研类的 OpenAI 服务,都会包括;`用户`、`鉴权`、`账户`、`支付`、`场景`等,一套东西来支撑整个流程跑通,同时还有系统工程背后的`舆情监控`、`敏感词过滤`、`数据存储`、`行为分析`等各类操作。这些东西也就是常说的,不能只会一个技术点,而是要结合场景,用技术支撑业务落地。
+
+接下来,小傅哥会分享 Spring AI + Gpt-4o 的对接使用,以及介绍如何开发应用级的 OpenAI 项目。
+
+## 一、简单介绍
+
+Spring AI 项目,是为开发 AI 应用程序提供了 Spring 友好的 API 和抽象。所有的大模型对接(OpenAI、Ollama、Azure OpenAI、Amazon Bedrock、HuggingFace、Google VertexAI、Mistral AI)都以一种统一标准的形式进行。这样就减少了大家再额外开发对接的成本了,也不用维护和兼容各个 OpenAI 的接口迭代。
+
+- 官网:[https://docs.spring.io/spring-ai/reference/index.html](https://docs.spring.io/spring-ai/reference/index.html)
+- 文档:[https://docs.spring.io/spring-ai/reference/1.0-SNAPSHOT/index.html](https://docs.spring.io/spring-ai/reference/1.0-SNAPSHOT/index.html)
+- 源码:[https://github.com/spring-projects/spring-ai](https://github.com/spring-projects/spring-ai)
+
+## 二、工程对接
+
+### 1. 工程说明
+
+- 环境:JDK 17、SpringBoot 3.2.3、spring-ai 0.8.0
+- 源码:[xfg-dev-tech-spring-ai](https://gitcode.net/KnowledgePlanet/road-map/xfg-dev-tech-spring-ai)
+
+
+

+
+
+在此工程中完成了 SpringAI 模块的引入,以及使用提供的 API 接口,完成同步应答、流式应答、图片绘制功能。
+
+### 2. 引入模块
+
+```pom
+
+ org.springframework.ai
+ spring-ai-bom
+ 0.8.0
+ pom
+ import
+
+
+
+ org.springframework.ai
+ spring-ai-openai-spring-boot-starter
+
+```
+
+- spring-ai 也在不断的发展,2024年5月22日 发布了 1.0.0 M1 并对代码做了一些调整。在生产级别使用需要注意📢版本的迭代。
+
+### 2. 接口对接
+
+测试之前需要在 application-dev.yml 配置对接的信息。
+
+```yaml
+spring:
+ ai:
+ openai:
+ base-url: https://api.aws-*****/
+ api-key: sk-oLkakcax33mJl628D3A533Fd67A24602Ac37D6*****
+```
+
+注意 spring-ai 提供了各类大模型的对接,都可以按需配置到这里。*在它的源码 autoConfig 类里会有要配置参数的名称,可以参考。*
+
+#### 2.1 功能测试
+
+```java
+@Resource
+private OpenAiChatClient chatClient;
+@Resource
+private OpenAiImageClient openaiImageClient;
+
+@Test
+public void test_generate() {
+ ChatResponse chatResponse = chatClient.call(
+ new Prompt(
+ "1+1",
+ OpenAiChatOptions.builder()
+ .withModel("gpt-4o")
+ .build()
+ ));
+ log.info("测试结果:{}", JSON.toJSONString(chatResponse));
+}
+
+@Test
+public void test_generate_stream() throws InterruptedException {
+ CountDownLatch countDownLatch = new CountDownLatch(1);
+ Flux stream = chatClient.stream(new Prompt("1+1"));
+ stream.subscribe(
+ chatResponse -> {
+ AssistantMessage output = chatResponse.getResult().getOutput();
+ log.info("测试结果: {}", JSON.toJSONString(output));
+ },
+ Throwable::printStackTrace,
+ () -> {
+ countDownLatch.countDown();
+ System.out.println("Stream completed");
+ }
+ );
+ countDownLatch.await();
+}
+
+@Test
+public void test_generate_image() {
+ ImageResponse imageResponse = openaiImageClient.call(
+ new ImagePrompt("画个小狗",
+ OpenAiImageOptions.builder()
+ .withModel("dall-e-3")
+ .withQuality("hd")
+ .withN(1)
+ .withHeight(1024)
+ .withWidth(1024)
+ .build()
+ )
+ );
+ log.info("测试结果: {}", JSON.toJSONString(imageResponse));
+}
+```
+
+**测试结果**
+
+```java
+24-05-26.16:46:46.287 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.288 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.289 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"1","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.289 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"+","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.289 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"1","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.289 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":" equals","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.289 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":" ","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.290 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"2","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+24-05-26.16:46:46.290 [ForkJoinPool.commonPool-worker-1] INFO OpenAITest - 测试结果: {"content":"","messageType":"ASSISTANT","properties":{"role":"ASSISTANT"}}
+Stream completed
+```
+
+- 测试结果为 test_generate_stream 流式返回 `1+1` 的应答结果。
+
+#### 2.2 接口服务
+
+```java
+@RestController()
+@CrossOrigin("*")
+@RequestMapping("/api/v1/openai/")
+public class OpenAiController {
+
+ @Resource
+ private OpenAiChatClient chatClient;
+
+ /**
+ * curl http://localhost:8090/api/v1/openai/generate?message=1+1
+ */
+ @RequestMapping(value = "generate", method = RequestMethod.GET)
+ public ChatResponse generate(@RequestParam String message) {
+ return chatClient.call(
+ new Prompt(
+ message,
+ OpenAiChatOptions.builder()
+ .withModel("gpt-4o")
+ .build()
+ ));
+ }
+
+ /**
+ * curl http://localhost:8090/api/v1/openai/generate_stream?message=1+1
+ */
+ @RequestMapping(value = "generate_stream", method = RequestMethod.GET)
+ public Flux generateStream(@RequestParam String message) {
+ return chatClient.stream(new Prompt(message));
+ }
+
+}
+```
+
+在 OpenAiController 中提供了对接两个接口的方法,以及同步和流式返回。*流式返回还可以使用 ResponseBodyEmitter 进行流式返回*
+
+Spring AI 提供的 OpenAI 大模型对接是 Easy 的很,减去了自己开发代码对接大模型。但仅仅是这样一个简单还不够,我们还需要学习积累的更多!如;微信鉴权登录怎么做、支付怎么对接、账户额度怎么扣减、限流熔断怎么操作等等,实际场景问题才是有价值的核心内容,所以,咱们要上个大菜!☞ [OpenAi 大模型应用服务体系构建 - API-SDK、鉴权、公众号、企业微信、支付服务](https://bugstack.cn/md/project/chatgpt/chatgpt.html)
\ No newline at end of file
diff --git a/docs/md/ai/trae.md b/docs/md/ai/trae.md
new file mode 100644
index 000000000..3294a349b
--- /dev/null
+++ b/docs/md/ai/trae.md
@@ -0,0 +1,210 @@
+---
+title: Trae.ai
+lock: need
+---
+
+# Trae.ai - 真好用,码农必备工具!
+
+作者:小傅哥
+
博客:[https://bugstack.cn](https://bugstack.cn)
+
+> 沉淀、分享、成长,让自己和他人都能有所收获!😄
+
+大家好,我是技术UP主小傅哥。
+
+有人说程序员这个行业👨🏻💻总是在革自己的命,一个个编码 AI 工具的出现,是不已经不需要那么多初级 CRUD 程序员了🤔。但恰恰相反,AI 工具的出现,是把初级程序员,迅速培养到了高级工程师!
+
+
+

+
+
+`其实 AI 让程序员更牛!`
+
+以前初学编程看不懂的代码,现在使用AI能动态做解释和提供案例,以前跨语言(java->vue/react)不能做的事情,现在可以搞了。以前不能写的插件(IntelliJ IDEA、谷歌浏览器),现在能实现了。以前写不出的高级感代码,现在随手就拿到全球最优秀的编码方案。
+
+今天介绍一款 AI 开发工具 [Trae.ai](https://www.trae.ai/) ,让刚入门编程的找到学习方法,让初级工程也能写出优秀的代码,让高级研发嘎嘎提高效率!
+
+>文末提供了 AI 应用开发实战项目,想提高 AI 应用编程能力的伙伴,可以获取学习项目。
+
+## 一、软件下载
+
+官网地址:[https://www.trae.ai/](https://www.trae.ai/)
+
+
+

+
+
+- Trae 是一个自适应的 AI IDE,它可以改变您的工作方式,与您协作以更快地运行。
+- 在使用的时候,你可以一个工程同时在 IntelliJ IDEA 打开,也使用 Trae 打开。😂 `因为习惯 IntelliJ IDEA,各类调试还是很舒服的。`
+
+> 同类软件 [Cursor](https://www.cursor.com/cn),不过这个想使用好的模型得付费,Trae 是不需要付费的!
+
+## 二、使用体验
+
+### 1. 提问代码
+
+**拖拽代码/文件夹/工程**
+
+
+

+
+
+**添加代码到对话**
+
+
+

+
+
+**通过#号,选择要对话的内容**
+
+
+

+
+
+> 之所以分享这个软件,也是因为很多小白初学编程,拿到一个项目不知道从哪里看。现在你有了这个软件,就可以非常简单的对工程的代码进行提问了。也不需要复制到任何 AI 对话工具了,并且这套软件是免费的。
+
+### 2. 生成代码 - 后端
+
+这里我们举例,复制掘金发文接口,之后让 Trae.ai 帮我包装;
+
+#### 2.1 复制接口
+
+
+

+
+
+#### 2.2 研发设计 - 话术
+
+
+

+
+
+**生成话术,类似于研发设计**
+
+```java
+在 gateway 文件夹下,编写 IJueJinService 类,以 retrofit2 方式包装 curl 请求接口。接口入参仅为必要参数,如;cookie,发文的 Request 对象。
+
+curl 如下;
+
+curl 'https://api.juejin.cn/content_api/v1/article_draft/create?aid=2608&uuid=7058897578062890496' \
+ -H 'accept: */*' \
+ -H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8' \
+ -H 'content-type: application/json' \
+ -b 'store-region=cn-bj; store-region-src=uid; __tea_cookie_tokens_2608=%******a51b13e5; uid_tt_ss=7aff2f2394310b3b71f07006a51b13e5; sid_tt=3813572f48984e4b5b3cc7f90733f2e9; sessionid=3813572f48984e4b5b3cc7f90733f2e9; sessionid_ss=3813572f48984e4b5b3cc7f90733f2e9; sid_ucp_v1=1.0.0-KDU4N2NlM2Q2NjFiODhjOGNhZGE5YzVlOTM4ZWZkY2U3ZTc3MzVjMjAKFwjemIC67ozUAxDT_ci_BhiwFDgCQPEHGgJsZiIgMzgxMzU3MmY0ODk4NGU0YjViM2NjN2Y5MDczM2YyZTk; ssid_ucp_v1=1.0.0-KDU4N2NlM2Q2NjFiODhjOGNhZGE5YzVlOTM4ZWZkY2U3ZTc3MzVjMjAKFwjemIC67ozUAxDT_ci_BhiwFDgCQPEHGgJsZiIgMzgxMzU3MmY0ODk4NGU0YjViM2NjN2Y5MDczM2YyZTk' \
+ -H 'dnt: 1' \
+ -H 'origin: https://juejin.cn' \
+ -H 'priority: u=1, i' \
+ -H 'referer: https://juejin.cn/' \
+ -H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
+ -H 'sec-ch-ua-mobile: ?0' \
+ -H 'sec-ch-ua-platform: "macOS"' \
+ -H 'sec-fetch-dest: empty' \
+ -H 'sec-fetch-mode: cors' \
+ -H 'sec-fetch-site: same-site' \
+ -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
+ -H 'x-secsdk-csrf-token: 00010000000152d838f2c09c65e4feef033c275a8cff940c12228719074fe36f9ce2d18b4d251833ae62ea768117' \
+ --data-raw '{"category_id":"0","tag_ids":[],"link_url":"","cover_image":"","title":"测试文章","brief_content":"","edit_type":10,"html_content":"deprecated","mark_content":"","theme_ids":[],"pics":[]}'
+
+接口返回结果;
+
+{
+ "err_no": 0,
+ "err_msg": "success",
+ "data": {
+ "id": "7489358088379531291",
+ "article_id": "0",
+ "user_id": "2058727733595230",
+ "category_id": "0",
+ "tag_ids": [],
+ "link_url": "",
+ "cover_image": "",
+ "is_gfw": 0,
+ "title": "测试文章",
+ "brief_content": "",
+ "is_english": 0,
+ "is_original": 1,
+ "edit_type": 10,
+ "html_content": "deprecated",
+ "mark_content": "",
+ "ctime": "1743929226",
+ "mtime": "1743929226",
+ "status": 0,
+ "original_type": 0,
+ "theme_ids": []
+ }
+}
+
+根据接口信息封装 DTO 对象,放到 gateway dto 下。
+```
+
+#### 2.3 编码效果
+
+
+

+
+
+- 生成后,代码会直接写入到你说明的文件夹下,创建好相关的类信息。之后你可以点击全部接受,他会审查代码,如果代码有问题还会检修编写。
+
+### 3. 生成代码 - 前端
+
+
+

+
+
+- 这是小傅哥实现的一套 AI RAG&MCP 知识库项目,设计的一套页面。这套页面使用了 AI 做了大量的编码。`以前能写前端,但总感觉是屎上雕花,不出活!`这回有 AI 工具,省心多了。
+- AI 对于这类既定的,没有复杂的逻辑和各类框架综合使用的,真的描述一句优化UI,它就`苦吃苦吃`的干活了!
+
+> 你发现没,你只要写一些描述,它就能很好的干活了。这是因为 AI Agent 智能体会包括;规划、记忆、召回、工具(MCP),来把需求转换为可以看到的代码。
+
+## 三、实战项目
+
+这是小傅哥最近带着大家做的一套 AI 应用实战项目,《DeepSeek RAG&MCP 增强检索知识库系统》 - 解析文档&Git仓库代码&AI工作流,全程视频手把手教学。
+
+RAG:实现了除普通文档知识解析外,增加了 Git 代码库的拉取和解析,并提供操作接口。为工程师做项目开发时,`需求分析`、`研发设计`、`辅助编码`、`代码评审`、`风险评估`、`上线检测`等,做工程交付提效。
+
+MCP:用不了多久,各大互联网企业都将大量的推进落地,自有 MCP 服务的实现,用于增强企业 AI 应用的提效能力。因为 MCP 的加入,可以让你;一条命令`帮研发`,调用应用系统日志、排查系统CPU负载、自主选择是否调度数据库信息。也可以一条命令`帮运营`,搞定复杂的SQL执行、导出报表、分析数据、完成促活营销券的自动化配置上架。这就是 MCP的魅力!👍🏻
+
+**RAG + MCP = 智能AI工作流,如智能客服,智能编码助手,智能运维工程师等。**
+
+
+

+
+
+```java
+@Test
+public void test_weixinNotice_chatMemory() {
+ System.out.println("\n>>> ASSISTANT: " + chatClient
+ .prompt("""
+ 我需要你帮我生成一篇文章,要求如下;
+
+ 1. 场景为互联网大厂java求职者面试
+ 2. 面试管提问 Java 核心知识、JUC、JVM、多线程、线程池、HashMap、ArrayList、Spring、SpringBoot、MyBatis、Dubbo、RabbitMQ、xxl-job、Redis、MySQL、Linux、Docker、设计模式、DDD等不限于此的各项技术问题。
+ 3. 按照故事场景,以严肃的面试官和搞笑的水货程序员谢飞机进行提问,谢飞机对简单问题可以回答,回答好了面试官还会夸赞。复杂问题胡乱回答,回答的不清晰。
+ 4. 每次进行3轮提问,每轮可以有3-5个问题。这些问题要有技术业务场景上的衔接性,循序渐进引导提问。最后是面试官让程序员回家等通知类似的话术。
+ 5. 提问后把问题的答案,写到文章最后,最后的答案要详细讲述出技术点,让小白可以学习下来。
+
+ 根据以上内容,不要阐述其他信息,请直接提供;文章标题、文章内容、文章标签(多个用英文逗号隔开)、文章简述(100字)
+
+ 将以上内容发布文章到CSDN。
+ """)
+ .advisors(advisor -> advisor
+ .param(CHAT_MEMORY_CONVERSATION_ID_KEY, "1001")
+ .param(CHAT_MEMORY_RETRIEVE_SIZE_KEY, 100))
+ .call()
+ .content());
+
+
+ System.out.println("\n>>> ASSISTANT: " + chatClient
+ .prompt("""
+ 之后进行,微信公众号消息通知,平台:CSDN、主题:为文章标题、描述:为文章简述、跳转地址:从发布文章到CSDN获取 url
+ """)
+ .advisors(advisor -> advisor
+ .param(CHAT_MEMORY_CONVERSATION_ID_KEY, "1001")
+ .param(CHAT_MEMORY_RETRIEVE_SIZE_KEY, 100))
+ .call()
+ .content());
+}
+```
+
+- 两轮对话,发文到CSDN,之后推送消息到公众号平台。这两轮对话是配置有记忆功能的,所以可以衔接上下文。
+- 这样的技术,还是非常有必要积累的,因为很多中大厂也都开了 AI 开发工程师的岗位。
diff --git a/docs/md/algorithm/data-structures/2022-08-06-queue.md b/docs/md/algorithm/data-structures/2022-08-06-queue.md
index c97ddc52c..a7a0122b9 100644
--- a/docs/md/algorithm/data-structures/2022-08-06-queue.md
+++ b/docs/md/algorithm/data-structures/2022-08-06-queue.md
@@ -95,12 +95,12 @@ private void siftUpComparable(int k, E x) {
int parent = (k - 1) >>> 1;
logger.info("【入队】寻找当前节点的父节点位置。k:{} parent:{}", k, parent);
Object e = queue[parent];
- // 如果当前位置元素,大于父节点元素,则退出循环
+ // 如果当前位置元素大于父节点元素,则退出循环
if (key.compareTo((E) e) >= 0) {
logger.info("【入队】值比对,父节点:{} 目标节点:{}", JSON.toJSONString(e), JSON.toJSONString(key));
break;
}
- // 相反父节点位置大于当前位置元素,则进行替换
+ // 相反当前位置元素小于父节点位置,则进行替换
logger.info("【入队】替换过程,父子节点位置替换,继续循环。父节点值:{} 存放到位置:{}", JSON.toJSONString(e), k);
queue[k] = e;
k = parent;
@@ -183,7 +183,7 @@ private void siftDownComparable(int k, E x) {
if (key.compareTo((E) c) <= 0) {
break;
}
- // 目标值小于c值,位置替换,继续比较
+ // 目标值大于c值,位置替换,继续比较
logger.info("【出队】替换过程,节点的值比对。上节点:{} 下节点:{} 位置替换", JSON.toJSONString(queue[k]), JSON.toJSONString(c));
queue[k] = c;
k = child;
@@ -305,4 +305,4 @@ public E poll() {
- 简述延迟队列/优先队列的实现方式
- 二叉堆插入/弹出元素的过程
- 延迟队列的使用场景
-- 延迟队列为什么添加信号量
\ No newline at end of file
+- 延迟队列为什么添加信号量
diff --git a/docs/md/algorithm/data-structures/2022-08-17-stack.md b/docs/md/algorithm/data-structures/2022-08-17-stack.md
index b07fe6616..135491d76 100644
--- a/docs/md/algorithm/data-structures/2022-08-17-stack.md
+++ b/docs/md/algorithm/data-structures/2022-08-17-stack.md
@@ -55,8 +55,8 @@ ArrayDeque 是一个基于数组实现的堆栈数据结构,在数据存放时
- 堆栈的数据结构是以2的次幂进行初始化,扩容时候为2的倍数。它之所这样是因为保证了在后续计算元素索引位置时,可以进行与运算。也就说 2的n次幂-1 得到的值是一个011111的范围,在与元素索引位置计算时候,找到两个值之间1的位置即可。
-- 数据的压栈,压榨是一个在数组中倒放的方式,通过与运算得到索引值。当发生空间不足时扩容迁移数据,会有2次操作。一次是空间的前半断复制,另外一次是后半段复制。
-- 最后在数据弹出时,按照空间的元素数量总数开始,同样通过与运算计算索引值。氛围弹出队列中未发生迁移的数据,和已经完全迁移好的数据。*凡是迁移的数据,都是保证了一个顺序。*
+- 数据的压栈,压栈是一个在数组中倒放的方式,通过与运算得到索引值。当发生空间不足时扩容迁移数据,会有2次操作。一次是空间的前半段复制,另外一次是后半段复制。
+- 最后在数据弹出时,按照空间的元素数量总数开始,同样通过与运算计算索引值。分为弹出队列中未发生迁移的数据,和已经完全迁移好的数据。*凡是迁移的数据,都是保证了一个顺序。*
- 综上你可能还不是很理解这个数据结构的精妙设计和使用,接下来小傅哥再带着你从代码实现的角度来看下。
### 2. 添加元素
diff --git a/docs/md/algorithm/data-structures/2022-08-27-hash-table.md b/docs/md/algorithm/data-structures/2022-08-27-hash-table.md
index 39656372d..49bbb8f6e 100644
--- a/docs/md/algorithm/data-structures/2022-08-27-hash-table.md
+++ b/docs/md/algorithm/data-structures/2022-08-27-hash-table.md
@@ -63,7 +63,7 @@ lock: need
### 1. 哈希碰撞
-**说明**:通过模拟简单 HashMap 实现,去掉拉链寻址等设计,验证元素哈新索引位置碰撞。
+**说明**:通过模拟简单 HashMap 实现,去掉拉链寻址等设计,验证元素哈希索引位置碰撞。
```java
public class HashMap01