行远自迩

Results 25 issues of 行远自迩

# 工具 介绍一款很方便的在线编辑器——webIDE,点击[进入官网](https://ide.coding.net/)。 # 前言 这是一本书的学习总结,书名为《Node.js开发实战详解》,作者为腾讯出身的黄丹华。由于这会是一篇很长的课程学习总结,为了优化大家的阅读体验,强烈建议安装Chrome浏览器的插件——GayHub。[下载安装地址](https://github.com/jawil/GayHub) # 第 1 章:Node.js基础知识 ## 为什么使用Node 因为Node能处理高并发请求,而且由于Node.js是事件驱动,因此能够更好的节约服务器内存资源。同时,Node.js可以单独实现一个server,这也是Node一个非常大的优点,对于那些简单的server,通过Node实现比使用C++实现会简单得多。 最后,牢记Node解决了长连接、多请求引发的成本问题,因此在一些项目中,比如实时在线的游戏、实时聊天室、实时消息推送功能、实时监控系统等开发过程中,应该把握机会,应用Node来开发。 ## 同步调用和异步调用 1、同步调用时一种阻塞式调用,一段代码调用另一段代码时,必须等待这段代码执行结束并返回结果后,代码才能继续执行下去。例如下面的代码 ```js let n1 = 1 let n2 = 2 let n3 = 3...

study

# 前言 该份资料的来源为慕课网教程[《JavaScript深入浅出》](https://www.imooc.com/learn/277),内容几乎是全文摘抄下来,不喜勿喷啊。 ## 数据类型 JavaScript被称为是一种弱类型的语言,原因就是数据类型居然能够随意转换而不报错,而且在定义变量的时候不用指定其类型,示例代码如下: ``` var num = 32; num = "this is a string"; ``` 面试题常问的:**JavaScript中原始类型有哪几种?** 答:number、string、boolean、null、undefined。 ### 隐式转换 1、加号(+)和减号(-) 在数字与字符串做运算的时候,加号做拼接,减号就做减法 ``` "37" - 7 //30 "37"+7...

JavaScript

# 前言 这篇博文是根据[慕课网教程](https://www.imooc.com/learn/949)整理而来,内容几乎都会是讲师的原话,外带一些自己的理解。 ## Promise是什么 这个英语单词翻译成中文意思就是:许诺;允诺;有可能。因此从字面上就可以知道它代表了即将要发生的事情,从而联想到了JavaScript中异步程序。 **按照它的实际用途来看主要有以下几点** - 用于异步计算 - 可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果 - 可以在对象之间传递和操作Promise,帮助我们处理队列 ## Promise产生的背景 根源是为了优化表单提交的用户体验,而开发了JavaScript这款包含大量异步操作的脚本语言。在提交表单中异步程序的表现是怎么样的呢?就是当你注册会员的时候,填写了昵称这玩意,然后再填写密码的时候,同时服务器里会检测这个昵称是否已经被注册从而做出一些回应,而不用等你全部信息填写好点击提交才告诉你昵称已经存在。 借由异步的这一个特点,可以想到:异步操作能够避免界面冻结!异步的本质用大白话说就是:将耗时很长的A交付的工作交给系统之后,就去继续做B交付的工作。等到系统完成前面的工作之后,再通过回调或者事件,继续做A交付的剩下的工作。 从观察者的角度看起来,AB工作的完成顺序,和交付它们的时间顺序无关,所以叫“异步”。 **咳咳,说重点,以下才是Promise诞生的原因** - 解决因为异步操作所带来的回调地狱,从而导致维护性差,下面请看回调代码 ```js a(function (resultsFromA) { b(resultsFromA, function (resultsFromB) { c(resultsFromB,...

JavaScript
IMOOC

# 前言 本文收集了一些前端面试题(为了方便阅读,建议先安装[gayhub](https://github.com/jawil/GayHub)),主要是为了今后的求职,同时也借助这些面试题更进一步系统的学习、透彻的学习,形成自己的知识链。这并不是投机取巧,临时抱佛脚哈,自己也明白如果这么做肯定对未来的发展不利,不说这么多废话,下面正式开始。 ## 前端开发所需掌握知识点概要(HTML&CSS): - 对Web标准的理解(结构、表现、行为) - 浏览器内核 - 渲染原理 - 依赖管理 - 兼容性 - CSS语法,层次关系,常用属性,布局,选择器,权重,盒模型,Hack,CSS预处理器 - Flexbox布局 - CSS Modules - Document flow - BFC概念以及应用 - HTML5(离线 &...

JavaScript
HTML5
CSS
面试

## 一、前言 websocket是HTML5规范中的一部分,为web应用程序客户端和服务端之间提供了一种全双工通信机制(即双方可同时向对方发送消息),由于websocket借鉴了socket这种思想,因此我们先一起来看看什么是socket。 ## 二、Socket简介 socket又称为“套接字”,应用程序一般通过“套接字”向网络发出请求或者应答网络请求,作为Unix的进程通信机制,socket可以实现应用程序间的网络通信,同时也能够使用TCP/IP协议或者UDP协议。 ![image](https://user-images.githubusercontent.com/20301892/34856145-7650992c-f77e-11e7-8b34-1ab9581a2bc1.png) ## 三、TCP/IP协议 这两种协议是目前应用最为广泛的协议,是构成Internet国际互联网协议最为基础的协议,下面来简单看看这两种协议。 **1、TCP协议:** 面向连接的、可靠的、基于字节流的传输层通信协议,负责数据的可靠性传输问题。 **2、IP协议:** 用于报文交换网络的一种面向数据的协议,主要负责给每台网络设备一个网络地址,保证数据传输到正确的目的地。 ## 四、UDP协议 它是一种无连接、不可靠、基于报文的传输层协议,优点是发送后不用管,速度比TCP块。 ## 五、WebSocket简介 **产生背景:** 在B/S结构的软件项目中,有时候客户端需要实时的获得服务器消息,但是为了可以简化Web服务器,减少服务器的负担,加快响应速度(因为服务器不需要与客户端长时间建立一个通信链接),默认HTTP协议只支持请求响应模式,因此不容易直接完成实时的消息推送功能,如聊天室、后台信息提示、实时更新数据等功能,于是就出现了websocket这门技术。 **再简介一次:** websocket是HTML5开始提供的一种浏览器与服务器间进行的全双工通讯网路技术。依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。唯一有些不足的是少部分浏览器不支持,并且有些浏览器支持的程度与方式有区别。 **特点:** 事件驱动、异步、使用ws或者wss协议的客户端socket、能够实现真正意义上的推送功能。 ## 六、WebSocket客户端 websocket允许通过JavaScript建立与远程服务器的连接,从而实现客户端与服务器间的双向通信。 在websocket中有两个方法: **1、send()**...

websocket
JavaScript
HTML5