本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或从新修改使用,但须要注明来源。 署名 4.0 国际 (CC BY 4.0)html
本文做者: 苏洋node
建立时间: 2018年09月20日 统计字数: 14008字 阅读时间: 28分钟阅读 本文连接: soulteary.com/2018/09/20/…git
在上面聊聊磨刀里,我简单写了提纲,那么就按照顺序,先来聊聊 桌面环境
吧。程序员
说到桌面环境,不得不提,个人桌面环境是一张很长的写字台,目测能够容纳两台34寸带鱼屏显示器,除了写代码、看电影以外,还能用来吃饭...github
玩笑开罢,咱们言归正传,聊聊软件领域的桌面环境。算法
那么,咱们先聊聊硬件。chrome
若是你已经拥有硬件,并不打算进行更新,能够跳过本节部分或所有,进行硬件配件
或者软件部分
的阅读。docker
如下原则创建在可以知足基本使用需求的前提下。shell
硬件相比软件而言,虽然单次投入成本较高,可是做为长期使用的设备而言,实际成本并不算特别高。若是你是“水果用户”,硬件存留价值还不错,能够在二手市场里进行流通回血,举个例子,3、四年前的15寸顶配,如今出手还能换回 6000+ 大洋。npm
不过近两年来随着 Mac Book Pro
病态的追求轻薄,带来了蝶式键盘故障、屏幕被高温烘烤脱落保护膜等问题频发,若是不考虑便携性单单追求极致性能,寻找已经被国内外网友普遍验证过的硬件列表,临时使用“黑苹果”过分也谈得上是一个解决方案。这里不作过分讨论,好奇的同窗能够去tonymacx86或者国内一些专一折腾黑果的论坛寻求具体的方案。
前面有提到,做为工做和学习的基础环境,咱们的衡量标准是运行稳定可靠、数据安全无虞,因此预算充足的状况下,请优先支持官方正版,毕竟只要是保期之内的设备出了问题,到天才吧和官方合做维修点都是免费维护的。
截止我写下这篇文章的时间点,不推荐任何 Mac mini
相关的产品,CPU 太过陈旧,彻底没法知足平常高效率使用,若是预算特别多,垃圾桶却是能够考虑:一台系统稳定可靠的性能怪兽兼桌面工艺品。
选择硬件务必选择视网膜屏幕,不管你使用 Windows
、Linux
、OSX
,做为长时间使用的桌面设备,尤为是可移动桌面设备,更清楚的显示效果带来的愉悦完美印证了一句老话:从简入奢易、从奢入俭难。
至于储存设备,轻度使用 8G
内存恰好,重度使用务必 16G
及以上,这个设备是没法更换的,硬盘大于 256G
便可,将来有需求,能够更换扩容、可使用外部储存器、可使用 NAS
,并且长期来看,储存器容量必定是愈来愈大,愈来愈便宜的,因此若是你需求不大,不须要一次性买顶配的 1T
、2T
,除了你不想折腾,兜里余额充盈。
至于 CPU
其实没有太多选择,同尺寸高配低配之间差别没有想象中的大,若是你不是一直在进行软件编译操做、视频渲染操做的话。固然,这里要把 Mac Book 12寸
单独摘出来讲,Kaby Lake
的处理器比较适合轻度使用,频繁抱着笔记本穿梭写字楼的同窗。
说到桌面周边,种类不少,选择也不少,可是大类上无非是 散热器
、外置显卡
、外置储存
、各类转接线
、显示器&投影
、音响
、鼠键
。
这里只推荐一套设备,显示器 搭配 升降支架,若是你有平板的话,也能够考虑买一个 duet
的受权,将平板或者手机变身为扩展屏幕使用,效果也能接受,还支持触屏操做,并可以镜像 Touch Bar
。
推荐理由也很简单,桌面移动设备更多考虑的是便携性,因此不得不牺牲了屏幕尺寸,平常使用中,更大的展现空间可让你更专一于当前的工做,避免无心义的窗口切换和工做区整理。固然,雷蛇有一个另类的解决方案,今年出过一款奇葩的三折屏笔记本。
而升降支架能够更好的调节显示器的角度,调整视距,让你阅读内容体验更好,颈椎更舒服。购置的时候,注意力臂最大承重重量能 hold 住你的显示器就好。
若是你以为外设都是拖累,不管是不想看到桌面多余的电源线、仍是不想购置支持无线投屏的显示设备,可是想要有更大的显示区域,不妨使用 OSX
的“辅助功能 - 缩放”,进行局部放大,得到更好的体验。
整体而言,外设是深坑,建议量力而行,别应了戏谑的卡巴打油诗“三千预算进卡巴,四路泰坦抱回家”。硬件先聊到这里,咱们聊聊软件。
在说软件以前,咱们先来聊聊系统。
不管是何种操做系统,在使用的过程当中,都会产生许多用户数据,其中有一类不是很起眼,可是很重要的数据即是配置数据;还有一类一样不起眼,可是更重要的数据是认证数据。
系统相关、或者使用 Safari 过程当中,能保存或者识别的数据一概使用系统的钥匙链进行管理。
在打开 iCloud 以后,多台设备能够无感知进行同步,包括你信任的自签证书。
做为 Web 开发相关人员,平常使用 Chrome 进行浏览和辅助开发,因此这里也会保存一部分网站数据。
可是不是全部网站都可以很好的使用上面两个“密码管理”工具进行查看和自动填充。这里推荐一套开源密码管理工具,能够替换大名鼎鼎的 1Password
进行使用:
MacPass
)
固然,若是你担忧直接使用做者提供的插件,和其余的某些大名鼎鼎的插件同样,在被三方收购后,疯狂采集用户隐私,能够单独使用 KeePass 或者把插件源码下载后,使用开发模式单独加载插件。
我我的从14年到如今,使用过的 MacBook Pro
不下十台,做为开发者,每次更换设备,最厌烦的一件事就是从新配置系统。
去年到如今,算上换公司、我的和妹纸升级笔电、公司内部统一升级设备,一共配置了起码 6台设备。
实在忍无可忍,因而把基础环境所有使用 CVS
进行的管理,同时避免进行过分配置,作到了环境配置跟着我走、环境相对简洁,长期可维护易升级。
下面来讲说我是怎么作的。
个人我的 GitLab
中有一个分组保存了各类设备中的基础配置,从开发机到路由器,再到 NAS 、云主机等。
常和服务器和 Git CVS
交互, ssh
的证书凭证管理很重要,可是上面提到的软件们是不太好进行证书的管理和维护的。
将 .ssh
做为独立的仓库进行管理是一个不错的选择,惟一的瑕疵是全新的设备第一次使用比较麻烦,须要先生成全新的 rsa-key
将仓库下载,而后再将新设备的证书凭证保存到仓库中。
这里有一个额外的小经验,在使用过程当中,证书和设备都会愈来愈多,可使用 config
配置支持的 include
命令将证书和配置进行拆分,更好的管理。
举个例子,若是规划目录为下面的样子:
├── config
├── config.d
│ ├── aliyun
│ ├── google
│ ├── home
│ ├── outdoor
│ ├── tencent
│ └── vultr
├── keys
│ ├── aliyun
│ │ ├── id_rsa_aliyun
│ │ └── id_rsa_aliyun.pub
│ ├── github
│ │ ├── id_rsa_github
│ │ └── id_rsa_github.pub
│ ├── home
│ │ ├── home-route-pear
│ │ └── home-route-pear.pub
│ ├── linode
│ ├── id_rsa_linode
│ └── id_rsa_linode.pub
├── known_hosts
复制代码
只须要在 config
文件中经过 Include
指令将其余目录具体配置引入便可。
Include config.d/aliyun
Include config.d/vultr
复制代码
对应配置内容固然也要作必定的修改:
Host some-device
Hostname 123.456.789.012
Port 12345
User USER_NAME
IdentityFile ~/.ssh/keys/device/rsakey
ControlPersist yes
TCPKeepAlive yes
Compression yes
ForwardAgent yes
复制代码
若是你要在 OSX 上使用 GPG,记得将下面的命令填入你的 Shell 的默认配置中。
# Add the following to your shell init to set up gpg-agent automatically for every shell
if [ -f ~/.gnupg/.gpg-agent-info ] && [ -n "$(pgrep gpg-agent)" ]; then
source ~/.gnupg/.gpg-agent-info
export GPG_AGENT_INFO
else
eval $(gpg-agent --daemon --write-env-file ~/.gnupg/.gpg-agent-info)
fi
复制代码
时常有人开玩笑的说,alias 是程序员的宝藏,我的认为说的是有几分道理的,熟悉以后,能够大大提高效率。
我我的根据用途将 alias 分红了一些不一样的脚本进行存放,好比下面这样:
.
├── README.md
├── _include.sh
├── docker.sh
├── git.sh
├── index.sh
├── list.sh
├── network.sh
├── npm.sh
├── shortcut.sh
├── source.sh
├── ssh.sh
├── template
├── time.sh
└── utils.sh
复制代码
其中一个文件做为入口,使用 source
将不一样的文件聚合起来。
#!/usr/bin/env bash
BASE_DIR=$HOME/.alias
source "${BASE_DIR}/docker.sh"
source "${BASE_DIR}/npm.sh"
复制代码
和 ssh 小节中同样,在你的 Shell 默认配置中添加引用代码,让你的 alias 能够自动生效。
[ -s "$HOME/.alias/index.sh" ] && \. "$HOME/.alias/index.sh"
复制代码
其余具体软件的配置因人而异,看状况进行配置便可。
.gitconfig
.gitignore_global
.npmrc
.yarnrc
说到软件,可谓踩坑无数,爬坑无数,早些时候作了一个表格,列举了近几年在工具软件上的投入。
能够看到,支出并非不少,并且有的软件使用时间超过两年,平均到天天、每次上成本基本能够忽略不计。
前些日子发现 Clean My Mac X
新版本出现,考虑升级续费按年要 20$
, 买断也要40$
,因而果断按年订阅了 setapp
,一台设备 50$
左右一年的成本,能够用上很多不错的工具软件。若是你愿意的话,可使用个人邀请连接进行注册,注册成功后,能够无偿使用一周各类正版软件,而后再决定是否要进行订阅,若是你注册成功,那么我能够得到多一个月的使用资格奖励,这里先行谢过。
这类软件主要进行系统加强,完善系统功能,让操做更便捷。
若是你常常外接屏幕,以及进行休眠操做,会发现有的时候你的程序窗口找不到了,使用这类窗口管理软件便能很好的对窗口进行位置和大小的调整。
第一个要进行推荐的软件即是 Moom
, 若是你也是 setapp
用户,能够考虑使用 Mosaic
,若是你还不是 setapp
的用户的话,能够访问连接注册并免费体验一周。
我的使用这类软件的过程当中只定义了一个快捷键 Control/Option + ·
,一来节约快捷键,二来避免了和其余软件的冲突问题,若是你也缺少快捷的窗口管理软件能够试试它们。
两个软件使用体验上主要差异:
Touch Bar
因此,我都进行了安装,可是单纯使用一个的话,问题也不大。
OSX 和 Windows 的系统有些部分设计很类似,好比启动项目、启动服务、全局配置等、应用缓存。因此在系统使用了好久以后,不免出现由于安装卸载软件,残留大量应该被清理的内容。这个时候,一款好的系统清理软件则能够解决一大堆麻烦。甚至,若是你的设备的硬盘比较小,可使用软件帮助你卸载系统以及各类软件中附带的多语言文件,或者清理掉长久不使用的大文件,节约许多的磁盘空间。
若是考虑进行购买,能够考虑使用 setapp
,买断的价格略高于 setapp
单设备使用一年,还有一大堆其余的软件能够用,注册连接上面有,我就不重复了。
固然,这里还存在一个状况,你的系统中有大量重复文件,这些文件不属于系统垃圾,因此这个时候,你即可能须要一款靠谱的去重软件了: Gemini
。
只须要选择你要扫描的文件夹,而后点击按钮开始,程序就会根据名称、文件指纹等策略来进行快速扫描,帮你找到全部的重复内容。
这款软件一样被包含在 setapp
供应列表中。
OSX 系统自带软件聚焦(spotlight)近些年不断进化,不管是效率仍是体验都好了不少,可是相比 Alfred
来讲,仍是弱了好多。
网上介绍 Alfred
的文章有许多,在此我只描述它和聚焦的差异:
workflow
来完成一些好玩的事情,固然你本身编写一个也很简单Alfred
提供了 workflow
集成支持,好比你能够在“搜索&执行框”内快速搜索 API 文档定义,快速使用 IDE 打开文件等举些例子,你能够用它在不进行屡次界面操做的状况下,快速对某个微信、QQ联系人发起会话,或者直接使用你的 IDE 打开具体的文件,或者将某些图片执行批量压缩操做,并直接发布到服务器上…
另外,这款软件的核心功能 workflow
的使用必须进行付费购买才可使用,购买比较贵,若是你有国际货币信用卡的话,能够在官方网站直接购买(我记得是使用欧元),若是你有多台设备,能够购买家庭版。
若是是单人使用,能够考虑和认识的小伙伴一块儿团队,和陌生人购买,出现滥用的状况下,可能会被官方直接封禁序列号。
虽然,这款软件在 setapp
里没有替代品,幸亏,开源社区有人提供了一个跨平台的启动器:Zazu。
苹果产品的设计理念之一是简洁,因此你并不能在界面上轻易看到当前系统的总体状态。
可是实际使用过程当中,咱们免不了想了解一下固然设备的运行状态,相比较打开系统监控工具或者在命令行中执行命令获取信息都太麻烦了。
这个时候,不妨使用 iStat Menu
,设备主要硬件以及传感器、甚至网络和天气内容均可以像下面的菜单同样,快速展现在你的界面上。
这个软件很是值得购买,不过我曾经老版本的 OSX 系统上使用旧版本出现过系统占用太高的问题,若是你排查系统占用,能够考虑观察一下它,瑕不掩瑜,目前最新版本的 OSX 系统上,它表现仍是很稳定的。
目前 iStat Menu
也一样在 setapp
供应列表中,若是你有兴趣或者还在使用老版本,能够考虑试试新的版本,这个软件相比较刚刚介绍的软件,对我而言不是必选,暂时不考虑寻求替换。
随着咱们安装的应用愈来愈多,留给咱们可使用的状态栏的空余位置很少了。
当你打开 IDE 后,常常会出现状态栏内容不可以彻底展现的尴尬状况,这个时候,选择性隐藏部分图标就变的必要。何况,不少应用并不须要将图标展现在状态栏,好比一些辅助操做性质的软件。
使用 Bartender
能够对图标进行针对性的展现和隐藏,好比部分活跃的内容能够在必定时间内将图标展现,不然一概隐藏。
这款软件一样在 setapp
供应列表,不过若是你有旧版本,继续使用就是了,单为这一款软件犯不着为 setapp
进行付费。
Little Snitch
做为 OSX 系统的配置化防火墙来讲很是不错。
最新版本多了流量可视化地图,能够帮你直观的了解你的网络活动状态,经过配置能够针对性的配置每一款软件的网络访问能力,解决一大部分软件进行隐私上报的问题,而且能够主动拦截一些非官方签名的软件偷偷进行数据上传。
总的来讲,这款软件十分值得购买,OSX 系统自带的运行前提示拦截掉绝大多数隐患,防火墙能够拦截掉许多漏网之鱼、还有本来忠良如今却偷偷作着售卖隐私勾当的软件,多台设备的用户记得买家庭版,更划算一些(支持5台设备),国内代理购买会更便宜一些。
MAS 中有一款压缩加强软件,The Unarchiver
支持解压场景各类压缩包,使用起来如同系统自带的软件同样,安装以后,只要简单双击就可以完成任务。
可是对于一些大致积的压缩包,咱们并非每次都想直接进行解压操做,在不使用命令行查看文件内部结构的状况下,BetterZip
的价值就体现出来了,具体使用体验相似老牌软件 WinRAR
,支持压缩包解压测试,压缩包内容修改等功能。
虽然国内代理购买也不贵,可是软件一样在 setapp
供应列表上,若是你是 The Unarchiver
的用户,可是平常有大量压缩包要处理,指望有更多的功能,不妨试试。
这里不聊 IDE 的大话题,介绍一些我平时使用频率比较高的软件,顺序无前后。
OSX 默认使用 ZSH
,可是裸配置的 ZSH
并很差用。这里推荐一款开源社区贡献的 Shell
框架:
oh-my-zsh
除了常见的快速跳转目录,自动补全命令,自定义漂亮的主题外,支持自动加载大量的开发插件,好比 Git
插件,可以让你在终端界面直接看到当前目录的代码仓库分支、是否有未提交内容等。
若是你也同我同样将 ssh config
拆解配置,想使用 ssh
命令时候可以自动补全 hostname
,可使用下面的脚本。
complete -W "$(cat ~/.ssh/config.d/* | grep ^Host | cut -f 2 -d ' ';) $(echo `cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\["`;)" ssh
复制代码
Docker 的优点有不少,网上资源也很多,可是和负载均衡&服务发现工具 Traefik
配合使用却比较少,我以前在博客里也简单写过一些具体的应用教程,有兴趣能够翻阅一下。
我的使用用途主要是:
CI/CD
,以及配合编排工具,将应用可以快速运行起来,以及具有弹性伸缩的能力虽然说愈来愈多的软件直接跑在 Docker 里,可是在开发过程,不免须要直接在系统上直接运行软件进行调试。不管是为了运行不一样版本的 Node 测试兼容性,仍是单纯为了保持系统中安装的 Node 是稳定版本,使用 nvm
无疑是最好的选择,OSX 上使用能够查看这里。
固然,若是你有切换 Java 版本的需求,可使用一个很相似的项目:
学习一门语言或者一个框架的不二法门,除了大量正确练习以外,很重要的一点即是阅读文档。同时在使用阅读/编写程序的过程当中如可以高效查询定位 API 具体含义,对于开发者的意义也十分重大。
Dash
就是这么一款颇有意义的软件,配合 Alfred 能够快速查询文档,在文档库海量的状况下,还支持导入在线社区的资料,我的定制的文档,而且支持几十款开发工具的集成。
Dash 有移动 APP,对于想快速了解一个框架、语言的同窗来讲,能够没必要死守笔电大屏幕,手机上边走边看,也挺不错的。
费用的话,Dash
桌面版本,若是不付费同样可使用,只不过会时不时弹出提示框强行锁定软件几秒,不过若是你已是3代的付费用户,能够考虑不升级到最新版本。
对了,若是你在更新文档过程当中,发现下载常常失败,或者考虑加速团队内部文档的分发更新,能够考虑参考 更新Dash文档的小技巧 文章中的方法进行操做。
替换软件比较多,这里推荐使用在线的文档查询工具: devdocs.io/
说到远程管理,不得不提 Team Viewer
,可是 TV
不支持 RDP
、VNC
这类协议的登陆,因此一样也缺少一些扫描/发现机器的功能,而 Microsoft Remote Desktop
和 Mac 自带的远程管理功能,真的只能谈得上是勉强能用。
这里我选择使用 Remotix
。
除了我刚刚提到的功能以外,这个软件还支持一种自定义的 NEAR
协议进行机器登陆管理,而且可以简单的管理远程机器和对应的登陆凭证。
此外, VNC
和 RDP
设备的登陆管理,还能够配置 SSH 隧道;同时,软件提供相似 TV
的远程登陆云中转服务。因此两种方式都是能够跨越跳板机、防御墙进行设备登陆管理。
购买方式推荐官方直接购买,若是有这类需求,能够顺手购买 APP
,平时偶尔用来应急,体验还能够。
说到照片管理,咱们通常会使用 Photo
、Google Photo
、各类云相册来管理,可是这类服务明显不适合进行素材图片的管理。
若是你有图片管理的需求,能够尝试使用 in board
,支持将图片进行“虚拟文件夹”归类、也支持打标签归类、附赠一个截图工具。
总体体验还不错,有被包含在 setapp
中。
我的感觉,资讯网站的算法推荐,可以作到的除了让个人停留时间增多以外,其实对我目的性的获取和了解资讯并无太大帮助,因此,我依旧是一个 RSS 用户。
RSS 阅读器有不少,我我的使用 Reeder
,这个软件总体体验尚可,可是有一些反人类的地方:
若是你能接受的话,能够先试用,软件性能较好、界面设计也不错,还支持各类三方服务。
官方网站:reederapp.com/mac/
有一个叫作 RSSHub
的开源小工具,支持编程实现各类自定义的 RSS Feed
,不妨一块儿使用 RSS Hub 。
若是你是 docker 用户的话,想要永久保存你抓取的内容,能够关注如下我以前反馈和提交的PR提到的一些东西,^272。
Star Cabinet
是一款开源的 GitHub 收藏管理工具。
若是不放心做者构建的程序,能够本身 Clone
下来,自行编译。
Switch Hosts
一样是一款不错的开源软件。
相比较其余的软件,支持加载远程配置,团队协做上体验还不错。做者还贴心的提供了 Alfred
的 workflow。
固然你不放心或者有功能定制需求,也能够自行编译。(碎碎念: 若是能把当年内网ihosts的DNS功能也迁移一下就更好了)
接下来介绍的仍是一款 开源 软件,PicGo
支持将你的图片文件上传到九种不一样的图床上。
若是你指望可以将你上传的历史图片记录再次进行处理或者使用,可是找不到历史记录保存位置,或者不肯意每次都翻很深的目录,能够考虑修改 src/datastore/index.js
中的 #L17
的保存位置。
const adapter = new FileSync(path.join(STORE_PATH, '/data.json'))
复制代码
书写软件翻来覆去换了很多,其中响应速度最快、系统资源占用较少的是 Ulysses
,固然它也有几个小缺陷:
Ulysses
目前一样提供在了 setapp
列表里,单独订阅更贵一些。
固然若是你有更多的定制化的需求,使用 MWeb
会更好,可是软件不太适合编写比较长的内容,资源消耗比较大,软件价格目前各类渠道都差很少。
俩款软件都提供 APP
,性价比角度 MWeb
的 APP
略胜一筹。
在使用过 EverNote
、One Note
、系统记事本
、GitLab 代码片断
、群晖 Note Station
后,我从新用起了 WordPress
。
在 Docker 的加持下,利用机器闲置资源将程序跑起来只须要一个命令,同时还可以保证将来版本的轻松升级。
刚刚提到的两款软件都支持发布文档到 WordPress
,若是你愿意的话,可使用 Blogo
这类专门配合 WP
进行文档操做的客户端,实际使用体验不逊 EverNote
, 更赞的一点:这些数据你将来能够直接用程序进行批量编辑操做。
这款软件也在 setapp
供应列表中,若是非要找另一个替代的话,能够试试单页应用客户端:wp-calypso ,仓库地址 https://github.com/Automattic/wp-calypso
。
说到 GTD
软件,我我的是入了 omniFocus
,有一段时间同步服务器质量堪忧,所幸后面状况有好转,因而就持续用了下来。
若是你只是使用一个软件保存要作的事情,而且规划作的事情很少,那么随便找个简约一点的 GTD
软件先用着,不必付费购买。
可是若是你指望从笔电到手机再到手表一系列设备所有都能查看编辑、接收提醒,那么 omni Focus
能够是选择之一。
我的用下来的最佳实践是:
Snagit
是一款不错的软件,不过国内目前已经没有人进行代理了。
若是你在读或者有教育邮箱,能够用教育优惠进行购买,软件支持各类截图场景,还有一些轻度的编辑功能。
对比 Adobe Creative Suit 大概是其价格的 1/20
,若是你平时只是简单修改截图,彻底不必安装那些大块头。
使用系统自带截图快捷键或者聊天工具带的截图也能知足多数场景,甚至你能够用 electron
等提供截图 API 的框架本身写一个。
好了,该说的差很少都说了,至于碎片化的 数据同步和备份
、Chrome 经常使用插件
、书签管理
、还有 IDE
,后面的文章再统一聊。
但愿这篇文章可以帮助你发现一些有用不鸡肋的好软件,切实提升你的操做工做和学习的效率。
欢迎留言讨论,: )
—EOF
我如今有一个小小的折腾群,里面汇集了一些喜欢折腾的小伙伴。
在不发广告的状况下,咱们在里面会一块儿聊聊软件、HomeLab、编程上的一些问题,也会在群里不按期的分享一些技术沙龙的资料。
喜欢折腾的小伙伴欢迎扫码添加好友。(请注明来源和目的,不然不会经过审核) 关于折腾群入群的那些事