使用D3js绘制Force-Directed Graph(力导向图)

Force-directed(力导向)图形绘制算法通过图形本身的结构(图中顶点与边的拓扑关系)计算出图形的层次,而不依赖于特定领域的知识。使用力导向算法绘制的平面图形通常比较美观,并且图中各条边之间的交叉尽可能的少。

本文对使用D3js绘制Foorce-Directed Graph(力导向图)的过程进行简要的介绍,以下面的逻辑图(包含6个节点和5条边)为例。

import json
#nodes为图的节点集合
nodes = [{'name' : 'nodeA'}, 
         {'name' : 'nodeB'}, 
         {'name' : 'nodeC'}, 
         {'name' : 'nodeD'}, 
         {'name' : 'nodeE'}, 
         {'name' : 'nodeF'}]
#links为图的边集合,source为起点,target为终点
links = [{'source' : 0 , 'target' : 1}, 
         {'source ...

继续阅读

百度CDN跨域引用Bootstrap Glyphicons字体异常

使用百度前端公共库CDN服务(http://libs.baidu.com)的站长需要引起注意:

如果站点引用了百度CDN提供的Bootstrap Glyphicons字体,在使用较新版本的浏览器(包括Chrome 38+,Firefox 33+,以及IE 11等)访问这些包含Glyphicons字体的页面时,会无法正确显示Bootstrap Glyphicons字体。

使用BootCDN服务(https://www.bootcdn.cn/)替换百度公共库CDN服务,可以解决上述问题。

通过Chrome浏览器开发者工具的Network选项卡查看资源请求,可见glyphicons字体文件的请求响应出现异常。

测试页面的代码如下:

<html>
  <head>
    <script src="http://libs.baidu.com/jquery/1.10.2 ...

继续阅读

如何查看Oracle物化视图(MVIEW)的刷新起始时间和结束时间

DBA_MVIEWS的LAST_REFRESH_DATE字段或者DBA_MVIEW_REFRESH_TIMES的LAST_REFRESH字段记录了Oracle物化视图刷新的起始时间。但如果我们想查看物化视图的刷新到底花费了多长时间,应该怎么做呢。其实,我们可以查询DBA_MVIEW_ANALYSIS。

对于完全刷新(Complete),刷新耗时会记录在DBA_MVIEW_ANALYSIS的FULLREFRESHTIM列中。而对于可快速刷新(Fast)的时间,会记录在INCREFRESHTIM列中。
这两个值的单位都是秒。

SELECT mview_name, last_refresh_date, fullrefreshtim, increfreshtim
FROM dba_mview_analysis
WHERE owner='JOHN';
MVIEW_NAME               LAST_REFRESH_DATE      FULLREFRESHTIM INCREFRESHTIM
------------------------ ---------------------- -------------- -------------
MV_CHANGE_HISTORY        07-JAN-13 04.36.58 PM               0            36
MV_ITEM_HISTORY          07-JAN-13 04.36.58 ...

继续阅读

Discuz升级3.x社区银行插件金钱同步问题解决方案

原文链接:Discuz升级3.x社区银行插件金钱同步问题解决方案

在Discuz 2.x版本安装社区银行插件版本2.2(http://addon.discuz.com/?@bank_ane.plugin)可以正常使用

但是,升级Discuz版本到3.x之后,社区银行插件存取款金额与用户显示金额出现不同步的问题,导致插件无法正常使用。

问题描述参阅:http://www.discuz.net/thread-3484982-1-1.html

社区银行插件:当我存金币时,理应减少我个人账户的金币,取金币时应该增加个人账户金币,两者都无反应。
我升级到3.0后,才发现此问题,升级到3.1后,也一样,插件卸载删除目录后重装,问题依旧。
在用户存款时候他处理了几个事情 ...

继续阅读

清空OpenShift Git仓库历史记录还原为初始状态

本文简述清空OpenShift Git仓库历史记录,还原Git仓库为初始状态的步骤。

由于该操作存在风险,因此请预先对OpenShift线上代码做好备份工作。

cp -R <old locally cloned repo directory> <new directory name>

具体步骤如下:

  1. ssh into your gear
  2. cd git
  3. rm -rf [appname].git # 该操作会删除所有文件,除了目录 [appname].git/hooks 及其子文件
  4. cd [appname].git
  5. git init --bare
  6. exit this ...

继续阅读