摘要: "); background-size: contain; background-repeat: no-repeat; background-position: bottom;}.octicon-link:before{ content:'\a0';}body h1,body h2,body h3,body h4,body h5,body h6{ margin:1em 0 15px; padding:0; font-weight:bold; line-height:1.7; cursor:text; position:relative}body h1 .octicon 阅读全文
posted @ 2014-03-14 10:33 StanZhai 阅读(4920) 评论(0) 推荐(0) 编辑
摘要: 看过不少文章说Mac是了不起的先进操作系统,爱折腾的我,经不住诱惑,也玩起了Mac,用惯了Windows,突然换到Mac下还真是十分不习惯,就连复制粘贴这种简单操作也觉得很是别扭。用过一段时间才感觉,使用Mac是不能搬Windows的使用习惯的,琢磨一下Mac的设计,其实还是很人性化的,习惯了Mac的操作,就好了。## 日常使用技巧- 输入法切换:Cmd+Space- 剪贴板操作:Cmd+X剪切,Cmd+C复制,Cmd+V粘贴- 快速预览文件:选中文件,直接按回车,这个不得不说很人性化- 重命名文件:选中文件,敲回车,不是windows的F2哦- Finder文件自动排序:在文件夹右击,按Op 阅读全文
posted @ 2014-02-16 12:33 StanZhai 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 为什么要做正文提取一般做舆情分析,都会涉及到网页正文内容提取。对于分析而言,有价值的信息是正文部分,大多数情况下,为了便于分析,需要将网页中和正文不相干的部分给剔除。可以说正文提取的好坏,直接影响了分析结果的好坏。对于特定的网站,我们可以分析其html结构,根据其结构来获取正文信息。先看一下下面这张... 阅读全文
posted @ 2014-01-07 07:11 StanZhai 阅读(44444) 评论(92) 推荐(66) 编辑
摘要: 项目背景最近忙着给部门开发一套交互式的报表系统,来替换原有的静态报表系统。老系统是基于dotnetCHARTING开发的,dotnetCHARTING的优势是图表类型丰富,接口调用简单,使用时只需绑定数据源即可(指定连接字符和sql语句,简单的配置一下就能出图),支持生成静态图表图片;缺点就是生成好的图是图片,传到了前台就失去了交互性(当然它还提供了一个jsCharting,不过感觉交互性做的还是不够好),再有就是这东东是收费的呀,用的话需要折腾破解版本。我最终选择了Highcharts(Interactive JavaScript charts for your webpage)来展现前台图 阅读全文
posted @ 2014-01-06 11:36 StanZhai 阅读(8193) 评论(12) 推荐(6) 编辑
摘要: 场景最近对爬虫的数据库架构做调整,需要将数据迁移到MongoDB上去,需要重新实现一个针对MongoDB的Dao泛型类,好吧,动手开工,当实现删除操作的时候问题来了。我们的删除操作定义如下:void Delete(TEntity entity)。TEntity是我们的泛型类。而MongoDB官方驱动自带的删除操作是这样的:123// 假设数据模型为已定义的Articlevar query = Query.EQ(t => t.Id, id);coll.Remove(query);Dao操作的接口是不能修改的,这就要求我们必须实现以下操作:获取entity的Id值构造lambda表达式用于获 阅读全文
posted @ 2014-01-04 14:12 StanZhai 阅读(3169) 评论(7) 推荐(1) 编辑
摘要: 应用场景我们开发的控制台应用,在运行阶段很有可能被用户Ctrl+C终止或是被用户直接关闭。如果我们不希望用户通过Ctrl+C终止我们的程序,就需要对Ctrl+C或关闭事件作处理。处理方法在.net平台下Console类有个CancelKeyPress事件可以处理Ctrl+C,不过对于直接关闭控制台应用,这种处理就无能为力了。不过Windows API中有个SetConsoleCtrlHandler函数可以处理这两种关闭事件。C#处理代码如下:1234567891011121314151617181920212223242526272829303132static class Program{ 阅读全文
posted @ 2014-01-03 12:07 StanZhai 阅读(15599) 评论(6) 推荐(7) 编辑
摘要: 记得前段时间帮同事写了个解析账号并入库的小工具,来批量导入账号信息,账号量相当大,程序每读取一条记录便执行一次insert来插入数据,整整跑了一下午才把账号全部入库。今天又接到同事类似的需求,不过这次的账号量更大,考虑到上次遇到的问题,这次打算采用某种方案来提高插入数据的性能。了解了下SQLServer批量插入数据的技术,主要有两种:Bulk和表值参数(SQLServer 2008的特性),这两种方式相比循环使用insert插入数据,效率和性能明显上升。使用表值参数带来的提升更为显著。使用表值参数插入数据的一个例子1234567891011121314151617181920212223242 阅读全文
posted @ 2014-01-03 11:56 StanZhai 阅读(2004) 评论(0) 推荐(2) 编辑
摘要: 从Gist上发现的,挺全的IMPORTANT! Remember to check out the wiki page at https://github.com/bebraw/jswiki/wiki/Game-Engines for the most up to date version. There's also a "notes" column in the table but it simply does not fit there... Check out the raw version to see it.This table contains prim 阅读全文
posted @ 2014-01-03 11:40 StanZhai 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 在使用 Git 的过程中,有时会不小心丢失 commit 信息。这一般出现在以下情况下:强制删除了一个分支而后又想重新使用这个分支,hard-reset 了一个分支从而丢弃了分支的部分 commit。如果这真的发生了,有什么办法把丢失的 commit 找回来呢?通常最快捷的办法是使用 git reflog 工具。当你 (在一个仓库下) 工作时,Git 会在你每次修改了 HEAD 时悄悄地将改动记录下来。当你提交或修改分支时,reflog 就会更新。gitupdate-ref 命令也可以更新 reflog。1.先用reflog看看记录的所有HEAD的历史: git reflog 2.然后找到那. 阅读全文
posted @ 2014-01-02 23:57 StanZhai 阅读(5322) 评论(0) 推荐(0) 编辑
摘要: 准备我们使用CookComputing.XmlRpcServerV2 3.0.0来构建XmlRpc服务器。新建一个控制台项目,在项目中添加对CookComputing.XmlRpcServerV2 3.0.0的引用,可以使用nuget来安装。12PM> Install-Package xmlrpcnetPM> Install-Package xmlrpcnet-server编写服务我这里写了个非常简单的服务,代码如下:12345678public class SimpleService : XmlRpcListenerService{ [XmlRpcMethod] public i 阅读全文
posted @ 2014-01-02 21:56 StanZhai 阅读(1950) 评论(7) 推荐(5) 编辑