自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 收藏
  • 关注

转载 FLV协议5分钟入门浅析

FLV协议简介FLV(Flash Video)是一种流媒体格式,因其体积小、协议相对简单,很快便流行开来,并得到广泛的支持。常见的HTTP-FLV直播协议,就是使用HTTP流式传输通过FLV封装的音视频数据。对想要了解HTTP-FLV的同学来说,了解FLV协议很有必要。概括地说,FLV 由 FLV header 跟 FLV file body 两部分组成,而 FLV file bo...

2019-08-12 08:43:00 276

转载 WebRTC:一个视频聊天的简单例子

相关API简介在前面的章节中,已经对WebRTC相关的重要知识点进行了介绍,包括涉及的网络协议、会话描述协议、如何进行网络穿透等,剩下的就是WebRTC的API了。WebRTC通信相关的API非常多,主要完成了如下功能:信令交换通信候选地址交换音视频采集音视频发送、接收相关API太多,为避免篇幅过长,文中部分采用了伪代码进行讲解。详细代码参考文章末尾,也可以在笔者的Gi...

2019-08-05 08:20:00 796

转载 WebRTC:会话描述协议SDP

什么是SDPSDP(Session Description Protocol)是一种通用的会话描述协议,主要用来描述多媒体会话,用途包括会话声明、会话邀请、会话初始化等。WebRTC主要在连接建立阶段用到SDP,连接双方通过信令服务交换会话信息,包括音视频编解码器(codec)、主机候选地址、网络传输协议等。下面先简单介绍下SDP的格式、常用属性,然后通过WebRTC连接建立过程生...

2019-07-29 08:12:00 1001

转载 WebRTC:数据传输相关协议简介

对网络协议来说,需要做的通常就两件事情:1、建立连接,2、传输数据,WebRTC也不例外。假设WebRTC应用的两端已经建立了连接,那么,剩下就是如何传输数据的问题了。WebRTC同时支持传输音视频数据、自定义应用数据。这其中,涉及多种协议,包括UDP、RTP/SRTP、RTCP/SRTCP、DTLS、SCTP。这些协议名字比较相似,很容易让人混淆,简单总结下:传输音视频数据相...

2019-07-17 09:22:00 476

转载 Express:模板引擎深入研究

深入源码首先,看下express模板默认配置。view:模板引擎模块,对应 require('./view'),结合 res.render(name) 更好了解些。下面会看下 view 模块。views:模板路径,默认在 views 目录下。// default configurationthis.set('view', View);this.set('views', r...

2019-06-24 09:12:00 512

转载 Taro、Weex、Hippy 齐聚IMWebConf 2018!

IMWebConf 2018 前端大会,10 月 14 日重磅来袭!想了解 2018 前端前沿技术和发展趋势?想挖掘前端更深远的价值?就在这个秋季,第七届 IMWebConf 大会重磅来袭,我们邀请您一起参加这场盛宴,与前端大神们一起碰撞技术的火花,寻找你心中关于技术的答案。【关于IMWebConf】IMWebConf 是由腾讯前端 IMWeb 团队发起的国内顶级前端技术领域开发...

2018-09-17 09:16:00 521

转载 一点感悟:《Node.js学习笔记》star数突破1000+

写作背景笔者前年开始撰写的《Node.js学习笔记》 github star 数突破了1000,算是个里程碑吧。从第一次提交(2016.11.03)到现在,1年半过去了。突然有些感慨,想要写点东西,谈谈这期间的收获、心路历程,以及如何学习Node.js。心路历程笔者一直有做技术笔记的习惯,前几年零零散散的也写了不少Node.js的东西,只不过都存在evernote里。写着写着...

2018-06-06 07:35:00 132

转载 babel-preset-env使用指南

文章概览babel-preset-env是非常重要且常用的一个插件预设,掌握它的用法以及实现原理非常有必要。本文主要内容包括:babel-preset-env是什么、入门实例、如何配置以支持特定版本的 node/浏览器、实现原理等。本文所有例子可以在 笔者的github 找到。babel-preset-env简介首先,介绍下历史背景,对了解和学习 babel-preset-en...

2018-06-05 08:15:00 642

转载 Babel插件开发入门指南

文章概览主要包括:Babel如何进行转码、插件编写的入门基础、实例讲解如何编写插件。阅读本文前,需要读者对Babel插件如何使用、配置有一定了解,可以参考笔者之前的文章。本文所有例子可以在 笔者的github 找到,欢迎访问笔者博客获取更多相关文章。Babel运行阶段首先来了解Babel转码的过程分三个阶段:分析(parse)、转换(transform)、生成(generate...

2018-06-04 08:16:00 121

转载 babel-polyfill使用与性能优化

文章首发于笔者的个人博客文章概览本文主要内容包括:什么是babel-polyfill,如何使用,如何通过按需加载进行性能优化。本文所有例子可以在 笔者的github 找到。什么是babel-polyfillbabel只负责语法转换,比如将ES6的语法转换成ES5。但如果有些对象、方法,浏览器本身不支持,比如:全局对象:Promise、WeakMap 等。全局静态函数:...

2018-06-01 08:17:00 647

转载 升级NGINX支持HTTP/2服务端推送

内容概览NGINX从1.13.9版本开始支持HTTP/2服务端推送,上周找时间升级了下NGINX,在博客上试验新的特性。升级工作主要包括:升级NGINX修改NGINX配置修改wordpress主题升级NGINX到1.14.01、配置nginx官方的yum源。创建配置文件/etc/yum.repos.d/nginx.repo,写入如下内容[nginx]name=ngi...

2018-05-30 09:10:00 432

转载 记一次MySQL数据库拒绝访问的解决过程

问题背景用wordpress搭博客,数据库采用MySQL。为了调试方便,创建账户my_account ,允许它从任意主机访问数据库。CREATE USER `my_account`@'%' IDENTIFIED BY 'my_password';修改 wp-config.php 相应配置,注意 DB_HOST 设置为 127.0.0.1。define('DB_USER', 'my...

2018-05-25 08:33:00 748

转载 TCP入门与实例讲解

内容简介TCP是TCP/IP协议栈的核心组成之一,对开发者来说,学习、掌握TCP非常重要。本文主要内容包括:什么是TCP,为什么要学习TCP,TCP协议格式,通过实例讲解TCP的生命周期(建立连接、传输数据、断开连接)TCP简介传输层控制协议(Transport Control Protocol),TCP/IP协议栈的核心之一。位于应用层与网络层之间,提供面向连接的、可靠的字节流...

2018-05-21 08:14:00 195

转载 Node.js:上传文件,服务端如何获取文件上传进度

内容概述multer是常用的Express文件上传中间件。服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题。在SF上也有同学问了类似问题《nodejs multer有没有查看文件上传进度的方法?》。稍微回答了下,这里顺便整理出来,有同样疑问的同学可以参考。下文主要介绍如何利用progress-stream获取文件上传进度,以及该组件使用过程中的注意事项。利用progr...

2018-02-05 08:39:00 358

转载 Express使用进阶:cookie-parser中间件实现深入剖析

文章导读cookie-parser是Express的中间件,用来实现cookie的解析,是官方脚手架内置的中间件之一。它的使用非常简单,但在使用过程中偶尔也会遇到问题。一般都是因为对Express + cookie-parser的签名、验证机制不了解导致的。本文深入讲解Express + cookie-parser的签名和验证的实现机制,以及cookie签名是如何增强网站的安全性的...

2018-02-01 08:34:00 120

转载 转眼人到中年:前端老程序员无法忘怀的一次百度电话面试(二)

一切都不那么真实当一面结束时,一切都显得不那么真实。几分钟前还在着急忙慌地接招,随着电话的挂断,周遭又安静了下来,安静到感觉连脑袋都变得有些迟钝。这种感觉很熟悉。多年前高考结束的那个夜晚,暴雨,回到家,一个人,对着堆成小山的习题集和试卷,说不出话来。一切都结束了,却没有意料中的狂喜。平静,甚至略带一丝压抑。等待,再次整装前行但眼前的面试还没有结束,真正的挑战也许才刚刚到来,后面还...

2018-01-31 08:42:00 93

转载 Node.js进阶:5分钟入门非对称加密方法

前言刚回答了SegmentFault上一个兄弟提的问题《非对称解密出错》。这个属于Node.js在安全上的应用,遇到同样问题的人应该不少,基于回答的问题,这里简单总结下。非对称加密的理论知识,可以参考笔者前面的文章《NODEJS进阶:CRYPTO模块之理论篇》。完整的代码可以在 《Nodejs学习笔记》 找到,也欢迎大家关注 程序猿小卡的GitHub。加密、解密方法在Node....

2018-01-29 08:29:00 139

转载 转眼人到中年:前端老程序员无法忘怀的一次百度电话面试

等待,山雨欲来2010年9月22日,中秋,记得那天下着零星的小雨。大部分同学都已回了家,深秋的校园显得格外空旷寂寥。平时车来人往的校道,也只剩三三两两的行人低着头走着。匆匆忙忙吃完早餐,一个人背着书包来到了教学楼,找了僻静的角落坐下。看看手机,8:45左右,离电话面试还有大概15分钟。心里有些紧张,毕竟是大厂的面试,要求肯定很严格,不知道待会会问什么问题。内心突然有些懊恼,应该提前多...

2018-01-26 08:44:00 111

转载 React Native:真机断点调试+跨域资源加载出错问题解决

写在前面闲来无事,折腾了一下React Native,相比之前,开发体验好了不少。但在真机断点调试那里遇到了跨域资源加载出错的问题,一番探索总算解决,目测是RN新版本调试服务的bug。遇到类似问题的同学应该不少,这里做下记录,有需要的可以参考下。如何断点调试首先,在真机上加载运行RN应用(过程略)。然后,摇动手机,弹出开发菜单,选择“Debug JS Remotely”。c...

2018-01-18 08:28:00 260

转载 再见乱码:5分钟读懂MySQL字符集设置

一、内容概述在MySQL的使用过程中,了解字符集、字符序的概念,以及不同设置对数据存储、比较的影响非常重要。不少同学在日常工作中遇到的“乱码”问题,很有可能就是因为对字符集与字符序的理解不到位、设置错误造成的。本文由浅入深,分别介绍了如下内容:字符集、字符序的基本概念及联系MySQL支持的字符集、字符序设置级,各设置级别之间的联系server、database、table、c...

2018-01-10 08:25:00 280

转载 WebSocket协议:5分钟从入门到精通

一、内容概览WebSocket的出现,使得浏览器具备了实时双向通信的能力。本文由浅入深,介绍了WebSocket如何建立连接、交换数据的细节,以及数据帧的格式。此外,还简要介绍了针对WebSocket的安全攻击,以及协议是如何抵御类似攻击的。二、什么是WebSocketHTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTT...

2018-01-05 09:51:00 122

转载 Nodejs进阶:crypto模块中你需要掌握的安全基础知识

一、 文章概述互联网时代,网络上的数据量每天都在以惊人的速度增长。同时,各类网络安全问题层出不穷。在信息安全重要性日益凸显的今天,作为一名开发者,需要加强对安全的认识,并通过技术手段增强服务的安全性。crypto模块是nodejs的核心模块之一,它提供了安全相关的功能,如摘要运算、加密、电子签名等。很多初学者对着长长的API列表,不知如何上手,因此它背后涉及了大量安全领域的知识。本...

2018-01-03 08:03:00 111

转载 Linux基础:用tcpdump抓包

简介网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。tcpdump - dump traffic on a network例子不指定任何参数监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡。tcpdump监听特定网卡tcpdump -i en0监听特定主机例子...

2017-12-27 09:20:00 101

转载 Linux基础:文件查找find

写在前面在linux的日常管理中,find的使用频率很高,熟练掌握对提高工作效率很有帮助。find的语法比较简单,常用参数的就那么几个,比如-name、-type、-ctime等。初学的同学直接看第二部分的例子,如需进一步了解参数说明,可以参考find的帮助文档。find语法如下:find(选项)(参数)常用例子根据文件名查找列出当前目录以及子目录下的所有文件find...

2017-12-26 08:11:00 56

转载 Linux基础:xargs命令

简介xargs可以将输入内容(通常通过命令行管道传递),转成后续命令的参数,通常用途有:命令组合:尤其是一些命令不支持管道输入,比如ls。避免参数过长:xargs可以通过-nx来将参数分组,避免参数过长。使用语法如下Usage: xargs [OPTION]... COMMAND INITIAL-ARGS...Run COMMAND with arguments INIT...

2017-12-25 09:40:00 112

转载 参加IMWebConf 2017 前端开发者大会是什么体验?

周六作为特邀讲师之一参加了IMWebConf 2017 前端开发者大会的主题演讲,主题为《WebAssembly:面向未来的web开发技术》。本次大会质量非常高,来自国内外的技术专家带了很多干货分享,关注前端技术的同学千万不要错过。以下是本次参会的感想,分享slide可以在这里下载。关于大会内容本次大会非常精彩,诚意满满,干货满满。来自国内外大厂的讲师阵容可谓豪华,如BAT、W3...

2017-09-18 09:27:00 125

转载 Nodejs进阶:服务端字符编解码&乱码处理

写在前面在web服务端开发中,字符的编解码几乎每天都要打交道。编解码一旦处理不当,就会出现令人头疼的乱码问题。不少从事node服务端开发的同学,由于对字符编码码相关知识了解不足,遇到问题时,经常会一筹莫展,花大量的时间在排查、解决问题。文本先对字符编解码的基础知识进行简单介绍,然后举例说明如何在node中进行编解码,最后是服务端的代码案例。本文相关代码示例可在这里找到。关于字符编...

2017-09-04 08:23:00 351

转载 Nodejs进阶:使用DiffieHellman密钥交换算法

简介Diffie-Hellman(简称DH)是密钥交换算法之一,它的作用是保证通信双方在非安全的信道中安全地交换密钥。目前DH最重要的应用场景之一,就是在HTTPS的握手阶段,客户端、服务端利用DH算法交换对称密钥。下面会先简单介绍DH的数理基础,然后举例说明如何在nodejs中使用DH相关的API。数论基础要理解DH算法,需要掌握一定的数论基础。感兴趣的可以进一步研究推导过程,...

2017-08-30 09:14:00 225

转载 大咖云集!IMWebConf 2017 前端大会即将在深圳盛大开幕

2017年火热的夏季,一年一度的IMWebConf强势来袭!9月16日,深圳科兴国际会议中心,我们将全心全意打造一场前端盛宴,恭候各位的光临。作为一名前端老鸟,笔者有幸也参与了本次的大会的主题分享《WebAssembly:面向未来的web开发》。IMWEBConf 向来质量高、干货多,这次大会更是大手笔,请来了来自W3C、谷歌、微软、阿里、百度等企业的技术专家,相信不会令你失望。...

2017-08-29 12:33:00 132

转载 拥抱Node.js 8.0,N-API入门极简例子

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。N-API简介Node.js 8.0 在2017年6月份发布,升级的特性中,包含了N-API。编写过或者使用过 node扩展的同学,不少都遇到过升级node版本,node扩展编译失败的情况。因为node扩展严重依赖于V8暴露的API,而node不同版本依赖的V...

2017-06-03 13:39:00 183

转载 Nodejs进阶:核心模块Buffer常用API使用总结

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。模块概览Buffer是node的核心模块,开发者可以利用它来处理二进制数据,比如文件流的读写、网络请求数据的处理等。Buffer的API非常多,本文仅挑选 比较常用/容易理解 的API进行讲解,包括Buffer实例的创建、比较、连接、拷贝、查找、遍历、类型转...

2017-05-25 08:38:00 221

转载 Nodejs基础:stream模块入门介绍与使用

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。模块概览nodejs的核心模块,基本上都是stream的的实例,比如process.stdout、http.clientRequest。对于大部分的nodejs开发者来说,平常并不会直接用到stream模块,只需要了解stream的运行机制即可(非常重要)。...

2017-05-24 09:45:00 114

转载 Nodejs 进阶:Express 常用中间件 body-parser 实现解析

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。写在前面body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析。使用非常简单,以下两行代码已经覆盖了大部分的使用场景。app.use(bodyParser.json());app.use(bodyParser.ur...

2017-05-22 08:13:00 103

转载 Nodejs进阶:express+session实现简易身份认证

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。文档概览本文基于express、express-session实现了简易的登录/登出功能,完整的代码示例可以在这里找到。环境初始化首先,初始化项目express -e然后,安装依赖。npm install接着,安装session相关的包。npm ...

2017-04-24 09:05:00 174

转载 Nodejs进阶:MD5入门介绍及crypto模块的应用

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。简介MD5(Message-Digest Algorithm)是计算机安全领域广泛使用的散列函数(又称哈希算法、摘要算法),主要用来确保消息的完整和一致性。常见的应用场景有密码保护、下载文件校验等。本文先对MD5的特点与应用进行简要概述,接着重点介绍MD5在...

2017-04-23 11:23:00 209

转载 Node 进阶:express 默认日志组件 morgan 从入门使用到源码剖析

本文摘录自个人总结《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。章节概览morgan是express默认的日志中间件,也可以脱离express,作为node.js的日志组件单独使用。本文由浅入深,内容主要包括:morgan使用入门例子如何将日志保存到本地文件核心API使用说明及例子进阶使用:1、日志分割 ...

2016-12-13 08:56:00 168

转载 Nodejs进阶:如何玩转子进程(child_process)

本文摘录自个人总结《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。模块概览在node中,child_process这个模块非常重要。掌握了它,等于在node的世界开启了一扇新的大门。熟悉shell脚本的同学,可以用它来完成很多有意思的事情,比如文件压缩、增量部署等,感兴趣的同学,看文本文后可以尝试下。举个简单的例子...

2016-12-08 11:40:00 132

转载 express+session实现简易身份认证

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。文章概览本文基于express、express-session实现了简易的登录/登出功能,完整的代码示例可以在这里找到。环境初始化首先,初始化项目express -e然后,安装依赖。npm install接着,安装session相关的包。npm ...

2016-12-07 11:35:00 124

转载 Nodejs进阶:核心模块https 之 如何优雅的访问12306

本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。欢迎加群交流,群号 197339705。模块概览这个模块的重要性,基本不用强调了。在网络安全问题日益严峻的今天,网站采用HTTPS是个必然的趋势。在nodejs中,提供了 https 这个模块来完成 HTTPS 相关功能。从官方文档来看,跟 http 模块用法非常相似。本文主要包含两部分:通...

2016-11-21 08:18:00 142

转载 Nodejs进阶:核心模块net入门与实例讲解

模块概览net模块是同样是nodejs的核心模块。在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socket)。也就是说,做node服务端编程,net基本是绕不开的一个模块。从组成来看,net模块主要包含两部分,了解socket编程的同学应该比较熟悉了:net.Server:TC...

2016-11-17 08:10:00 178

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除