与运算

HTTP中Get与Post的区别

跟風遠走 提交于 2020-04-03 10:25:01
转载于:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html  Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的

权限控制算法

我只是一个虾纸丫 提交于 2020-03-30 06:47:38
这里我介绍一种很常用,也比较Professor的权限控制思路。 这里我用java语言描述,其实都差不多的。自己转一下就可以了。 为了方便,我们这里定义a^b为:a的b次方 这里,我们为每一个操作设定一个唯一的整数值,比如: 删除A---0 修改A---1 添加A---2 删除B---3 修改B---4 添加B---5 。。。 理论上可以有N个操作,这取决于你用于储存用户权限值的数据类型了。 这样,如果用户有权限:添加A---2;删除B---3;修改B---4 那用户的权限值 purview =2^2+2^3+2^4=28,也就是2的权的和了(之前打错了)。 化成二进制可以表示为11100 这样,如果要验证用户是否有删除B的权限,就可以通过位与运算来实现。 在Java里,位与运算运算符号为& 即是: int value = purview &((int)Math.pow(2,3)); 你会发现,当用户有操作权限时,运算出来的结果都会等于这个操作需要的权限值! 原理 : 位与运算,顾名思义就是对位进行与运算: 以上面的式子为例:purview & 2^3 也就是 28&8 将它们化成二进制有  11100 & 01000 -------------------   01000 == 8(十进制) == 2^3 同理,如果要验证是否有删除A---0的权限 可以用:purview &(

LeetCode.868-二进制距离(Binary Gap)

一世执手 提交于 2020-03-29 03:22:50
这是悦乐书的第 333 次更新,第 357 篇原创 01看题和准备 今天介绍的是LeetCode算法题中Easy级别的第203题(顺位题号是868)。给定正整数N,找到并返回N的二进制表示中两个连续1之间的最长距离。如果没有连续两个1,则返回0。例如: 输入:22 输出:2 说明:22的二进制是10110。在22的二进制表示中,有三个1,第一对连续的1距离为2,第二对1的距离为1,答案是这两个距离中最大的一个,即2。 输入:5 输出:2 说明:5的二进制是101。 输入:6 输出:1 说明:6的二进制是110。 输入:8 输出:0 说明:8的二进制是1000。在二进制表示为8时没有任何连续的1,所以我们返回0。 注意 : 1 <= N <= 10 ^ 9 02 第一种解法 题目的意思是计算一个二进制数中每对1的最长距离,若是只有一个1,距离则为0。 因此,我们先将N转为一个二进制字符串,然后去遍历字符串中的字符,使用一个临时变量存储前一个1的索引值,遇到新的1时就计算彼此之间的距离,取最大值,最后输出距离。 public int binaryGap(int N) { String str = Integer.toBinaryString(N); int prev = -1, distance = 0; for (int i=0; i<str.length(); i++) { if

谈谈http中get与post的区别

﹥>﹥吖頭↗ 提交于 2020-03-25 12:24:23
3 月,跳不动了?>>> Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。 (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。 * 注意:这里安全的含义仅仅是指是非修改信息。 (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下幂等这个概念: 幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。 幂等有一下几种定义: 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。 对于双目运算

基于二进制的权限管理与验证

帅比萌擦擦* 提交于 2020-03-22 17:58:33
1、权限值的设定 用二进制来表示权限值应该是按位来设置,每个位占一个,表示一种权限,如: 00000001表示十进制1, 00000010表示十进制2, 00000100表示十进制4, 00001000表示十进制8; 依次类推,才能清晰正确的标识,多种权限的赋予则使用“或运算”,此时各位比较混乱,如00000011表示十进制3,此时它意味着拥有两种权限。 Long userrolevalue ;//用户的权限值,根据他属于的权限组,这个值会不同 Long oprolevalue ;//一个操作的权限值,根据他属于的权限组,这个值会不同 2、 权限的赋予 (或运算) userrolevalue = userrolevalue | oprolevalue 假设一个用户u1,他的初始权限值为0(00000000)。如果要指定他有经理的权限,经理的权限值为4(00000100),在第三个二进制位为1。 很显然,userrolevalue = 0 | 4 ,值为4,如果u1要同时具有文员、主管、经理的权限呢, userrolevalue = 0 | 1 00000000 | 00000001 = 00000001 userrolevalue = 1 | 2 00000001 | 00000010 = 00000011 userrolevalue = 3 | 4 00000011 |

位与&, 位或| ,位异或 ^ 总结

孤者浪人 提交于 2020-03-07 09:06:28
目录 按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011& 0000 0101 = 00000001 因此,3&5的值得1。 另,负数按补码形式参加按位与运算。 “与运算”的特殊用途: (1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。 (2)取一个数中指定位 方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。 例:设X=10101110, 取X的低4位,用 X & 0000 1111 = 00001110 即可得到; 还可用来取X的2、4、6位。 按位或运算符(|) 参加运算的两个对象,按二进制位进行“或”运算。 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 即 :参加运算的两个对象只要有一个为1,其值为1。 例如:3|5 即 00000011 | 0000 0101 = 00000111 因此,3|5的值得7。  另,负数按补码形式参加按位或运算。 “或运算”特殊作用: (1)常用来对一个数据的某些位置1。 方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零

浅谈HTTP中Get与Post的区别

梦想与她 提交于 2020-03-07 07:16:57
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查 , 改 , 增 , 删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于 获取/查询 资源信息,而POST一般用于 更新 资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念: <!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->    幂等 (idempotent、idempotence)是一个数学或计算机学概念

Java版短网址(ShortUrl)的算法

让人想犯罪 __ 提交于 2020-03-04 03:00:50
/** 1. 将长网址用 md5 算法生成 32 位签名串,分为 4 段 , ,每段 8 个字符。 2. 对这 4 段循环处理,取每段的 8 个字符 , 将他看成 16 进制字符串与 0x3fffffff(30 位 1) 的位与操作,超过 30 位的忽略处理。多了也没用因为下面要分成 6 段 嘿嘿 正好取整。注意用 Long 型变量(长度问题 你懂得) 3. 将每段得到的 30 位字符(后台以 long 十进制显示)又分成 6 段,通过移位运算将每 5 位分别与字符数组求与运算( 0x0000003D ),得到其在字符数组中的索引并取出拼串。 4. 这样一个 md5 字符串可以获得 4 个 6 位串,取里面的任意一个就可作为这个长 url 的短 url 地址。 */ View Code 1 package com.youngsun.lbt; 2 3 publicclass ShortUrlGenerator { 4 publicstaticvoid main(String[] args) { 5 // 长连接: http://www.young-sun.com 6 // 新浪解析后的短链接为: http://***/Nvqqem 7 String sLongUrl = "http://www.young-sun.com" ; //

浅谈HTTP中Get与Post的区别

♀尐吖头ヾ 提交于 2020-03-02 03:42:39
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查, 改, 增, 删4个操作。到这里,大家应该有个大概的了解了,GET一般用于 获取/查询资源信息,而POST一般用于 更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有 abs(a) = abs(abs(a))。  

浅谈HTTP中Get与Post的区别

限于喜欢 提交于 2020-02-26 03:49:56
浅谈HTTP中Get与Post的区别 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs