有干货、更有故事,微信搜索【编程指北】关注这个不同的程序员,等你来撩~前端
开局两张图,剩下全靠吹了。node
上面这两张图即是写这篇文章的起因。git
对话框的另外一边,是一位大二计算机科班在读的小姐姐,看似平静的文字背后透露着迷茫与困惑,还对将来的焦虑。程序员
透过屏幕,彷佛看到了大一时的本身,不会装环境、不知道怎么编译,报错也不会解决,更不知道除了计算水仙花数、打印乘法口诀表...还能写些什么。github
感同身受让我以为有必要认真的好好回答一下(实际上是由于这是小姐姐问的😝,也算是对大一时的本身一个隔空对话。web
作公众号短短这一个多月,我在后台看到过很多相似问题的,每次看到学弟学妹们这样认真又略带迷茫的提问,实际上是比较有压力的。面试
怕本身不可以站在他们的境地去思考问题,搞成了「B」乎似的回答,也担忧本身的回答不能帮到他们,甚至在某些方面对他们产生误导。算法
因此通常我都是选择回答比较政治正确的那种,好比:shell
“加油,你要多去实践,xxx”数据库
“嗯嗯,你要多去看书,balabala”
“刚开始都是这样的,你多坚持一下呢,xxx”
...
怎么说呢,这都是正确的废话,谁都知道要多看书,要实践,要去动手写代码。
有时候想回答得更细致一些,可是迫于各类缘由,也没时间去挨个的回复。
但此次学妹特意打了很长一段字,我看到了她想要快速适应计算机学习却又不得其法的迷茫,也许个人回答会对她有所帮助呢?
所以我让她描述得更加细致一点,也很好针对性的提出一些建议。
不过首先申明下,本文主要是以回答学妹的问题为主线,面向的对象是大1、大二以及自学还未找到合适的学习编程方法的同窗。
若是你已经有了本身的一套方法论,或者说已经工做了,那本文对你几乎没有参考价值,建议直接拉到末尾点个赞~
可能有小伙伴没细看聊天截图的内容,我在这里再贴一次学妹的问题:
下面是我抽出来的一些问题:
一、只会像高中同样跟着课程学习
二、怎么能够脱离课本和教学视频本身编写一个小项目?
三、停于理论,不知道如何实战
四、就算跟着教程安装软件,搭配环境几乎每一步都会有这样那样的错误
五、知识遗忘得快,理论没有造成体系,本身计算机的学习只局限在刷了一些慕课上的题,作了学校要求的实验
六、学完一门课程不知道能干什么
七、畏难情绪严重
八、焦虑、担忧找不到工做
首先,看似抽出了不少条的问题,可是我把全部问题都归为一个,那就是 「如何提升编程能力」。
只要编程能力、实战能力提升,上面一长串的问题天然也就不成问题了,更不用担忧找工做的问题。
因此今天就来聊聊如何提升编程能力这个话题。
要说提升,总得先明确下什么是 「编程能力」 吧~
常常能看到大V、前辈们说,你要多写,要多练,提升本身的“编程能力”,可是编程能力究竟是什么呢?
在我看来啊,所谓的编程能力其实说到底就是用代码解决问题的能力,不管是 Leetcode 上的仍是现实世界的问题。
可以从问题自己或是业务逻辑提炼出解决方案,而且用代码去实现,编程就是在干这样一件事:
现实世界的问题 -> 抽象出解决方案/建模 -> 计算机语言表达
能够看到,写代码只是最后一步,而咱们经常说本身不会写,真的是不会写代码吗?
这让我想起了之前英语老师说的:
“不少同窗说英语做文说写不了几句就写不下去了,可是真的是英语学得差吗?我看未必,大概让你用中文写,也写不上几句”
是啊,英语做文写得很差,不少同窗下意识的以为是本身英语自己没学好,确实有这个缘由。
可是更本质的缘由或许是你语言表达和组织能力的问题,也就是让你用母语写,也不必定能有条理的写上一段文字。
那回到编程这里,不会写代码,也许是你连解决问题的思路都没想明白,就是说你的脑海里没有造成「第一步该作什么,第二步该作什么」这样的流程。
这实际上是最重要的,编码实现反而是相对简单的事情。
不少大厂,通常都是高级工程师或者架构师进行领域设计、架构设计,初级工程师进行编码实现各类接口。
说到这,我又想起了最近工做上的事情。
因为时间紧迫,我被 leader 安排去了支援隔壁部门开发,可是他们那里的不少业务背景我一点都不知道。
对方对接的人让我去模仿 xxx 模块写,我看了 xxx 模块两天,愣是没写出个啥来。
过后,我在想,为啥会这样呢?是我编程能力太差吗?
也许是吧,可是更重要的缘由是,我不理解业务背景,因此个人脑海里没有要实现这个需求的流程图.
检查参数、鉴权、认证、签名...... 这些流程不清晰,表现出来的形式就是,我不知道代码到底该先调哪一个接口,再作什么。
心中没思路,天然无从下手。
因此其实编程的核心就是,你须要在心中对整个实现流程有一个大体的思路,而后用代码去一步步的实现。
在实现过程当中,你会遇到不少细节问题,好比数据结构的选择,用 set 仍是 list,存储结构的选型,以及如何 bug free的实现。
更进一步,怎样写出高性能、易读、易维护、易扩展高质量的代码,固然这都属于编码能力了。
嗯,我回过去看了本身上面的一翻分析以后,我以为......分析了个寂寞,说的太尼玛抽象了,我 TM 就想知道到底怎么提升编程能力!
好,接下来我就具体一点,不搞这些虚头巴脑的东西了。
提升编程能力,我本身总结了如下几点:
来,先上第一点,关于作项目,这也是学妹的痛,不知道如何去开始一个项目。
谈到这点,对不起,我又想讲本身的经历了,有点长。。。
learning by doing
是的,咱们都知道编程是一门实践的学科,不动手永远学不会,看懂了和学会了之间差了上万行代码。
或者说: 看懂了 + 上万行代码 = 学会(此公式未经证实,纯碎本身拍脑壳想的
刚学完一门语言,想必你们都想作点有用的东西,而不是每天写练习题,可是呢,又不知道从何下手,尤为是 C 语言。
我大一上完 C 语言课,就处于这种状态,可是我隔壁一个室友就不同的。
他在学习 C 语言的过程当中,刚学到动态内存分配(malloc),就去摸索着写贪吃蛇、坦克大战,并且完成度都挺高的,那时候是咱们眼里妥妥的大神。
可是大神和我上的课,学的东西都彻底同样呀,何况都是上了大学才开始接触编程,为何差异这么大呢?
以致于那时候,我和学妹同样,经常怀疑本身没有编程天赋,以为别人天生就是这么强。
这种状态一直持续到大一下,那时候刚学完 Java,而 Java 也比 C 友好了很多,因此总想写点什么。
因而本身就选择写一个相似 QQ 的聊天工具,其实功能就很简陋,就是一个简单的 GUI + Socket 编程,而后在加上用户信息管理就完了。
可是,当我用这个简陋的软件,分别在室友和个人电脑上跑起来而且成功发送消息的那瞬间,我以为个人编程世界被点亮了。
原来编程这么好玩,原来我也能作一些有趣的东西!彷佛找到了一丝编程的感受,但还说不上究竟是什么感受,毕竟这个程序总共也就几百行。
紧接着,趁热打铁,我又写了一个联机五子棋,实现上依然是 GUI + Socket 传输数据。
可是写这个又遇到了不一样的问题,好比棋盘在个人实现里是一个 N*N 的数组,棋子是用对象表示,对象里有坐标、颜色这些属性。
当时我就疑惑了,当一方落子后,该怎么把棋子对象经过网络传输给对方呢,再从网络接收的数据恢复到对象?
起初本身的想法是手动的把对象转换成字符串,而后像聊天工具同样发送给对方,好比:
{x: 12, y: 13, color: black .......}
。
这种作法没问题,可是总感受不够优雅完美,因而上网一番搜索以后发现,原来我想的这个就叫「序列化」和「反序列化」。
而且在 Java 里直接实现 Serializable
接口就行了,甚至能够直接使用ObjectOutputStream
类就能完成序列化和反序列化对象。
这些问题在如今看来,根本就不是问题,更像是“常识”。甚至序列化这块,还会选择一些兼容性更好、性能更高的协议,好比 Protobuf、Thrift、Avro 等等。
可是对大一时的我来讲,在这个过程当中不断的遇到问题而且去解决,就是实打实的编程能力上的提升啊。
在我解决掉一系列问题以后,顺利的和隔壁室友用本身写的联机五子棋对战了几局,这个五子棋还支持很多诸如悔棋、暂停、自动判断输赢等功能。
界面风格和下面这个很类似(这是网上搜的)
可是因为当时没有存 Github 的习惯,代码在换电脑以后没能留下来。
经过写这些项目,我像打通了任督二脉同样,不是学了什么厉害的算法、也不是高深的设计模式、更没有分布式这样高级的东西。
那是什么呢?
我感受到编程就好像搭积木同样,基本的函数、库、组件就是一个个的积木块,写的代码就是胶水。
只要咱们心中有设计图纸,那就能经过胶水把这些积木搭建成想象的模样,缺乏什么积木块,用到的时候再去搜索就好了。
在程序的世界,只要你想,你就能。
这段时间大概是我编程能力提高最快的一个阶段之一。
关于这个五子棋,还有个小插曲:
我写的不是联机五子棋嘛,而后启动的时候输入对方的 IP 和 Port 就能连上对战。
后来,我找了一个在其它城市上大学的高中同窗,让他和我一块儿玩五子棋,可是呢,我傻乎乎的让他用 ifconfig 查看本身 IP 后告诉我,而后我在这边链接。
那个 ip 呢,大概长得像 192.168.1.xxx
,熟悉的同窗都知道,这个就是局域网内使用的 IP 了,并不是公网上的 IP。
局域网内的 IP 只能在内网才能使用,因此我用这个 IP 是永远连不上的他的电脑的。
可是那时候我才大一,没学过计网,根本不懂这里面的原理。
为啥我和室友能连上呢(由于在一个局域网)?为啥和其它学校的同窗就不行?
别看如今这个东西在我看来是常识,但我那时候是一点计网知识都没,就是硬着头皮学的 Socket 编程,去理解 IP 和 Port。
那是怎么解决的呢?
固然是找谷歌呀!
在网上一番查询后,大概明白了,若是想让不一样局域网内的主机进行 P2P 通讯,须要一个公网中转服务器辅助进行 NAT 打洞。。。后来,我就又去尝试 NAT 打洞了,其中细节就再也不描述了。
其实把我我的编程经历上写这么多,就是想展示我是如何一步步去实践的,遇到了什么问题,又是怎么解决的,把这个过程展示出来。
你看我没学任何计网知识,还不是经过边学边用,完成了网络相关的项目。
因此你离项目只差一个开始。
说到这里,很多同窗又会说,我知道要多实践、多动手,道理我都懂。
可我仍是不知道如何开始去写一个五子棋、贪吃蛇之类的东西。
好,那我就要问问你了
小北:为何你学了 C 语言仍是不会写贪吃蛇呢?
学妹:老师没教我贪吃蛇如何在 C 语言中表示,也没教我如何让画面动起来,更没教我如何绘制 GUI ,因此我不知道怎么作。
这应该是大多数同窗最典型的问题吧?
那咱们以贪吃蛇为例拆解一下,看看是如何从问题到代码的。
首先,贪吃蛇是一个个的节点组成的,节点确定有横纵坐标吧?一个个的节点组成了一条蛇,那天然应该想到链表吧?
蛇还有什么属性?当前移动的方向
还要食物位置吧? 那这些属性在 C 语言中用结构体表达出来就是这样:
typedef struct node{
int x;
int y;
struct node* next;// 单向链表
} SnakeNode;
typedef struct snake {
SnakeNode *pHead; // 蛇头
SnakeNode *pFood; // 食物
int direction; // 方向 0-3 依次表示:上、下左、右
...
}
复制代码
接下要考虑的就是如何去绘制蛇,这个简单呀,就把整个链表从头开始把每一个节点打印出来。
每一个节点能够是一个圆点,也能够是方形。
那如何让蛇动起来?所谓的动,其实就是不断的将蛇打印出来,而后又清除。
而且不断的根据移动方向更新蛇的位置,只要这个过程够快,快过人眼可以分辨的帧率,那看起来蛇就像是在连续的动同样。
而后这个过程你还要去考虑如何检测碰撞,如何判断吃到了食物,还要随机产生食物。。。 这些东西首先你得想清楚逻辑,代码实现其实if、else 、for 就足够了。
作项目的过程总会遇到不会的东西,也会遇到问题。
可是要相信,全部的问题在你以前基本上都已经有人遇到过了,只须要把问题准确的描述出来,而后去搜索引擎上搜就确定能找到解决的线索。
若是你要等学会全部东西,才去开始作项目,那估计等到本科毕业也没机会。
本科上的就那几门课,Java/C/C++、操做系统、计网、编译原理、离散、数据结构......
可能没有学校会单独开一门课教你 Java Web、Python 写爬虫等等。
学完这些理论课,等到毕业,你会发现,依然好像什么都作不了,因此说,要动手,趁早。
而且理论上,学完一门语言,掌握了数组、链表、 if、for、函数这些编程最基本的概念,就有能力去实现一些诸如贪吃蛇、五子棋、扫雷这样的小玩意了。
这种经过项目去学习,以解决问题为导向的学习才是更加精准和高效的。
课堂上的学习大多数是老师灌输知识、学生记住,而后考试就能拿高分。
实际上有多少知识能转化为解决问题的能力呢?
很差说。
仍是那句话,编程就像搭积木,学完基础的,积木块都给你了。
你能搭出房子、车子、仍是火箭这全靠本身。
学会用工具,更要用好的工具。 什么是好的工具?
诸如 VSCode,Github、Stackoverflow、Google、知乎、Jetbrains 全家桶都是不错的编程工具,有的提升生产力,有的能解决问题。
都 2020 年了,就不要在机房装着 VC6 写练习题了。
不要等到大一结束了,还没上过 Github,更不知 issue、pull request 为什么物。
计算机专业的学生,若是还在用百度搜索技术问题,送给你一段陈皓(左耳朵耗子)前辈的话:
固然,在无法使用谷歌的状况下,百度仍是能够用的,可是这对计算机专业的同窗,不该该是一个问题。
不少时候,你把遇到的问题准确的复制到 Google/Stackoverflow 搜索框,大概就能找到答案。
而百度会将你带向培训班的课堂,嘿嘿,刺激不。
如今处于信息大爆炸的时代,互联网上充斥着各类博客、学习资源,这是对学习者最好的时代。 可是资源太多,就存在一个选择的问题,在这里我给你几个建议:
- 把网盘里屯的那 500G 视频/资源 删掉,你永远不会去下载来看的
正所谓,收藏从未中止,学习从未开始,当你再也不习惯的收藏资源了,你就成长了。 最好掌握获取/搜索资源的方式,本身须要什么资源再去搜就完了。而不是让资源白白的占据你的网盘。
- 当须要学习某个东西的时候先去知乎/Google 搜索 「xx学习路线」
而后根据高赞/优质回答,选取大 V 们都提到的资源,这大概是这个领域比较经典的,而后去搜集资料,开始学习。
B站、mooc、网易公开课、Coursera等视频网站上有不少优质免费的课程
答应我,不要再被那些关注送 500 G 学习资源的骗了好吗?资源都在网上公开着,直接打开 B 站就能看,不香么?
学应用框架,官方文档是最适合入门的,而且不少都提供了「快速入门」的指引
好比 Vue、Hadoop、Requests 这些官网的指引都很是的清晰易懂,真的不要再去看七零八碎的博客,博客的定位应该是补充。
少看博客,多看书
不少博客其实就是博主本身读完书,而后复述一遍的笔记,你再去看他的博客那就是等于学二手知识,他的高度就决定了你的高度。
固然有些优秀的博主可以概况性的总结,或者把某些原理讲得特别清楚,这是值得看的。
总的来讲,系统性的看书是你成长最快的方式。
大学的学习,学的绝非是仅仅的知识,最应该学会的能力是「自学」。
等走上工做岗位的时候,你便会发现这个能力有多么重要。
初入职场,在公司,没人会像学校里的老师那样,手把手的教你。
就算有安排导师,也是扔给你一堆的文档和资料,本身去学习,而后开始上手实际项目。
这个过程大多会比较痛苦,至少我这几个月是这么过来的。
说到这,我忽然想说下我认为的「自学的能力」,由于在程序员这个群体中,无论是科班学生仍是野生程序员,自学都是必不可少的。
那「自学的能力」又究竟是什么呢?
我我的体会有如下几点:
1. 明确你学习的目标,好比我要学 Java Web、IOS 开发、机器学习等等
2. 了解该领域包含了哪些子模块,好比 Java web 须要学 Java 语言基础、JVM、数据库、计算机基础等
3. 掌握这些子模块的学习顺序和依赖路径,也就是先学什么,再学什么
4. 搞清楚这个方向有哪些入门、进阶的学习资料
5. 按着学习路线,开始学习一个子模块
上面这个过程,不断的递归下去,直到拆分出一个比较小的学习目标。
好比我要学 「Java web」,那这里面可能包含了Java 基础、Netty、JVM、Spring、MySQL、Redis 等等。
那 Java 基础又能够进一步分为 基础语法、面向对象、异常、集合、IO、反射等。
分到这里,你就能够开始去找资料学习了啊。
好比先安装 JDK,而后写 Hello World,而后慢慢开始刷书或是刷视频......
这里我用了一个定语「小而美」,小是指代码量少,最好就几千行,这样咱们可以充分把控,美则是指代码实现写得很优雅。
咱们都知道提升审美能力很重要的一环就是多看美的东西,好的设计。
那写代码也是同样的,本身学完基本语法,写出来的代码大概停留跑起来的水平。
这时候去看看大佬写的代码,你绝对会惊呼 卧槽,还能这样?
这样的代码有哪些呢?
若是你是大一的同窗,我推荐你去看看 Linux 内核中关于链表的实现,简直特么太妙了,日常咱们定义链表不都是这样嘛
struct Node {
int data;
struct Node* next;
}
复制代码
可是这个存在的问题就是,每一个想用链表存储的结构体,咱们都得去写一遍,遍历、插入、删除的逻辑,显然太low了。
那 Linux kernel 中就用宏,在对用户自定义数据结构侵入性很小的状况下,实现了其它语言中模板的功能。
相信我,看完,你会学到不少骚操做的,后面找机会写一下这块。
又好比学完 C 语言,你会不会以为 C 中的字符串有点不灵活,那推荐你去看看 Redis 中关于动态字符串的设计--SDS。
这些代码都不长,也不难理解,可是看完对于提高咱们的编码能力是有很大帮助的,这就是小而美。
提倡看源码,不是让你直接上手就啃什么 Nginx、Sqlite、Redis的源码,这些都是几万级别的代码量,通常初学者
即便要啃,我给你说个好办法,这些东西目前来看,代码量都是几万几十万的级别,有点不友好,你能够去 github fork 下来。
而后回退到第一个 commit,从第一个 commit 开始看起,看到第一个完整的版本。
这个过程也是能学到很多东西的,看看罗马都是怎么建形成的。
好了,BB了一大段假大空的东西,最后再回到学妹具体的问题上,挑几个来具体问题具体分析:
说到底,仍是填鸭式,没有造成本身的目标和学习路径。
如何破局?
最简单的方式,给本身定一个目标,或者我给你定几个,本身领一个:
若是你作技术岗,上面这几个基本覆盖了应届生找工做的主要岗位,你选一个本身相对喜欢一点的。
至于如何去达到目标?
固然是分解,而后去找 Google 呀,去看看 BAT 这些岗位须要点亮哪些技能,怎么学才能达到。
记住,目标、目标、目标!!!
没有目标,你的生活就会是得过且过,知足于上课、作做业、考试、绩点这样的循环。
到了毕业找工做,你会发现面试官好像都不怎么关注你的绩点有多高,他们更关注你的基础知识和解决问题的能力。
解决问题的能力怎么体现?
能够是刷题或者是让你讲你参与的项目,以及在这个项目中你扮演的角色和遇到了什么题,又是怎么解决的。
咱们会发现,那些优秀的人,无一不是有着清晰的目标,从如今开始给本身定一个目标吧!
初学者跟着视频作是颇有帮助的。
先跟着课本或者视频完成一个项目,记住不是看视频里的老师完成,而是你本身要跟着完整的敲一遍!
第二步,不看视频,根据本身脑海中的流程、思路来逐渐编码,明确先作什么,再作什么。
第三步,改造,或者基于视频里的作一个相似但不一样的项目,好比视频里写的商城,那你能够本身作个论坛,视频里是贪吃蛇,你能够本身作个坦克大战,诸如此类。
其实这就是学自行车嘛,先用借助辅助轮或者别人扶着练习,而后慢慢的下掉辅助轮,本身骑。
千万不要没学会走,就想跑了,这样会摔得很惨。
这个问题,百分之 99% 的同窗确定都遇到过,甚至如今,我安装一些新环境的时候也会有各类问题。
想起刚学 Java 的时候须要去配置 Path、ClassPath、环境变量这些,可是第一次接触根本不知道配置这些的做用,也不知道他们的原理。
就跟着博客教程一步步执行,可是常常就会发生,明明都照着来了,仍是跑不通。
那这个时候怎么办呢?
第一办法是从新搜索尝试不一样的教程,这个实际上是换汤不换药,能不能配通仍是看运气
第二个办法就是去搜为何要这样配?
了解以后,你就明白 Path 就是指定了咱们平时在终端使用命令的搜索路径,ClassPath 则是让 Java 执行环境找到指定的 Java 程序对应的 Class 文件以及程序中引用的其余 Class 文件。
当你去了解这些东西以后,再去看博客的配置步骤就再也不是懵的了。
在不了解背景的状况下,咱们只能根据别人的指令一步步走,惧怕和被人有一丝的不同,而致使最后配置失败。
可是当你了解了原理以后,这些博客就只是参考了,你甚至还能够考虑到你和博主的某些环境是否是有差别,这些差别会对应到步骤中哪里应该采用不一样的配置。
这个其实我体会特别深,在我第一次用到 CMake 的时候,起初,我是去抄别人的 CMakeList.txt 文件。
可是当我须要增长编译依赖或者其它定制化的时候,我就懵逼了。
include_directories、include_directories、target_link_libraries 这些指令,不知道如何去组合达到本身想要的目的。
那我当时是去找来了 CMake 的教程,浏览一遍后,我便懂了 CMake 构建的原理,以及各个指令的做用。
这时候,我便有能力基于别人的 CMakeList.txt 去定制化。
这就是我我的认为「搭配环境几乎每一步都会有这样那样的错误」的内在缘由和解决办法了。
一句话,你是否清楚你所看博客作的每一步操做是在干什么,若是不明白。
只是复制别人的命令,那出错了,确定会懵逼的。
不知道学妹这里说的遗忘得快的知识是指什么?
我说一下个人见解吧,我在不一样文章中都反复提到了,学习新知识要学会抓主线,把零碎的、非本质的东西浏览一遍就行,用到的时候知道去哪找,这就够了。
我在万字长文 | 这多是东半球最保姆级的后台服务器开发学习路线中也提到过各个学科的主线是什么,这里再啰嗦一遍,好比计网,你说你把 CRC(循环冗余校验码)的计算方式忘了,这就是遗忘吗?
对不起,我也记不住,也彻底没有必要去记。
计算机网络的主线是「两台主机之间的数据包是如何经过网络传输给对方的」,其它的,像 UDP 的包头的构成呀,SMTP 使用的端口号呀 之类的问题,看一遍,有个大致印象就好了。
可是你得知道 UDP 包头里有源端口和目的端口以及数据包长度,为何呢?
由于这个是靠理解,反推出来的,首先 UDP 是传输层协议,传输层的目的是区分同一主机上的不一样进程,那么必定是须要一个标识的,这就是端口号。至于它们是怎么排列的,这丝绝不是关键。
上面这段话,抛砖引玉的聊了下我认为何知识是能够遗忘,什么是不能够遗忘的。
那不能遗忘的知识也遗忘了怎么办呢?
多看。多去思考这样设计背后的原理,多问本身「Why」。
至于理论没有造成体系,其实我也存在这个问题。
可是我想的是,量变引发质变,你先积累足够的各个领域的知识,总会有打通任督二脉的那一天。
才开始学,怎么可能有完整的知识体系呢,至少到了大3、大四再来考虑知识体系这个问题。
畏难这个事,老实说,人人都会有,我也不例外。
不要想着去克服它,畏难其实和喜欢温馨区差很少,这大概是天性吧。
除了天性使然,还有一个缘由是想得太多,作得太少,还没开始作呢,就去想各类后果了,进而产生一系列奇奇怪怪的想法,本身吓本身。
那克服畏难情绪最简单方法就是行动,马上行动起来,去分析一下,要作成这件事,须要哪些资源、前置条件等等
行动是缓解焦虑的最好方式,这真的不是鸡汤。
至于担忧找不到工做,这彻底没啥好焦虑的呀,你按照上面说的去制定目标,学习,找工做就是一件水到渠成的事。
固然了,最重要的嘛,持续关注编程指北~
不知道这篇文章有没有解决学妹的问题,可是我已经算是把我能想到的,用我以为最合适的方式表达出来了。
剩下的还要靠学弟学妹们本身去摸索了,毕竟,看别人的总结再多,不如本身亲身体会一次记忆深入,毕竟纸上得来终觉浅。 至于学习资源的推荐,我考虑单独出一期~
写这篇文章的目的也不是传道授业,而是解惑,但愿个人一点经历和心得的分享可以对后来的同窗有一丝的启发,让他们少走弯路。
这即是这篇文章最大的价值所在。
最近好像好久没写技术文了,全在写这种水文,你们是更喜欢看技术文章呢,仍是这种类型的呢?
评论下,让我了解下呗,不过不管如何,接下来几篇都是技术文章了。不能一直这样水下去了哈哈哈
我是小北,乾坤未定,你我皆是黑马,我们下期见!
文章持续更新,全文首发自个人我的公众号,能够微信搜一搜「 编程指北 」第一时间阅读,后台回复【pdf】有我搜集的上百本经典的计算机书籍电子版。