Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Mac 上一些精致实用的软件推荐

By: James Guo
8 November 2018 at 13:43

正如 Apple 在 10 月发布会时所说,在中国有 76% 的购买者是新接触 Mac 的(来源: October Event 2018 - YouTube)。想必有不少 Mac 使用者不知道有什么好的软件,也不清楚需要安装什么软件。Mac 上所需要使用的工具链与 Windows 有所差别。本文将介绍一些(我经常使用的)精致实用的软件,着重说说 Mac 上专有的软件,希望能够对新老用户都有所帮助。

对于新用户而言,要清楚获得 Mac 软件的两种正确方式:从 App Store 下载/通过互联网下载。从 App Store 下载软件最为安全,因为所有上架 App Store 的软件均通过了苹果的审核;从互联网下载的软件要小心一些,因为它可能是恶意软件,详情请看本文的 “Mac 系统安全” 一节。

系统工具及维护、管理 App 推荐

Setapp 软件订阅服务

US$10/月两台 Mac 或 $15/月两台 Mac + 五个子账户。合买家庭版约每年 CN¥200。 Setapp 相当于另一个 Mac App Store。不同的是,Setapp 是订阅制的,相比买断软件,你只需要每月花固定的钱订阅 Setapp,然后就能够免费地下载与 Setapp 合作的所有软件,并享受后续更新,而这些软件原本都是需要付费买断(或者需要额外订阅/内购)的。 Setapp 的价格是 US$10/月,可以在两台 Mac 上使用,额外的 Mac 每台 $5/月。而最近新出的家庭版仅需要 $15/月,可以额外添加五个子账户(子账户仅限在一台 Mac 上使用)。所以如果组团合买家庭版的话会非常实惠,价格大约在每年 CN¥200 左右。 本文介绍的很多软件都是包含在 Setapp 中的,如果已经订阅了 Setapp 就无需额外购买,这些软件已经标注。

BetterTouchTool

付费软件,可以通过 Setapp 下载 该软件可以自定义 Mac 触摸板和鼠标手势,充分发挥多点触控的功能。此外,通过使用其内置的 Window snapping 功能,可以实现类似 Windows 的 “移动窗口到屏幕边缘迅速调整窗口大小的功能”。我现在用 BetterTouchTool 主要就是在用其 Window snapping 功能。

程序主界面

Adblock Plus

免费软件 内容拦截器。通过使用此浏览器插件,可以屏蔽掉网页上烦人的广告,还给你清净的浏览体验。同时还能够达到省电的效果。

The Unarchiver

免费软件 解压缩软件。可以解压缩 Mac 系统不支持的 RAR 等压缩格式。

Bartender

付费软件,可以通过 Setapp 下载 可以选择性的隐藏 Mac 菜单栏图标。当安装第三方软件越来越多的时候,菜单栏会越来越满。通过使用 Bartender,可以隐藏/折叠显示一些菜单栏图标。同时还可以配置使得在菜单图标有更新的时候再自动显示。

Bartender 屏幕截图

Image2icon

免费 + 内购软件,可以通过 Setapp 下载并解锁内购 可以通过图片或文字自动生成多种样式的图标,并应用到文件/文件夹/磁盘上。可以帮助你生成个性化的、漂亮的文件/文件夹/磁盘图标。

Image2icon 屏幕截图

Carbon Copy Cloner

付费软件,$39.99 买断 Carbon Copy Cloner(CCC)是一个功能齐全的备份管理软件。相比 Mac 自带的 Time Machine(时间机器),它可以备份外部磁盘、选择目录备份,还可以备份系统到 APFS 格式的硬盘,并创建可启动的外部磁盘。这个软件全面支持了 APFS 下的快照(Snapshot)功能,并有可视化界面去管理这些快照(支持挂载、恢复、删除等操作)。 个人建议:对于 Time Machine 能够适用的场景,优先使用 Time Machine,否则使用 CCC。

Carbon Copy Cloner 屏幕截图

CleanMyMac X

付费软件,可以通过 Setapp 下载 CleanMyMac 可以帮助用户清理系统垃圾文件、卸载软件、管理开机启动项、实现基本的系统监控。

可以在主界面一键运行扫描还可以查看详细的扫描结果

个人建议:除非系统空间不足,否则不要频繁清理系统垃圾,尤其是用户缓存文件和系统缓存文件,清理他们可能反而导致程序运行变慢。

菜单栏

Gemini

付费软件,可以通过 Setapp 下载 它可以查找磁盘中的重复项目或相似项目,并可选择删除这些文件,为你的 Mac 腾出更多的磁盘空间。

Gemini 屏幕截图

Disk Drill

免费 + 内购软件,可以通过 Setapp 下载并解锁内购 Mac 上的磁盘恢复软件。如果误删除了重要文件,并且没有任何备份,可以尝试使用此软件恢复文件。强烈建议做好文件备份,这样你就不需要使用这类软件了。然而关键情况下使用这个软件救急还是不错的。

Disk Drill 屏幕截图

写作软件——Ulysses

订阅软件,可以通过 Setapp 解锁订阅 除了系统自带的备忘录、Pages,以及微软的 Word,这里额外推荐一个 Ulysses,基于 Markdown 的纯文本编辑器。特点就是简洁易用。

Ulysses 屏幕截图

iOS 管理 App 推荐——iMazing

付费软件,可以通过 Setapp 下载 可以代替 iTunes 完成备份/恢复备份/重新安装系统/升级系统等操作,并有着比 iTunes 更多的功能。比如说它可以可以访问备份中的具体数据,包括每个程序的软件存档等。还可以管理应用程序,通过 .ipa 文件安装上一版本的软件或者已经下架的软件,管理手机铃声等。 当然,在 Mac 上管理 iOS App 更推荐使用 Apple Configurator 2

iMazing 屏幕截图

密码管理 App 推荐——1Password

付费软件,可订阅或买断 相比浏览器(如 Safari、Chrome)自带的密码管理功能,1Password 可以支持更多的浏览器,并且是跨平台的。它能够选择密码生成的公式,通过 Watchtower(瞭望塔)能够自动检查不安全的密码、已泄漏的密码等,同时还能够保存更多类型的资料,如信用卡、身份证、驾照、数据库、无线路由器资料等。 通过使用 1Password,你可以养成为每个网站设置不同的、安全的随机密码的习惯,保障互联网账户的安全。

1Password 屏幕截图

开发 App 推荐

除了 Apple 的 Xcode,这里罗列一些开发的工具供大家参考:

  • TextMate免费,Mac 上轻量级编辑器,运行速度快,支持语言多。
  • JetBrains 旗下软件付费,包含了 C/C++、Java、PHP、JavaScript、Go 等开发所需要的软件。学生可以免费获得授权。
  • Surge付费,代理上网、HTTP 抓包利器。
  • Paw付费,可以通过 Setapp 下载,API 管理工具,无论是简单的发送 HTTP 请求,还是测试 HTTP/REST 服务,它都能应对。
  • Sourcetree免费,Mac 或 PC 上的可视化 Git 管理工具。
  • VMware Fusion付费,Mac 上的虚拟机。
  • CloudMounter付费,可以通过 Setapp 下载,此软件将 S3、Dropbox、Google Drive、FTP、SFTP(VPS)等服务以网络磁盘的格式挂在到 Finder 中。
  • Karabiner免费,Mac 上用于调整键盘键位的软件。

播放器 App 推荐——IINA

免费软件 界面简洁漂亮,支持很多格式的视频播放,并且适配 Touch Bar。

IINA 屏幕截图

RSS 阅读器推荐——News Explorer

付费软件,可以通过 Setapp 下载 跨平台的 RSS 阅读器(iOS 端需要单独购买),可以通过 iCloud 同步。

News Explorer 屏幕截图

财务管理 App 推荐——MoneyWiz

订阅软件,可以通过 Setapp 解锁订阅 Mac 上的记账软件,功能齐全,可以添加各种类型的账户,并且可以生成多种格式的报表。

MoneyWiz 屏幕截图

专业影像制作 App 推荐

Final Cut ProCompressorMotion

付费软件,有学生优惠 苹果推出的专业视频制作软件,相当于 iMovie 的升级版,可以进行更多的自定义设置,拥有摄影机录制的 RAW 视频的处理能力,可以制作 360 度的视频等。相比 Adobe Premiere Pro CC,它会更加易用一些,价格也相对便宜。

Final Cut Pro 使用 ProRes RAW 调整视频

Adobe 图像处理软件:Lightroom Classic CCLightroom CCPhotoshop CC

订阅软件港区 Photography Plan,包含最新版的 Lightroom Classic CC、Lightroom CC、Photoshop CC 以及 20GB 的云端存储空间。 苹果曾开发的图像处理软件,iPhoto 已经整合到了 Photos(图片)软件中,专业软件 Aperture 也停止了维护。而 Photos 软件虽然很好用,足以处理绝大多数的照片,但对于 RAW 格式的照片的处理能力依然很弱。而且其云同步是同步库中的所有照片和视频,这对于无损图片而言是不不经济的。 Lightroom 系列软件和 Photos、iPhoto、Aperture 功能类似,也是用于管理照片的。目前的两个版本:Classic CC,只有桌面端,适用于将所有图片的原始文件存储在本地;CC,有桌面端、移动端、Web 端,适用于将所有图片的原始文件存在云端。 个人倾向于在桌面端使用 Classic CC,移动端使用 CC。因为经常要处理到的 RAW 格式或者是 TIFF 格式的无损图片都很大,将原图上传到云端并不经济。而且我处理图像主要在桌面端进行,CC 的桌面端感觉是为了迁就其他平台而在桌面端使用并不是那么方便。并且,Classic CC 也能够将压缩后的预览传输到云端,并也可以实现在其他平台上使用 CC 同步编辑。对于同步预览,Photography Plan 20GB 的空间已经足够了。 注意:中国区的 Creative Cloud 功能有所阉割,且没有优惠的套餐。建议购买港区(最便宜)。

Lightroom Classic CC、Lightroom CC、Photoshop CC 软件图标

附录:Mac 系统安全

和 Windows 系统一样,在 Mac 上从互联网上安装软件也需要多注意软件来源。这里强烈推荐在 Mac 设置中的 “安全性与隐私” 中选择 “App Store 和被任何的开发者”(默认),而非 “任何来源”。如果允许了任何来源,你的电脑将可以运行被篡改的软件,未经认证的软件以及恶意软件。

Mac 系统设置截图

绝大多数的 Mac 软件均可以在这个安全级别上运行,上述推荐的所有软件均不需要启用 “任何来源”,除非你下载到的不是原始软件,而是被篡改过的。 如果你的 Mac 里这里的选项是 “任何来源”,请在终端中运行以下指令重新启用这个安全设定。

sudo spctl --master-enable

同时,也不建议关闭 SIP 功能,SIP 功能有助于保障 Mac 系统的完整性。查看 SIP 是否运行可以通过以下指令:

csrutil status

如果 SIP 已经启用(默认),会得到 System Integrity Protection status: enabled. 结果。

在自己服务器上安装 GitLab,代替 GitHub!

By: James Guo
25 June 2016 at 21:12

我的服务器上部署的代码、配置文件等内容大多是使用 Git 进行版本控制。为了能够使用、配置起来更方便,通常使用一整套系统去管理。很显然,在一些代码和配置文件里会有一些机密的内容,如一些密钥什么的,所以必须不能公开。GitHub.com 虽然提供了 Private 存放处功能,但是由于此功能是付费的,而且对于 Organization 的 Plan 还是极贵,并不十分划算;就算能有免费的 Private 存放处,把自己的很多重要的密钥放在第三方服务器上还是很不安全,所以能够 Host 在自己的主机上的,并且能够替代 GitHub.com 的软件/服务就是不错的选择。 本文将讲一下我在自己服务器上安装 GitLab 遇到的坑,进阶使用,包括使用 .gitlab-ci.yml 文件实现自动 Build,实时同步镜像到 GitHub。

能够 Host 在自己的服务器上的软件/服务其实有很多,比如 GitHub Enterprise,Bitbucket Server。不过再此还是推荐完全开源、免费、由社区维护的 GitLab Community Edition,没有任何限制,只是相比 Enterprise Edition 少了些本来也用不着的功能。

安装及遇到的坑

具体安装方法见文档,目前官方推荐的系统环境是 Ubuntu 16.04 LTS,安装起来非常简便,整个 Web 环境都会配置好。安装后的更多配置请参见文档。如果你的主机上跑了不只一个 Web 程序,那就需要对现有的 Web 软件做修改,需要参见官方的 Nginx 的配置文档。我的代码中使用了 sub_filter 来实现替换默认的标题,实现更好的 SEO,更加品牌化。 然后为了能达到更好的使用效果,还应该配置 SMTP 发件服务器,我使用的是 AWS SES;然后还需要一个支持 IMAP 的收件服务器实现 Reply by email,我使用的是 Gmail,收邮件的限制总比发邮件的限制少吧~这些的具体设置方法官方文档里都有。 安装后默认是允许注册的,如果你不想让外人注册,你需要直接去 Web 后台禁用。如果你想要开放注册,那么最好先想好新注册用户能干什么,比如和我一样:只允许新用户创建 Issues 和 Snippets,那就在 Web 后台将 Default projects limit 设置为 0,然后编辑后台的配置文件,禁止新用户创建 Group。同时建议在 Web 后台启用 reCAPTCHA 和 Akismet,防止恶意注册和恶意发 Issues。既然允许注册,那么也建议使用 OmniAuth 来支持第三方 OAuth 的方式登陆。

GitLab Runner

GitLab Runner 十分强大,但是并不是内置的,它可以极其方便的实现自动部署等非常有用的功能。安装配置好 Runner 后,在项目根目录下添加一个名为 .gitlab-ci.yml 的文件,以 master 分支为例,为了实现每次 commit 到 master 都将文件部署到 /var/gitlab/myapp ,那么文件内容应该是这样的:

pages:stage: deployscript:- mkdir -p /var/gitlab/myapp- git --work-tree=/var/gitlab/myapp checkout -fonly:- master

注意,你需要先创建 /var/gitlab 文件夹,并设置这个文件夹的用户组为 gitlab-runner:gitlab-runner

$ sudo chown -R gitlab-runner:gitlab-runner /var/gitlab

.gitlab-ci.yml 核心的部分就是 script: ,这里的脚本都是由用户 gitlab-runner 执行的,你可以根据需要修改,后文中也给了几种范例。 然后 commit,去设置页面里里激活这个项目的 Runner。建议在设置里设置 Builds 为 git clone 而不是 git fetch ,因为后者常常出现奇奇怪怪的问题,前者的速度瓶颈主要在于网络传输。

部署 Runner 在同一个主机上,Or not?

官方的文档里强烈不推荐把 Runner 部署在同一个主机上,其实这种说法并不正确。官方不推荐这样做是因为一些 build 会花费很长时间,占用很多的 CPU 和内存资源。但是如果你执行的 build 脚本并不会这样,那么安装在同一个主机上也未尝不可。

常见的部署范例

这几种部署是我比较常用的,大家可以当作范例,具体根据自己的需要弄各种不同的部署。 以下几种 Web 的部署方式所消耗的系统资源都不多,而且由于使用了 nice ,并不会阻塞其他任务,可以部署在同一台主机上。

Jekyll

修改之前那个 .gitlab-ci.yml 文件的 git checkout 一行,替换为:

jekyll build --incremental -d /var/gitlab/myapp

检查 PHP 的编译错误

也是添加以下代码到 .gitlab-ci.yml 即可自动检查所有 PHP 文件的编译错误,编译通过的文件不会显示,只会显示编译错误的:

if find . -type f -name "*.php" -exec nice php -l {} \;  grep -v "No syntax errors"; then false; else echo "No syntax errors"; fi

自动与 GitHub 同步

以下过程需要 root 权限登陆到主机,或者在每行命令前添加 sudo。 首先,需要先给 gitlab-runner 用户一个单独的 SSH Key:

$ ssh-keygen -f /home/gitlab-runner/.ssh/id_rsa

然后,创建 /home/gitlab-runner/.ssh/known_hosts ,内容是:

github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==

之后,获取 /home/gitlab-runner/.ssh/id_rsa.pub 文件内容,在 GitHub 上添加这个 SSH Key。 由于是使用 root 帐号,弄完了之后不要忘了修改用户组:

$ sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/.ssh

然后,同样是通过 .gitlab-ci.yml 实现自动同步:

git push --force --mirror git@github.com:[Organization]/[Project].git

修改 [Organization][Project] 为你自己的名称即可。

谈谈安装在自己服务器上的 GitLab 的好处

文件都存储在自己的服务器里,安全性比较有保障,自己有最高权限,不会遇到项目被删的情况。部署时延迟极低,可靠性也高,不会遇到自己服务器没问题但是第三方服务宕机导致无法部署的窘况。 可以根据情况部署到离自己最近的服务器,或者是内部服务器,像 GitHub 的服务器就在美国东岸,亚洲这边连接并不快,国内也不稳定。 最关键的是,如果你本来就有个 VPS 什么的,也有很大的空闲,那么相当于你可以免费获得私有存放处,但是要注意性能需求,没有足够的空闲还是不要启用。 由于能够配置好实时同步镜像到 GitHub,GitLab 还有那么多 GitHub 没有的功能,其实已经可以完全使用 GitLab 作为主要的版本控制工具,GitHub 只是存一份镜像备用。

❌
❌