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

子域名里有下划线会影响IE下Session丢失

问题重现: 1.公司的一个项目上线后想部署一个测试环境,于是域名就命名为http://test_mj.renrengy.com。但问题来了:登录界面的验证码一直提示过期。   2.代码完全一样,于是开始怀疑是服务器的设置,于是把IIS的设置设置为一样,但问题依旧。 3.转念一样,只有IE下才有session丢失的问题,于是度娘一下,网上说IE10以后有丢session的传统,于是按照解决方法打补丁,可问题依旧。 4.但正式环境是正常的,于是给测试环境加了IP和端口,居然正常了。 5.看来是域名的问题,马上想到是不是下划线的问题,去掉后一切正常。   疑问: 1.为什么只有IE请求时才有此问题? 2.客户端也会影响到session?  

龙生   27 Jan 2014
View Details

给开发者准备的 10 款最好的 jQuery 日历插件

这篇文章介绍的是 10 款最棒而且又很有用的 jQuery 日历插件,允许开发者们把这些漂亮的日历插件结合到自己的网站中。这些日历插件易用性都很强,轻轻松松的就可以把漂亮的日历插件装饰到你的网站了。希望下 面的插件列表能给予你一定的帮助,让你的 web 开发更快更好。旧版本的日历插件和下拉框已经被淘汰啦,好好欣赏 jQuery 日历插件给你带来的强烈视觉冲击吧! 1. CLNDR.js CLNDR.js 是一个日历插件,用来创建日历,允许用户随意的按照自己的想法去自定义日历。这个插件不会生成任何的标记,但是可以使用数据来填充 Underscore.js HTML 模版(产生下划线)。它提供一些很有帮助的选项,确定星期的推移,初始加载时显示日历,点击事件(像 下一个或者是前一个月)等等功能。 2. jQuery Verbose Calendar jQuery Verbose Calendar 是个日历插件,,提供优雅的用户界面和轻松的日期滚动切换。它同时显示一年的所有月份和具体日期。一旦加载就会自动滚动到“今天”并显示当天的日期,需要 鼠标放在日期上面才会提示是星期几。除此之外,这款日历插件可以通过单个函数插入到任何 HTML 元素中。虽然这款插件只有很少的参数可以自定义,但是当点击日期的时候可以添加自定义的回调内容。 3. wdCalendar wdCalendar (JQuery Event Calendar Plugin)是 Google Calendar 的一个克隆,基于jQuery实现。包含Google日历的大部分功能包括:提供按天/周/月查看视图;支持通过拖拉的方式创建/更新 /删除事件;功能丰富的 API;易于给合数据库一起使用。通常,处理持续很多天的事件是很复杂的,但是 wdCalendar 能在这些都做的很好! 4. CalendarPicker CalendarPicker 是一个 jQuery 插件,用来创建好看的外观和漂亮的原始日期选择器。它提供多个下一个或者上一个日期,月份或者是年份的选择,可以快速的选择相应的日期。除此之外,它支持 鼠标滚轮滚动的来控制上一个或者下一个按钮(使用鼠标滚轮插件)。日期选择器会默认显示当前的日期,或者加载任何一个已经选择的日期。日期和月份的名字是 可选的,用户可以自定义相应的漂亮多语言界面。 5. jMonthCalendar jMonthCalendar 是显示整整一个月的日历,支持添加相应的事件。用户可以用选项和简单的事件数组来初始化日历,后面的事情就可以交给 jMonthCalendar 了。这是个 jQuery 日历插件,带有扩展的功能,允许开发者与日历有很好的交互,比如当日历显示要修改月份的时候,或者是显示修改后的月份和点击日历事件之后。 jMonthCalender 现在支持 hover 扩展功能,鼠标在事件徘徊的时候就会触发事件。默认的时候,时间都会伴随有 URL 超链接,用户点击可以链接到详细信息的页面。 6. Full Calendar FullCalendar 是个jQuery 插件,提供完整大小的,可拖拽的日历,就像上图一样的日历。它使用 AJAX 来获取每月事件的动态i,而且很容易使用自己喜欢的格式去配置日历(Google Calendar 提供的扩展功能)。用户可以自定义它的外观,自定义触发事件之后的行为(比如,点击,拖拽事件等等)。 7. Cal-Heatmap Cal-Heatmap 是个 javascript 模块,用来创建日历热图。这个模块可以帮助用户创建一个日历,就像 github 用户的贡献日历一样,不同的是 Cal-Heatmap 有导航和其他很多的数据格式控件。 8. gIDatePicker glDatePicker 是个简单,自定义,轻量级的日期选择器 jQuery 日历插件。gIDatePicker 压缩之后大小只有 4KB(没压缩是 11 KB)。它包括了前进和后退导航,当前日期高亮显示,限制日期的选择,每个日期选择器都有各自的风格,显示用户当前选择的日期。 9. jQuery Frontier Calendar […]

龙生   27 Jan 2014
View Details

使用子查询可提升 COUNT DISTINCT 速度 50 倍

注:这些技术是通用的,只不过我们选择使用Postgres的语法。使用独特的pgAdminIII生成解释图形。 很有用,但太慢 Count distinct是SQL分析时的祸根,因此它是我第一篇博客的不二选择。 首先:如果你有一个大的且能够容忍不精确的数据集,那像HyperLogLog这样的概率计数器应该是你最好的选择。(我们会在以后的博客中谈到HyperLogLog。)但对于需要快速、精准答案的查询,一些简单的子查询可以节省你很多时间。 让我们以我们一直使用的一个简单查询开始:哪个图表的用户访问量最大? 1 select 2   dashboards.name,  3   count(distinct time_on_site_logs.user_id) 4 from time_on_site_logs  5 join dashboards on time_on_site_logs.dashboard_id = dashboards.id 6 group by name 7 order by count desc   首先,我们假设user_id和dashboard_id上已经设置了索引,且有比图表和用户数多得多的日志条目。 一千万行数据时,查询需要48秒。要知道原因让我们看一下SQL解析: 它慢是因为数据库遍历了所有日志以及所有的图表,然后join它们,再将它们排序,这些都在真正的group和分组和聚合工作之前。 先聚合,然后Join group-聚合后的任何工作代价都要低,因为数据量会更小。group-聚合时我们不需使用dashboards.name,我们也可以先在数据库上做聚集,在join之前: 01 select 02   dashboards.name, 03   log_counts.ct 04 from dashboards 05 join ( 06   select 07     dashboard_id, 08     count(distinct user_id) as ct 09   from time_on_site_logs  10   group by dashboard_id 11 ) as log_counts  12 on log_counts.dashboard_id = dashboards.id 13 order by log_counts.ct desc   现在查询运行了20秒,提升了2.4倍。再次通过解析来看一下原因: 正如设计的,group-聚合在join之前。而且,额外的我们可以利用time_on_site_logs表里的索引。   首先,缩小数据集 我们可以做的更好。通过在整个日志表上group-聚合,我们处理了数据库中很多不必要的数据。Count distinct为每个group生成一个哈希——在本次环境中为每个dashboard_id——来跟踪哪些bucket中的哪些值已经检查过。 我们可以预先计算差异,而不是处理全部数据,这样只需要一个哈希集合。然后我们在此基础上做一个简单的聚集即可。 01 select 02   dashboards.name, 03   log_counts.ct 04 from dashboards  05 join ( 06   select distinct_logs.dashboard_id,  07   count(1) as ct 08   from ( 09     select distinct dashboard_id, user_id 10     from time_on_site_logs 11   ) as distinct_logs 12   group by distinct_logs.dashboard_id 13 ) as log_counts  14 on log_counts.dashboard_id = dashboards.id […]

龙生   27 Jan 2014
View Details

win7系统 ping得通,网页打不开 QQ也不能打开

1.点击“开始菜单”,在“搜索程序和文件”框中输入cmd.exe,出现下图:

2.在cmd.exe图标上点击鼠标右键,在弹出的菜单中选择“以管理员身份运行”,如下图:

3.弹出UAC窗口,点击“允许”.

4.在cmd.exe程序中输入:netsh winsock reset

5.运行完成以后,按照提示,重新启动计算机.

6.重启电脑后,会弹出一个橙色提示框,请选择“允许此程序”,点击“确认”。

7.重新启动计算机

转自:http://zhidao.baidu.com/link?url=cwzYfJPeCK3WG5VUgtlDqMJDNcfXeP5i_YExQBOAQkfMeJaRy5VIcCtq9LxQVTNohtLYnYEJ99K2glNrjrg8ha