一切福田,不離方寸,從心而覓,感無不通。

memcached 协议路由器 Mcrouter

Mcrouter 是一个 memcached 协议路由器,用于对 memcached 的部署进行扩展。这是 Facebook 缓存架构的核心组件,峰值的时候每秒可处理 50 亿请求。详细介绍请看这里。 from:http://www.oschina.net/p/mcrouter

龙生   16 Sep 2014
View Details

web开发者不可错过的11个JavaScript工具

JavaScript即将接管Web世界,如雨后春笋版冒出的JavaScript工具更是让web开发者无所适从。 本文我们为大家推荐11款崭露头角但功能强大的JavaScript工具,是追逐web设计新潮流(界面简洁、面向移动、强调互动)中不可或缺的好帮手。 一、Meteor Meteor web应用开发框架定义的七大开发天条为现代软件开发打下良好基础,例如Meteor采用开源社区的方式培育插件资源,其他天条还包括:设计简单的API、仅通过网络传送数据、使用统一的开发语言等。Meteor还开发了一个客户端的本地模拟器。 Meteor是一种新型JavaScript框架,用于WebApp应用程序开发。Meteor的基础构架是Node.JS+MongoDB,它把这个基 础构架同时延伸到了浏览器端,如果App用纯JavaScript写成,JS APIs和DB APIs就可以同时在服务器端和客户端无差异地调用,本地和远程数据通过DDP(Distributed Data Protocol)协议传输。因此部分应用如TODO列表,网络在线和离线下使用功能完全没有差异,动作响应和数据延迟也完全感觉不出来。 二、Epoch 数据可视化是最火的web开发项目,如今已经有很多工具能够在web上展示吸引眼球的数据可视化互动图表,例如D3.js。但Epoch更进一步,在基本的D3代码库的基础上进一步整合,提供更加流畅的体验。通过Epoch你可以向客户展示干净漂亮实时更新的图表。 三、Web Starter Kit 为不同的移动终端开发web应用是一件极为痛苦的事情,Google的Web Starter Kit的目标就是帮助开发者为不同设备开发web应用,例如点击同步、屏幕适配等问题。无论你的用户使用老款iPad还是新款Android手机,代码都能够适应。你只需要勾画出界面,屏幕适配的问题可以交给Web Starter Kit处理,并给出设计建议。 四、Reveal.js Reveal.js 可以看做是HTML5版本的PowerPoint。可以在web页面上以PPT的方式动态呈现信息,如果你的网站想华丽丽地讲故事,那么Reveal能给你最酷的效果。 五、RxJS 静态网页已经成为历史,如今的web设计趋势是预测客户想法并提供更好的互动功能,例如自动填写表单、搜索Wikipedia等。RxJS框架可以很方便地为鼠标和键盘事件提供响应。 六、NodeBB NodeBB是传统BBS论坛的一次进化,提供实时的对话流功能,NodeBB的开发者还增加了很多时髦主题,并支持移动设备屏幕。NodeBB还整合了一些最新的面向触摸屏的web设计功能,例如无限滚动,NodeBB的社区很活跃,不断有新插件出现。 七、GulpJS 从头编写HTML\CSS\Javascript是上个世纪的事情了,如今的JavaScript都是通过CoffeeScript这样的支持句法缩写的编辑器写成的。如果你希望写完JavaScript能够一个工具完成代码清理优化工作,GulpJS就是你的不二之选,GulpJS类似Ant或Maven之于Java。 八、AngularJS Google开发的AngularJS是一个轻量级的,在浏览器中展示信息的框架。ANgularJS从后台服务器收集数据在本地编辑模板用于演示。服务器端代码控制数据存储,而ANgularJS代码负责演示。可以兼容桌面、平板电脑和智能手机浏览器。 九、Odyssey 有了API,如今在网站中加入地图应用变得非常容易,结合地图的内容框互动则需要用到一些工具,CartoDB开发的Odyssey就是一个不错的选择。 十、PlayCanvas 一般来讲,游戏开发与web应用完全是两码事。但先试试,游戏世界的很多工具都可以被用于在网站中增加华丽界面。PlayCanvas就是一个基于WebGL的游戏引擎,结合了物理、光影、音效等工具用于创建一个复杂的界面。 十一、Deb.js 开发中的编码错误无法避免,但不同的解决方法则是决定性的。Deb.js虽然只有1.5KB,但是能够清理控制台窗口,让JavaScript的除错更容易。是Chrome、Opera和Safari内建的除错工具的好搭档。 文章来自IT经理网 from:http://www.oschina.net/news/55219/11-javascript-tools

龙生   13 Sep 2014
View Details

程序员懒惰之极的确凿证据

程序员很懒是出了名的,但很多书里都说程序员的懒是一种美德,但懒是应该有节制的,应该分场合。比如下面的这些懒惰的行为,相信没有人会欣赏他们的这种表现。

1、躺着编程。另外一个也是躺在床上工作的职业是妓女。

2、还是躺着编程,但天花板太远了,或不能承受,改成头套式的了。

3、屏幕应该顺着我的方向,而不是我顺着屏幕的方向

4、程序员吃爆米花的方式

5、紧急bug修复(方案一)

6、紧急bug修复(方案二)

7、好困,我要眯一会

8、程序员喝饮料的方式

9、程序员开发出的画线程序

10、用脚关电脑

稿源:http://www.techug.com/programmer-lazy

from:http://www.oschina.net/news/55170/programmer-lazy

网站防止CC攻击的方法

CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包,造成对方服务器资源耗尽,一直到宕机崩溃。 CC攻击的攻击技术含量低,利用工具和一些IP代理,一个初、中级的电脑水平的用户就能够实施攻击。不过,如果了解了CC攻击的原理,那就不难针对CC攻击实施一些有效的防范措施。 通常防止CC攻击的方法有几种,一个是通过防火墙,另外一些网络公司也提供了一些防火墙服务,例如XX网站卫士和XX宝,还有一种方法是自己写程序预防,昨天网站遇到CC攻击,这也让我尝试了一下各种防止CC攻击方法的有效性。 一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的CC攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。 从原理上看,基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。但如果IP的数量足够大,使得单个IP的连接数较少,那么防火墙未必能阻止CC攻击。 不仅如此,我还发现,启用了某某网站卫士之后,反而更容易被CC攻击,因为这个网站卫士并不能过滤掉CC攻击,攻击的IP经过其加速后,更换成为这个网站卫士的IP,在网站服务器端显示的IP都是相同的,导致服务器端无法过滤这些IP。 实际上,不使用网站卫士类的服务,直接通过分析网站日志,还是很容易分辨出哪个IP是CC攻击的,因为CC攻击毕竟是通过程序来抓取网页,与普通浏览者 的特性区别还是很大的,例如普通浏览者访问一个网页,必定会连续抓取网页的HTML文件、CSS文件、JS文件和图片等一系列相关文件,而CC攻击者仅仅 只会抓取一个URL地址的文件,不会抓取其他类型的文件,其User Agent也大部分和普通浏览者不同,这就可以在服务器上很容易分辨出哪些访问者是CC攻击了,既然可以判断出攻击者的IP,那么预防措施就很简单,只需 要批量将这些IP屏蔽,即可达到防范CC攻击的目的。 最终,我花了半个小时写了一段小程序,运行之后自动屏蔽了数百个IP,网站才算正常,从而证明,防火墙对于CC攻击的防御并不有效,最有效的方法还是在服务器端通过程序自动屏蔽来预防。 看来CC攻击的门槛还真低啊,搞个几百个代理或者肉鸡就能攻击别人了,其成本非常低,但效果比较明显,如果攻击者流量巨大的话,通过耗费带宽资源的方式 都可以进行攻击。但是,CC攻击也有明显的技术缺陷,就是攻击者的IP并不是海量的,通常就是几百数千的级别,并且是真实访问了网站页面,这就使得网站可 以通过程序过滤的方式,轻松获取到这些攻击者IP,批量进行屏蔽,那么这种CC攻击就会得到预防。 对于站长来说,通过程序来过滤CC攻击门槛较高,要有一定的编程技术,因此还是建议使用第三方网站提供的预防CC的服务,目前主要的网站有:360网站卫士、百度加速乐、安全宝等。

龙生   11 Sep 2014
View Details

ASP.NET Application_Error错误日志写入

一个web项目开发已完成,测试也通过,但是,bug是测不完的,特别是在一个大的网络环境下。那么,我们就应该记录这些错误,然后改正。这里,我的出错管理页面是在global.asax里面的,利用里面的Application_Error函数。 Global.asax代码: <%@ Application Language="C#" %> <script runat="server">     void Application_Start(object sender, EventArgs e)      {         // 在应用程序启动时运行的代码     }          void Application_End(object sender, EventArgs e)      {         //  在应用程序关闭时运行的代码     }              void Application_Error(object sender, EventArgs e)      {          // 在出现未处理的错误时运行的代码        // 在出现未处理的错误时运行的代码                      Exception objErr = Server.GetLastError().GetBaseException();             string error = string.Empty;             string errortime = string.Empty;             string erroraddr = string.Empty;             string errorinfo = string.Empty;             string errorsource = string.Empty;             string errortrace = string.Empty;             error += "发生时间:" + System.DateTime.Now.ToString() + "<br>";             errortime = "发生时间:" + System.DateTime.Now.ToString();             error += "发生异常页: " + Request.Url.ToString() + "<br>";             erroraddr = […]

龙生   10 Sep 2014
View Details

Windows防火墙开启ping

今天被这么一个问题困扰:当我通过本机ping另一台在同一局域网内(即在同一网段)的计算机时,发现,如果防火墙开启的话,无论如何也ping不通。一旦关闭防火墙就可以ping通了。这是为什么呢?究竟该怎么设置呢?    原因是这样的,现在的计算机系统,出于安全考虑,在默认情况下是不允许外部主机对其进行ping测试的。但在一个安全的局域网环境中,Ping测试又是管理员进行网络测试所必须的。如何更改设置呢?XP系统和WIN7系统有所不同:   Windows XP:     Windows防火墙 --> 高级 --> ICMP --> 设置 --> 把“允许传入回显请求”前打上勾 --> 确定 --> 大功告成。    Windows 7:     Windows防火墙 --> 高级设置 --> 入站规则 --> 在列表里找到“文件和打印机共享(回显请求 – ICMPv4-In)” --> 右击选择启用规则,并在其属性里设置为‘允许连接’-->  确定 --> 大功告成。 from:http://blog.csdn.net/zltianhen/article/details/7802191

龙生   10 Sep 2014
View Details

windows server 2012 r2上网慢解决方案,2008无法intel-windows server 2012 r2 slower internet solutions

最近家里和办公室新装 Windows Server 2012 R2 数据中心版操作系统,仍然非常脑残的两个设计:脑残的开始菜单、脑残的Win+Space切换输入法。除此之外还可以接受,当然我已将脑残的开始通过Start8解决掉了,另外说个关于Win2012R2网速痛苦的经历。 最近发现不管是家里还是办公室,打开有些网站都非常的慢,准确说是响应非常的慢,输入网址驾车后要等甚至8秒才得到响应打开网页,并且还不是所有网 站都这样,部分(包括手里维护的几个网站),以为是服务器问题于是将网站服务器重装了系统,最后发现我真二,没解决问题后才发现是我电脑的问题,远程了其 它两台不是2012的系统打开流畅的很,百度一下才发现问题出在Windows上。我不是这方面的专家只好转原文如下,灰常感谢网友的文章。 Windows Server 2012/2012 R2 上网非常慢的解决办法(转载): 装了个windows server 2012玩玩,发现效果真心不错,尤其是对负载的处理上,很少听到风扇的呼呼声了。但发现一个问题,在办公室上网,打开网页,总是要等2-3秒才显示出页 面内容,但回家后就没有这种问题了。折腾一整天,各种修复,各种改,防火墙、驱动、组策略、MTU、TTL,各种不好使。 本想装一个Wireshark抓下包分析一下,但发现winpcap装不上,坑爹。我就在想,难道服务器系统就这原因?网上没找到任何解决办法,连提出这个问题的人都没看到。 还是得抓包分析,安装了个Microsoft Network Manager,微软自家的抓包工具,终于好使了。分析TCP数据包,发现在单位,每打开一个网页,都会先向目标发送好几个TCP ECN(显式拥塞通知)数据包,然后等到2-3秒后,再与目标3次握手建立TCP连接;但是在家却没有发送TCP ECN数据包。 原来Windows server 2012默认打开了ECN功能(貌似从Windows server 2008之后都默认打开),个人操作系统却没有打开,而办公室网络的确拥塞不小,造成了这种效果。好了,执行“netsh int tcp set global ecn=disable”命令后,果断OK了。 很明确了,只需要CMD执行以下命令,网速马上恢复,我和小伙伴们都惊呆了: netsh int tcp set global ecn=disable 果然奏效,开心…灰常感谢:(http://blog.sina.com.cn/s/blog_475d6daf0101bxtn.html)http://blog.sina.com.cn/s/blog_475d6daf0101bxtn.html 关于这类命令及原理我也不是很清楚也不去深究了,以下还有类似网络流行的提高网速方法: 接收方缩放状态 : enabled 烟囱卸载状态 : automatic NetDMA 状态 : enabled 直接缓存访问(DCA) : enabled 接收窗口自动调谐级别 : normal 附加拥塞控制提供程序 : none ECN 功能 : disabled RFC 1323 时间戳 : enable 逐项输入命令: 接收方缩放状态:netsh int tcp set global rss=enabled 烟囱卸载状态 :netsh int tcp set global chimney=automatic NetDMA 状态:netsh int […]

龙生   10 Sep 2014
View Details

15 个响应式的 jQuery UI 组件的代码片段和模块

随着响应式网页设计逐渐进化成每个网站必备的一部分,越来越多的用户界面问题在设计面向手机、平板的网站时涌现。 在下面的展示中,我们展现了15款新生的响应式JQuery代码片段,它们能增强用户在手机、平板或是普通的浏览器上的用户体验, 用户界面类 MultiScroll Multiscroll 是一款强劲的JQuery插件,它能允许你创建分离的、有两个竖直滚动条的页面。它的强劲功效不仅体现在所有现代浏览器上(甚至IE8它也支持),还适用于移动设备和平板。这款插件能让你即使是在响应式网站上也能利用这个华丽的效果。 如何使用: 实现这个效果很简单。所有你需要做的就是在<head>标签内引入脚本文件,然后把剩下的代码放在<body>标签内。 TourTip TourTip 是一种网页元素的交互式可视化指南。TourTip可以替代静态帮助信息接口或者是解释文本,通过添加一个页面指引,让用户更容易了解产品的新特性和新功 能。TourTip对于那些有关新产品或者介绍服务,又或者是帮助指南的一些介绍性网站或者登录页面都是非常有用的。其直观的界面使其解释任何事情都易如 反掌。 用法: TourTip可以根据用户的需求来定制构建,允许你“玩耍"多个变量,你仅仅只需要根据你的目的或者需求来调整它即可。   jQuery Tilted Page Scroll 这个高级的jQuery代码片段允许你使用一个页面滚动插件来创建一个三维倾斜的滚动效果。这个效果看起来很简单但是它对于你的博客或者是摄影集或者是组合网站来说,是一个非常好的体验。兼容性测试在现在的浏览器都测试通过了,当然不包含IE。 jQuery Tip Cards 该代码片段帮助你创建一个供用户翻阅的卡片布局集合。这个想法是非常有趣,它已经被Google的“Tips”项目实现。这个代码片段有许多不用的用途,你可以用它展示你最新的博客帖子,portfolio items,网页游戏等。 用法: 根据翻转卡的性质,你可以使用栈的方式存储内容,效果非常的棒!在head中连接脚本,同事把回调函数放到footer里。 Slinky.js Slinky.js 是一个用于创建优雅的带堆叠头的滚动导航列表的jQuery插件。当你在浏览器上体验它的时候,它会创建了一个类似移动设备的环境。因为它是轻量级的(大约1KB),它能带给你一个平滑的令人舒适的体验,并且它能与你最喜爱的浏览器的最新版本兼容。 用法: 在jQuery之后,使用script标签引入下载的文件,然后在你想激活Slinky的jQuery元素上调用.slinky()方法。 GoalProgress GoalProgress是一个允许你使用jQuery创建一个动画进度条的插件。填入必填项后,该插件会自动计算你当前的进度,并且用动画效果展示进度条。你可以在显示的数字前后指定显示文字。在各种事件或者活动的捐赠活动上,用该插件来显示捐赠情况是非常棒的。 用法: 你所需要做的就是引用该脚本的样式文件,在页面上创建一个空的html div元素然后初始化该脚本即可。 表单与输入类 Card 如果你在开发一个电子商务项目,这款轻量级却优美的代码片段就是你所需要的。Card 仅仅用一行的代码,你就能展现出用户需要输入的信用卡信息。创建支持4种卡的动画效果,给用户提供直观的体验,所有这一切都是免费与开源的。 如何使用: 在你的HTML中包含并引用需要的文件。初始化脚本然后在你的当前表单中创建或者替换输入的值,从而让它们具有响应式的样式。 Unibox Unibox是一款jQuery插件,它支持通用的搜索框用来提供基于查询的搜索提示。它提供丰富多样的内容展现方式-从链接到图片或者任何其他元数据-这些在用户提交标签后都会被展示。 如何使用: Unibox的安装有一点点复杂但没那么困难。在需要配置的页面引入脚本和CSS文件,并且安装服务端/客户端插件。由于该插件的运行方式是提供搜索提示,所以你除了在客户端安装脚本,在服务端也需要有对应的数据格式来支持。 Vanillabox Vanillabox是一款简单又现代的lightbox式样的JQuery插件,能被用于轻松的建立起一个图像画廊。它有着简单、最小化的设计,适用于所有现代浏览器。它是许多相似功能的插件中安装简单、轻量级的一款,可被用于替换之前已用的插件。 如何使用: 安装非常简单。仅仅把script和css在<head>中导入然后调用脚本就行了。 Media ToneDen Player ToneDen是一款纯js定制的音频播放器。它有一个完全可定制的界面,给你一连串的配置项来提升你的听觉体验。简易简洁的界面是赏心悦目的,并且也不会在页面上带来任何的混乱。 如何使用: 由于展示和播放音乐的方式有许多不同,所以定制播放器的方法也有很多。当谈到播放器的配置项时候,开发者做了一个很棒的工作,使得可以容易的使用它,它确实是相当高级先进。使用脚本来满足基本的需求,或对照文档来使用更多高级的配置。 Pizza Pie Charts 这款代码片段允许你在任何设备上呈现出一个pizza样式的图表。它是一款使用简便的插件,既能和Zurb的响应式框架契合,也能作为单独的脚本而 工作。关于这个插件没有什么可以介绍的,因为它仅有的一个选项就是展示pie或者开发者所称的pizza图表。这款插件十分优秀、方便使用与自定义,以至 于在这篇文章中如果不把它包含进来就是个错误。 用法: 引用css和js文件,然后你就已经拥有了一个基本的pie图表,但是别忘了HTML。 导航类 Fly Side Menu 如果你想创建一个由Airbnb驱动的菜单,这款插件就是你所需要的。它完全免费,兼容主流浏览器与移动设备。 用法: 这款插件给了你一点实验与自定义的空间,但是谨记:基础的选项虽然某种意义上限制不少,但是对于简单场合还是够用了的。 Hashtabber Hashtabber 是一款用于hashchange驱动的标签式内容选择器的JavaScript插件。考虑到它也适用于移动设备,你有多种方式来利用这款插件。它包括了一些预设定的主题以及一些自定义的方法。 用法: 在HTML中分别链接各个文件,然后建立一个HashTabber的section。 Headhesive.js Headhesive.js创建一个按需粘性标题头( on-demand sticky header)。指定你想要固定的header,剩余的部分就会变得不可思议。使用很简单,有用的代码片段用于创建动画和粘性导航栏。 如何使用: 在你的文件夹里,提供了JavaScript文件和调用它们的脚注。   Anchorific.js Anchorific根据标题标签(header […]

龙生   04 Sep 2014
View Details

为应用程序设计的 10 个超酷的图标集

1. Dryicons Dryicons提供总数 500 个图标和 1700 个向量图标。   2. Raindropmemory 这组图标是由Raindropmemory设计 3. Glyphish Glyphish用于 iOS 应用的 Tab 条、导航条、表格等图标,也适用于其他手机平台。 4. Application Icon Set Application Icon Set有 10 个蓝色图标设计,特别使用 Web 应用,使用 3D 的设计效果 5. Smashingmagazine Smashingmagazine是由 Smashing 杂志设计的图标集 6. Monofactor Monofactor包含 25 个可缩放的 Illustrator 格式的图标 7. Sekkyumu 包含 105 个 32 x 32 的图标,主要用于工具栏 8. Mini Mini包含 144 个 GIF 小图标 9. Androidicons Androidicons主要用于安卓的应用。 10. Cute Blogging Icon Set Cute Blogging Icon Set是非常可爱的博客图标,可以让你的博客看起来很棒、专业而且有创意。 via developerslane FROM:http://www.oschina.net/news/54982/10-cool-icon-sets-for-app-design

龙生   04 Sep 2014
View Details

编程的真实样子

当我跟人说我是一个Web程序员,他们会认为我是个天才。当我告诉他们我工作的公司是编写火狐浏览器的,他们认为我跟上帝一样伟大。我可以想象,其 他的程序员也会跟我一样受到这样的待遇。这些话我并不是要跟自己说,或说给我们圈内人听,我说这些是因为很多圈外人对我们的编程没有任何概念。 甚至在业内,一些程序员对另外一些程序员也是高山仰止。在我的眼中,Mozilla公司里很多其他程序员简直就是传奇,而事实上,很多时候,他们真是。就是这个原因,我们程序员中很多人只才会患上骗子综合征,就是这个原因,我们才害怕加入OSS项目,害怕在开发大会上和明星程序员们站在一起。 下面这个漫画展示了人们眼中的编程生活和实际编程生活的区别: 我们经常会在编程时犯愚蠢的错误。我们整天盯着屏幕看,寻找一行让我们的应用无法启动的代码。我们诅咒浏览器为什么不能正常显示页面,却发现是一行明显的错误造成的。每个程序员都有这种时刻,冥思苦索是每天的例行活动。 这是程序员的真实生活。 英文原文标题是:The Truth About Programming Perception。 稿源:程序师网 FROM:http://www.oschina.net/news/54978/truth-programming-perception

龙生   04 Sep 2014
View Details