想给自研的 app 开发一套 restfulAPI,
之前主要专注于客户端本身,对后端一无所知,花了几天时间网上查资料,没想到搜了一圈下来,连最基本的概念、边界都没能搞清楚,
网文几乎清一色地 一上来就谈论 怎么做、怎么做,就是只字不提 “为什么”、“为什么”,
后端是我初学的领域,我需要一本书,或者一些知识服务,能 从零到一地为我呈现清楚,为了提供远程服务给客户端,在服务端这边到底需要做什么、每个环节究竟是出于什么考虑而被设计,
比如 tomcat,它的边界是什么?它能提供什么?它不能提供什么?(它是应用服务器,监听端口,接收请求,那么它怎么通知 web 程序呢?),servlet 类似于 android 的 sdk 吗? spring boot 是基于 servlet 封装和定制的一整套开发框架吗?……
我需要首先搞清楚它们各自所处的 环节、关系、职责边界,非常非常需要,一上来就怎么做、怎么做,让我 非常困扰,
所以想请教一下万能的 v 友,看看有没什么自己看的好的书籍推荐
1
hantsy 2020-03-18 16:21:35 +08:00
Manning, Apress, Oreilly 书大把,自己选择吧。
|
2
jatesun 2020-03-18 16:29:40 +08:00
springboot 一把梭就行了
|
3
yidinghe 2020-03-18 16:37:48 +08:00
楼主如果需要的是设计方面的书,推荐话题:1、重构; 2、敏捷软件开发; 3、测试驱动开发。
|
4
dapking 2020-03-18 16:43:08 +08:00
建议看视频,如果只了解概念,只看前两节介绍就行。弄清楚概念,再网上找资料。
|
5
linhua 2020-03-18 16:43:28 +08:00
Head First Servlet JSP
从网上找培训班的视频看 |
6
ala2008 2020-03-18 17:45:48 +08:00
还别说,大部分人都是不知道为什么就入门了。。应该有个教学 /培训流程
|
7
hooych 2020-03-18 17:48:18 +08:00
你学习 Android 的时候也一上来就追问为什么吗?
为什么 Activity 要继承 Context ? |
8
aguesuka 2020-03-18 17:54:35 +08:00
effective java
|
9
eden999 2020-03-18 18:01:40 +08:00
应该是先学会用,代码跑起来,再深究原理
|
10
zzzzzzggggggg 2020-03-18 18:01:55 +08:00
建议最开始的时候找个功能完善的 demo 跑起来就行了,至于原理和很多为什么可以边用边找资料看,不然会很累。
个人经验之谈。 |
11
Lonely 2020-03-18 18:03:51 +08:00
1. 你想入门的话可以看看《 Java Web 高级编程》,书是老了一点,不过很基础的东西没多大变化。
2. 你入门 Android 的时候就搞懂每个东西“为什么”了吗? 3. “我需要一本书,或者一些知识服务,能 从零到一地为我呈现清楚,为了提供远程服务给客户端,在服务端这边到底需要做什么、每个环节究竟是出于什么考虑而被设计”,我暂时没想到哪本大而全的书告诉你所有这些,你可以等入门了再根据需要去找某个方面更深入的书,比如想知道 tomcat 的原理,可以去看解析 tomcat 的书。 |
12
haochih 2020-03-18 19:04:28 +08:00 3
楼主的问题很好,其实楼主所遇到的问题,归根到底还是和 Java 各项标准及其有关框架的发展历史有关。每个标准或者框架出来都是为了解决什么问题,往后发展过程当中也就遇到了楼主所说的各个组件之间的关系,职责边界。所以我觉得要搞清这个问题,Google 其历史和它出现的初衷,然后再通过类似于 A VS B 之类的问题应该能了解大概(我就是这么做的)。目前来看后端开发的书籍好像解决不了这个事情。
|
13
oneend 2020-03-18 19:24:12 +08:00 1
有一条降级之路,学下 php 吧,毕竟这是世界上最好的语言,一天入门两天精通。
|
14
meteor957 2020-03-18 19:24:15 +08:00 via Android
同问
|
15
q447643445 2020-03-18 22:23:52 +08:00
我觉得会出现这样问题就是因为同样是编程,因为已经走过一遍萌新的流程了 再去学另外一系列技术栈后
会有跳跃思维,想马上搞懂每个组件,框架,中间件的作用. 跟我最近一段时间在学前端也碰到 lz 这情况, 刚敲代码的时候做过一段时间前端, 其实就是简单的 bootstrap 和 jq . 然后一直专职后端没做过前端了. 想重新捡起来学一下, 多了好多东西 es6 wepack npm node 也搞不清是什么东西 , 有什么关系, 为什么. 困惑跟 lz 简直一模一样. 反正慢慢折腾就行了 毕竟已经不是萌新了 |
17
lidlesseye11 2020-03-19 00:31:12 +08:00
@haochih
说的很对。 我就一直觉得计算机书籍里缺历史书。以 java 为例,能有一本书以时间为轴介绍 JavaEE, Spring, Struts, tomcat, jboss, blabla 的开发过程,标准的制定过程等等。这些东西都是为了解决什么问题,由哪些大佬 /公司一步步推动的。 而不是一上来就是 spring, ap server 各种 magic 甩脸 |
18
zhoudaiyu 2020-03-19 00:48:14 +08:00 via iPhone
Core Java Effective Java Thinking in Java Algorithms 4th Spring in Action
|
19
zhangshangyu 2020-03-19 01:42:00 +08:00 via Android
可以按这个顺序学习了解
socket 服务器,http 协议及服务器,servlet 规范 ,Tomcat 容器 spring,spring mvc,spring boot 每个模块都可以试着手写下最简单的能跑起来的 demo |
20
wozhizui 2020-03-19 07:57:17 +08:00
廖雪峰 java 教程,免费,不过还没更新完。偏应用的 web 开发,才刚开始更新,前面都是 Java SE 的内容。
链接放一个,https://www.liaoxuefeng.com/wiki/1252599548343744 |
21
zifangsky 2020-03-19 10:19:12 +08:00
|
22
bk201 2020-03-19 10:39:26 +08:00
首先你都不知道他用来干嘛,那你为什么要去了解他怎么实现干嘛的
|
23
calanlot 2020-03-19 15:09:46 +08:00
会 JS 的话直接上 nestJs
|