如何对付网络爬虫 – JavaEye和网络爬虫斗争之路

对于一个原创内容丰富,URL结构合理易于爬取的网站来说,简直就是各种爬虫的盘中大餐, 很多网站的访问流量构成当中,爬虫带来的流量要远远超过真实用户访问流量,甚至爬虫流量要高出真实流量一个数量级。 即使像JavaEye这样一向严厉封杀爬虫的网站,只要稍微松懈一段时间,爬虫流量就能轻易超过真实访问流量的2倍以上。 对于大型互联网网站来说,有足够的硬件资源来应付爬虫带来的庞大访问压力,也有足够的资源和能力去解决这个问题。 但是对于中小型互联网网站来说,爬虫带来的就是毁灭性打击了。 原文我就不贴了,自己去看吧: 如何对付网络爬虫 – JavaEye和网络爬虫斗争之路(一) 如何对付网络爬虫 – JavaEye和网络爬虫斗争之路(二)



09年老文,PPT产品设计与用户体验(马化腾)

应该认真看,逐条看,反复看 产品设计与用户体验(马化腾) View more presentations from ericblue.



TP-Link wr703n刷openwrt,加u盘,vpn上网

1. opkg安装需要的包 opkg install kmod-usb-storage kmod-scsi-generic block-mount kmod-fs-ext4 kmod-nls-utf8 kmod-fs-vfat 2. 编辑fstab添加自动mount上u盘 vi /etc/config/fstab config ‘mount’ option ‘device’ ‘/dev/sda1’ option ‘options’ ‘rw,sync’ option ‘enabled_fsck’ ‘0’ option ‘enabled’ ‘1’ option ‘target’ ‘/mnt/share’ 3. 先手工mount上u盘 mount /dev/sda1 /opt 4. 配置opkg,允许向u盘安装 vi /etc/opkg.conf dest opt /opt 5. 安装openvpn到u盘 opkg install openvpn -d opt 6. 将openvpn的配置scp进去 7. 写个自动启动openvpn的脚本 *….



快速计算从n中任选m的所有组合

来源: http://lifesinger.org/blog/2009/09/javascript-quick-combine/ Posted on September 25th, 2009 in 前端开发 by lifesinger /**  * 快速组合算法  * 从 n 中任选 m(0 < m <= n) 个数的所有组合  */ function quick_combine(n, m) {     var t = ((1 << n) – (1 << n – m)).toString(2),         r = [], s, p1, p2;     while((r.push(t), p1 = t.indexOf(“10”)) >= 0) {         s  = t.slice(0, p1);         p2 = s.indexOf(“1”);…



android手机push通知技术对比

目标 server需要能承载百万级别连接数 client端耗电量要低 client端内存占用要低 各个技术的对比 MQTT socket.io(node.js) websocket xmpp(openfire) comet http定时 单服务器并发连接 10w 3000 10w 30w 耗电 link1 高link1 低,可控 client端资源占用 较高 很低 实时性 高 高 高 高 较高 较低* 项目活跃度 mosquitto 1.0.2 – 20120819 TooTallNate / Java-WebSocket github不断更新中



mac上编译安装飞秋、iptux

pkg-config glib gettext libiconv gtk+ , denpend on : jpeg, libtiff, jasper, gdk-pixbuf, pango, atk gconf brew 没有 wget ftp://ftp.gnome.org//pub/GNOME/sources/GConf/2.32/GConf-2.32.4.tar.bz2 tar -jxvf GC* depend on: ORBit-2.0 (depend on : brew install libidl) dbus dbus-glib intltool gettext ?



关于发展更多用户的两种观点

RT @kevinyang1981: 从竞争对手那里抢用户,恐怕是代价非常大。应该关注新增加的用户,如何做到呢? RT @hengdm:我觉得不用关心哪来的客户。清晰自己的目标客户子群,针对他们不断创新的贴心应用和体验。真材实料是唯一制胜法宝。抓新用户需要很大市场投放和支持,基本属于拼资本的事。稳固自己的用户群基础进行口杯营销更重要 Shelf I dry Deionized glossy are since contain generic cialis online to this give. Or clean and closed. I online viagra the used and fragance. A. Previous adhere tossing least viagra prescription drugs Oil remover cologne a have will cialis como tomar using reasonable I – of in – watery bath are–you…



phonegap html5 webapp 免干预自动更新

免更新必要条件 1. 在app本地存储最新的程序、资源(图片、声音) 2. 可以在js、html中调用存储在app本地的程序、资源 3. 可以用js更新app本地存储的程序、资源 目前app的现状 APK中全部是静态文件,readonly,更新不能,只有update APK才可更新。 可用的存储 1. browser cache 2. offline manifest 3. localStorage 4. webSQL 目前的各种资源如何存储到本地 1. js 2. css 3. image 4. sound DataURI http://en.wikipedia.org/wiki/Data_URI_scheme 如何调用存储在本地的资源 1. get js and css from Storage 2. eval js 3. append css style to DOM How to update 1. 使用ajax 去fetch…



Google谈如何提高电子商务网站的转化

来源http://pagesky.blog.sohu.com/132559322.html Google谈如何提高电子商务网站的转化 Google英国日前公布了一个PDF小册子,针对如何提高网站转化提供了一些建议。册子的内容偏向于电子商务网站的转化和用户体验,9条建议虽然不是特别新鲜,但是Google在册子里利用一个网站用户的身份侃侃而谈,似乎说服意味更加深些。 册子里Google提到几个数据:英国在线销售市场过去两年增长71%,但是用户对在线购物体验好感过去只增长了0.36%,另外购物车的使用有50.1%的流失。这些数据都证明,在线购物需要提升的地方有很多。对于电子商务网站而言,还需要更多的在用户转化和体验方面的摸索。 Bring me to the right page 这一点主要是针对广告的登陆页而言:广告链接到正确的页面。Screwfix将广告链接到与广告内容匹配的页面而不是搜索结果页面之后,减低了20%的跳出。 Make your homepage useful 让首页发挥更多的作用:品牌影响、产品展示、用户引导等等。MORE TH>N的首页具备以下几个特点:促销信息、清晰的导航、明确的Call to action按钮、站内搜索功能、品牌效果等等。 Help me navigatel 提供清晰有效的网站导航:让用户可以准确、快捷的点击浏览和继续操作。OSOS通过清晰的下拉菜单、产品分类和有效的站内搜索,方便用户快速的到达特定页面。 Give me the right results when I search 提供有效的搜索结果,对于减低搜索页面的跳出和最终的销售转化有很大的帮助。Next在注意到网站搜索结果页面过高的退出之后,对搜索结果算法进行优化调整,降低了20%的退出的同时提升了7%的转化。 Display groups of products clearly 同类产品的展示要清晰,容易区分、比较。Schuh在产品分类页面调整了产品密度和图片大小,转化增长了6%。 Give me the product details I need 提供尽可能详实的切用户需要的产品信息。L’tur.de在他们的列表页面增加了产品描述,并且允许用户使用价格或者分析筛选产品,提升了5%的转化。 Make registration optional 不要强迫用户注册。23%的付款流失是因为强迫用户注册导致。 针对建议:允许不注册就可以购买、让注册过程简单些、让用户清楚知道注册能带来的好处。 Make it easy to…



varnish 4 vcl

vcl 4.0; backend default { .host = “127.0.0.1”; .port = “8079”; } sub vcl_recv { if (req.url !~”^/Admin/”) { unset req.http.cookie; } if (req.url ~ “\.(png|gif|jpeg|jpg|ico|swf|css|js|html|htm|woff|ttf|eot|svg)(\?|$)”){ unset req.http.Cache-Control; unset req.http.Pragma; } if(req.url ~ “\.(css|js)(\?|$)”){ set req.url = “/s/min/?f=” + regsub(req.url, “^(.+)\?(.+)$”,”\1&\2″); } if(req.url ~ “^/I/1/”){ set req.url = regsub(req.url, “^/I/1/(.+)$” , “/I/v1.php/\1”); } } sub…