优秀的web前端开发工程师的简历原来是这样的

web前端初学者遇到的难题总汇,都源于一个问题,不了解编程的本质,就算为你解决了一个问题,下一个难题怎么办?

俗话说,开卷有益, 前几天又翻了下《核算机程序的结构和解释》,看到一个选用牛顿法求平方根的比如,发生了点新的感触,和大家分享下。

web前端:初学者遇到的难题总汇,很简单!

平方根的数学界说是这样的,对于一个数x , 如果有另外一个数r, r大于等于0 ,并且r 的平方等于x , 那 r 就是 x的平方根。

这个界说描述了平方根的一般性现实,但是这是一个声明性的描述,并没有告诉我们一个详细的核算过程。 假设我们要写一个程序,给定一个数x , 怎么求得它的平方根呢?

初学者可能会觉得, 我能够写个这样的程序啊:

square_root( x ){

找到一个r ,确保 r的平方等于 x

返回r

}

可是这个函数一点用都没有,只不过把原来的问题给重新描绘了一遍罢了。

扫描二维码关注公众号,回复: 4090958 查看本文章

如果有一个这样的编程言语,程序员会十分高兴: 我们能够用声明性的方法来写程序了!只需要通知计算机说,找到一个r ,使得r的平方等于输入x 即可。

web前端:初学者遇到的难题总汇,很简单!

可是在当时的计算机系统下面, 这是绝对不可能的,计算机是个笨家伙,它只能依照人类的通知他的指令一步步的工作, 它突出的优势仅仅运行得比较快罢了。

程序员必需要通知计算机究竟该怎么做,怎么去找到那个r, 第一步怎么做,第二步怎么做。。。。。什么时候结束。

针关于求平方根的比如, 程序员需要找到一个算法,然后把这个算法的步骤和计算进程用计算机言语描绘出来,形成计算机指令。

这个计算进程大概长这个样子:

先猜想r = 1 , 判别r 的平方和x 是不是十分接近(例如相差0.0001)

如果不接近,让 r = (r+x/r) / 2, 持续判别r的平方 与 x 是不是十分接近

如果不接近, 持续让 r = (r+x/r)/2 。。。。。

关于 x =2 , 其计算进程如下:

web前端:初学者遇到的难题总汇,很简单!

很明显,这是一个逐渐逼近的过程,核算的次数越多,越逼近真正的平方根。

改写为编程语言描述:

请暂停阅读10秒钟, 细心体会上述的核算过程,它和之前声明性描绘有什么区别。

一个描绘平方根是什么, 别的一个描绘求平方根核算机详细怎么做。

不管多么复杂的程序,不管的前端之王javascript , 仍是后端的java ,不管是面向过程的仍是面向对象的,最终的做的同样的事情:把用户描绘的需求(通常是声明式的)变成核算机能够了解,能够运算的过程。

“是什么” 和 “怎么做”之间有着巨大的距离,这个距离就需求程序员的大脑去填补。 求平方根是个十分单纯的例子,已经有数学家们想好了详细的核算办法, 程序员翻译一下,变成核算机言语就行。

现实中这样的好事儿是不多的, 比如说你们公司要搞个社交化的促销: 用户接连x天转发某个活动到朋友圈就能够获得奖品, 转发的有用时间是早上9点至晚上10点, 同一天转发多次只算一次。

在完成上你首先得记载用户什么时间转发的,然后对转发时间排个序,过滤掉那些无效的转发,核算这些用户的转发时间没有接连性, 接连的天数到了指定的数值没有。 --- 这就不存在现成的算法,程序员需求自己想出核算的过程,然后用代码完成。

能够看出,这不需求高深的数学知识,就是找到一个合适的算法和数据结构来描绘它,这是编程最最根本的才能。

对于小白来说, 通过自学和培训,可能很快学会一个言语的运用, 但是根本才能不加强,早晚要吃亏的。最突出的表现是给他一个很简单的业务,他花了很长时间才写出一个漏洞百出的版别。

最后,如果有想一起学习web前端,HTML5及JavaScript的可以来一下我的前端群733581373,好友都会在里面交流,分享一些学习的方法和需要注意的小细节,每天也会准时的讲一些前端的炫酷特效,及前端直播课程学习

如果想看到更加系统的文章和学习方法经验可以关注的微信号:‘web前端技术圈’或者‘webxh6’关注后回复‘2018’可以领取一套完整的学习视频

猜你喜欢

转载自blog.csdn.net/qq_40433465/article/details/84067346