转自:http://www.51testing.com/html/83/n-3718883.html
有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也。非也,这是近几年,对于技术这碗饭有一些心得体会,大多数人成为某领域顶级专家可能会有些难度,但应对日常工作,成长为资深研发工程师、技术专家、甚至成为小团队的Team Leader,其实并不难。
多读书、多看报,多研究常用开源框架的源码,比如:github.com,这里汇集了全球工程师的智慧!
言归正传,下文会列举工作中常用的一些技术,以及如何锻炼提升自己的架构能力。
由于每块技术市场上基本都有对应的网络资料或书籍,所以本文只是少篇幅列举工作中用到的核心知识点,抛砖引玉,属于进阶型,不适用初学者。
基础知识 javaspring
spring boot
spring cloud
ibatis
设计模式
Log日志
数据库
目前使用最多还是mysql,虽然单机性能比不上oracle,但免费开源,单机成本低且借助于分布式集群,可以有强大的输出能力。
连接池事务
分库分表
id生成器
DAO层接口性能监控
读写分离
sql技巧
其它
web容器/协议/网络 负载均衡Nginxtomcathttp协议CDN其它
常用三方工具包
Google GuavafastJsonlog4Jcommons-codeccommons-lang3commons-ioQuartzHttpClientJavassist
中间件
RPC框架
dubbodubboxmotanThriftRPC框架性能比较
MQ消息
ActiveMQRabbitMQKafkaRocketMQ
缓存
rediscodismemcache
搜索 Elasticsearch
分布式数据框架
cobarMycattshardingtddlsharding-jdbc
分布式协调服务
zookeeper
大数据
HbaseSparkHadoopHiveFlinkother框架
配置管理
super-diamonddisconfapollo
分布式文件系统
FastDFS
其它
数据库binlog的增量订阅&消费组件数据库同步系统
系统架构
架构经验经典案例通用技术方案选型编码前3000问
项目管理
论需求调研的重要性项目生命周期项目管理案例代码规范git常用命令ab性能压测maven仓库
运维
快速排查线上问题linux常用命令
本地代码调试
Docker
个人成长 Tom的读书单
个人成长与职业规划
学习网站
infoQ云栖社区并发编程网开源中国stackoverflow 视频网站 慕课网网易云课堂腾讯课堂 github 伯乐在线程序员素养
其它 常用软件工具
一致性hash算法
面试
java面试题大数据面试题 回车与换行的区别github上fork项目后,如何同步更新后面提交