macOS系统升级导致brew发行包Nginx服务Service无法启动或启动失败问题解决(MacOS Ventura 13.3)

macOS系统升级导致brew发行包Nginx服务Service无法启动或启动失败问题解决(MacOS Ventura 13.3)

macOS系统升级导致brew发行包Nginx服务Service无法启动或启动失败问题解决(MacOS Ventura 13.3)

系统版本:MacOS Ventura 13.3

Nginx服务启动失败问题描述:

MacOS系统升级导致brew发行包Nginx服务Service无法启动或启动失败,提示隐私或权限问题,系统限制root用户运行。

解决方案:

此脚本用于解决MacOS升级新版后,基于Homebrew发行的Nginx包守护服务无法启动运行问题。
此问题一般由MacOS更新的权限隐私策略与nginx守护服务权限冲突导致服务无法启动。该脚本通过直接操作nginx服务进程实现服务的快捷管理,增加常用进程基础检查操作,封装快捷操作脚本。

ljq@GitHub

Homebrew安装nginx:

1
brew install nginx

macos_nginx_brew_service.sh

Read more
MacOS English terminal Chinese garbled characters solution (MacOS英文环境终端中文内容乱码问题解决)

MacOS English terminal Chinese garbled characters solution (MacOS英文环境终端中文内容乱码问题解决)

Problem presentation

1
2
3
4
5
6
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"

warning: Falling back to a fallback locale ("en_US.UTF-8").

此问题常见于MacOS系统升级、OpenSSL升级后,terminal终端ssh远程链接时发出警告。

Solution

在MacOS本地终端:

1
sudo vi /etc/ssh/ssh_config

注释默认配置:

1
SendEnv LANG LC_*

重启终端即可。

References

参考

Eight Fallacies of Distributed Systems (分布式八大谬论)

Eight Fallacies of Distributed Systems (分布式八大谬论)

Eight Fallacies of Distributed Systems

The network is reliable

网络可靠。

Latency is zero

延迟为零。

Bandwidth is infinite

带宽是无限的。

The network is secure

网络是安全的。

Topology doesn’t change

拓扑不会改变。

There is one administrator

只有一个管理员。

Transport cost is zero

运输成本为零。

The network is homogeneous

网络是同质的。

GitHub以及其他GIT平台中启用GPG2认证基本使用流程(MacOS),增强身份识别和安全性

GitHub以及其他GIT平台中启用GPG2认证基本使用流程(MacOS),增强身份识别和安全性

base gnupg(version >= 2.1.17,版本gnupg已包含gpg-agent)

注意事项:gpg2默认交互式输入密码,有相应的解决方案。

brew install(推荐):
1
brew install gnupg
版本信息(截至2022.06.19)
1
2
3
4
5
6
7
gnupg: stable 2.3.6 (bottled)
GNU Pretty Good Privacy (PGP) package
https://gnupg.org/
/usr/local/Cellar/gnupg/2.3.6 (149 files, 13.3MB) *
Poured from bottle on 2022-05-04 at 00:14:15
From: https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/gnupg.rb
License: GPL-3.0-or-later
Read more
Hexo cdn.jsdelivr.net A low cost solution for CDN invalidation(Hexo cdn.jsdelivr.net 等部分CDN引用无效的一种低成本解决方案)

Hexo cdn.jsdelivr.net A low cost solution for CDN invalidation(Hexo cdn.jsdelivr.net 等部分CDN引用无效的一种低成本解决方案)

原因:cdn.jsdelivr.net在2021年12月20号国内已经无法使用,导致部分引用此引用此cdn资源的hexo生成站点js依赖和错误页面功能异常。

临时低成本解决方案:

考虑到不同的hexo站点使用的插件各有不同,且引用的第三方js库存在差异,故考虑采用低成本的方式解决。大概思路是在生成的部分文件里,替换相应的站点域名,实现在deploy之前完成文件路径的转换。

Read more
JavaScript map function grammatical sugar trap

JavaScript map function grammatical sugar trap

Don’t pursue techniques that seem too fancy, or they may backfire
(不要追求看似过于花哨的技巧,否则可能适得其反)

1
2
let m = [10, 10, 10].map(parseInt);
document.write(m);
Read more
HomeBrew Mirror to accelerate Settings (HomeBrew 镜像加速解决源下载缓慢卡顿问题和超大软件包等待问题)

HomeBrew Mirror to accelerate Settings (HomeBrew 镜像加速解决源下载缓慢卡顿问题和超大软件包等待问题)

HomeBrew 环境配置以及卡顿问题处理

关键环境变量配置

推荐使用清华源镜像替换:
https://mirrors.ustc.edu.cn/

1
2
3
4
5
6
7
# 文件列表(对应以下镜像仓库地址)
homebrew Folder
-------------------------------
homebrew-bottles
homebrew-cask-versions.git
homebrew-cask.git
homebrew-core.git
Read more
clang ANSI lib 标准差异汇总速查

clang ANSI lib 标准差异汇总速查

C(ANSI C)语言标准函数库

C标准库概述

基本说明

从语言本身的角度(与平台无关)来说,标准C语言(ANSI C)共定义了15 个头文件,截至C11标准共包含29个头文件。

各标准差异:

标准名称头文件差异
C8915 标准头文件
C90、C89标准头文件无差异, 排版存在差异
C95+3 标准头文件
C99+6 标准头文件
C11+5 标准头文件
C17
Read more
clang io format

clang io format

输入输出格式化

终端输入 input

键盘获取输入(三个函数):

  • scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。
  • getchar()、getche()、getch():这三个函数都用于输入单个字符。
  • gets():获取一行数据,并作为字符串处理。
Read more
clang macro

clang macro

C Macro 宏

定义

#define 宏定义命令,C语言预处理命令。标识符来表示一个字符串,代码运行中会将表示符进行全部替换成指定的字符串。

Read more