自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

来者往者

个人笔记

  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 简单实现EventEmitter

简单实现EventEmitter尝试做了一下原理在一个页面监听某个时间在另一个页面触发源码Observer.jsclass Observer { constructor() { // initial the handlers as a empty array this.handlers = []; } // if you find o...

2018-12-04 19:00:02 1258

原创 NODE.JS函数计算(读取OSS)

NODE.JS读取OSS由于最近工作需要,用到了阿里的ali-oss下载功能所以记录下来技术栈:原生httpServer + ali-oss原理根据 buket + endpoint + accessSecretKey + ID源码const OSS = require('ali-oss');const http = require('http');const url...

2018-11-30 17:55:26 1169

原创 前端快速模版开发

记录一次配置前台模版的工作由于最近工作新建项目特别多,每次都要重新配置一些http.js 、 storage 、 项目结构,是一件特别冗余的工作,所以我在网上查了一下别人的做法,采用了scion + co实现的简单模版脚手架本质上只是对template.json的操作(读取、fs写入) + 执行terminal command(终端命令) 新建项目 本地安装好scion-cl...

2018-11-19 18:55:04 989 2

原创 前端与后台交互方式

前端与后台交互由于最近和大牛聊天,所得一些感悟,写下来,以勉励自己交互方式http请求(问答模式)通过传统的发送请求接收相应,一问一答的模式获得数据,主要负责传递参数,接收数据模版,渲染数据,对数据几乎不操作轮询(用于获取最新的数据)对于数据的实时性有要求时,可以采用轮询的方式,隔几秒钟发送一次请求询问后台是否有最新的数据,如果接收到了最新的数据,便更新自己的视图层...

2018-11-16 13:55:58 831

原创 React-Native环境搭建

React-Native环境搭建最近要做一个移动端的app项目,所以在办公电脑上安装了一下rn的环境本人用的是mac噢,所以环境都是以mac为标准下载homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装node...

2018-11-16 13:54:39 191

原创 MongDB学习

MongoDB学习由于最近像后台看齐,所以特意来学一下MongoDB安装使用homebrew命令brew install mongodb配置mongod --config /usr/local/etc/mongod.conf启动新打开一个tab,输入mongo默认端口是27017,更换端口使用--port / --host参数之后便进入了mongodb的页面...

2018-11-16 13:51:08 133

原创 HTML基础 (SEO、会话追踪)

HTML基础1.前端需要注意哪些SEO合理的title、description、keywords: 搜索对着三项的权重逐个减小, title值强调重点即可, 重要关键词出现不要超过2两次,而且要靠前,不同页面title、description要有所不同;description把内容高度概括,长度合适语义化的HTML代码,符合W3C规范;语义化代码让搜索引擎容易理解网页2.Web...

2018-11-16 13:49:54 165

原创 Node + Redis实践小demo

Redis学习最近在向node后台开发看齐,所以了解了一些关于redis的知识,这里作为笔记 安装redis 使用home-brewbrew install redis成功的提示信息To have launchd start redis at login: ln -sfv /usr/local/opt/redis/*.plist ~/Library/Launch...

2018-09-17 22:28:27 454

原创 HTML动态引用js / css

const LIST = [ 'script', 'css',]function appendDependencies() { const jsList = [ 'xxxx.xxxx.js', ] const cssList = [ 'xx.css' ] const fragment = document.createDocumentFragmen...

2018-09-05 15:56:04 2161

原创 RSA的前端与node层应用

RSA的node层应用由于前几天有朋友问我RSA的使用方式,便花了一些时间去看了一下文档自己做了一下前端和node端由来:由于表单提交的数据用f12或其他抓包工具可以看的一清二楚,所以前端在处理表单提交的时候会要求使用RSA/MD5等类似的加密工具加数据加密后再上传用到的类库: node-rsa 对称性加密 顾名思义,对称性加密就是两边的加密、解密方式用的是同一个秘方...

2018-08-29 19:45:15 631

原创 尼康相机知识点

尼康相机知识点 调整中心对焦点 问题:当选择了AF模式的点对焦时,中心矩阵偏上或偏下时怎么调整   调整按键转盘的开关,转到白点那一块(非lock) 看镜头,上下挪动对焦点 选好对焦点,锁定对焦点(转到lock那一块) 测光  相机上部有一个[O]测光按钮, 平价测光(均匀测光) 中央重点测光(着重一点) ...

2018-08-23 18:57:55 616

原创 koa面向对象式编程

koa面向对象式编程最近由于在用egg.js,所以十分羡慕它里面面向对象的逻辑,自己参照着简单封装了一个面向对象的koa2-node的 写法封装思想,将一些基础的方法(list, insert, update, delete)封装至一个父类(基类),子类继承它便可以获得对应的方法 route层 定义了一堆页面路由 用户请求对应的路由 进入对应...

2018-08-16 20:13:23 713 1

原创 puppeteer爬虫扒取数据后存入数据库

puppeteer爬虫扒取数据后存入数据库由于最近的工作内容接触到了爬虫与测试所以这里就记录了一个小小的例子爬虫puppeteer + Koa2 + Mysql是从之前koa2项目上增强了爬虫的功能爬虫是以网易公开课的例子为例之前koa博客地址:https://blog.csdn.net/frank_come/article/details/80805032ko...

2018-08-09 16:09:48 2447

原创 Mac下SFTP连接服务器下载文件

Mac下SFTP连接服务器下载文件由于工作上遇到了关于连接sftp服务器的问题,故记录下来2018-08-08 HZ 连接服务器 sftp /*username@/*host   系统会提示你 The authenticity of host 'host (xx.xxx.xx.xx)' can't be established.ECDSA key fi...

2018-08-08 19:51:06 8517 1

原创 谷歌浏览器调试JavaScript代码

谷歌浏览器调试JavaScript代码由于在前端是一个弱类型语言,虽然现在增加了ESLint,Flow等静态检查,但是这些检查工具只能帮你检查出一些代码的显式问题,很多隐藏的逻辑性问题我们只能通过console去输出,但是有些时候打印出来的结果不尽人意,于是,我便找阿里的前辈学习了如何使用debugger去调试代码如下代码function a () {  let i = 1;...

2018-08-07 10:39:15 6709

原创 记录yield错误

记录yield错误今天在项目里面写一个函数时报错,所以记录下来yield是generator语法糖的提交我们来看一个例子​* function abc() {   yield 1}​abc.next()// 1​正常情况下,使用在函数体里使用多个yield是没有问题的* function abc() {   yield 1   yield 2...

2018-07-31 16:29:22 984

原创 Websocket心跳重连

Websocket心跳重连最近的工作业务上有用到关于websocket的相关知识,本来打算用socket.io去完成,但是最后还是采用了自带的websocket的方式完成需求 新建websocket this.websocket = new WebSocket('yoursocketurl')   设置websocket传输类型(默认为text/json,这...

2018-07-13 16:47:05 3650

原创 React-Native环境搭建

React-Native环境搭建最近要做一个移动端的app项目,所以在办公电脑上安装了一下rn的环境本人用的是mac噢,所以环境都是以mac为标准下载homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装nodebrew instal...

2018-07-03 15:54:46 152

原创 AMap通过两点获取偏移量

AMap通过两点获取偏移量最近在用AMap做一个热点图,但是有些功能官方没法提供,所以自己封装了一些方法两点确定偏移的米数/**   *   * @param {Object | include longitude & latitude} point1   * @param {Object | include longitude & latitude} point2 ...

2018-07-02 16:57:11 875

原创 JS对象下划线转驼峰,驼峰转下划线

JS对象去掉下划线属性最近在写node端,所以遇到数据库直接返回数据带下划线的情况需要把下划线属性换成驼峰属性 封装了两个方法 将下划线换为驼峰 const replaceUnderLine = (val, char = '_') => {  const arr = val.split('')  const index = arr.indexOf(char...

2018-06-29 17:48:48 7345

原创 Idea新建一个springBoot项目

Idea新建Spring boot项目最近有一个需求写Java后台,所有就重新拾回我那一丁点的Java基础打开Idea新建项目选择Spring Initializr,jdk选择1.8点击下一步编写包名以及编写者Artifact: 编写者、group: 包名选择需要的第三方这里采用了mybatis + mysql,web处勾选web输入项目名称到这里你就成功创建了项目了导入相关依赖在pom.xml里...

2018-06-27 14:15:25 27868 2

原创 Linux服务器相关

Linux服务器相关ssh链接mac上连接服务器最便捷的方式无疑是ssh连接了打开cmd窗口运行sudo ssh username@ip -p port1.提示你输入本机密码Password:2.提示ECDSA keyECDSA key fingerprint is SHA256:CjKMbELB5VvJeM6KeBmthGoi6C2QjbfbmEYlyT8Zew8.​Are you sure...

2018-06-26 17:25:40 118

原创 koa连接mysql项目例子

koa路由层封装typescript例子koa面向对象式编程(仿egg.js)最近做了一个koa的例子,封装了一些controller层和services层技术栈采用的是koa2 + koa-router + mysql controller : 负责直接和数据库进行连接(写sql, 对参数进行处理) services: 负责传输数据 route: 负责...

2018-06-25 17:33:33 10558 3

原创 git删除误传远程分支

git rm -r --cached node_modulesgit commit -m '移除node_modules文件夹'git push origin master

2018-06-12 14:37:09 142

原创 PhantomJs入门小实例

PhantomJs 入门小demo为啥要用PhantomJs呢,而不是superagent + cheerio?后者只可以爬取一些静态网页是非常好用的,但是遇到了动态JS加载数据的网页就束手无策了。所以这里选取了phantomJs作为爬虫的工具(又称无头浏览器)官网下载phantomJs的exe程序配置phantomJs环境变量mac配置我用的是Iterm2 + Oh my zash 所以我配置的...

2018-06-07 21:32:17 538

原创 JS数组拆分

把一个数组拆成两半const arr = [1, 2, 3, 4]const arr1 = arr.reduce((init, item, index) => { index % 2 === 0 ? init.push([item]) : init[init.length-1].push(item) return init},[])console.log(arr1)...

2018-06-04 15:33:22 6142

原创 MySQL

MySQL今天用node里的koa2写后台,记录一些问题SQL语句创建表create table table_name ( column_name int primary key (主键) auto_increment,   column_name varcar(50) not null)// 最后一个列的末尾不应该加上逗号查询表select * from table_name新...

2018-05-27 11:37:36 106

原创 JavaScript按位取反运算符

日结博客 15.5.18 HZJavaScript按位取反运算符由于JavaScript数组里面没有contain的方法,所以每次查找一个元素是否存在时都使用indefOf去操作,而indexOf并没有给一个boolean值,而是给了一个下标,多了一步,这个时候按位取反运算符便排上了用途按位取反: 顾名思义,先把二进制的0101编码加上一位,再取相反符合取值如下~1 // -2~2 // -3...

2018-05-15 16:44:40 2751

原创 Jest测试遇到的问题

###日结博客 11.5 18 HZ记录Jest运行的问题关于webpack里alias的问题由于在webpack配置了路径别名,所以在你shallow/mount/render时报路径错误解决方案// 在package.json Jest里加入 "moduleNameMapper": {      "^components(.*)$": "<rootDir>/src/compon...

2018-05-11 17:31:26 8028

原创 Jese测试入门

###日结博客 10.5.18Jest相关笔记随着前端愈来愈多的代码,想要人工去测试某样功能段是否正常或者是api是否返回正常,这样无疑是耗费巨大的人工成本的,自动化测试便符合了这时我们的需要,以下便是作为单元测试的神器Jest一些用法导入yarn add --dev jest使用在src下创建相关test文件(src/test/sum.js)function sum(a, b) { ret...

2018-05-10 12:28:27 167

原创 Immutable在React中的使用

日结博客 8.5.18 HZImmutable的运用判断数据是否值相等import { is } from 'immutable'let foo = { a: 'name' }let foo1 = { a: 'name' }console.log(is(foo, foo1)) // true在React中生命周期中运用shouldComponentUpdate(nextProps = {}...

2018-05-08 15:31:32 749

原创 Moment使用

日结博客 5.7.18 HZ Moment.JS获取时间差moment.js是一款现在对时间处理的强大的函数,使用安装 npm install moment import moment from 'moment' moment from 'moment' 获取两个日期之间的差 let date1 = moment('2018-02-02')let d...

2018-05-07 11:13:35 4734 2

原创 Koa实现下载

日结博客 4.5 HZKoa设置下载属性一直以来都是研究怎么上传却不知道如何去下载一个文件此处以txt为例router.get('xxxpath', (ctx) => {   ctx.set('Content-disposition','attachment;filename='+'name.txt'); // 设置你的文件名    const data = new Buffer('Im...

2018-05-04 23:17:24 2749

原创 node中间层

日结博客 5.3 HZNode中间层的作用随着项目的渐增,调用后台的接口的频率渐增,而页面的不一致需要不一样的数据结构后台如果根据页面去设计接口的话是很不灵活,所以这时候就出现了node层的出现  适配pc和移动端的数据结构 减少后台请求的次数  node端用来做请求的处理,路径/数据结构等等可以并发请求 后台可以采用HSF的形式 ...

2018-05-03 15:27:46 767

原创 JS数组Every Some方法

日结博客 28.04.18 HZ数组的Every和Some方法every 对数组进行遍历,只有里面的每个数值都满足条件才返回真,否则假const arr = [1, 2, 3, 4]const flag = arr.every(item => item > 2) // falseconst flag = arr.every(item => item > 0) // t...

2018-04-28 15:29:08 529

原创 JS等式比较

日结博客 27.4.18 HZJS里面的一个等式比较,会经过哪几个步骤呢?valueOf 返回一个数值,在该变量上调用该函数判断是否是个数值,如果是,则返回(Number)toString(返回一个字符串值),在该变量上调用该函数判断是否是个字符串,如果是,则返回(String)经历了上面还没返回的话, 便会报错TypeError常见的值undefined: 0null: 0'1': 1true:...

2018-04-27 11:56:59 475

原创 代码题 :a == 1 && a ==2 && a ==3

###日结博客 26.4.18 HZ代码题如何让if(a == 1 && a ==2 && a ==3)成立?这里考验的是对valueOf的理解程度在对一个变量进行boolean判断的时候,JS引擎会自动调用他的valueOf去和等式另一边判断所以我们需要做的就是改写一下valueOflet a = 1a.prototype.valueOf = { re...

2018-04-26 10:47:34 178

原创 Object一些方法

日结博客: 2018.04.24 HZObject.keys() 返回对象所有的键值组成的数组Object.entries() 返回对象所有的实体Object.values() 返回对象所有的值

2018-04-24 21:52:34 95

原创 git设置本地文件夹与远程仓库关系

###日结博客 20.04.18 HangZhou一直烦恼git如何把本地文件夹对应上1.进入本地项目文件夹git init (会创建一个.git文件)2.设置与远程仓库的链接git remote add xxx/xxx/xx.git (远程仓库地址)3.设置分支之间的联系git branch set-upstream=orgin/xxx xxx (origin下是仓库的分支名,另外一个是你的分支...

2018-04-20 23:03:47 3465

原创 二次封装axios请求(React、Vue皆可使用)

日结博客 04.19.18 HZ对于每次都要从页面导入axios和配置路径的行为简直没完没了地厌恶,每次后台修改api地址都得从一大堆页面里寻找到那小小的一个axios.get,简直深恶痛绝请封装吧,万物皆能封装,封装治好了你多年的眼疾封装更合理的Axios操作类 1.导入axios至你的项目npm install --save axios2.在根路径创建http.j...

2018-04-19 20:41:47 26801 10

JavaScript设计模式

深入了解JavaScript的函数式编程,设计模式的魅力所在

2018-03-28

空空如也

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

TA关注的人

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