【专题】开发环境

2016-07-20 Wednesday    


GIT

Git Logo

Git 是一免费、开源的分布式版本控制系统,可有效、高速的处理从很小到非常大的项目版本管理,该工具是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发,其本意是为了替换 BitKeeper 。

除了 GitHub 外,开源的工具还有 GitLabGogs,以及 C 的相关库 libgit2

这里简单介绍一下常见概念及其操作。

内部原理

  • Git 对象简介 内部使用一组极为简洁的数据结构来维护,也就是对象。

常用技巧

CI/CD

Drone

类似于 Jenkins ,一个基于容器的持续交付平台,支持 Pipeline 的定义,基于 GoLang 开发。

GOGS

Gogs 的功能类似于 GitHub 或者 GitLab ,不过相比来说是一款极易搭建的 Git 服务,其目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。

  • Gogs 仓库使用 类似 GitLab 或者 GitHub,但是搭建起来更容易搭建。

词法语法解析

Lex (A Lexical Analyzer Generator) 和 Yacc(Yet Another Compiler Compiler) 是 UNIX 中两个非常重要的、功能强大的工具,分别用来做词法扫描以及语法分析。

在 Linux 上就是 flex-bison,其中在使用 bison 时,采用的语法必须是上下文无关文法 (context-free grammar)。

这里简单介绍,包括常规表达式、声明、匹配模式、变量、Yacc 语法和解析器代码。

  • 基本概念 关于词法语法分析的基本概念,例如 BNF、上下文无关等。
  • Flex 使用简介 词法解析器的介绍,在 Linux 中的实现。
  • Bison 使用简介 语法解析器的介绍,Linux 中对应 Yacc 的实现。
  • MySQL 语法解析 MySQL 中使用方式,词法解析独立实现,语法分析则使用 Bison 。

VIM

vim logo

Vim 是一个功能强大、高度可定制的文本编辑器,与其相匹敌的是 Emacs ,这两个都是不错的编辑器,在此不再比较两者的优劣,仅介绍 Vim 相关的内容。

功能介绍

常用快捷键整理,当前的配置可以通过 :map 命令查看。

let mapleader=','
<Leader>f              AutoFormat
<Leader>k              ALE向上查找错误

<Ctrl-j/b/f>           Snips自动填充、向后、向前选择

<F2>                   取消行结束的空白字符
<F9>                   Paste和NoPaste模式之间切换

其它

一些在开发阶段常见的使用工具。

  • TMUX 简介 终端复用工具,类似 screen 但是更加方便使用,不过更加高端。


如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^