Upgrade NodeJs and install GeminiCli

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# install nvm

sudo curl -o- https://gitee.com/mirrors/nvm/raw/v0.39.1/install.sh | bash


# pick stable nodejs

nvm list-remote --lts

nvm install v20.20.0

nvm use v20.20.0

# 缺少sys lib
user@Dhost:/mnt/d/Git/mypages$ node -v
node: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by node)

wsl 1-> 2尝试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

$ wsl --list --verbose
NAME STATE VERSION
* Ubuntu Running 1

wsl --set-default-version 2

wsl --set-version Ubuntu 2

C:\WINDOWS\system32>wsl --install -d Ubuntu-22.04
正在启动 Ubuntu 22.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: ubuntu2204

# rerun all nvm commands and works

安装gemini-cli

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

# WSL2中使用Gemini CLI写代码的步骤说明

# 1. 安装Node.js和npm(如果尚未安装)
# sudo apt update
# sudo apt install nodejs npm

# 2. 全局安装Gemini CLI
npm install -g @google/gemini-cli

# 3. 设置API密钥(需要先在Google AI Studio获取)
setx GEMINI_API_KEY=xxxxx

# 注入代理
set https_proxy=http://127.0.0.1:10809
set GEMINI_API_KEY=AIzaSyCwOMos4b8nF31yqDSLZUlvaBKJb_bFt_w
set GOOGLE_GEMINI_BASE_URL=
set GEMINI_MODEL=
# set all_proxy=socks5://127.0.0.1:10808

curl https://ipinfo.io

# proxy open api

set GOOGLE_GEMINI_BASE_URL=https://llm.xiaochisaas.com
set GEMINI_API_KEY=sk-
set GEMINI_MODEL=gemini-3-flash

# 如果需要wsl2访问win32代理,请替换 `-InterfaceAlias` 值为你上一步查到的网卡名称, `-LocalPort` 为你的代理端口(如10809)
New-NetFirewallRule -DisplayName "WSL2 Proxy Access (Restricted)" -Direction Inbound -LocalPort 10809 -Protocol TCP -Action Allow -InterfaceAlias "vEthernet (WSL)"

# 测试代理IP Win32

curl --socks5-hostname 127.0.0.1:10808 https://ipinfo.io

curl -x 127.0.0.1:10809 https://ipinfo.io
curl -x 172.22.224.1:10809 https://ipinfo.io

# 4. 启动Gemini CLI
gemini

# 5. 在CLI中输入自然语言指令,例如:
# "用Python写一个快速排序算法"

# 6. 根据Gemini的代码建议进行选择和修改

gemini query "test"

# Gemini API (with an unpaid API Key): You generally have 250 model requests per day and 10 model requests per minute, limited to the Flash model.

claude

linux 环境中的nat模式不支持win宿主机代理,只能通过api gateway付费代理。

1
2
3
4
5
6
7
8
9
10
11
12
13

npm install -g @anthropic-ai/claude-code
# 设置自定义 API 地址 (关键步骤)
export ANTHROPIC_BASE_URL="https://llm.xiaochisaas.com" # 例如: https://openrouter.ai/api/v1

# 设置该服务要求的认证令牌
export ANTHROPIC_AUTH_TOKEN="sk-xxx"

# (可选) 指定要使用的模型名称
export ANTHROPIC_MODEL="gpt-5" # 或 openai/gpt-5-mini 等 [citation:4][citation:7]

# 然后正常启动 Claude Code
claude

微服务是可以快速构建、修改和部署到独立生产环境中的小型代码单元。可以快速进行迭代开发和交付,从而部署应该也具有如下特征:

  • 自动的——部署应该是能全部自动化的。
  • 可重复的——部署流程是可以重复的,不因开发人员或环境变化而影响
  • 完整的——部署成果应该是一个完整的虚拟机或者容器镜像(Docker),能够自包含运行
  • 不可变的——服务镜像一旦构建运行时配置不应该被修改,修改应该从代码提交开始

云原生——Docker容器技术

容器是镜像的运行时实例。容器虚拟化操作系统资源,容器引擎划分操作系统资源(比如进程树,文件系统,网络栈等),将其打包到成为容器的虚拟操作系统中,运行一个应用。
容器技术不同于Hypervisor技术,后者将物理资源划分为虚拟机的虚拟版本,前者将操作系统本身划分为容器的虚拟版本。

容器镜像构建

Dockerfile是镜像构建的描述文件,以易于阅读的格式准确描述了应用及其依赖。Dockerfile由一系列指令组成,每条指令构建镜像的一层。镜像构建的基础目录就是Dockerfile所在的目录。

Dockerfile的构建指令包括:

  • FROM:指定基础镜像
  • RUN:在容器中执行命令
  • COPY:复制文件到容器中

元数据指令包括:

  • MAINTAINER:镜像作者
  • LABEL:镜像标签
  • EXPOSE:容器对外暴露的端口
  • ENV:环境变量
  • ENTRYPOINT:容器启动时执行的命令
  • CMD:容器启动时执行的命令
  • VOLUME:容器数据卷

Docker镜像的构建是分层叠加文件系统的过程,每条指令构建一层,镜像构建完成后,可以运行容器。文件是增量叠加的,删除上层镜像中的文件目录并不能真正的删除文件本身,而是在顶层layout中将文件隐藏,所以镜像文件并不能真正的变小。

  • docker inspect命令可以查看镜像的构建过程,包括每一层构建的layer文件和指令。
  • docker build命令可以逐行解析运行dockerfile构建镜像。
  • docker history命令可以查看构建镜像的所有指令。

多段构建

多段构建有多个FROM命令,每一个FROM命令都会构建一个WORKINGDIR,以及一个独立的镜像,这为灵活运用镜像构建WORKSPACE提供了能力,甚至最终的运行时镜像可以引用完全不同的净化的base image,从而构建出与开发环境完全不同的运行时镜像。

同时也可以用 –target prod-client -f Dockerfile-final来灵活指定构建生产环境的客户端镜像。

容器网络栈虚拟化

Docker网络是基于容器网络模型的开源可插拔架构。libnetwork是CNM的实现,提供了docker的核心网络能力。Linux OS层面提供网络虚拟化的基础是VLAN,这是对eth0的拆分,每个VLAN都是一个独立的虚拟网络绑定到eth0.100等等,每个VLAN的流量都是隔离的,这是因为网桥间的隔离。Docker网络虚拟化基于VLAN,但是VLAN的隔离粒度是二层,而Docker网络虚拟化可以支持三层隔离,即每个容器可以拥有独立的IP地址,从而实现容器之间的子网隔离,也就是说在VLAN内部,即使可以将容器放在不同的子网段,保证网络间的相互通信。

VLAN

对于操作系统能L2的链路设计,是基于802.11Q扩展协议,让网卡从硬件上支持虚拟化,从而实现VLAN的隔离。VLAN不直连,并不代表两边的容器不同相互通信,如果VLAN是连向公网的,就可以通过公网通信。

VNET

虚拟子网一般是一个私网,类似于一个k8s cluster的所有容器都会在同一个VNET中,对于集群向外的通信,不要一个网关(也就是路由器)同时拥有私网IP(一般是网关IP)和公网IP(普通IP)从而可以建立路由规则,将私网向外访问的流量转发到网关,转发出去。类似于cluster的Egress IP。Ingress则是负载均衡的入口,对于外网的客户端,需要访问cluster内部的应用,必须通过Ingress负载均衡反向代理流量进入容器,从而达到通信的目的,客户端只能发现到Ingress的IP。

容器运行时

runc是开放容器计划OCI运行时规范的实现。它的任务是与底层OS交互,启动和停止容器,docker每个容器都是runc创建的。OCI包括镜像规范,运行时规范,分发规范。

containerd管理容器的生命周期,包括拉取镜像和管理runc实例。

dockerd执行更高级别的任务,如暴露docker API,管理镜像,管理卷,管理网络等。

flowchart TD;

    A[runc内核级工作] --> B[containerd容器生命周期管理]
    B --> C[Docker守护进程CLI/API/Image/Network/Storage]

云原生——K8S容器编排技术

k8s

无服务器架构——基于容器的自动化构建和部署管道

Helm–K8S容器打包技术

HelmChart

Helm是一种业界常用的容器打包技术,通过templates方式定义了一个服务所需要的资源定义。

FluxCD–容器部署技术

FluxCD是gitops repo的执行程序,以函数定义形式定义了定义每一个helm chart的部署定义,但是以目前的FluxCD集成设计模式,是更加机械的容器provision能力,而并没有提供更加灵活的容器阶段式定义。资源映射的的过程更像是资源展开的过程,从Kustomization=>HelmChart=>HelmRelease=>K8S RD的映射过程。

Ansible Tower–OS自动化部署技术

Ansible是Ansible Automation Platform的简称,提供了灵活的自动化部署过程设计,基本的可部署单元是Ansible Playbook,而不同组需要灵活管理的是自己的playbook repo。而本repo的git tag正是决定了该release的版本,从而能够解耦平台playbook和team playbook的版本发布周期。

2025 个人小目标

  • 个人工作生活
    • Q1每个月安排一天个人时间,学习Optimus核心知识
    • 思考下一个COD方向和领域:产品架构,产品经理,后端与运维
    • Q1健康作息,不熬夜到12点后,保证基础睡眠
    • Q2运动开始计划,通过合理安排作息,每周半小时起养成习惯,并逐步增加
    • Q1每周一次睡前花十分钟番茄钟,复盘当周工作、中长期目标调整,减少纠结与内耗,看书增值
  • 家庭生活
    • 大宝的小学一年级思考和执行
      • 拼音熟练度练习,朗读训练每日15分钟
      • 汉字识字培训
      • 控笔训练
      • 日常数学加减训练
      • 钢琴读谱,指法练习,肌肉重复训练,流畅背诵弹奏为目标
      • 复习、预习课程习惯
      • 演讲训练,植物节演讲、升旗手演讲、爸爸讲堂介绍
      • 握笔姿势,写字姿势训练
      • 数学拔高训练
      • 语文阅读训练
    • 小宝幼儿园前期准备
      • 4、5月择校,9月正常入学
      • 语言发展关注,发音纠正
      • 自主如厕练习
      • 自主吃饭习惯培养
      • 自主穿脱衣服袜子入睡练习
      • 认识数字大小数数
      • 认字
      • 安全意识训练
  • 职场价值、时间效率提升
    • 快速阅读《高效能人士/家庭的七个习惯》,自我效能提升
    • 快速阅读《卡耐基人性的弱点》,学会提升别人的效能
    • 精读并且实践《How to Lead》,学会面对人工作
    • 精读《这就是人性》,学会人性的特点,管理必须基于人性
  • 个人充电:阅读书籍10本
    • 职场、人性相关书籍, 有助平衡心态和目标:
      • 学习领域预判思考方式,快速决策得出可执行尽量正确的选择
      • 学习高效的项目管理方式,对于种类繁多的细碎项目如何高效的管理,并且针对不同的人建立不通的项目profile,合理安排资源
        • 对于资深执行者的管理方式
        • 对于资浅有潜力执行者的管理和引导方式
        • 对于资浅Vendor的管理方式
      • 合理授权,对于不同的选择,可以借由别人去实践通过验证
      • 学习衍生品定价规则,交易系统,风险合规服务
      • 管理风格建立,最大化生产力同时建立稳定良好的领导风格,项目进度把控
        • 项目远期规划
        • 项目落实原则把控
      • 重组思维学习,在基本面了解情况下破局,精读《重组与突破》
    • 领域相关背景书籍:
      • 阅读CM bitemporal DB设计学习
      • 阅读CM Risk Calc Engine设计学习
      • 阅读CM Risk Storage & Pivot设计学习
      • 阅读CM Entitlements Model设计学习
      • 阅读Kindle《债券投资策略》,了解债券市场基本知识
      • 阅读Kindle《债券组合投资》
      • 阅读Kindle《投资组合绩效测评实用方法》
      • 阅读《国富论》,了解经典生产理论以及劳动者与雇佣者的基本关系
      • 阅读《利率互换通关秘籍》,了解利率基本概念
    • 育儿和教育书籍:
      • 父母效能训练
    • 技术相关书籍:
      • Kubernetes权威指南: 学习K8S部署技术
      • 阅读《Helm学习指南》了解linux package管理发布基本知识
      • 阅读《Prometheus学习指南》了解监控系统设计理念,以及PromeQL和SPL的功能模式
    • 沟通技巧学习
      • 非暴力沟通
      • 别说你懂交际学
    • 情绪控制学习
      • 对待家庭内部矛盾,冲突学会类似工作的平稳沟通方式,避免矛盾激化,最终生气伤身体
      • 对待家庭目标,学会互动式激励,不是指责式激励,用以激发人的内驱力

个人感悟

《这就是人性:认知觉醒的底层逻辑》

人性逻辑:别相信人,要相信人性

用利益去考验人性,你也许会输

  • 趋利避害是人性,所以义才可贵
    • 利是人类社会发展的动力,也是生存下去的根本。义是需要的,是人类社会得以稳固的基础,也是一个人处世的根本。这对矛盾从人出生开始就有,而能人往往能在矛盾中平和的生活。
  • 不碰利益,人无坏人
    • 弱者很多时候过度信奉世俗道德文化而忽视了学习人性,而强者很多时候都是人性高手,懂得用规则来治理人性。良好的规则设计,能够充分考虑人性的特点,去平衡人性弱点带来的弊端。
  • 精明的利己主义者
    • 势利本身只是一个中性词,生存是人类所有心理的出发点,会天然地依附掌握更多生存资源的人,并努力在最短时间内获得更多的利益。
    • 人缘分为两种:资源性人缘,他们有值得别人“图谋”的地方。劳动性人缘:他们能够给人提供即时性的正面反馈上。

懂道德让你成为好人,懂人性让你成为富人

  • 总和你谈感情的人,就是想少点付出
    • 带不来价值的感情是廉价的。对方的考量主要还是从利益出发,理性的考虑帮助需要提供的价值是否符合他当下的立场。
    • 真是话语权也不是靠分配而来的,而是自己挣来的——谁在价值协作中提供了更多不可替代的贡献,谁的真实话语权就更大。
  • 即使想做好人,也要树立底线
  • 你被好人标签绑架了吗?
    • 道德约束是一种弱势文化,往往会将人羁羁绊在困境中,而强者文化则是客观的面对人性,利用人性,争取属于自己的机会。

金钱,可以检验人性

  • 悟透赚钱的底层逻辑
    • 文化属性决定层次和命运
      * 思想狭窄
      * 被错误或者过时的思想误导
    • 满足人性的自私,才有才有可能赚到钱
      • 人难免有自恋的情绪,会因为自己做了一些事情而陷入自我感动,但这没有用。
      • 时不时审视自己的认知水平,有没有遵循底层规律办事。
  • 你赚的每一份钱只会在认知空间内震荡
    • 金钱只是一种媒介,是人用来换取商品和服务的中间态,而不是人的目标本身。人的目标是通过进去换取商品和服务,从而得到自己想要的情绪体验。
  • 营造错觉,左右对方的价值判断
    * 骗术本身往往不是为了以假乱真,而是通过真假虚实不断的试探,最终给受骗者一个错觉,改变了他原来的价值观。

认知觉醒:提升认知,看破生活假象

没有交换意识,哪有人脉关系

  • 怕小人,不算无能
  • 为自己的人生负责,不要过度依赖他人
    • 如果你把自己的生命珠子交给别人,让别人替你保管,本质上来讲,是增加了对方的负担的。你的一切反应都无法阻止对方行使自己的权利。
  • 圈子不同,不必硬融

打破思维禁锢,从内耗中找对出路

  • 普通人要逆袭,首先得扒三层皮

    • 扒掉俗事道德观
      • 人生中的机会是要靠自己去抓住的,它不会凭空落到我们的头上。
    • 扒掉规则的束缚
      • 规则是人定的,尊重规则,理解规则、遵守规则、决不允许规则阻止自己朝更高的目标前进。
    • 扒掉欲望的驱动
      • 人最大的障碍其实是自己,只有真正成为自己的主人,看清事情背后的逻辑,才能从底层突围。
      • 持志:发自内心地思考自己到底想做什么事,想成为怎样的人。
      • 提升自己的认知:只有当你从更高更远的维度上才能看清事情背后的本质。
  • 想要获得通透,就要学会深度思考

    • 无中心式的连续发散思维:发散思维是大多数人的思维方式,运用这类思维前需要先明确自己的目标,然后有方向的梳理思维成为有序状态。
    • 反刍式思考:反思能够帮助增长事情对人的经验,但是过度的反刍式思考会阻碍事情的推进,让人抓不住机会。
    • 浅层思考:浅层思考是感性直觉的思维,
    • 动机挖掘:先搞清楚自己或别人的内在动机,看清本质的东西,避免不必要的弯路。
    • 思考未来的终点:学会用未来的大脑,指挥活在当下的身体。
    • 思考知识结构:三个层面理解知识:
      • What:事情的表面,找到做的事情
      • How:找到做这件事情的渠道,如何做
      • Why:明白自己这样做的背后原理。
    • 进行自我批判:不要认为自己什么都是对的,其实“自我”才是成功最大的障碍。遇到不如你的人,坚定自己的想法;遇到和你差不多的人,要怀疑自己的想法;遇到比你混的好的人,要否定自己的想法。
    • 思考客观规律
  • 要成事,从三个维度打破禁锢

    • 学会包装自己
      • 这个世界是靠实力说话的,很多时候,别人不能够直观地感受你地实力高低,所以你需要运用包装地手段向对方展示你地实力。
    • 学会高调
      • 面对利益要学会高调,敢于挣脱道德枷锁,敢于大胆追求自己地合法利益。
    • 学会反击
      • 人与人相处都有一个试探地过程,也就是对方要试探一下你的底线是什么。现实并不因为谁好说话,就为大家感激。

野蛮生长:对己逆人性,对外顺人性

  • 死不认错是人类共有的本性
  • 境界高的人不会随便给人建议
    • 每个人应该为自己的人生负责
    • 别人寻求建议,不过是为自己已经做出的选择增加底气而已
    • 不要妄图通过建议去拯救他人
  • 过来人的话,其实是让人为难的经验
    • 问基础的问题
    • 对基本假设进行质疑
    • 注意你的心理过程
    • 总是反过来想
    • 对证据进行评估
    • 经常进行自我反思

成长的真相,都是逆人性的

  • 心理内耗:为什么你活得这么累
  • 为什么很多年轻人不愿意结婚了
  • 怎样不被带节奏,保持独立思考
    • 提升自己的知识储备和见识
    • 有批判性思维,形成自己的思考
    • 确立自我同一性
  • 如何成为一个有影响力的人
    • 通过各种方式不断重复要传达的信息
    • 建立一整套思想体系
    • 适可而止

顺从人性,轻松经营出好关系

  • 面对过分地要求,不会拒绝怎么办

    • 不拒绝:尝试拒绝一次,观察是否如假设中地情形一样失去对方。
    • 代价很大时才会拒绝:举手之劳能满足对方,很难拒绝。
    • 找借口拒绝对方:分清是你我谁的课题,合理借口回绝。
    • 不带理由地拒绝:每个人为自己地需求负责。
    • 通过开条件或提要求地方式拒绝:找出“是”地条件,反问对方能否接受。专业就是要拿来收钱的,不能随便给人。对于专业,认真做对不起我的专业,不认真做对不起你。
  • 可以付出,但不要有付出感

    • 有针对性地付出,不盲目
    • 不夸大付出
    • 刻意弱化自身能力地付出以体现牺牲地伟大
    • 暗示对方不值得付出
  • 如何提升自己地领导力思维?

人性亘古不变,学会野蛮生长

  • 免费的东西人人喜欢,却无人珍惜
  • 别人对你好是坏,取决于你
  • 做人最怕心理想要利益,嘴上却讲道德

普通人逆袭的27条人性真相

  • 直面人性的自私,学会从利益的角度审视一切
  • 强者思维,人都会主动为强者找理由而不是弱者
  • 利益绑定是最稳定的绑定,价值才是自己最宝贵的
  • 职场里面的生存法则是有限资源残酷竞争
  • 做事需要有慈悲心肠,也要有雷霆手段
  • 我的价值决定于我是否被需要,这种价值是否具有稀缺性
  • 扩展认值边界,利用信息差,搭建被动赚钱体系,利他才能从中获利
  • 行走社会地生存法则是需要承认和接受自己地弱小,并且学会韬光养晦
  • 强者对不可控地事情产生太多期望
  • 规则是人制定地,看清背后地核心逻辑,才能合理突破规则,制定新的规则
  • 解决问题也是解决本质的问题,而不是在复杂的题面上纠结原因
  • 避免精神内耗的本质是课题分离,并且看清内耗的本质是什么,专注眼下的事情

<< 人的小我和大我 >>

这是观看一篇访谈的观后感,文中讲述了在中国特殊时期发生的意外事件,在群众价值观极度扭曲和对立的状态下,一个人从小我的思考角度和大我的思考角度下做出截然不同的决策后产生的完全相反的结局。和平时代的大多数我们是不会面临这样的抉择,并且我们已经习惯于从自己个人利益出发去思考,而不会站在历史宏观的角度去思考,如果我这么做了,会不会让眼下的自己过得更舒服,而让历史上的自己彻底成为了一个小人。

宋的模棱两可让自己成为了红色领袖的青年典范,而她的奋斗目标正是出人头地,追求卓越,上进好青年,无视成为政治符号后带来的巨大影响力。让一个个人作秀成为了历史上一个悲剧的开始,一场群体运动的开始,将生活常态中的师生矛盾变成了敌我矛盾,曾经的批评打骂变成了血肉之躯之间的战斗,心理的不愉快演变成了生与死的别离。50年后,一众花白头发的老人回首当年的矛盾,已经不能再次激起社会的千层浪。当年的怨恨和心结却实让人难以了解,还能鼓起勇气去面对当时的冲突,在沙发上平静的讲述当年的不满和错误,可能大多数的人都无法做到。在当年那个一念天地之差的时代,经历过了血雨腥风,到现在的和平年代去讲述还是会有种种犹豫和担忧。小小的个人利益,和宏大的国家社会利益之间相冲突,我们能够做正确的事情是一个非常难以从当下的视角判断清楚的。只希望我们在每天、每周的回顾时候,能够修正行为上的偏差、让最终的结果达到最大化的美好。

0%