摘要:安装node https://github.com/nodesource/distributions#installation-instructions-1 注意使用No root privileges方法安装 安装yarn curl --silent --location https://dl.y 阅读全文
posted @ 2020-03-02 21:53 liulun 阅读 (96) 评论 (0) 编辑
摘要:let ele = this.$el; this.height = ele.clientHeight; this.width = ele.clientWidth; this.showTable = true; window.onresize = () => { ... 阅读全文
posted @ 2020-01-06 15:06 liulun 阅读 (160) 评论 (0) 编辑
摘要:Symbol最大的作用就是用于消除魔术字符串; Set跟数组的最大区别,就是Set的成员都是唯一的,没有重复;(方法:add(value),has,delete,clear) Map跟对象的最大区别,就是对象只能用字符串作为键,Map不是;(方法:get,set(key,value),has,del 阅读全文
posted @ 2019-09-20 10:17 liulun 阅读 (63) 评论 (0) 编辑
摘要:安装nodejs和yarn的命令: curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo curl --silent --location https:/ 阅读全文
posted @ 2019-09-17 09:42 liulun 阅读 (142) 评论 (0) 编辑
摘要:安装nginx的命令 让nginx随系统启动而启动 常用命令 配置路径:/etc/nginx/ 日志路径:/var/log/nginx 打开配置文件 在HTTP节点下配置两个server节点,其他不变 your-domain.com替换成你自己的域名 your-domain.crt和your-dom 阅读全文
posted @ 2019-09-14 07:47 liulun 阅读 (1797) 评论 (0) 编辑
摘要:输出: async函数总是返回promise实例 无论是return了Promise, 还是内部调用了await, 就算什么也没做,它也返回promise; 一个函数,只要被标记了async,那么它就返回Promise对象 所以上面的handler函数返回的是一个promise实例 如果一个 asy 阅读全文
posted @ 2019-09-13 08:46 liulun 阅读 (900) 评论 (0) 编辑
摘要:旋转动画 第一个样式: 第二个样式: HTML代码 linear是匀速运动,还可以设置为: ease 默认。动画以低速开始,然后加快,在结束前变慢。 ease-in 动画以低速开始。 测试 ease-out 动画以低速结束。 测试 ease-in-out 动画以低速开始和结束。 测试 cubic-b 阅读全文
posted @ 2019-09-11 14:09 liulun 阅读 (218) 评论 (0) 编辑
摘要:我想,我最大的优点应该就是努力坚持做好一件事; 做这个事情可能会遇到这样、那样的诱惑、阻力、困难、甚至走了弯路, 都不会轻易改变方向; 我在上家公司持续做了7年, 从一个小兵做到研发中心的技术负责人,子公司的技术总监, 见证了一家企业从20来个人做到上市; 另外,你看到我这篇文章,就看到了我的博客; 阅读全文
posted @ 2019-09-10 10:59 liulun 阅读 (128) 评论 (0) 编辑
摘要:代码如上↑ 阅读全文
posted @ 2019-09-06 09:17 liulun 阅读 (244) 评论 (0) 编辑
摘要:以上是监控代码; 删除图片的代码没有包含在内,自己控制 阅读全文
posted @ 2019-09-06 07:31 liulun 阅读 (215) 评论 (0) 编辑
摘要:大型的政务应用或企业应用,最关键的问题是业务复杂; 我举几个简单的例子: 比如说一个政府机构,有很多部门,每个部门都有很多审批流程, 报销、请假、结算.... 每个部门和每个部门的流程审批环节还不一样, 有些部门某流程要填录这些内容,有的部门要填录那些内容, 有的部门某个审批流程需要3个领导审批,另 阅读全文
posted @ 2019-08-24 20:17 liulun 阅读 (87) 评论 (0) 编辑
摘要:闭包: 闭包可以理解为定义在一个函数内部的函数, 函数A内部定义了函数B, 函数B有访问函数A内部变量的权力; 闭包是函数和子函数之间的桥梁; 举个例子: 输出:hello allen-Liu 如果父函数已经退出(返回),那么闭包效用也还是在的 接着看这个例子: 输出: 可见,js的执行引擎不但记住 阅读全文
posted @ 2019-08-08 14:10 liulun 阅读 (115) 评论 (0) 编辑
摘要:用户与角色是多对多的关系, 一个角色可以被赋予给多个用户,一个用户也可以拥有多个角色; 查询不拥有某角色的所有用户, 如果用leftjoin查询,会造成重复的记录: 举例错误的做法: 这个查询虽然用到了(or `system_user_role`.`role_id` is null )防止结果缺失, 阅读全文
posted @ 2019-07-18 11:31 liulun 阅读 (198) 评论 (0) 编辑
摘要:如果我要遍历一个数组, 我只要给forEach传一个匿名函数即可,很简单; 如果我已经把匿名函数抽象出来,做成了一个公共的方法 (可能其他地方也会用的到) 那么,这个遍历会是这样的; 注意:只要把方法对象传给forEach就可以喽,参数什么的,根本就不用关心; 如果这个方法在一个对象里,那也没什么问 阅读全文
posted @ 2019-07-11 20:12 liulun 阅读 (201) 评论 (0) 编辑
摘要:安装mongodb 先在本地用记事本做一个这样的文件(命名为:mongodb-org-4.0.repo): 上传到服务器这个目录下: 执行如下命令安装mongodb: 禁用自动升级,修改/etc/yum.conf文件,加入如下信息 启动服务: 配置开机自启动 配置用户 进入mongodb shell 阅读全文
posted @ 2019-06-22 08:47 liulun 阅读 (2830) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 第五篇:vscode源码分析【五】 阅读全文
posted @ 2019-06-21 11:55 liulun 阅读 (398) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 第五篇:vscode源码分析【五】 阅读全文
posted @ 2019-06-20 13:58 liulun 阅读 (537) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 第五篇:vscode源码分析【五】 阅读全文
posted @ 2019-06-19 13:24 liulun 阅读 (380) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 第五篇:vscode源码分析【五】 阅读全文
posted @ 2019-06-19 10:38 liulun 阅读 (219) 评论 (0) 编辑
摘要:通常,在Node.js里导入是通过 require函数调用进行的。 Node.js会根据 require的是相对路径还是非相对路径做出不同的行为。 相对路径 相对路径很简单。 例如,假设有一个文件路径为 /root/src/moduleA.js,包含了一个导入 Node.js以下面的顺序解析这个导入 阅读全文
posted @ 2019-06-19 09:22 liulun 阅读 (2196) 评论 (0) 编辑
摘要:以下代码均来自于我开发的开源软件:想学吗 窗口A的渲染进程发消息给主进程 主进程收到消息后,再发消息给窗口B的渲染进程 窗口B渲染进程接收主进程消息的代码: 阅读全文
posted @ 2019-06-19 09:15 liulun 阅读 (1592) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 第四篇:vscode源码分析【四】程序启动的逻辑,最初创建的服务 在上一篇中,我们看到lifecyc 阅读全文
posted @ 2019-06-18 20:05 liulun 阅读 (557) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 第三篇:vscode源码分析【三】程序的启动逻辑,性能问题的追踪 在第一节中提到的startup函数里(src\vs\code\electron-main\main. 阅读全文
posted @ 2019-06-18 16:16 liulun 阅读 (301) 评论 (0) 编辑
摘要:第一篇: vscode源码分析【一】从源码运行vscode 第二篇:vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的 启动追踪 代码文件:src\main.js 如果指定了特定的启动参数:trace vscode会在启动之初,执行下面的代码: 这段代码的主要目的是:从Chromium 阅读全文
posted @ 2019-06-18 13:41 liulun 阅读 (764) 评论 (0) 编辑
摘要:联合类型 在原生的JS里,null和undefined经常会导致BUG的产生, 在ts里,你又想用null,又担心出错的时候 你可以考虑用联合类型,当某值可能为 number或null,你可以声明它的类型为number | null 类型兼容 实现接口时,只要包含了接口要求的数据结构即可兼容这个接口 阅读全文
posted @ 2019-06-18 11:52 liulun 阅读 (209) 评论 (0) 编辑
摘要:上一篇文章:https://www.cnblogs.com/liulun/ (小广告:我做的开源免费的,个人知识管理及自媒体营销工具“想学吗”:https://github.com/xland/xiangxuema) 我们在package.json里能找到他的入口文件; electron是分主进程和 阅读全文
posted @ 2019-06-17 00:07 liulun 阅读 (1086) 评论 (0) 编辑
摘要:安装git,nodejs和yarn 安装Python27,3.x版本的不行,确保它在你的环境变量里; 安装gulp 安装windows build tools: 安装node-gyp 上面安装的一大堆东西,看似没无关,其实他们大都是用来编译原生nodejs插件的, nodejs的原生插件不是基于2进 阅读全文
posted @ 2019-06-17 00:03 liulun 阅读 (2266) 评论 (5) 编辑
摘要:你应该是一个真正的“甲方” 你如果是个二道贩子, 或者你要做的项目是为了应付投资人, 那么这篇文章里谈的很多事情,你都大可不必在意, 甚至现在就离开这个页面,亦无不可。 你的项目应该是一个真正的“项目” 你如果想搞个互联网平台自己运营, 那么建议你还是找个技术合伙人, 或者招聘个技术主管, 因为这类 阅读全文
posted @ 2019-04-11 02:41 liulun 阅读 (1194) 评论 (1) 编辑
摘要:第一节 我在2015年4月份开始做这个开源软件之前, 已经研究了很长一段时间的浏览器开发技术了 那个时候我还只是打算为博客园写个文章发布工具而已, 觉得技术上可行, 也能为常年写博客的人乃至博客平台提供一些帮助 于是就动手做了 做了之后,发布出来,一直自己用, 也没管别人的想法, 那个时候,工作和生 阅读全文
posted @ 2019-03-06 14:43 liulun 阅读 (1530) 评论 (8) 编辑
摘要:窗口间通信的问题 electron窗口通信比nwjs要麻烦的多 electron分主进程和渲染进程,渲染进程又分主窗口的渲染进程和子窗口的渲染进程 主窗口的渲染进程给子窗口的渲染进程发消息 子窗口的渲染进程接收消息的代码 注意,应该dom-ready了之后再发,要不然你的子窗口进程有可能接收不到消息 阅读全文
posted @ 2019-02-22 08:54 liulun 阅读 (1711) 评论 (2) 编辑