图解Browser端访问OAuth2 API的安全性问题与解决方案
OAuth2是基于HTTP的认证API,一般与OAuth2搭配的API也是基于HTTP的REST风格API(比如新浪微博和github),很多人一定想过是否可以直接从浏览器端调用REST API。 我最近做了一些这方面的研究,因为OAuth2中有secret key的存在,所以纯粹的客户端是不行的,... ...
老调重弹:年龄大了,码农何去何从
说明这篇文章是说我的经历和选择,没有任何对从事软件开发的人员的不敬,更加不是要打击新入门的开发人员热情。你有你理解的方式和自由,要在回复那里指责为那是没有必要的,你有时间还是去多看看书,多写写代码好了。刚在隔壁看见了一个22岁年轻人遥相呼应的文章,在这里罗嗦一下。年轻就是资本,有冲劲,这是最大的优势... ...
深入浅出SQL Server中的死锁
简介 死锁的本质是一种僵持状态,是多个主体对于资源的争用而导致的。理解死锁首先需要对死锁所涉及的相关观念有一个理解。 一些基础知识 要理解SQL Server中的死锁,更好的方式是通过类比从更大的面理解死锁。比如说一个经典的例子就是汽车(主体)对于道路(资源)的征用,如图1所示。 图1.对于死锁的直... ...
铁道部新客票系统设计(二)
铁道部新客票系统的设计(一)铁道部新客票系统的设计(二)铁道部新客票系统的设计(三)在上一篇文章中 铁道部信客票系统设计(一) 里面,探讨了关于数据库层面的功能性需求以及非功能性的需求,在非功能性需求里面,一博主 提出了没有考虑到峰值的情况,这一点的确漏掉了,因为我们铁道部的特殊需求,在春运期间负载... ...
铁道部新客票系统设计(一)
铁道部新客票系统的设计(一)铁道部新客票系统的设计(二)铁道部新客票系统的设计(三)这几天正好看到一条新闻铁道部:新客票系统2015年建成 ,正好最近想整理和总结一下这几年的工作中的收获,正好可以借这个机会,尝试设计一下铁路客票系统,把自己所学全部用到这个系统中去,顺便也希望各位猿们拍砖,一起探讨一... ...
程序员,请昂起你高贵的头!
程序员与艺术家我这辈子最佩服两类人,一类是艺术家,一类是程序员。一个好的程序员从在某种程度上来说也是一个艺术家!艺术家是精神世界及其丰富的人群,他们不仅自己享受着艺术的魅力,也为全人类的精神文明指引着方向!程序员,他们是城市中的白领,不仅自己享受着编码的乐趣,也推动着信息世界不断向前发展。在这个信息... ...
远程线程注入引出的问题
远程线程注入引出的问题一、远程线程注入基本原理远程线程注入——相信对Windows底层编程和系统安全熟悉的人并不陌生,其主要核心在于一个Windows API函数CreateRemoteThread,通过它可以在另外一个进程中注入一个线程并执行。在提供便利的同时,正是因为如此,使得系统内部出现了安全... ...
Linq快速入门——Lambda表达式的前世今生
Lambda表达式其实并不陌生,他的前生就是匿名函数,所以要谈Lambda表达式,就不得不谈匿名函数,要谈匿名函数,那又要不得不谈委托。何为委托匿名方法Lambda表达式扩展方法泛型委托A Simple Lambda DemoLambda表达式树何为委托委托非常好理解,类似于C++里面的函数指针(指... ...
基于VS2012 Fakes框架的TDD实战——私有成员,静态成员模拟
前言 上文书(基于VS2012 Fakes框架的TDD实战——接口模拟)把接口模拟的部分演示完了,接口模拟也是Mock框架最基本的功能了吧,比如很易用的Moq框架,就非常容易模拟出接口中定义的操作返回的结果。 Moq也有局限性,比如不能模拟密封类,不能直接模拟静态方法等,而这些需求在微软VS20..... ...
基于VS2012 Fakes框架的TDD实战——接口模拟
前言 最近团队要尝试TDD(测试驱动开发)的实践,很多人习惯了先代码后测试的流程,对于TDD总心存恐惧,认为没有代码的情况下写测试代码时被架空了,没法写下来,其实,根据个人实践经验,TDD并不可怕,还很可爱,只要你真正去实践了几十个测试用例之后,你会爱上这种开发方式的。微软对于TDD的开发方式是大.... ...
面试体验:Yahoo 篇
前面两篇文章提到了 Google 和 Microsoft 的面试体验,可惜都没有 offer,接下来说说有 offer 的。考虑到我已经在 Google 和 Microsoft 的招聘流程当中了,于是我也让 Yahoo 的同学帮我内部推荐一下,试试 Yahoo 的面试如何。本来没想着很正经地面,不过... ...
小例子背后的大道理——用户需求+设计原则+正确应用 =设计方案
上回问题回顾 上回的最后,来了两个用户,分别提出了两个不同的需求。一个要求用两个开关控制一个灯,一个要求用一个开关控制所有的灯。本回将就这两个需求进行分析。我写这段话的时候并没有想出这个需求的具体方案,重要的过程,思路有时候比结果更重要。所以,我的方案可能会"跑偏";但是如果你能从过程中体会到些什么... ...
浅谈SQL Server 对于内存的管理
简介 理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。 二级存储(secondary storage) 对于计算机来说,存储体系是分层级的。离CPU越近的地方速度愉快,但容量... ...
面试体验:Microsoft 篇
在上一篇《面试体验:Google 篇》中说到,我对猎头的标准回复是「有美国或者香港的职位吗?」在进入 Google 招聘流程后,Microsoft 有一位 HR 打电话来跟我说有一个北京的职位跟美国总部会有密切的合作,问我有没有兴趣。我当时想的是,如果加入美国公司的中国分公司,或许将来有机会 rel... ...
ASP.NET那点不为人知的事(一)
我们上网时,在浏览器地址输入网址:Http://www.cnblogs.com,按下回车,一张网页就呈现在我们眼前。这究竟发生了什么?对于一名优秀的Programmer来说,我想有必要一下熟悉浏览器--->服务器请求的过程。ASP.NETASP.NET是运行在公共语言运行时刻时(CLR)上的应用程序... ...
面试体验:Google 篇
尝试在自己的博客上搜索点东西,结果发现 4 年多以前还在博客上写过一系列的 recruiting events,把大四时候参加过的各种笔试面试都记录下来了。我从去年准备离开百度开始,到现在总过面试过 4 家公司:Google、Microsoft、Yahoo、Facebook,原本去年也想把面试经验写... ...
【原】到底怎么样才叫看书?
目录: 一、引入 二、经历了就能理解 三、读书要分级 四、只读经典 五、别吝惜你动笔的那点时间 一、引入 看到这个题目的时候你可能会感到有点好笑:“这还用问,看书就是把书看了一遍呗..” 没错,我们从小到大就是这样想的,也是这样看书的,信手拈来一本叫作"书"的东西,从头到尾就开看了!随时年龄的增长, ...
火力全开——仿造Baidu简单实现基于Lucene.net的全文检索的功能
Lucene.NetLucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,是一个Library.你也可以把它理解为一个将索引,搜索功能封装的很好的一套简单易用的API(提供了完整的查询引擎和索引引擎)。利用这... ...