Fork me on GitHub

2013年9月21日

摘要: 对Map按key和value分别排序一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeMap的value排序。 Map.Entry返回Collectio 阅读全文
posted @ 2013-09-21 23:40 HackerVirus 阅读(287) 评论(0) 推荐(0)
摘要: 上篇博文:http://www.cnblogs.com/wolf-sun/p/3329558.html 介绍了客户端连接服务端,一对一,多对一的情况,下面实现服务器接收消息的功能。LZ这些弄的比较慢,也是边学习,边动手实现的。具体步骤在注释中写的比较清楚,不懂的可以留言,LZ会尽快回复。共同学习,共同进步。接收消息时机 什么时候接收消息?当服务器开始监听,有客户端连接,并且连接成功,此时负责通信的Socket已经创建,此时就可以接收消息了,可以通过Socket的Receive()方法接收消息。View Code// 摘要: // 从绑定的 System.Net.Socke... 阅读全文
posted @ 2013-09-21 23:33 HackerVirus 阅读(267) 评论(0) 推荐(0)
摘要: WinDBG调试.NET程序示例好不容易把环境打好了,一定要试试牛刀。我创建了一个极其简单的程序(如下)。让我们期待会有好的结果吧,阿门! using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { int a; string str; ... 阅读全文
posted @ 2013-09-21 23:05 HackerVirus 阅读(235) 评论(0) 推荐(1)
摘要: FAQ:仓储实现为什么在基础设施层?目录问答部分参考文章问答部分返回目录问:仓储实现为什么在基础设施层?答:领域模型包含三种元素:实体、值对象和服务,这三种元素都可以以某种形式使用仓储,为了保证领域的纯粹性,我们引入了仓储接口,仓储的具体实现在基础设施层中,仓储接口位于领域层中。问:仓储实现能在领域层吗?答:技术可以,从关注点分离上讲,仓储实现和领域模型有不同的关注点,视乎没有任何必要将他们划分到一个层,问:仓储接口能在基础设施层吗?答:技术上不可行(.NET中是如此),仓储接口依赖领域模型,领域模型依赖仓储接口,会存在双向依赖,在.NET中会编译不通过,在其他平台也不见得是好的选择。参考文章 阅读全文
posted @ 2013-09-21 22:33 HackerVirus 阅读(220) 评论(0) 推荐(0)
摘要: Please Send Me a Card发现身边很多程序员都能看懂英文技术文章的60%-80%内容,但大家都有一个毛病,就是不会说,不会写作,在逛英文技术社区的时候,想发表点什么评论,总担心自己写的话有错误。究其原因, 我觉得主要原因是因为平时生活中用得少。新概念英语第一册到第三册看似虽然简单,一篇课文貌似看下来几乎没有生词,而且都能看懂;但如果要你写这样简单的文章,你能和写中文一样写出来吗?或用英语讲一个这样的故事,你能流利的讲好它吗?如果不能,就和我一起从简单开始坚持学习新概念英语吧,每天背一篇,你在面试填写个人信息的时候,就可以信心满满地在英语听、说、读写能力的“优秀”勾选框上打勾了。 阅读全文
posted @ 2013-09-21 21:01 HackerVirus 阅读(312) 评论(0) 推荐(0)
摘要: Web API 入门指南 - 闲话安全2013-09-21 18:56 by 微软互联网开发支持,231阅读,3评论,收藏,编辑Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患、相关的防御技巧以及Web API提供的安全机制。目录Web API 安全概览安全隐患1. 注入(Injection)2. 无效认证和Session管理方式(Broken Authentication and Session Management)3. 跨站脚本(Cross-Site Scripting 阅读全文
posted @ 2013-09-21 20:47 HackerVirus 阅读(720) 评论(0) 推荐(0)
摘要: Node.js之绝对选择Posted on2013-09-20 13:01毕丹军阅读(2264) 评论(30)编辑收藏 几年前,完全放弃Asp.net,彻底脱离微软方向。Web开发,在公司团队中,一概使用Node.js、Mongodb、Git,替换Asp.net mvc、Sql server和Tfs。当时来看,这是高风险的决定。所有人都习惯了Asp.net,知识和技术积累也集中在这个方向。 表面看来,仅仅是我个人对多年跟从微软的厌烦,导致整个技术路线嘎然而止,从技术角度而言,团队由此南辕北辙。几年过去,各种辛苦和折腾,间或的彼此抱怨之后,我们终于天经地义的,习惯了新的方向,没有人再有回到A.. 阅读全文
posted @ 2013-09-21 20:45 HackerVirus 阅读(143) 评论(0) 推荐(0)
摘要: python学习,自己写了个简单聊天工具mychat最近在学习python,自己写了个最最简单的聊天工具mychatv0.1.第一版,完成基本的聊天功能。GUI用的是自带的TKinter,用到的模块主要就是socket(网络编程), thread(多线程)。还是面向过程的写法。接下来将进一步完善,面向对象,增加一些控件,做得更漂亮些。有兴趣的同学可以留言或mail,分享我的丑陋的源码.一起学习。email:randyxw@gmail.comweibo:http://www.weibo.com/u/3760094814---End---标签:Python 阅读全文
posted @ 2013-09-21 20:35 HackerVirus 阅读(371) 评论(0) 推荐(0)

2013年9月19日

摘要: 12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262.htmlA,局部变量的返回地址Q:下面的代码有问题吗?如果有,如何修改??#includeint* inc(intval){inta = val;a++;return&a;}intmain(void){inta = 10;int*val = inc(a);printf("\n Incremented value is equal to [%d] \n", *val);return0; 阅读全文
posted @ 2013-09-19 00:35 HackerVirus 阅读(215) 评论(0) 推荐(0)
摘要: 我是怎样理解闭包的渐入闭包假设有这个需求,写个函数,动态生成HTML,每次生成的 HTML有一部分的是固定不变的。于是function buildHtml() { var template = ['', '', '', '', '']; template[1] = args[0]; template[3] = args[1]; return template.join('');}分析下,每次执行函数时,都会重复定义个template,执行完函数后,这个变量就被销毁;这样重复定义销毁,肯定对性能不好, 阅读全文
posted @ 2013-09-19 00:22 HackerVirus 阅读(225) 评论(0) 推荐(0)