CocoaPods was not able to update the `master` repo.

cocoapods 无法更新,可能是由于本地数据库损坏造成的,我们可以直接进入 CocoaPods 本地目录里手动更新它:

执行后再回到项目中即可正常 pod update .

Jannine Weigel – Deep End 歌词中文翻译

一直很喜欢 Jannine Weigel,这首歌最近一直在脑虫,后来就推荐给了女票,她让我给翻译……好吧,很久都没有翻译歌词了,然后这首歌又没有中文歌词,于是我就简单翻译了一下, “deep end”在英文里有个爆发、疯狂的意思,所以里边的歌词也可以理解为“游走在崩溃的边缘”?总之大概就是这样的一种双关。

好吧,翻译完了发现上面的 MV 里就有官方中文翻译了,切换一下即可,还比我翻的好,哭哭[……]

点击跳转以继续阅读

在 macOS 上使用 Cherry MX Board 8.0 RGB

女票送了我一把 樱桃  MX Borad 8.0!是的,就是那个大厂难得出的那一款需要 9.5 小时 CNC 机铣加工阳极氧化的 87 键机械键盘!和苹果的外接键盘一个设计风格,再加上特殊设计的键帽字体,我看的第一眼就爱上了(顺便吹一下,这就是我常说的设计三要素里的“本能设计”)

点击跳转以继续阅读

快速检查某文件的 UTI

在进行 iOS macOS 开发的时候,我们经常会需要和文件进行交互,比如说关联并打开某一类型的文件,那么这个时候,你用到的并不是这个文件的后缀名,而是它的 UTI。

UTI 是一个统一文件类型名称,它规定了一个文件应该是什么类型,而不是靠后缀来确定,比如 txt,text,json 都是纯文本文件,它们都是 public.text

那么,通常情况下,对于知名的文件类型,你可以到苹果官方的页面[……]

点击跳转以继续阅读

用 chsh -s 配错了 shell 该如何挽救?

配错了默认环境并不可怕,大不了再配回来就好了嘛。

显然,说这样话的人是没有故事的。

总之,如果你发现你的 vps 有一天突然无法登录了,没有报错内容是没有权限,但证书确定是正确的——那你就可能是在上次退出前配错了 shell。这时候即使你用 console 去登录,也会发现登录后一闪而过立即回到了登录界面——完蛋了,你心想,刚配好的环境又得重来一遍。

使用 chsh 切换 默[……]

点击跳转以继续阅读

Fail2Ban 高级配置 保护 Nginx 服务

购买了VPS之后你应该做足的安全措施中我们提到过用 fail2ban 来保护 ssh ,这样即使不改变ssh端口(默认为22),也可以做到避免被暴力破解密码,当然,我们已经开启了证书登录并关闭了 ssh 的密码登录选项,但用 fail2ban 干掉那些不停尝试的 bot 也是一件令人心情愉悦的事情。

其实,除了 使用 fail2ban 防止 Bind9 被用于 DNS 放大攻击外,我们也可[……]

点击跳转以继续阅读

UserNotifications 使用用户创建的声音作为提示音

使用自定义声音作为通知提示音

在 iOS 10 以后,iOS 使用了全新的 UserNotifications  作为通知 API,这允许开发者使用 图片、视频、声音 等富媒体作为通知内容,同时进一步地,你还可以使用 Notification Content Extension 来自定义通知的大小和内容布局。
如果要自定义通知的提示音,那么你可以给 [cray[……]

点击跳转以继续阅读