自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 vue打包时给静态资源增加版本号

打开webpack.prod.conf.js文件进行如下操作1.增加版本变量(版本号暂时用时间代替)var Version = new Date().getTime();2.修改要生成的js和css文件的配置项,把刚刚声明的版本拼接进要生成的文件名中;output: {path: config.build.assetsRoot,filename: utils.assetsP...

2019-08-29 17:39:12 1940 2

原创 【Vue报错】关于 The template root requires exactly one element 报错的解决方案

前言近段时间,我正在使用Vue + Element进行新的项目开发。在刚使用完NavMenu组件,准备添加下一项组件时,发生了报错。报错内容Vue Error: The template root requires exactly one element. 报错原因Vue只允许模板里存在一个根节点。解决方案在 <template> 中添加一个 <...

2019-08-28 09:29:50 7084

原创 《趣谈网络协议》学习笔记

一、网络分层1.计算机网络有一个显著的特点,就是这是一个不仅需要背诵,而且特别需要将原理烂熟于胸的学科。考试会考,面试会问。2.为什么网络要分层呀?TCP 在进行三次握手的时候,IP 层和 MAC 层对应都有什么操作呢?【参与封装、解封、寻址】教科书还会列出每个层次所包含的协议,然后开始逐层地去讲这些协议。但是这些协议之间的关系呢?却很少有教科书会讲。从原始地址 A 到目标...

2019-08-27 09:35:15 335

原创 《Mysql实战》学习笔记

一、基本架构1.MySQL 的逻辑架构。看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。这样当我们碰到 MySQL 的一些异常或者问题时,就能够直戳本质,更为快速地定位并解决问题。【客户端—Server层—-存储层;】Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(...

2019-08-27 09:32:10 166

原创 node请求java接口的api地址报错error:getaddrinfo ENOTFOUND

1、问题node服务器用如下代码请求java接口,项目中本地hostname是localhost所以不会报错,但是部署到正式环境后报错error:getaddrinfo ENOTFOUND www.xxxx.com www.xxxx.com:8080var opt = {//请求属性 hostname: 'http://www.xxxx.com', po...

2019-08-21 19:52:00 36636

转载 Node 学习笔记:express 默认日志组件 morgan 从入门使用到源码剖析

morgan是express默认的日志中间件,也可以脱离express,作为node.js的日志组件单独使用。本文由浅入深,内容主要包括:morgan使用入门例子 如何将日志保存到本地文件 核心API使用说明及例子 进阶使用:1、日志分割 2、将日志写入数据库 源码剖析:morgan的日志格式以及预编译入门例子首先,初始化项目。npm install express mo...

2019-08-20 20:37:08 697

原创 解决Client.Timeout exceeded while awaiting headers报错

在进行docker pull 拉取镜像时,出现过下面的错误:net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)原因是国内下载官方镜像点提供的镜像时,速度缓慢,超时。使用加速器就可以解决这个问题。笔者使用的是Centos7,首先需要...

2019-08-20 20:15:54 22569 1

原创 Lodash学习笔记

有多年开发经验的工程师,往往都会有自己的一套工具库,称为utils、helpers等等,这套库一方面是自己的技术积累,另一方面也是对某项技术的扩展,领先于技术规范的制订和实现。Lodash就是这样的一套工具库,它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数,其中部分是目前ECMAScript尚未制订的规范,但同时被业界所认可的辅助函数。莫倩每天使用npm安装Lodash的数量在百...

2019-08-20 11:30:21 339

原创 十分钟入门RocketMQ

本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题。然后本文将介绍RocketMQ的架构设计,以期让读者快速了解RocketMQ。消息中间件需要解决哪些问题?Publish/Subscribe发布订阅是消息中间件的最基本功能,也是相对于传统...

2019-08-19 15:43:09 118

原创 反编译获取任何微信小程序源码——看这篇就够了

一、前言有时候我们想看自己产品的竞品,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来。很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑。于是就想到获取到小程序地源文件,然后再对其进行反编译还原为源代码,来作为学习参考。我百度了各种关于小程序地反编译教程,但是感觉都不太适合像我这样地初学小白,踩了挺多坑...

2019-08-19 13:55:08 33370 28

原创 centos7下安装部署mongodb集群(副本集模式)

环境需求:Mongodb集群有三种模式: Replica Set, Sharding,Master-Slaver。      这里部署的是Replica Set模式。测试环境: 这里副本集(Replica Set)采用一主一备一仲裁模型:配置步骤:  1.下载mongodb    MongoDB官网下载中心:MongoDB Download Center ...

2019-08-19 11:13:10 1560

原创 centos7/rhel7下安装redis4.0集群

相关介绍:Redis从3.0版本开始支持集群!    集群一般由多个节点组成,节点数量至少6个才能保证组成完整高可用的集群。每个节点需要开启配置文件中的cluster-enabled yes,让Redis运行在集群模式下。测试环境:资源有限,这里使用3台虚拟机模拟6个节点(用端口区分),每台虚机2个节点,如下图:注:Redis默认端口:6379,这里方便起见,设定从7...

2019-08-19 10:57:54 151

原创 nodejs 前端项目编译时内存溢出问题的原因及解决方案

现象描述昨天用webpack打包Vue的项目时,node内存溢出而停止build项目,即是项目构建过程中频繁报内存溢出:FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory。并且打包速度相当慢,估计项目过大了。解决方案一:通过package.json中的"build"加大内存/*...

2019-08-16 17:18:40 3203

原创 webpack build打包出的 map 文件有什么用,能不能删或者打包不生成map文件?

打包后产生后缀名为.map的文件是由于配置了sourcemap选项生成的,打包后的文件不容易找到出bug对应的源代码的位置,sourcemap就是来帮我们解决这个问题的,有了map就可以像未压缩的代码一样,准确的输出是哪一行哪一列有错。具体配置可以查看官网devtool配置或者其它的webpack sourcemap 选项多种模式的一些解释如果想要打包后不生成.map文件要怎么配置呢?去...

2019-08-16 10:27:00 11158 1

原创 nodejs的DNS模块浅析

node.js的DNS模块包含两类函数:一、 第一类函数,使用底层操作系统工具进行域名解析,且无需进行网络通信。 这类函数只有一个:dns.lookup()。eg:const dns = require('dns');dns.lookup('iana.org', (err, address, family) => { console.log('IP 地址: %j 地址族...

2019-08-16 10:06:57 655

原创 package-lock.json的作用及与package.json的区别

其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。引用知乎@周载南的回答根据官方文档,这个package-lock.json 是在 `npm install`时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体来源和版本号。它有什么用呢?因为npm是一个用于管理pac...

2019-08-15 11:04:12 194

转载 玩转Nodejs的集群

在Nodejs中使用集群还是不容易的。Javascript的单线程属性让nodejs下的应用很难使用现代机器的多核特性。比如下面的代码实现了一个http服务器的主干部分。这部分代码只会执行在一个线程上,不管这段代码运行的机器是单核的cpu还是1000个内核的cpu。var http = require("http");var port = parseInt(process.argv[2])...

2019-08-14 11:31:55 1110

原创 npm安装更新package.json中的模块依赖

npm一键安装package.json里的依赖时有2种情况:1.package.json不存在时 运行命令: npm init可自动创建package.json文件2.package.json存在时 运行命令:npm install 或者 npm install –save-dev会自动将package.json中的模块安装到node-modules文件夹下。...

2019-08-14 10:44:12 3095

原创 net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting head

使用docker 拉镜像的时候,出现下面的错误:net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)因为在下载官方镜像点的镜像国内访问速度太慢,所以报错,使用加速器就可以解决这个问题首先打开配置文件daemon.json,cent...

2019-08-12 11:52:33 7222 1

原创 nodejs模块 node-schedule使用,定时任务

一. 安装npm installnode-schedule二. 使用例子通过定时访问url展示首先引入2个模块和访问的方法:var http = require('http');var schedule = require("node-schedule");function httpGet(){ var uri = `http://120.25.169...

2019-08-09 09:54:46 669

原创 nodejs中实现sleep功能,暂停几秒

一 背景在使用nodejs爬虫的时候,经常会遇到别人的网站对频率的反爬机制,这个时候如果不做处理程序就会挂掉,重新启动也会继续被屏蔽.这个问题怎么解决呢,我的想法就是程序暂停10分钟或者更长的时间,继续爬取.二 方法其实使用setTimeout就可以实现,只是nodejs异步已经很金字塔了,再加一层会更恐怖,所以本文使用nodejs的第三方模块async来实现,async的目的就是让多...

2019-08-08 19:41:34 5012

原创 高并发设计方案二(秒杀架构)

优化方向:(1)将请求尽量拦截在系统上游(不要让锁冲突落到数据库上去)。传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,并发高响应慢,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小。以12306为例,一趟火车其实只有2000张票,200w个人来买,基本没有人能买成功,请求有效率为0。(2)充分利用缓存,秒杀买票,这是一个典型的读多写少的应用场景,大部分请求是车次查询...

2019-08-08 19:36:06 168

原创 nodejs + nginx + redis cluster 高并发解决方案

nodejs :应用服务器。nginx :负载均衡反向代理。redis cluster : 非主从的集群方案。背景:每当我们的应用服务,在网络上有许许多多的用户时。我们首先考虑到的是,我们的服务器能否承载同一时间高吞吐量的处理,我们的应用服务器架构应该如何去搭建。本文就是作者自己对于高性能web服务器的部分见解。一、数据。针对于用户使用数据而言,我们应该会对数据进行分级。例...

2019-08-08 17:56:31 1058

原创 node PM2 常用命令

pm2常用命令记录$ pm2 start app.js # 启动app.js应用程序$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例# 4个应用程序会自动进行负载均衡$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api"$ pm2 start app.js...

2019-08-08 16:20:25 526

原创 Node.js操作redis示例及常用命令汇总

利用redis、co-redis进行redis操作/** * redis操作示例 */// 准备工作:npm install redis co-redis (--save) // 开发机ip: // 默认端口:6379// 文档参考:https://www.npmjs.com/package/redis (node-redis)// 文档参考:https:/...

2019-08-08 10:32:03 244

原创 nodejs redis遇到的一个问题解决

var redis = require("redis"), client = redis.createClient({host:'tc-arch-osp33.tc', port: 4300,no_ready_check:true});// if you'd like to select database 3, instead of 0 (default), call // cl...

2019-08-06 17:24:51 3211

原创 nodejs环境变量配置及使用n及nvm进行版本切换

nodejs的下载去官网根据自己的系统选择相应的版本就好,很简单,这里不再详细讲解,附官网地址:https://nodejs.org/en/download/!本文主要讲解nodejs的环境变量配置和版本切换。一:环境变量配置:说明:这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在执行类似:npm install expre...

2019-08-02 17:01:45 4883

原创 玩转JS的类型转换黑科技

js身为一种弱类型的语言,不用像c语言那样要定义int、float、double、string等等数据类型,允许变量类型的隐式转换和允许强制类型转换。我们在定义一个变量的时候,就一个var、let、const搞定,不用担心数据的类型。比如常见的字符串拼接,用+号可以实现变量和字符串的拼接。总的来说,一般的规则是 !后面的字符会被转为换布尔 +后面的字符会被转换为数值(-也是差不多)...

2019-08-02 11:21:31 163

原创 Node.js在MySQL中存储数据 & 创建连接池

1.首先安装mysql客户端开发包npm install mysql然后引用mysql模块var mysql = require('mysql');2.建立连接&关闭连接(1)createConnection方法创建连接对象(正式的说法是 使用createConnection方法创建一个表示与mysql数据库服务器之间连接的connection对象)...

2019-08-01 17:49:22 779

原创 2019 VSCode 前端必备插件(持续更新中~)

1.Debugger for Chrome让 vscode 映射 chrome 的 debug功能,静态页面都可以用 vscode 来打断点调试根目录下建立文件.vscode/launch.json{ "version": "0.2.0", "configurations": [{ "type": "chrome", "request": "laun...

2019-08-01 17:32:06 4922

原创 mac os下vscode快捷键

全局Command + Shift + P / F1 显示命令面板Command + P 快速打开Command + Shift + N 打开新窗口Command + W 关闭窗口基本Command + X 剪切(未选中文本的情况下,剪切光标所在行)Command + C 复制(未选中文本的情况下,复制光标所在行)Option + Up 向上移动行Option + Down 向...

2019-08-01 17:02:17 1164

观摩50名Google+Android程序开发竞赛作品

观摩50名Google+Android程序开发竞赛作品

2013-12-24

空空如也

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

TA关注的人

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