摘要: 开源软件的授权许可都是基于开源许可协议的,常见的开源许可协议有GPL、LGPL、APL、BSD、MIT、Mozilla Public License、Creative Commons、Eclipse Public License 1.0等。它们之前有很多相同的地方,也有很多不同的地方,本文将分析一下 阅读全文
posted @ 2019-09-07 21:26 地铁程序员 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 链接过程 前端 1、CREATED WEBSOCKE 2、ONOPEN 3、ONMESSAGE 服务端 1、收到request 2、给客户端发送消息,生成id 前端 1、收到messge,type为id, 2、给服务端发送消息type=username的消息,携带id 服务端 1、收到type为us 阅读全文
posted @ 2019-09-04 10:25 地铁程序员 阅读(1288) 评论(0) 推荐(0) 编辑
摘要: 1、chrome的debug 2、PerformanceObserver 可是浏览器都不支持。。。。 3、requestAnimationFrame模拟 如果我们需要统计某个特定动画过程的帧率,只需要在动画开始和结尾两处分别记录 allFrameCount 这个数值大小,再除以中间消耗的时间,也可以 阅读全文
posted @ 2019-07-07 13:54 地铁程序员 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-07-06 15:10 地铁程序员 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 事情:使用域名绑定host为本机电脑ip,vue返回 invalid host header 原因:新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname不是配置内的,将中断访问。 解决:webpack.dev.conf.js添加配置 disableH 阅读全文
posted @ 2019-07-02 10:56 地铁程序员 阅读(751) 评论(0) 推荐(0) 编辑
摘要: GMTC-2019北京 GMTC这次的大会的热词肯定是监控、性能,当然跨平台依然是热点,write once,run anywhere!,以下是自己参加的总结心得。 6.20上午 前端的演化 核心理念:结构+样式+表现分离 -2003 前端岗位的出现 核心理念90%优化在前端 工程化的开始 核心理念 阅读全文
posted @ 2019-06-22 23:18 地铁程序员 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 主要实现 显示当前路径 显示当前所在分支 显示当前修改状态 = 表示一个干净的分支 ~ 表示文件有改动 # 表示已commit 但未 push = 表示一个干净的分支 ~ 表示文件有改动 # 表示已commit 但未 push 通过网上搜索和自己根据实际需要修改的代码如下: .bash_profil 阅读全文
posted @ 2019-06-18 11:53 地铁程序员 阅读(1382) 评论(0) 推荐(0) 编辑
摘要: HTML HTML解析 HTML解析是一个将字节转化为字符,字符解析为标记,标记生成节点,节点构建树的过程。 标记化算法 是词法分析过程,将输入内容解析成多个标记。HTML标记包括起始标记、结束标记、属性名称和属性值。标记生成器识别标记,传递给树构造器,然后接受下一个字符以识别下一个标记;如此反复直 阅读全文
posted @ 2019-06-16 13:25 地铁程序员 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 使用Vue.extend来创建全局的Vue组件 //main.js var component = Vue.extend({ template:'<h3>这是Vue.extend创建的组件</h3>' }) Vue.component('myComponent', component) //或者 V 阅读全文
posted @ 2019-06-14 20:49 地铁程序员 阅读(1330) 评论(0) 推荐(0) 编辑
摘要: 配置步骤 (如下为ios步骤,安卓类似) 1)Mac安装Charles,保证手机与电脑在同一wifi(若没有WiFi时,Mac、MacBook,etc 自带热点功能) 2)在手机当前连接的wifi设置里配置代理(即让手机的网络请求都通过电脑这层代理) 手机的服务器代理填写电脑ip。 代理端口默认是8 阅读全文
posted @ 2019-06-10 12:15 地铁程序员 阅读(1732) 评论(0) 推荐(0) 编辑
摘要: PWA技术 PWA全称Progressive Web App,即渐进式WEB应用。 解决的问题 实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能 可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏 实现了消息推送 service worker 必须要https,除了127 阅读全文
posted @ 2019-06-04 19:24 地铁程序员 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 这是配置的sw.js 已测试,是OK的. 阅读全文
posted @ 2019-06-04 18:19 地铁程序员 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 1、引入依赖 import { Terminal } from 'xterm' import 'xterm/dist/xterm.css' 2、 实例化 let term = new Terminal({ rendererType: "canvas", //渲染类型 rows: 40, //行数 c 阅读全文
posted @ 2019-05-17 14:56 地铁程序员 阅读(12774) 评论(1) 推荐(2) 编辑
摘要: 1、Chrome浏览器 会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否有www.linux178.com 对应的条目,而且没有过期,如果有且没有过期则解析到此结束。 注:我们怎么查看Chrome自身的缓存?可以使用 chrome:// 阅读全文
posted @ 2019-05-12 22:58 地铁程序员 阅读(856) 评论(0) 推荐(1) 编辑
摘要: window和mac的同学合作开发项目,会出现git提交/拉取时换行符不一致导致,提示 "the text is identical, but the files do not match, newlines”等字样,会出现很多文件发生更改,下面说说换行符引起的这个问题. CRLF Carriage 阅读全文
posted @ 2019-04-25 17:18 地铁程序员 阅读(2811) 评论(0) 推荐(0) 编辑
摘要: 1、viewport概念:viewport就是设备的屏幕上能用来显示我们的网页的那一块区域. viewport的默认值980px或1024px等,以下是浏览器的默认viewport宽度 2、css中的1px devicePixelRatio = 物理像素 / 独立像素 css中的px是设备的独立像素 阅读全文
posted @ 2019-04-24 18:11 地铁程序员 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 一、前端代码策略:域名切换(多域名部署),解决DNS缓存及域名劫持 二、客户端策略 客户端在空闲时ping cdn节点域名列表中的域名,测量延时、丢包等数据。如果延迟 > xxx,丢包 > xxx ,则在本次生命周期内将该域名拉入黑名单,使用网络质量最好的cdn节点 客户端打开页面时:应loadur 阅读全文
posted @ 2019-04-23 17:23 地铁程序员 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1、基础知识 puppeteer.launch() 创建浏览器实例 puppeteer.newPage() 创建一个新页面 puppeteer.goto() 进入指定网站 page.screenshot() 截屏 page.pdf() 输出为pdf 注意必须是headless=true page.e 阅读全文
posted @ 2019-04-14 17:16 地铁程序员 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 一、sudo npm i electron -g一直失败 最终解决办法:使用了sudo cnpm i electron -g安装成功 原因不详 二、打包问题 1、使用electron-packager打包 命令: 大概格式是这样的: 搜索你想要的icon:https://www.easyicon.n 阅读全文
posted @ 2019-03-20 20:12 地铁程序员 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 简单的移动小游戏只要引入pixi.min.js就可以, 如果要用spine动画(龙骨也支持导出spine格式的)就要引入pixi-spine.js 如果还有声音的支持引入pixi-sound.js 学习网址: - 官网http://www.pixijs.com - API http://pixijs 阅读全文
posted @ 2019-03-18 19:29 地铁程序员 阅读(2758) 评论(2) 推荐(1) 编辑
摘要: 把不想提交的内容删除过滤 阅读全文
posted @ 2019-03-15 11:25 地铁程序员 阅读(204) 评论(0) 推荐(0) 编辑
摘要: Git remote 修改源 git commit -m "Change repo." # 先把所有为保存的修改打包为一个commit git remote remove origin # 删掉原来git源 git remote add origin [YOUR NEW .GIT URL] # 将新 阅读全文
posted @ 2019-03-14 14:39 地铁程序员 阅读(3062) 评论(0) 推荐(0) 编辑
摘要: XHR.readyState == 状态(0,1,2,3,4),而且状态也是不可逆的: 0:请求未初始化,还没有调用 open()。 1:请求已经建立,但是还没有发送,还没有调用 send()。 2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 3:请求在处理中;通常响应中已有部分数据 阅读全文
posted @ 2019-03-14 14:38 地铁程序员 阅读(9835) 评论(0) 推荐(1) 编辑
摘要: 参考文档 https://github.com/pixijs/pixi-sound. 声音 https://www.bookstack.cn/read/LearningPixi/loading pixi中文翻译教程 https://github.com/kittykatattack/learning 阅读全文
posted @ 2019-03-02 10:37 地铁程序员 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1. createEvent(eventType)参数:eventType 共5种类型: Events :包括所有的事件. HTMLEvents:包括 'abort', 'blur', 'change', 'error', 'focus', 'load', 'reset', 'resize', 's 阅读全文
posted @ 2019-02-21 18:40 地铁程序员 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 引言 当下,正面临着近几年来的最严重的互联网寒冬,听得最多的一句话便是:相见于江湖~🤣。缩减HC、裁员不绝于耳,大家都是人心惶惶,年前如此,年后想必肯定又是一场更为惨烈的江湖厮杀。但博主始终相信,寒冬之中,人才更是尤为珍贵。只要有过硬的操作和装备,在逆风局下,同样也能来一波收割翻盘。 博主也是年前 阅读全文
posted @ 2019-02-19 17:42 地铁程序员 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值 特殊应用场景: rest运算符 rest运算符也是三个点号,不过其功能与扩展运算符恰好相反,把逗号隔开的值序列组合成一个数组 对于三个点号,三点放在形参或者等号左边为rest运算符; 放在实参或者等号右边为spread运算 阅读全文
posted @ 2019-02-13 18:41 地铁程序员 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 1、UserAgent分析, 访问IP地址 - aTool在线工具 http://www.atool.org/useragent.php 2、游戏引擎大全 http://html5gameengine.com/ 3、mozilla Doc https://developer.mozilla.org/ 阅读全文
posted @ 2019-02-12 16:27 地铁程序员 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 解构赋值语法是一种JavaScript表达式用来将数组中的值或对象中的属性取出来区分为不同变量 1、对象的解构赋值 2、数组的解构赋值 3、交换值 4、取值并赋予一个新名称 我们能从响应提取这两个值并且给它们赋予一个我们喜欢的任何名称,比如x和y: ps:非var、let、const声明的解构赋值要 阅读全文
posted @ 2019-02-03 12:07 地铁程序员 阅读(566) 评论(0) 推荐(0) 编辑
摘要: function* generatePoker() { const points = ['A', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K']; yield* points.map(p => ['♠️', p]); yield* points.map(p => 阅读全文
posted @ 2019-02-03 11:06 地铁程序员 阅读(726) 评论(0) 推荐(0) 编辑
摘要: array.map(callback,[ thisObject]); 1、map方法的作用不难理解,“映射”嘛,也就是原数组被“映射”成对应新数组 a)array.map(()=>值); b)array.map(p=>[值,p]); 2、可以利用map方法方便获得对象数组中的特定属性值们 3、Arr 阅读全文
posted @ 2019-02-03 10:30 地铁程序员 阅读(1036) 评论(0) 推荐(0) 编辑
摘要: yield* 表达式用于委托给另一个generator 或可迭代对象。 委托给其他生成器 委托给其他可迭代对象 yield* 表达式的值 阅读全文
posted @ 2019-02-02 19:30 地铁程序员 阅读(193) 评论(0) 推荐(0) 编辑
摘要: Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的,一种有效去重方式. Set.prototype.add(value) 在Set对象尾部添加一个元素。返回该Set对象。 Set.prototype.clear()移除Set对象内的所有 阅读全文
posted @ 2019-02-02 18:47 地铁程序员 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 经典洗牌算法,随机排列一次 阅读全文
posted @ 2019-02-02 18:40 地铁程序员 阅读(118) 评论(0) 推荐(0) 编辑
摘要: filter快速过滤创建一个新数组 参数节 返回值节 一个新的通过测试的元素的集合的数组,如果没有通过测试则返回空数组 demo 阅读全文
posted @ 2019-02-02 16:47 地铁程序员 阅读(1246) 评论(0) 推荐(0) 编辑
摘要: 起因是公司iOS端竟然加载出来了HTML代码,百思不得其解,查文献,原来如此... UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。所以不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯(顺便提一下:把带有 BO 阅读全文
posted @ 2019-01-29 21:04 地铁程序员 阅读(1647) 评论(0) 推荐(1) 编辑
摘要: 请参考http://www.fly63.com/article/detial/287 阅读全文
posted @ 2019-01-22 18:26 地铁程序员 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 为保证字体的正常加载 sans-serif不能丢 阅读全文
posted @ 2019-01-21 10:14 地铁程序员 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 一、windows下 先查看npm包的默认安装目录 修改配置 二、Linux的配置 阅读全文
posted @ 2019-01-20 13:35 地铁程序员 阅读(3406) 评论(1) 推荐(0) 编辑
摘要: 前提:已经配置好静态IP以防万一,先安装好iptables服务(不管你装没装,先执行,免得后面添乱) [root@localhost ~]# yum install iptables-services [root@localhost ~]# systemctl mask firewalld.serv 阅读全文
posted @ 2019-01-16 11:25 地铁程序员 阅读(8558) 评论(0) 推荐(0) 编辑