推荐10个GitHub上适合练手的后端项目(涵盖初中高阶)
上周,我们推出了26个好玩又有挑战的前端练习项目。
不少同学留言说,那后端的呢?后端也要!
淘系工程师一呼就应,我们邀请了2位淘系技术后端工程师,筛选出10个难度层层递进,好玩且实用的后端项目,包含java类库中的“瑞士军刀”工具、可视化API展现等等,难度依然分为【初级篇:4个】、【中级篇:3个】、【高级篇:3个】,不同学习诉求的同学可按需选择~
初级篇 guavaguava是一个包含各种集合类型及工具类的java库,被誉为java类库中的瑞士军刀,提供多种java标准库之外的复杂集合、map、图等高级数据结构,并包含非常多常用的工具类,例如缓存、IO、哈希、并发、string工具类等。
https://github.com/google/guava
guice是一个轻量级的java依赖注入(DI)框架。开发中大型项目时基本上都离不开依赖注入框架的使用,相比spring的庞大复杂,guice是很好的DI入门框架,纯粹的DI能力及少量的代码能够让你快速使用和理解依赖注入的原理。
https://github.com/google/guice
feign
feign是一个java HTTP客户端绑定器,使用它能通过类似spring mvc注解方式快速创建restful API接口,大大简化了调用远程http接口时所需工作量。
https://github.com/OpenFeign/feign
swagger-uiswagger-ui是一个可视化API展现工具,它根据代码里的OpenAPI规范自动生成带有可视化文档的可交互API界面,便于后端实现和客户端使用。
https://github.com/swagger-api/swagger-ui
中级篇 nettyNetty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。
https://github.com/netty/netty
https://github.com/reactor/reactor-core
arthasarthas是开源的java诊断工具,当你的线上JAVA服务出现问题而又无法远程debug时,此时可通过arthas查看运行中的java进程状态、监测程序处理过程等而无需修改代码或者重启服务。
https://github.com/alibaba/arthas
高级篇 zookeeperzookeeper是一个java编写的分布式协调框架,它基于Paxos一致性算法,为分布式系统(例如hadoop、hbase、jstorm等)提供配置、消息队列、分布式所、命名服务等能力,是分布式系统的“大脑”。
https://github.com/apache/zookeeper
https://github.com/apache/flink
Kubernetes
Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。源自Google 15 年生产环境的运维经验,同时凝聚了社区的最佳创意和实践,这个项目偏底层,说不上好玩,但是比较硬核。官网:https://kubernetes.io/
github:https://github.com/kubernetes/kubernetes
我看见你又在点“收藏”了。
我知道了,下期你们还要移动端篇,安排中。
✿ 拓展阅读