04 2019 档案
摘要:在工程化地使用webpack时,公共代码抽离是不可或缺的,4.x版本之后,commonsChunkPlugin已经被去掉,splitChunksPlugins登上舞台,并且优化了很多配置选项,集体课件官方文档,这里不做过多说明。 在使用splitChunksPlugins之前,首先要知道splitC
阅读全文
摘要:前端工程师应该知道,spa是基于前端路由的单页面应用,如果服务端不做相应的配置,会经常出现404的问题。 一般的做法是默认返回应用的首页。 express // 安装相关依赖 npm install connect-history-api-fallback // 简单配置 const history
阅读全文
摘要:概述 该工具库用来处理 url 中地址与参数,能够很方便得到我们想要的数据。 js 中有 RegExp 方法做正则表达式校验,而 path-to-regexp 可以看成是 url 字符串的正则表达式。 使用 第三方库,使用前先进行安装: $ npm install path-to-regexp 在
阅读全文
摘要:node.js篇 第一步引入包 npm install xlsx -save 第二步使用 var xl =require('xlsx'); //workbook 对象,指的是整份 Excel 文档。我们在使用 js-xlsx 读取 Excel 文档之后就会获得 workbook 对象。 var wo
阅读全文
摘要:iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了。 <iframe src="demo_iframe_sandbox.htm"></iframe> 但是,有追求的我们,并不是想要这么low的iframe. 我们来看看在iframe中还可以设置些什么属
阅读全文
摘要:meta标签介绍 meta标签是HTML语言head区域的一个辅助性标签,常用于定义页面的说明,关键字,最后修改的日期和其他的元数据。这些元数据将服务于浏览器,搜索引擎和其他网络服务。 meta标签的组成 meta标签共有两个属性,分别是http-equiv属性和name属性。 name属性 nam
阅读全文
摘要:1. 大型网站系统的特点 高并发、大流量 高可用 海量数据 用户分布广泛,网络情况复杂 安全环境恶劣 需求快速变更,迭代频繁 渐进式发展 2. 大型网站架构演化历程 2.1. 初始阶段架构 问题:网站运营初期,访问用户少,一台服务器绰绰有余。 特征:应用程序、数据库、文件等所有的资源都在一台服务器上
阅读全文
摘要:面试题 redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现? 面试官心理分析 如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责? 常见的有两个问题: 往 redi
阅读全文
摘要:什么是ServiceWorker 在介绍ServiceWorker之前,我们先来谈谈PWA。PWA (Progressive Web Apps) 是一种 Web App 新模型,并不是具体指某一种前沿的技术或者某一个单一的知识点,,这是一个渐进式的 Web App,是通过一系列新的 Web 特性,配
阅读全文
摘要:nstallation $ [sudo] npm install portfinder Usage var portfinder = require('portfinder'); portfinder.getPort(function (err, port) { // // `port` is gu
阅读全文
摘要:含义 rimraf 包的作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除. 安装 npm install rimraf --save-dev 使用 const rimraf = require('rimraf'); rimraf('./test.txt',
阅读全文
摘要:js中获取各种宽度和距离,常常让我们混淆,各种浏览器的不兼容让我们很头疼,现在就在说说js中有哪些宽度和距离。 1、名词解释 screen:屏幕。这一类取到的是关于屏幕的宽度和距离,与浏览器无关,应该是获取window对象的属性。 client:使用区、客户区。指的是客户区,当然是指浏览器区域。 o
阅读全文
摘要:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次迭
阅读全文
摘要:前言 我们以Java Web为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 正文 阶段一、单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如T
阅读全文
摘要:前言 Redis 提供了 5 种数据结构。理解每种数据结构的特点,对于 Redis 的 开发运维 非常重要,同时掌握 Redis 的 单线程命令处理 机制,会使 数据结构 和 命令 的选择事半功倍。 接下来的几篇文章,将从如下几个方面介绍 Redis 的几种数据结构,命令使用及其应用场景。 预备知识
阅读全文
摘要:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year (2)Seconds Minutes Hours DayofM
阅读全文
摘要:参考网址:http://baike.baidu.com/link?url=2zORJF9GOjU8AkmuHDLz9cyl9yiL68PdW3frayzLwWQhDvDEM51V_CcY_g1mZ7OPdcq8exFSiLusZwODAos5C_ http://www.cnblogs.com/xia
阅读全文
摘要:前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态。Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 在 分布式 方面的需求。当遇到 单机内存、并发、流量 等瓶颈时,可以采用 Cluster
阅读全文
摘要:特点 支持触屏设备和大部分浏览器(IE9以下的就不支持了,原因都懂得) 可以从一个列表容器中拖拽一个列表单元到其他容器或本列表容器中进行排序 移动列表单元时有css动画 支持拖放操作和可选择的文本(这句我也没理解,大概意思就是对原生的拖放进行拓展了) 非常友善的滚动效果 基于原生HTML5中的拖放A
阅读全文
摘要:项目结构截图: 项目在结构上没有任何特殊之处,基本就是MVC的传统结构重点需要关注的是3个Entity类、2个Controller类和1个Config类。 首先,提供pom的完整文档结构: <project xmlns="http://maven.apache.org/POM/4.0.0" xmln
阅读全文
摘要:本篇内容大多总结自张开涛的《跟我学Shiro》原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分对我来说急需在项目中使用的知识加以学习。并且对于大多数第一次接触Shiro的同学来说,掌握这些也应该足够了。 一
阅读全文
摘要:现代浏览器包括ie11,可以直接用h5的全屏api实现 低版本的IE需要通过ActiveX插件实现; 代码实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <button on
阅读全文
摘要:定义和用法 createPattern() 方法在指定的方向内重复指定的元素。 元素可以是图片、视频,或者其他 <canvas> 元素。 被重复的元素可用于绘制/填充矩形、圆形或线条等等。 JavaScript 语法: context.createPattern(image,"repeat|repe
阅读全文
摘要:# 删除 untracked filesgit clean -f# 连 untracked 的目录也一起删掉git clean -fd# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)git clean -xfd# 在用上述
阅读全文
摘要:一、背景 为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP ,拒绝提供服务。 二、架构 实现 IP 黑名单的功能有很多途径: 1、在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求; 2、在 Web Server 层面,通过 N
阅读全文
摘要:Nginx是一个开源、免费、高性能的HTTP和反向代理服务器,也可以用于IMAP/POP3代理服务器。充分利用Nginx的特性,可以有效解决流量高并发请求、cc攻击等问题。 本文探讨了电商场景下Nginx的监控方案,并将使用过程中遇到的问题和解决方案与大家一起分享。 一、对于Nginx你一定了解的基
阅读全文
摘要:1.打印进度条(待完善) #!/bin/sh printf -- 'Performing asynchronous action..'; DONE=0; printf -- '...................'; while [ $DONE -lt 10 ]; do printf -- $DO
阅读全文
摘要:对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器
阅读全文
摘要:一、docker镜像的更新 (1)启动镜像,写入一些文件或者更新软件 docker run -it 3afd47092a0e[root@44652ba46352 /]# ls (2)更新镜像 docker commit -m="test update" -a="wangsir" 44652ba463
阅读全文
摘要:鉴于目前网络上关于krpano的使用和介绍少之又少,结合自己的学习和使用经历,做个总结和记录。 1.安装 下载地址: linux https://krpano.com/forum/wbb/index.php?page=Thread&threadID=15064 windows: 可自行百度,这块网上
阅读全文
摘要:在做H5应用中,有时候会涉及到一些图片加工处理的操作,nodejs有一个很好的后台图片处理module,就是这里说的gm。gm有官方文档,但感觉写得太抽象,反而看不懂了。这里把一些常见的用法写下,供大家参考。 安装首先要安装 GraphicsMagick或者ImageMagick,然后 npm in
阅读全文
摘要:node的glob模块允许你使用 *等符号, 来写一个glob规则,像在shell里一样,获取匹配对应规则的文件. 这个glob工具基于javascript.它使用了 minimatch 库来进行匹配 用法: 首先下载glob包: npm install glob 调用格式: var glob =
阅读全文
摘要:<krpano version="1.18" //版本号 onstart="" //网页启动时调用的函数 basedir="%FIRSTXML%" //设置程序根目录 bgcolor="" //页面背景颜色 idletime="0.5" //没用户干预情况下的调用时间 colorcorrection
阅读全文
摘要:Output output 配置如何输出最终想要的代码。 output 是一个 object ,里面包含一系列配置项,下面分别介绍它们。 filename output.filename 配置输出文件的名称,为string 类型。 如果只有一个输出文件,则可以把它写成静态不变的: filename:
阅读全文
摘要:Git diff 用于比较两次修改的差异 1.1 比较工作区与暂存区 git diff 不加参数即默认比较工作区与暂存区 1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容) git diff --cached [<path>...] 1.3 比较工作区与最新本地版本库 git
阅读全文
摘要:生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype、html、head、body 以及 meta 等内容。你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档初始结构,你没有看错,输入一个感叹号(当然是英文符号),然后摁下 TAB 键,就会发现生成了下面的结
阅读全文
摘要:微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。 同时,它们也可以在共享组件的同时进行并行开发——这些组件可以通过 NPM 或者 Git Tag、Git Submo
阅读全文
摘要:最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得
阅读全文
摘要:fs-extra模块是系统fs模块的扩展,提供了更多便利的 API,并继承了fs模块的 API。 1、复制文件 copy(src, dest, [options], callback) 示例: var fs = require('fs-extra'); fs.copy('/tmp/myfile',
阅读全文
摘要:随着前端技术的发展,工程化逐渐成为了一种趋势。但在实际开发时,搭建项目是一件很繁琐的事情,尤其是在对一个框架的用法还不熟悉的时候。于是很多框架都自带一套脚手架工具,在初始化前端项目的时候就可以不用自己从头搭建,只要在命令行输入初始化命令即可。 那么,如果想自行开发出这样一个命令行工具来初始化自定义项
阅读全文
摘要:效果图.gif prologue 之前在网上看到一个面试题:如何实现浏览器中多个标签页之间的通信。我目前想到的方法有三种:使用websocket协议、通过localstorage、以及使用html5浏览器的新特性SharedWorker。 websocket这里先不介绍了,全双工(full-dupl
阅读全文
摘要:BroadcastChannel,就字面意思来言,叫做“广播频道”,官方文档说,该API是用于同源不同页面之间完成通信的功能。 1. 概况 它与window.postMessage的区别就是,BroadcastChannel只能用于同源的页面之间进行通信,而window.postMessage却可以
阅读全文