Articles icon indicating copy to clipboard operation
Articles copied to clipboard

经验文章

Results 103 Articles issues
Sort by recently updated
recently updated
newest added

# 简介 从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 `.gitlab-ci.yml` 文件,然后添加一个 Runner,即可进行持续集成。 而且随着 GitLab 的升级,GitLab CI 变得越来越强大,本文将介绍如何使用 GitLab CI 进行持续集成。 # 一些概念 在介绍 GitLab CI 之前,我们先看看一些持续集成相关的概念。 ## Pipeline 一次...

## ASCII ASCII(American Standard Code for Information Interchange:美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,由美国国家标准学会 ANSI(American National Standard Institude)于1968年正式制定。它是现今最通用的信息交换标准,并等同于国际标准ISO/IEC 646。 ASCII 码使用指定的7 位或8 位[二进制数](https://baike.baidu.com/item/%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0)组合来表示128 或256 种可能的[字符](https://baike.baidu.com/item/%E5%AD%97%E7%AC%A6)。标准ASCII 码也叫基础ASCII码,使用7 位[二进制数](https://baike.baidu.com/item/%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0)(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊[控制字符](https://baike.baidu.com/item/%E6%8E%A7%E5%88%B6%E5%AD%97%E7%AC%A6)。 - **0~31**及127(共33个)是控制字符或通信专用字符(其余为可显示字符) - **32~126**(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。 - **65~90**为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。 在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。...

## Babel 是一个 JavaScript 编译器 Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。 Babel 能帮我们做的的事情: - 语法转换 - 通过 Polyfill 方式在目标环境中添加缺失的特性 (通过 [@babel/polyfill](https://www.babeljs.cn/docs/babel-polyfill) 模块),Babel 7.0 后 core-js ( 推荐使用 V3 版本...

# Hybrid App 在了解 React Native 与小程序前,先来了解一下 Hybrid App。 ### 优势 Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。 > Native App是一种基于智能手机本地操作系统如 iOS、Android、WP 并使用原生程式编写运行的第三方应用程序,也叫本地app。一般使用的开发语言为JAVA、C++、Objective-C。 > Web App 就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用。 以下是与Web App和Native App的对比: | | Web...

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. Changelog Sourced from hosted-git-info's changelog. 2.8.9 (2021-04-07) Bug Fixes backport regex fix from #76 (29adfe5), closes #84 Commits 8d4b369 chore(release): 2.8.9 29adfe5 fix: backport...

dependencies

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21. Commits f299b52 Bump to v4.17.21 c4847eb Improve performance of toNumber, trim and trimEnd on large input strings 3469357 Prevent command injection through _.template's variable...

dependencies

## https加密流程 `https` 是一种加密传输协议,基于非对称加密算法和对称加密算法的协作使用。`https` 主要作用:1.对数据加密 2.验证网站服务器身份 为什么不使用单一的加密算法? **单一使用对称加密** 1. 拦截客户端报文,伪造秘钥 当客户端初次向服务器请求秘钥时,报文可能被黑客截获,黑客伪装服务器向客户端返回一个黑客生成的秘钥,当客户端使用该虚假秘钥发送报文时,黑客就可以解密客户端发送的报文信息。 2. 拦截服务器报文,截获秘钥 当客户端初次向服务器请求秘钥时,服务器返回秘钥报文,中途被黑客截获,获得秘钥信息。当客户端发送加密报文给服务器或者服务器返回加密报文时都可能被截获报文信息并且解密。 **单一使用非对称加密 (RSA)** 1. 拦截客户端报文,伪造公钥 当客户端初次向服务器请求公钥时,报文可能被黑客截获,黑客伪装服务器向客户端返回一个黑客生成的公钥,并且自己保留私钥。当客户端使用该黑客虚假公钥加密发送报文时,黑客就可以用私钥解密客户端发送的报文信息。 2. 拦截服务端报文,伪造公钥 当客户端初次向服务器请求秘钥时,服务器返回公钥报文,中途被黑客截获,并且黑客修改报文中的公钥信息为黑客生成的公钥。当客户端发送使用黑客虚假公钥加密的报文给服务器时,可能被黑客截获报文信息并且用黑客私钥解密。 3. 拦截服务端报文,解密返回给客户的报文信息 当客户端安全获得服务器发放公钥并且请求服务器时,服务器返回加密后报文信息。黑客可以截获服务器返回的报文信息,并且用公钥解密(因为公钥是大家都知道的),从而盗取服务器响应报文。 从上面几种情况,可以看出 1. 如果要使用对称加密算法来加密,要解决的难题就是如何保证密钥安全地发布到客户端,能解决的话就是安全的加密算法 2. 如果单一使用非对称加密算法,问题一是如何保证公钥安全地发布到客户端?问题二是即使公钥安全地发布到客户端,服务器的响应报文依旧是不能保证安全性,因为黑客可以截获并且公钥解密,只能保证客户端到服务器的报文是安全的。...

跨平台其实是一个老生常谈的话题,技术方案也是历经变迁,但始终热点不断,究其原因有二: - 首先,移动端原生技术需要配备 iOS 和 Android 两套团队和技术栈,且存在**发版周期限制**,开发效率上存在天然缺陷; - 其次,原生跨平台技术虽然「出道」较早,但是各方案都难以做到完美,因此也**没有大一统的技术垄断**。 ——因此,周期性地就有问题:「XXX 跨端项目现在是否凉了」、「XXX 跨端项目以后发展前景如何」? 其实这些问题都有一个统一的回答:看(业务、团队等)场景,看(业务、团队等)需求。每一种原生跨端方案在一定历史阶段内,都有其存在的意义和价值。就此,**我不再聚焦「React Native (营销或前景上)是否凉了」,仅从技术层面进行简单分析 React Native 究竟完了没完。** 我们先来简单 recap 一下跨端技术发展之路,总结如下图: ![img](http://img.pfan123.com/reactnative_history.png) 早期出现了 Cordova、Ionic 等框架,它们**本质上都是使用 HTML、CSS 和 JavaScript 进行跨平台原生应用的开发**。该方案说到底是在 iOS...

# TCP 协议简介 来源:[阮一峰](http://www.ruanyifeng.com/) http://www.ruanyifeng.com/blog/2017/06/tcp-protocol.html TCP 是互联网核心协议之一,本文介绍它的基础知识。 > TCP/IP是一种面向连接的、可靠的、基于字节流的传输层通信协议,它会保证数据不丢包、不乱序。 ![img](http://www.ruanyifeng.com/blogimg/asset/2017/bg2017060801.png) ## 一、TCP 协议的作用 互联网由[一整套协议](http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html)构成。TCP 只是其中的一层,有着自己的分工。 ![img](http://www.ruanyifeng.com/blogimg/asset/2017/bg2017060804.png) (图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。) 最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。 ![img](http://www.ruanyifeng.com/blogimg/asset/2017/bg2017060802.jpg) (图片说明:以太网协议解决了局域网的点对点通信。) 但是,以太网协议不能解决多个局域网如何互通,这由 IP 协议解决。 ![img](http://www.ruanyifeng.com/blogimg/asset/2017/bg2017060803.png) (图片说明:IP 协议可以连接多个局域网。) IP...

## 什么是MTU Maximum Transmission Unit,缩写MTU,中文名是:最大传输单元。 ## 这是哪一层网络的概念? 从下面这个表格中可以看到,在7层网络协议中,MTU是**数据链路层**的概念。MTU 限制的是数据链路层的 payload,也就是**上层协议**的大小,例如IP,ICMP等。 | OSI中的层 | 功能 | TCP/IP协议族 | | :--------- | :------------------------------------- | :--------------------------------------- | | 应用层 | 文件传输,电子邮件,文件服务,虚拟终端 | TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet...