0%

Tmux 快捷键 & 速查表

启动新会话:

tmux [new -s 会话名 -n 窗口名]

恢复会话:

tmux at [-t 会话名]

列出所有会话:

tmux ls

关闭会话:

tmux kill-session -t 会话名

关闭所有会话:

tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill

Go Cheat Sheet

Credits

Most example code taken from A Tour of Go , which is an excellent introduction to Go. If you’re new to Go, do that tour. Seriously.

Go in a Nutshell

  • Imperative language
  • Statically typed
  • Syntax tokens similar to C (but less parentheses and no semicolons) and the structure to Oberon-2
  • Compiles to native code (no JVM)
  • No classes, but structs with methods
  • Interfaces
  • No implementation inheritance. There’s type embedding , though.
  • Functions are first class citizens
  • Functions can return multiple values
  • Has closures
  • Pointers, but not pointer arithmetic
  • Built-in concurrency primitives: Goroutines and Channels

单元测试(Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。如果我们写的代码依赖于某些模块对象,而单元测试过程中这些对象又很难手动创建,或者模块还没有开发完成,那么就使用一个虚拟的对象来完成单元测试,这就是所谓的 Mock。

Java 单元测试中比较流行的 Mock 测试框架有 jMock EasyMock Mockito ,但是这些 Mock 工具都不能 Mock staticfinalprivate 方法等,而 PowerMock 能够做到。

使用 PowerMock,首先需要使用 @RunWith(PowerMockRunner.class) 将测试用例的 Runner 改为 PowerMockRunner。如果要 Mock staticfinalprivate 等方法的时候,就需要加注解 @PrepareForTest

PowerMock 有两个版本,一个是基于 EasyMock 实现的,另一个是基于 Mockito 实现的。

下面我将以 PowerMock 的 Mockito 的版本来讲述如何使用 PowerMock。

最近抽空学习了一下 Go 语言,好多特性感觉非常棒,由于高效的开发效率以及性能,现在好多优秀的开源项目都是基于 Go 开发,比如 DockeretcdconsulKubernetes 等。Go 势必会在互联网技术的服务化,容器化的将来大展拳脚。正好网上看到一篇关于 Java 程序员入门 Golang 的文章,写的挺好的,所以特此转载过来,再加上自己的一些学习经验,供大家参考。

Golang09 年发布,中间经历了多个版本的演进,已经渐渐趋于成熟,其媲美于 C 语言的性能、Python 的开发效率,又被称为 21 世纪的 C 语言,尤其适合开发后台服务。这篇文章主要是介绍 Golang 的一些主要特性,和 Java 做一个对比,以便更好的理解 Golang 这门语言。

关于 Golang 环境的搭建就不讲了,可以参考 官方文档 或者大神 astaxie 的开源书籍 build-web-application-with-golang 的相关篇章。下面我没让你就从 Go 版本的 Hello World 开始。

查看远程分支

加上 -a 参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话):

$ git branch -a
 master
 remote
 tungway
 v1.52
* zrong
 remotes/origin/master
 remotes/origin/tungway
 remotes/origin/v1.52
 remotes/origin/zrong

删除远程分支和 tag

Git v1.7.0 之后,可以使用这种语法删除远程分支:

$ git push origin --delete <branchName>

总结一下日常工作学习中常用的查询占用端口、PID相关命令。主要有命令 ps、lsof、netstat 等命令。

ps

ps -ef 或者 ps aux

根据命令(IntelliJIDEALicenseServer)搜索 PID(17107)

$ ps -ef | grep IntelliJIDEALicenseServer | grep -v "grep"
  501 17017 12203   0 10:01上午 ttys000    0:00.02 IntelliJIDEALicenseServer -p 21014

lsof

根据 PID(17107)搜索占用端口(21014)

$ lsof -p 17017 -nP | grep TCP
COMMAND     PID  USER   FD     TYPE             DEVICE SIZE/OFF    NODE NAME
IntelliJI 17017 ehlxr    3u    IPv4 0xc0df10496212b0e3      0t0     TCP *:21014 (LISTEN)

# 或者使用
$ lsof -nP -iTCP -sTCP:LISTEN | grep 17017
  • -n 表示不显示主机名
  • -P 表示不显示端口俗称

好记性不如烂笔头,记录一下日常工作学习中常使用的 Linux 命令。

安装磁盘分配

  • /boot 用来存放与 Linux 系统启动有关的程序,比如启动引导装载程序等,建议大小为 100MB。
  • swap 实现虚拟内存,建议大小是物理内存的1~2倍。
  • / Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上。
  • /home 存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。

系统目录结构

  • /:存放系统程序,也就是 At&t 开发的 Unix 程序。
  • /usr:存放 Unix 系统商(比如 IBM 和 HP)开发的程序。
  • /usr/local:存放用户自己安装的程序。
  • /opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为 option,意为 “选装”。

作为一个码农,天天和键盘打交道,没有一款称心如意的键盘怎么能行了?要说那一款键盘堪称神器,我想大多数程序员首推 HHKB ,怎奈囊中羞涩,只能找一款 HHKB 的替代品,于是,Poker 浮现我的眼中,经济实惠,小巧玲珑,深得我心…

关注这款键盘其实很久了,虽说相对于 HHKB 来说便宜很多,但也有点儿心疼,迟迟没能入手。最近过生日,女朋友很民主的征求我的意见,问我想要什么礼物,嘿嘿

System.getProperty() 可以获取系统的配置信息,最近项目开发中要用到临时文件,所以想到了使用系统临时文件目录,最后得知可以通过 System.getProperty("java.io.tmpdir") 可以获取不同操作系统平台下的临时目录。比如:

windows 中的目录是:C:\Users\登录用户~1\AppData\Local\Temp\

linux 下的目录是:/tmp

Mac 下目录是 /var/folders/c8/2c9rf0ss2w9c8tdtfcgvg9kh0000gn/T/ (我感觉是不同电脑应该不一样)

Mac 系统日常使用技巧归纳总结。

一、Mac 中 Finder 显示、关闭隐藏文件

1.1 终端命令模式

  • 打开终端,输入:

    # 此命令显示隐藏文件
    defaults write com.apple.finder AppleShowAllFiles -bool true
    
    # 此命令关闭显示隐藏文件
    defaults write com.apple.finder AppleShowAllFiles -bool false
    
  • 命令运行之后需要重新加载 Finder

    快捷键 Option + Command + ESC,选中 Finder,重新启动即可

1.2 Finder 快捷键

在 macOS Sierra(10.12) 版本的系统中,我们可以使用快捷键⌘⇧.(Command + Shift + .) 来快速(在 Finder 中)显示和隐藏隐藏文件了。