12 2012 档案

Windows下C++的同步机制的演变
摘要:Windows with C++ - The Evolution of Synchronization in Windows and C++介绍了如下概念:critical sectionmutexeventslim reader/writer lockcondition variableC++11的mutex和condition_variable 阅读全文

posted @ 2012-12-28 13:51 fresky 阅读(182) 评论(0) 推荐(0) 编辑

什么情况下要替换C++自带的new和delete
摘要:c++ - Why would one replace default new and delete operators? - Stack Overflow用来检测用户错误,比如(1)new的时候可以记录所有new出来的地址,然后用户忘记delete时帮用户delete(2)new出地址时前后放一些记号,防止overrun和underrun用来提高效率用来收集统计数据,比如(1)地址分布,生存期分... 阅读全文

posted @ 2012-12-28 11:26 fresky 阅读(362) 评论(0) 推荐(0) 编辑

怎么回答哪个更快的问题
摘要:Which is faster? | Fabulous Adventures In Coding1. 为什么问?你该自己测试一下2. 真的需要知道吗?等你遇到performance问题时再考虑3. 这真的是瓶颈吗?4. 哪个快哪个慢重要吗?5. 更快是什么意思?启动速度还是运行速度?最坏情况下还是正常情况下?6. 你看到big picture了吗?除了速度还有很多别的东西,比如内存。 阅读全文

posted @ 2012-12-28 10:35 fresky 阅读(122) 评论(0) 推荐(0) 编辑

C#的内存模型和并发情况下受到的影响
摘要:C# - The C# Memory Model in Theory and Practice讲了C#的内存模型和在并发下的影响。内存操作重排:当一个线程读一段内存,如果这段内存同时被另外一个线程写,那么读的线程有可能拿到一个不新鲜的值。用volatile关键字可以限制内存重拍。原子读写操作:reference,bool,char,byte,sbyte,short,ushort,unit,int,... 阅读全文

posted @ 2012-12-26 18:00 fresky 阅读(307) 评论(0) 推荐(0) 编辑

玩大数据需要知道的12个工具
摘要:A programmer’s guide to big data: 12 tools to know — Data | GigaOM包括:1. BitDeli2. Continuuity3. Flurry4. Google Prediction API5. Infochimps6. Keen IO7. Kontagent8. Mortar Data9. Placed Analytics10. Pr... 阅读全文

posted @ 2012-12-25 17:36 fresky 阅读(168) 评论(0) 推荐(0) 编辑

用python替代javascript?
摘要:Brython被设计来取代javascript,作为web使用的脚本语言,有兴趣的可以看一眼。 阅读全文

posted @ 2012-12-25 17:13 fresky 阅读(805) 评论(1) 推荐(0) 编辑

CoffeeScript, Ruby 和 C++的复杂度比较
摘要:C++, Ruby, CoffeeScript: a visual comparison of language complexity用concept的种类和个数来比较了一下三种语言的复杂度。 阅读全文

posted @ 2012-12-25 15:11 fresky 阅读(149) 评论(0) 推荐(0) 编辑

C#用extern alias解决两个assembly中相同的类型全名
摘要:如果你使用到的第三方库中有2个assembly中出现了完全一样的类型,C#中可以用extern alias来解决。 比如grid.dll和grid20.dll中都有一个类 Grid.SmallGrid,在我们的代码中必须通过命令行编译程序, csc /r:GridV1=grid.dll /r:GridV2=grid20.dll mygrid.cs在mygrid.cs中就能用exter... 阅读全文

posted @ 2012-12-24 23:50 fresky 阅读(2226) 评论(0) 推荐(4) 编辑

怎么看C++对象的内存结构 和 怎么解密C++的name mangling
摘要:Dumping a C++ object’s memory layout with Clang这篇文章讲述了怎么用Clang来看C++对象的结构,回复中Marek提到了怎么在Visual Studio中看。具体方法如下: C++项目右键属性,C/C++下的Command Line,加上这个选项 /d1reportAllClassLayout这样在编译时就会在output窗口看到所有的对象... 阅读全文

posted @ 2012-12-23 23:01 fresky 阅读(1622) 评论(0) 推荐(0) 编辑

C#中如何正确的实现IDisposable接口
摘要:Stackoverflow上的这个回答是我见过的讲的最清楚的怎么正确实现IDisposable接口,我简单挑重点翻译翻译吧。:)Disposed的出现就是要解决一个问题,那就是释放非托管的资源。.NET的垃圾回收不知道怎么去释放非托管的资源。所以,如果你的对象中有非托管的资源,你就需要提供一个函数给外面的人来释放它。我们有一个标准的名字:public void Dispose()在C#中有个接口,只包含了这个函数,所以如果你的类需要释放非托管资源,就需要实现这个接口,实现了这个借口,意味着你承诺在Dispose方法中释放非托管资源。public interface IDisposable{ . 阅读全文

posted @ 2012-12-23 22:20 fresky 阅读(1876) 评论(2) 推荐(2) 编辑

.NET中使用Unity和StructureMap来实现依赖注入Dependency Injection
摘要:本文用一个非常简单的示例来演示一下如何使用Unity和StructureMap在C#中实现Dependency Injection。 我们来做一个非常简单的程序,这个程序会把用户输入的字符串做个逆序,然后输出,同时要求记录一下每次用户的输入和结果,我们支持两种Logger,一种是命令行的,一种是对话框的,用户可以选择使用哪种Logger。 界面如下: 这个程序使用MVP来实现的,我们有4... 阅读全文

posted @ 2012-12-22 00:29 fresky 阅读(705) 评论(0) 推荐(0) 编辑

C#中把null作为参数传过去会调用哪个overload?
摘要:Stack Overflow上有个有趣的问题,如果向下面这么写,没问题。Console.WriteLine( String.Format( "{0}", (object)null) );但是如果这么写,会出一个ArgumentNullException。Console.WriteLine( String.Format( "{0}", null) );原因在于C#编译器会把null转换成最容易转到的类型,因为Fromat函数有下面几个重载:Format(String, Object)Format(String, Object[])Format(IForma 阅读全文

posted @ 2012-12-21 13:33 fresky 阅读(296) 评论(0) 推荐(0) 编辑

Fuslogvw——解决.NET框找不到Assembly问题的好帮手
摘要:Fuslogvw.exe (Assembly Binding Log Viewer)显示assembly绑定的具体信息,可以帮助调试.NET framework找不到assembly的问题。 阅读全文

posted @ 2012-12-20 21:29 fresky 阅读(262) 评论(0) 推荐(0) 编辑

Visual Studio 2012 Ultimate的可视化代码功能
摘要:Visualizing and Understanding Code综合了如何使用visual studio可视化代码来帮助理解代码,包括下面:理解代码和代码之间的关系:(1)Code Map(2)Dependency Graphs理解代码交互:Sequence Diagrams理解类结构:(1)UML Diagram(2)Class Diagram描述系统设计和验证按照设计进行的编码:Layer... 阅读全文

posted @ 2012-12-19 14:26 fresky 阅读(254) 评论(0) 推荐(0) 编辑

使用MPGO和NGEN来优化C#桌面程序的启动性能
摘要:C#桌面程序可以通过NGen创建本机映像(包含经编译的特定于处理器的机器代码的文件),并将它们安装到本地计算机,这样在运行时可从缓存中使用本机映像,而不必使用实时 (JIT) 编译器编译原来的IL代码。具体参见CLR Inside Out: The Performance Benefits of NGen. 在Visual Studio2012中,有一个新的工具可以进一步优化启动性能,叫做Mpg... 阅读全文

posted @ 2012-12-18 23:09 fresky 阅读(5976) 评论(0) 推荐(0) 编辑

怎么写Move构造函数(zz)
摘要:MSDN上How to: Write a Move Constructor介绍了怎么写move constructor,写的很清楚。 阅读全文

posted @ 2012-12-17 13:40 fresky 阅读(202) 评论(0) 推荐(0) 编辑

5个有用的XAML工具
摘要:Jeff's Top 5 XAML Tools.Fireworks to XAMLSnoop and XAMLSpyPistachioKAXAMLXAVIOR - XAML Color Extractor (Not Public, Yet) 阅读全文

posted @ 2012-12-14 14:52 fresky 阅读(592) 评论(0) 推荐(0) 编辑

SWIG——帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具
摘要:Simplified Wrapper and Interface Generator,SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。支持的语言有:Tcl 8.0 and newer versions.Python 1.5 and newer. Perl 5.003 or newer. Guile 1.3.4 and newer.Java JDK ... 阅读全文

posted @ 2012-12-12 17:51 fresky 阅读(288) 评论(0) 推荐(0) 编辑

C++,想要提高性能,那就值传递(pass by value)吧。
摘要:通常我们在学习写C++程序的时候都听过这样的说法,作为函数的参数,应该引用传递pass by const refercence,这样不会有值传递引起拷贝问题,可以提高性能,但是Want Speed? Pass by Value这篇文章的标题就是想要提高性能吗?那就值传递吧。这篇文章讲了右值rvalue和返回值优化RVO,然后得出了原则:不要复制函数的参数。应该通过值传递的方式让编译器来复制。其实这并不是要颠覆我们以前说的值传递和引用传递的取舍,而是说,如果在我们的函数里面需要拷贝一份参数的话,那就不要通过传递引用,然后函数内部在调用拷贝构造的方式。而是应该直接用值传递的方式,这样编译器会有更大 阅读全文

posted @ 2012-12-11 20:31 fresky 阅读(1500) 评论(0) 推荐(1) 编辑

C++怎么寻找重载函数
摘要:ACCU :: Overload Resolution - Selecting the Function这篇文章详细介绍了C++中寻找重载函数的方法。下面给个小例子吧,C++的重载有时候会违背你的直觉。 考虑如下代码: class OverLoadBase{public: int DoSomething() {return 0;};};class OverLoadSub : p... 阅读全文

posted @ 2012-12-10 20:57 fresky 阅读(447) 评论(0) 推荐(0) 编辑

Nokia Meego的故事(转载)
摘要:The story of Nokia MeeGo讲述了Nokia Meego的故事,很长,但是很有趣,有兴趣的可以看看。 阅读全文

posted @ 2012-12-10 13:01 fresky 阅读(126) 评论(0) 推荐(0) 编辑

从上而下和从下而上的编程语言
摘要:Top down, bottom up中引用Don’t fear the Monad,提了一个有趣的说法,编程语言分为2类:Bottom-up,从机器开始,逐步抽象,比如C#。Top-down,从数学开始,具体到机器,比如Haskell。而程序员则习惯用从何语言相反的方向进行编程,就是说C#程序员喜欢由上而下,而Haskell程序员喜欢由下而上。 阅读全文

posted @ 2012-12-10 10:58 fresky 阅读(286) 评论(0) 推荐(0) 编辑

C++应该用引用来捕捉异常
摘要:在C++中catch异常时的参数应该用引用,主要原因还是对象,引用,指针的构造析构原理。下面用代码实例解释一下原因。 先来看我们定义了两个异常,SubException继承BaseException,有一个虚函数打印信息。 class BaseException{public: BaseException(){ cout<<"BaseExeption"<<endl; }; B... 阅读全文

posted @ 2012-12-09 22:54 fresky 阅读(912) 评论(0) 推荐(0) 编辑

Windows调试工具箱
摘要:Tools for Your Debugging Toolbox是windows下的调试工具大集合,包含下面这些工具的简介和下载地址。- Performance Monitor - PAL- Process Monitor- Process Explorer- MPSReport- SPSReport- SPDis... 阅读全文

posted @ 2012-12-08 20:33 fresky 阅读(852) 评论(0) 推荐(0) 编辑

推荐一个免费的.NET代码分析工具Nitriq
摘要:Nitriq Code Analysis for .Net是一个免费的.NET代码分析工具,有两个版本,一个UI版,适合开发人员使用,一个命令行版,适合自动编译系统使用。我试了以下,还是很方便的,内建了很多规则,如果违反了很清楚的就能看出来。使用LINQ语句查询分析结果,可以很容易的自定义规则。下面贴一个官网的图吧。 阅读全文

posted @ 2012-12-08 20:03 fresky 阅读(308) 评论(0) 推荐(0) 编辑

如何做test review
摘要:Test Review Guidelines给出了一些review unit test时的一些准则,我简单翻译一下。 可读性: 确保setup和teardown方法没有被滥用。最好用factory method来提高可读性。 确保每个test只测试了一件事。 检查是否符合好的,一致的命名规范。 确保只有有意义的assert message才被用到,用有意义的test名称... 阅读全文

posted @ 2012-12-07 22:54 fresky 阅读(367) 评论(0) 推荐(0) 编辑

C++中运算符重载需要注意什么?
摘要:c++ - Operator overloading - Stack Overflow这篇FAQ讲的很清楚,把要点整理如下: C++中operator重载的基本语意: 只能重载用户定义类型的operator。 以下operator不能重载:.,::,sizeof,?: 其余的都能重载,分别是: 算数运算符:二元:+ - * / % += -= *= /= %... 阅读全文

posted @ 2012-12-05 21:52 fresky 阅读(337) 评论(0) 推荐(0) 编辑

C++中怎么阻止一个类被继承
摘要:C#中可以用sealed关键字,但是,C++中怎么阻止一个类被继承呢? 方法就是把这个类的构造函数声明成private的,这样就不能被继承了。当然更好的办法是用非技术的手段了:) 方法1: 构造函数private,提供一个Factory方法,缺点就是使用者必须用这个factory方法,不能直接使用这个类。 class NoDerive { NoDerive(){};public:... 阅读全文

posted @ 2012-12-04 23:45 fresky 阅读(834) 评论(0) 推荐(0) 编辑

.NET自动exploratory测试工具Pex
摘要:Pex还是很好用的,安装之后可以在visual studio2008和2010中直接用,也能用命令行。 我写了下面这个很简单的小程序: [PexClass] public class Calculator { [PexMethod] public int divide(int a,int b) { return a... 阅读全文

posted @ 2012-12-04 00:41 fresky 阅读(326) 评论(0) 推荐(0) 编辑

有时间了要研究一下Stack Exchange的开源项目
摘要:Stack Exchange Open Source Projects « Blog – Stack Exchange 阅读全文

posted @ 2012-12-04 00:17 fresky 阅读(193) 评论(0) 推荐(0) 编辑

C++中子类的数组不能用父类指针来表示
摘要:假设我们有一个父类A,一个子类B,如果我们创建一个B的数组,我们能这样用吗?A* barray = new B[10];写段代码在Visual Studio中来试试吧:) 1 #include <iostream> 2 #include <assert.h> 3 4 using namespace std; 5 class B; 6 class A 7 { 8 public: 9 A();10 ~A();11 int aa;12 };13 14 class B:public A15 {16 public:17 B();18 ~B();19 in... 阅读全文

posted @ 2012-12-03 20:40 fresky 阅读(588) 评论(0) 推荐(0) 编辑

一篇很不错的讲怎么测试复杂系统的文章
摘要:Testing Complex Systems | Dr Dobb's覆盖了下面几点:第三方代码跨平台UI网络数据库异步多线程/多进程多语言异常 阅读全文

posted @ 2012-12-02 21:20 fresky 阅读(259) 评论(0) 推荐(0) 编辑

云数据存在哪里?
摘要:From:Infographic: Where your cloud data really lives | TechHive 阅读全文

posted @ 2012-12-01 00:00 fresky 阅读(208) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示