第657页

  • 理解inode

    理解inode

    inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 下面就是我的inode学习笔记,尽量保持简单。 =================================== 理解inode 作者:期权记 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector...

    期权知识 2020-08-18 549 0
  • 持续集成是什么?

    持续集成是什么?

    互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。 本文简要介绍持续集成的概念和做法。 一、概念 持续集成指的是,频繁地(一天多次)将代码集成到主干。 它的好处主要有两个。 (1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。 (2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。 持续集成的目的,就是让产品可以快速迭代,同...

    期权知识 2020-08-18 532 0
  • SSH原理与运用(一):远程登录

    SSH原理与运用(一):远程登录

    SSH是每一台Linux电脑的标准配置。 随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。 SSH具备多种功能,可以用于很多场合。有些事情,没有它就是办不成。本文是我的学习笔记,总结和解释了SSH的常见用法,希望对大家有用。 虽然本文内容只涉及初级应用,较为简单,但是需要读者具备最基本的"Shell知识"和了解"公钥加密"的概念。如果你对它们不熟悉,我推荐先阅读《UNIX / Linux 初学者教程》和《数字签名是什么?》。...

    期权知识 2020-08-18 526 0
  • 常用 Git 命令清单

    常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一、新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init...

    期权知识 2020-08-18 513 0
  • SSH原理与运用(二):远程操作与端口转发

    SSH原理与运用(二):远程操作与端口转发

    接着前一次的文章,继续介绍SSH的用法。 ======================================= SSH原理与运用(二):远程操作与端口转发 作者:期权记 (Image credit: Tony Narlock) 七、远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作。 上一节的操作,就是一个例子:   $ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_ke...

    期权知识 2020-08-18 559 0
  • Git 工作流程

    Git 工作流程

    Git 作为一个源码管理系统,不可避免涉及到多人协作。 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。"工作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。 本文介绍三种广泛使用的工作流程: Git flow Github flow Gitlab flow 如果你对Git还不是很熟悉,可以先阅读下面的文章。 《Git 使用规范流程》 《常用 Git...

    期权知识 2020-08-18 540 0
  • Unix目录结构的来历

    Unix目录结构的来历

    Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。 举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别? 长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。 昨天,我读到了Rob L...

    期权知识 2020-08-18 585 0
  • 网站的肥胖症危机

    网站的肥胖症危机

    最近,有一篇文章正在疯传。 它是上个月,Maciej Ceglowski在澳大利亚的一次演讲,名为《网站的肥胖症危机》(文本,视频),反思了互联网开发的现状。 该文非常值得一读,Hacker News排行榜高居榜首,得到了1000多人的推荐。 下面就是我的中文节译版。 =============================== 网站的肥胖症危机(节译版) 作者:Maciej Ceglowski 译者:期权记 原文网址:The Website Obesity Crisis 1. 大...

    期权知识 2020-08-18 605 0
  • 函数式编程初探

    函数式编程初探

    诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。 不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来越多的迹象表明,函数式编程已经不再是学术界的最爱,开始大踏步地在业界投入实用。 也许继"面向对象编程"之后,"函数式编程...

    期权知识 2020-08-18 522 0
  • Commit message 和 Change log 编写指南

    Commit message 和 Change log 编写指南

    Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。 $ git commit -m "hello world" 上面代码的-m参数,就是用来指定 commit mesage 的。 如果一行不够,可以只执行git commit,就会跳出文本编辑器,让你写多行。 $ git commit 基本上,你写什么都行(这里,这里和这里)。 但是,一般来说,commit message 应该清晰明了,说明本次提交的目的。 目前,社区有多种 Commit me...

    期权知识 2020-08-18 573 0