前言
有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也。
其实不然,笔者计算机专业出身,对于技术这碗饭有一些心得体会,大多数人成为某领域顶级专家可能会有些难度,但应对日常工作,成长为资深研发工程师、技术专家、甚至成为小团队的Team Leader,并不难。
多读书、多看报,多研究开源框架源码,比如:github.com,这里汇集了全球工程师的智慧!
言归正传,本文会列举工作中常用的一些技术,以及如何锻炼提升自己的架构能力。
由于每块技术市场上基本都有对应的网络资料或书籍,所以本文只是少篇幅列举工作中用到的核心知识点,抛砖引玉,属于进阶型,不适用初学者。
基础知识
HashMap的原理
https://www.jianshu.com/p/d2c14a10266e
kafka之partition消费者并行度测试心得
https://blog.csdn.net/willwill101/article/details/50393416
k8s与各网络插件集成
https://www.jianshu.com/p/9e02e755bf54
软件架构设计-五视图方法论
https://blog.csdn.net/nnsword/article/details/78109126
Flink面试题
https://blog.csdn.net/huzechen/article/details/102827576
数据库
目前使用最多还是mysql,虽然单机性能比不上oracle,但免费开源,单机成本低且借助于分布式集群,可以有强大的输出能力。
web容器/协议/网络
常用三方工具包
- Google Guava
- fastJson
- log4J
- commons-codec
- commons-lang3
- commons-io
- Quartz
- HttpClient
- okhttp
- Javassist
- lombok
中间件
RPC框架
MQ消息
分布式缓存
本地缓存
搜索
分布式数据框架
分布式协调服务
配置管理
分布式文件系统
分布式任务调度框架
大数据
其它
系统架构
项目管理
运维
个人成长
优秀开源项目
1. SpringBlade
SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot单体式微服务架构并存的综合型项目,采用Java8 API重构了业务代码,完全遵循阿里巴巴编码规范。采用Spring Boot 2 、Spring Cloud Hoxton 、Mybatis 等核心技术,同时提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。 官网:https://bladex.vip
项目地址: https://gitee.com/kisee/SpringBlade
1. wisdom-education
基于 SpringBoot + Mybatis + Shiro + mysql + redis构建的智慧云智能教育平台。
项目地址:https://gitee.com/zhuimengshaonian/wisdom-education
项目演示地址
管理后台 http://180.76.146.67:8002 (admin 123456)
学生端 http://180.76.146.67 (student 123456)
智慧云智能教育系统管理平台
项目源码地址: https://gitee.com/zhuimengshaonian/wisdom-education-admin-front
- 功能模块:系统首页、教育教学模块、考试管理模块、统计分析模块、系统设置模块
- 试题管理:支持excel模板导入试题、支持使用富文本编辑试题及插入数学公式,同时还支持上传试题教学视频
- 试卷管理:支持将试卷导出成word文档、html页面进行打印、支持富文本图片导出到word
- 试卷批改功能:支持教师后台批改试卷,主观题系统自动评分、非主观题由教师评分、错题可设置添加到学员错题本
- RBCA权限管理:主要包括用户、角色、权限
智慧云智能教育平台学生端
项目源码地址: https://gitee.com/zhuimengshaonian/wisdom-education-front - 功能模块:学员在线做课程试题、在线考试、错题本功能记录、考试记录、个人中心
2. dts-shop
聚惠星商城 DTS-SHOP,基于 微信小程序 + springboot + vue 技术构建 ,支持单店铺,多店铺入驻的商城平台。项目包含 微信小程序,管理后台。基于java后台语言,已功能闭环,且达到商用标准的一套项目体系。
项目地址:https://gitee.com/qiguliuxing/dts-shop
3.x-RdbmsSyncTool
RdbmsSyncTool是使用javaFx开发的关系型数据库同步工具xJavaFxTool的插件集合,可实现打包后让框架自动加载,可在线下载和更新工具,后续小工具将在这个项目中添加,实现动态jar包加载。
项目地址:https://gitee.com/xwintop/x-RdbmsSyncTool
4. QuickD
QuickD是一个前后端分离快速开发平台,是基于 Spring Boot 和 Vue 开发,整合Flowable工作流、Shiro、Redis等,来帮助中小型企业及个人实现敏捷化的应用交付和运营管理,并提供代码生成器、通用前端等业务组件,来帮助开发者聚焦于业务,加速中小型企业数字化转型。http://website.jhyj56.com/
项目地址:https://gitee.com/quickd/quickd
5. JeecgBoot
基于代码生成器的低代码开发平台,开源界“小普元”超越传统商业开发平台!前后端分离架构:SpringBoot 2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新开发模式(OnlineCoding-> 代码生成-> 手工MERGE),帮助Java项目解决70%重复工作,让开发更关注业务逻辑,既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性。 http://www.jeecg.com
项目地址:https://github.com/zhangdaiscott/jeecg-boot
6. ExeBuilder
ExeBuilder 是一款利用 JDK 模块化的特性把jar打包成独立exe的工具,它支持GUI和控制台应用程序的创建。
项目地址:https://gitee.com/qsyan/ExeBuilder
7. keycloak
Open Source Identity and Access Management For Modern Applications and Services https://www.keycloak.org
项目地址:https://github.com/keycloak/keycloak
8. MaxKey
MaxKey(马克思的钥匙),寓意是最大钥匙, 是用户单点登录认证系统(Sigle Sign On System),支持OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,提供简单、标准、安全和开放的用户身份认证和单点登录,包含用户认证、单点登录、资源管理、权限管理等。
项目地址:https://gitee.com/shimingxy/MaxKey
9. microservices-platform
SpringCloud, 基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合并且高度可配置化,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。
项目地址: https://gitee.com/zlt2000/microservices-platform.git
10. middle-ware-parent
SpringBoot集成各类常用开发中间件,分库分表,缓存,消息队列,定时器,权限管理等组件
项目地址:https://gitee.com/cicadasmile/middle-ware-parent
11. chjm872/mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
项目地址:https://github.com/chjm872/mall
其它
今日头条
新开了个今日头条号:微观技术,分享各个行业优秀的架构设计方案、技术心得、心路历程等,欢迎各位技术达人关注、经验交流