1 Star 0 Fork 2

YeQizhang / 前端文档

forked from kalista / 前端文档 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

程序员的自我修养&高效学习方法

全栈工程师,具有六年研发及团队管理经验,对程序员面临的各种问题深有体会;精通Python、Java、Scala等语言,对Web的基础研发、高并发处理与分布式有非常深入的理解。课程讲解深入浅出,极为擅长培养学生的编程思维。

主题介绍

如何才能持续成长,是每个程序员都绕不开的话题。 入行之处,你可能会困惑于如何选择适合自己的编程方向; 编程前期,你可能想不断培养自己的编程思维与能力; 成长期,是否又想了解自己应该具备哪些综合素质? 进阶瓶颈期,又要面临着如何正确选择改变… 还好,不管我们处于哪个阶段,总有引路人给予我们更多的成长与启发。 授人以鱼不如授人以渔,你在提升自己的同时,还可以不断增进自己的编程思维,寻找到属于自己的进阶之路。

亮点

  1. -程序设计是什么
  2. -Java 语言相关基础语法及应用
  3. -如何建立基础的程序逻辑
  4. 如何学好JAVA

正确认识程序设计

程序设计,俗称编程,是一个比较专业的概念。初学者,甚至一部分开发人员,都不能很简单的解释这个概念,所以使初学者觉得程序设计是一件很有科技含量,或者是很高深的学科,其实这些都是误解。那么程序设计到底是什么呢?

程序设计,俗称编程,是一个比较专业的概念。初学者,甚至一部分开发人员,都不能很简单的解释这个概念,所以使初学者觉得程序设计是一件很有科技含量,或者是很高深的学科,其实这些都是误解。那么程序设计到底是什么呢?所以学习程序,主要就是三个问题:做什么、怎么做和如何描述,具体如下:

1.做什么

做什么就是程序需要实现的功能。

2. 怎么做

怎么做就是如何实现程序的功能,在编程中,称为逻辑,其实就是实现的步骤。

3. 如何描述

就是把怎么做用程序语言的格式描述出来。所以,对于有经验的程序设计人员来说,学习新的程序设计语言的速度会比较快,就是因为第 1和第 2个问题基本解决了,只需要学习第 3个问题即可了。对于“做什么”的问题,可能初学者觉得会比较简单,其实在大型项目开发,例如 ERP,企业都不能很详细的说明需要实现具体的功能,这就需要有专门的人员去发掘具体的功能,这个用程序的术语叫做需求分析。举个例子吧,例如某个人要找个女朋友,如果你大概去问他,他会说,找个中等的就可以了,但是这个还不是具体的需求,你可能需要问一下,要求女朋友的年龄是多少,身高是多少等等具体的问题。所以说,搞清楚“做什么”也不是简单的事情,需要专门的人员从事该工作。

程序员的综合素质与能力

程序设计是一个技术活,所以不是适合所有的人。现在很多人听说程序设计人员待遇如何如何的好,都一窝蜂的来学习程序,其实这个现象很不正常,因为程序不一定适合你。其实对于一个人来说,适合你的才是最好的。就像现在很多小孩子都被家长逼着去学钢琴啊什么,有些小孩根本没有艺术细胞的,所以学习的效果就是差强人意了。其实程序设计最需要基础扎实了,现在的程序设计学习很偏重程序设计语言的学习,或者直白点说,程序设计基本上可以说是在学习程序设计语言。

程序设计的基础不外乎以下几个方面:

1一定的英文阅读能力

因为程序设计接触的很多文档都是以英文的形式提供的,一个阅读英文很困难的人,可以学会程序设计,但是不会有很深的造诣。就像一个看不懂字典的人,能学好汉语吗?

2较强的数学基础

计算机最核心的功能就是计算,各种程序逻辑都会被转成一定格式的运算,运算需要什么知识呢,肯定是数学了。就像一个数学很差的人能做好会计吗?在程序设计中,需要深刻理解数学,用数学来解决你遇到的各种实际问题,类似于做数学应用题吧。这个基础学要长期的积累。

3较强的逻辑思维能力

逻辑思维可能每个程序设计人员都很需要,那么逻辑思维是什么呢?其实就是把一个事情分解成一系列的步骤在有限的时间内做完,这个也是程序设计过程中最灵活的地方。例如你要完成“去罗马”这件事情,那么逻辑有多少种呢?借用一句俗话“条条大道通罗马”来解释这个问题吧,所以程序设计是典型的脑力劳动。可能有些人觉得程序设计就是体力活,这也不错,为什么呢,还是借助一个例子来说明吧,买油翁的故事大家都知道吧,如果你反复做一件相同的事情,可能这个事情对外人来说是脑力劳动,对于不断重复做的人来说,也就只是“唯手熟尔”的体力活罢了。可能很多初学者对于逻辑思维还不是很清楚,那么举一个比较老套的例子吧,

例如实现“把一个大象放到冰箱里”这个事情,逻辑是怎样呢?步骤如下:

a、 打开冰箱

b、 把大象推到冰箱里

c、 关上冰箱的门

当然这只是一个很简单的逻辑。在实际的程序设计中还需要严谨的逻辑思维,保证程序可以正常运行。那么逻辑严谨又是什么呢?还以上面的例子为例,严谨的逻辑思维应该做如下事情:

a、 冰箱打不开怎么办?

b、 大象不进冰箱怎么办?

c、 关不上冰箱门怎么办?

就像一个运动员来说,良好的体质是基础,同样,对于程序员来说,良好的基础可能帮助你达到更高的高度。当然基础不可能每个人都具备,但是数学基础和逻辑思维能力是必须的。

如何学好JAVA

对于初学者来说,学习 Java 语法是一个长期、艰苦的过程,所以要做好吃苦的准备,而且语法的学习会随着对于语言理解的加深,而体会到更多设计的巧妙。

语法格式只是学习程序时最基础的知识,在实际的开发中,需要根据程序的需要,使用恰当的格式去实现程序逻辑,所以语法一定要熟练。

学习语法主要有三种学习方式:

  1. 在理解的基础上记忆

这个是最理想的学习语法的方式,通过这样学习语法会觉得很轻松,而且对于语法的使用也把握的很准确。对于这种方式,需要在学习的初期深刻理解语法的功能,体会语法适用的场合,记忆语法的实现格式。但是在实际的学习中,由于初学者未接触过开发,很多的概念无法深刻理解,所以很多人还无法实现使用该方式来进行学习。

  1. 在记忆的基础上理解

使用这种方式,首先需要记忆住该语法格式,然后在记忆以及后续的练习中逐步体会语法的用途,这也是大部分初学者学习语法的方式。通过这种方式学习语法,也可以在一定的锻炼以后成为合格的程序员。

  1. 在未理解的基础上记忆

这种方式是学习语法是最笨拙的方式,也是很多很努力学习,但是无法理解语法格式的学生。使用这种方式其实没有真正理解语法的格式,而只是生硬的去进行记忆,很多时候还无法灵活的去运用这些格式,所以学习的效果也打了一定的折扣。

学习语法时,主要需要学习和理解以下这些内容:

语法的格式

这个必须进行记忆,熟记以后可以提高写代码的速度。

语法概念

理解相关的语法概念,例如变量、方法、数组等等

语法的用途

语法的适用领域。

大量练习

通过大量的练习深刻体会语法的使用。

开源团队留下来的都是兴趣广泛的人 程序员是最容易忽视综合素质的群体,花太多的时间在编码上面 短期影响每个细小的选择和思维 当技术达到一定程度的时候,综合素质是瓶颈 交流能力、管理能力、认知能力、学习能力、任务规划能力等。

以上的能力,很难看一本书或者一个视频短期内解决————是长期性的坚持和影响 盯着技术不放,少学习各种功能雷同的框架————告诉我们,不要横向学习,要学会纵向学习,学了vue其实就可以了,没有过多的时间去学react 多看书,文学历史小说、诗词皆可 人的自我意识会帮助你进化————潜移默化 有选择的看技术书 带有太强的目的性学习,反而不利于成长 培养一个兴趣:摄影绘画乐器写作书法 程序员的抽象能力和逻辑思维能力不错,但观察能力和审美较差 同编程一样,细节很重要————忽略细节,后果很严重

书单

  1. 《代码大全2》
  2. 《JavaScript高级编程》
  3. 《流畅的Python》
  4. 《Java核心技术》(Java编程思想)
  5. 《算法图解》
  6. 《语言看书,框架看视频》
  7. 《黑客与画家》
  8. 《念楼学短》
  9. 《万历十五年》
  10. 《全球通史》
  11. 《浮生六记》(文言文版)
  12. 《白夜行》、《百年孤独》
  13. 《少年得到》

工作必须要主动

  1. :非自愿和靠人监督的人
  2. :能力不足,肯自愿学习的人
  3. :老老实实,按规矩做事的人
  4. :精通一门技艺和手艺
  5. :掌握了规律,又能将其传授给他人的人
  6. :有固定的信念,让别人生活的更好的人
  7. :精通事理,通达万物的人

不要玻璃心————正视自己的学历,那都是过去的,现在就是要比985/211的辛苦点罢了,又不是没有机会,把握住机会,一跃冲天 坚韧一些,大部分的批评都是善意的 提问 如何提问? 反应出个人的素养 80%的问题通过调试解决 19%的问题通过搜索解决 剩下1%才去提问

如何选择编程语言?

语言学习选择,必定因人而异,因环境而异,可以以思辨的态度看待,但无需过多争议。

  1. C[入门启蒙]
  2. Delphi(Pascal)[基本没落]
  3. C#[语法领先]
  4. JavaScript[web前端统治]
  5. Java[与C#有相似之处]
  6. Lua[插件]
  7. PHP[小公司常用]
  8. Python[有灵性]
  9. 服务端[一动一静]:PHP+Java / Java+Python --建议学习两门语言
  10. 前端:JavaScript + 一门服务端语言(Node.js / Python)
  11. 国外:PHP、Python、C# --实用性为主
  12. 国内:Java… --受大厂影响
  13. Java 经典工业型语言,面向对象,虽然笨重但严谨,工作机会多
  14. PHP 不是初学者首选语言,大厂选Java机会多,小公司常用php
  15. Python 适合做第二语言,覆盖除底层外的所有场景

“如果你会Python,你一定能找到工作,如果你找不到,这说明你只会Python。”–国内Python机会相对少

【什么时候跳槽?】程序员:当技术成旧、没有用户的公司、没有高要求的公司,建议跳槽,只要是往上提升,多跳跳也无妨。 ‘’毒‘’鸡汤:

“习惯是最可怕的杀猪刀” “环境可以湮灭一个优秀的人” “安逸可以磨灭一个人的上进心” 建议:

好吧走出舒适区

如果您认为作者对您有帮助或我的工作很有价值,请考虑捐赠。如果您能帮我买一杯咖啡,我会很高兴。心

空文件

简介

暂无描述 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/yeqizhang/front-end.git
git@gitee.com:yeqizhang/front-end.git
yeqizhang
front-end
前端文档
master

搜索帮助