之前一篇文章 已经分享过 [[Tmux]] 的基本使用。这一篇就来总结一下 Tmux 下常用的插件。
Vim 有自己的插件管理系统,zsh 也有插件管理,那当然 Tmux 肯定有插件管理,其实学习 Tmux 的过程中,和 Vim 当时一样,所有的拷贝,粘贴的内容都是在 Tmux 和 Vim 的内部,和外部操作系统的粘贴板完全隔离了,我就是为了解决这个问题,才接触到了 Tmux Plugin Manager。
我个人的 Tmux 配置文件,可以参考我的 GitHub。
Tmux Plugin Manager
Tmux Plugin Manager 是
Read more ...
Log4j 是一个可靠的、高效的、快速可扩展的日志框架,Log4j 使用 Java 开发,已经被移植到了很多主流语言,比如 C, C++, Perl, Python, Ruby 等等。
Log4j 可以通过外部文件配置来定义行为,Log4j 为日志输出提供了不同的目的地,比如可以将日志输出到控制台,文件,数据库等等
也可以控制每一条日志的输出格式;
通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。
这一切都可以通过一个配置文件来灵活地进行配置,而不需要修改应用代码。Log4j 是 Apache 的一个开放源代码项目。
Read more ...
因为平时使用 SmartGit 这样一个 Git client,所以也没有太大注意 Git 中不同阶段撤回的方式,虽然平时接触过 git reset 的 --soft 和 --hard 来撤销已提交的 commit,但没有形成一个系统的知识体系。大家都知道 Git 是一个分布式版本控制,所以 Git 会有一个本地库,和一个远端库,而平时提交代码的时候,一般也都是先从本地工作区提交代码
git add .
git commit -s
git push
这几个步骤,虽然平淡无奇,但是展开说,就体现了 Git 的重要的环节,一段代码的提交顺序:
工作区
Read more ...
MyBatis 是 Java 系的 ORM(Object Relational Mapping) 框架,提供了非常简洁的编程接口。用简单的话来说就是可以将数据库表映射到 Object 中 MyBatis 就是中间辅助处理的框架。
类似于 Python 中的 [[SQLAlchemy]]。
整体架构
分为三层
基础支持层
核心处理层
接口层
基础支持层包含了如下模块
反射,封装了原生反射接口
类型转换,别名机制,JDBC 类型和 Java 类型装换
日志,集成第三方优秀日志框架
资源加载,类加载器封装,确定类加载
Read more ...
pandas 基于 numpy 构建,可以提供强大的数据处理分析能力。
两种数据类型,series 和 dataframe
数据集
英国政府 https://data.gov.uk/data/search
美国政府 http://catalog.data.gov/dataset
Kaggle https://www.kaggle.com/
Series
series 是一种一维数据类型,每个元素都有各自的标签。可以当成带标签元素的 numpy 数组,标签可以是数字或者字符。Series 可以用元组、列表或者字典生成,如果没有为数
Read more ...
nltk 是 Python 下一个自然语言处理相关的库,可以方便的实现分词,词性标注等等。
安装
pip install nltk
然后在终端执行 python, 进入交互式编辑环境
>> import nltk
>> nltk.download()
下载相关模块
分词
nltk.sent_tokenize(text) #对文本按照句子进行分割
nltk.word_tokenize(sent) #对句子进行分词
词性标注
nltk.pos_tag()
词形还原
from nltk.stem import
Read more ...
frp 是 fatedier 的开源项目,frp 是一个高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务,支持 TCP, UDP, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
frp 用法和 ngrok 相似,但是 frp 比 ngrok 更加优秀。 配置过程很简单,但是也遇到一些问题,所以把过程记录下来。
frp 作用
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可
Read more ...
Git 作为分布式版本控制系统,所有修改操作都是基于本地的,在团队协作过程中,假设你和你的同伴在本地中分别有各自的新提交,而你的同伴先于你 push 了代码到远程分支上,所以你必须先执行 git pull 来获取同伴的提交,然后才能 push 自己的提交到远程分支。而按照 Git 的默认策略,如果远程分支和本地分支之间的提交线图有分叉的话(即不是 fast-forwarded),Git 会执行一次 merge 操作,因此产生一次没意义的提交记录。
在 pull 操作的时候,使用 git pull --rebase 选项即可很好地解决上述问题,使用 -r
Read more ...
Linux 下按照正则过滤文本的命令 grep 非常强大,grep 能够把正则匹配的行打印出来。而 zgrep 则能够对压缩包内容进行正则匹配。zgrep 全称是 search compressed files for a regular expression
grep 的命令格式是
grep [option] pattern files
他的工作方式是,在一个或者多个文件中根据正则搜索匹配内容,将搜索的结果输出到标准输出,不更改源文件内容。
grep 常用的一些选项
-i 忽略字符大小写区别
-v 显示不包含正则的所有行
关于更
Read more ...
jhead 是一个可以查看,修改照片 EXIF 信息的命令行工具,没有 GUI。
jhead 可以查看:
Time and date picture was taken
Camera make and model
Integral low-res Exif thumbnail
Shutter speed
Camera F-stop number
Flash used (yes/no)
Distance camera was focused at
Focal length and calculate 35 mm equ
Read more ...