• BLOG
  • ARCHIVE
  • X
  • GITHUB
  • ABOUT
  • RSS
  • Unix内核源码剖析 书摘

    Aug 14, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    前几天被人送了一本书<Unix内核源码剖析>, 看到作者是日本人的时候, 一开始我是排斥的, 不过在试读了几页后我还是觉得应该读下去, 别人送的书哭着也要读完.

    本书基于Unix V6版本进行剖析, 此版本使用了pre K&R C(c语言不成熟版), 看了下Unix的发展图, 这个版本可以称得上是Mac OS X的祖先了…

    进程

    这个版本Unix没有线程的实现.

    静态的程序以动态的进程为形态运行在计算机中, 内核分配内存给进程, 进程用被分配到的内存进行逻辑处理.

    ...more
  • 理解硬链接和软链接

    Aug 10, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    硬链接

    为解决文件的共享使用, Linux系统引入了两种链接: 硬链接 (hard link)与软链接(又称为符号链接,即soft link或symbolic link). 链接为Linux系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处.

    • 若一个inode号对应多个文件名, 则称这些文件为硬链接(硬链接就是同一个文件使用了多个别名), 对文件的修改, 会影响到所有相同inode的硬链接, 删除一个硬链接, 对其他硬链接没有影响
    ...more
  • Shell命令find grep xargs学习

    Jul 31, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    这篇博文这两天写好了, 由于最近比较忙, 所以提前发了, 希望Deadline不要延期.

    #find命令

    find命令用于在一个目录(及子目录)中搜索文件, 可以指定匹配条件, 如文件名, 文件类型

    在Mac下有强大的Spotlight和Alfred(感觉window下的everything更牛叉), 所以find用的就比较少了

    1
    find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
    ...more
  • 设计模式之装饰者模式与工厂模式

    Jul 26, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    #设计原则

    类应该对扩展开放, 对修改关闭

    #装饰者模式(Decorator Pattern)

    装饰者模式动态地将责任附加到对象上, 若要扩展功能, 装饰者提供了比继承更有弹性的替代方案.

    ...more
  • 设计模式之策略模式与观察者模式

    Jul 19, 2015

    在读设计模式, 做了简单的笔记, 并没有深入设计模式总结.

    #interface

    首先, 温习一下Java中的接口技术(interface), 接口主要用于描述类具体有什么功能, 但并不给出每个功能的具体实现(类似与iOS编程中的协议的概念)

    1
    2
    3
    public interface Comparable<T> {
    int compareTo(T other);
    }
    ...more
  • Tmux入门指南

    Jul 12, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    写到今天这篇, Termial神器初成, Zsh + Oh My Zsh + iTerm2 + Tmux

    Introduction

    tmux是linux中一种管理窗口的程序, 不同于iTerm2, 它提供了一个Session随时存储和恢复的功能(Session概念后面会介绍), detach Session(保持Session后台运行)然后重新attach Session

    常用场景, 在公司Terimal中开了多个标签和文件, 下班回家忽然有了灵感想要继续编写, 使用ssh远程链接公司电脑, 然后发现标签页和文件都要重新打开, 如果使用Tmux, 下班了detach当前Session, 回家ssh远程连接后, attach Session后, 场景恢复又能愉快的继续编程了…

    ...more
  • UNIX网络编程基础

    Jul 5, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    #传输层

    • UDP(User Datagram Protocol), 无连接, 不可靠, 全双工, UDP套接字是一种数据报套接字
    • TCP(Transmission Control Protocol), 客户端服务器建立连接, 全双工, 可靠, 包含动态估算RTT算法, 流量控制, 超时重传
    • SCTP(Stream Control Transmission Protocol), 面向消息, 面向连接, 单个SCTP断点支持多个IP地址(多宿性)
    ...more
  • Redis使用入门

    Jun 27, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    #Redis Introduction

    Redis是一个用C语言实现的key-value store. 除了最基础的基于字符串的键值对,Redis可以是更加复杂的数据结构,所以redis也常被称为是一个data structure server(数据结构服务器)

    Redis支持的数据结构列表:

    • String(字符串)
    • List(列表, 基本的链表)
    • Set(元素唯一的, 无序的集合)
    • Sorted Set(类似于Set, 但是每个字符串元素关联一个浮点数score, 用于排序)
    • Hash(哈希)
    • Bitmap
    • HyperLogLogs

    本篇没有涵盖Bitmap和HyperLogLogs的使用

    ...more
  • Dr.Cleaner 轻量级Mac清理工具

    Jun 26, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    优雅的清理界面

    Dr.Cleaner下载链接

    ...more
  • Mac下配置安卓开发环境(Eclipse)

    Jun 20, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    由于Mac下intellij莫名其妙的原因(反正至今找不到原因), 一创建Android项目就卡死, 没有办法, 只能继续在Eclipse下折腾了

    记住我们的口号: 生命不止, 折腾不息

    ...more
PREVNEXT

© 2014 - 2026 Andrew Liu, powered by Hexo and hexo-theme-apollo.