首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

全栈工程师成长记录(4)

1LSGO软件技术团队

贡献人:马燕鹏

成为全栈工程师不是为了工作本身,而是为了方便实现自己的梦想!

什么是全栈工程师:

Full Stack Engineer

实现梦想的每一步:

Step1:全栈工程师成长记录(1)

Step2:全栈工程师成长记录(2)

Step3:全栈工程师成长记录(3)

一员工工作三年,总感觉到吃苦受累,而且前途暗淡,迷茫中他决定请辞。

了解情况后,老板问他,“你知道毛毛虫是怎么过河的吗?”员工给出了三个答案:

员工说“从桥上过”,老总摇摇头说:“没有桥”;

员工说“从叶子上过”,老总说:“叶子被水冲走了";

员工又接着说“被鸟吃到肚子里就过河了”,老总强调:“那样的话,毛毛虫就死掉了,也便失去了过河的意义。” 那么毛毛虫究竟是怎么过河的呢?

最后老总告诉员工说:毛毛虫要想过河,只有一种方法,那就是变成蝴蝶。毛毛虫在变成蝴蝶之前要经历一个痛苦的阶段,它在一个茧里面,暗无天日、没吃没喝。这种痛苦要经历很长一段时间。如果你也在想辞职,那么请先审视自身:是否已经有了蝴蝶飞翔的本事

学习笔记:

HTML中浏览器通过表单的形式向服务器端提交数据,服务器端处理数据并返回新的页面。

JavaScript可以通过HTML5的File API对文件进行操作,读取文件内容需要时间,为防止Web页面卡死,这里需要采用异步回调的方式来完成。

JavaScript只支持单线程。在处理多任务时,需要通过异步回调的方式来完成。

通常一次HTTP请求,对应一个页面。即请求发起后,页面要整体刷新。而AJAX实现了局部刷新,即在JavaScript代码中直接与服务器进行通讯(XMLHTTPRequest),得到数据(responseText、responseXML)后,直接修改本页面的DOM树。

AJAX为了保证安全性,不可跨域访问(同源策略:域名、协议、端口号都应相同)。但可以利用JavaScript能够跨域访问的特点,加入callback变量,引出JSONP传输协议,解决跨域访问的问题。

CORS(跨域资源共享)策略,允许浏览器向跨域服务器发送XMLHTTPRequest请求。从而克服了AJAX不可跨域请求的问题,但只有支持HTML5的浏览器可用该策略。

支持CORS策略的浏览器,在AJAX进行跨域访问时,会与跨域访问的服务器“协商”是否允许该浏览器跨域访问,以及允许的方式。若得到许可,即可实现跨域访问。

JSONP只支持GET请求而CORS可以支持多种HTTP请求。

异步回调就是程序顺序执行,但在将来的某个时间点再来调用设置的回调函数。

JavaScript中利用Promise对象实现异步回调。启动Promise对象需要使用new Promise(function(resolve,reject){...});的方式,其中resolve和reject为异步执行后,接收数据的参函数。

Promise.resolve(value):若value为Promise对象,需要进行拆箱操作,取该对象的状态为本对象的状态;Promise.reject(value):若value为Promise对象,没有拆箱操作,返回该对象本身。

Promise对象通过状态改变(异步成功、异步失败)处理函数(then,catch)来回调状态改变后的处理函数(回调函数),传递的数据存储在启动Promise时的resolve和reject之中。

Promise的then方法返回一个Promise对象,故Promise的then方法支持链式调用。这里需要注意then方法的return,若return一个Promise对象,则返回该Promise对象,若return一个非Promise对象,则返回Promise对象的resolve携带该返回值。

Promise可串行执行异步任务promise1.then(promise2).then(promise3);亦可并行执行异步任务Promise.all(promiseArray)或Promise.race(promiseArray);

JavaScript中的canvase通过getContext()得到绘图句柄,类似于C#中的Image通过CreateGraphics()得到GDI+的绘图句柄,利用绘图句柄即可在canvase或Image上完成各种图形的绘制。

JavaScript中没有双缓存的概念,为了避免刷新时的闪烁,需要手动实现。

经过8年多的发展,LSGO软件技术团队在地理信息系统、数据统计分析、计算机视觉领域积累了丰富的研发经验,也建立了人才培养的完备体系。

欢迎对算法设计与实现感兴趣的同学加入,与我们共同成长进步。

本微信公众平台长期系统化提供有关机器学习、软件研发、教育及学习方法、数学建模的知识,并将以上知识转化为实践。拒绝知识碎片化、耐心打磨技能、解决实际问题是我们的宗旨和追求。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421B0FK4800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券