自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李刚的学习专栏

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

  • 博客(380)
  • 资源 (4)
  • 收藏
  • 关注

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

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

2020-04-04 20:25:17 3895 4

原创 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 1221

原创 文件权限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 1413

原创 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 14983

原创 Node 文件读写模式

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

2020-02-15 22:40:17 1165

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

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

2020-02-13 20:42:57 2279

原创 了不起的盖茨比

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

2020-01-28 17:15:51 903

原创 影响力

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

2020-01-26 20:31:28 492

原创 monorepo--依赖

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

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

原创 Thinking--函数参数重载

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

2019-12-26 22:15:37 364

原创 Vue项目兼容IE11

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

2019-12-15 22:38:38 12452 8

原创 Thinking--函数强制参数

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

2019-12-06 20:02:37 468

原创 vscode中调试vue工程

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

2019-11-28 22:13:38 2448

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

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

2019-11-20 23:35:50 241

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

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

2019-11-18 22:23:35 4757 1

原创 致加西亚的信

个人认为这是一本职场人必读的书籍。它从各个角度阐述了职场人面对各种事情应该如何面对的方式。感恩、忠诚、主动、自信比技能和经验更重要。工作本身没有贵贱之分,但是,人们对待工作的态度却有高低之别。态度决定一切,一切都要追求尽善尽美!老板给予你的工作报酬固然是金钱,但你在工作中能获得经验、才能、品格的完善,其价值比金钱要高出千万倍。抱怨只会带来无尽的苦毒和怨恨;羔羊跪乳,乌鸦反哺。换位思考,怀着感恩的心,坚韧且自信的努力走下去,你会变得更谦和、可敬且高尚。

2019-11-13 23:13:03 1021

原创 前端优化--使用JavaScript添加交互

接本系列「关键渲染路径」「阻塞渲染的 CSS」,浏览器大致经过了:构建 DOM 树、构建 CSSOM 树、构建渲染树、布局、绘制五个步骤。CSS 的渲染是阻塞的, 除了上篇讲述媒体查询可以只让 CSS 先加载后渲染,还有什么影响着 CSS 渲染呢?这里主要简述,JavaScript 对 DOM 及 CSSOM 影响相关!JavaScript 允许我们修改网页的方方面面:内容、样式以...

2019-10-24 09:34:59 640

原创 前端优化--阻塞渲染的CSS

接上一篇「关键渲染路径」,浏览器大致经过了:构建 DOM 树、构建 CSSOM 树、构建渲染树、布局、绘制五个步骤。这里主要简述,构建 CSSOM 相关!默认情况下,CSS 被视为阻塞渲染的资源,这意味着浏览器将不会渲染任何已处理的内容,直至 CSSOM 构建完毕。请务必精简您的 CSS,尽快提供它,并利用媒体类型和查询来解除对渲染的阻塞。在 渲染树构建(可查看上篇文章) 中,我们...

2019-10-12 09:25:24 872

原创 一张图呈现前端模块演化历史

历史文章:前端模块系统

2019-09-19 22:00:55 505 1

原创 Nginx 配置https及wss

部署单页应用 SPA 时,我们通常使用 Nginx 做中间层进行转发代理。为了保护 Web 安全,要求我们使用 HTTPS(HTTP + SSL) 以及 WSS(Websocket + SSL) 进行通信。HTTPS 及 WSS 协议旨在保护用户数据在网络上不被窃听(机密性) 和不被篡改(完整性)。HTTP 与 HTTPS 区别HTTPS 协议需要到 CA 申请证书,一般免费证书较少,因而...

2019-09-09 20:59:23 2471

原创 人月神话

用了一个周末时间,把这本项目管理的巨著读完了,虽首版发行距离现在已有40余年, 但其中的某些观点仍然可用,不得不赞叹 Brooks 教授的伟大之处。跟随作者的讲述,自己对接触和管理的项目做了回顾,好多项目出现的问题,在书中早有预言。所以,只能感叹,是问题不可避免?还是现在的项目管理人员是否真的有能力去做好项目的管理工作、以及是否知道什么是重点、什么是无关紧要的东西(现实的体会,领导和客户的要求成为...

2019-08-18 22:28:34 10406

原创 Nginx 访问权限管理

前段时间,团队开放了组件库演示环境,由于存在一些小伙伴在外地办公(只能外网或者 vpn 到内网)。所以,为了安全考虑,设想是否可以通过 Nginx 做一些访问限制呢?当然,答案是肯定的。诉求整理:内网:为了便利性,随意访问,不设限制;外网:通过指定的用户名和密码访问(当然,要求秘钥的保密性)。增加认证这个很简单,使用 Nginx 的 ngx_http_auth_basic_modul...

2019-08-11 21:50:43 1539

原创 前端优化--关键渲染路径

最近自己尝试翻译了几篇外文的技术文章,发现了一些经典文章内容已经过时,如 「How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code」;再者,看到了国内某些知名周刊转载了一些关于渲染原理的文章,感觉内容准确性有待商榷。特刨根问底一下,目前(截止19年7月)Chrome 浏览器底层针对 we...

2019-08-04 15:02:06 1364

原创 Event loop及macrotask & microtask

写这篇文章的原因有两个:其一,团队小伙伴之前分享过《macrotask microtask介绍》这个话题,当时留下了一些疑问,至今仍模棱两可;其二,看到了「奇舞周刊」转发了一篇《从 薛定谔的猫 聊到 Event loop》的文章,内容精炼,但是有一些原则性的问题和规范有偏差。特整理一下相关内容,以免误导大家,也对自己的掌握做一个总结(大部分内容均来自官方文档,文档结尾处有相关链接)。Jav...

2019-08-01 09:29:53 721

翻译 JavaScript的工作原理:内存管理+如何处理4个常见的内存泄漏

本篇译文,删减了原文中一些无关紧要的内容,可以让大家花更少的阅读时间。原文地址:https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec这篇文章将讨论日常编程中另一个复杂且容易被忽视的问题 — 内存管理。其中还提供...

2019-07-21 19:03:30 856

原创 2019Thinking(上) -- 一个前端开发者的个人思考

以下内容多为自己平时积累而来,思考和结论正确与否纯个人观点,希望对大家有所感悟和触发~~~先写下两个观点和感悟:每一项技术的诞生都是为了解决现有技术的一些弊端或满足现有发展的诉求;技术的发展会推动行业发展;行业的变革会衍生技术的变革!前端行业是第二次信息产业浪潮的新产物!第三次、乃至第四次浪潮会带来怎样的变革以及淘汰哪些已有的观念,值得我们思考~~回顾​ 17年9月刚到公司,感...

2019-07-15 21:54:52 1508

翻译 JavaScript的工作原理:引擎,运行时和调用堆栈的概述

原文地址:https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf随着 JavaScript 变得越来越流行,各团队正在多个领域栈中使用它们,其中包括 — 前端,后端,混合应用,嵌入式等等。这篇文章是系列中的第一篇,旨在深入挖掘 JavaScript 及其实际工作原理:通过了解 Ja...

2019-07-11 22:08:47 445

原创 vue computed正确使用方式

最近面试中,遇到一个小伙子,谈到了vue中的 computed 和 watch 区别,最后得到了一个让我瞠目结舌的答案,只用 watch,从不用 computed模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护,所以,对于复杂逻辑,vue 提倡使用计算属性。需要特别说明:计算属性的 getter 函数是没有副作用 (side effec...

2019-07-03 21:16:13 123155 7

原创 vuex-router-sync 源码解析

vuex-router-sync:路由状态管理,保持 vue-router 和 vuex 存储同步。import { sync } from 'vuex-router-sync'import router from '@/router'import store from '@/store'sync(store,router)new Vue({ el: '#app', rout...

2019-07-01 22:14:33 513

原创 Thinking--快速找出故障机器(异或)

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。假设一个机器仅存储一个标号为ID(数值)的记录,且该数据会保存备份(即,两个机器存储了同样的数据;类似于双节点部署)。在某个时间,如果得到一个数据文件ID的列表,是否能够快速找出这个列表中仅出现一次的ID?如果已知道有一台机器死机呢?如果两台呢?const originList = [123, 456, 789,...

2019-06-23 14:48:16 377 2

原创 Thinking--AOP思想在前端中的应用

AOPAOP(Aspect Oriented Programming),面向切面编程。其从主关注点中分离出横切关注点是面向侧面的程序设计的核心概念。分离关注点使得解决特定领域问题的代码从业务逻辑中独立出来。具体到 Javascript 来说,由于语言本身的特性,天生就具有运行时动态插入逻辑的能力。重点在于在原函数上增加其他功能并不改变函数本身。Spring中的Advice:前置通知(Befo...

2019-06-02 16:28:38 426

原创 Thinking--函数参数Normalize思想在前端中的应用

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。Normalize标准化:Normalize发组件过程中,为了提高组件的灵活性,我们通常需要支持多种传参格式,如何优雅的控制和组件内部解耦变得尤为重要!示例: Vue的 clip-board 指令,支持两种传参方式。如果是字符串,则为要拷贝的文本内容如果是对象,对象中的text属性,为要拷贝的文本内容&lt...

2019-06-02 14:16:57 457

原创 Thinking--IOC思想在前端中的应用

Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想。IOC系统中,经常会出现 A 模块,依赖 B 模块,同时也依赖 C 模块的情况。我们通常的处理方式是将 B、C 模块直接引入到 A 模块中,这个获取过程都在 A 模块中实现,随着业务的扩充,A 模块可能还需要 D、E、F… 等等模块,这将导致代码高度耦合并且难以维护和调试。且未来想要删除某模块,需要删除模块的代码,同时需...

2019-06-02 10:52:37 376

原创 通过 Gitlab CI 完成前端自动化构建

​ GitLab-CI 是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如 Jenkins)。而且GitLab8.0以后的版本是默认集成了GitLab-CI并且默认启用的。项目根目录增加 .gitlab-ci.yml 文件配置一个 RunnerGitLab-Runner​ GitLab-Runner 是配合 GitLab-CI...

2019-05-03 11:10:31 2011 1

原创 【HTTP】连接管理--TCP

几乎所有的HTTP通信都是由TCP/IP承载的,TCP/IP是一种常用的分组交换网络分层协议集。TCP连接TCP连接是因特网上的可靠连接TCP为HTTP提供了一条可靠(是因为 确认延迟)的比特传输管道。从TCP连接一端填入的字节会从另一端以原有的顺序、正确的传送出来。TCP流是分段的、由IP分组传送TCP通过端口号来保持所有连接持续不断地运行。<源IP地址、源端口号、目的IP...

2019-04-02 22:41:37 1529

原创 浅水喧闹,深潭无波

应届毕业生选择考研的动机仅仅是,害怕毕业?还是拒绝成熟?大龄青年不愿结婚,真的是没有选择好伴侣?还是害怕承担婚后责任?拒绝成熟、推卸责任,实际上就是在回避问题、逃避痛苦。有人说“承担的痛苦越多,感受的快乐越少”,然而内心的成熟和成长才是快乐的真谛和源泉。为了逃避,我们可能隐瞒自己真实的想法和感受,然而 总有那么一天将会被某个陌生人一语道破。 承受面对问题和解决问题的痛苦,我们就能从痛苦中学...

2019-02-13 12:07:49 1949 1

原创 Git汇总--常见问题及延伸阅读

常见问题忽略文件文件.gitignore的作用范围是其所处的目录及其子目录。忽略只对未跟踪文件有效,对于已加入版本库的文件无效!本地独享式忽略文件一种是针对具体版本库的“独享式”忽略。即在版本库.git目录下的一个文件.git/info/exclude来设置文件忽略。另外一种是全局的“独享式”忽略。即通过Git的配置变量core.excludesfile指定的一个忽略文件,其设置的忽略...

2018-12-04 22:39:14 1589 4

原创 算法--分治算法

分治算法分而治之,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。如:二分法、快速排序、归并排序,二叉树遍历(先遍历左子树再遍历右子树)等。步骤:分解:将原有问题分解为若干规模较小,相对独立,与原问题形式相同的子问题;解决:若子问题容易解决,则直接解;否则继续分解为更小的子问题,直到容易解决...

2018-11-08 19:08:01 519

原创 算法--递归

递归函数直接或间接调用函数本身。递归是一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递归函数。它解决问题的各个小部分,直到解决最初的大问题。在有限次(必须有出口)可预见性结果中,找到结果与上一次结果之间的关系;关键在于梳理清楚本次结果和上一次结果的关系有哪些方面或是因素;在算法的分析中,当一个算法中包含递归调用时,其时间复杂度的分析会转化...

2018-11-05 21:55:27 1344

原创 算法--枚举法

枚举法枚举(Enumuerate)是蛮力策略的一种表现,最普遍的思维方式。它根据问题中的条件将可能的情况一一列举出来,逐一尝试从中找到满足问题条件的解。找出枚举范围找出约束条件优点: 算法简单,在局部地方使用枚举法,效果十分的好缺点: 运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢示例: 百钱百鸡问题我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱...

2018-10-28 16:25:13 1432

aes加密&解密算法前端实现

AES加密解密算法前端实现 高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法。 上述借助开源库crypto实现了AES的加密&解密方式 aesEncrypt、aesDecrypt。 上述可直接在浏览器端使用,需要安装依赖crypto。

2023-02-23

程序员面试宝典-前端-2023最新

程序员面试宝典-前端-2023最新版 包括“面试涉及范围”、“岗位技能要求” 从“素质考察”、“项目经验考察”、“技能考察”三个方面入手,题目由浅入深、前后关联、多数题目没有标准的答案,主要对技术深度挖掘及判断基础知识的掌握。 包含各种考察题目。涉及:HTML/CSS、DOM/BOM、JavaScript、Typescript、框架、vue全家桶、打包构建、网络协议、服务端、操作系统、跨终端、Git、自动化测试、开发流程、代码可维护性、安全开发、学习能力、技术嗅觉、开源等多个方面考察题目。 打破砂锅问到底是这份宝典的精髓。

2023-02-23

毕业论文-办公自动化系统的设计和实现

随着计算机网络通信技术的发展,资源整合的信息系统已成为各高校提高管理水平的主要目标。自动化办公系统应运而生。 本系统采用B/S构架,以Tomcat作为服务器,基于MyEclipse开发工具,以Spring+Struts+Hibernate框架作为底层设计技术,结合MySQL数据库,通过跨平台性的JAVA语言实现逻辑功能,JSP+JAVAScript+CSS 动态网页技术进行界面设计。本系统包括角色管理、职工管理、考勤管理、计划管理、审核管理、通讯管理、日常管理、个人信息管理等模块。利用拦截器和过滤器实现“用户、角色、权限”三维管控,使系统更加具有层次化和结构化。 本系统具有易用性、健壮性、严密性和实用性等特点,将现代化办公和计算机技术有机结合。

2023-02-20

vue知识图谱.xmind

一张图带你了解整个xue全家桶相关。包括vue、vue-router、vuex、webpack、浏览器相关等所有vue全家桶相关知识点。

2021-03-31

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

空空如也

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

TA关注的人

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