4 HD243608836

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2k+

Java IO流中read方法的偏移量是什么意思

文章目录背景 示例 前置条件 使用 FileInputStream 流读取内容 参数详解 网上的错误解释 正确的解释 总结背景在使用Java的 IO过程中,肯定遇到过偏移量这个概念。网上也有很多人都解释过,但是有很多的人都被误导理解错了,也包括我。偏移量确实很容易理解错,刚开始我也理解错了。直到后来看BufferedOutputStream 源码的时候就越发感觉不对劲。下面就详细解释一下偏移量到底什么意思。在 FileInputStream 中的pu.

2020-08-12 10:43:50

深入理解Spring Cloud Security OAuth2及JWT(好文章!!)

因项目需要,需要和三方的oauth2服务器进行集成。网上关于spring cloud security oauth2的相关资料,一般都是讲如何配置,而能把这块原理讲透彻的比较少,这边自己做一下总结和整理,顺带介绍一下JWT的使用场景。什么是OAuth2?OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份,并颁发token(令牌),使得第三方应用可以使用该令牌在限定时间、限定范围访问指定资源。主要涉及的RFC规范有RFC6749(整体授权.

2020-08-05 19:59:49

RSA数字签名

在日常工作中,有很多文件需要领导审阅、签名和盖章,由于公司业务开展,跨地域、跨国业务也日益普遍,领导签名盖章变得很麻烦,开始的时候人们通过邮寄、传真等方式来解决,但是耗费时间、人力、物力。在网络化日益深入的今天,需要领导审批、签字盖章的东西越来越多,时间也越来越紧迫,数字签名的出现,很好了解决了这一问题。推动了互联网及跨国集团的发展。数字签名1、概念数字签名基于哈希算法和公钥加密算法,对明文报文先用哈希算法计算摘要,然后用私钥对摘要进行加密,得到的值就是原文的数字签名。数字签名(又称公钥数字

2020-08-05 19:43:05

非对称加密算法——RSA

三、非对称加密算法概念:非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方.

2020-08-05 19:37:44

Django如何使用模板标记分割字符串

django 渲染时遇到字符串需要分割,此时需要使用 django 的自定义过滤器,具体操作方法如下:自定义过滤模板,再项目内新建文件夹templatetags,同时新建文件_init_.py 创建自定义过滤文件,如myfilter.py,其内容如下:from django.template import Libraryregister = Library()@register.filter(name="split")def split(value, key):"""Returns

2020-07-30 14:27:19

SQL条件放在on、where、having的区别和关系(说的很好理解)

参考文章:SQL中ON和WHERE的区别在写SQL语句的时候,我们经常会用到各种表连接(left join, right join, inner join, full join),还有各种分组聚合函数(sum, min, max, avg, count),那么我们在写SQL的时候,对于不同的过滤条件具体是应该放在连接操作中的 ON 后面,还是分组操作的 having 后面,还是 where条件中呢。在看了很多前辈的知识帖子之后,总结出的三种条件关键字的执行顺序如下:简单的来讲,就是:.

2020-07-28 18:10:13

django执行自定义sql语句并返回自定义Model(cursor)

个人常用: where=msg_id sql=''' select t.id, t.real_name, t2.* from auth_user t join ( select max(is_red) as is_red,add_user_id,task_id from card where msg_id=%s GROUP BY task_id,add_user_id)

2020-07-28 14:47:33

sql 统计查询某一字段的某一个值的总条数

查询某一字段的某一个值的总条数比如:orderprogressno字段的值分别为1,2,3,4,那么就是查询值为1的总条数和值为2的总条数select orderno,count(orderprogressno)from servicerepair已阅读= sum(case when orderprogressno =1 then 1 else 0 end),未阅读= sum(case when orderprogressno =2 then 1 else 0 end),from se...

2020-07-28 10:52:43

Django模板的自动转义,从后台返回html代码的方法——autoescape、safe和mark_safe

Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全。但是有的时候我们可能不希望这些HTML元素被转义(关闭自动转义),比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护HTML标签的源文件。为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。比如:

2020-07-21 11:10:31

git commit回滚——两种方式

1. 应用场景 :撤销已经提交的commit2. 解决方案: 使用 git reset --hard HEAD^ 使用 git rebase -i HEAD~n 下面分别介绍下这两个方案有什么不同,和他们的使用场景 。2.1 git reset --hard 丢弃最新的提交代码提交后,需求发生变化导致之前提交的已经不合适,或者 代码提交后发现有严重bug,需要回滚可是使用这个命令:git reset --hard HEAD^tips:1,HEAD^ .

2020-07-07 16:14:02

Django的ListView超详细用法(含分页paginate功能),文章有增加内容

开发环境:python 3.6 django 1.11场景一经常有从数据库中获取一批数据,然后在前端以列表的形式展现,比如:获取到所有的用户,然后在用户列表页面展示。解决方案常规写法是,我们通过Django的ORM查询到所有的数据,然后展示出来,代码如下: 开发环境: python 3.6 django 1.11 场景一 经常有从数据库中获取一批数据,然后在前端以列表的形式展现,比如:获取到所有的用户,然后在用户列表页面展示。 解.

2020-07-07 15:34:28

利用Django中的url方法实现地址动态拼接自动生成超链接地址

目标 建立一个图书列表页面,显示图书名列表,并实现点击书名跳转到图书详细页面,显示图书详细信息。URL方法简介 功能:返回一个绝对路径的引用(不包含域名的URL);该引用匹配一个给定的视图函数和 一些可选的参数。 语法:{% url 'some-url-name' value1 value2 %} 参数'some-url-name'表示在urls.py文件中的路由地址; 参数value1和value2表示拼接的值,可选。 例如,urls.py:url(r'^bookinfo.

2020-07-07 15:27:31

python引入模块报错ValueError: attempted relative import beyond top-level package

解决方法:在文件中加入下面两行代码,使用绝对路径import sys,ossys.path.append(os.path.dirname(__file__) + os.sep + '../')在练习Python中package的相对导入时,即from . import XXXorfrom .. import XXX  时会遇到这样两个错误:SystemError: Parent module '' not loaded, cannot perform relative imp

2020-06-30 17:12:44

Python中什么是*args和**kwargs

今天看源码的时候发现一个是*args和**kwargs,一看就能知道args是神马,就是所有参数的数组,kwargs就不知道了,google一下,一个人的blog写的比较简单明了,秒懂了~~kwargs就是当你传入key=value是存储的字典。补充一下:kwargs不影响参数位置例子:def test(a,*args,**kwargs):print a#print b#print cprint argsprint kwargs...

2020-06-16 18:18:27

Spring事务异常回滚三种方案——捕获异常不抛出就不会回滚

下面这种情况,使用了catch捕获了异常,spring事务不会发生回滚try { userDao.save(user); userCapabilityQuotaDao.save(capabilityQuota);} catch (Exception e) { logger.info("能力开通接口,开户异常,异常信息:"+e);}默认spring事务只在发生未被捕获的RuntimeException时才回滚。springaop 异常捕获原理:被拦截的方法需显式抛出异...

2020-06-11 10:21:26

XStream——java中xml转bean对象

注解+代码 <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.10</version> </dependency>注解:@XStreamAl.

2020-06-10 18:52:50

使用xstream时,实体类转化出现的问题

xstream“强转自己(Object->TypeA)”报错:com.****.TypeA can not be cast to com.****.TypeA原因:存储的是 TypeA 经过Java标准序列化后的内容,取值时返回的是 Object,需要强转为 TypeA。本来很简单的逻辑,但是出现异常了,异常爆出 TypeA 不能转为 TypeA,我们俩再三确认了一下,类名没有写错。我想到以前我看过的一本书上(忘了从哪本书看的了)说:Java 中,判断两个类型是否相同需要:1..

2020-06-10 18:44:36

通过mysqlbinlog和grep命令定位binlog文件中指定操作(两种方式)

1.binlog日志基本知识MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间。binlog有三种格式:Statement、Row以及Mixed。分别是:基于SQL语句的复制(statement-based replication,SBR)、基于行的复制(row-based replication,RBR)和混合模式复制(mixed-based replication,MB.

2020-06-10 13:08:39

Springboot中Xstream和JAXB方式处理xml与bean相互转换对比

JAXB vs XStream这两东东本质上是有差别的,JAXB称为OX binding工具,XStream应该算序列化工具,但OX binding工具也会marshall和unmarshall,所以包含了序列化这一部分。序列化工具不一定需要提供binding的功能。既然都玩序列化,那就简单地比较一下它们两在序列化方面的强弱吧。JAXB:Toplink JAXB 10133,应该是JAXB 1.1标准 (取消了schema的validation功能)XStream:1.3.1数据长度:

2020-06-09 16:02:58

Django入门--模型系统(一):模型基础(文章很好很详细!)

1.Django的ORM介绍对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。对象关系映射就是通过面向对象的方式操纵数据库,达到不用编写SQL语句就能实现对数据库的增删改查。只需要通过python的面向对象的方式就能够清楚数据之间的关系。python是一个编程语言,一个软件,mysq.

2020-06-02 17:25:28

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。