redis-事务
redis事务Redis通过MULTI、DISCARD、EXEC和WATCH四个命令来实现事务功能,本章首先讨论使用MULTI、DISCARD和EXEC三个命令实现的一般事务,然后再来讨论带有WATCH的事务的实现。因为事务的安全性也非常重要,所以本章最后通过常见的ACID性质对Redis事务的安全性进行了说明。事务事务提供了一种“将多个命令打包,然后一次性、按顺序地执行”的机制,并且事务在执行的
文章
在这里,还是要一一说明下,有一些细节还是要留意滴。在x4这样一个标准格式中,有x1、x2、x3、x4四个位置,x1最好理解,表示输入标签的类型,比如text是文本框,radio是单选按钮;x2表示标签的名字,服务器靠x2的内容来知道哪个标签是谁。x3和x4要重点区分!以性别男为例,“男”是value值,“性别男”是用户看到的值,value值是网页编写者根据"sex"这个标签名称拿到的标签的值,这两
SpringBoot | 第八章:统一异常、数据校验处理
前言在web应用中,请求处理时,出现异常是非常常见的。所以当应用出现各类异常时,进行异常的捕获或者二次处理(比如sql异常正常是不能外抛)是非常必要的,比如在开发对外api服务时,约定了响应的参数格式,如respCode、respMsg,调用方根据错误码进行自己的业务逻辑。本章节就重点讲解下统一异常和数据校验处理。springboot中,默认在发送异常时,会跳转值/error请求进行错误的展现,根
[angular4.x 快速上手]
一、修饰符作用范围public公有(不写修饰符,默认就是public)可以在这个类里面也可以在类外面使用;protected受保护类型只有在当前类和它的子类中可以访问;private私有类型只有当前类才可以访问这个属性。二、绑定数据1.数据文本绑定{{}}ts文件中export class AppComponent { title = 'Hello Angular6.x';}html文件中
Hibiernate+struts2分页
如果使用Hibernate的话,她里面的Query有这么两个方法,可以查询出第x到第y条的信息,由此我们可以只要知道,只要有当前页的页码(page)和总记录条数(number),就可以实现分页查询。Query两个方法如下:Query query = session.createQuery("from Products");query.setFirstResult();// (当前页面-1)X每页条
java异常设计
异常的分类结构图异常机制是为了解决什么问题?它也是线程结束的一种方式,从某中角度来讲,它与正常return没有什么区别,只不过是一种异常的方式结束。那为什么需要这种异常的机制呢?异常机制本身也是划分了严重程度,如:Error/Exception.它以一种不侵入正常流程编码的形式,尽量不让程序崩溃(Error类型的异常),同时给开发者友好的提示信息(方便问题的定位)。各种异常在什么场景下出现?能否处
如何成为技术管理者 | Live笔记
知乎Live专题——“程序员的成长课:如何拥有你想要的职场”——的第三期Live:如何成为技术管理者,6月13日晚结束,这是对其中要点所做的笔记,供大家对照着回顾Live。该Live相关的问题,也可以在文后留言讨论。>>五大职能定位专业技术者、自由职业者、管理者、创业者、投资者。每个人可能适合不同的定位,或者不同阶段有不同定位。>>理解管理角色管理者通过他人完成工作。两大任务:完成工作目标,培养下
Java逆向基础之导出内存中的类一
为什么需要这个,因为在之前的博文中提到,为了增加逆向的难度,部分软件会对部分关键方法和类进行隐藏,所以我们需要把这个类从内存中拿出来。本文介绍使用javaagent的方法,下一篇介绍dumpclass,两种方法各有利弊。本文需要用到第三方jar为:javassist-3.20.0-GA.jar,不过我们需要的是它的源码javassist-3.20.0-GA-sources.jar新建名为DumpC
函数、表单验证
一、函数1、函数是一段已经命名的代码块,函数中的代码块是做为一个整体被执行或引用的2、自定义函数位置一般情况下放在与之间,但有的情况下也可以放在与之间,一定要保证函数是先定义后使用3、自定义函数的语法function自定义函数名(参数1,参数2){函数体代码块;...}例:functionhello(){window.alert("您好");}4、调用函数(只有在调用函数时,函数体的内容才会被执行
ES6 async 函数
是什么async函数就是将Generator函数的星号(*)替换成async,将yield替换成await,仅此而已。不同之处async函数的执行,与普通函数一模一样,只要一行。不像Generator函数,需要调用next方法。async函数的返回值是Promise对象,Generator函数的返回值是Iterator对象。语义性更好,async表示函数里有异步操作,await表示紧跟在后面的表达
这可能是最好的RxJava 2.x 入门教程(四)
一、前言最近很多小伙伴私信我,说自己很懊恼,对于RxJava2.x系列一看就能明白,但自己写却又写不出来。如果LZ能放上实战情景教程就最好不过了。也是哈,单讲我们的操作符,也让我们的教程不温不火,但LZ自己选择的路,那跪着也要走完呀。所以,也就让我可怜的小伙伴们忍忍了,操作符马上就讲完了。二、正题16、Single顾名思义,Single只会接收一个参数,而SingleObserver只会调用onE
WPF 控件库——带有惯性的ScrollViewer
一、先看看效果 二、原理 虽然效果很简单,但是网上的一些资料涉及的代码量非常可观,而且效果也不是很理想,滚动的时候没有一个顺滑感。我这里提供的源码一共120多行,就能实现上图的效果。 本质上我们只要接管ScrollViewer的滚动逻辑,并且把这个逻辑替换成带有惯性的即可,那么如何去接管呢?这里的关键是先屏蔽ScrollViewer的鼠标滚轮事件:1 protected override v
java中的枚举类
初识枚举类,我们也许会提出疑问,枚举它是一种新的类型吗?不同于基本数据类型,引用类型??为了更好地理解,我们从反编译一个enum类开始:原java代码import java.util.Arrays; import java.util.List; public enum Weather { Sunny(1, "晴天"), Rainy(2, "雨天"), Cloudy(3
StyleTextView探讨TextView控件绘制文字
本文主要探讨TextView控件绘制文字,上下会留有一定空白原因.以及使用canvas.drawText()绘制文字时,baseLine的该如何确定,如何让文字上下没有留白最近做项目的时候遇到个问题什么,这百分号和数字怎么对齐?这数字下面的文字怎么居中?这层级为什么这么复杂,关键外面还有好多层父布局,这是要上天呀!解决思路薄荷就是醒脑,表情包还没做完思路就出来.减少层级,采用一个TextView
图片粘贴上传
图片粘贴上传,大家基本都司空见惯了,不足为奇。(本文只是水记一下,有空深挖细耕)某日产品大大发话:某:“这个冲账凭证上传,能加个图片粘贴上传功能吗?”我(凡事一句):“为什么?”某:“理由是:用户觉得,截个屏>保存到本地>选择这个文件上传,太麻烦。直接截图上传,省事。”我(无力反驳):“哦,我试试。”由于用的iView,先去扒扒有没有API提供。文档没有,围观源码,欸,居然写了这么一段代码,upl
Python 列表排序方法reverse、sort、sorted详解
python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加入条件参数进行排序。reverse()方法将列表中元素反转排序,比如下面这样>>> x = [1,5,2,3,4]>>> x.reverse()>>> x[4, 3, 2, 5, 1]reverse列表反转排序:是把原列表中的元素顺序从左至
梳排序
这篇再看看一个经典的排序,梳排序,为什么取名为梳,可能每个梳都有自己的gap吧,大梳子gap大一点,小梳子gap小一点。上一篇我们看到鸡尾酒排序是在冒泡排序上做了一些优化,将单向的比较变成了双向,同样这里的梳排序也是在冒泡排序上做了一些优化。冒泡排序上我们的选择是相邻的两个数做比较,就是他们的gap为1,其实梳排序提出了不同的观点,如果将这里的gap设置为一定的大小,效率反而必gap=1要
MySQL压力测试方法
其实mysql测试也没有这么复杂,除了一些常用的selectinsertupdatedeletc这些外,其实测试他的并发量才是最重要的。比如在连接数1K的时候,并发量能否满足当前请求服务器性能、内存CPU使用情况。说白了,测试mysql就是测试他的配置文件和并发量及服务器性能。一、工具首选工具mysql自带的:mysqlslap–auto-generate-sql,-a自动生成测试表和数据–aut
安装MySQL常见的三种方式
目录安装MySQL的方式常见的有三种: rpm包形式通用二进制形式 源码编译1,rpm包形式(1)操作系统发行商提供的(2)MySQL官方提供的(版本更新,修复了更多常见BUG)www.mysql.com/downloads关于MySQL中rpm包类型的介绍: MySQL-client 客户端组件 MySQL-debuginfo 调试MySQL的组件 MySQL-devel
python爬虫系列之 xpath:html解析神器
一、前言通过前面的文章,我们已经知道了如何获取网页和下载文件,但是前面我们获取的网页都是未经处理的,冗余的信息太多,无法进行分析和利用这一节我们就来学习怎么从网页中筛选自己需要的信息说到信息筛选我们立马就会想到正则表达式,不过今天我们不讲正则表达式。因为对于爬虫来讲,正则表达式太复杂对新手十分不友好,而且正则表达式的容错率差,网页有稍微的改动就得重新写匹配表达式,另外正则表达式可读性几乎没有。当然