技术 2018-06-12
前言Base64是一种用可见字符传输二进制数据的编码方式。本文介绍Base64编码的原理,以及在web中的应用。简介有些场合,我们需要储存和发送文件,又不方便直接使用二进制流。这时候,我们需要把二进制数据翻译成成字符串,写进代码或XML里。ASCII编码虽然也能做到,但因为含有无法显示和打印字符,不...
技术 2018-06-07
前言Cookie是web开发中常用协议之一,用于储存数据到用户终端。作为一个二十多年的老朋友,大家想必都不陌生。本文全面介绍cookie的原理、属性、使用方法、安全性,深入了解cookie的每个细节。请注意,Cookie和Set-Cookie只是http header的一个属性而已。除了浏览器,其他...
技术 2018-05-18
<datalist>是HTML5引入的新元素,用于输入提示。本文介绍<datalist>的语法、交互逻辑,并分别给出基于Vue和React的兼容方案。语法详情参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Elemen...
技术 2018-04-27
前言@font-face允许网页自带字体,从而消除对用户电脑字体的依赖。基本用法如下:@font-face { font-family: "family-name"; /* 字体名 ...
技术 2018-04-18
前言使用个性化的字体是设计师的基本诉求。在web端使用特殊字体,前端工程师更喜欢引入自定义字体(@font-face),而不是用图。因为使用字体有若干好处:内容可以被复制,用户体验更好方便修改内容(在HTML中直接修改文字)方便矢量缩放(在CSS中使用font-size定义大小)方便修改颜色(在CS...
技术 2018-04-01
操作系统总会不定期暴露出一些安全漏洞。养成定期更新Linux内核的习惯,让自己的服务器更安全。确切的讲,Linux只是一个操作系统的内核(kernel),而我们常用的CentOS是基于Linux内核的发行版(distribution),整合了各种程序工具和库。如果当前版本的内核暴露了严重的安全漏洞,...
技术 2018-03-01
前言Checksum算法广泛应用于TCP/IP协议族,用于校验IP、TCP、UDP数据。以IP协议为例,如下图:其中大部分字段看看文档就能明白,只是头部校验和checksum字段,协议中没有提供算法和示例。以下内容将详细介绍checksum的原理和算法,并提供C、PHP、Node.js的函数源码。计...
技术 2018-02-10
相比起城会玩的JavaScript和花样多的CSS,HTML可以用来出面试题的考点并不多。有些无事生非的面试官就提出这个的问题:<b> 和 <strong> 有什么区别?定义HTML标准中的<b>:The HTML Bring Attention To eleme...
技术 2018-02-02
摘要TCP是最常用的传输层协议之一。作为一种字节流协议,需要应用层提供分包协议和方案。ECMAScript 2015 (ES6) 引入Buffer类作为Node.js API的一部分,使其具备了处理二进制流的能力,正好适用于TCP 流这样的场景。本文使用Node.js实现了TCP解包方案,并给出基于...
技术 2018-01-16
几个没有基础的人,各自选择了自己感兴趣的语言,一起学习编程。几天之后,问他们都学了些啥。学C++的人说:我写了个简单的程序,输出九九乘法表;学C++的人说:我写了个发声程序,猫叫狗叫动物叫;学phthon的人说,我web服务器都搭好了。最后学前端开发的说:我学会了怎么搭建开发环境。构建工具向来就是前...