Charles 是Mac上一款非常流行的抓包软件 , 但其实各大平台上 Charles 都有安装包。这篇文章主要就是讲一下在 Linux 平台上(Debian/Ubuntu) 系上安装 Charles 。
使用 APT 源安装
Charles 拥有 APT 源,首先安装 PGP 公钥,当前公开的秘钥为 1AD28806, 他的 fingerprint 为 4BA7 DB85 7B57 0089 7420 96E1 5F16 B97C 1AD2 8806:
wget -q -O - https://www.charlesproxy.com/packa
Read more ...
计算机中通常所说的寄存器 Register 一般指的是 CPU 中的寄存器,用来暂存 CPU 处理所需要的指令,数据等等。 Vim 中同样也有寄存器的概念,使用的方式和概念也和 CPU 是非常类似的。
Vim 的寄存器可以看成 Vim 中额外用来存储信息的区域,虽然看不见,但是如果使用 x, s, y, p 等等命令的时候都无意识的使用到了 Vim 的寄存器 (register).
Vim 中每一个 register 都可以通过添加双引号的方式来访问,比如 "a 来访问 a 寄存器。
可以通过选择然后使用 y 来将内容放到寄存器中,比如 "ay 来
Read more ...
normal 命令指定是 Vim 下可以通过 normal 来指定执行 Normal 模式下的命令,以便于达到快速编辑大量文本的操作。
比如说要批量注释一批代码,需要在行前插入 #
替换:
:%s/^/#/g
visual block:
gg<Ctrl-v>I#<Esc>
注释第一行后用 dot command 重复执行每一行
.
我们可以用 normal 命令实现上述需求,步骤:
光标定位到首行,执行:
I#<Esc>
选中之后的所有行
jVG
然后执行
:'<,'>n
Read more ...
Vim 的设计哲学中有这样一句话:”if you write a thing once, it is okay. However if you’re writing it twice or more times, then you should find a better way to do it”.
Vim 的 Macro 就是用来解决重复的问题。在 Vim 寄存器的文章里面已经对 macro 有所涉及, macro 的操作都是以文本的方式存放在寄存器中。
简单使用
录制 macro,在普通模式下使用 q + [a-z] 26 个字母中的一个:
Read more ...
很早开始我就使用 haroopad ,同样是一款简洁,跨平台的 markdown 编辑器,而在 Linux 平台除非遇到特殊情况想要仔细预览效果,我也一般都只在 Vim 中直接以纯文本形式编辑 markdown。但是为什么要再来试用这样一个编辑器呢,一是我不止一次得看到别人推荐,二来也是好奇心作祟。
Typora 一如她官网 —- https://typora.io/ 的简洁。没有多余的元素,直接面向文本,好评。下面也不用介绍他的功能多少多少,这种一般直接看他的官方 feature 介绍,看使用帮助就行。下面就介绍几个比较让我开心的功能。
更加快捷的
Read more ...
Windows 上有 ipconfig ,Linux 上有一个类似的工具,就是 ifconfig (interfaces config)。ifconfig 工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。
慎重提示:下面的所有相关命令,在清除明白其含义之后再输入到终端,另外不要远程到服务器执行,下面的命令可能导致远程服务器网络配置异常
命令格式
ifconfig [device] [parameter]
命令功能:
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
命令参
Read more ...
Headless 最早的时候在 PhantomJS 听说过这个概念,后来在 GitHub 各种项目中总有人不断提起这个概念,而最新看到的新闻便是 Chrome 开始支持 Headless,也正激起了我了解的欲望。
什么是 Headless Chrome
Headless Chrome 是一个没有前台界面,只在后台运行的浏览器。浏览器正常的所有解析,渲染都可以由其完成。而开发者可以通过 client 和这个浏览器建立连接,通过 Google 提供的 Chrome DevTools Protocol 协议 来进行交互。总的来说 Headless 浏览器提
Read more ...
Vim 本身有很多快捷键,vimrc 也可以配置很多快捷键,当然 Vim 也支持将不同的键映射到不同的键或者命令上。
最常见的键映射就是
nmap
vmap
imap
分别对应着修改普通模式 (Normal) ,选择模式 (Visual),和插入模式 (Insert) 下的键映射。
对于这几种模式,可以参考 Vim 模式
Map 命令
其实对于 map 命令的种类远不止于此
noremap 非递归映射 non-recursive
nmap
vmap
imap
cmap 在命令模式下生效
递归映射的意
Read more ...
全局命令 :g 在 Vim 中有着意想不到强大的功能。当想要在整个文件中对于匹配的行或者不匹配行进行一些操作时,应该第一时间想到这个 :g 命令。
:[range]global[!]/{pattern}/{command}
简写可以写成
:[range]g/pattern/command
[range] 指定文本范围,默认为整个文档
pattern 在范围 range 内的行如果匹配 pattern,则执行 command
! 表示取反,也就是不匹配的行,也可以使用 vglobal
command 默认是打印文本
整个命
Read more ...
Kibana 的查询语法基于 Lucene 的查询语法,他允许 boolean 值,通配符,过滤器等等操作。
字符串查询
通常一个查询会包含一个或者多个单词或者组合。一个简单的查询语句就是用引号包含的一组词,比如 “search demo”.
如果不包含双引号,Kibana 会单独的去匹配每一个词。
正则表达式查询
大部分正则表达式是允许匹配部分字符的,然而在 Lucene 中,正则表达式用来匹配整个字符串,比如 abcde 这个字符串
使用 ab.* 能够匹配
但是使用 abcd 是不能匹配的
正则表达式中,有一些保留字符
.
Read more ...