# 第01节:环境、配置、规范
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!
接下来的章节,小傅哥会带着大家以DDD架构和设计模式落地实战的方式,进行讲解和实现分布式抽奖系统的代码开发,那么这里会涉及到很多DDD的设计思路和设计模式应用,以及互联网大厂开发中所应用到的技术,包括:SpringBoot、Mybatis、Dubbo、MQ、Redis、Mysql、ELK、分库分表、Otter 等。那么在开始项目之前,你可以仔细阅读如下介绍信息,方便你能更加快速的进入学习。
# 零、优秀作业
# 一、开发环境
- JDK 1.8
- SpringBoot 2.6.0
- Dubbo 2.7.10
- DB-ROUTER
自研分库分表路由组件,带着你一起写个SpringBoot Starter
- vue
开发H5大转盘抽奖
- 微信公众号
对接提供API,回复抽奖
- Docker
本地和云服务都可以
其他所需环境如下(mysql\kafka\zk\redis\xxl-job):
- 不只是 DDD 分布式项目开发,你还可以学习到关于 Docker 的实践使用
# 二、工程列表
📢 注意:db-router-spring-boot-starter 为自研数据库路由组件,你需要下载代码到本地,自行构建到本地仓库进行使用。章节中也会介绍这个路由组件的设计和开发
# 三、学习说明 - 这是重点
- 你必须在星球APP🔝置顶消息中,申请加入项目,才能看到项目代码以及项目小册。在置顶消息中有完整的申请说明
- 学习入口从
小册
页进入(审核后才能阅读,否则温馨提示404):https://gitcode.net/KnowledgePlanet/Lottery/-/wikis/home (opens new window) - 课程的每一个章节都包括:视频、文章、代码(分支),这里重点说明代码分支:课程的每一个章节中都会对应上代码的分支,需要进行切换分支学习,同时分支中
doc/assets/sql
里是每个分支所需要的最新SQL语句,在所在的分支中查看并更新到自己库表即可。 - 【建议】:学习过程中最好按照章节来学习,这些内容都是承上启下的,并且每个章节都有视频带着你入门之后在结合文章和代码一起学习,这么样的一个过程会让你的学习效果更加好。当然你要只是把代码抄下来,这样是没有意义的,最好结合自己的思考把代码敲下来
- 建表语句:doc/asserts/sql (opens new window) -
建议随非分支内sql版本走,因为需求不断迭代升级优化,直接使用最新的会遇到在各个分支下的代码运行问题
- 代码仓库:
2种使用方式
- 密码方式:登录的用户ID为 CSDN 个人中心的用户ID,https://i.csdn.net/#/user-center/profile (opens new window) 密码为 CSDN 登录密码。如果没有密码或者忘记,可以在 CSDN 登录页找回密码。
- SSH 秘钥免登录方式,设置:https://gitcode.net/-/profile/keys (opens new window) 文档:生成 SSH 密钥 (opens new window)
- 学习使用:下载代码库后,切换本地分支到wiki中章节对应的分支,这样代码与章节内容是对应的,否则你在master看到的是全量代码。
- issue:一些常见问题可以参考 issue 文档:https://gitcode.net/KnowledgePlanet/Lottery/-/issues (opens new window)
# 四、作业提交
小傅哥希望你下学习的过程中真实的留下学习足迹👣,我不骗你,你也不要骗我。中国人不骗中国,我们一起好好进步。
# 1. 工程作业
- 作业空间:https://gitcode.net/CreativeAlliance (opens new window)
- 使用说明:为星球用户提供工程代码提交空间,你可以把抽奖系统的学习代码提交到空间中,
按照代码仓库名称标准,项目-星球用户编号-作者ID 例如:Lottery-1-xiaofuge
示意 |
---|
# 2. 文字作业
- 你可以在星球APP中提交
作业题目
| 网页提交:https://t.zsxq.com/MvFYJe2 (opens new window)
- 今天的你学到了哪个章节?
- 遇到什么问题?
- 怎么解决的?
- 掌握到了什么知识?
基于大家的学习反馈,小傅哥会在后续的直播中统一解决相关学习问题。加油,这趟车人人有收获!
注意️:按照作业提交频次和质量,小傅哥会组织一波奖品。按照作业提交数量、质量、点赞、留言,综合评分,送技术图书等奖品。
# 五、开发规范
分支命名:日期_姓名首字母缩写_功能单词,如:210804_xfg_buildFramework
提交规范:作者,type: desc
如:小傅哥,fix:修复查询用户信息逻辑问题
参考Commit message 规范
# 主要type
feat: 增加新功能
fix: 修复bug
# 特殊type
docs: 只改动了文档相关的内容
style: 不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
build: 构造工具的或者外部依赖的改动,例如webpack,npm
refactor: 代码重构时使用
revert: 执行git revert打印的message
# 暂不使用type
test: 添加测试或者修改现有测试
perf: 提高性能的改动
ci: 与CI(持续集成服务)有关的改动
chore: 不修改src或者test的其余修改,例如构建过程或辅助工具的变动
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 六、加入-项目组
- 本星球项目组以讨论技术为主,遵守职业道德,遵守通行版《网络准则》
- 禁止推送广告、发不文明链接、非正常图片等内容
- 禁止刷屏、发送集赞、小游戏等相关营销推广类内容
- 禁止频繁发送过于负面情绪内容、不要聊一些三俗内容
加群交流
本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “小傅哥” 微信(fustack),备注:你的:星球编号
。