mirror of
https://github.com/kaka111222333/kaka111222333.github.io.git
synced 2025-12-18 15:54:37 +08:00
update blog
This commit is contained in:
@@ -7,7 +7,9 @@ comments: true
|
|||||||
author: lemonchann
|
author: lemonchann
|
||||||
---
|
---
|
||||||
|
|
||||||
最近经常被邀请回答类似如何学习C++和C++后台开发应该具体储备哪些基础技能的问题。本身我从事的的C++后台开发的工作,目前在腾讯负责QQ相关后台开发,所以写这篇文章,分享自己的C++后台开发学习路径和点过的技能树,希望能给想从事后台开发的同学一点参考,若能帮你少走些弯路就更好。
|
最近在知乎经常被邀请回答类似如何学习C++和C++后台开发应该具体储备哪些基础技能的问题。
|
||||||
|
|
||||||
|
本身我从事的的C++后台开发的工作,目前在腾讯负责社交产品相关后台开发,所以写这篇文章,分享自己的C++后台开发学习路径和点过的技能树,希望能给想从事后台开发的同学一点参考,若能帮你少走些弯路就更好。
|
||||||
|
|
||||||
工欲善其事必先利其器,好的书籍能让学习事半功倍,所以每个技能点之后我会推荐一些书,都是我读过且口碑不错的书,供参考。
|
工欲善其事必先利其器,好的书籍能让学习事半功倍,所以每个技能点之后我会推荐一些书,都是我读过且口碑不错的书,供参考。
|
||||||
|
|
||||||
@@ -119,7 +121,7 @@ author: lemonchann
|
|||||||
|
|
||||||
#### 推荐书:
|
#### 推荐书:
|
||||||
|
|
||||||
[深入理解C++11](https://book.douban.com/subject/24738301/)
|
[《深入理解C++11》](https://book.douban.com/subject/24738301/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -188,17 +190,27 @@ author: lemonchann
|
|||||||
|
|
||||||
## 算法基础
|
## 算法基础
|
||||||
|
|
||||||
**计算机算法就是利用编程语言编写出计算机能理解的解决问题的方法。** 好的算法能更简洁高效的解决问题,如今不论是校招还是社招,大厂笔试都会考察算法,即使不是为了笔试作为软件从业者也应该经常练习算法,保持手感。学习算法是学习解决问题的通用性方法有助于提高逻辑思维能力。
|
**计算机算法就是利用编程语言编写出计算机能理解的解决问题的方法。**
|
||||||
|
|
||||||
|
好的算法能更简洁高效的解决问题,如今不论是校招还是社招,大厂笔试都会考察算法,即使不是为了笔试作为软件从业者也应该经常练习算法,保持手感。学习算法是学习解决问题的通用性方法有助于提高逻辑思维能力。
|
||||||
|
|
||||||
#### 学习方法
|
#### 学习方法
|
||||||
|
|
||||||
**就我个人经验来说,不推荐直接啃书的方式学习算法,建议看书的同时结合刷在线编程算法题的方式。**具体的:边看数据结构或算法导论,同时在[牛客](https://www.nowcoder.com/activity/oj)或者 [leetcode](https://leetcode-cn.com/ )上刷题,因为看书太枯燥很容易失去耐心,在线刷题的好处是你可以每天定目标,享受每个题目通过的快感,有正向反馈更容易坚持下来。
|
**就我个人经验来说,不推荐直接啃书的方式学习算法,建议看书的同时结合刷在线编程算法题的方式。**
|
||||||
|
|
||||||
|
具体的:边看数据结构或算法导论,同时在[牛客](https://www.nowcoder.com/activity/oj)或者 [leetcode](https://leetcode-cn.com/ )上刷题,因为看书太枯燥很容易失去耐心,在线刷题的好处是你可以每天定目标,享受每个题目通过的快感,有正向反馈更容易坚持下来。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 架构能力
|
## 架构能力
|
||||||
|
|
||||||
**架构能力是利用已有知识来设计整个后台服务系统的能力。**不仅要求掌握技能的维度还要深度,需要能根据不同需求和系统约束,制定不同的设计方案,这时候考虑的东西会更多,包括服务模型的设计:是多进程还是多线程甚至协程微线程,分布式还是集中式;存储的选型:考虑数据库选型用哪个?需要根据存储的数据特征和应用场景来区分,如果是社交应用的数据用菲关系型数据库来存储可能更好,如果是电商订单类型的数据,那么用关系型数据库来存储可能更好;后台系统的其他方方面面。
|
**架构能力是利用已有知识来设计整个后台服务系统的能力。**不仅要求掌握技能的维度还要深度,需要能根据不同需求和系统约束,制定不同的设计方案。
|
||||||
|
|
||||||
|
这时候考虑的东西会更多,包括服务模型的设计:是多进程还是多线程甚至协程微线程,分布式还是集中式;
|
||||||
|
|
||||||
|
存储的选型:考虑数据库选型用哪个?需要根据存储的数据特征和应用场景来区分,如果是社交应用的数据用非关系型数据库来存储可能更好,如果是电商订单类型的数据,那么用关系型数据库来存储可能更好;
|
||||||
|
|
||||||
|
当然,还有后台系统的其他方方面面需要考虑,不一一举例了。
|
||||||
|
|
||||||
## 更多的练习
|
## 更多的练习
|
||||||
|
|
||||||
@@ -208,11 +220,15 @@ author: lemonchann
|
|||||||
|
|
||||||
> 人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。
|
> 人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。
|
||||||
|
|
||||||
怎么打磨提高编程技术能力呢?找项目,**找感兴趣的**东西用代码去实现它,兴趣是最好的老师,这点在编程和技术学习上也完全适用,人们总倾向于去做快速获得的愉悦感的事情,比如打一盘游戏30分钟就能获得快感。相反,技术碎片的提高是一个长期的过程,三分钟热度肯定是难以成功的,所以要用技术做自己感兴趣的东西和带趣味性的编程,比如写个爬虫小程序抓取网站数据或者写个小游戏,再或者自己造轮子给自己用,并乐此不疲的优化轮子。这样每走一步都能获得一点成就感,激励自己继续走下去,慢慢的一定会有质的飞跃。
|
怎么打磨提高编程技术能力呢?找项目,**找感兴趣的**东西用代码去实现它,兴趣是最好的老师,这点在编程和技术学习上也完全适用。
|
||||||
|
|
||||||
|
人们总倾向于去做快速获得的愉悦感的事情,比如打一盘游戏30分钟就能获得快感。相反,技术碎片的提高是一个长期的过程,三分钟热度肯定是难以成功的。
|
||||||
|
|
||||||
|
所以要用技术做自己感兴趣的东西和带趣味性的编程,比如写个爬虫小程序抓取网站数据或者写个小游戏,再或者自己造轮子给自己用,并乐此不疲的优化轮子。这样每走一步都能获得一点成就感,激励自己继续走下去,慢慢的一定会有质的飞跃。
|
||||||
|
|
||||||
## 一个网站
|
## 一个网站
|
||||||
|
|
||||||
这个网站一定要告诉大家,网站就是个C++百科全书,类似Linux的man手册,平常开发查忘记了函数名或者容器用法直接搜索非常方便,我下载了离线版本,如果嫌麻烦懒得找下载文件,可以私信我留邮箱发给你。
|
这个网站一定要告诉大家,网站就是个C++百科全书,类似Linux的man手册,平常开发查忘记了函数名或者容器用法直接搜索非常方便,我下载了离线版本。
|
||||||
|
|
||||||
网址:C++参考: [cppreference](https://en.cppreference.com/w/cpp)
|
网址:C++参考: [cppreference](https://en.cppreference.com/w/cpp)
|
||||||
|
|
||||||
@@ -222,3 +238,5 @@ author: lemonchann
|
|||||||
|
|
||||||
一口气写下来肯定还不够完善,文章会保持更新和修改,想到了再补充吧。感兴趣可以关注我和专栏接收更新提醒。
|
一口气写下来肯定还不够完善,文章会保持更新和修改,想到了再补充吧。感兴趣可以关注我和专栏接收更新提醒。
|
||||||
|
|
||||||
|
我整理了文中提到和推荐的电子书与视频教材,都是学习过程收集的,关注微信公众号 **柠檬橙学编程** 回复 **学习资料** 免费分享给大家。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user