原谅我标题党了😂 楼主是海淀某校 CS 本大四了,现在在某大厂做 Java 后端实习,主要是微服务治理相关 刚刚入门,准备学一下各种框架 但是感到迷茫,后端东西太多了,先进的过时的混杂在一起,有点看不清 而且对学习顺序也无从把握 想问下各位 julao 们,这条路该如何学习? 或者说,如何因应未来的技术趋势,来搭建自己的技术栈和能力栈?
1
714105382 OP 好像话说得不明不白,举个例子吧
比如我知道 SpringBoot 已经成为主流,公司也在用,但是如何快速学习呢? 再比如说,公司架构还是 SpringMVC,本质上还是 Servlet.但是也有组里在搞异步化,Spring5 也上了 WebFlux 问题是,MVC 是否能在未来较长时间内保持主流? 如果不是的话,这些新出的东西是不是新人应该分配更高的优先级? |
2
714105382 OP 感觉自己想问: 如何穿透技术繁复多变的表象,看到技术发展的先进性和本质?
|
3
StarkWhite 2019-08-28 10:45:43 +08:00
建议你多了解下 GraphQL,Facebook 出的,解决前后端接口联调的各种痛点
https://www.v2ex.com/t/589138 |
4
714105382 OP @StarkWhite 嗯嗯,谢谢您!
|
5
STRRL 2019-08-28 10:51:00 +08:00 1
多思考一下本质的需求吧 我也是刚毕业一年
虽然很多技术需求都有比较成熟的方案了,但是场景不同,要解决的问题不同,某些轮子用起来可能并不舒服,所以人们又造了新的轮子。 比如说微服务,很早很早很早就已经提出来了(《 Clean Architecture 》里看到的),但是最近才大规模应用起来。 在 follow 新技术的同时, 多想, 多看书, 即使是所谓过时的东西里的某些思想也可能是精华. XD |
6
zifangsky 2019-08-28 11:01:04 +08:00
|
7
weo0 2019-08-28 11:05:30 +08:00
java 后端简直浩如烟海,我快放弃了(大雾)
|
8
LeeSeoung 2019-08-28 11:06:56 +08:00
网上搜 java 技术栈思维导图,保证你看不完。。
|
9
chendy 2019-08-28 11:08:12 +08:00
找一个(或者几个)感兴趣而且不冷门的东西一直扣就行,兼顾了解一些新东西,没了
当然挺枯燥的,很可能扣不动… 顺便吐槽一下 WebFlux 真的异端( 5.2 之后集成 kotlin 协程目测好用很多),spring5 之后加入的一些 funcational api 也是异端 |
10
519718366 2019-08-28 11:08:44 +08:00
写 bug,然后查 bug,最后解决 bug🌚
|
11
714105382 OP 感谢大家
|
12
dk7952638 2019-08-28 11:30:39 +08:00
多写代码,在项目允许的情况下大胆尝试新技术,多踩坑,总结最佳实践
|
13
Kontinue 2019-08-28 12:28:05 +08:00
目前我刚入职也是这样子的,但现在是这么想的,首先保证 ssm+boot+spring 基本模块能熟练( Data 等),然后看公司可能会用到的,和自己感兴趣的。比如果 docker 作为工具可以学习下,然后可能会用到 rpc,就看下 zookeeper 和 dubbo,然后就各类中间件基本的用法都掌握以下,不追求底层和原理。然后针对于自己最有兴趣或公司用的最多的,花时间去了解下底层,看下源码。目前我是这么想的。。。每个都深耕哪有这么多精力,毕竟我觉得不论中间件,光光 spring 你要做到精通也是件很难的事情
|
14
taogen 2019-08-28 12:29:05 +08:00 via Android
我列了一个技术栈可以看看 https://github.com/tagnja/techniques-tree
|
16
charlie21 2019-08-28 12:58:12 +08:00
只学能带来 money 的。你学太多的内容、内容却无法带来 money,那么只能说明这个内容不值钱,那么你学它是图啥呢
|
17
charlie21 2019-08-28 12:58:47 +08:00
什么 JB 浩如烟海,通通证明了这是不值钱的技术
|
18
sorra 2019-08-28 13:01:54 +08:00
先耕熟 JDK 和 Spring,掌握其原理,设计模式和数据库也要熟练,再学习分布式系统基础知识,要有一定代码量才能真正理解技术
|
19
Kontinue 2019-08-28 13:05:59 +08:00
@714105382 我觉得能,你看 spring 出到 5,boot 才 2,至少还有 3 年哈哈哈。但是 web 框架和 orm,你 ssm 搞定换别的不说轻轻松松吗
|
20
charlie21 2019-08-28 13:07:35 +08:00 1
反事实度量法:
假设某一事实不存在或者情况相反,估算经济运行中可能出现的结果,由此来度量该事实对于经济运行的影响 https://book.douban.com/review/7955709/ 诶你不如问一下后端有什么东西不需要学,谁能回答你 这才是说明他是懂行的。 |
21
714105382 OP 或者大家讲讲什么东西过时了不需要学也好
|
22
vmskipper 2019-08-28 14:57:29 +08:00
工程的话搞 kubernate serverless 未来吃香
|
24
leafdream 2019-08-28 15:48:06 +08:00
人生苦短
|
25
mazai 2019-08-28 15:54:42 +08:00
跟上潮流就行了,某项技术突然火起来谁也无法预知。而且国内公司对新技术大多书都保持观望状态。
|
26
Aresxue 2019-08-28 16:14:15 +08:00 1
把基础复习牢固了,再去研究各种中间件。像 linux 的核心函数、多路复用模型、用户态内核态的切换、锁机制,通信模型里的 OSI 或者 TCP 四层模型,中间把 TCP 捋顺了,像你做微服务,通信是极其重要的一块,spring cloud 为什么用 http,dubbo 的 rpc 又是怎么实现的,没有 TCP 的相关知识做基础你是不可能研究透的。
|
27
snappyone 2019-08-28 18:55:55 +08:00 via Android
基础好学啥都快,硬着头皮搞定几个框架源码,后面一路顺风
|
28
33and66 2019-08-29 09:31:56 +08:00
基础打牢,再去理解上层建筑就容易多了。
比如,Java 这么多 web 框架,还不是基于一个 Servlet 体系。 比如,数据库 ORM 层那么多,还是基于基本数据库。 很多分布式框架,都是从由一个个小组件组合出来的,万丈高楼平地起。 |
29
yizmaoaa 2019-08-29 10:43:18 +08:00
参与开源项目
|