Skip to main content

如何学习12306

🚀 如何把12306项目“吃透”?

如果你正在为校招面试做准备,面临着简历上“烂大街”的项目,面试机会较少,或者希望将 12306 项目充实到简历中等问题,欢迎了解「拿个offer-开源&项目实战」知识星球。我们提供以下主要服务:

  • 面试服务:获取完整项目文档与教学视频,涵盖项目从零到一的启动方法,如何在简历中突显 12306 项目经验,项目亮点解析,以及分享包含 12306 面试真题的大厂面试经验。
  • 项目学习:向我1v1发起问题提问,包括但不限于 12306 项目,会认真对待每个问答;提供简历编写指南服务,同时使用星球内部公有云中间件环境,避免本地环境开发的繁琐配置。

学习路线

12306 铁路购票系统学习总体分为三块:组件库开发、业务梳理以及业务系统开发。

组件库开发

组件库的产出源于对公共功能的封装,避免了在不同项目之间相互复制代码的情况。当然,如果这种复制代码的方式出现问题,那么需要同时对所有项目进行改造,从成本和优雅设计的角度来看并不可取。

为了统一各个项目可能使用的公共内容,我们在这里规划了常用且通用的功能点,供大家使用,以提高编码效率。如果有一些好的想法,在通用的前提下,可以联系我们将其加入到各自语义的起始包中。

组件库的开发宗旨是汇总资源,更高效地提供业务敏捷开发的能力,后续的迭代也将遵循这一原则。目前,这只是一个起点,是整体规划的一部分,还有许多可以提升的空间。

目前已有组件如下,可能新增加的组件更新不及时,实际以代码库 /frameworks 目录下为准。

业务梳理

在 12306 铁路购票系统中,包括会员、购票、订单、支付以及网关服务。

系统开发

当你对 12306 系统的业务有了初步认识,就可以考虑对这个系统进行从零到一的开发。

在正式开发框架之前,你需要把一些前置技术都有一定的掌握。不然极有可能是稀里糊涂的写,虽然写完了,但是吸收情况达不到最终的理想效果。

技术名称版本官网
1Spring Boot基础框架3.0.7https://spring.io/projects/spring-boot
2MyBatis-Plus持久层框架3.5.3.1https://baomidou.com
3HikariCP数据库连接池5.0.1https://github.com/brettwooldridge/HikariCP
4Redis分布式缓存数据库Latesthttps://redis.io
5RocketMQ消息队列2.2.3https://rocketmq.apache.org
6ShardingSphere数据库生态系统5.3.2https://shardingsphere.apache.org
7SpringCloud Alibaba分布式框架2022.0.0.0-RC2https://github.com/alibaba/spring-cloud-alibaba
8SpringCloud Gateway网关框架2022.0.3https://spring.io/projects/spring-cloud-gateway
9FastJson2JSON 序列化工具2.0.36https://github.com/alibaba/fastjson2
10CanalBinLog 订阅组件1.1.6https://github.com/alibaba/canal
11HuTool小而全的工具集项目5.8.2https://hutool.cn
12Swagger3项目 API 文档框架3.xhttp://swagger.io
13Knife4jSwagger 增强框架3.xhttps://doc.xiaominfo.com
14Maven项目构建管理3.9.1http://maven.apache.org
15RedissonRedis Java 客户端3.21.3https://redisson.org
16Sentinel流控防护框架1.8.6https://github.com/alibaba/Sentinel
17Hippo4j动态线程池框架1.5.0https://hippo4j.cn
18XXL-Job分布式定时任务框架2.4.0http://www.xuxueli.com/xxl-job
19SkyWalking分布式链路追踪框架9.5.0https://skywalking.apache.org
20JetCacheJava 缓存框架2.7.3https://github.com/alibaba/jetcache
21TTL增强版 ThreadLocal2.14.3https://github.com/alibaba/transmittable-thread-local

另外,我们在手摸手从零到一开发章节中,会有非常详细的系列教程,帮助大家梳理以及开发。

大家在学习过程中有任何疑问,都可以在知识星球中发表主题或者向我提问,一般都会在 24 小时内保质保量回复。