最近忽然发现磁盘存在大量写入,打开任务管理器一看,发现一个叫做“lsd”的进程持续占用 20% – 40% CPU,很奇怪。
经过一番查询,得知这个进程是 macOS 和 iOS 上的系统进程,全名叫做“Launch Service Daemon”,负责所有 App 文件类型关联和启动。但它的数据库有时候会损坏,这就导致它频繁读取和验证某些数据。
一旦它的数据库损坏,你就会遇到 lsd[……]
最近忽然发现磁盘存在大量写入,打开任务管理器一看,发现一个叫做“lsd”的进程持续占用 20% – 40% CPU,很奇怪。
经过一番查询,得知这个进程是 macOS 和 iOS 上的系统进程,全名叫做“Launch Service Daemon”,负责所有 App 文件类型关联和启动。但它的数据库有时候会损坏,这就导致它频繁读取和验证某些数据。
一旦它的数据库损坏,你就会遇到 lsd[……]
我们都知道,在使用 Python 的时候有 pyenv,使用 ruby 的话有 rbenv,都能方便地控制和管理编程语言环境的版本,那么,有没有什么方法,能让 Xcode 也像这样切换版本呢?
每次 Xcode 发布更新,更还是不更成了一个问题,下载难,还不能断点续传,又不能用第三方工具下载,真的是非常要命……就更别提多个版本时候的兼容问题了。
使用 xcode-install,一次性[……]
通常,你会在安装某个 Python 包时遇到这个错误,这个包肯定是一个包含了 C++ 代码的包。
这是由于 macOS 更新后出现的不兼容,一般来说,这个包的维护者应该已经对这个特殊情况做出了兼容:
1 2 |
if platform.system() == 'Darwin': extra_compile_args += ['-mmacosx-version-min=10.7', '-stdlib=libc++'] |
这样在 macOS 上就可以顺利编译通过了。
但如果你使用的是 PyPy,那可能即使维护者包含了这句话,你也无法成功安[……]
最近在做文本统计,用 Python 实现,遇到了一个比较有意思的难题——如何保存统计结果。
直接写入内存实在是放不下,十几个小时后内存耗尽,程序被迫关闭。如果直接写入数据库吧,每次写入又太慢了,本来就十几个小时了,这样下去就要往星期上数了,也不是个办法。
最后,我想到了一个两者兼顾的方案——用内存做缓冲,达到一定量之后一次性将当前所有数据合并到硬盘里。
但这样就有一个阈值,如何确[……]
之前我写过一篇文章,使用 fail2ban 防止 Bind9 被用于 DNS 放大攻击,万万没想到,原来 Wordpress 本身也可以用来进行放大攻击,原理就是它的 Pingback 机制。
Pingback 是 Wordpress 的一个网站之间互相通知工具,比如 A 博客引用了一个 B 博客文章的链接,那么 Wordpress 就可以自动帮你通知 B 博客,告诉博主你引用了他的文章。
这[……]
在开发 iOS App 时,很多应用都要根据当前 App 内容颜色来设置 iOS 系统状态栏 的配色,黑色或者白色——尤其是在 iOS 13 系统支持了黑色模式后。
通常,别人会告诉你这么做:
1 |
UIApplication.shared.statusBarStyle = .default |
但这会触发警告: Deprecated in iOS 9 。那么有没有其他办法呢?有,官方推荐的写法是[……]
之前我写过一篇文章:《 使用 Mailgun 创建你的免费域名邮箱 》Mailgun 有一个很有意思的功能就是收件路由,通过这个功能设定,你可以将任意发来的邮件转发到你设定好的邮箱当中,这样就不需要为每一个域名设置一个邮箱服务了,只需要通过 Mailgun 就可以将对应的邮件转发的需要的邮箱——毕竟,平时我们可能也就使用这些域名邮箱做个基本的验证。
最近,Mailgun 不再免费了,免费用户[……]
最近很流行自签证书进行 HTTPS 解密,然后就有不少人通过修改苹果的内购回执实现对 App 的破解。实际上验证购买应该是 App 连接服务器,服务器来和苹果的服务器进行通信,然后将结果发送给 App 的——但不少开发者(包括个人开发者以及企业开发者)懒得去专门维护服务器,所以直接用 App 和苹果的服务器进行通信,这就给中间人攻击提供了机会。
中间人攻击,就是说当 A 和 B 进行通信[……]