上周五的时候,一个同事问我一个单点登录的问题。整个系统结构并不复杂,在webapp应用中配置一个sso应用的servlet过滤器,这个过滤器会从指定的域名下拿cookie中保存的一个加密sessionid,利用这个sessionid到sso系统中判断是否登录以及是否在登录有效期内,未登录则进入登录页面,登录成功后,通过一个浏览器的302重定向进入目标页面。同事反映,正常登录以后进入的目标页面,地址不对,我看了一下,是目标主机的端口号丢失了。于是我在本地搭建
系统 2019-08-12 09:26:51 2244
一个完整的ODBC由下列几个部件组成:1.应用程序(Application)。2.ODBC管理器(Administrator):整个架构的管理中心。3.驱动程序管理器(DriverManager):ODBC驱动程序集中管理的部件。4.ODBCAPI:规定程序中SQL语句的格式,以及数据库访问的相关函数的函数头。5.ODBC驱动程序:与具体的DBMS通信,调用DBMS提供的API;自己(通过DriverManager)被ODBCAPI调用6.数据源:数据库位
系统 2019-08-12 01:54:50 2244
USE[PM]GO/******对象:StoredProcedure[dbo].[LfangSatstics]脚本日期:08/24/201310:57:48******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:--Createdate:--Descr
系统 2019-08-12 01:33:40 2244
字符串的相似性比较应用场合很多,像拼写纠错、文本去重、上下文相似性等。评价字符串相似度最常见的办法就是:把一个字符串通过插入、删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种就是编辑距离(editdistance)度量方法,也称为Levenshtein距离。海明距离是编辑距离的一种特殊情况,只计算等长情况下替换操作的编辑次数,只能应用于两个等长字符串间的距离度量。其他常用的度量方法还有Jaccarddistance、J-W距离(Ja
系统 2019-09-27 17:57:15 2243
UDPUDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信"。客户端:fromsocketimportsocket,AF_INET,SOCK_DGRAM#创
系统 2019-09-27 17:57:08 2243
1.None和[]的区别以前以为None就是空,直到看到了下面这段代码list=[]iflistisNone:print"listisNULL"else:print"listis%s"%list发现输出是listis[],而不是listisNULL。这说明None和[]不等同。去翻了几篇博客后,才知道None表示的是这个对象还没创建,而[]表示的是这个对象创建了,但是还没有值。“一个盒子不装东西它还是一个盒子([]),你把盒子拆了它就是none了”2.关于
系统 2019-09-27 17:57:01 2243
1.查看本机系统及python版本#cat/etc/redhat-releaseCentOSrelease6.7(Final)查看CentOSrelease6.7(Final)自带的python版本#python-VPython2.6.6注意,我们不要破坏系统的Python环境,因为几个关键的实用应用程序依赖于系统默认的Python2.6.6,如果破坏了系统的Python环境就会发生很多难以预见的错误,导致要重装系统。2.yum安装开发工具库集及一些额外包
系统 2019-09-27 17:56:57 2243
12.329orm单表查询importosif__name__=='__main__':#指定当前py脚本需要加载的Django项目配置信息os.environ.setdefault("DJANGO_SETTINGS_MODULE","orm_demo.settings")importdjangodjango.setup()#启动Django项目fromapp01importmodels#返回QuerySet对象的方法:ret=models.Book.ob
系统 2019-09-27 17:56:39 2243
本文实例讲述了python迭代器的简单用法,分享给大家供大家参考。具体分析如下:生成器表达式是用来生成函数调用时序列参数的一种迭代器写法生成器对象可以遍历或转化为列表(或元组等数据结构),但不能切片(slicing)。当函数的唯一的实参是可迭代序列时,便可以去掉生成器表达式两端>的圆括号,写出更优雅的代码:>>>>sum(iforiinxrange(10))45sum声明:sum(iterable[,start])Sumsstartandtheitemso
系统 2019-09-27 17:56:32 2243
一、协程协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗)优点2:不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好,所以执行效率比多线程高很多。(没有锁的概念)因为协程是一个线程执行,那怎么利用
系统 2019-09-27 17:54:05 2243