01 2014 档案
摘要:REST是什么?REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST的特点:网络上的所有事物都被抽象为资源(resource)每个资源对应一个唯一的资源标识(resource identifier)通过通用的连接器接口(generic connector interface)对资源进行操作;对资源的各种操作不会改变资源标识;所有的操作都是无状态的(stateless)。REST的通俗说明:REST是通过HTTP请求的状态,去服务器端请求不同的服务方法,但是请求地址是相同的。
阅读全文
摘要:转于:http://hmw.iteye.com/blog/1704020这个问题的引入是由于公司一个项目里需要使用单点登录的功能,为了方便起见,就使用redis来替换php默认的文件存储session,当然这里使用memcache或者mysql等也都是一样的,实施起来非常简单,只需要改php.ini里的两处配置即可:session.save_handler = redissession.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?
阅读全文
摘要:译者前言:首先这是一篇国外的英文文章,非常系统、详尽的介绍了如何使用PHP创建REST API,国内这方面的资料非常非常的有限,而且基本没有可操作性。这篇文章写的非常好,只要对PHP稍有了解的程序员,看完本文基本可以自己动手写REST API,花了几个小时翻译过来和大家共享,希望可以帮助大家。转载请注明出处。转于:http://hmw.iteye.com/blog/1190827原文地址:Create a REST API with PHPOne of the latest (sort of) crazes sweeping the net is APIs, more specifically
阅读全文
摘要:Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') a,(select s#,scorefrom SC where C#='002') bwhere a.score>b.score and a.s#=b.s#;2、查询平均成绩大于60分的同学
阅读全文
摘要:一.软件介绍(apache lighttpd nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。Fastcgi的优点在于:· 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可
阅读全文
摘要:每个参与过开发企业级web应用的前端工程师或许都曾思考过前端性能优化方面的问题。我们有雅虎14条性能优化原则,还有两本很经典的性能优化指导书:《高性能网站建设指南》、《高性能网站建设进阶指南》。经验丰富的工程师对于前端性能优化方法耳濡目染,基本都能一一列举出来。这些性能优化原则大概是在7年前提出的,对于web性能优化至今都有非常重要的指导意义。然而,对于构建大型web应用的团队来说,要坚持贯彻这些优化原则并不是一件十分容易的事。因为优化原则中很多要求是与工程管理相违背的,比如“把css放在头部”和“把js放在尾部”这两条原则,我们不能让团队的工程师在写样式和脚本引用的时候都去修改一个相同的页面
阅读全文
摘要:疑惑描述:查看了淘宝网的首页源文件,看到这样的一个特殊的里面用逗号分隔了几个js文件kissy-min.js,p/global/1.0/global-min.js,p/et/et.js这个是什么道理?同样的还有CSS又如虾米中的(http://res.xiami.net/??static/js/lib/jquery.tmpl.min.js,static/js/app/relation.js,static/js/app/nameCard.js?ver=20140116-175037)解答:这个叫静态资源打包,因为浏览器下载静态文件的时候是有线程数限制的,所以下载1个100K的js/css,会比1
阅读全文
摘要:前几天为了开发方便,和一个同事将XX.qq.com的测试站点拆成两个站点,我那个叫XX_hanks.qq.com,进行功能开发,在调试 cookie功能的时候,发现IE下cookie没有记住,用httpwatcher check了下,发现response里有set-cookie,但是IE发起请求的时候却没有把这个域名下的cookie内容放到请求里,以为是我的 IE8安全性问题,折腾了半天,尝试了IE6等也是同样问题,目录下保存有qq.com域名的cookie,没有XX_hanks.qq.com的 cookie,但是请求xx_hanks.qq.com时,连qq.com的cookie也不传了,大窘
阅读全文
摘要:背景在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候, 浏览器就可以从浏览器的缓存中获取css、js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量。问题现在问题来了,.htaccess设置的css、js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css、js,在这些css、js缓存 未过期之前,浏览器只会从缓存中读取css和js,如果你在服务器上修改了css和js,那么这些更改在回头客的浏览器中是不会有变
阅读全文
摘要:找到瓶颈(Finding the Bottleneck)面对一个性能问题是,第一步永远是找到问题产生的原因,而不是去看技巧列表。搞明白产生瓶颈的原因,找到目标并且实施修复,然后再重新测试。查找瓶颈只是万里长征的第一步,这里有些常用技巧,希望对最重要的第一步找到瓶颈能有所帮助。使用监控方法(比如监控宝),进行benchmark和监控,网络,特别是网络状况瞬息万变,做得好的话5分钟就可以找到瓶颈。剖析代码。必须了解那部分代码耗时最多,在这些地方多多关注。想找到瓶颈,请检查每个资源请求(比如,网络、CPU、内存、共享内存、文件系统、进程管理、网络连接等等……)先对迭代结构和复杂的代码进行benchm
阅读全文
摘要:sae中短信验证码:; (function($) { $(document).ready(function() { if (parent && parent.location.href != location.href) parent.location.href = location.href; var timelineBox = $('.timeline-box') timelineBox.find('.progress .bar').each(function(k, v) { $(v).css('width', '25
阅读全文
摘要:var url = 'http://game.zixia.com/api/server_jsonp.php?jsoncallback=?'; 单独建立api文件处理其他地方的调用
阅读全文
摘要:参考:http://blog.csdn.net/cutesource/article/details/5838693单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在 大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系 统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞疯掉。实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统 如何验
阅读全文
摘要:类似新浪微博的用户Id怎么生成呢?特点:10位随机数,而且是以1开头的好处:不容易猜出有多少用户方法一:目的是生成唯一id。可以用uniqid。uniqid获取一个字符串,循环这个字符串,把每个字符串都用ord……规则自己定,最容易想到的是自增键,其它的比如你要想然这个ID有点意义的话,可以是申请ID的地域ID+当然时间戳+什么什么的,只要不重复不就行了PHP生成唯一ID的三种方法 1、md5(time().mt_rand(1,1000000));这种方法有一定的概率会出现重复 2、php内置函数uniqid() uniqid()函数基于以微秒计的当前时间,生成一个唯一的ID.w3school
阅读全文
摘要:为什么要绑定?答案:简化用户登录,用第三方账号实现这个网站的登录。通过绑定,还可以获得第三方账号的提供的一些接口信息,可以再本平台直接操作第三方平台,这样,即保存了本网站的用户也有利于第三方网站,实现双赢。当然最主要是的还是实现了不用注册登录第三方登录过后用户名是多少?用第三方登录后默认是没有用户名的,只能获得第三方提供的一个access_token来获取第三方平台的信息。所有绑定后,我们应该引导用户手动设置我们网站上的用的名,密码等基本信息,处理办法:1、引导手动设置用户名,密码2、为第三方网站登录后的用户设置一个随机的用户名,引导用户随后重新设置用户名。一、常识:什么是授权方式:授权方式即
阅读全文
摘要:一个网站下只能设置一个名字的cookie,且不能设置其他域名的cookie,如果设置为多个,则最后的一个生效目的想实现,两个顶级域名的登录:在jifen.com域名下设置setcookie ( 'web_info', 'ceshi', 0, '/', '.youxi.com');setcookie ( 'web_info', 'ceshi', 0, '/', '.19jifen.com');本来想这样实现不同顶级域名下登录的,后来发现相同的cookie名字会存不上,他
阅读全文
摘要:XSS 全称为 Cross Site Scripting,用户在表单中有意或无意输入一些恶意字符,从而破坏页面的表现!看看常见的恶意字符XSS 输入:1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:2.XSS 输入也可能是 HTML 代码段,譬如:(1).网页不停地刷新 (2).嵌入其它网站的链接 对于PHP开发者来说,如何去防范XSS攻击呢?/** * @param $string * @param $low 安全别级低 */ function clean_xss(&$string, $low = False) { if (! is...
阅读全文
摘要:作为开发者的自己,这篇文章必须转了,看看那些优秀开发者是怎么做的吧!优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。优秀的开发者了解客户的问题。差的开发者只了解手头的技术问题。优秀的开发者会不断努力去理解“为什么”,然后去实现,同时能够把握大局。差的开发者专注于构建类、方法和配置文件,而不理会大局。优秀的开发者了解产品的完整架构。差的开发者只知道他写的组件。优秀的开发人员充分理解在产品中使用的技术,了解它们的用途,以及它们在内部如何工作。优秀的开发者不害怕新技术,并能够很快掌握。差的开发者只坚持他目前掌握的技术,对于任何技术变化持否定态度。优秀的开发
阅读全文
摘要:NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题?这个疑惑非常大,为此我看了很多分析文章,但却总感觉是隔靴搔痒。为了一探究竟,半年前我决定用Mongodb这个著名的NoSql数据库做个产品试试。只有在真实的使用环境中才能得到最贴切的感受。一晃眼,半年过去了,现在我能用亲身的体会来谈谈NoSql数据库存在的理由和试图解决的问题了。就像所有的哲学思考都来源于对日常活动的观察一样,我们也从最基本的东西说起吧。来看这样一个业务要求,用户可以为一本书打分,并且写评论。熟悉数据库结构设计的人看到这一
阅读全文
摘要:概念:同源策略是客户端脚本(尤其是Javascript)的重要的安全度量标准。它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。这里的同源指的是:同协议,同域名和同端口。精髓: 它的精髓很简单:它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。为什么要有同源限制? 我们举例说明:比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中
阅读全文
摘要:浅谈CSRF攻击方式 http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
阅读全文