socat概述
Socat(SOcket CAT)可以理解为 “瑞士军刀级别的网络管道工具”。它的核心思想非常优雅:把两个“数据端点(address)”连接起来,让数据在它们之间双向流动。端点既可以是 TCP/UDP socket,也可以是文件、TTY、PIPE、Unix Socket,甚至是 SSL、PTY。
一句话总结:
Socat = 任意 I/O ↔ 任意 I/O 的双向桥接器
pnpm update/up无法升级包原因?
问题
## 基于up/update 无法升级包版本
mac@GaGa oss-bucket-policy % pnpm update -g @openai/codex
Already up to date
Progress: resolved 27, reused 8, downloaded 0, added 0, done
Done in 564ms using pnpm v10.33.0
mac@GaGa oss-bucket-policy % pnpm up -g @openai/codex
Already up to date
Progress: resolved 27, reused 8, downloaded 0, added 0, done
Done in 487ms using pnpm v10.33.0
## add是正常的
mac@GaGa oss-bucket-policy % pnpm add -g @openai/codex
Packages: +2 -2
++--
Downloading @openai/codex@0.121.0-darwin-arm64: 72.84 MB/72.84 MB, done
Progress: resolved 27, reused 6, downloaded 2, added 2, done
/Users/mac/Library/pnpm/global/5:
- @openai/codex 0.120.0
+ @openai/codex 0.121.0
Done in 5s using pnpm v10.33.0
奇怪:为什么pnpm up/update 无法升级包,add却可以?
mac@GaGa ~ % pnpm -h
Version 10.33.0
Usage: pnpm [command] [flags]
pnpm [ -h | --help | -v | --version ]
These are common pnpm commands used in various situations, use 'pnpm help -a' to list all commands
Manage your dependencies:
add Installs a package and any packages that it depends on. By default, any new package is installed as a prod dependency ## 默认安装最新版本
i, install Install all dependencies for a project
ln, link Connect the local project to another one
rm, remove Removes packages from node_modules and from the project's package.json
unlink Unlinks a package. Like yarn unlink but pnpm re-installs the dependency after removing the external link
up, update Updates packages to their latest version based on the specified range ## 更新在依赖版本范围内
...
1.问题本质
基于oss图形化浏览ossbrowser 2.0
Dockerfile中的CMD vs ENTRYPOINT指令差异
Dockerfile 中的 CMD 和 ENTRYPOINT 指令都是用来指定容器启动时执行的命令和参数的
指定作用
CMD:
CMD是 Dockerfile 中的默认执行指令,如果用户没有指定任何命令,Docker 将使用CMD指定的命令。CMD可以被用户在启动容器时通过命令行覆盖。- 它可以用来提供容器的默认行为,比如提供一个交互式的shell。
- 一个 Dockerfile 中可以有多个
CMD指令,但只有最后一个会生效。
ENTRYPOINT:
ENTRYPOINT用来指定容器启动时要运行的可执行文件或脚本。ENTRYPOINT指令是不可被覆盖的,这意味着用户不能在启动容器时通过命令行替换它,但可以通过添加额外的参数来修改它的行为。ENTRYPOINT可以与CMD一起使用,CMD中的参数会被当作ENTRYPOINT的参数。- 一个 Dockerfile 中可以有多个
ENTRYPOINT指令,但同样只有最后一个会生效。
socat数据转发管道
Maven Wrapper(mvnw)自动安装mvn
路由追踪traceroute vs tracepath
traceroute 和 tracepath 都用于追踪数据包从本机到目标主机的路径(逐跳路由路径)。
一、基本对比
| 对比项 | traceroute | tracepath |
|---|---|---|
| 工具来源 | 传统工具(早期BSD/Linux通用) | Linux 特有(iputils 套件) |
| 运行权限 | 通常需要 root(使用原始套接字 ICMP 或 UDP) | 普通用户即可运行(使用 UDP + 内核自动设置) |
| 协议类型 | 默认使用 UDP(也可用 ICMP 或 TCP) | 只使用 UDP |
| TTL 机制 | 手动设置每个包 TTL,观察中间节点返回的 ICMP 超时报文 | 同样通过 TTL 递增机制实现 |
| 输出信息 | 详细,可指定端口、超时、协议等参数 | 简化输出,自动选择端口与参数 |
| 可移植性 | 几乎所有类 Unix 系统都有 | 仅 Linux 内核支持 |
| 主要用途 | 精确诊断路由问题、适合脚本化分析 | 用户态快速查看路由路径 |
MySQL官方自带的多实例管理工具mysqld_multi
Clash Verge 两种模式本质差异
Clash Verge(基于 Clash Verge / Clash Meta)主要提供两种流量接管模式:
- Proxy 模式(系统代理模式)
- TUN 模式(虚拟网卡模式)
两者核心区别在于:是否接管整个系统网络栈
DeepSeek红利是指哪方面
DeepSeek红利,指的是2025年初DeepSeek(尤其是其开源推理模型DeepSeek-R1)爆火后带来的AI技术普惠机会。普通人、企业和开发者可以借助这款高性能、低成本(甚至免费商用)的国产AI模型,在工作、学习、生活、创业和投资等领域实现效率跃升和价值变现。
DeepSeek是什么?
DeepSeek是一家专注通用人工智能(AGI)的中国公司,主攻大模型研发。其DeepSeek-R1是开源推理模型,性能在数学、代码、自然语言推理等复杂任务上对齐或接近OpenAI o1正式版,但训练和推理成本大幅降低(据称仅为后者的几分之一到三十分之一)。它支持智能对话、文本生成、代码补全、文件上传分析、联网搜索等功能,可免费商用,极大降低了AI使用门槛。
时区划分的形式及常见时区
时区是指地球上按照经度划分的区域,每个区域的时间相同,相邻的时区之间时间相差1小时。全球共划分为24个时区,每个时区覆盖15度经度。时区的划分基于格林威治标准时间(GMT),格林威治位于英国伦敦,是世界时间的起点。
常见的时区及其与格林威治标准时间(GMT)的偏移量
- GMT+0:格林威治标准时间
- GMT+1:中欧时间(CET)
- GMT+2:中欧夏令时(CEST)、南非标准时间
- GMT+3:莫斯科时间、东欧时间(EET)
- GMT+4:阿塞拜疆夏令时、阿联酋标准时间
- GMT+5:巴基斯坦标准时间、马尔代夫时间
- GMT+6:孟加拉国标准时间、不丹时间
- GMT+7:柬埔寨时间、老挝时间、泰国时间
- GMT+8:中国标准时间、新加坡标准时间
- GMT+9:日本标准时间、韩国标准时间
- GMT+10:澳大利亚东部标准时间
- GMT+11:所罗门群岛时间、瓦努阿图时间
- GMT+12:斐济时间、新西兰标准时间
- GMT-1:西欧西部夏令时(WEST)
- GMT-2:巴西利亚夏令时、南非夏令时
- GMT-3:阿根廷时间、巴西利亚标准时间
- GMT-4:大西洋标准时间
- GMT-5:哥伦比亚时间、厄瓜多尔时间
- GMT-6:中美洲时间、墨西哥城时间
- GMT-7:美国山地夏令时
- GMT-8:太平洋夏令时
- GMT-9:阿拉斯加夏令时
- GMT-10:夏威夷-阿留申标准时间
- GMT-11:萨摩亚时间、汤加时间
- GMT-12:新西兰夏令时、斐济夏令时