Golang生成十亿手机号码的探究
优化大量生成手机号码所使用的时间,取得较好的成果 配置既然是计算时间,那么肯定受电脑配置影响,这里贴下配置 win10 随机字符串生成前景以下省略计算时间的代码 12345678910func main() { before := time.Now() fmt.Println(before.Format("2006-01-02 15:04:05")) //... after := time.Now() fmt.Println(after.Format("2006-01-02 15:04:05")) fmt.Println(after.Sub(before))} 单纯跑十亿次循环12345678idx := 0for i := 0; i < 1000000000; i++{ idx++}//2020-09-14 15:01:22//2020-09-14 15:01:22//232.3817ms 十亿次随机获取手机号码1234567891011121314151617181920var ...
vue-admin-template第三方接入配合动态路由
vue-admin-template接入公司内部认证系统总结 主要逻辑 检测用户有没有登录 没有则跳转至http://xxx.com?url=<return_url> 授权后跳回return_url从url中获取token 解析token,保存用户数据 登录后的逻辑 跳转部分修改login页面里面我们只需要在框架中添加跳转页面以及跳转后处理页面即可,其他的框架已经使用路由帮我们处理 因为判断到没有登录会重定向到/login,所以我们可以修改/login对应的页面,让其直接跳转到认证页面 12345678// src/views/login/index.vue<script> export default { created() { window.location.href = 'http://passport.oa.com/modules/passport/signin.ashx?url=http://127.0.0.1:9527/#/ioa' } }</scr...
配置无显示器Linux环境远程使用
使用Windows内网远程Linux用于开发,让Linux专注于开发 安装Linux以及配置本次安装的是Arch,具体教程略过,可参考 Arch安装配置笔记 - GreenHatHGのBlog 安装xorg以及配置 安装xorg 1pacman -S xorg-server xorg-xinit 无显示器配置还需要安装 1pacman -S xf86-video-dummy 正常来说,新版xorg能够自动配置,但是对于无显示器方案,我们需要自己添加配置文件 12345678910111213141516171819202122/etc/X11/xorg.conf.d/10-headless.confSection "Monitor" Identifier "dummy_monitor" HorizSync 28.0-80.0 VertRefresh 48.0-75.0 Modeline "1920x1080" 172.80 1920 2040 2248 257...
二进制常见操作总结
常见二进制奇技淫巧 判断奇偶数123if(0 == (a & 1)) { //偶数} 判断二进制某个位是否为1把1左移N-1位,再进行and操作,如果大于0则代表该二进制位就为1 1x&(1<<5) 减去低位的最后一个1|将最右边的1变成01x = x&(x-1) O(1) 时间检测整数 n 是否是 2 的幂次1x&(x-1) == 0 //是 高低位交换给定一个 16 位的无符号整数,将其高 8 位与低 8 位进行交换,求出交换后的值 1a = (a >> 8) | (a << 8); 将最右边的0变成11x|(x+1) 在最后一位加一个11a << 1+1 最后一位取反1x ^ 1 把右数第k位变成11x | (1 << (k-1)) 把右数第k位变成01x & ~ (1 << (k-1)) 右数第k位取反1x ^ (1 << (k-1)) 取末k位1x & (1 << k-1) 取右数第k位1x >>...
git提交前校验方案
拦截commit事件,进行前置处理,校验通过则允许commit否则拒绝 介绍Git有一种在发生某些重要操作时触发自定义脚本的方法,称为Git Hooks。 这些hooks有两种:客户端和服务器端。 客户端hooks由诸如提交和合并之类的操作触发,而服务器hooks由网络操作(如接收推送的提交)运行 https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks 本次是客户端方案 方案介绍 目的:在git commit之前,对变更的文件进行检查,如果通过,则允许提交,否则拒绝提交 流程: git diff获取变更文件 执行检查脚本,将未通过文件列表保存到文本 从文本中获取所有出错文件 与变更文件列表比较 如果存在出错文件则拒绝commit,否则commit 遇到的问题git diff获取变更文件时,如果git中对应的编码没有设置对,获取的文件名可能是一串数字 这里有两个解决方案: 手动设置git编码正确,Windows和*nix两个系统操作方式不一样 添加编码设置到~/.gitconfig 这里采用第二种...
Caddy2使用在vue-history模式
Caddy2在vue-history模式下的配置 Caddy是什么Caddy是一个像Apache,Nginx的web服务器 在使用了web服务器的网站中,有30%+使用了Nginx,是市面上使用最广泛的web服务器之一 对于个人开发者来说,Caddy可能是你的较好选择,在市面上Caddy占有额会非常的微小,但是它方便的配置就足够了 Caddy2Caddy的最新版本是2.x, 功能强大了很多,但是资料/dome 都比较少,这里记录一下使用过程,下面是一些Caddy2的参考资料: https://caddyserver.com/v2 https://caddyserver.com/docs/caddyfile/directives https://github.com/caddyserver/caddy/wiki https://caddy.community/ 配置机器 安装Caddy2下载地址:https://github.com/caddyserver/caddy/releases 这里下的是https://github.com/caddyserver/caddy/relea...
ElasticSearch分词入门
ES分词知识小整理
ElasticSearch入门
整理下知乎某篇文章 搬运整理至 终于有人把Elasticsearch原理讲透了! - 知乎 _1.JPG) _2.JPG) _3.JPG) _4.JPG) _5.JPG) _6.JPG) _7.JPG) _8.JPG) _9.JPG) _10.JPG) _11.JPG) _12.JPG) _13.JPG) _14.JPG) _15.JPG)
pandas库总结
常见用法总结,方便查找 读取1234567891011import pandas as pddef read_csv(): csv_path = sys.argv[1] is_file_empty = False if os.path.isfile(csv_path) and os.path.getsize(csv_path) > 0 else True if is_file_empty: raise SystemExit('File Empty') # 数据大时可能有内存溢出危险 df = pd.read_excel(csv_path) # pd.read_excel('a.xlsx', sheet_name='sheet_name', encoding='utf-8-sig') return df 遍历按行遍历iterrows123for index, row in df.iterrows(): print(index) # 输出每行...
vue-admin-template动态路由
vue-admin-template动态路由填坑 需求背景不涉及权限简单要求动态侧边栏动态加载菜单(路由信息请求后台),然后根据不同的路由显示不同的表格数据 vue-admin-template刷新逻辑 在src\layout\components\Sidebar\index.vue文件中,每个item是根据路由的元信息(一个数组)去渲染的 在src\router\index.js配置了项目的基本路由表,因为这个模板是简单模板,所以并没有带权限路由表 项目启动后,这里会创建路由表,然后由上面sidebar渲染,注意这里是异步创建路由表 根据上面所知,如果我们想要修改显示的侧边栏,是不是直接修改constantRoutes变量就行了? 这个是可以的,在渲染前将想要加载的侧边栏添加到变量里面,然后渲染时就可以加载了,但是有个问题 虽然可以显示了,但是点击动态显示的侧边栏后再刷新会显示404 vue-router刷新后404点击显示出来的sub-menu可以跳转进对应的表格,但是在当前表格页面刷新就会跳转到404,因为刷新页面vuex和router实例会重新初始化到初始状态,所以...