今天拉了一个使用了tornado的项目在本地跑,按照源码作者的步骤配置完,运行,直接报错了,要求环境Python3.6+,我装的是Python3.8,理论上应该直接正常运行的,报错信息:Traceback(mostrecentcalllast): File"ice_server.py",line150,in<module> RunServer.run_server(port=p,host=h) File"ice_server.py",line125,inrun_server tornado_server.start() F...
继续阅读 >
分类:编程语言
2020
10-10
10-10
基于java实现DFA算法代码实例
DFA简介DFA全称为:DeterministicFiniteAutomaton,即确定有穷自动机。(自己百度吧)直接代码:敏感词实体类packagecom.nopsmile.dfa;publicclassKeywords{privateStringpid;privateStringContent;publicKeywords(){}publicKeywords(Stringcontent){super();Content=content;}publicStringgetContent(){returnContent;}publicvoidsetContent(Stringcontent){Content=...
继续阅读 >
2020
10-10
10-10
mybatis plus的3种查询方式(小结)
本文是基于springboot框架下的查询。 一:基本配置:1.仓库依赖<repositories><repository><id>alimaven</id><name>aliyunmaven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository>...
继续阅读 >
2020
10-10
10-10
详解python with 上下文管理器
作为一个Java为母语的程序员来讲,学习起其他新的语言就难免任何事都与Java进行横向对比。Java7引入了能省去许多重复代码的try-with-resources特性,不用每回try/finally来释放资源(不便之处有局部变量必须声明在try之前,finally里还要嵌套try/catch来处理异常)。比如下面的Java代码try(InputStreaminputStream=newFileInputStream("abc.txt")){System.out.println(inputStream.read());}catch(Excepti...
继续阅读 >
2020
10-10
10-10
Python 的 __str__ 和 __repr__ 方法对比
阅读到Strings中关于转换对象为字符串的内容,介绍了repr函数,趁着还没有真正了解Python面向对象的生疏与热度,感性上理解一下repr与str这两个函数的区别。Python的全局方法repr和str会映射到对象的__repr__和__str__的方法调用,还有str(obj)时会调用哪个方法,以及print(obj)和调试Python代码时的对象显示会调用哪个方法呢?这就是本文想要印证的内容。恰如Java的System.out.println(obj)或"hell...
继续阅读 >
2020
10-10
10-10
SpringBoot结合JSR303对前端数据进行校验的示例代码
一、校验分类数据的校验一般分为**前端校验、后端校验**二、前端校验前端校验是最为明显的,先说一下:①HTML非空校验如HTML5新增的属性required="true",一旦没有填写就输入框就显示红色,具体使用如:<inputtype="text"id="name"name="name"required="true"/>②JS同时在提交表单发送Ajax请求的时候,来个onSubmit函数,具体例如(使用点EasyUI):functionsubmitData(){$("#fm").form("submit",{url:"/admi...
继续阅读 >
2020
10-10
10-10
Vue-cli打包后如何本地查看的操作
Vue-cli打包成dist后默认是必须在http服务器环境下才能正常运行。可以在本地启动一个http-server服务查看,操作步骤如下:全局安装http-server:npminstall-ghttp-server进入dist根目录下cddist再输入指令:serve输出serve:Runningonport5000,即服务已经启动,端口号为5000。以其他的端口号启动:serve-p8090补充知识:vuecli3.0打包并在本地查看时页面空白问题根据以下命令对项目进行打包:npmrunbuild命令执行完出...
继续阅读 >
2020
10-10
10-10
JavaScript this关键字指向常用情况解析
在之前写代码的经历中,常常试过写着写着this就莫名其妙的不知道指向到哪里去了。今天看了曾探的javascript设计模式,里面特别谈到了this在不同情况下指代的对象,非常有意思。this指代的情况this有以下4种情况:1、对象.函数的形式调用:object.function();2、普通函数的形式调用:function();3、构造器调用;4、Function.prototype.call或Function.prototype.apply调用;1、对象.函数的形式调用对象.函数方式调用时,指代该对象。v...
继续阅读 >
2020
10-10
10-10
java去除空格、标点符号的方法实例
代码如下:publicclassTempTest{publicstaticvoidmain(String[]args){//string去除空格Stringstr="helloworld";System.out.println(str);Stringstr1=str.trim();//去除首尾空格System.out.println(str1);Stringstr2=str.replace("","");//去掉所有空格,包括首尾,中间System.out.println(str2);Stringstr3=str.replaceAll("+","");//去掉所有空格,包括首尾,中间System.out.println(str3);...
继续阅读 >
2020
10-10
10-10
Java使用正则表达式检索、替换String中特定字符和正则表达式的一切
引言String这个对于程序原来说一定是最熟悉不过的,很多时候我们都习惯去使用String的原生方法去完成查找字符串、替换、删除,而正则表达式由于略显苦涩的语法常常被人忽略,其实很多时候使用正则表达式可以提高不少性能和节省资源。一、正则表达式简述正则表达式正则表达是Java中比较矛盾的知识点,因为使用起来可以很简单也可以相当地有难度,但是对于字符串操作来说应用得当则事半功倍,字符串查找,搜索,匹配,替换等等,正则...
继续阅读 >
2020
10-10
10-10
Python datetime 如何处理时区信息
在Python常用日期处理--内置模块datetime探讨了Python如何使用datetime,如果是一个跨时区的应用(Web应用都是),就不能只存储一个时间而不带时区,如此,全球用户将会看到一个相同的时间字符串,白天黑夜就错乱了。比说用户信息的更新时间存储为2020-07-0713:46:08,上海的用户和芝加哥的用户看到的是同一个时间字符串,实质上却相差好多个小时。我们可以这么做,在服务端只存储一个Timestamp长整型值或UTC时间,T...
继续阅读 >
2020
10-10
10-10
Java Random.nextInt()方法原理解析
licintnextInt(intn)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。关于Randomr=newRandom(47)中47的意思今天看Java编程思想的时候看到了一段这样的代码:Randomr=newRandom(47);inta=r.nextInt(26);System.out.println(a);刚开始没注意那个47,以为是随机一个47以内的数,但是看到后面在nextInt(26)里面还有个26,一想26应该才是随机数的范围,那这个47是...
继续阅读 >
2020
10-10
10-10
JavaScript arguments.callee作用及替换方案详解
一、arguments.callee的作用:返回正被执行的Function对象arguments的主要用途是保存函数参数,但这个对象还有一个名叫callee的属性,返回正被执行的Function对象,也就是所指定的Function对象的正文,这有利于匿名函数的递归或者保证函数的封装性。请看下面这个非常经典的阶乘函数functionfactorial(num){if(num<=1){return1;}else{returnnum*factorial(num-1)}}定义...
继续阅读 >
2020
10-10
10-10
Java新手入门学习之正则表达式
一、概述1、概念:符合一定规则的表达式。2、作用:用于专门操作字符串。3、特点:用于一些特定的符号来表示一些代码操作,这样就可以简化代码书写。4、好处:可简化对字符串的基本操作。5、弊端:符号定义越多,正则越长,阅读性越差。二、常用符号:说明:X表示字符X或者匹配的规则。一)字符构造匹配\反斜线字符\t制表符\n回车符...
继续阅读 >
2020
10-10
10-10
浅析python中的del用法
del是python关键字,就像def、and、or一样。它不是字典、列表的方法,但是可以用来删除字典、列表的元素。python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题。python的del不同于C的free和C++的delete。由于python都是引用,而python有GC机制,所以,del语句作用在变量上,而不是数据对象上。if__name__=='__main__':a=1#对象1被变量a引用,对象1的引用计数器为1...
继续阅读 >
2020
10-10
10-10
JAVA字符串反转的三种方法
方法一:使用StringBuilderimportjava.util.Scanner;publicclassStrReversal{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);Stringstr=scanner.nextLine();System.out.println(newStringBuilder(str).reverse());}}方法二:使用循环importjava.util.Scanner;publicclassStrReversal{publicstaticvoidmain(String[]args){Scannerscanner=newScann...
继续阅读 >
2020
10-10
10-10
Java如何使用JSR303校验数据与自定义校验注解
一、自带校验注解实现数据校验1、web项目导入依赖<!--该依赖默认导入了hibernate-validator所以不需要再单独导入--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>下图可以看到spring-boot-starter-web依赖自动引入了hibernate-validator;如果感兴趣的话还可以进入hibernate-validator查看引入了什么相关依赖2、默认注解的...
继续阅读 >
场景:使用intellijidea开发,持久层dao使用了mybatis,经常需要编辑mybatis的××Mapper.java和××Mapper.xml,因为是接口里一个方法对应xml里的一个SQL的id,当需要找找个方法时候得拷贝找个方法名,然后在对应文件中ctrl+f全文查找,相当麻烦。本篇讲述的使用mybatis的插件后将极大的提高效率。效果如图:即从××Mapper.java接口和××Mapper.xml中能由箭头直接点进去查看相对应的方法及SQL。步骤:1、ctrl+alt+s快捷键(或...
继续阅读 >
2020
10-10
10-10
java正则表达式之Pattern与Matcher类详解
Pattern.split方法详解/***测试Pattern.split方法*/@TestpublicvoidtestPatternSplit(){Stringstr="{0x40,0x11,0x00,0x00}";//分割符为:逗号,{,},空白符Stringregex="[,\\{\\}\\s]";Patternpattern=Pattern.compile(regex);/**1.split方法用于使用正则表达式中的字符分割待匹配的字符串**注意:*1.如果分割符位于原字符串的起始位置,则分割的时候,会在起始位置上分割出一个""出来*2....
继续阅读 >
2020
10-10
10-10
使用Mybatis的PageHelper分页工具的教程详解
1、导入相关的jar包在pom.xm中加入<!--https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.10</version></dependency>2、在Mybatis的配置文件mybatis-config.xml中加入以下代码<plugins><!--com.github.pagehelper为PageHelper类所在包名--><plugininterceptor="com.github...
继续阅读 >
2020
10-10
10-10
浅析NumPy 切片和索引
ndarray对象的内容可以通过索引或切片来访问和修改,与Python中list的切片操作一样。ndarray数组可以基于0-n的下标进行索引,切片对象可以通过内置的slice函数,并设置start,stop及step参数进行,从原数组中切割出一个新数组。importnumpyasnpa=np.arange(10)s=slice(2,7,2)#从索引2开始到索引7停止,间隔为2print(a[s])输出结果为:[246]以上实例中,我们首先通过arange()函数创建ndarray...
继续阅读 >
2020
10-10
10-10
JSR303校验注解和自定义校验注解的使用
引入validation依赖<!--JSR303依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>Null检查@Null(message="") 验证对象是否为null@NotNull(message="") 验证对象是否不为null,无法查检长度为0的字符串@NotBlank(message="") 检查约束字符串是不是Null还有被Tr...
继续阅读 >
2020
10-10
10-10
JavaScript Array.flat()函数用法解析
在过去的几年中,已经将许多有用的功能添加到JavascriptArray全局对象中,这些功能为开发人员在编写可用于数组的代码时提供了多种选择。这些功能提供了许多优点,其中最值得注意的是,虽然在过去的一段时间里,开发人员必须实现自己的复杂逻辑来执行各种数组操作,但现在这些新功能已经不再需要这种自制的实现。本文将探讨的有用功能之一是flat()函数。JavaScript的Array.flat()函数深入探讨功能概述flat()函数提供了将一组数...
继续阅读 >
2020
10-10
10-10
Docker 如何安装 Nginx
Docker安装NginxNginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。1、查看可用的Nginx版本访问Nginx镜像库地址:https://hub.docker.com/_/nginx?tab=tags。可以通过Sortby查看其他版本的Nginx,默认是最新版本nginx:latest。你也可以在下拉列表中找到其他你想要的版本:此外,我们还可以用dockersearchnginx命令来查看可用版本:$dockersearchnginxNAMED...
继续阅读 >