vim 进阶 1. 软件设计的宏观理念 任何一款优秀的软件,都是 “通用性” 和 “特定性” 的结合。 任何一款软件,一定有其所面向某个领域、某个问题的通用的、常规的、核心的需求,满足了这些需求,达到了软件的基本要求,实现了软件的“通用性”。软件面向各类有使用需求用户,这些用户除了通用性、共性的需求,通常还有某些特定性的需求,优秀的软件往往还为这些…
任何一种设计,本质上都是 “逻辑” 上的概念或框架。这种设计一定处在某种在特定的抽象层面上,有其底层(基础支撑)和顶层(问题域)。制造这种 “逻辑” 上的概念或框架,一定是为了更加接近上层问题域本身,使得设计人员更容易理解上层问题域中的问题,应用这种 “逻辑” 上的概念或框架能够更便捷的在上层问题域中建模、分析,更好的找到问…
现代操作系统均是一个庞大体系,由众多组件构成。如何在众多组成元素中快速定位所期望的内容,是提高系统应用效率的关键。linux 也提供了众多方法,方便用户对所需元素的查询定位。 一、找文件 1. 找文件的位置 1.1. 文件位置查找的“重装备” -- find 文件管理是操作系统的核心工作内容,文件查找在任何系统中都是最基本的需求之一。find 工具…
Bash 无疑是使用最多的一种 shell。作为用户向操作系统“发号施令”的重要通道,Bash 必须具备接收各种命令,并“安排”各种命令执行的能力(参见 Bash 点滴)。为此,Bash 为用户提供了一个命令编辑环境,在该环境下,用户可以输入编辑各种指令,并对命令执行方式进行各种控制。了解并熟练掌握 Bash 命令编辑环境下的各种操作,是高效使用 …
随着 Linux 的不断发展壮大,除了其在原有的命令行阵地依旧保持既有特色外,桌面 Linux 发展也相当迅猛。在 Linux 系统安装程序后,在桌面环境或菜单中添加该程序的快捷方式,无疑也是高效简洁的程序启动方式。 现代各个 Linux 桌面发行版均考虑了这一问题,在文件系统的特定目录内(如 /usr/share/applications/)中统…
匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 abstract class Person { public abstract void eat(); } class Child extend…
配置管理是规范化开发的必由之路,随着开源社区的蓬勃发展,传统的集中式配管方式显然不能保障开源社区 “ 集市 ” 开发模式的高效运行,分布式配管需求日益迫切,在开源界大神的努力下,世界上最先进的分布式版本控制系统 -- Git 应运而生。Git 名为 “无用之人”,实则出类拔萃。使用 Git ,每个人的计算机上都可以拥有一个完整的版本库,既保证的多人…
计算机系统运行的核心是 CPU 利用其自身计算单元和控制线,在内置寄存器的协助下,操作 “ 线性地址空间(对 CPU 而言) ” 的过程。X86 架构计算机系统采用 “冯.诺依曼” 结构,指令和数据在统一的地址空间以 "混合排放" 的方式存储,因此,对于 X86 架构 CPU 而言,其只需操作一根 “线性内存” 即可。这一点与哈佛架构完全不同。…
经常听到看到 “X86架构“,”X86“ 到底指什么? X86 是指一套计算机二进制指令集合。计算机指令本质为了操作控制 CPU,进而控制整个计算机系统的运作。X86 也不例外,其可以控制支持 X86 指令集合的 CPU。 CPU 种类多种多样,其对应指令集也不尽相同。X86 为何能在竞争中独树一帜? 在早期 CPU 百家争鸣的时代…
随着对 linux 桌面环境的不断使用和深入了解,本文也随着经验积累保持持续更新。 安装 linux 系统需要进行大量配置工作,这种配置工作量远超 Windows 系统。其实 Windows 也需要诸多配置部署,只不过很多工作 Windows 系统自动完成了,而 linux 系统则需要手动操练了。经历几次 linux 不同发行版本的安装配置,深受其…