摘要:
上回写了关于SecureString的特征和为什么我们要使用它,这篇继续研究研究这个SecureString。**主要内容:**- SecureString与String之间的转换- SecureString的基本操作- 如何销毁一个String?##SecureString与String之间的转换###SecureString --> String的转换我们可以使用[Marshal类](http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal(v=vs.110).aspx)提供的一些方法 阅读全文
摘要:
不负责翻译,如有错误概不负责,很多统计概率知识可能翻译有误。原文出处:http://danbirken.com/statistics/2013/11/19/ways-to-make-fake-data-look-meaningful.html一.千万不要透露原始数据如果你想用你的数据去忽悠别人,只要把结论告诉他们就行了,千万不要把你的原始数据也给他们。如果说你的原始数据需要一定的访问权限或者包含一些商业机密那就更好了。当你试图忽悠别人的时候,你最不愿意看到就是允许别人去分析甚至质疑你的结论。二. 不要透露你的分析方法数据的来源是哪?你是如何收集数据的?你是如何对数据进行采样的?当你遇到这些问题 阅读全文
摘要:
客官请听题,请写一段代码从控制台上读取用户输入密码。不过有几点在实现的时候需要特别注意:1. 最基本的是用户输入的不应该直接明文显示出来,需要用特殊字符显示。2. 不要用明文储存用户输入的密码。3. 要考虑到一些特殊按键的输入。自己写写试试看?下面是我的实现:private SecureString ReadPassword(){ ConsoleKeyInfo key; SecureString password = new SecureString(); key = Console.ReadKey(true); while (key.Key != ConsoleKey... 阅读全文
摘要:
Dispose模式是.NET中很基础也很重要的一个模式,今天重新复习一下相关的东西并记录下来。什么是Dispose模式?什么时候我们该为一个类型实现Dispose模式使用Dispose模式时应该注意什么?怎样实现一个Dispose模式?Dispose模式的例子什么是Dispose模式?要知道什么是Dispose模式必须先了解两个概念:资源和GC的基本原理。资源指的是一些类似于Windows句柄,数据库连接的非内存的一些本地资源,这些资源无法被运行时本身管理,需要程序员自己去申请和释放。当一些托管类型中对这些资源进行一定的封装的时候,我们就需要妥善的去处理他们,比如说在不用的时候释放到这些资源以 阅读全文
摘要:
Windows性能监视器是一个很好用的自带监视工具,对于一些基本简单的监视需求可以轻松满足。本文主要总结了一下如何将自己应用中的一些性能数据暴露到性能监视器上方便管理。什么?不知道什么是Windows性能监视器?“Microsoft管理控制台(MMC)管理单元,提供用于分析系统性能的工具。仅从一个单独的控制台,即可实时监视应用程序和硬件性能,自定义要在日志中收集的数据,定义警报和自动操作的阈值,生成报告以及以各种方式查看过去的性能数据。”- MSDN[1]使用场景需要记录自己开发的应用中一些性能方面的数据,比如说我有一个WCF的应用,我需要记录下来每分钟应用处理的请求数量,请求的平均处理时间。 阅读全文
摘要:
根据我观察我周边的一些.net和C++程序员,我发现一件很有趣的事情。当遇到一些复杂问题的时候,比如说需要分析一大批数据,不同的人会选择不同的方法。有一些人会选择使用自己熟悉的编程语言去写一个一次性的小程序,有一些人会选择使用脚本语言写一段脚本去分析,有一些人则会想办法去用强大的excel去解决问题。根据我的小样本观察,厉害一点的人往往会选择脚本,或者直接用一些excel公式去快速的得出一个结果。其他人则会选择使用自己熟悉的语言,比如说C#去写一个小程序进行处理,最终还是能够得到结果,不过花的时间可能会久一点,写的代码多了一点。但是这些人往往自我感觉良好,因为自己刚刚写出来一个小程序能够统计出 阅读全文
摘要:
没想到上一篇文章有这么多人喜欢,多谢大家支持。继续~很多比较通用的快捷键的默认设置其实是有一些缩写在里面的,这个估计也是MS帮助我们记忆。比如说注释代码的快捷键是Ctrl + E + C,我们如果知道它是 Ctrl + Edit + Comment Code 的缩写不是更好记么?我也会尽量YY把快捷键和功能联系起来来帮助我自己记忆。另外很多功能在VS中有多个快捷键可以实现,我猜是为了防止一些快捷键冲突所设计的吧,我一般只会去记好记的,冲突了再说。三、继续更有效率的编辑器3.1 更有效的编辑(补充)a. 注释代码:Ctrl + E(Edit) + C(Comment), Ctrl + K + C 阅读全文
摘要:
工欲善其事,必先利其器。虽然说Vim和Emacs是神器,但是对于使用Visual Studio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,像使用Vim一样使用Visual Studio。当然,如果想真正像使用Vim一样使用Visual Studio可以安装这个插件:VsVim,只支持VS2010+。下面我会总结一些我觉得大家平时可能不怎么知道的但是又很好用的一些VS的快捷键和使用技巧。如果您是大牛那不需要看了,哈哈。个人知识有限如果大家还有什么比较实用的快捷键,欢迎分享。因为不像Vim有Normal,Insert两种模式,所以VS快捷键的特点就是需要 阅读全文
摘要:
PDB全称Program Database,不知道中文翻译叫什么。相信使用过VS的人对于这个拓展名的文件不会陌生,这个文件主要会存储对应模块(dll或者exe)内部的所有符号,以及符号对应的地址、文件名和行号。这个文件会在我们调试的时候被使用到,这个东西可以理解为调试的时候应用程序和源文件之间的一个桥梁。正是归功于这个文件,我们才能在debug的时候看到程序当前执行相对应的代码和监视到一些变量。PDB文件什么时候产生?PDB文件是在我们编译工程的时候产生的,它是和对应的模块(exe或dll)一起生成出来的。我们一般可能不会意识到PDB文件的重要性,因为如果只是我们本地进行开发,我们总是能够进行 阅读全文
摘要:
相信在VC下调试过代码的同学都遇到过这种情况,想看一个字符串的值,结果发现显示的是一串长长的” 烫烫烫烫烫烫烫烫”或“屯屯屯屯屯屯屯屯屯屯屯”,囧!在Visual Studio中的Debug模式下,如果声明一个变量,但是没有初始化,微软会给未初始化的内存复制为0xCC。给为初始化的内存赋0xCC是有... 阅读全文