随笔分类 -  原创文章

摘要:春节期间一次用手机上网无意间发现了这本书,说起来还得感谢智能手机的发展,有时候还是很方便的。当时随便的翻了几页,于是我停不下来了,因为我发现原来我不知道的东西太多了。我第一次接触STL的时候大约在7年前,那个时候刚从C语言转到C++,记得那个时候知道了STL 的vector, list, map, 但是只是把这些东西当作C++的语法,一带而过,用的时候查查文档,只要逻辑和结果对了就OK,到处是for循环,到处是迭代器,现在回想起来的感触是:… 没文化,真可怕。第二次我想深入学习STL的时候是研究生毕业以后,记得那个时候刚入行,公司的产品出现了一个问题,是关于STL 的一个容器的erase() 阅读全文
posted @ 2012-02-10 18:30 SolidMango 阅读(4800) 评论(13) 推荐(1) 编辑
摘要:2011总结,2012展望,生活技术都不能少转眼间2012年已悄然来临,春节将至,和大部分的朋友一样,有感于时光飞逝,在这个特别的阶段总想总结一下过去,并展望一下美好的未来,为新的一年做个规划。总结身体是革命的本钱,先来说说身体,2011年基本能保证每周打一次羽毛球,一次篮球,每次各两个小时,打完球洗个温水澡,睡个懒觉,这也许就是人生最大的追求了。外语方面,英语水平稳中有升,单词量也多了一些,本来年初的时候有计划把日语捡起来,后来因为时间不够,没能实施,做个trilingual的中国牛,不容易啊..技术方面,主要精力集中在windows开发方面,正如有些兄弟说的,技术这个东西,你每做一次都会有 阅读全文
posted @ 2012-01-18 16:10 SolidMango 阅读(2019) 评论(10) 推荐(3) 编辑
摘要:经常发现有人在网上提出这样的问题,现实中也确实有不少人在经历了3-5年的Windows开发之后就开始迷失方向,每天浑浑噩噩混日子,可能是因为这个问题粒度太大,没人愿意花时间回答,希望本文可以抛砖引玉,给大家节省些时间,同时也希望园子里面的兄弟们能尽力的补充,从而使这篇文章可以帮助更多的后来人。 首先说明的是,本文提到的各种技术不分先后,没有顺序,虽然先学什么,再学什么对某些人来说可能更方便,但是这些都不是绝对的,因为每个人的情况不同。 Windows开发首先必须学习的就是操作系统的API,因为其他的一切都是构建于OS之上,所谓九层之台,起于垒土,如果你对linux的系统调用很熟悉就会发现其.. 阅读全文
posted @ 2011-11-26 10:45 SolidMango 阅读(9558) 评论(44) 推荐(14) 编辑
摘要:看到过园子里面几篇协变和逆变的文章,但是总觉得写得不够清晰,文章这东西注重要是要把自己想表达的观点表达出来,这个过程应该是把复杂的东西消化出来从而简单化,清晰化,而不是故弄玄虚,反其道而行之,下面我们言归正传啦。我们先来看一段MSDN原文给协变,逆变和变体下个定义:A generic interface or delegate is called variant if its generic parameters are declared covariant or contravariant. Both C# and Visual Basic enable you to create your 阅读全文
posted @ 2011-11-09 13:32 SolidMango 阅读(14777) 评论(30) 推荐(9) 编辑
摘要:1. Domain Login 验证用户权限publicboolValidateDomainUser(stringUserName,stringPassword,stringDomain){boolbValid=false;using(PrincipalContextcontext=newPrincipalContext(ContextType.Domain,Domain)){bValid=context.ValidateCredentials(UserName,Password);}returnbValid;}2. Domain Mode读取privatevoidDomainModeChec 阅读全文
posted @ 2011-04-22 14:23 SolidMango 阅读(2395) 评论(0) 推荐(2) 编辑
摘要:LDAP:Light Directory Access Protocol。Domain(域):是Windows 2000活动目录的核心单元,即AD的核心单元,是共享同一活动目录的一组计算机集合。好多朋友认为两者是一个东西,认为只要LDAP的API:ldap_bind_s()执行成功就是相当于你已经成功登录到域里面,并且已经通过了域的验证。具体代码如下:#include<windows.h>#include<winldap.h>#include<tchar.h>LDAP*ld;SEC_WINNT_AUTH_IDENTITYAuthId;ULONGAuthMet 阅读全文
posted @ 2011-04-20 17:29 SolidMango 阅读(3183) 评论(2) 推荐(1) 编辑
摘要:前提是程序以Any CPU 方式编译,我看到网上好多朋友判断系统位数的方式,又是P/Invoke,又是获取系统位宽,真的有必要么?以下是我认为最简单的一种方式,请朋友们给出更简单的方式,或者指出我的错误。if(IntPtr.Size==8){//64bit}elseif(IntPtr.Size==4){//32bit}else{//...NotSupport}请大家不吝赐教.. 阅读全文
posted @ 2011-03-28 15:09 SolidMango 阅读(4370) 评论(20) 推荐(3) 编辑
摘要:2010年NOSQL技术似乎是发展最快的几个概念之一,相信好多朋友也都和我一样,愿意尝试新东西,网络上面关于NOSQL的东西还不是很多,你也可以说很多,但是大部分是复制粘贴的,不成什么体系,也可能是本人眼界有限,如果有的话望高人指点。另一方面,NOSQL这个东西发展很快,好多CODE在有些版本上面可以RUN,但是版本更新了就不行了。其实我的目的很简单,用C#写一个Demo, 向Cassandra里面写条数据,然后再读出来,下面,Let’s go!1.首先配置Cassandra,去http://cassandra.apache.org/上面下一个最新的就ok了我用的是这个:apache-cass 阅读全文
posted @ 2011-03-11 17:02 SolidMango 阅读(2173) 评论(6) 推荐(2) 编辑
摘要:VS2008 Remote Debug HOW TO前言:VS 2008的 Remote Debug 功能在某些条件下还是挺实用的,但是help文档说的不是很清楚,今天有机会总结一下,希望对大家有所帮助。1. Remote debug 需要两台机器:-1-调试代码用的机器------调试机-2-运行程序出问题的机器------问题机2. Tool X:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe,将这个工具运行在问题机上。3.调试机和问题机两台机器必须设置相同的用户名 阅读全文
posted @ 2010-07-29 15:07 SolidMango 阅读(2010) 评论(3) 推荐(0) 编辑
摘要:关键字:COM,.NET,互操作,封送 多年来在程序设计领域微软技术一直引领着每个时代,在每一代的技术背后都有相关的动机,而这些动机及其实现细节往往是大部分的程序设计课程没有涉及的,但是对于我们理解相关的技术又十分重要,本文将对几种相关技术和隐藏在动机背后的细节做简要的阐述,算是抛砖引玉。 COM技术于1993年首次发布,称得上是微软技术的一个里程碑,其意义在于使组件编程化得以实现。COM技术最初的思想起源于将类做成可重用的二进制组件,把类的实现和接口分离以便把类的实现封装到二进制防火墙的背后,而这道防火墙以VPTR和VTBL的形式保证了这个防火墙的不变性。.NET技术则在语言层面上支持了基于 阅读全文
posted @ 2010-04-21 14:22 SolidMango 阅读(2057) 评论(6) 推荐(2) 编辑