自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【java】【kotlin】判断当前日期是星期几、是否为月底;获取当前季度起始时间

用kotlin写的java代码用intellij可互转,此处不再贴出判断当前日期是星期几 /** * 判断当前日期是星期几 */ fun getWeekOfDate(dt: Date): Int { val weekDays = arrayOf(7, 1, 2, 3, 4, 5, 6) val cal = Calendar.getInstance() cal.time = dt var w = cal[Ca

2021-07-09 19:09:33 1753 2

原创 【PHP】根据时间段,获取其间各自然周日期

最近要做日/周/月/季的后台数据图表,把探索出的关于自然周的方法记录在这里按自然周切割时间:说明:第一周起始时间为参数beginDateStr 所在周,最后一周起始时间为距离参数endDateStr最近的那周。(若endDateStr为星期二,则最后一周是[上周一,上周日];若endDateStr为星期日,则最后一周是[本周一,本周日])/** * 根据时间段,获取其间各自然周时间戳 * @param string $beginDateStr * @param str

2021-07-09 19:01:42 585

原创 密码学:非对称加密之 RSA 算法

所谓非对称加密算法就是加密和解密采用不同的密钥,加密时用公钥,解密时用私钥。而在当今互联网世界,使用最广泛的非对称加密算法非 RSA 莫属,我们熟知的支付宝、微信支付等支付工具、HTTPS 协议等无一不在使用 RSA。RSA 算法之所以被广泛使用,究其原因就在于它的极高的安全性,在提升安全性的情况下,它的性能就相对于对称加密算法如 AES 要差很多。因此,它适用于一些对安全性要求较高的功能。RSA 底层原理公钥和私钥的产生根据 RSA 算法原理,其公钥和私钥产生的步骤如下:随机选择两个不同的...

2020-10-26 03:30:03 1037 1

原创 java/kotlin 服务端接入华为消息推送详细步骤和参考代码 | 内含IDEA打包jar包教程

oppo、vivo、小米的消息推送都接入得比较顺利,华为稍微曲折了一些,差点认为它没有SDK…记录一下华为消息推送的接入过程,给和我一样的全新小白做参考IDE: IntelliJ IDEA一、登录官网、查看推送服务文档,找到合适的SDK我们要的在这里:解压之后的内容:但我们并不全都需要:只需要此路径下的push文件里的内容二、用maven将push文件打包为jar包,放入工程的libs目录下我打包好的jar,可以直接用:下载链接,提取码:ugti打包jar教程如下:1.用.

2020-08-07 16:35:35 1113

原创 python爬虫示例 | 爬取etherscan上的ERC20代币详情,清洗后写入mysql

最近需要对已收录的代币,对其合约地址查找出代币详情,并更新进数据库。爬取etherscan大陆官网实现如下import reimport requestsfrom bs4 import BeautifulSoupimport pymysqlfrom utils import utilsclass getTokensDetailFromEs(): # 存储列表到详情的url html_list_link = [] def __init__(self):

2020-08-06 17:49:49 2606 5

原创 git 中 stage 与 stash 的差别

1. stage是git中的一个区域git 中共有四大分区:工作区(Working Area)暂存区(Stage)本地仓库(Local Repository)远程仓库(Remote Repository)2. stash是git中的一个命令git stash的作用是把工作区(必须是工作区中已经被git追踪到的文件)和索引中的内容暂时存到一个堆上,而且这个堆是和分支不相关的。切换分支后,依然可以看到并使用。当正在进行项目中某一部分的工作处于一个比较杂乱的状态,而你想转到其他分支上进行一些

2020-07-09 19:32:14 2716

原创 @ApiOperation注解

@ApiOperation注解不是Spring自带的,它是是swagger里的@ApiOperation注解是用来构建Api文档的@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =“接口返回参数类型”, notes = “接口发布说明”;其他参数可参考源码;注解名称注解属性作用域属性作用@ApiOperation()value方法描述方法作用notes方法提示内容tags.

2020-07-08 16:44:48 2104

原创 Spring Boot :@Controller和@RestController的区别、@RequestMapping说明

在 Spring Boot 中,@Controller 注解是专门用于处理 Http 请求处理的,是以 MVC为核心的设计思想的控制层。@RestController 则是 @Controller 的衍生注解。1 Spring Boot Controller1.1 原理Spring Boot 本身就 Spring MVC 的简化版本。是在 Spring MVC 的基础上实现了自动配置,简化了开发人员开发过程。Spring MVC 是通过一个叫 DispatcherServlet 前端控制器的来.

2020-07-08 16:03:40 653

转载 Kotlin lateinit 和 by lazy

lateinit 和 lazy 是 Kotlin 中的两种不同的延迟初始化的实现lateinit 只用于变量 var,而 lazy 只用于常量 vallazy 应用于单例模式(if-null-then-init-else-return),而且当且仅当变量被第一次调用的时候,委托方法才会执行。lazy()是接受一个 lambda 并返回一个 Lazy <T> 实例的函数,返回的实例可以作为实现延迟属性的委托: 第一次调用 get() 会执行已传递给 lazy() 的 lambda 表达式并记

2020-07-08 11:20:49 240

原创 AttributeError: ‘method_descriptor‘ object has no attribute ‘today‘

错误:AttributeError: ‘method_descriptor’ object has no attribute ‘today’出错代码:yesterday = datetime.date.today() - datetime.timedelta(days=1)yesterday_timestamp = int(time.mktime(yesterday.timetuple())) * 1000导入原句:from datatime import *按提示改成:import d.

2020-07-06 11:00:52 7199

原创 使用python将mongoDB中的数据写入MySQL中

记录一次尝试:首先导入模块:import pymysqlimport pymongofrom utils import utilsfrom pymongo import MongoClientfrom web3 import Web3, HTTPProviderfrom bson import objectid # 用在mongoDB的find_one()方法上,否则会报错执行以下代码(部分信息略去):class DailyStatisticSum: def __init__

2020-07-04 16:56:08 686

原创 python装饰器decorator:定义、语法与使用

装饰器 decorator一、装饰器定义在不改变原有函数代码,且保持原函数调用方法不变的情况下,给原函数增加新的功能(或者给类增加属性和方法)核心思想:用一个函数(或者类)去装饰一个旧函数(或者类),造出一个新函数(或者新类)应用场景:引入日志,函数执行时间的统计,执行函数前的准备工作,执行函数后的处理工作,权限校验,缓存等语法规则:在原有的函数上加上 @符,装饰器会把下面的函数当作参数传递到装饰器中,@符又被成为 语法糖1.装饰器原型(闭包)# 1。 装饰器的原型### 利用闭包,把函数当

2020-07-04 16:53:42 208

原创 python之pickle序列化与json序列化模块 | dumps、loads、dump、load

一、序列化模块**序列化:**指把python中的数据以文本或二进制的方式进行转换,并且还能反序列化为原来的数据(转成二进制)**为什么需要对数据进行序列化:**数据在程序与网络中进行传输和存储时,需要以更加方便的形式进行操作主要方法:①二进制序列化模块 pickle (python专用)②文本序列化模块 json (互联网通用)与 json 模块的比较:Pickle 协议和 JSON (JavaScript Object Notation) 间有着本质的不同:JS

2020-07-04 16:50:27 402

原创 git | Git原理与完全使用指南

从了解版本控制系统开始所谓版本控制,就是在文件修改的历程中保留修改历史,可以方便的撤销(如同文本编辑的撤销操作一般,只是版本控制会复杂的多)之前对文件的修改。一个版本控制系统的三个核心内容:版本控制(最基本的功能),主动提交(commit历史)和远程仓库(协同开发)。中央式版本控制系统(VCS)工作模型主工程师搭好项目框架在公司服务器创建一个远程仓库,并提交代码其他人拉取代码,并行开发每个人独立负责一个功能,开发完成提交代码其他人随时拉取代码,保持同步分布式版本控制系统(DVCS)分布式

2020-07-04 15:59:06 722

原创 web.py安装:Microsoft Visual C++ 14.0 is required解决方式

win10安装web.py报错:而在给的链接里找不到,使用Microsoft Visual C++ Build Tools单独安装工具:链接: https://pan.baidu.com/s/161Q8xX7BG6LgHgBp5DAIRA提取码: ijri安装完毕后重新在命令行输入pip install web3:解决。(如果报错提示缺少Cython:参考这篇博文)...

2020-07-02 15:20:57 192

原创 Win10家庭版安装docker for Windows详细步骤

在安装docker之前,win10需要开启Hyper-V 虚拟机,但win10家庭版没有Hyper-V ,安装过程会遇到:解决办法:1.直接安装 Docker Toolbox2.给win10家庭版安装Hyper-V本篇介绍安装Hyper-V的方法一、安装Hyper-V之前:以管理员身份运行cmd,输入systeminfo查看系统是否满足安装条件四个选项都为“是”就可以继续,表示处理器支持虚拟化技术。由于开启Hyper-V之后,virtualbox和vmware之类的虚拟机就无法使

2020-06-28 19:11:10 834 1

原创 Kotlin | Kotlin教程

注:本文初步整理自菜鸟教程https://www.runoob.com/kotlin/kotlin-tutorial.html后续会通过学习其他教程进行增删补改,排版为个人风格转载自菜鸟教程网站目录Kotlin参考链接一、基础语法1. 包声明默认导入2. 函数定义fun可变长参数函数vararglambda(匿名函数)3. 定义常量与变量4. 注释5. 字符串模板6. NULL检查机制7. 类型检测及自动类型转换8. 区间二、基本数据类型1. 字面常量2. 比较两个数字3. 类型转换4. 位操作符.

2020-06-23 19:12:09 758

原创 python数据挖掘 | 基本概念与KNN

一、机器学习与数据建模学习: 通过接收到的数据,归纳提取相同与不同。机器学习: 让计算机以数据为基础,进行归纳与总结模型: 数据解释现象的系统。不管是学习还是机器学习,都是一个过程,经过这个过程我们会得到一个针对数据的反应机制和客体,即一个根据已有数据特点和关系对新接收的数据进行解释与输出的系统,这个系统就是我们提到的模型。模型从实质上来讲,是一个对于数据的函数,这个函数的映射方式,是由大量数据的共性和相应性决定的,所以模型是被数据直接决定的。可以简单地认为机器学习是个过程,而模型是

2020-06-08 01:07:09 195

原创 详解Python中的File(文件)操作

目录Python中的File(文件)操作写入文件的操作:读取文件的操作:一、文件操作相关函数1. open() 打开文件2. seek() 设置文件指针的位置3. write() 写入内容4. writelines() 写入容器类型数据5. read() 读取内容6. readline() 读取一行7. readlines() 读取所有行8. close() 关闭文件9.truncate() 截断文件内容二、文件操作的高级便捷写法三、文件的路径:四、打开的模式:1. 基础模式: w r x a2.

2020-06-06 03:52:19 4809

原创 Python实践 | 使用数据写入文件的方式完成注册和登录功能

一、题目要求:注册功能需要用户名和密码以及确认密码注册时如果用户名已经存在,则不能再次注册登录功能需要使用已经注册的用户信息登录密码输入错误3次后,锁定账户信息(不能再使用这个账户进行登录操作)二、代码实现1.注册功能# 3.专门定义数据变量,存放已经注册的用户信息userlist = [] # 存放所有的用户名pwdlist = [] # 存放所有的用户密码# 2.读取所有的注册信息 使用a+模式打开文件,在调整指针位置,防止文件不存在时报错with open('./u

2020-06-06 03:39:53 2222 1

原创 Python数据挖掘 | 多因子与复合分析(上)

目录多因子与复合分析一、理论铺垫1.假设检验与方差检验2.相关系数:皮尔逊、斯皮尔曼3.回归:线性回归4.主成分分析(PCA)与奇异值分解二、 属性间的复合分析1.交叉分析2.分组与钻取本文由Armruo_Zou首发于CSDN,未经授权不得转载,转载请与我联系并注明出处。多因子与复合分析一、理论铺垫1.假设检验与方差检验假设检验:**(1)概念:**根据一定的假设条件,从样本推断总体or推断样本与样本之间的关系的方法。即做出一个假设,然后根据数据或已知的分布性质来推断这个假设成立的概率有多大

2020-06-02 12:08:54 1022

原创 Python数据挖掘 | 单因子探索分析与数据可视化

本文由Armruo_Zou首发于CSDN,未经授权不得转载,转载请与我练习并注明出处。一、理论铺垫1.集中趋势(数据聚拢位置的一种衡量)(1)均值mean: 常用于衡量连续值,尤其是数据分布比较规律均匀的连续值的集中趋势(2)中位数median: 适合衡量有异常值(比如一些数特别大/小)(3)众数mode: 主要用于离散值的集中衡量(4)分位数quantile: 就是把数据从小到大排列,然后分成等份的数据点,最常用的是4分位数(q=0.25)。和其他几个数共同作用会产生不错的效果四分位数的

2020-05-25 18:17:42 657

原创 Python笔记 | Python中各种下划线的作用;单引号、双引号、三引号的区别。

一、下划线一个前导下划线:表示非公有,也叫做保护变量,表示类对象和子类对象自己才能访问这些变量。采用 from somemodulename import * 的方法导入模块时,被保护的变量不会被导入。在这里插入代码片一个后缀下划线:为了避免关键字冲突,采用的一种命名方法。两个前导下划线:私有属性,当命名一个类属性可能引起名称冲突时使用。避免与子类中的属性命名冲突,无法在外部直接访问(...

2020-05-25 17:46:06 456

原创 python笔记 | 迭代器

迭代器Iterator????能被next()函数调用,并不断返回下一个值的对象称为迭代器(Iterator 迭代器对象),迭代器是访问集合元素的一种方式,是python中最具特色的功能之一。????迭代器可以记住访问遍历的位置,从集合的第一个元素开始访问,直到集合中的所有元素被访问完毕。迭代器只能从前往后一个一个的遍历,不能后退。????迭代器的优势在于支持自身遍历,同时,它的特点是单向非循环的,一旦完成遍历,再次调用就会报错。比如:普通可迭代对象就像是子弹匣,它遍历就是取出子弹,在完成操作

2020-05-25 16:44:09 238

原创 python笔记 | 递归函数/回调函数/闭包函数/匿名函数

这里写自定义目录标题一、递归函数二、回调函数三、闭包函数四、匿名函数 lambda表达式一、递归函数????递归是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知。????递归函数就是定义了一个函数,然后在函数内,自己调用了自己这个函数。????递归函数内必须要有结束,不然就会一直调用下去,直到调用的层数越来越多,栈溢出。????递归函数是一层一层的进入,再一层一层的返回。举例例①:# 初步认识

2020-05-25 16:14:43 449

空空如也

空空如也

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

TA关注的人

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