程序猿的MacOS环境(一)

每个江湖上的高手都有自己趁手的兵器,你也应该有你自己的那把小李飞刀。
小李飞刀这个兵器还真不是突然想到的。

要是问我什么不是方天画戟、青龙偃月刀、丈八蛇矛云云,或者为啥不是独孤求败的利剑、紫薇软剑、玄铁重剑之类的。我就呵呵了,你见过哪个道法高深的神仙,随身手里扛着这么大的兵器,关二哥拉屎时应该不会扛着青龙偃月刀吧。

小李飞刀则不然,随身携带,杀伤力不弱于其他,最重要的其实是小李飞刀是在浪子李寻欢手里,李寻欢此人是一个倾倒天下多情红颜的潇洒浪子,一个重情重义的悲情英雄,一生都被身心的痛苦折磨,却又不轻易显示喜怒哀乐,复杂的内心情感全靠眼神表现。所以计算式小李飞刀只是在百晓生兵器谱上排第三,我还是更喜欢,也许我是不喜欢天机老人的懦弱,和上官金虹的恶霸行为。

有人说,自古没有最厉害的兵器,只有最厉害的人。也是,孤独前辈的第四把剑就是木剑,“四十岁后,草木竹石均可为剑”,何其雄壮,人家有傲视群雄的本事的啊,这境界太高了,没几个能达到的。

我不反对上面的观点,但是顺手的兵器总也是能为平庸的人增添战斗力,要不然那么多人去抢倚天剑、屠龙刀。

废话太多了哈。。。😁

作为一坨程序猿,我想表达的意思是打造自己最趁手,最适合自己工作的工具----要不换个标题:MacOS系统上常用的软件和插件。

关键词:程序猿、MacOS

所以我要说微信,QQ之类的估计您的揍我了。

先推荐两个资源下载地址:

xclient.info
爱情守望者

必备应用:

  • git客户端:gitKarken,sourceTree
  • 接口测试工具:postman
  • 笔记工具:为知笔记,印象笔记
  • IDE:Intellij Idea,VS code,Emcas
  • markdown写作工具:Typora
  • 翻墙客户端:Shadowsocks
  • 手机投屏软件:Vysor,有谷歌浏览器插件
  • 硬盘U盘读写软件:Tuxera Disk Manager

一些在线工具和网址:

发起在线问卷调查:https://www.wenjuan.com/
在线定时任务执行写法工具:http://cron.qqe2.com/
国际推荐使用:https://cdnjs.com/
下载系统及工具:http://msdn.itellyou.cn
优雅高效的免费在线APP原型工具 http://www.xiaopiu.com/
showdoc文档工具:https://www.showdoc.cc/web/#/
各种java工具:http://www.hutool.cn/
在线无损压缩图片:https://squoosh.app/
生成短链接:http://www.surl.sinaapp.com/
在线工具集合:http://oktools.net
在线工具集合2 :http://www.atoolbox.net
mockjs: http://mockjs.com/
lisp里json转edn/map:http://pschwarz.bicycle.io/json-to-edn/

1. shell客户端

iterm2截止目前最喜欢的shell客户端,没有之一,之所以加个截止目前,是因为今年用emcas,都说这里面的shell也很赞。

做后端开发,经常要快速进入某一台远端服务器,然后看个log,改个配置啥的,这时候iterm+sshpass就能让你事半功倍了。
关于怎么配,此处不再细说。

wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz  
tar xvzf sshpass-1.05.tar.gz  
cd sshpass-1.05
./configure  
make  
make install  

[站外图片上传中...(image-aefec1-1572691340926)]

推荐两个网友的杰作,一个安装,一个使用。
mac下使用sshpass实现ssh记住密码
Mac下,使用sshpass让iTerm2支持ssh登录信息保存

安装sshpass有问题的用户,可以试试

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
Updating Homebrew...
Warning: Calling Non-checksummed download of sshpass formula file from an arbitrary URL is deprecated! Use 'brew extract' or 'brew create' and 'brew tap-new' to create a formula file in a tap on GitHub instead.
######################################################################## 100.0%
==> Downloading http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz
==> Downloading from https://netcologne.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/sshpass/1.06
==> make install
🍺  /usr/local/Cellar/sshpass/1.06: 9 files, 45.8KB, built in 9 seconds

安装成功。

iterm里另一个不得不用的是ZshOh My Zsh家庭套餐,点到为止,网上一搜一大把,选个自己喜欢的theme用就行了。

iterm2的profiles里执行一个登录的命令

/usr/local/bin/sshpass -f /Users/mahaiqiang/Documents/sshpass/<file_name> ssh -p<port> marvin@ip

file_name 只存储这个ip对应的用户登录密码,而且文件没有后缀。

如果没有安装成功sshpass,也可以用iterm的命令行模式,执行一个shell脚本,脚本的内容可能荣幸

#!/usr/bin/expect -f
set user <user-name>
set host <ip>
set password <password>
set port <port>
set timeout -1

spawn ssh -p $port $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof

High起来吧

  • 2020-10-04
    json_pp,json_pp 我主要是用来格式化 curl 命令行的结果,例如测试某个 restful 接口,返回的 json,在命令行就会自动给你格式化好输出,json_pp 安装:brew install jsonpp

2. Navicat Permium

Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。

数据库工具在Mac上我比较钟情这款,导入导出都很方便,其他不推荐。不要说不是免费版,我相信你一定有办法免费,而且你还能搞个汉化版。

在Windows我用的最多HeidiSQL,轻量级,非常稳定的数据库客户端。是可惜没有mac版。

3. transmit

相同功能的我还用过的filezilla和WinScp,但是从体验和视觉上来说,我更喜欢transmit,简洁直观

transmit

4. tinyCal

这个小日历可了不得,试图比mac自带的日历小,但是又比mac状态栏上那个还不如没有日历表好。截图如下:

tinyCal

还有农历,看着不错吧,在设置个开机自启,系统自带的可以关闭了。

5. Alfred

这个是在去年在海尔一起工作的小唐同学那里看来的,直接抄一下原创:
Alfred作为老牌效率神器,网上很多帖子都已经做过介绍,这里说一下Alfred的剪贴板。

[站外图片上传中...(image-2652a3-1572691340926)]
Alfred的剪贴板可以保存最近几天位于系统剪贴板的所有内容。因此如果当键入命令时,突然想起来这个命令我昨天好像复制过,那就可以直接调出来,贴进命令行即可。

这款神器可是Best-App排行NO.1的,可见一斑。

使用教程:5分钟上手Mac效率神器Alfred以及Alfred常用操作

6. LICECap 捕捉屏幕生成GIF

brew cask install LICECap

相对应的截图软件推荐xnipapp一款免费的截图软件,还支持滚动截图,离线操作。

7. Recorder it

屏幕录制软件,可以在xclient.info上下载到。

8. keycastr 显示快捷键

在你想做一个教程时,不管是gif了,还是录屏了,你或许在冥思苦想到底怎么解释我在键盘上按了啥,这回不用解释了,你按了啥有软件帮你显示出来了,简单明了。

brew cask install keycastr
keycastr

配合上生成gif搞个小教程简直不要太爽。

9. ssh tunnel

再复制小唐同学推荐的一个神器ssh tunnel。

场景:

我们需要搭建开发环境,使得本地的web server/api server 能够访问位于云服务器上局域网环境中的数据库,例如百度云提供的数据库服务。这些数据库服务器可以在百度云的机器上直接访问,而不能在公网环境下通过公网ip访问。这个时候可以用百度云的普通server建一个tunnel,从而实现数据访问。在xshell中也有类似功能,中文翻译做:隧道。

界面展示:

image

如图便是建立了三个tunnel,分别连向了两个关系型数据库服务器和一个redis服务器。
举例来说第一条隧道连接,使用时的访问方法,就是直接localhost:13306即可。
当然,直接用ssh命令也可解决,但麻烦不是。程序员就应该能偷懒的时候尽可能偷懒,美其名曰:解放和发展生产力~
命令行:

ssh -CfNg -L 16306:postgresql94.rd*****lwr2zr.rds.bj.baidubce.com:3306 root@180.***.***.189

原作者:tangxqa

10. PicGo

图床,上传图片后直接将复制复制到了粘贴板,非常方便,尤其要写markdown

PicGo

brew cask install PicGo

如果常写markdown的话,绝对是个不错的选择,谁还每个github账号,合理使用资源就行了,图片拖进上传区,直接就能返回来个markdown的地址放到粘贴板里了。至于怎么利用github做图床自行google下。

11. Charles抓包工具

Charles是一款抓包代理调试工具、类 Fiddler。
ios系统手机上有一款抓包神器:stream
安卓手机上一般用:Packet Capture,或者抓包精灵

12. 内网穿透工具

这个东西不常用,但是如果不知道还有个这么个玩意儿那就有点low了。
我用过serveo和ngrok,ngrok相对稳定,但是使用便捷性赶不上什么都不用serveo一句命令的快。
我的两个总结:
使用serveo一秒钟实现内网穿透
使用ngrok一分钟实现内网穿透

13. 为知笔记|印象笔记

有时候你会有两台电脑,或者需要用移动端看看曾经报错的一些有效资源,这时候如果没有个云笔记,有点说不过去了,而且这种笔记不管是保存自己的东西,还可以通过google浏览器插件快速收藏网页,将某
一篇博客剪切成自己的东西笔记。

[站外图片上传中...(image-7835d8-1572691340926)]

14. Parallels虚拟机神器

带你飞~

15. LogTail 日志监控查看工具

前面说到的iterm配合sshpass登录到服务器不是个啥问题了,但是最近用的不管是阿里云和百度云的ECS,在终端连接一会儿后就会自动断开,而且我也不知道咋搞,就算是tail 了,一会儿没有动就自己断开了,非常糟心。

今天终于找到了一款我众里寻他千百度的logtail,我简直爱死他了,查看云服务器日志居然还有这么个玩意儿,简直神器啊,来两张图看看:


我收藏的标签
滚动时自动开始/停止tail
标签功能

有了它服务器上的日志就不需要搭建类似ELK或者EFK环境了。

16. mpv:一个高可配的程序猿专用视频播放器

安装:

brew cask install mpv

这是一款一个跨平台、简洁、开源、免费、且性能和功能兼备万能视频播放器。MPV 是一个基于 MPlayer 和 mplayer2 的开源极简全能播放器。支持各种视频格式、音频解码、支持特效字幕(电影动漫的ass特效字幕都没啥问题),不仅支持本地播放,同样支持网络播放。重点是 MPV 具有多系统平台支持、命令行、自定义、GPU 解码、脚本支持等特点……

看这篇介绍

17 Moom

或许有许多人和小编一样,感觉Mac OS在使用时各种都很好用,但是就是对于窗口大小的调整需要用鼠标去拖动大小不满意。

那么有没有一种更为快速的方法,可以让你迅速的最大化、最小化各种窗口,甚至和WIN10系统一样做到左右对半分配两个窗口呢?当然有!只需要在你的Mac上安装Moom这一款小软件即可实现。

Moom是苹果os平台上优秀的窗口管理工具,可以快速修改当前窗口的大小并放置在指定位置,默认情况下拥有五种尺寸可选,单击选项即可更改窗口大小,如最大化,移动到左边、右边等操作,还可以自定义窗口,让用户可以更好的查看mac上的内容。


moom

18. PopClip

一款在 Mac 上人尽皆知的小工具,它简单高效,具有强大的拓展功能,PopClip 最基本的功能即用鼠标选中一段文字就可以做复制粘贴的动作,省去了我们平时 Command+C or V 的麻烦。

除此之外,再无拓展支持的情况下,根据鼠标选中的内容,PopClip 还自身支持链接的跳转打开、自带词典的翻译、邮件地址跳转、搜索引擎搜索、单词纠正等功能,但这个工具真正强大之处在于它的拓展功能的使用哦。


image.png

小插件

  1. Bartender
    展开和收缩状态栏


    image.png
  2. 外接2K显示器无法开启hign dpi时的处理

开启教程:https://bbs.feng.com/forum.php?mod=viewthread&tid=11669269&page=1
用到的三个软件:

image

设置完成之后,在外接显示器也可以看到hign dpi的选项:

image
  1. Go2Shell
    在访达里增加一个打开命令行的快捷入口,快速进入命令行


    image.png

还可以设置在哪打开


image.png
  1. FeHelper
    一款谷歌浏览器插件,主要是免费的工具集合。


    FeHelper
  2. Octotree
    这又是一款chrome插件,能将github项目在左侧边栏以目录树形结构展示。让你更直观地感受自己或别人的项目。感谢@朋友你的学生卡掉了 同学的推荐


    image.png
  3. WeChatPlugin mac
    mac微信助手,mac微信助手,功能全新升级,有很多比如消息防撤回、远程控制(已支持语音)、微信多开、第二次登录免认证等等的功能。

推荐

工欲善其事,必先利其器-程序员工具推荐
正是有了这些神器,让我再也离不开Mac!

推荐阅读更多精彩内容