Python3 报错 dyld cache '/System/Library/dyld/dyld_shared_cache_x86_64h' not loaded: syscall to map cache into shared region failed

在执行 Python3 命令的时候报如下错误:

1
2
3
4
5
6
$ python3
dyld[44774]: dyld cache '/System/Library/dyld/dyld_shared_cache_x86_64h' not loaded: syscall to map cache into shared region failed
dyld[44774]: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
Reason: tried: '/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file), '/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file)
[1] 44774 abort python3

估计是 Python 版本有问题,自 macOS Monterey 12.3 后,Python 2 已经从系统移除,安装命令行开发者工具后会自动安装 Python 3,那就可以换成 macOS 的 Python3 试试。

ClashX Pro 开启增强模式后 Git 连接不上 GitHub

代理软件如何实现真全局代理或对指定应用代理? - 干志雄的博客 这篇文章中讲了通过 ClashX Pro 开启增强模式来显示真全局代理,但是开启后会导致 Git 连接不上 GitHub 的问题。

1
2
3
$ ssh -T git@github.com
kex_exchange_identification: Connection closed by remote host
Connection closed by 28.0.0.102 port 22

增强模式是利用 TUN ,创建虚拟网卡改路由表优先走这块虚拟网卡接管所有流量。IP 28.0.0.101 是虚拟 IP,目的是为了接管系统流量。

这个问题的原因就是某些节点因为安全问题禁用了 22 端口,而 SSH 默认使用的就是 22 端口,因此连接就会被拒绝。解决方法就是把 22 端口换成 443 端口,即通过 HTTPS 端口建立的 SSH 连接。

Read more

macOS 截取窗口的正确姿势

macOS 虽然自带截图,但大多数人仍然会安装第三方的截图软件,比如我使用截图软件就是 Snipaste,他不光免费,而且还支持贴图的功能,能满足我的日常使用。

但它有个问题就是截取窗口的时候,并不是安装窗口形状截取的,它只能截取矩形,比如截取圆角的窗口,窗口圆角之外并非透明,而是上层窗口或桌面背景,如下图所示:

对于追求完美的我,这点我无法容忍。

好在 macOS 自带的截图不会存在这个问题,但在使用时需要点技巧来避免截取生成的窗口阴影。

代理软件如何实现真全局代理或对指定应用代理?

在 Xcode 中使用 SPM 解决依赖时,经常出现 Error while fetching remote repositoryhttps://github.com/xxx/xxx: An unknown error occurred. failed to connect to github.com: Operation timed out (-1),在国内访问 Github 是及其不稳定的,因此首先要解决的是让电脑访问 GitHub 速度加快,那当然是科学上网了(作为一名程序员,如果不会科学上网吗,那真的该反思了),再让 Xcode 走系统代理,即可解决此问题。

代理软件本人常用的代理软件如下:

  • Clash:一个 Go 语言开发的多平台代理客户端,Github
  • ClashX:Clash 的 Mac 图形客户端,Github
  • ClashX Pro: 是 Clash 的增强版,闭源,但也是免费。
  • ClashForAndroid:Clash 的 Android 图形客户端,Github
  • Clash for Windows:Clash 的 Windows/macOS/Linux 图形客户端,Github

代理软件默认只对浏览器代理,Terminal 可以通过 export 设置代理,但像 Xcode 这类应用是不支持直接设置代理的,那如何使这类软件遵循系统代理呢?

解决 Rider Debug Console 窗口不显示 Console.Write/WriteLine 的输出

自从使用 Rider 后,基本上就没有用过 VS 了。虽然这不是什么大问题,但真的很烦人。

这是 Rider 的一个 bug,虽然通过 Debug.Write/WriteLine 是可以在 Debug Output 窗口输出的。但是对于第三方的代码,你不可能因为 Rider 而去重写他人的代码,因为团队开发中,其他成员可能用的是 VS,VS 是没有这个问题。

如何使用 grep 输出标题?

我们知道 ps 命令是一个方便的实用程序,用于列出系统上当前正在运行的进程。此外,grep 命令擅长过滤文本。

在本教程中,我们将探索如何结合 head、grep、sed、awk 命令来查找所需的进程并保留ps输出的标题行,以及为什么我们不应该使用 ps -ef | {head -1; grep 'patter';} 方法。

Read more

家常菜快速做法

现在每天早上 5 点起床,有足够的时间给老婆做中饭,也学了几道菜,特此记录下。

SQL Server Profiler 监听 SQL 语句技巧

SQL Server Profiler 是 SQL 跟踪的图形用户界面,用于监视 数据库引擎 或 Analysis Services 的实例。 您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析。 例如,可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了性能。

SQL Server Profiler 我经常使用,比如监视第三方应用执行的 SQL。再比如使用了 ORM 框架的项目,虽然可以少写很多 SQL,但是当使用 ORM 出现异常时,很难跟踪到内部具体执行的 SQL,这个时候 SQL Server Profiler 就是一大利器了。

解决 Windows 端口被占用的问题

在启动 Go 服务时,遇到一个报错:

1
2
net.Listen address ":80" failed: listen tcp :80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
1. net.Listen address ":80" failed

一看就是 80 端口被占用了,有可能是 IIS、Apache或你重未听说过的应用,如 SQL Server Reporting Services,那如何找到占用端口的应用呢?

传染病重在预防,别让无知害人害己!

病毒无处不在,
最爱乘虚而入!

无论打耳洞、纹身还是美牙,
千万要去消毒可靠拥有正规营业执照的医疗机构。

包括住酒店也是需要注意的,详细的预防事项我都写在了文章结尾,赶紧看起来吧,别让无知害人害己。