update note

This commit is contained in:
lemonchann
2020-01-08 00:02:04 +08:00
parent 0702cae7c7
commit d752425077

View File

@@ -167,12 +167,12 @@ author: lemonchann
## 数据库和存储
程序运行数据都在内存中,一个后台服务系统一般来说都需要考虑数据落地的问题,这时就会涉及到数据库选型问题。数据库分为关系型数据库和非关系型数据库。
**程序运行数据都在易失性的内存中,需要持久化存储时就需要数据库。**一个后台服务系统一般来说都需要考虑数据落地和持久性存储的问题,这时就会涉及到数据库选型和应用,数据库分为关系型数据库和非关系型数据库。
**关系型数据库指采用了关系模型来组织数据的数据库代表是MySql。
关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。**
**关系型数据库:**指采用了关系模型来组织数据的数据库代表是MySql。
关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
**非关系型数据库以键值对存储且结构不固定每一个元组可以有不一样的字段每个元组可以根据需要增加一些自己的键值对不局限于固定的结构可以减少一些时间和空间的开销。代表有redis、memcached腾讯内部组件ckv也是非关系型数据库**
**非关系型数据库**以键值对存储且结构不固定每一个元组可以有不一样的字段每个元组可以根据需要增加一些自己的键值对不局限于固定的结构可以减少一些时间和空间的开销。代表有redis、memcached腾讯内部组件ckv也是非关系型数据库。
#### 推荐书:
@@ -182,25 +182,29 @@ author: lemonchann
[redis官方文档](https://redis.io/documentation) [redis中文网](http://redis.cn/)
> 关于redis还有很多应用比如基于redis的分布式锁的应用高并发抢红包模型等这个后面可以写一篇文章。
> 关于redis还有很多应用比如基于redis的分布式锁的应用高并发抢红包模型等这个后面可以写一篇关于分布式锁的原理和应用文章。
## 算法
如今校招社招大厂笔试都会考察算法,即使不是为了笔试作为软件从业者也应该经常练,保持手感。学习算法是学习解决问题的通用性方法有助于提高逻辑思维能力。
**计算机算法就是利用编程语言编写出计算机能理解的解决问题的方法。** 好的算法能更简洁高效的解决问题,如今不论是校招还是社招大厂笔试都会考察算法,即使不是为了笔试作为软件从业者也应该经常练习算法,保持手感。学习算法是学习解决问题的通用性方法有助于提高逻辑思维能力。
#### 学习方法
**就我个人经验来说,不推荐直接啃书的方式学习算法,建议看书的同时结合刷在线编程算法题的方式。**具体的:边看数据结构或算法导论,同时在[牛客](https://www.nowcoder.com/activity/oj)或者 [leetcode](https://leetcode-cn.com/ )上刷题,因为看书太枯燥很容易失去耐心,在线刷题的好处是你可以每天定目标,享受每个题目通过的快感,有正向反馈更容易坚持下来。
算法可以在[牛客](https://www.nowcoder.com/activity/oj)或者 [leetcode](https://leetcode-cn.com/ )上刷题。在线刷题的好处是你可以每天定目标,享受刷题通过的快感,有正向反馈更容易坚持下来。
## 架构
学了这么多,怎么在项目上运用呢?你还需要根据
**架构能力是利用已有知识来设计整个后台服务系统的能力。**不仅要求掌握了以上技能,并且还需要能根据不同需求制定不同的设计方案,这时候考虑的东西会更多,包括服务的设计、存储的选型等等。比如:这个时候考虑的数据库选型用哪个?需要根据存储的数据特征和应用场景来区分,如果是社交应用的数据用菲关系型数据库来存储可能更好;如果是电商订单类型的数据,那么用关系型数据库来存储可能更好。
## 更多的练习
说了这么多,最最重要的还是练习 练习 练习,重要的事情说三遍。理论知识储备是必要条件,现在大家接触到的碎片化信息知识太多,高浓度的知识精华还是需要在大师的书本中汲取,所以看书是最正确和快速的学习路径,没有捷径可走。
**说了这么多,最最重要的还是练习练习练习。**理论知识储备是必要条件,现在大家接触到的碎片化信息知识太多,我个人经验,高浓度的知识精华还是需要在大师的书本中汲取,所以看书是最正确和快速的学习路径,没有捷径可走。
但是,光看是不行,编程和技术是也是一门现代手艺活,还需要不断的打磨手艺,就如一万小时定律所说:
光看书也是不行,编程和技术是也是一门现代手艺活,还需要不断的打磨手艺,就如一万小时定律所说:
> 人们眼中的天才之所以卓越非凡并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。要成为某个领域的专家需要10000小时按比例计算就是如果每天工作八个小时一周工作五天那么成为一个领域的专家至少需要五年。这就是一万小时定律。