wylu

Keep It Simple, Stupid

大多数人有时会需要在同一台机器上管理多个 github 账号,本文以管理两个 github 账号为例,记录了配置 git 的过程,方便下次遇到相同问题时,能节省处理时间。

阅读全文 »

tmux-logo

tmux 是一个终端复用器(terminal multiplexer),它使你能够轻松地在多个终端程序之间来回切换,同时你还可以脱离它们(它们将在后台继续运行),然后在另一个终端窗口重新连接它们。

tmux 提升工作效率的两个主要功能:

  • 窗口分割。在一个终端窗口中,可以随意进行水平或垂直分割,让你在一个窗口中运行多个独立的终端实例,这样你就无需打开多个终端窗口了。通过简单的组合键,你可以轻松在多个独立运行的终端实例间进行切换。

  • 基于会话的访问控制。在使用 SSH 工作的情况下,tmux 能避免工作现场丢失。假设在你执行某条命令的过程中,因为某些不可抗的因素(如网络问题)导致连接断开,这时你可能很难确定刚才的命令是否执行成功;又或者当你处一个较深层次的目录位置时,若 SSH 连接断开,你不得不重新进入到之前的工作目录。如果使用了 tmux,就可以在 SSH 重新连接后,连接到 tmux 之前的 session,这样就可以回到原来的工作环境。

阅读全文 »

本文主要介绍了 HTTP 状态码的作用和分类。HTTP 状态码是 Web Server 用来告诉客户端当前的网页请求发生了什么事,或者是当前 Web 服务器的响应状态,常用来判断和分析当前 Web 服务器的运行状况。状态码位于 HTTP Response 的第一行中,包括一个三位数字的状态码和一个状态消息。根据状态码的不同,可以将其分为五类:信息性、成功、重定向、客户端错误和服务器错误。其中,信息性代表请求已被接受,需要继续处理;成功代表请求已成功被服务器接收、理解、并接受;重定向代表需要客户端采取进一步的操作才能完成请求;客户端错误代表客户端看起来可能发生了错误,妨碍了服务器的处理;服务器错误代表服务器无法完成明显有效的请求。常见的状态码包括200、301、302、404、500等。了解 HTTP 状态码的分类和含义对于 Web 开发和运维人员具有重要意义。

阅读全文 »

本文主要介绍了几种常见的单例模式实现方式,包括饿汉式、懒汉式(线程不安全)、懒汉式(线程安全)、双重检查加锁(DCL)、静态内部类单例模式和枚举单例。其中,饿汉式和懒汉式(线程不安全)都存在线程安全问题,懒汉式(线程安全)虽然解决了线程安全问题,但效率较低。双重检查加锁(DCL)虽然解决了线程安全和效率问题,但在某些情况下会出现失效的问题。静态内部类单例模式和枚举单例都是线程安全的,且实现简单,推荐使用。此外,还介绍了如何避免单例对象被反序列化时重新生成对象的方法。单例模式在实际开发中应用广泛,对于保证系统中某些对象的唯一性具有重要意义。

阅读全文 »

本文主要介绍了面向对象编程语言中的泛化关系、实现关系、依赖关系、关联关系、聚合关系和组合关系等概念。其中,泛化关系表示类的继承关系,实现关系表示类实现接口的关系,依赖关系表示一个类依赖于另一个类的关系,关联关系表示一个类的成员变量是另一个类的实例的关系,聚合关系表示整体和个体之间的关系,组合关系表示整体和部分之间的关系。此外,还介绍了耦合度由弱至强的顺序:依赖关系 < 关联关系 < 聚合关系 < 组合关系。这些概念在面向对象编程中具有重要意义,对于理解和设计复杂的软件系统具有指导作用。

阅读全文 »

请求分页虚存管理在地址映射过程中,若页表中发现所要访问的页不在主存,则产生缺页异常,操作系统接到此信号后,就调出缺页异常处理程序,根据页表中给出的磁盘地址,将该页面调入主存,是作业继续运行下去。如果主存中有空闲块,则分配一个页框,将新调入页面装入,并修改页表中相应页表项的驻留位及相应的主存块号;若此时主存中没有空闲块,则要淘汰某页面,若该页在此期间被修改过,要将其先写回磁盘,这个过程就是页面替换。

页面替换算法是虚拟存储管理实现的关键,好的算法能够减少和避免“颠簸”现象,本文在模拟实现 FIFO,LRU 和 OPT 几种经典页面替换算法的基础上,比较各种替换算法的效率及优缺点,从而了解虚拟存储实现的过程,理解内存页面调度的机制。

阅读全文 »

Linux 文件权限笔记,摘自《Linux命令行与shell脚本编程大全》,方便以后查阅。

阅读全文 »