Python获取系统类型
通过platform模块可以获取系统信息12345678# 判定系统is_sys = platform.system()if is_sys == "Darwin": passelif is_sys == "Linux": passelse: None
Google Authoritarian/谷歌身份验证器原理
TOTP算法(Time-based One-time Password algorithm)是一种从共享密钥和当前时间计算一次性密码的算法。 它已被采纳为Internet工程任务组标准RFC 6238,是Initiative for Open Authentication(OATH)的基石,并被用于许多双因素身份验证系统。 TOTP是基于散列的消息认证码(HMAC)的示例。 它使用加密哈希函数将密钥与当前时间戳组合在一起以生成一次性密码。 由于网络延迟和不同步时钟可能导致密码接收者必须尝试一系列可能的时间来进行身份验证,因此时间戳通常以30秒的间隔增加,从而减少了潜在的搜索空间。 TOTP算法使用场景 TOTP算法的使用场景可以有动态口令认证、前后端接口认证等,TOTP算法需要客户端和服务端保持时钟一致(基于UTC时间) 适用场景 服务器登录动态密码验证 公司VPN登录双因素验证 银行转账动态密码 网银、网络游戏的实体动态口令牌 等基于时间有效性验证的应用场景 TOTP的基本原理TOTP计算公式1TOTP(K, TC) =...
vue中keep-alive组件的使用
前言 在开发中经常有从列表跳到详情页,然后返回详情页的时候需要缓存列表页的状态(比如滚动位置信息),这个时候就需要保存状态,要缓存状态;vue 里提供了 keep-alive 组件用来缓存状态。 可以用以下几种方案解决问题; 一、利用 meta 标签直接上代码, 1、首先在路由中的 meta 标签中记录 keepAlive 的属性为 true 12345678 path: '/classify', name: 'classify', component: () => import('@/views/classify/classify.vue'), meta: { title: '雷石淘券券', keepAlive: true }}, 2、在创建 router 实例的时候加上 scrollBehavior 方法 123456789101112131415export default new Router({...
解决Git/GitHub下载慢的三个有效方法:淘宝镜像、Gitee与修改hosts
官网下载 Git 时,速度几乎是超不过 20KB,解决方法有很多,这里介绍几个简单粗暴的方法。这里使用 windows 系统作为演示,其他系统对号入座即可。 方法一:淘宝镜像淘宝有一个镜像的网站 可以提供下载:https://npm.taobao.org/mirrors/git-for-windows/ 点击上方链接,往下拉就会看到相应的版本,第一个最新版本,后面的是历史版本。 方法二:利用码云来克隆 GitHub 项目,操作简单而且有效1、首先需要一个码云账户,如果你没有,这个是官网地址——https://gitee.com/ 。 2、如果没有账户,需要注册一个账户。注册使用手机号就可以,一分钟的事。 3、新建一个仓库,选择导入已有仓库。 4、找到你的 GitHub 网站,选择 clone 下的网址,复制。 5、在上面链接中输入我们刚刚复制的要导入的 github 项目地址,然后点击创建。 6、等待码云克隆项目,大概 1-3 分钟(由你的网络和要克隆项目大小决定)。 7、克隆完成,下载我们码云上的项目(这个就是你正常下载速度了)。 8、正常下载项目(原谅我的超级慢校园网速)。...
通过shell脚本查看python版本并比较
1234567891011121314151617181920212223242526272829303132333435#!/bin/shcheckPython(){ #推荐版本V2.6.5 V1=2 V2=6 V3=5 echo need python version is : $V1.$V2.$V3 #获取本机python版本号。这里2>&1是必须的,python -V这个是标准错误输出的,需要转换 U_V1=`python -V 2>&1|awk '{print $2}'|awk -F '.' '{print $1}'` U_V2=`python -V 2>&1|awk '{print $2}'|awk -F '.' '{print $2}'` U_V3=`python...
手动编译安装nginx
前言 这里采用的是CentOS 7系统演示。安装工具有些差别,但是原理流程是一样的。 更新系统软件1yum update -y 安装编译工具1yum install gcc -y 安装pcre、pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。 1yum install -y pcre pcre-devel 安装zlib zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装。 1yum install -y zlib zlib-devel 安装openssl OpenSSL是http通信加密的库。 1yum install -y openssl openssl-devel 下载官方源码1wget http://nginx.org/download/nginx-1.9.9.tar.gz 解压1tar -zxvf ...
如何在HTML网页中嵌入网易云音乐播放器
表现形式一:单曲播放调用代码: 1<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=100% height=86 src="http://music.163.com/outchain/player?type=2&id=299757&auto=1&height=66"></iframe> 参数说明: 播放器可修改参数: width=100% #自适应宽度 height=86 #根据自己喜好修改 id=299757 #为歌曲的ID http://music.163.com/#/song?id=299757 auto=0 #0为不自动播放,1为自动播放 效果图: 表现形式二:列表播放*调用代码: 1<iframe...
认真就能打动人:273篇干货资料汇总
来自公众号Python与算法社区的汇总
强大的 Python 任务自动化工具!invoke 十分钟入门指南
我们继续聊聊 Python 任务自动化的话题。 nox 的作者在去年的 Pycon US 上,做了一场题为《Break the Cycle: Three excellent Python tools to automate repetitive tasks》的分享(B站观看地址:https://b23.tv/av86640235),她介绍了三个任务自动化工具:tox、nox 和 invoke,本文的话题正好就是最后的 invoke。 1、invoke 可以做什么?invoke 是从著名的远程部署工具 Fabric 中分离出来的,它与 paramiko 一起是 Fabric 的两大最核心的基础组件。 除了作为命令行工具,它专注于”任务执行”(task execution),可以标注和组织任务,并通过 CLI(command-line interface,即命令行界面) 和 shell 命令来执行任务。 同样是任务自动化工具,invoke 与我们之前介绍过的 tox/nox 在侧重点上有所不同: tox/nox...
一日一技:Numpy进阶之排序小技巧
Numpy提供了大量用数组操作的函数,其中不乏常见的排序函数。 这里讲下numpy.sort、numpy.argsort、numpy.lexsort三种排序函数的用法。 1、如何对数组元素进行快速排序?使用numpy.sort函数可以对数组进行排序,并返回排序好的数组。 使用方法: 1numpy.sort(a, axis=-1, kind=None, order=None) 参数: a : 要排序的数组; axis :按什么轴进行排序,默认按最后一个轴进行排序; kind :排序方法,默认是快速排序; order : 当数组定义了字段属性时,可以按照某个属性进行排序; 12345678910111213141516171819202122232425262728293031323334353637import numpy as np# 创建一个一维数组x1 = np.array([1,8,2,4])x1'''一维数组:array([1, 8, 2, 4])'''#...