自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 nginx 反向代理和简单的负载均衡算法

nginx 反向代理和简单的负载均衡算法nginx 安装 (MAC)// 命令行终端运行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"// 安装 nginxbrew install nginx// 运行 nginxnginx配...

2020-01-09 23:21:27 202

原创 抓包分析 https 密钥协商流程

抓包分析 https 密钥协商流程工具:Wireshark 2.6.6抓取链接:https://220.181.38.150  (*度地址)本机地址:100.81.137.224刚开始分析不知道TLS协议的会话缓存机制,百度使用了会话缓存的这种机制来加速https握手的速度!客户端使用要恢复的会话的会话ID发送“客户端问候”消息。服务器检查其会话缓存中是否有匹配的会话ID。...

2020-01-09 22:35:05 2140 1

原创 react hook 简易实现

摘自:自顶向下学 React 源码<!DOCTYPE html><html lang="en"><head> <title>React App</title></head><body> <div id="root1"></div> <div id="root2"></div> <div id="a"> &

2021-06-14 23:41:18 375 3

原创 react input 格式化后光标错位

react input 格式化后光标错位问题修复。react 银行卡 格式化后 光标错位问题修复

2020-04-28 11:35:01 1477

原创 js 根据银行卡号 匹配 得到 所属银行名称

如有未涉及到的银行信息,请联系作者更新数据。const BANK_CARD_LIST = [ { bankName: "中国邮政储蓄银行", bankCode: "PSBC", patterns: [{ reg: /^(621096|621098|622150|622151|622181|622188|622199|...

2020-04-28 11:12:23 1923

原创 手机号、银行卡号 格式化 加空格 每四位一空格

xxxxxxxx.replace(/\s/g,'').replace(/(\d{4})(?=\d)/g,"$1 ")

2020-04-22 15:44:10 874

原创 关闭iterm2中对于行数的限制

iTerm2 默认的行数限制,超过 1000 的部分就被隐藏不显示了。处理方式:打开 Preferences窗口,点击 Profiles,右侧点击 Terminal,在 Scrollback line 右边勾选 Ulimited scrollback。...

2020-04-19 23:28:54 13970 1

原创 跨域 post 请求 set cookie 无效

// 需要加这个字段xhrFields:{ withCredentials: true },

2020-04-16 15:42:04 953

原创 LeetCode 703. 数据流中的第K大元素 JavaScript

/** * 通过 * @param {number} k * @param {number[]} nums */function swap(arr, i, j) { [arr[i], arr[j]] = [arr[j], arr[i]];}// 调整堆function heapify(arr, len, i) { while (true) { if...

2020-04-12 14:24:38 294

原创 JS判断客户端是否是iOS或者Android

var u = navigator.userAgent;var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端alert('是否是Android:'+i...

2020-03-24 10:41:11 220

原创 写了好多代码,发现写错分支了怎么办

未提交的情况下git add . (把所有改动暂存)git stash (把暂存的文件提交到git的暂存栈)git checkout 本该提交代码的分支git stash pop (将暂存栈中的代码放出来)至于是继续改还是提交就随你了已提交的情况下git checkout 不该提交代码提交了代码的分支git reset HEAD~1 (最近一次提交放回暂存区,...

2020-03-11 18:11:05 3350 2

原创 不小心把 node_modules 文件夹 或 logs 文件夹 或一些开发依赖上传至远程仓库怎么办?

1.找到项目中 .gitignore 文件2.在文件任意添加需要忽略的文件或文件夹node_modules/logs/3.git rm -r node_modules/ --cached 这里如果是文件夹需要 -r 文件则不需要4.git add .5.git commit -m “node_modules 文件夹忽略”6.git push origin xux.zhou...

2020-03-11 18:10:33 739

原创 git 补丁

git add . git commit -m “小程序监控迁移” git log 记录要打补丁的 commit 557d00dc8ff8f5e8cad9922c56f030d399d0e063 git format-patch 557d00dc8ff8f5e8cad9922c56f030d399d0e063 -1 创建 patch 这里的 1 是指作用于一个提交,当然了 2 ...

2020-03-11 18:09:25 159

原创 git 分支重命名

假设分支名称为oldName想要修改为 newName1. 本地分支重命名(还没有推送到远程)git branch -m oldName newName2. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)a. 重命名远程分支对应的本地分支git branch -m oldName newNameb. 删除远程分支git push -d origin ...

2020-03-11 18:08:59 160

原创 git stash pop 后冲突

git stash pop 后冲突,冲突后 git stash 中的记录并不会删除。git stash pop 后冲突,git reset --hard 可恢复至 pop 前状态

2020-03-11 18:08:18 1830

原创 git revert 回滚、撤销、反做

比如分支上有 A、B、C、D 四个 commit ,现在发现 B 上面有 bug 需要把 B 上面的代码下掉 我们可以通过 git revert (B版本号) 来对 B 提交做一个取反的操作,比如 B 添加了一行代码 git revert B 之后就会删除 B 添加的这行代码然后 git commit -m "revert B" 提交改操作git push 有冲突的话需要...

2020-03-11 18:07:32 608

原创 git reset

git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认情况下是 -–soft。 执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。使用git status 命令可以在缓冲区中看到这些修改。而如果加上-–hard参数,则缓冲区中不会存储这些修改,git会直接丢弃这部分内容。可以使用 git p...

2020-03-11 18:07:00 258

原创 git 无法与远程其他分支交互问题

起因:项目是通过 git clone XXX —depth=1 仅拉取最后一个版本到本地,导致本地无法查看远程其他分支,也无法向其他分支推送代码解决方案:vim .git/config按照如下示例修改:[core] repositoryformatversion = 0 filemode = true bare = false logallrefupd...

2020-03-11 18:03:55 274

原创 js 手写 Object.is

Object在严格等于的基础上修复了一些特殊情况下的失误,具体来说就是+0和-0,NaN和NaN。function is(x, y) { if (x === y) { //运行到1/x === 1/y的时候x和y都为0,但是1/+0 = +Infinity, 1/-0 = -Infinity, 是不一样的 return x !== 0 || y !== 0...

2020-03-04 21:40:12 474

原创 js 手写 instanceof

function myInstanceof(left, right) { if(typeof left !== 'object' || left == null) { return false } let proto = Object.getPrototypeOf(left); while(proto) { if(proto === ...

2020-03-04 21:22:36 507

原创 css 实现 三角形 梯形

在线调试<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title> <style> div { width: 0; height: 0; border-width: 1...

2020-02-23 20:53:13 270

原创 js 手写 call apply bind

calllet obj = { name: 'xxx'}function sayName(prev) { console.log(prev, this.name)}Function.prototype.myCall = function (context) { context = context || window; let args = [...ar...

2020-02-23 20:22:16 454

原创 js 插入排序 时间复杂度 n^2

// 插入排序 时间复杂度 n^2var arr = [1, 4, 5, 6, 8, 9, 4, 3, 3, 4, 56, 7, 8, 56, 4, 3, 2, 3, 5, 456]for (let i = 2, len = arr.length; i < len; i++) { let k = arr[i] let index = i for (let j...

2020-02-23 16:50:21 267

原创 js 对象模拟 DOM 树 实现 render 方法 调用 render 方法将 js 对象转真正的 DOM 节点

var ul = el('ul', { id: 'list' }, [ el('li', { class: 'item' }, ['item 1']), el('li', { class: 'item' }, ['item 2']), el('li', { class: 'item' }, ['item 3']),])var ulRoot = ul.render();...

2020-02-23 15:15:06 872

原创 js 双向链表 插入 查找

function Node(value) { this.value = value; this.prev = null; this.next = null; return this;}function List() { this.head = new Node(null); this.insert = function(index, node...

2020-02-22 23:30:19 193

原创 js 手写 es6 模板字符串

// ES6 模板字符串let name = "小明";let age = 24;let temp = "hello, 我是 ${ name }, 今年 ${ age} 岁了, 五年以后我 ${age+5} 岁。";function fn(str) { console.log(str) return str.replace(/\$\{(.*?)\}/g, f...

2020-02-22 21:35:41 874

原创 base64相关

Base64图片编码原理:Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用’=’,因此编码后输出的文本末尾可能会出现1或2个’=’http://gj.3gwen.com/tpbase64.html?kbl=base64 里为什么需要每个 6 位二进制需要...

2020-02-16 22:30:22 159

原创 深度克隆 - 简单版本实现

深度克隆 - 简单版本实现let obj = { age: 5, getAge() { console.log(this.age) }, hobby: [1, 2, 3], home: { city: '北京' }}let obj2 = deepClone(obj)obj2.age = 10;obj2.hob...

2020-01-09 23:19:11 120 1

原创 co generator async await

async awaitcolet fs = require('fs');// let co = require('co');function readFile(filename) { return new Promise(function(resolve,reject) { fs.readFile(filename,'utf8',function(err,data)...

2020-01-09 23:17:56 304

原创 Promise

PromisePromise.jsconst PENDING = 'pending'; //初始态const FULFILLED = 'fulfilled'; // 成功态const REJECTED = 'rejected'; // 成功态function Promise(executor) { let self = this; //先缓存当前promise实例 sel...

2020-01-09 23:14:59 298

原创 事件发布订阅 哨兵函数

事件发布订阅 哨兵函数// 1. 通过事件发布订阅来实现// 这是 node 核心模块中的一个类,通过它可以创建事件发射器的实例,里面有两个核心方法,一个叫 on emit,on 表示注册监听,emit 表示发射事件/* let EventEmitter = require('events')let fs = require('fs')let eve = new EventEmitter...

2020-01-09 23:10:20 280

原创 高阶函数 闭包 延迟函数

高阶函数 闭包 延迟函数/* 1. 在 js 里,函数是一等公民,可以作为函数的返回值,也可以作为函数的参数*//* // 判断一个参数是否是字符串function isString(param) { return Object.prototype.toString.call(param) == '[object String]'}// 判断一个参数是否是数组fun...

2020-01-09 23:08:44 186

原创 Singleton 单例模式

Singleton 单例模式有关单例模式适用性描述如下:当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。该唯一的实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。Singleton 单例模式,限制了类的实例化次数只能一次。单例模式,在该实例不存在的情况下,可以通过一个方法创建一个类来实现创建类的新实例;如果实例已经存在,它会简单返回该对象的引...

2020-01-09 23:07:59 218

原创 generator 用法记录

generator 用法记录/* 生成器是一个函数,可以用来生成迭代器 生成器函数和普通函数不一样,普通函数是一旦调用一定会执行完 但是生成器函数中间可以暂停,可以执行一会歇一会*/// 生成器函数有一个特点,需要加个*// 生成器有若干个阶段,如可划分这些阶段嗯?function* go() { console.log(1) // 此处的 b ...

2020-01-09 23:05:35 255

原创 知识点 : session + 持久化

前面是瞎扯,代码在后面。前言http 请求是无状态的,什么是无状态呢,就是你先后向服务器发送两个请求,服务器那边比较糊涂,自己是没有办法识别这两个请求是否是同一个用户发送来的。也就是说,我上一秒给你五毛钱你下一秒就不认账的意思。为了避免这种情况发生,我们告诉服务器,对岸的朋友来的时候,你给他一个签名,告诉他,下次带着签名过来,确认一下是不是对的人。当然,这个签名也是有 有效期 的。...

2020-01-09 22:51:38 1865 1

原创 TCP 三次握手

三次握手SYN (同步序列编号):是 TCP/IP 建立连接时使用的握手信号。TCP 连接的第一个包,非常小的一种数据包。在客户机和服务器之间建立正常的 TCP 网络连接时,客户机首先发出一个 SYN 消息,服务器使用 SYN + ACK 应答表示接收到了这个消息,最后客户机再以 ACK 消息响应。这样在客户机和服务器之间才能建立起可靠的 TCP 连接,数据才可以在客户机和服务器之间传递...

2018-07-16 15:52:42 1346

原创 js原生ajax

AJAX准备工作-服务器环境的搭建ajax可以在本地使用,但是牵扯到不同源问题,需要跨域操作。下面是两个文件的代码,test.html放在桌面上,cors.php放在搭好的服务器上面,我这里配置的端口号是9096,端口号可以自行配置,默认的话是80端口,双击打开test.html文件,控制台会输出下面信息 {"code":200,"msg":"success"}test....

2018-02-26 20:58:41 8700

原创 js中操作cookie

js中操作cookiecookie : 存储数据,可以设置存储时间的,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问电脑上存数据。跟我们的变量一样,不过变量在关闭浏览器的时候会消失,cookie如果设置了到期时间即使关闭浏览器也不会消失。不同的浏览器存放的cookie位置不一样,也是不能通用的cookie的存储是以域名形式进行区分的cookie的数据可以设...

2018-02-25 18:18:46 5266 2

原创 java table jtable 表格 隐藏列

要放在table.setModel(XXXX)后面/** * 隐藏表格中的某一列 * @param table 表格 * @param index 要隐藏的列 的索引 */ public void hideColumn(JTable table,int index){ TableColumn tc= table.getColumnModel().getColumn(i...

2018-02-12 13:06:03 5639

原创 js时间戳转天时分秒

function formatDuring(mss){ var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = parseInt((mss % (1000

2018-02-02 08:23:28 21014

空空如也

空空如也

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

TA关注的人

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