[返回] [最新] [最热门] [最高评价]

知无涯之std::sort源码剖析

从事程序设计行业的朋友一定对排序不陌生,它从我们刚刚接触数据结构课程开始便伴随我们左右,是需要掌握的重要技能。任何一本数据结构的教科书一定会介绍各种各样的排序算法,比如最简单的冒泡排序、插入排序、希尔排序、堆排序等。在现已知的所有排序算法之中,快速排序名如其名,以快速著称,它的平均时间复杂度可以达到O(N logN),是最快排序算法之一。

目录

背景

Introspective Sort
...

feihu 2014-05-21 00:00 | 查看: 7705

iOS中如何对具有复杂依赖的SDK在真机上进行单元测试

单元测试在软件开发中一直有着极其重要的地位,iOS的开发也不例外。随着App规模的不断膨胀,开发也逐渐的趋向模块化,开发者常常以库的形式封装功能,最后组成App。此时由于App结构变得复杂,各种库又可能存在着相互依赖的缘故,单元测试也随之变得复杂起来。开发者可能面临着一系列问题,比如:单元测试如何处理这些依赖?如何在真机上运行测试?如何在App所在的环境中运行测试?本文将用一个模拟的开发环境逐一进
...

feihu 2016-02-17 00:00 | 查看: 3796

知无涯之回车换行的故事

不知各位有没有过这样的经历:

Linux上创建的文件在Windows上打开时,结果所有内容会挤成一行。而Windows上创建的文件在Linux上打开时,每一行的结尾又多了一个奇怪字符^M。

在安装Windows版的git时,安装向导在某一步会提示你选择”Configuring the line ending conversions”,里面提到了Windows-style和unix-styl
...

feihu 2014-12-17 00:00 | 查看: 1652

ssh连接远程主机执行脚本的环境变量问题

近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本时,遇到一个奇怪的问题:

~/myscript.sh: line n: app: command not found

app是一个新安装的程序,安装路径明明已通过/etc/profile配置文件加到环境变量中,但这里为何会找不到?如果直接登陆机器remote并执行~/myscrip
...

feihu 2014-11-11 00:00 | 查看: 1643

以普通用户启动的Vim如何保存需要root权限的文件

在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误:

E45: 'readonly' option is set (add ! to override)

这表明文件是只读的,按照提示,加上!强制保存::w!,结果又一个错误出现:

"readonly-file-name" E212: Can't open file for wr
...

feihu 2014-07-30 00:00 | 查看: 1427

跟我一起学习VIM - The Life Changing Editor

前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程。虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧。所以分享结束之后,将这篇简短教程整理一下作为我2014年的第一篇Blog。

目录

写在前面:Life Changing Editor

什么是VIM

为什么选VIM
为什么
...

feihu 2014-01-07 00:00 | 查看: 1022

NBA 38大催泪瞬间:假如

此篇文章无关乎技术!献给热爱篮球的朋友!

假如

前段日子逛虎扑时看到一帖子,标题叫假如,进去之后看到一组NBA老照片。刚开始感到有些莫名其妙,为何放一大堆图在这里,和标题假如有什么关系?第一印象判定其为哗众取宠的帖子,可再往下来看到楼主自己的回复,他贴了信乐团的《假如》和歌词,但为何一句话没有,只贴了这些?难道和前面的照片有关联?怀着好奇,打算再看一遍。于是戴上耳机,点击播放,很自然随着节奏一
...

feihu 2014-07-18 00:00 | 查看: 932

跳出手掌心——如何立即触发UIButton边界事件

最近在使用UIButton的过程中遇到一个问题,我想要获得手指拖动button并离开button边界时的回调,于是监听UIControlEventTouchDragExit事件,如文档所述:

An event where a finger is dragged from within a control to outside its bounds.

这个事件正是我所需要的,可是最后却发现当手指
...

feihu 2015-05-21 00:00 | 查看: 898

如何处理iOS中照片的方向

使用过iPhone或者iPad的朋友在拍照时不知是否遇到过这样的问题,将设备中的照片导出到Windows上时,经常发现导出的照片方向会有问题,要么横着,要么颠倒着,需要旋转才适合观看。而如果直接在这些设备上浏览时,照片会始终显示正确的方向,在Mac上也能正确显示。最近在iOS的开发中也遇到了同样的问题,将拍摄的照片上传到服务器后,再由Windows端下载该照片,发现手机上完全正常的照片到了这里显示
...

feihu 2015-05-31 00:00 | 查看: 896

知无涯之C++ typename的起源与用法

侯捷在Effective C++的中文版译序中提到:

C++的难学,还在于它提供了四种不同(但相辅相成)的程序设计思维模式:procedural-based, object-based, object-oriented, generics

对于较少使用最后一种泛型编程的我来说,程序设计基本上停留在前三种思维模式当中。虽说不得窥见高深又现代的泛型技术,但前三种思维模式已几乎满足我所遇到的所有需求
...

feihu 2014-05-08 00:00 | 查看: 861

深入理解log机制

最近在部门内部做了一个关于log机制的知识分享,深入的探讨了log机制中各种概念的来源、常用log库的用法、内部处理流程,以及如何在一个涉及多台主机的复杂系统中部署log等问题。本文是对这次分享的总结,将对这些问题一一展开介绍。

目录

开场

勿在浮沙筑高台
最简单的log

增加有用信息

简化调用:封装

设定等级:TraceLe
...

feihu 2014-04-07 00:00 | 查看: 683

谁打印了这个字符串

前段时间在调试时遇到一个问题,运行程序出现错误,但并没有足够的信息来定位错误所在。可喜的是控制台上输出了一些可疑信息,只要找到了哪里打印了这些信息便有可能推断错误的原因。然而由于程序过于庞大,不可能一步一步跟踪调试去查找哪条语句执行后输出了这段字符串。尝试在所有的代码中搜索这段字符串也无功而返。后来突发奇想,能否在输出字符串时设置一个条件断点,只要输出的这段信息就中断,这样就可以在中断后找到何处打
...

feihu 2014-01-15 00:00 | 查看: 609

...更多...