技术

技术

Entity Framework Code First 两个字段关联到同一张表

之前也遇到过类似的问题,属于Code First中稍微复杂点的关系处理,现将解决方法记录下来。 场景: 某网上书城欲推出书券功能,书券购买之后,会有一个唯一的Id,可用来直接兑换某本书。书券可以自己兑换,也可以将ID送给朋友来兑换。现在我们需要将书券的购买者和兑换者都记录下来。 类的设计和注意事项: public class BookCoupon { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] [Index("BookCouponIdIndex")] public Guid BookCouponId { get; set; } [Index("BookIdIndex")] public int BookId { get; set; } [ForeignKey("BookId")] public virtual Book Book { get; set; } [Index("

技术

Windows关屏小工具

有时候下班的时候不想关机,有很多原因,比如有N个网页Tab开着,有些可能还需要进一步查阅,关了的话从历史里不太好找,又或者,VS开着调试,没做完,而第二天重新跑一下要很久。于是便有了挂机。可是公然挂机其实并不好,公司有规定下班自觉关机。按显示器按钮太LOW,高端人士怎么能用这么粗鲁的方法呢!以前我用的是设置Windows关屏时间,5分钟不动鼠标就关闭屏幕。这个坏处是不够及时。有什么办法能立马关闭屏幕呢?于是找到了如下代码: #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) #include <windows.h> int main() { ::SendMessageA(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)2); ::Sleep(200)

技术

跨站点迁移多说评论

近日在捣鼓HADB.ME [https://hadb.me/]的个人博客,之前所有的博客都在blog.haoest.com [http://blog.haoest.com/]里,如今想把一些技术分享以及个人的小结什么的单独抽出来放到HADB.ME [https://hadb.me/] 里,而和好易思特有关的博客还放在blog.haoest.com [http://blog.haoest.com/]里。这涉及到一个问题,那就是要将原先多说里属于 blog.haoest.com [http://blog.haoest.com/]的评论移动到HADB.ME [https://hadb.me/]里。 经过思考,发现可以这么搞。在多说blog.haoest.com [http://blog.

技术

在GitHub上为Hexo配置自定义域名

昨天尝试了下Hexo,感觉很酷。主要有以下几个特点: 1. 无需数据库,所有文章都可以基于git来存储 2. 纯静态,在编写好文章之后,生成静态文件,对服务器基本没要求 3. 部署简单,hexo generate --deploy,轻松完成生成、部署功能 4. 主题丰富,界面简洁,相比臃肿的WordPress,爽多了 安装很简单,按照这里 [http://hexo.io/docs/] 的教程,进行就可以了。前提是确保npm和git功能都能用就行。我主要分享一下在配置自定义域名所遇到的问题。 我是将其部署到GitHub上的,没有采用hadb.github.io作为repo名,因为我是想将网站叫做HADB.ME,所以我就创建了一个HADB.ME的repo。这和使用hadb.github.io有点区别。 使用hadb.github.io的话,master分支是作为页面显示的分支的,而使用HADB.ME的话,

技术

IIS下WordPress中文URL无法访问的解决方法

这个问题是因为IIS和wordpress对url的编码不一致的问题,导致传到wordpress里的URL中的中文是乱码,所以wordpress无法给出正确的页面。解决方法很简单: 在网站根目录下建立一个php文件,名字自定,例如chineseUrl.php,内容如下: <?php if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) { // IIS Mod-Rewrite $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL']; } else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { // IIS Isapi_Rewrite $_SERVER['REQUEST_

技术

设置Win8文件资源管理器默认打开我的电脑

在Win8中,任务栏上的文件资源管理器默认打开的是“库”,而我找文件的习惯是直接从我的电脑开始,库的功能用的并不多,因为我的文件放置都很有条理。怎么做呢?其实很简单。 Shift+右键资源管理器的图标,会弹出此快捷方式的右键菜单,而不是JumpList菜单,如下图。至于JumpList是什么,不必深究。 在快捷方式属性里,将目标改为explorer.exe shell:MyComputerFolder,确定即可。 by 邓斌HADB, HAOest 2013-8-18上午于成都

技术

工行插件导致Chrome下方有莫名空行的问题

今天在调试自己的网页的时候,发现浏览器下方总是有一行20px高度的空格,见下图: 找来找去发现我并没有这样的padding或者margin,后来发现,html最后面竟然多了这么个DIV: <div> <object id="ClCache" click="sendMsg" host="" width="0" height="0"> </object> </div> 不服气百度一下,发现这个是由于工行插件ICBCChromeExtension导致的,停用插件,问题解决。 我只想说,工行你太坑爹了!

技术

为WordPress主题添加阅读统计的功能

今天为星际2战术资源站和本博客的主题添加了一个阅读统计的功能,效果如下图: 我是采用子主题的方式,在子主题中添加functions.php文件,在里面加入下面两个函数: <?php /* 访问计数 */ function record_visitors() { if (is_singular()) { global $post; $post_ID = $post->ID; if($post_ID) { $post_views = (int)get_post_meta($post_ID, 'views', true); if(!update_post_meta($post_ID, 'views', ($post_views+1))) { add_

技术

Win8应用开发学习记录——Logo设计

Surface Pro到手也有一段时间了,也把玩了这么些天,今天终于开始来写Win8的应用了。 环境搭建什么的就不详述了,Windows 8 Pro+Visual Studio 2012。 我想做的是Win8上的二维码应用,应用商店里有不少,但良莠不齐,大多都是英文的,中文的寥寥无几,而且质量都比较差。所以我准备做一款优秀的QR Code For Win8的应用。 一个好的应用,很重要的一点是用户体验,而用户体验的第一点就是Logo,尤其在Win8界面下,Logo是尤为重要的,下面是几个应用商店中我认为很不合格的Logo: (以下是在应用商店里搜索Qr Code出现的第一列应用) 除了“Magnet QR Code Generator”勉强符合Win8风格外,其余均是不合格的。不合格原因是五颜六色或者过于杂乱。 说到二维码,第一感觉自然是以二维码本身作为Logo最为直观,我起初也是这样的打算,下面是我的第一个想法: 想法是,QR Code For Win8,于是中间一个Win8的标志,外面是二维码,二维码本身采用的是“http:

技术

虚拟主机如何禁止目录访问

之前http://www.haoest.com/上有一个bug,最早的时候,我有个Wordpress的Page,固定链接是 http://www.haoest.com/products/,然后有一些Page是在products下的,如 http://www.haoest.com/products/capture-show/。原本是没有什么问题的。但是后来,为了减少子域名数量,我不想建立太多诸如 http://listmanager.haoest.com/这样的网站,而改为 http://www.haoest.com/products/listmanager/ 这样的形式,把这些独立的站点都放到products文件夹里。只给一些重要的产品设置单独的子域名,因为我这个虚拟主机的子域名数量是有限的。但自从建立了products文件夹之后,问题出现了。 打开http://www.haoest.com/products/之后并不是显示原来的products的那个page,而是显示一个Index

技术

卸载Orbit之后Chrome下载仍指向Orbit的解决方法

之前使用过Orbit,外国的一款P2P下载软件,比较优秀精简,大可替代迅雷。我之前用它是使用他的Grab++功能,可以捕捉own3D上的视频,这个让我用得很爽。说起迅雷,我总是很不爽,迅雷的界面实在是太土了,一味追求绚丽的效果,界面总是卡死,这一点上,Orbit实在是好多了,简洁的界面,从不会卡死。然而,迅雷在国内的下载速度确实是应该比Orbit好一点,具体我也没有去测试,可以确定的是Orbit是不会在后台默默上传的,所以相对来说,可能下载速度会稍微差一点点。所以后来我也就不用了,卸载了。 然而,卸载之后却发生了问题,我在Chrome下直接点击一些链接,还是会出现“Download transferred to Orbit Downloader. Click ‘Previous’ to go back and keep browsing.”,如下图: 导致我一直以为我没有卸载Orbit,后来我找来找去,都找不到Orbit的卸载文件,也找不到它的安装目录,我想,应该是卸载了的呀!后来一想,