提交 bfaebba1 编写于 作者: 小傅哥's avatar 小傅哥

小傅哥,docs:文档

上级 9de0f59f
# 知识星球【码农会锁】 • 入场指导(以下内容,仔细阅读)
# 知识星球【码农会锁】 • 指导(加入星球,过去的、现在的、以后的都是你的!)
> 你好,我是小傅哥,[《重学Java设计模式》](https://item.jd.com/13218336.html) 图书作者,一线互联网 Java 工程师、架构师。[:pencil2: 虫洞栈,博主](https://bugstack.cn),[:memo: 关于我](https://bugstack.cn/md/other/guide-to-reading.html)
> 你好,我是小傅哥,[《重学Java设计模式》](https://item.jd.com/13218336.html) 图书作者,一线互联网T8架构师。[:pencil2: 虫洞栈,博主](https://bugstack.cn),[:memo: 关于我](https://bugstack.cn/md/other/guide-to-reading.html)
🚜 **码农会锁,与你:上最快的车、唠最狠的嗑,爬最高的坡、拿最贵的Offer!**
- 👉 本仓库是`知识星球`[码农会锁](https://t.zsxq.com/jAi2nUf) 付费用户的学习指导说明,可以更快的让读者入场。*以下描述会使用`码农会锁`这个品牌进行讲解*
- 👉 在`码农会锁`中提供服务包括:实战项目(`DDD架构 - 分布式抽奖系统`)、PDF 下载(`重学Java设计模式`,仍在补充)、简历优化、VIP技术群、问题解答、大厂内推等。
一个着迷于技术又喜欢不断折腾的技术活跃者,从13年毕业到进入互联网,开发过交易、营销类项目,实现过运营、活动类项目,设计过中间件,组织过系统重构,编写过技术专利。不仅从事业务系统的开发工作,也经常做一些字节码插桩类的设计和实现,对架构的设计和落地有丰富的经验。在热衷于Java语言的同时,也喜欢研究中继器、I/O板卡、C#和PHP!
🚜 **码农会锁,与你:上最快的车、唠最狠的嗑,爬最高的坡、拿最贵的Offer!**
---
<br/>
<div align="center">
<a href="https://bugstack.cn" style="text-decoration:none"><img src="https://gitcode.net/uploads/-/system/group/avatar/435281/%E6%98%9F%E7%90%83.png" width="128px"></a>
......@@ -20,175 +19,336 @@
<a href="https://gitcode.net/KnowledgePlanet/Lottery"><img src="https://gitcode.net/KnowledgePlanet/doc/-/raw/master/assets/img/npm-logo-lottery.svg"></a>
</div>
<br/>
---
<div align="center">
<p align="center"><b>知识星球</b><a href="https://t.zsxq.com/jAi2nUf">码农会锁</a> 👇</p>
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<a href="https://t.zsxq.com/jAi2nUf"><img src="https://gitcode.net/KnowledgePlanet/doc/-/raw/master/assets/img/xingqiu.png" width="900px"></a>
</td>
</tr>
</tbody>
</table>
</div>
**首先你必须加入星球并提交授权申请才可以使用,授权地址**[https://t.zsxq.com/03VB66uzz](https://t.zsxq.com/03VB66uzz) - **仓库授权**、星球服务、项目计划、简历批阅等说明。
## ⛳ 目录
☞ 号主性格很温柔,在加入星球前后,遇到什么问题找这个男人就对了,微信【fustack】**100%回复**
- 🎨 [实战项目 - DDD 抽奖系统](https://gitcode.net/KnowledgePlanet/doc#-%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE-ddd-%E6%8A%BD%E5%A5%96%E7%B3%BB%E7%BB%9F)
- [1. 基本说明](https://gitcode.net/KnowledgePlanet/doc#1-%E5%9F%BA%E6%9C%AC%E8%AF%B4%E6%98%8E)
- [2. 仓库授权](https://gitcode.net/KnowledgePlanet/doc#2-%E4%BB%93%E5%BA%93%E6%8E%88%E6%9D%83) - `🍁 重点:只有授权后才能正常访问项目链接`
- [3. 仓库使用](https://gitcode.net/KnowledgePlanet/doc#3-%E4%BB%93%E5%BA%93%E4%BD%BF%E7%94%A8)
- [4. 作业提交](https://gitcode.net/KnowledgePlanet/doc#4-%E4%BD%9C%E4%B8%9A%E6%8F%90%E4%BA%A4)
- [星球介绍](https://gitcode.net/KnowledgePlanet/doc#-%E6%98%9F%E7%90%83%E4%BB%8B%E7%BB%8D)
- [你会学到什么?](https://gitcode.net/KnowledgePlanet/doc#-%E4%BD%A0%E4%BC%9A%E5%AD%A6%E5%88%B0%E4%BB%80%E4%B9%88)
- [适宜人群](https://gitcode.net/KnowledgePlanet/doc#-%E9%80%82%E5%AE%9C%E4%BA%BA%E7%BE%A4)
- [关于作者](https://gitcode.net/KnowledgePlanet/doc#-%E5%85%B3%E4%BA%8E%E4%BD%9C%E8%80%85)
- [联系作者](https://gitcode.net/KnowledgePlanet/doc#-%E8%81%94%E7%B3%BB%E4%BD%9C%E8%80%85)
- [收尾感谢](https://gitcode.net/KnowledgePlanet/doc#-%E6%94%B6%E5%B0%BE%E6%84%9F%E8%B0%A2)
☞ 星球内技术课程,主要以围绕**互联网企业中所需的技术栈**进行安排。这个过程你可能有不会的,但学习嘛,总是需要从不会到会,毕竟所学的这些内容是能帮助;社招、面试、晋升,以及让自己的职业生涯走的更久的路线。
## 🎨 实战项目 - DDD 抽奖系统
## 1. 星球介绍
<div align="center">
<a href="#" style="text-decoration:none"><img src="https://gitcode.net/KnowledgePlanet/doc/-/raw/master/assets/img/lotter.png"></a>
</div>
保持初心,努力成为一个简单、干净、纯粹的技术人,为读者提供有价值的同好圈子。服务包括:技术解答、简历批阅、成长指导、内容分享,以及整理输出各项技术栈小册、PDF文件和录制技术视频。
在星球向我提问关于成长、学习、职场、晋升、答辩、简历等各项你需要知道的内容,同时我也会不定期的整理和分享出各类属于星球的技术小册、编程视频、PDF文件和推荐一些真正有效让人成长的书籍和资料。
<div align="center">
<a href="#">互联网</a>
<a href="#">C端项目</a>
<a href="#">DDD架构</a>
<a href="#">分布式</a>
<a href="#">规则引擎</a>
<img src="https://bugstack.cn/images/article/about/about-220605-06.png?raw=true">
<div style="font-size: 12px;"><a href="https://t.zsxq.com/Ja27ujq">星球介绍:码农会锁 - 实战项目、专属小册、问题解答、简历指导、架构图稿、视频课程</a></div>
</div>
---
<br/>
` Lottery 抽奖系统` 项目是一款互联网面向C端人群营销活动类的抽奖系统,可以提供抽奖活动玩法策略的创建、参与、记账、发奖等逻辑功能。在使用的过程中运营人员通过创建概率类奖品的抽奖玩法,对用户进行拉新、促活、留存,通常这样的系统会用在电商、外卖、出行、公众号运营等各类场景中。
💐 加入星球[【码农会锁】](https://t.zsxq.com/jAi2nUf),你将获得:
1. 学习 Lottery 分布式抽奖秒杀项目 - 基于领域驱动设计的落地实践【面大厂利器】、手写Mybatis、Netty网关(设计中)、BPMN低代码(计划中)等
2. 提供博客 https://bugstack.cn 所有学习内容的指导、帮助
3. GitHub:https://github.com/fuzhengwei/CodeGuide - 非常有价值的技术资料仓库,包括小傅哥所有的博客开放案例代码
4. 可以在发送你的简历到我的邮箱(见使用介绍),提供简历批阅服务
5. 提供技术问题、系统架构、学习成长、晋升答辩等各项内容的回答
6. 定期的整理和分享出各类专属星球的技术小册、编程视频、PDF文件
7. 定期组织技术直播分享,传道、受业、解惑,知道阶段瓶颈突破技巧
## 2. 学习路线
星球学习项目较多,建议学习路线如下;
1. **为了面试**:Java面经手册(八股)、Lottery 分布式抽奖(项目)、SpringBoot Starter 中间件设计和开发(拉伸技术)、手写Spring/手写Mybatis(2选1)
2. **夯实能力**:重学Java设计模式、Lottery 分布式抽奖、手写Spring、手写Mybatis
3. **拉伸技术**:字节码、IDEA Plugin 开发手册、SpringBoot Starter
4. **网络编程**:Netty 4.x 小册、IM(Netty 4.x + JavaFx)
5. **单纯小白**:重学Java设计模式、Java面经手册、手写Spring/手写Mybatis(2选1)、Lottery 分布式抽奖、SpringBoot Starter 中间件设计和开发,之后学习拉伸技术、网络编程
---
**学习参考** ① By 星球用户 · 金伟斌 | 也欢迎分享你的学习经验
- (预习)学习小册资料/PDF/视频,看懂为止,脑子里快速回顾 目的,新增类,作用,角色
- (实践)以印象中的代码逻辑打一遍,
遇见问题然后不看小册资料/PDF/视频,校对Spring/Mybatis/Lottery/IM等源码中找到对应处理,运行,调试
尝试独立解决问题
- (复习)最后的结果是解决还是没解决,什么地方没考虑到,带着问题再去看一遍小册资料/PDF/视频
能不能把问题解决,最后再校对一遍源码,为什么这么写,我为什么那么写
## 3. 星球小册
### 3.1 Lottery 分布式抽奖系统
- 地址:[https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/home](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/home) - 含视频地址
- [⛳ 首页](home)
- [🐾 第 1 部分 大厂规范](#)
1. [x] [第01节:大厂码农开发基础](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-1-部分-大厂规范/第01节:大厂码农开发基础)
2. [x] [第02节:需求怎么来的](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-1-部分-大厂规范/第02节:需求怎么来的)
3. [x] [第03节:系统架构设计](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-1-部分-大厂规范/第03节:系统架构设计)
4. [x] [第04节:进入开发阶段](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-1-部分-大厂规范/第04节:进入开发阶段)
5. [x] [第05节:系统上线维护](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-1-部分-大厂规范/第05节:系统上线维护)
- [🏭️ 第 2 部分 领域开发](#)
1. [x] [环境、配置、规范](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第01节:环境、配置、规范)
2. [x] [搭建(DDD + RPC)架构](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第02节:搭建DDD四层架构)
3. [x] [跑通广播模式RPC过程调用](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第03节:跑通广播模式RPC过程调用)
4. [x] [抽奖活动策略库表设计](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第04节:抽奖活动策略库表设计)
5. [x] [抽奖策略领域模块开发](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第05节:抽奖策略领域模块开发)
6. [x] [模板模式处理抽奖流程](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第06节:模板模式处理抽奖流程)
7. [x] [简单工厂搭建发奖领域](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第07节:简单工厂搭建发奖领域)
8. [x] [活动领域的配置与状态](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第08节:活动领域的配置与状态)
9. [x] [ID生成策略领域开发](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第09节:ID生成策略领域开发)
10. [x] [实现和使用分库分表](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第10节:实现和使用分库分表)
11. [x] [事务领取活动领域开发](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第11节:声明事务领取活动领域开发)
12. [x] [在应用层编排抽奖过程](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第12节:在应用层编排抽奖过程)
13. [x] [规则引擎量化人群参与活动](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第13节:规则引擎量化人群参与活动)
14. [x] [门面接口封装和对象转换](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第14节:门面接口封装和对象转换)
15. [x] [搭建MQ消息组件Kafka服务环境](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第15节:搭建MQ消息组件Kafka服务环境)
16. [x] [使用MQ解耦抽奖发货流程](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第16节:使用MQ解耦抽奖发货流程)
17. [x] [引入xxl-job处理活动状态扫描](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第17节:引入xxl-job处理活动状态扫描)
18. [x] [扫描库表补偿发货单MQ消息](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第18节:扫描库表补偿发货单MQ消息)
19. [x] [设计滑动库存分布式锁处理活动秒杀](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-2-部分-领域开发/第19节:设计滑动库存分布式锁处理活动秒杀)
- [🚜 第 3 部分 运营后台](#)
1. [x] [UI工程搭建](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-3-部分-运营后台/第01节:UI工程搭建)
2. [x] [活动列表数据展示](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-3-部分-运营后台/第02节:活动列表数据展示)
- [🎨 第 4 部分 应用场景](#)
1. [x] [搭建微信公众号网关服务](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/第-4-部分-应用场景/第01节:搭建微信公众号网关服务)
2. [x] [【作业】vue H5 大转盘抽奖](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-4-%E9%83%A8%E5%88%86-%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF/%E7%AC%AC02%E8%8A%82%EF%BC%9A%E3%80%90%E4%BD%9C%E4%B8%9A%E3%80%91vue%20H5%20%E5%A4%A7%E8%BD%AC%E7%9B%98%E6%8A%BD%E5%A5%96)
- [☁️ 第 5 部分 系统运维](#)
1. [x] [在云服务器部署 Docker](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC01%E8%8A%82%EF%BC%9A%E5%9C%A8%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85Docker)
2. [x] [部署环境 Redis](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC02%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20Redis)
3. [x] [部署环境 Kafka](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC03%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20Kafka)
4. [x] [部署环境 Mysql](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC04%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20Mysql)
5. [x] [部署环境 xxl-job](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC05%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20xxl-job)
6. [x] [部署环境 nacos](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC06%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20nacos)
7. [x] [部署环境 Elasticsearch、Kibana(破解)](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC07%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20Elasticsearch%E3%80%81Kibana)
8. [x] [部署环境 canal 同步数据到 ES](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/%E7%AC%AC-5-%E9%83%A8%E5%88%86-%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E7%AC%AC08%E8%8A%82%EF%BC%9A%E9%83%A8%E7%BD%B2%E7%8E%AF%E5%A2%83%20canal)
### 3.2 IM(Netty+JavaFx)
- [介绍](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)
- 第 1 章 - UI开发
- [1.0:专栏学习简述以及全套源码获取](https://articles.zsxq.com/id_uwf9xgmjczg3.html)
- [1.1:PC端微信页面拆分及JavaFx使用](https://articles.zsxq.com/id_04g0ezlrsuje.html)
- [1.2:登陆框体实现(结构定义、输入框和登陆)](https://articles.zsxq.com/id_gcej963wpekw.html)
- [1.3:登陆框体事件与接口](https://articles.zsxq.com/id_qqmif86w3to9.html)
- [1.4:聊天框体实现一(整体结构定义、侧边栏)](https://articles.zsxq.com/id_kukdcskxwcn8.html)
- [1.5:聊天框体实现二(对话栏)](https://articles.zsxq.com/id_icw3l92iltpt.html)
- [1.6:聊天框体实现三(对话聊天框)](https://articles.zsxq.com/id_fqlh6f6pa51i.html)
- [1.7:聊天框体实现四(好友栏)](https://articles.zsxq.com/id_4vi0uuwzv14u.html)
- [1.8:聊天框体实现五(好友填充框)](https://articles.zsxq.com/id_pkourt0j7w9l.html)
- [1.9:聊天框体事件定义](https://articles.zsxq.com/id_1w4am6nkwkzc.html)
- [1.10:练习篇-聊天表情框体实现](https://articles.zsxq.com/id_1jvvnww8fc2h.html)
- [1.11:解答篇-聊天表情框体实现](https://articles.zsxq.com/id_eb4o1t23qi7q.html)
- 第 2 章 - 架构设计
| 序号 | 图标 | 名称 | 系统 | 作用 |
| :---: | :---: | ----- | ----- | ----- |
| 1 | <img src="https://gitcode.net/uploads/-/system/project/avatar/57512/%E6%88%91%E7%9A%84%E5%A5%96%E5%93%81.png" width="128px"> | 分布式核心功能服务系统 | [Lottery](https://gitcode.net/KnowledgePlanet/Lottery) | 提供抽奖业务领域功能,以分布式部署的方式提供 RPC 服务。 |
| 2 | <img src="https://gitcode.net/uploads/-/system/project/avatar/80935/API%E6%8E%A5%E5%8F%A3.png" width="128px"> | 网关API服务 | [Lottery-API](https://gitcode.net/KnowledgePlanet/Lottery-API) | 网关服务,提供;H5 页面抽奖、公众号开发回复消息抽奖。 |
| 3 | <img src="https://gitcode.net/uploads/-/system/project/avatar/79776/%E7%94%A8%E6%88%B7%E7%BB%84.png" width="128px"> | C端用户系统 | [lottery-front](https://gitcode.net/KnowledgePlanet/lottery-front) | vue H5 lucky-canvas 大转盘抽奖界面,讲解 vue 工程创建、引入模块、开发接口、跨域访问和功能实现 |
| 4 | <img src="https://gitcode.net/uploads/-/system/project/avatar/79714/%E8%BF%90%E8%90%A5%E9%A2%84%E6%9C%9F.png" width="128px"> | B端运营系统 | [Lottery-ERP](https://gitcode.net/KnowledgePlanet/Lottery-ERP) | 满足运营人员对于活动的查询、配置、修改、审核等操作。 |
| 5 | <img src="https://gitcode.net/uploads/-/system/project/avatar/67564/%E6%95%B0%E6%8D%AE%E5%BA%93.png" width="128px"> | 分库分表路由组件 | [db-router-spring-boot-starter](https://gitcode.net/KnowledgePlanet/db-router-spring-boot-starter) | **本项目依赖自研分库分表组件,需要下载后构建** 开发一个基于 HashMap 核心设计原理,使用哈希散列+扰动函数的方式,把数据散列到多个库表中的组件,并验证使用。 |
| 6 | <img src="https://gitcode.net/uploads/-/system/project/avatar/58903/%E6%B5%8B%E8%AF%95.png" width="128px"> | 测试验证系统 | [Lottery-Test](https://gitcode.net/KnowledgePlanet/Lottery-Test) | 用于测试验证RPC服务、系统功能调用的测试系统。 |
- [2.1:服务端架构设计](https://articles.zsxq.com/id_fmp5eh7cfx2w.html)
- [2.2:通信协议包定义](https://articles.zsxq.com/id_1sl8li1xrij3.html)
- [2.3:客户端架构设计](https://articles.zsxq.com/id_gbiamsd8v6c6.html)
- [2.4:数据库表结构设计](https://articles.zsxq.com/id_gq1etef0nts9.html)
- 第 3 章 - 功能实现
### 1. 基本说明
- [3.1:登陆功能实现](https://articles.zsxq.com/id_otfw8knza2h8.html)
- [3.2:搜索和添加好友](https://articles.zsxq.com/id_n6wh4jv6txt3.html)
- [3.3:对话通知与应答](https://articles.zsxq.com/id_jemee2pemuvb.html)
- [3.4:用户与好友通信](https://articles.zsxq.com/id_0pfkqd4zdgsb.html)
- [3.5:用户与群组通信](https://articles.zsxq.com/id_zflvgz4w058g.html)
- [3.6:断线重连恢复通信](https://articles.zsxq.com/id_55l3f2bs3e2m.html)
- [3.7:服务端控制台搭建](https://articles.zsxq.com/id_7sjvtr8nwve9.html)
- [3.8:练习篇-聊天表情发送功能实现](https://articles.zsxq.com/id_70aqci5w1tds.html)
- [3.9:解答篇-聊天表情发送功能实现](https://articles.zsxq.com/id_03w39bdth2ax.html)
- 总有粉丝伙伴问傅哥,有没有能上手练习技术的项目,现在学了这么多技术知识、看了这么多设计模式、搜了这么多架构设计,但这些内容都是怎么结合在一起使用的呢?🚌好,这趟车就带你一起搞起来,看看互联网的项目是怎么开发的,都用到了哪些技术!
- 为什么不是使用 Github 或者 gitee,之所以会需要使用gitcode,是因为gitee、github都不支持私有代码库,也就是不能满足这个付费代码的用户权限可见性。而gitcode目前不是独立的,所以需要csdn账号作为代码库的账号用于拉取和提交代码。
### 3.3 手写Mybatis
### 2. 仓库授权
- 代码:https://gitcode.net/KnowledgePlanet/TearSourceCode/small-mybatis
1. **源码授权**:加入`码农会锁`后,你会在星球的`置顶🔝`消息里看到[【加入项目】](#)一栏,通过加入步骤描述(`注意:在项目授权中有步骤1、2是必须完成的,否则不会授权通过`),即可完成项目授权的申请。申请授权后样式如下,你的页面会有如下提示,接下来等待小傅哥统一审批,审批后即可开始开发项目了。
| 申请授权和授权样式 |
| ------ |
| <img src="https://gitcode.net/KnowledgePlanet/doc/-/raw/master/assets/img/xingqiu-join.png" width="384px"> |
| <img src="https://gitcode.net/KnowledgePlanet/doc/-/raw/master/assets/img/check.png" width="384px"> |
#### 介绍
2. **授权说明**:仅对付费加入 [`知识星球:码农会锁`](https://t.zsxq.com/jAi2nUf) 并已经添加小傅哥微信:fustack 报备:`星球用户编号`后的球友授权仓库。
- [【难度☆☆☆☆☆】第01章:开篇介绍,我要带你撸 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)
3. **授权失败**:如果你的申请授权迟迟没有得到审批,请联系小傅哥:fustack,加上微信直接发给他,你的`gitcode`注册邮箱或者个人ID,以及购买或者加入知识星球的截图。小傅哥会立马给你解决!
#### 第 1 部分 - 基础框架
### 3. 仓库使用
- [【难度★★☆☆☆】第02章:创建简单的映射器代理工厂](https://bugstack.cn/md/spring/develop-mybatis/2022-03-27-%E7%AC%AC2%E7%AB%A0%EF%BC%9A%E5%88%9B%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84%E6%98%A0%E5%B0%84%E5%99%A8%E4%BB%A3%E7%90%86%E5%B7%A5%E5%8E%82.html)
- [【难度★★☆☆☆】第03章:实现映射器的注册和使用](https://bugstack.cn/md/spring/develop-mybatis/2022-04-04-%E7%AC%AC3%E7%AB%A0%EF%BC%9A%E5%AE%9E%E7%8E%B0%E6%98%A0%E5%B0%84%E5%99%A8%E7%9A%84%E6%B3%A8%E5%86%8C%E5%92%8C%E4%BD%BF%E7%94%A8.html)
- [【难度★★★☆☆】第04章:Mapper XML的解析和注册使用](https://bugstack.cn/md/spring/develop-mybatis/2022-04-09-%E7%AC%AC4%E7%AB%A0%EF%BC%9AXML%E7%9A%84%E8%A7%A3%E6%9E%90%E5%92%8C%E6%B3%A8%E5%86%8C%E4%BD%BF%E7%94%A8.html)
Lottery 抽奖系统 - 基于领域驱动设计的四层架构实践
#### 第 2 部分 - 模块服务
1. 代码:[https://gitcode.net/KnowledgePlanet/Lottery](https://gitcode.net/KnowledgePlanet/Lottery)
2. 小册:[https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/home](https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/home)
3. 提问:[https://gitcode.net/KnowledgePlanet/Lottery/-/issues](https://gitcode.net/KnowledgePlanet/Lottery/-/issues)
4. 介绍:[https://articles.zsxq.com/id_tz44w3oqjftv.html](https://articles.zsxq.com/id_tz44w3oqjftv.html)
- [【难度★★★☆☆】第05章:数据源的解析、创建和使用](https://bugstack.cn/md/spring/develop-mybatis/2022-04-17-%E7%AC%AC5%E7%AB%A0%EF%BC%9A%E6%95%B0%E6%8D%AE%E6%BA%90%E7%9A%84%E8%A7%A3%E6%9E%90%E3%80%81%E5%88%9B%E5%BB%BA%E5%92%8C%E4%BD%BF%E7%94%A8.html)
- [【难度★★★★☆】第06章:数据源池化技术实现](https://bugstack.cn/md/spring/develop-mybatis/2022-04-23-%E7%AC%AC6%E7%AB%A0%EF%BC%9A%E6%95%B0%E6%8D%AE%E6%BA%90%E6%B1%A0%E5%8C%96%E6%8A%80%E6%9C%AF%E5%AE%9E%E7%8E%B0.html)
- [【难度★★★☆☆】第07章:SQL执行器的定义和实现](https://bugstack.cn/md/spring/develop-mybatis/2022-04-28-%E7%AC%AC7%E7%AB%A0%EF%BC%9ASQL%E6%89%A7%E8%A1%8C%E5%99%A8%E7%9A%84%E5%AE%9A%E4%B9%89%E5%92%8C%E5%AE%9E%E7%8E%B0.html)
- [【难度★★★★★】第08章:把反射用到出神入化](https://bugstack.cn/md/spring/develop-mybatis/2022-05-03-%E7%AC%AC8%E7%AB%A0%EF%BC%9A%E6%8A%8A%E5%8F%8D%E5%B0%84%E7%94%A8%E5%88%B0%E5%87%BA%E7%A5%9E%E5%85%A5%E5%8C%96.html)
注意:在项目学习的过程中,如果遇到问题可以先查看 issue,一般大家的共性问题都会在这里体现。如果你没有搜到与你相同的问题,也可以提一个新的 issue,可以包括:学习疑惑、Bug提醒、优化建议、技术分享等。
#### 第 3 部分 - 串联流程
### 4. 作业提交
- [【难度★★★★☆】第09章:细化XML语句构建器,完善静态SQL解析](https://bugstack.cn/md/spring/develop-mybatis/2022-05-18-%E7%AC%AC9%E7%AB%A0%EF%BC%9A%E7%BB%86%E5%8C%96XML%E8%AF%AD%E5%8F%A5%E6%9E%84%E5%BB%BA%E5%99%A8%EF%BC%8C%E5%AE%8C%E5%96%84%E9%9D%99%E6%80%81SQL%E8%A7%A3%E6%9E%90.html)
- [【难度★★★★☆】第10章:使用策略模式,调用参数处理器](https://bugstack.cn/md/spring/develop-mybatis/2022-05-26-%E7%AC%AC10%E7%AB%A0%EF%BC%9A%E4%BD%BF%E7%94%A8%E7%AD%96%E7%95%A5%E6%A8%A1%E5%BC%8F%EF%BC%8C%E8%B0%83%E7%94%A8%E5%8F%82%E6%95%B0%E5%A4%84%E7%90%86%E5%99%A8.html)
- [【难度★★★☆☆】第11章:流程解耦,封装结果集处理器](https://bugstack.cn/md/spring/develop-mybatis/2022-06-02-%E7%AC%AC11%E7%AB%A0%EF%BC%9A%E6%B5%81%E7%A8%8B%E8%A7%A3%E8%80%A6%EF%BC%8C%E5%B0%81%E8%A3%85%E7%BB%93%E6%9E%9C%E9%9B%86%E5%A4%84%E7%90%86%E5%99%A8.html)
- [【难度★★★☆☆】第12章:完善ORM框架,增删改查操作](https://bugstack.cn/md/spring/develop-mybatis/2022-06-10-%E7%AC%AC12%E7%AB%A0%EF%BC%9A%E5%AE%8C%E5%96%84ORM%E6%A1%86%E6%9E%B6%EF%BC%8C%E5%A2%9E%E5%88%A0%E6%94%B9%E6%9F%A5%E6%93%8D%E4%BD%9C.html)
在知识星球APP中,可以提交你的学习作业,最终项目完结后,按照作业提交频次和质量,小傅哥会组织一波奖品。具体细则计划Ing。
#### 第 4 部分 - 扩展功能 - 星球用户专属
- 文字作业提交地址:[https://t.zsxq.com/MvFYJe2](https://t.zsxq.com/MvFYJe2)
- 代码作业提交地址:[https://gitcode.net/CreativeAlliance](https://gitcode.net/CreativeAlliance) - 为星球用户提交代码的专属仓库,仅对星球用户开放
- [【难度★★★☆☆】第13章:通过注解配置执行SQL语句](https://articles.zsxq.com/id_cushlx5xx5wj.html)
- [【难度★★★☆☆】第14章:解析和使用ResultMap映射参数配置](https://articles.zsxq.com/id_lszxhhridkrl.html)
- [【难度★★★☆☆】第15章:返回Insert操作自增索引值](https://articles.zsxq.com/id_gwfa0x8nciwn.html)
- [【难度★★★☆☆】第16章:解析含标签的动态SQL语句](https://articles.zsxq.com/id_1rzspttev8ls.html)
- [【难度★★★★☆】第17章:Plugin 插件扩展](https://articles.zsxq.com/id_k7havmcaefdk.html)
- [【难度★★☆☆☆】第18章:一级缓存](https://articles.zsxq.com/id_8d0o471we1ig.html)
- [【难度★★★★☆】第19章:二级缓存](https://articles.zsxq.com/id_gviwjzv5h4wp.html)
- [【难度★★★★☆】第20章:【作业】整合Spring](https://articles.zsxq.com/id_2pwtkmjixi73.html)
#### 4.1 工程作业
### 3.4 数据结构和算法
- 作业空间:[https://gitcode.net/CreativeAlliance](https://gitcode.net/CreativeAlliance)
- 使用说明:为星球用户提供工程代码提交空间,你可以把抽奖系统的学习代码提交到空间中,`按照代码仓库名称标准,项目-星球用户编号-作者ID 例如:Lottery-1-xiaofuge`
- 小册:[https://bugstack.cn/md/algorithm/data-structures/2022-07-22-linked-list.html](https://bugstack.cn/md/algorithm/data-structures/2022-07-22-linked-list.html) - 分为开放内容和星球专属内容
- 源码:[https://github.com/fuzhengwei/java-algorithms](https://github.com/fuzhengwei/java-algorithms)
- 作业:在星球作业中提交,地址:[https://t.zsxq.com/Ja27ujq](https://t.zsxq.com/Ja27ujq)
|示意|
|---|
| ![](https://gitcode.net/KnowledgePlanet/Lottery/-/raw/master/doc/_media/CreativeAlliance.png) |
#### 数据结构
数据结构是在计算机中组织和存储数据的一种特殊方式,使得数据可以高效地被访问和修改。更确切地说,数据结构是数据值的集合,表示数据之间的关系,也包括了作用在数据上的函数或操作。
#### 4.2 文字作业
`B` - 初学者,`A` - 进阶
- 你可以在星球APP中提交`作业题目` | 网页提交:[https://t.zsxq.com/MvFYJe2](https://t.zsxq.com/MvFYJe2)
- [x] [`B` 链表](https://bugstack.cn/md/algorithm/data-structures/2022-07-22-linked-list.html)
- [x] [`B` 数组](https://bugstack.cn/md/algorithm/data-structures/2022-07-30-array-list.html)
- [ ] `B` 队列
- [ ] `B`
- [ ] `B` 哈希表(散列)
- [ ] `B` 堆 - 最大堆 & 最小堆
- [ ] `B` 优先队列
- [ ] `A` 字典树
- [ ] `A` 二叉查找树
- [ ] `A` AVL 树
- [ ] `A` 红黑树
- [ ] `A` 线段树 - 使用 最小/最大/总和 范围查询示例
- [ ] `A` 树状数组 (二叉索引树)
- [ ] `A` 图 (有向图与无向图)
- [ ] `A` 并查集
- [ ] `A` 布隆过滤器
1. 今天的你学到了哪个章节?
2. 遇到什么问题?
3. 怎么解决的?
4. 掌握到了什么知识?
#### 算法
基于大家的学习反馈,小傅哥会在后续的直播中统一解决相关学习问题。加油,这趟车人人有收获!
算法是如何解决一类问题的明确规范。算法是一组精确定义操作序列的规则。
注意️:按照作业提交频次和质量,小傅哥会组织一波奖品。**按照作业提交数量、质量、点赞、留言,综合评分,送技术图书等奖品。**
... 整理中
<img src="https://gitcode.net/KnowledgePlanet/Lottery/-/raw/master/doc/_media/job.jpg" width="414" height="891"/>
### 3.5 Netty网关
- 也可以提交 issue:[https://gitcode.net/KnowledgePlanet/Lottery/-/issues](https://gitcode.net/KnowledgePlanet/Lottery/-/issues)
| 序号 | 系统 | 描述 |
| ---- | ------------------ | ------------------------------------------------------------ |
| 1 | api-gateway-core | 网关核心系统:用于网络通信转换处理,承接http请求,调用RPC服务 |
| 2 | api-gateway-admin | 网关管理系统:用于网关接口后台管理,注册下线停用控制 |
| 3 | api-gateway-sdk | 网关注册组件:用于注解方式采集接口,发送消息注册接口 |
| 4 | api-gateway-center | 网关注册中心:提供网关注册中心服务,登记网关接口信息 |
| 5 | api-gateway-test-provider | 网关测试工程:提供RPC接口 |
| 6 | api-gateway-test-consumer | 网关测试工程:消费RPC接口 |
## 📘 星球介绍
---
保持初心,努力成为一个简单、干净、纯粹的技术人,为读者提供有价值的同好圈子。服务包括:技术解答、简历批阅、成长指导、内容分享,以及整理输出各项技术栈小册、PDF文件和录制技术视频。
#### 介绍
在星球向我提问关于成长、学习、职场、晋升、答辩、简历等各项你需要知道的内容,同时我也会不定期的整理和分享出各类属于星球的技术小册、编程视频、PDF文件和推荐一些真正有效让人成长的书籍和资料。
- [ ] [开篇:如果我来开发Netty网关,我会这么设计](#)
#### 第1部分:网络通信
- [ ] [第1章:网络请求会话](#)
- [ ] [第2章:泛化调用代理](#)
- [ ] [梳理中 ...](#)
## 5. 简历编写
关于简历中专业技能部分的描述分享,大家在编写简历的时候可以参考使用,尽可能体现专业度又能突出你擅长的技术内容,同时最好与互联网招聘要求中的技能项匹配。
- 专业技能:[https://t.zsxq.com/0437yjYNj](https://t.zsxq.com/0437yjYNj)
- 简历模板:[https://t.zsxq.com/04Y7Yz3Ba](https://t.zsxq.com/04Y7Yz3Ba)
## 4. 星球书籍
<img src="https://gitcode.net/KnowledgePlanet/doc/-/raw/master/assets/img/zsxq.jpeg" width="384">
### 4.1 《Java面经手册》
## 🤔 你会学到什么?
>全书共计 5 章 29 节,417页11.5万字,耗时 4 个月完成。涵盖数据结构、算法逻辑、并发编程、JVM以及简历和互联网大厂面试等内容。但此书并不是单纯的面试题,也不是内卷八股文。而是从一个单纯的和程序员有关的数学知识点开始,深入讲解 Java 的核心技术。并且每一章节都配有实践验证的源码,可以对照着一起撸才更有感觉!
- 下载:[https://wx.zsxq.com/dweb2/index/topic_detail/212584482225281](https://wx.zsxq.com/dweb2/index/topic_detail/212584482225281)
- 源码:[https://github.com/fuzhengwei/interview](https://github.com/fuzhengwei/interview)
### 4.2 《重学Java设计模式》
>本书是作者小傅哥,基于互联网真实案例编写的Java设计模式实践图书。全书以解决方案为核心,从实际开发业务中抽离出交易、营销、规则引擎、中间件、框架源码等22个真实场景,对设计模式进行全面、彻底的分析。帮助读者灵活地使用各种设计模式,从容应对复杂变化的业务需求,编写出易维护、可扩展的代码结构。
- 下载:[https://wx.zsxq.com/dweb2/index/topic_detail/182884815525252](https://wx.zsxq.com/dweb2/index/topic_detail/182884815525252)
- 源码:[https://github.com/fuzhengwei/itstack-demo-design](https://github.com/fuzhengwei/itstack-demo-design)
### 4.3 《手撸Spring》
>通过带着读者手写简化版 Spring 框架,了解 Spring 核心原理。在手写Spring 源码的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。
- 下载:[https://wx.zsxq.com/dweb2/index/topic_detail/212854215518421](https://wx.zsxq.com/dweb2/index/topic_detail/212854215518421)
- 源码:[https://gitcode.net/KnowledgePlanet/TearSourceCode/small-spring](https://gitcode.net/KnowledgePlanet/TearSourceCode/small-spring)
### 4.4 《字节码编程》
>让人怪不好意思的,说是出书有点膨胀,毕竟这不是走出版社的流程,选题、组稿、编著、审读、加工到出版发行。但全书共计107页,11万7千字,20个章节涵盖三个字节码框架(ASM、Javassist、Byte-budy)和JavaAgent使用并附带整套案例源码!
- 下载:[https://wx.zsxq.com/dweb2/index/topic_detail/818542512128882](https://wx.zsxq.com/dweb2/index/topic_detail/818542512128882)
- 源码:[https://github.com/fuzhengwei/itstack-demo-asm](https://github.com/fuzhengwei/itstack-demo-asm)
### 4.5 《IDEA Plugin 开发手册》
>此开发手册,分为4章12节循序渐进的通过实践案例开发的方式,串联 IDEA Plugin 开发的各项常用技术点,为读者讲解如何开发一个 IDEA 插件。基本开发类知识点包括:`gradle 工程创建`、`插件发布`、`Swing UI`、`各类窗体`、`菜单配置`、`工程上下文对象`、`向导步骤`、`内容存放`、`配置加载`等,通过这些知识在案例中的逐个使用,而学习如何开发插件。
- 下载:[https://wx.zsxq.com/dweb2/index/topic_detail/581518524821154](https://wx.zsxq.com/dweb2/index/topic_detail/581518524821154)
- 源码:[https://github.com/fuzhengwei/guide-idea-plugin](https://github.com/fuzhengwei/guide-idea-plugin)
## 5. 你会学到什么?
- 有专属的设计模式实战类练习项目,通过文档、代码、不定期直播的方式讲解
- 学习大厂码农开发都是怎么承接需求、设计评审、代码开发、发布上线的
- 解决各类技术问题,向我提问你遇到的技术问题、职业发展、跳槽就业
## 🎭 适宜人群
## 6. 适宜人群
- 具备 Java 编程基础的研发人员,想提升自己的技术能力
- 希望提升编码思维,剔除到代码中的坏味道
- 有意愿成为架构师,但还处在一定瓶颈期
- 想加入大厂做码农,但总感觉找不到门路
## 😄 关于作者
## 7. 关于作者
小傅哥,《重学Java设计模式》作者,一线互联网 `java` 工程师、架构师,开发过交易&营销、写过运营&活动、设计过中间件也倒腾过中继器、IO板卡。不只是写Java语言,也搞过C#、PHP,是一个技术活跃的折腾者。
小傅哥,《重学Java设计模式》作者,一线互联网 `java` 工程师、T8架构师,开发过交易&营销、写过运营&活动、设计过中间件也倒腾过中继器、IO板卡。不只是写Java语言,也搞过C#、PHP,是一个技术活跃的折腾者。
- 我的博客:[bugstack.cn](https://bugstack.cn/)
- 我的Github:[`https://github.com/fuzhengwei`](https://github.com/fuzhengwei)
- 我的公众号:[bustack虫洞栈](https://bugstack.cn/assets/images/qrcode.png)
![](https://bugstack.cn/assets/images/qrcode.png)
## 8. 联系作者
## 💬 联系作者
- **加群交流** 本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “小傅哥” 微信(fustack),备注【星球成员编号】。
- **加群交流**
本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “小傅哥” 微信(fustack),备注:`星球成员编号`。
<img src="https://gitcode.net/KnowledgePlanet/Lottery/-/raw/master/doc/_media/fustack.png" width="180" height="180"/>
<div align="center">
<img src="https://bugstack.cn/images/personal/fustack.png" width="180px">
<div>微信:fustack</div>
</div>
- **公众号(bugstack虫洞栈)**
<br/>
沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、DDD专题案例、源码分析等
- **公众号(bugstack虫洞栈)** - 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获
<div align="center">
<img src="https://bugstack.cn/images/personal/qrcode.png" width="180px">
<div>公众号:bugstack虫洞栈</div>
</div>
## 🎉 收尾感谢
## 9. 收尾感谢
👣走过的路会留下足迹,👨‍💻‍码过的文会盛满四季。
有时候真的很感谢自己还能坚持做原创技术输出,即使再忙再累也给自己一个当下的交代,在写文章的过程中甚至几乎没有过周末,也没有过半夜。但当自己完成每一篇文章后,那份给自己的努力也传播给其他人技术知识。也希望读者们能给多多点点在看分享和留言,这几乎是支撑我写作的最大动力回馈。
能力,是你前行的最大保障。哪怕你是兢兢业业的工作者,也是拥有能留下的本事和跳出去的能力,才会相对安稳度过动荡。
能力,是你前行的最大保障。哪怕你是兢兢业业的工作者,也是拥有能留下的本事和跳出去的能力,才会相对安稳度过动荡。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册