背景知识 公司一般要求多久就必须修改密码,此时使用ssh的优势就出来了。只要不删除ssh的密钥,修改账号的密码不受影响的。 ssh的公钥太长了,我们一般使用它的指纹来验证更加方便点 公钥一般是这样 它的指纹一般是这样,确实方便很多 ssh相关信息在 ~/.ssh 文件内 配置ssh访问 生成密钥 一般公司的代码使用内网gitlab,自己的代码使用gith
一、背景 富文本编辑器wangEditor的工具栏如图所示 富文本编辑器CKEditor4工具栏如图所示 二、wangEditor编辑器存在问题 1. 字号和字体设置不友好 客服反馈无法快速通过工具栏图标找到设置字号、字体的功能 老版编辑器设置字体(或字号)与许多主流编辑器及Office软件操作有所不同,不支持先设置字体(或字号)再进行输入文字,只能先选中
多语言文件结构 先看下CKEditor4的多语言文件长什么样子 //src/lang/zh-cn.js CKEDITOR.lang[ 'zh-cn' ] = { editor: '所见即所得编辑器', common: { editorHelp: '按 ALT+0 获得帮助&
在上一篇文章 CKEditor系列(二)事件系统是怎么实现的 中,我们了解了CKEditor中事件系统的运行流程,我们先简单回顾下: 用户注册回调函数时可以指定优先级,值越小的优先级越高,默认是10 系统会根据用户的传参组装成系统规范的回调函数,供后续执行 执行回调函数时可以将取消事件和阻止事件,不让其它监听该事件的回调函数执行。 当插件希望对paste事件进行响应,一般
CKEditor的事件系统的源代码在core/event.js里面 我们看看整个事件系统的实现过程 事件监听on CKEDITOR.event.prototype = ( function() { // Returns the private events object for a given object. var getPrivate = function( obj
HTTP/2 的多路复用 前面我们分析了 HTTP/1.1 所存在的一些主要问题:慢启动和 TCP 连接之间相互竞争带宽是由于 TCP 本身的机制导致的,而队头阻塞是由于 HTTP/1.1 的机制导致的。那么该如何去解决这些问题呢? 虽然 TCP 有问题,但是我们依然没有换掉 TCP 的能力,所以我们就要想办法去规避 TCP 的慢启动和 TCP 连接之间的竞争问题。 基于此,HTTP
HTTP 0.9 HTTP协议最早的版本是0.9版本,于1991年提出,其需求很简单——用来在网络之间传递 HTML 超文本的内容。 完整的请求流程如下: 因为 HTTP 都是基于 TCP 协议的,所以客户端先要根据 IP 地址、端口和服务器建立 TCP 连接,而建立连接的过程就是 TCP 协议三次握手的过程。 建立好连接之后,会发送一个 GET 请求行的信息,如GET /ind
我们先看CKEditor的入口ckeditor.js,它里面有一部分是压缩版,压缩版部分对应的源码地址为src/core/ckeditor_base.js // src/core/ckeditor_base.js if ( !window.CKEDITOR ) { window.CKEDITOR = ( function() { var basePathSrcPattern
为了能让你更加深刻地理解事件循环机制,我们就从最简单的场景来分析,然后带你一步步了解浏览器页面主线程是如何运作的。 使用单线程处理安排好的任务 我们先从最简单的场景讲起,比如有如下一系列的任务: 任务 1:1+2 任务 2:20/5 任务 3:7*8 任务 4:打印出任务 1、任务 2、任务 3 的运算结果 现在要在一个线程中去执行这些任务,通常我们会这样编写代码:
先了解下垃圾回收领域的重要术语——代际假说和分代收集。 代际假说 第一个是大部分对象在内存中存在的时间很短,简单来说,就是很多对象一经分配内存,很快就变得不可访问; 第二个是不死的对象,会活得更久。 分代收集 在 V8 中会把堆分为新生代和老生代两个区域,新生代中存放的是生存时间短的对象,老生代中存放的生存时间久的对象。 新生区通常只支持 1~8M 的容量,由