第二课
使用Spring boot和spring data之前,CRUD的配置需要多长时间?业务逻辑需要多长时间?总时间一个小时,业务逻辑十分钟。
思考:Spring boot&Spring data到底是为你做了什么?
Q: How did we apply design principles in the code?
A: 1. DAO (Data Access Object)2. SOLID single responsibility
你为何用python,Ruby,javascript?
Java不是很吸引人,但是非常稳定。script非常fancy但是坑可能会很多。
思考:框架和框架之间到底什么不同?
spring data REST
NoSQL db
MongoDB
Spring data DB
消息中间件
RabbitMQ
WebSocket
Spring boot推荐的架构好不好?能否进一步的简化呢?
Query service只负责增删改查。service层可以取消掉?
HTTP Verbs: GET/POST/PUT/DELETE/PATCH + HTTP status code
Richardson's REST maturity model
RPC call优点:可能快于rest
Remote Procedure Call(RPC) is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details. A procedurecallis also sometimes known as a functioncallor a subroutinecall.
有哪些resource,需要哪些status code?从来没有考虑过status code。
curl localhost:8080/people?size=5 -> curl 的api测试工具
理解数据库的方法
如何自学redis: storing data,query data。任何database都离不开这两个方面。
drawback of relational database
1. schema: 非常难修改。从最底层一层一层往上改
NoSQL: Not Only SQL。Hadoop时候没有SQL又太难用了。所以后来又支持SQL。why
何时使用NoSQL还是SQL
1. structural vs non-structural 比如社交关系是一个图,SQL就很难实现
几个几百万行的表join的时候,性能下降非常快
Fault tolerance
database sharding
part of MEAN stack