Month: May 2015

PHP如何解决网站大流量与高并发

首先,确认服务器硬件是否足够支持当前的流量。 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。 其次,优化数据库访问。 前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站, 静态化往往不能满足某些功能。 缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。 如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用 Select * from这… Read More

如何防止网站关键数据被人恶意采集

昨天晚上花了几个小时用Jsoup写了一个网站采集器,帮一个高中同学采集了一个工业信息门户上的芯片待售信息。网站上显示的数据多达60w+条, 我写的程序跑了7个小时只采集了一半,算是可以交差了。 这已经是我第二次写这种采集器了。之前在做波菜网的时候,写过一个更复杂的。当时网站上线以后苦于没有原生态的内容,我就写了一个采集器从“百度身边”采集各大城市的餐馆和菜品信息,并通过google地图的接口获取餐馆的地理位置,然后转存到我们自己的网站上。 我必须承认,做这些事儿都是不光彩的,属于不劳而获,弄不好还得背上法律责任。但是在国内这个互联网的环境下,这种小规模的数据采集想上升到法律层面去禁止,还是不切实际的… Read More

jQuery模拟原生态App上拉刷新下拉加载效果代码

以下任意均可: 1. jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用。 DEMO:http://sources.ikeepstudying.com/drop-more/ 下载:jQuery模拟原生态App上拉刷新下拉加载效果代码   2.  jquery iscroll上拉 下拉加载内容 DEMO:http://sources.ikeepstudying.com/cubiq-iscroll/ 下载:jquery-iscroll  | 简约版: cubiq-iscroll   3. 移动端下拉刷新、上拉加载更多 Zept… Read More

重新拎一遍js的正则表达式

前言 js的正则表达式是前端中比较重要的部分,加入你要去面试,正则的题目必不可少。我之前的这篇文章中提及过。具体可以看:http://www.haorooms.com/post/qianduan_mianshi 正则表达式规则 一、普通字符 字母、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是”普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。 举例: 表达式 “o”,在匹配字符串 “haorooms” 时,匹配结果是:成功;匹配到的内容是:”o”;匹配到的位置是:开始于… Read More

js网页顶部线性页面加载进度条,jquery头部线性进度条总结

前言 网页顶部加载进度条,近年来很流行,很多网站都采用了这种加载方式。网上也有这样类似的插件,今天我们总结一下网页顶部线性页面加载进度条。 头部LoadingBar线性进度条总结 上面的代码只是静态效果,没有和网页加载联系在一起,要和网页加载联系在一起,今天推荐几个插件。 插件一:LoadingBar LoadingBar.js的地址是:http://www.onextrapixel.com/2013/09/02/loadingbar-js-adding-a-youtube-like-loading-bar-to-your-website/ 用ajax方式读取页面内容,然后加载。 插件二:NProgress… Read More

jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部

webtouch(webapp)页面,防苹果手机safari浏览器,网上滑动,底部导航消失,滑动到底部又出现。向下滑动,底部导航出现。 遇到问题 1、我一开始用swipeup和swipedown来做,发现因为有滚动条,不会触发。因此只能判断滚动条是上滚下滚等。关于手机手势,后面的文章会介绍,欢迎关注! 2、通过上滚下滚来让底部导航显示或者因此,安卓上面的浏览器都可以,但是苹果safari会一闪一闪,原因是苹果safari自动有个弹跳效果,导致事件重复执行,解决办法是给上滚下滚一个距离,滚动到一定距离后返回是上滚还是下滚。 单纯判断滚动条方向 function scroll( fn ) { var beforeScr… Read More

读取二维码 How to decode QR code ( HTML5 QR Code Reader )

Description This is a cross platform jQuery library to create a QRcode reader for HTML5 compatible browser. The decoder used for the QRcode reading is from LazarSoft https://github.com/LazarSoft/jsqrcode Demo See a demo here http://dwa012.github.io/html5-qrcode/ Usage Include html5_qrcode.min.js in the lib directory. Create a basic <div>… Read More

PHP 谷歌验证 google reCAPTCHA PHP client library

Project page: http://www.google.com/recaptcha/ Repository: https://github.com/google/recaptcha Version: 1.1.1 License: BSD, see LICENSE   Description reCAPTCHA is a free CAPTCHA service that protect websites from spam and abuse. This is Google authored code that provides plugins for third-party integration with reCAPTCHA. Manual inst… Read More

js页面文字选中后分享到新浪微博实现

一、功能简述 正是微博如火如荼的时节,其中各个微博的分享功能是网站推广产品的好东东啊,此时如何方便快捷的使用微博的分享功能就显得比较重要了。我的站点每篇文章的底部有一些分享的链接: 不过我觉得这些分享基本上就是聋子的耳朵——摆设。除非这篇文章惊天地、泣鬼神,痛彻心扉,穿越前世今生。但是,如果有更加方便快捷的分享方式,这种冷淡得让人结冰的场面或许就不会经常出现。 一般翻译软件都有划词翻译功能,例如有道桌面词典的桌面划词翻译功能: 启用后,随便选中那个软件的一段文字,就会出现类似这样子的浮动提示框: 在web页面上,我们也是可以实现类似的效果的:划词→显示提示→分享。这就是本文要展示的内容。 二、效果与dem… Read More

Google Maps API 以某一经纬度为中心,以某一长度位半径画圆 Draw the radius of a circle

直接看代码: <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title> - jsFiddle demo</title> <script type='text/javascript' src="http://maps.google.com/maps/api/js?sensor=false&.js"></script> <script type='text/javascr… Read More