运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想。《程序员的思维修炼》一书中将程序员分为5个层级:新手,高级新手,胜任者,精通者,专家。根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手。而且居于这个层级的程序员从入行1、2年的到工作10来年都大有人在。 身为一个程序员,如何才能尽快的突破自身的瓶颈,得到快速的提升那?这可真不是三言两语可以说清楚。本人09年毕业投身软件行业,2012年初离开工作了三年的公司A,加入了现在的公司B。算到现在呆在B公司也即将满一年了。但是我敢说在B公司1年学到的东西,比在... 阅读全文

在项目中使用 NuGet 作为第三方类库管理器是非常方便的, NuGet 默认会在解决方案的目录下建立一个名为 packages 的目录, 把解决方案所需的第三方类库都放到 packages 目录下, 解决方案下所有的项目都引用 packages 目录内的类库, 对于单个解决方案来说, 非常不错。 如果要在多个解决方案之间共享类库的话, NuGet 默认的设置明显就不能满足需要了, 解决方案可能位于不同的目录, 如果每个解决方案目录内都再都有一个 packages 目录的话, 就会重复下载很多类库, 大家自然会想到将所有的第三方资源都放到一个统一的目录内, 这个特性在早期的 NuGet... 阅读全文

准备工作 确认所有用户的本地修改都签入到服务器, 将 SVN 源代码的分支尽可能的合并到主干, 已经发布的做好归档信息, 并备份 SVN 库。 虽然迁移到 Git 的风险不大, 但是备份一下总是好的。 安装 Git , 这看起来是废话, 不装 Git 怎么迁移? 将用户映射到 Git 创建一个用户映射文件, 将 SVN 用户映射到 Git 用户, 这样可以保留用户的签入历史信息, 比如用户输入的修改记录等, 这个文件看起来是这样子的: svnuser1 = gituser1 <gituser1@yourcompany.com> svnuser2 = gituser2... 阅读全文

本文介绍如何在 Windows 系统上配置 Apache Git 服务器, 以及使用 AD 进行认证用户认证。 软件环境 Windows Server 2003 Apache 2.2 Git 1.8 安装 Apache 从 httpd 的主页下载 Apache Httpd 的 Windows 最新版, 我下载的版本是 2.2.22 , 下载下来之后, 根据提示安装即可, 我的安装目录是 C:\Apache2.2 , 下面的配置都是根据这个目录进行的。 安装 Git 下载并安装 msysgit , 推荐使用 Portable 版本的, 下载后解压到 C:\Gi... 阅读全文

交流面试的时候,经常有朋友会问一个问题:我正确回答了90%的面试题,为什么被拒? 我们就来探讨这个问题。 先回答我一个问题:假设一次面试满分是100分,你正确回答90%题,该得多少分?如果你认为该得90分,那说明你还没有理解面试,区分不开面试与考试的区别。考试是看你是不是合格,面试是要选拔最优。用考试的思维应对面试,哥们儿你南辕北辙了。 现在回答我第二个问题,如果某个职位,有10个人都能正确回答90%题,凭什么要求对方把offer给你?如果想不通这个问题,那你将来的面试成功率将永远是1/N(N表示竞争同一个岗位时,与你水平相当的人数)。 你有没有想过,你的竞争对手中,发生如下情况... 阅读全文

Sony Z13 系列笔记本的驱动程序一直停留在 2010 年的版本, 在 Windows 7 下工作正常, 最近升级到了 Windows 8 , 这个版本的驱动程序无法正常工作了, 由于 Z13 是 2010 年的产品, Sony 根本不打算提供 Windows 8 系统的驱动, 于是只好开始折腾, 想办法安装 NVIDIA 官方的驱动程序。 经过不懈的折腾, 总算搞好了, 现在总结如下: 注意: 1 和 2 两步仅仅针对 Windows 7、8 , 如果你的系统还是 Windows XP ,则直接忽略。 1、 破解 Sony 的 BIOS 高级菜单 Sony 笔记本的 BIOS... 阅读全文

介绍如何通过网页内部分发 iOS 应用, 包括 In-House 企业应用和 ad-hoc 测试应用。 原生 XCode 应用 1. 归档编译 用 XCode 打开要分发的项目, 依次选择 "Product" -> "Build for" -> "Archiving", 如下图: 编译完成之后,就会生成 XCode 的项目归档, 接下来使用 Organizer 设置分发信息。 2. 使用 Organizer 设置分发信息 打开 Orangizer , 选择 Archives 标签, 可以看到现有的 XCode 项目归档, 选择要分发的项目, 然后点击右边的 D... 阅读全文

无论是在争取与客户签约网站设计或是说服用户从与你联络到合作,我们都需要知道如何令人信服。像在网站设计行业里的许多人一样,我的职业很奇怪。我是兼职销售、兼职咨询顾问和兼职用户体验设计师。某天,我需要先将一个新点子推销给董事会,然后再设计一个电子商务购物流程。然而,在我所做的所有事中的重要环节是:我花费了大多数时间用来说服客户。 作为网页设计师,我们经常需要把客户引导到我们所希望的样子中去。这是一个非常重要的技能。这不是在探讨如何操纵客户的诈骗术,毕竟撒谎让你失去一切。但可通过个人展示让人们更易接受你的观点。也许第一个最关键的方法就是引起共鸣。 1、引起共鸣 最糟糕的做法莫过于在开会或... 阅读全文

Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题。 Intel HAXM (Hardware Accelerated Execution Manager) 使用基于 Intel(R) Virtualization Technology (VT) 的硬件加速, 因此需要 CPU 支持 VT , 而且仅限于 Intel CPU, 与 AMD CPU 无缘, Intel HAXM 的描述如下: 使用 Intel VT 技术; 为 Android x86 虚拟... 阅读全文

多数情况下, NHibernate 提供的 HQL、 Linq 以及条件查询足够用了, 但是在某些情况下, 需要使用 SqlQuery, 使用 SqlQuery 可以查询标量(简单类型), 查询单表实体类, 关联表查询。 查询标量(简单类型) var db = this.ObjectContainer.Resolve<NorthwindContext>(); var sqlQuery = db.Session.CreateSQLQuery("select count(0) as c from categories"); sqlQuery.AddScalar("c", N... 阅读全文

INotifyPropertyChanged 接口是 WPF/Silverlight 开发中非常重要的接口, 它构成了 ViewModel 的基础, 数据绑定基本上都需要这个接口。 所以, 对它的实现也显得非常重要, 下面接贴出我知道的几种实现方式, 希望能起到抛砖引玉的作用。 一般的实现方式 这是一种再普通不过的实现方式, 代码如下: public class NotifyPropertyChanged : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; ... 阅读全文

堆与栈(Heap and Stack) 堆相对比较容易理解, 就是计算机剩余的内存, 可以通过 malloc 函数访问获取堆内存。 每次调用 malloc , 操作系统使用内部函数为你注册分配一块内存, 并返回指向它的指针。 当你使用完之后, 要用 free 函数将它返回给操作系统以便其它程序可以使用。 如果没有这么做的话, 将会导致你的程序出现内存泄漏。 栈是一个特殊的内存区域, 存储函数创建的本地变量。 它的工作原理是每个函数的参数被压入堆栈,并在函数内使用。 这是真正的栈道数据结构, 后进先出。 对于本地变量也是相同的。 栈的好处是简单, 当函数退出时, C 编译器将这些变量... 阅读全文