在 macOS 中输出文件结构树形文本图

看到标题你一定会想:「文件结构树形文本图」,这是什么鬼?其实就是如下图所示的这个东西:

在 macOS 中我们只要安装了 「tree」 这个命令行工具,就可以轻易地获取这个功能,安装很简单:

是不是很简单?使用的前提是你要安装过 Homebrew

删除 GarageBand 留下的垃圾文件

GarageBand 基本上是我每次必删的一个 APP(无论是 Mac 还是 iOS 上),然并卵,Mac 的磁盘管理器上一看,他还是占用了 2.6G 的空间,使用清理工具或者系统自带的工具都没法删除。于是 Google 了一下,找到了办法,删除如下文件即可:

Macintosh HD/Applications/GarageBand.app (1.16GB)
Macintosh HD/Library/Application Support/GarageBand (995MB)
Macintosh HD/Library/Application Support/Logic (880MB)
Macintosh HD/Library/Audio/Apple Loops (up to 10GB)*

El Capitan 中使用 SecureCRT 访问跳板机

最近做个项目需要访问跳板机(堡垒机)中的 Oracle 数据库。需要 ssh 到某一个 IP,转发到本地 127.0.0.xxx IP 中的某一个端口。

Windows 下使用 SecureCRT 进行这个操作时溜溜的,到了 Mac(10.11.2) 下面就嗝屁了,具体表现为:

1. SecureCRT 中每次连接服务器都会提示输入密码,超级麻烦;
2. 全部设置好了以后依然无法连接到跳板机。

搜索之,翻了一大圈(使用中文关键词「mac securecrt 跳板机」),出来的结果都不甚理想。后来实在不甘心,在家大便的时候使用英文关键词搜索「mac securecrt port forwarding」,终于在官网找到了答案,现整理如下:

1. 打开 SecureCRT,按 ⌘ + , 进入偏好设置, General 中去除勾选「Use Keychain」,解决连接时保存密码不成功的问题;
2. 打开终端,输入下面的命令,绑定本地 IP(根据具体需求修改 xxx 部分);

3. 选中当前连接,按 ⌘ + enter,进入 Property 设置,选中 Port Forwarding,添加相应的转发规则(方法);
4. 双击连接,成功。

PS:SecureCRT 与第三方输入法配合使用时,会出现 Console 中无法使用快捷键(比如 ⌃ + C 中断)的现象,切换为原生英文输入法就好了。

Dash with Alfred

平时写代码总是会遇到查询相关文档、手册的时候,这时一个个去打开网站略显繁琐,直到我发现了Dash这个工具。

Dash支持市面上几乎所有的主流编程语言的文档本地化,其使用界面大致如下:


这个工具最妙的地方在于,可以跟 Alfred 这个神器结合起来使用,方法如下:

1. 打开Alfred的设置面板;
2. 选择Features->Web Search;
3. 点击右下角的Add Custome Search按钮;
4. Search URL处填入 dash://{query} ,Title随便填,Keyword填写dash,你也可以直接在Search URL处填写如下代码后确定直接导入我的配置

5. 使用的时候,首先激活alfred搜索窗口,然后输入 dash+空格+你的dash查询命令即可

dash的查询命令可以在其设置面板中的docsets面板中进行设置,如果你要搜css文档下的position属性,那么dash中的查询命令是css:position,如果放在Alfred中的命令就是dash css:position。

Hava fun!

compass with sass

前段时间将项目里面的css文件全部转换为使用sass(.scss)来管理,迁移工作十分顺滑。其中主要就归功于compass的功劳。

compass是一套基于ruby的,自动化编译sass文件为css文件的工具,使用相对简单:

1. 安装ruby环境(如果你是Mac用户,那么可以忽略此条,windows用户可以参考官方安装文档);
2. 安装sass(同第一条,如果你使用Mac环境,系统就已经内置了sass引擎,如果是其他系统单独安装,请参考官方安装文档);
3. 安装compass,打开终端,运行如下命令

4. 在终端中,将操作路径切换至项目所在目录,运行如下命令创建初始化项目

如果你想在一个已有的项目中启用compass,只需要切换到项目目录,运行

5. 此时终端中会返回一大串的文字,也就是帮助文档了,项目里面会有一个最基本的目录结构,默认情况下,会把sass目录中的.sass/.scss文件编译后以.css文件的方式存放到stylesheets目录下,通过config.rb来修改默认配置。
6. 使用的时候,在终端输入compass compile,会进行一次编译,输入compass watch,会监听sass目录下文件的变化情况,只要文件保存就会编译一次。

Have fun!

PS:有一个很坑爹的问题在于,使用gem的时候,由于源服务器被墙,下载失败的话,请挂全局代理后安装相关软件。

OSX Yosemite Basic IPv6 Validation Error

Yosemite 真可谓是 BUG 连连,奇葩事一箩筐,网络偏好设置里面的 IPv6 默认开启而且还不提供关闭的选项。每次保存TCP/IP设置的时候,就会弹出错误提示“Basic IPv6 Validation Error”并保存失败,以至于无法自定义固定 IP,只得 DHCP 动态获取,这样的状况能忍吗?

搜索了一大圈,有一些解释,但都无法适用于我的情况(使用 Thunderbolt 转 RJ45 上有线网)。折腾了数小时后,终于找到了办法,如下:

1. 打开终端,输入命令

2. 找到 Thunderbolt 开头的 Ethernet 接口名(如需操作WiFi就使用Wi-Fi),复制之;
3. 输入命令,关闭 IPv6(将 Thunderbolt Ethernet 2 改为你自己的接口名)

4. 手工设置新的 IPv4 地址(此处根据自己需求修改)

收工。

Mac 解压后中文文件名乱码

感觉 Mac 和 Windows 中的很多东西就是互相做着来互相恶心用的,压缩包+中文文件名的文件就是其中之一。

由于 Mac 文件名用了 UTF-8,而 Windows 貌似是某些奇葩的格式,所以在 Mac 下对中文文件名进行压缩以及解压 Windows 压缩后的中文文件名都会出现乱码。

使用第三方软件(betterzip、keka)进行压缩,可以解决 Windows 下打开 Mac 压缩过后文件夹内中文文件名乱码的问题,那么 Mac 下打开 Windows 压缩的呢?

试了半天发现了奇葩的办法:使用 Mac 自带的解压缩工具打开就可以了

Yosemite 下安装 PIL (Python Imaging Library)

项目里需要导入 pil 包,要不跑不起来,于是在终端输入

提示找不到匹配的安装包,手动到官网下载也无法正常安装。

搜了一圈终于找到了解决方案

问题解决,妈妈再也不用担心我的环境跑不起来了~

Mac OSX 升级 PHP

Mac 上其实自带了 PHP,但是版本比较老旧,自己安装了新版的 PHP 以后,在终端里查询后发现,自己运行的依然是旧版本,折腾一番后解决了问题,步骤记录如下:

1. 安装 PHP:

2. 输入命令

修改PATH为

此处你也可以酌情根据自己的需要修改

3. 输入命令

4. 升级成功,测试一下: