自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李刚的学习专栏

乐观、勇气、专注、果断、好奇、公正、慎思、真诚、追求极致追求完美、诚信!危机感,周围环境或他人给你危机感,你就真危机了!空有担忧,没有规划。明天总是一个可被消费的资产,危机感就没有那么强烈,焦虑反而更强烈,于是一晃一年就过去了。

  • 博客(284)
  • 资源 (3)
  • 论坛 (3)
  • 收藏
  • 关注

原创 Git汇总--版本库操作

版本库操作日志–log显示提交历史! 当不使用任何参数调用,相当于使用了缺省的参数HEAD,即显示当前HEAD能够访问到的所有历史提交。可以指定某个远程或者分支进行查看:$ git log upstream/master参数说明--oneline最精简的日志输出--graph分支图显示-<n>显示最近的几条日志--stat显示每次...

2018-12-04 22:36:35 1925 1

原创 Git汇总--对象及版本库存储

下述内容为团队内部分享整理所得,实用性较强,整体性偏差!PS:关于完整的Git内容,请参照之前发表过一系列文章,详见:Git Pro深入浅出(一)、Git Pro深入浅出(二)、Git Pro深入浅出(三)推荐两个地址:ProGit、GotGit阅读完内容,你会很快的解决下面问题,并了解其底层原理。问题1:如何丢弃本地工作区修改的内容?$ git checkout -- <fi...

2018-12-04 22:28:26 1876 1

原创 HTTP缓存知道这些就够了

随着用户访问量越来越大,缓存变得越来越重要。HTTP文件缓存可以减少冗余数据的传输;缓解网络瓶颈;降低对原始服务器的请求;以及降低距离延迟。命中和未命中有了缓存,就可以保留第一条服务器响应的副本,后继请求就可以有缓存的副本来应对了。可以用已有的副本为某些达到缓存的请求提供服务,这些被称为缓存命中(cache hit)。HTTP没有为用户提供一种手段来区分响应是否缓存命中的,还是访问原始服务器得到的。

2017-07-03 10:13:30 1342 1

原创 定时任务高效触发

圆通处事,方能达到目的!开发中我们经常会遇到一些需要定时来解决的业务场景。比如,有这样一个需求:“如果连续30s没有请求包(例如登录,消息,keepalive包),服务端就要将这个用户的状态置为离线”。轮询处理、定时处理、环形队列处理。

2017-06-04 15:44:22 4472 3

原创 最佳实践:vue2 父组件监听子组件生命周期钩子

HookEvent源码地址:https://github.com/vuejs/vue/blob/master/src/core/instance/lifecycle.js#L314export function callHook (vm: Component, hook: string) { const handlers = vm.$options[hook] if (handlers) { for (let i = 0, j = handlers.length; i < j; i

2020-12-26 13:08:04 98

原创 2020年度个人总结--一个前端技术LD的年终盘点

2019年底,自己立下了两个 Flag,一年即将过去,盘点一下:格局、做事方式有待再提高!多阅读,开拓自己眼界!格局、做事方式2020年是自己在管理岗上,第4个年头。管理的人数由不到10人扩展到了20多人。过程中有阵痛、有迷茫,但挺过来后是满满的收获。管理思维的转变管理创意是一门艺术,而不是科学。当然没有对错,摸索一套适合自己的更为重要!明确的自我主张每次需要决策的事宜上必须有自己明确的主张,但不强加于人,许多问题悬而未决,会抵消影响力。不盲目的下结论,剔除臆测因素在看得

2020-12-22 18:17:38 617 3

原创 vue3 -- 通过简单示例,聊一聊Composition API

在 vue3 版本之前,我们复用组件(或者提取和重用多个组件之间的逻辑),通常有以下几种方式:Mixin:命名空间冲突 & 渲染上下文中暴露的 property 来源不清晰。例如在阅读一个运用了多个 mixin 的模板时,很难看出某个 property 是从哪一个 mixin 中注入的。Renderless Component:无渲染组件需要额外的有状态的组件实例,从而使得性能有所损耗Vuex:就会变得更加复杂,需要去定义 Mutations 也需要去定义 Actions上述提到的几种方

2020-11-20 18:56:39 153

原创 vue3 -- 通过几行示例代码,聊一聊响应式

Vue3 中关于响应式的 API (@vue/reactivity)有以下几个,下面通过使用不同的 Api 实现下述示例,来做一个对比和总结 :refreactivecomputedreadonlywatchEffectwatchApp.vue初始值:<input v-model.number="initial"/><count :initial="initial"></count>Count.vue<div>当前值: {{cou

2020-11-18 20:02:18 97

原创 团队内部分享--工作杂谈(读书推荐)

选择这个主题,更多的是自己这段时间的思考或者说反思,希望有一些观点可以共鸣&共勉,仅此而已~~~下述内容个人感悟(牢骚)颇多,总有些能让大家含沙射影到公司,这不是本意,或者说需要我们和公司一起成长~~~最近自己在工作上的遭遇和感受,这两本书恰到好处的涵盖了,所以,我们从书说起:凤凰项目讲述了一位IT经理临危受命,在未来董事的帮助和自己“三步工作法”理念的支撑下,最终挽救了一家具有悠久历史的汽车配件制造商的故事。小说揭示了管理现代IT组织与管理传统工厂的共通之处,让读者不仅能对如何管.

2020-10-24 18:07:25 836 2

原创 掌握 AST,轻松落地关键业务

如果你查看目前任何主流的项目中的 devDependencies,我们不会在生产环境用到,但是它们在开发过程中充当着重要的角色。归纳一下有:javascript转译、代码压缩、css预处理器、elint、pretiier,postcss等。所有的上述工具,不管怎样,都建立在了AST这个巨人的肩膀上,都是 AST 的运用:编辑器的错误提示、代码格式化、代码高亮、代码自动补全;elint、pretiier 对代码错误或风格的检查;webpack 通过 babel 转译 javascript 语法;.

2020-09-24 13:18:53 162

原创 WebAssembly 小 Demo

意义WebAssembly 是一种新的编码方式,可以在现代的网络浏览器中运行 — 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C/C++ 等语言提供一个编译目标,以便它们可以在Web上运行。WebAssembly 被设计为可以和 JavaScript 一起协同工作 — 通过使用 WebAssembly 的 JavaScript API,你可以把 WebAssembly 模块加载到一个 JavaScript 应用中并且在两者之间共享功能。这允许你在同一个应用中利用 W

2020-09-15 13:25:00 261

原创 干法:经营者应该怎样工作

18年去承德,在图书馆闲逛时,看到了稻盛和夫的『活法』,购买了一本,读完后意犹未尽;然后又在网上搜稻盛和夫的其他书籍,于是就购买了这一本『干法』。买了很久,一直断断续续的读。恰逢近日媳妇生产,在产房外(女儿 ·· 成功于2020年8月19日22点41分顺产)重拾了这本书,痛快读完,颇有收获和感慨。这是一本关于描述工作的书籍,作者的工作观:人生·工作的结果=思维方式×热情×能力。作者对于工作目标是大爱–为社会,为世人。现阶段自己可能很难达到这种境界,只是希望最终可以成为其中一盏灯(一灯照隅,万灯照国),然后

2020-08-29 00:01:50 832

原创 Thinking--函数式编程pipe&compose

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。业务场景描述:A函数执行完毕后,将结果传递给B函数,然后执行B函数。如:(x+1)∗10(x+1)*10(x+1)∗10// 加1function addOne (x) { return x + 1}// 乘2function multiTwo (x) { return x * 2}链式调用链式调用侧重于 oop 风格:先有对象,再调用对象方法。class Calculate { construct.

2020-08-14 15:38:24 102

原创 内网畅外网墙--再聊Nginx访问权限管理
原力计划

接上回,Nginx访问权限管理low address bits of 192.168.101.0/16 are meaningless in /usr/local/nginx/conf/nginx.conf:122location / { allow 192.168.101.0/24; deny all; ...}网关网关在网络层以上实现网络互连,是复杂的网络互连设备。网关既可以用于广域网互连,也可以用于局域网互连。A:IP地址范围 192.168.1.1~192. 168.

2020-07-21 15:45:47 408

原创 Thinking--函数同时支持 callback & promise

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。function fn (cb?: Function, ctx?: Object) { // 函数内部逻辑 console.log('...') // promise if (!cb && typeof Promise !== 'undefined') { return new Promise(resolve => { resolve(ctx) }) } //.

2020-07-16 18:48:46 144

原创 10 分钟了解 webpack 核心内容
原力计划

10 分钟了解 webpack 核心内容直接上手稿了Tapable 是 webpack 核心工具之一,提供了插件接口。webpack 中许多对象扩展自 Tapable 类(如,负责编译的 Compiler 和负责创建 bundles 的 Compilation)。这个类暴露 tap, tapAsync 和 tapPromise 方法,可以使用这些方法,注入自定义的构建步骤,这些步骤将在整个编译过程中不同时机触发。Compiler.js#L104 每一个事件钩子决定了它该如何应用插件的注册cla.

2020-07-11 18:37:23 154

原创 利用 target=_blank 进行前端钓鱼
原力计划

为什么大部分国外网站内链接不用 target="_blank"新窗口打开?Google 都是当前窗口打开;Baidu/Bing 都是新窗口打开。用户将无法控制它在本页打开还是新窗口打开。新窗口打开使任务栏更加地拥挤。新窗口打开增加浏览器资源的消耗。新窗口打开是后退按钮变得不可用。用户更加期望新页面在当页载入以上,并不是我们讨论的重点!作为安全公司,我们关注重点在于安全、安全、安全!涉及内容:<a href="https://ligang.blog.csdn.net" ta.

2020-06-16 19:53:13 450 2

原创 从npm、npx说起,到shell
原力计划

背景:目前整个我们前端工程栈有多处 CLI(包括工具、模板等等),CLI 带来了巨大的便利性,但其在 Windows 下执行往往和 Mac/Unix 系统下表现不同。今天想从 npm run <command> 命令开始,尽可能的阐述一下整条链~~~npmscript项目的相关脚本,可以集中在一个地方(这里指入口)以利用 npm 提供的很多辅助功能,以及不同项目的脚本命令,只要功能相同,就可以有同样的对外接口(如 npm run test,不管是 mocha 还会 jasmine.

2020-06-12 15:37:02 330

原创 最佳实践:vue弹窗及滑块响应式
原力计划

下述为项目中弹窗/滑块统一处理方式汇总(下述已 el-dialog 为例)演示环境:https://eugvd.csb.app/Demo 地址:https://codesandbox.io/s/thirsty-sun-eugvd?file=/src/components/User.vue:2122-2497DOM 结构方式1. (推荐1:直接注入数据「详情」) el-dialog 壳子在外,内容单独组件,后续组件可以替换为其他壳子<template> <el-dialog

2020-06-03 23:26:27 261 2

原创 vue组件对象字面量传值的注意啦!
原力计划

前面汇总过 「vue组件引用传值的最佳实践」,对于 vue2 版本存在一个严重的性能问题,需要格外注意:对象字面量的传递vue-props-传入一个对象<!-- 即便对象是静态的,我们仍然需要 `v-bind` 来告诉 Vue --><!-- 这是一个 JavaScript 表达式而不是一个字符串。--><blog-post v-bind:author="{ name: 'Veronica', company: 'Veridian Dynamics

2020-05-19 23:33:05 376

原创 最佳实践:vue组件引用传值
原力计划

下述组件传值指引用类型(数组或对象)传值。准备:单向数据流所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。这样会防止从子组件意外变更父级组件的状态,从而导致你的应用的数据流向难以理解。额外的,每次父级组件发生变更时,子组件中所有的 prop 都将会刷新为最新的值。这意味着你不应该在一个子组件内部改变 prop。如果你这样做了,Vue 会在浏览器的控制台中发出警告。这个 prop 用来传递一个初始值;这个子组件接下

2020-05-18 23:17:41 334

原创 npm并行&串行执行多个scripts命令
原力计划

通过npm run <commander> 可以运行 package.json 中脚本,Npm 命令不能提供立即运行多个脚本的方式,同时运行需要打开多个终端窗口npm scriptsnode_modules/.bin 目录下的命令,可以直接在 scripts 中调用利用一些脚本生命周期时间"scripts": { "preinstall": "./configure...

2020-05-03 22:17:33 2092

原创 Thinking--return退出多重循环

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。假设在函数体内有一个两重循环语句,需要在内层循环中判断,当到达某个临界条件时退出外层循环。方式一:引入控制标记变量function test1 () { let isBreak = false for (let i = 0; i < 10; i++) { for (let j = 0; j &lt...

2020-04-23 22:46:33 140

原创 动态执行脚本
原力计划

提到动态执行脚本,大家想到的肯定是 eval 或 new Function(),在 nodejs 中有专属的 vm 模块,可以完成相应的 sandbox 作用。浏览器中动态执行脚本eval()函数会将传入的字符串当做 JavaScript 代码进行执行,返回字符串中代码的返回值;如果参数不是字符串将原封不动返回。如果你间接的使用 eval(),比如通过一个引用来调用它,而不是直接的调用 e...

2020-04-12 23:55:53 630

原创 清明节网站变灰是如何实现的

为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动。在此期间,全国和驻外使领馆下半旗志哀,全国停止公共娱乐活动。4月4日10时起,全国人民默哀3分钟,汽车、火车、舰船鸣笛,防空警报鸣响。各大网站响应国家号召,将页面色调变为了灰色。作为一个技术仔,特别是前端技术仔必须一探究竟。取证图片本身依然是彩色,但呈现...

2020-04-04 21:56:17 653

原创 Gitlab--CI执行用户问题

19年团队使用了 Gitlab-CI,做一些自动构建流程。最近团队小伙伴自己尝试搭建流程,参照了我之前发的文章 – Gitlab–CI。但过程中,遇到了用户执行权限的问题。于是有了下面的内容…问题描述按照文章(https://ligang.blog.csdn.net/article/details/89785856)中说明,操作完成发现了权限问题。问题复盘首先要明确,CI 默认执行用户...

2020-04-04 20:25:17 1425

原创 setTimeout/setInterval delay数值过大问题

delay 参数将转换为带符号的32位整数,这有效地将延迟限制为 2147483647 ms(约 24.8 天)2147483647 === Math.pow(2, 31) - 1 === parseInt('01111111111111111111111111111111', 2)在nodejs和浏览器中执行的情况有所差异Nodejs 中setInterval(callback, de...

2020-03-31 00:44:46 228

原创 文件权限777

最近,在使用 pkg 对 vue 工程进行打包生成二进制可执行文件过程中,在传输生成的可执行文件中,在其他小伙伴电脑上无法运行,报错:~ /Users/xxx/Desktop/fusion-smartV-mockzsh: permission denied: /Users/xxx/Desktop/fusion-smartV-mock究其原因,文件没有可执行权限(-rw-r--r--);所以...

2020-03-17 22:39:16 308

原创 vue-loader&vue-template-compiler详解
原力计划

在 vue 工程中,安装依赖时,需要 vue 和 vue-template-compiler 版本必须保持一致,否则会报错。Module build failed: Error: Cannot find module ‘vue-template-compiler’为什么二者版本必须一致呢?vue-template-compiler 承担哪些作用?其和 vue-loader 又有何关联?...

2020-02-29 16:29:34 2964

原创 Node 文件读写模式

在使用 Nodejs 做一些脚手架、以及中间服务时,经常会遇到读写文件操作。对于文件内容的更新,我们往往选择"先删除文件,然后再创建文件",复杂且对于文件操作不存在事务特性!fs.unlink(filePath, err => {})fs.writeFile(file, data, err => {})事实上,对于文件具有不同的打开行为,通过打开行为的不同,我们可以实现不同的...

2020-02-15 22:40:17 688

原创 Vue数据代理检测(源码)

阅读源码通常是枯燥无味的,类似 Vue 这种框架级的,代码量更是巨大;且各个实现之间关联性很大,跟踪源码非常跳跃,看完后总是稀里糊涂。今天,从一个常见的错误说起,与使用场景相结合,带着目的去查看源码。从一个告警说起Vue 工程中,在 data 对象中,使用 _ 或 & 开头命名变量,且将该变量应用到模板中,会收到如下警告(开发模式下):[Vue warn]: Property my...

2020-02-13 20:42:57 1875

原创 了不起的盖茨比

《了比起的盖茨比》作者:弗朗西斯·司各特·费兹杰拉德​ 本书诞生于20世纪20年代–美国历史上一个短暂而特殊的时期(汽车、电话、爵士乐),称“喧嚣年代”,指的是第一次世界大战结束后的1919年到美国经济大溃败之前的1929年这10年。书中描述正是为了**“再现美国这热闹20年代”**,被评为 – “最具匠心的美国小说”。虽名为《了不起的盖茨比》,但称为了不起的“美国往事“可能更为贴切。(遗...

2020-01-28 17:15:51 475

原创 影响力

憨厚甘甜,久而弥笃。写在前面未来,属于终身学习者。我这辈子遇到的聪明人(来自各行各业的聪明人)没有不每天阅读的——没有,一个都没有。 – 查理·芒格未来的世界将不再需要单一的技能型人才,而是需要具备完善的知识结构、极强逻辑思考力和高感知力的复合型人才。优秀的人往往通过阅读建立足够强大的抽象思维能力,获得异于众人的思考和整合能力。很多人读书,追求的是干货,寻求的是立刻行之有效的解决方案...

2020-01-26 20:31:28 225

原创 monorepo--依赖

19年,团队沉淀了组件库、图表库、工具库等基础建设相关内容。上述的内容均为独立工程维护,起初我们采用 Git Subtree + npm install <folder> 来关联各个项目,带来了开发、调试的便利,同时也带了一些复杂性。11月份,整个底层稳定性显著提高,宿主项目中调试等已不是主要问题;我们的新成员 fusion-utils 诞生,由于 fusion-charts 和 f...

2020-01-15 10:39:32 1052 1

原创 Thinking--函数参数重载

前段时间分享过 Thinking–函数参数Normalize思想在前端中的应用 ,对于函数多类型参数很是实用。今天 ,阐述一种更小范围,业务中也更容易出现的场景 – “函数可接收数组或字符串,数组中每个元素的处理逻辑同字符串。”实现常规方式function test (data : string | Array<string>): void { if (Array.is...

2019-12-26 22:15:37 145

原创 Vue项目兼容IE11

vue cli项目中使用@babel/polyfill兼容ie11。 解决 DOM7011: 此页上的代码禁用了反向和正向缓存;HTML1300:进行了导航;`"useBuiltIns": "entry"`的合理使用;vue.config.js 中 transpileDependencies 的正确配置。

2019-12-15 22:38:38 7474 6

原创 Thinking--函数强制参数

Thinking 的两个点:默认值的作用reduce 达到 map + filter 效果JavaScript 是弱类型语言,对于函数的参数不会做强制限制,如果需要限制,我们如何处理?实现if 判断对于一些必须参数,我们通常采用 if 判断,给出相关警告。function test (name) { if (!name) { throw new Error('Missi...

2019-12-06 20:02:37 147

原创 vscode中调试vue工程

在 debug 时,通常的方式如下几种:源代码中增加 debugger 或者 console.log在 Chrome 浏览器 Sources 中加断点vscode 中直接调试,对源码定位准确直观(下面阐述该种方式)以 Chrome 浏览器为例,其他浏览器类似。第一步: 首先确保 Chrome浏览器已正确安装,并在 vscode 中添加 vscode-chrome-debug ...

2019-11-28 22:13:38 554

原创 Thinking--从尾到头打印链表

递归本质上就是一个栈结构,通过递归可以实现反过来输出链表

2019-11-20 23:35:50 110

原创 前端架构--从入门到微前端

年中,自己做规划(2019Thinking(上) – 一个前端开发者的个人思考)时,考量了一段时间「微前端」,也关注到了《微前端的那些事儿》的文章,从而了解了作者「黄峰达」,也就购买了下面将要聊的书《前端架构:从入门到微前端》本书围绕前端架构的实施,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。设计:架构设计的模式,以及设计和制定前端工作流基础:通过深入构...

2019-11-18 22:23:35 2705

jQuery常用插件

jQuery常用插件\验证插件validate\表单插件form\图片切换插件\进度条插件\动画表格排序插件\数据分页插件\滚动条插件\消息通知条插件

2014-12-01

jquery插件

验证插件validate、表单插件form、Cookie插件cookie、搜索插件AutoComplete、图片灯箱插件、右键菜单插件、图片放大镜插件、图片切换插件、动画表格排序插件、进度条插件、页面加载遮盖插件、消息通知条插件、数据分页插件Pgination、滚动条插件NiceScroll

2014-11-15

yuicompressor-2.4.jar

压缩JS所使用jar包! 压缩JS:java -jar yuicompressor-2.4.jar --type js xxx.js -o xxx.js --charset utf-8 压缩CSS:java -jar yuicompressor-2.4.jar --type css xxx.css -o xxx.css --charset utf-8

2014-11-10

奋飛的留言板

发表于 2020-01-02 最后回复 2020-03-28

专栏添加文章功能(调整顺序)太难用,一点也不友好

发表于 2018-03-29 最后回复 2019-10-13

新版伯乐模块入口没了

发表于 2018-03-29 最后回复 2018-03-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除