- 博客(45)
- 资源 (6)
- 收藏
- 关注
原创 IP地理位置免费数据库文件下载及更新
MaxMind提供了免费的IP地址地理位置库,数据库文件可以从[官网](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data)下载,后续可以使用官方更新程序进行更新,免费版每周三和周五更新。
2023-03-25 10:55:20
2865
原创 可能是全网最清晰的KMP算法讲解
KMP算法由D.E.Knuth,J.H.Morris和V.R.Pratt三位大神在1977年提出,它的核心算法是利用匹配失败后的信息,减少模式串与主串的匹配次数,以达到快速匹配的目的。
2022-08-21 14:52:08
3637
12
原创 Trie字典树及内存占用优化
Trie又叫字典树、前缀树,是一种数据结构。它将大量不同字符串以共享前缀的方式保存起来,形成一种树形的数据结构,由于共享字符前缀,按前缀逐级查找字符,所以检索效率极高。字典树本质上是DFA算法的一种实现。它的典型应用是文本词频统计、敏感词过滤。......
2022-08-04 18:02:55
1623
原创 Column count doesn’t match value count at row 1
报错:Column count doesn’t match value count at row 1意思是列数目跟值数目不匹配。
2022-06-02 16:22:52
2701
1
原创 微信小程序获取地理位置最佳实现
定位微信小程序获取用户当前位置需要用户的授权,可以直接调用 wx.getLocation,微信会弹出授权提示,如果用户曾经拒绝过授权则不会弹窗。根据微信官方文档:授权部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope ,用户选择对 scope 来进行授权,当授权给一个scope 之后,其对应的所有接口都可以直接使用。此类接口调用时:如果用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用接口;如果用户已授权,可以直接调用接口;如果用户已拒绝授
2022-04-25 16:24:24
4906
原创 Docker Swarm
Docker SwarmSwarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。Swarm 和 Kubernetes 比较类似,但是更加轻,具有的功能也较 kubernetes 更少一些。官方文档概念节点(Nodes)节点是参与 swarm 的 Docker 引擎的一个实例。你可以在单个物理计算机或云服务器上运行一个或多个节点,但生产环境中swarm部署通常包括
2022-04-19 17:40:32
816
原创 Docker Compose
Docker ComposeDocker Compose是Docker官方的开源项目,是一个定义和运行多容器Docker应用的工具。Docker Compose使用YAML文件配置应用的服务。一条命令就可以创建和启动配置的所有服务。官方文档地址使用Compose基本上需要三个步骤:定义Dockerfile文件在docker-compose.yml文件中定义服务,它们可以在隔离环境中一起运行运行docker compose up命令启动应用安装下载地址:Docker Compose验证d
2022-04-13 14:33:53
234
原创 杰卡德系数(Jaccard Index)
杰卡德系数(Jaccard Index)杰卡德系数,又称为杰卡德相似系数,用于比较两个样本之间的差异性和相似性。杰卡德系数越高,则两个样本相似度越高。定义有两个集合A和B,那么这两个集合的杰卡德系数为A和B的交集除以A和B的并集。
2022-01-22 17:45:14
20130
原创 汉明距离(Hamming Distance)
汉明距离(Hamming Distance)定义汉明距离以美国数学家理查德·卫斯里·汉明的名字命名,表示两个相同长度的字符串在相同位置上不同字符的个数。用d(x,y)来表示x和y两个字符串的汉明距离。汉明距离可以用来计算两个文本之间的相似度,根据不同字符的个数来判断两个文本是否相似。d(10010,10000)=2d(abcbc,abdab)=3计算根据定义,我们需要统计出相同位置上不同字符的个数,如何判断两个字符是否相同呢?如果两个字符都是数字,可以用a==b来判断,如果两个字符是非数字,可
2022-01-18 11:34:40
19118
2
原创 Java double和float精度损失问题
问题一般,我们会用float和double来存储有小数的数据,可能还会用两个浮点型数据进行计算,在某些情况下,float和double会出现精度损失,导致存储的数据或者计算结果出现误差。举个例子public class Test { public static void main(String[] args) { double a = 0.11; double b = 2.32; System.out.println(a + b); System.out.println(0.11
2021-11-10 14:48:24
3051
原创 微信小程序解密手机号码异常
在后台解密用户手机号码时,偶尔会报以下异常:javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryptionjavax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a
2021-10-29 16:20:34
1492
原创 JavaScript字符串拼接包含</script>
由于一些原因,需要在页面JavaScript中拼接字符串,且拼接的字符串中包含了JavaScript脚本语句,比如:var str = "<script>alert('test');</script>";浏览器运行报错:Uncaught SyntaxError: Invalid or unexpected token。只需要将“/”转义即可:var str = "<script>alert('test');<\/script>";...
2021-06-25 18:38:27
1142
原创 JQuery select设置选中值 option[text= 无效
百度搜一下,很多方法是这样写的:$("#nickNameoption[text='张三']").attr("selected", true);但是试了很多版本都不行,得这样:$("#nickName option:contains(‘张三’)").attr("selected",true);[attribute=value]这种方式是属性选择器,大概是因为option没有text这个属性吧,只是<option>标签中间的文本内容。...
2021-03-27 14:10:30
1089
4
原创 封装EasyExcel读写Excel
读取Excel的 jxl.jar jcom.jar poi.jar单sheet参数封装:import java.io.InputStream;import java.io.OutputStream;import java.util.List;import com.alibaba.excel.event.AnalysisEventListener;/** * Excel读写参数类 * @author test */public class ExcelPar...
2021-01-22 10:01:44
1105
2
原创 Nginx Access is denied
Windows系统上使用Nginx,用Windows ServiceWrapper将nginx包装成一个windows服务:<service> <id>Nginx</id> <name>Nginx</name> <description>Nginx</description> <logpath>D:\servers\nginx-1.16.1\</logpath>
2021-01-20 15:37:11
3306
原创 pdf.js跨域及屏蔽下载
下载地址https://github.com/mozilla/pdf.js/releases/使用方法在webroot或者webapps目录下建一个文件夹pdf.js,然后把下载后的文件解压,复制web和build两个文件夹到pdf.js目录下,浏览器访问viewer.html后面带上pdf文件地址即可,就像下面这样:http://a.example.com/pdf.js/web/viewer.html?file='+encodeURIComponent('/pdf/test.pdf')
2021-01-20 10:43:55
2250
2
原创 用户操作日志记录字段修改前后值
你可能遇到这样的需求,要详细记录用户的操作日志,像下面这样:用户张三将年龄从“20”改为“21”用户张三将爱好从“篮球”改为“足球”通常,用户可以一次改多个字段,然后一次性保存,这些字段的数据修改记录要分别保存。这样的日志需要知道以下数据:用户修改了数据库中什么字段 这个字段对应的中文名是什么 这个字段原来的值是什么 这个字段新值是什么这几个问题里,1和4是闭着眼都能搞明白的。问题2,字段的中文名可以用一个枚举类把英文和中文对应起来,但是如果字段很多的话,很繁琐,然后想起了.
2021-01-11 17:34:55
6761
2
原创 Java泛型获取实际类型
Test是一个泛型类,T是参数化的类型,在声明对象时,可以传入任何类型,但如何在构造方法Test()里获取传入的实际类型,即T呢,先上代码:public class Test<T> { private Class<T> clazz; public Test() { System.out.println(this.clazz); } public static void main(String[] args) { Test<User&
2020-12-15 17:17:54
1025
5
原创 OAuth2.0四种授权方式详解
OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。OAuth1.0https://www.ietf.org/rfc/rfc5849.txtOAuth2.0https://tools.ietf.org/html/rfc6749OAuth2.0定义了四种获取令牌的方式授权码(authorization-code)隐藏式(implicit)密码式(password):客户端凭..
2020-11-30 16:42:28
6679
原创 数字签名和数字证书详解
签名当你在一个纸质文件上写上你的名字,按上你的指纹,就意味着这张纸上的内容经过了你的认可,你的笔迹和指纹就是你身份的证明。这是因为,笔迹很难伪造,而每个人的指纹更是独一无二的。在签名前,我们会检查文件内容有没有歧义、有没有涂改、有没有多余不必要的空白等,确认无误后再写下我们的名字,而收到签名后文件的人,再次对文件内容及签名进行检查,以确保文件内容没有被篡改。因此,签名可以用来认证签名者的身份及确保被签名文件内容的真实性。数字签名在互联网时代,文件以电子形式存在电脑里,我们从网上下载的文件、程
2020-11-28 09:39:41
5166
原创 群发邮件避免被识别为垃圾邮件
前言一些企业常常要要群发邮件给客户来做推广营销,大量重复内容往往很容易被邮箱运营商判别为垃圾邮件,直接放到用户垃圾邮箱里,甚至是直接屏蔽发邮件的ip,这样就会造成群发邮件的低到达率。如何识别垃圾邮件那么,邮箱服务商,比如网易136,腾讯qq邮箱,怎么识别垃圾邮件呢?一般是以下几种方法:1、关键词识别它首先将垃圾邮件中一些特征性的字眼收集起来(比如打折、免费、促销等),形成一个大的数据库,当一封邮件发出来的时候就会自动匹配邮件头、邮件标题、邮件内容中与这些库里的关键词特征,如果有相类似的
2020-11-03 12:13:00
4335
原创 Docker是什么及常用命令
简介Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者都可以使用这个镜像。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。运行中的这个镜像称为容器,容器启动是非常快速的。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。核心概念docker主机(Host) 安装了Docker程序的机器(Docke...
2020-10-29 17:43:40
441
1
原创 CentOS安装卸载Docker
Docker版本Docker有社区版(docker-ce)和企业版(docker-ee)两个版本,企业版收费并且提供了一些额外的支持,社区版免费。社区版下面又分为stable、nightly、test。这里我们安装社区stable版。安装步骤官方安装教程地址:https://docs.docker.com/engine/install/centos/1、卸载旧版本旧版本叫docker或docker-enginesudo yum remove docker \
2020-10-22 10:54:46
774
原创 Docker镜像仓库地址-镜像加速
Docker默认使用国外仓库地址,docker pull时,可能会报net/http: TLS handshake timeout错误,只需将仓库地址改为国内即可。编辑/etc/docker/daemon.json文件,修改如下:{ "registry-mirrors": ["https://registry.docker-cn.com","https://hub.daocloud.io"]}然后执行命令,重启Docker:sudo systemctl daemon-reloads.
2020-10-20 16:40:40
2088
原创 Spring Boot以WAR包方式部署
Spring Boot内置了Tomcat,我们把项目打成jar包,然后在命令行执行java -jar xxx.jar即可启动Tomcat,这实在是方便。Spring Boot也支持以传统方式(即WAR包方式)部署我们的项目。首先,我们要提供一个SpringBootServletInitializer类的子类,并重写它的configure方法。@SpringBootApplicationpublic class Application extends SpringBootServletInitia
2020-10-15 15:42:41
225
原创 Java日志之Log4j2
Apache Log4j 2是Log4j的升级版,对Log4j的前身Log4j 1.x进行了重大改进,并提供了Logback中可用的许多改进,同时解决了Logback体系结构中的一些固有问题。与Logback相似,Log4j2可以重新加载修改过的配置文件,但与Logback不同,它将在进行重新配置的同时不会丢失日志事件。在稳态日志记录期间,Log4j 2在独立应用程序中是无垃圾的,而在Web应用程序中是低垃圾的。JMSAppenderHttpAppenderKafkaAp...
2020-09-11 18:04:16
462
原创 Java日志之Logback
最强大的格式化期,可以根据自定义格式输出日志,如果没有指定转换格式,就是用默认的转换格式1. %c %c{数字} 输出日志器的名称日志器名称为:com.linxingyang.Test1%c | %c{1} | %c{2} | %c{3} | %c{4}分别输出com.linxingyang.Test1 | Test1 | linxingyang.Test1 | com.linxingyang.Test1 | com.linxingya...
2020-09-08 15:58:22
326
原创 HttpClient无参数名+SSL+连接池
package com.test;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.nio.charset.StandardCharsets;import java.security.KeyManagementException;import java.security.KeyStoreException;import java.security.NoSuchAlgorithm.
2020-08-24 16:40:15
327
1
原创 SpringBoot+Mybatis多数据源
参考官网Configure Two DataSources#注意:如果没有指定DataSource的实现,而类路径里又有hikari,则是jdbc-url而不是urlapp.datasource.first.jdbc-url=jdbc:sqlserver://localhost:1433;DatabaseName=test1app.datasource.first.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver..
2020-07-17 15:15:29
156
原创 SpringBoot配置Mybatis-干货
本文使用的是Spring Boot 2.2.6引入数据库驱动和mybatis启动器:<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version></dependency><!-- https://mvnr.
2020-07-16 17:23:42
244
原创 Lucene及Solr基本使用
import java.io.File;import java.io.IOException;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field.Store;import org.apache.lucene.document.StringField;import org.apache.lucen.
2020-06-15 15:42:33
291
复旦大学自然语言处理简介
2015-05-09
Spring开发
2015-05-09
itext-5.5.5
2015-05-09
mybatis中文版教程
2015-05-09
springmvc教程
2014-12-22
《HTTP权威指南》高清中文版
2014-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人