兄弟们我该如何呢
本金 9w,后续网贷 17w 拉低成本,买的*ST 股昨天突然发退市公告了, 不知道该怎么和老婆说,本金没了然后还要还网贷(需要和老婆要存款),哈哈哈哈哈 感觉自己很畜,对家庭不负责任 😮💨
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
本金 9w,后续网贷 17w 拉低成本,买的*ST 股昨天突然发退市公告了, 不知道该怎么和老婆说,本金没了然后还要还网贷(需要和老婆要存款),哈哈哈哈哈 感觉自己很畜,对家庭不负责任 😮💨
先说结果,做了 A 股、黄金、货币(加密货币)的跟踪插件,痛点是安装一个就全解决。
今天很忙,都没顾上来回大本(2 站)摸鱼,不过昨天比较闲,想起来之前发贴问 Grok 浏览器插件的事,Joe 佬提到可以让 LLM 告诉我怎么弄,不过那个事解决了,最后用的 NousSave 这个插件(好用、推荐)。
然后最近不是在尝试 WorkBuddy 和 QClaw 嘛,就想着用他们弄插件吧,下手的就是股票监控插件,因为平时会追踪 A 股、黄金以及货币价格,目前浏览器插件都是单一功能的,所以地址栏后面的区域就挺拥挤。(下图倒数 2、3 分别是之前安装的 A 股和黄金的)

然后就开始用 WorkBuddy 开始搞,第一版很快,试了一下发现太拉了,添加不了代码,货币也不能自定义等等问题。不过经过 2-3 个版本的迭代,就已经很可用了,然后我们又加上了徽章外显示数据的功能,并增加了昨日价格以及黄金 7 日均价等等,还精简了布局。效果不错吧。

作为小白,我对于龙虾能做到这种程度挺震惊的,于是准备上架插件商店,经过一番鼓捣(微软的【Partner Center】 bug 可真多),还好搞定了,目前在审核中,等审核过了,要让 2 友们测试测试,看看还有哪些问题,有哪些优化空间。
啊,真有趣。
DNS 服务器 = 互联网的 “电话本 / 地址翻译器” 我们上网用的是域名(比如 一句话总结:没有 DNS,你就只能记 IP 数字上网,没法用好记的域名。DNS 服务器是什么(通俗版)
核心作用
baidu.com),但电脑真正通信靠的是 IP 地址(一串数字,如 180.101.49.11)。DNS 服务器的工作就是:把你输入的域名 → 翻译成对应的 IP 地址,让浏览器能找到目标服务器。简单流程
常见 DNS 举例
114.114.114.114、223.5.5.5、8.8.8.8
域名是 “门牌号”,服务器是 “房子”,DNS 是帮你按门牌号找到房子的向导。 这样别人输入域名,就能访问到你的服务器。 简单记:域名负责 “好找”,服务器负责 “存放内容”,解析负责把它们绑在一起。1. 它们到底是什么关系?
baidu.com),用来代替难记的 IP。2. 完整流程(超通俗)
1.2.3.4abc.comabc.com → 指向 1.2.3.4abc.com3. 几个关键知识点
(老的版本中是LifecycleSupport接口) 对应到整体架构图中 对应到代码中 主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。 观察者(Observer)的注册功能需要调用主题的 registerObserver() 方法。 详情请参考 设计模式:行为型 - 观察者(Observer) java中的事件机制的参与者有3种角色 其实还有个东西比较重要:事件环境,在这个环境中,可以添加事件监听器,可以产生事件,可以触发事件监听器。 这个和观察者模式大同小异,但要比观察者模式复杂一些。一些逻辑需要手动实现,比如注册监听器,删除监听器,获取监听器数量等等,这里的eventObject也是你自己实现的。 事件源的接口:在Lifecycle中 事件源的实现: 在 LifecycleBase 中 比如在LifecycleBase, 停止方法是基于LifecycleState状态改变来触发上面的fireLifecycleEvent方法:Lifecycle中出现的监听器
public interface Lifecycle {
/** 第1类:针对监听器 **/
// 添加监听器
public void addLifecycleListener(LifecycleListener listener);
// 获取所以监听器
public LifecycleListener[] findLifecycleListeners();
// 移除某个监听器
public void removeLifecycleListener(LifecycleListener listener);
...
}

知识准备
理解上述监听器的需要你有些知识储备,一是设计模式中的观察者模式,另一个是事件监听机制。
观察者模式
观察者模式(observer pattern): 在对象之间定义一对多的依赖, 这样一来, 当一个对象改变状态, 依赖它的对象都会收到通知, 并自动更新

事件监听机制
JDK 1.0及更早版本的事件模型基于职责链模式,但是这种模型不适用于复杂的系统,因此在JDK 1.1及以后的各个版本中,事件处理模型采用基于观察者模式的委派事件模型(DelegationEvent Model, DEM),即一个Java组件所引发的事件并不由引发事件的对象自己来负责处理,而是委派给独立的事件处理对象负责。这并不是说事件模型是基于Observer和Observable的,事件模型与Observer和Observable没有任何关系,Observer和Observable只是观察者模式的一种实现而已。
Event Eource:事件源,发起事件的主体。Event Object:事件状态对象,传递的信息载体,就好比Watcher的update方法的参数,可以是事件源本身,一般作为参数存在于listerner 的方法之中。Event Listener:事件监听器,当它监听到event object产生的时候,它就调用相应的方法,进行处理。
下面我们看下Java中事件机制的实现,理解下面的类结构将帮助你Tomcat中监听机制的实现。
public interface EventListener extends java.util.EventListener {
void handleEvent(EventObject event);
}public class EventObject extends java.util.EventObject{
private static final long serialVersionUID = 1L;
public EventObject(Object source){
super(source);
}
public void doEvent(){
System.out.println("通知一个事件源 source :"+ this.getSource());
}
}public class EventSource {
//监听器列表,监听器的注册则加入此列表
private Vector<EventListener> ListenerList = new Vector<>();
//注册监听器
public void addListener(EventListener eventListener) {
ListenerList.add(eventListener);
}
//撤销注册
public void removeListener(EventListener eventListener) {
ListenerList.remove(eventListener);
}
//接受外部事件
public void notifyListenerEvents(EventObject event) {
for (EventListener eventListener : ListenerList) {
eventListener.handleEvent(event);
}
}
}public static void main(String[] args) {
EventSource eventSource = new EventSource();
eventSource.addListener(new EventListener() {
@Override
public void handleEvent(EventObject event) {
event.doEvent();
if (event.getSource().equals("closeWindows")) {
System.out.println("doClose");
}
}
});
eventSource.addListener(new EventListener() {
@Override
public void handleEvent(EventObject event) {
System.out.println("gogogo");
}
});
/*
* 传入openWindows事件,通知listener,事件监听器,
对open事件感兴趣的listener将会执行
**/
eventSource.notifyListenerEvents(new EventObject("openWindows"));
}Tomcat中监听机制(Server部分)
基于上面的事件监听的代码结构,你就能知道Tomcat中事件监听的类结构了。
public interface LifecycleListener {
/**
* Acknowledge the occurrence of the specified event.
*
* @param event LifecycleEvent that has occurred
*/
public void lifecycleEvent(LifecycleEvent event);
}/**
* General event for notifying listeners of significant changes on a component
* that implements the Lifecycle interface.
*
* @author Craig R. McClanahan
*/
public final class LifecycleEvent extends EventObject {
private static final long serialVersionUID = 1L;
/**
* Construct a new LifecycleEvent with the specified parameters.
*
* @param lifecycle Component on which this event occurred
* @param type Event type (required)
* @param data Event data (if any)
*/
public LifecycleEvent(Lifecycle lifecycle, String type, Object data) {
super(lifecycle);
this.type = type;
this.data = data;
}
/**
* The event data associated with this event.
*/
private final Object data;
/**
* The event type this instance represents.
*/
private final String type;
/**
* @return the event data of this event.
*/
public Object getData() {
return data;
}
/**
* @return the Lifecycle on which this event occurred.
*/
public Lifecycle getLifecycle() {
return (Lifecycle) getSource();
}
/**
* @return the event type of this event.
*/
public String getType() {
return this.type;
}
}public interface Lifecycle {
/** 第1类:针对监听器 **/
// 添加监听器
public void addLifecycleListener(LifecycleListener listener);
// 获取所以监听器
public LifecycleListener[] findLifecycleListeners();
// 移除某个监听器
public void removeLifecycleListener(LifecycleListener listener);
...
} /**
* The list of registered LifecycleListeners for event notifications.
*/
private final List<LifecycleListener> lifecycleListeners = new CopyOnWriteArrayList<>();
/**
* {@inheritDoc}
*/
@Override
public void addLifecycleListener(LifecycleListener listener) {
lifecycleListeners.add(listener);
}
/**
* {@inheritDoc}
*/
@Override
public LifecycleListener[] findLifecycleListeners() {
return lifecycleListeners.toArray(new LifecycleListener[0]);
}
/**
* {@inheritDoc}
*/
@Override
public void removeLifecycleListener(LifecycleListener listener) {
lifecycleListeners.remove(listener);
}
/**
* Allow sub classes to fire {@link Lifecycle} events.
*
* @param type Event type
* @param data Data associated with event.
*/
protected void fireLifecycleEvent(String type, Object data) {
LifecycleEvent event = new LifecycleEvent(this, type, data);
for (LifecycleListener listener : lifecycleListeners) {
listener.lifecycleEvent(event);
}
}@Override
public final synchronized void stop() throws LifecycleException {
if (LifecycleState.STOPPING_PREP.equals(state) || LifecycleState.STOPPING.equals(state) ||
LifecycleState.STOPPED.equals(state)) {
if (log.isDebugEnabled()) {
Exception e = new LifecycleException();
log.debug(sm.getString("lifecycleBase.alreadyStopped", toString()), e);
} else if (log.isInfoEnabled()) {
log.info(sm.getString("lifecycleBase.alreadyStopped", toString()));
}
return;
}
if (state.equals(LifecycleState.NEW)) {
state = LifecycleState.STOPPED;
return;
}
if (!state.equals(LifecycleState.STARTED) && !state.equals(LifecycleState.FAILED)) {
invalidTransition(Lifecycle.BEFORE_STOP_EVENT);
}
try {
if (state.equals(LifecycleState.FAILED)) {
// 看这里
fireLifecycleEvent(BEFORE_STOP_EVENT, null);
} else {
setStateInternal(LifecycleState.STOPPING_PREP, null, false);
}
stopInternal();
// Shouldn't be necessary but acts as a check that sub-classes are
// doing what they are supposed to.
if (!state.equals(LifecycleState.STOPPING) && !state.equals(LifecycleState.FAILED)) {
invalidTransition(Lifecycle.AFTER_STOP_EVENT);
}
setStateInternal(LifecycleState.STOPPED, null, false);
} catch (Throwable t) {
handleSubClassException(t, "lifecycleBase.stopFail", toString());
} finally {
if (this instanceof Lifecycle.SingleUse) {
// Complete stop process first
setStateInternal(LifecycleState.STOPPED, null, false);
destroy();
}
}
}
打算 618 左右购入
不要 thinkbook
预算 1W 左右
绝了,大嘴发布会宣传雪地遇白羊,问界 AEB 正常触发,应该是想给激光雷达吹牛逼,
但是... 漏洞一大堆,羊的影子从左前方突然变正右方,太阳方位不可能在几秒内转 90 度,只能是两段不同时间的素材硬拼。
车头 “充电枪” 穿帮:视频里车头侧面一直插着运动相机支架,正常路测不可能带这东西,纯摆拍痕迹。
画面 AI 感过重:雪地太干净、车痕不连贯、羊的边缘糊边,符合生成式 AI 合成特征,不是真实拍摄。
车过雪地不留痕,论坛干净不沾雪,服了
天天签到怪累的
这里记录每周值得分享的科技内容,周五发布。([通知] 下周五一假期,周刊休息。)
本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系([email protected])。

我见过的最酷广告牌,只有一行命令,推广一个 AI 工具包。普通人看不懂也没关系,反正不是给他们用的。(via)
如果你在互联网行业足够久,大概会记得,以前有过一次 API 开放的浪潮。
那是15年前的2011年,云服务刚兴起不久,各种平台纷纷开放自己的 API。

那时,Facebook 和 Twitter 都发布了自己的 API,开放了平台数据。GitHub 的 API 设计简直是艺术品,几乎可以获得任何想要的功能。
平台的想法是,开放的 API 有助于用户和第三方加入,来开发各种插件和扩展程序,从而推动平台的增长,提高用户留存率和满意度。
那时还有一个叫做 ProgrammableWeb 的网站(现已关闭),它的名字就代表了当时人们的信念:互联网可以通过 API 编程,把各种平台的数据连接在一起。

但是,事情的发展跟预想完全相反。
平台发现,API 很难盈利,因为无法插入广告,而且自家的数据会帮助其他公司的生意,造成用户流失。
于是,它们纷纷改变做法,限制和关闭 API,不再分享数据,将用户留在自家的"围墙花园"。
如今,Facebook 和 Twitter 的 API 已经形同虚设,第三方客户端遭到彻底禁用。GitHub 虽然还保持开放的 API,但也采取了管控,增加了身份验证和速率限制,要想构建全功能的第三方应用也很困难。
正当人们觉得这将是常态,转变出现了。
就在2025年的下半年,大模型达到了临界点,变得真正强大,可用于生产环境了。
人们很快意识到,如果大模型只会思考,不能执行代码,用处就不大。AI 的最大价值不是内容生成,而是内容生成 + 自动化,这样才能最大限度解放人力、创造价值。AI 自动化,自己执行代码的典型代表就是"龙虾"(OpenClaw)。

自动化意味着 AI 必须能够调用其他平台,进而意味着,其他平台必须先开放自己的 API。
突然之间,API 不再是累赘,而是接入 AI 的必须条件。没有 API,你的平台就进入不了 AI 工作流,各种 Agent 也就不能代表用户在你的平台上工作。
同样两个平台,一家有 API,另一家没有,后者就很可能被市场放弃,因为大模型无法接入它,也就无法对它自动化,AI 用户只能转向它的竞品。
平台意识到了,谁尽快开放 API,谁就抢占了先机。所以,强如腾讯也会在龙虾爆红后,以最快的速度开放了微信接口,让龙虾可以向微信发消息。

腾讯也害怕,在龙虾的世界里没有自己的一席之地。其他平台就更不用说了,抢着通过 MCP 和 Skill 开放自家的操作接口。
这表明,第二次 API 开放浪潮正在到来。这一次将比上一次开放得更彻底,更易用。
(1)这次开放的不仅是云服务,还有很多日常生活服务:外卖、电商、银行......甚至还有很多原本根本不会有 API 的服务,比如餐馆和球馆的预订。
(2)这次的 API 不需要手动编程,你只需使用自然语言,由大模型翻译后调用。
(3)这次的 API 是消费者通过 AI 调用,使用目的是代表用户行事。以前 API 是由应用程序调用,使用目的是获取数据。
上周末,北京亦庄举行了第二次人形机器人的半马比赛。
超过100个人形机器人参加比赛,看谁最快跑完21.0975公里。最终,冠军成绩是50分26秒,超过了人类最快的选手(半马的人类世界纪录是1小时02分52秒)。

根据网友拍摄的现场视频,机器人跑到一定距离就要进入补给站,由工作人员更换电池,并加入冰块(或者干冰)防止过热。
这就是说,机器人的内置电池支持不了一小时的运行时间。
宇树公开发售的 H2 人形机器人,续航时间是3小时。在长跑这种剧烈运动时,续航应该会大打折扣。而且,功率相同时,体重较轻的机器人在赛跑中有优势,也就意味着不能多携带电池。
这样看上去,人形机器人目前的实用性还是很有限。不插电时,一到两个小时就要充电,那样的话,很多事情就不适合做了。
本周,OpenAI 发布 GPT Image 2.0 模型,据说是目前最强的图像模型,性能超过了谷歌的 Nano Banana 2 Pro。

根据 OpenAI 的介绍,它的文字渲染有较大进步,很好地支持汉字,可以生成复杂的解释性图片。
大家可以去 ChatGPT.com 免费试用。
我做了一个比较,生成一张小狗在古镇屋檐下午睡的图片。这是 GPT Images 1 的结果。

这是 GPT Images 2.0 的结果。

我还看到一个有趣的项目 Flipbook。它是一个解释性图片浏览器,用户输入一个主题,它会自动生成详细解释的图片。

上图是输入"汽水"生成的解释图片,点击局部,还能生成进一步的解释。
网上已经有收集提示词的 Awesome 仓库(@DophinL 投稿),大家可以看看别人的优秀例子。

AI 有一个特点,不仅能够压缩信息,更善于扩展信息。它会推断出模糊不清的部分,更能生成缺失的部分,填补上看似合理的细节。
这意味着,AI 是扩展神器。有人设想了这样的场景:
看到了吗,AI 可以把脑子里的一个想法,不断扩展出文档、代码、产品、发布会、就业......
人们总是说,将来的世界是物质产品极大丰富的世界,AI 看上去就是这一类工具:凡是它能生成的东西,都将变得极大丰富。
赛力斯申请了一个小轿车的"车载厕所"专利。

座椅装在一个滑轨上,向后滑动就会露出下方的坐便器。

这个马桶配备了加热元件,用于蒸发尿液并烘干其他污物,但还是需要定期手动清空。同时,车内配备风扇和排气管,用于换气。
这个装置对于小轿车,使用场景有限,只适合高速公路大堵车的情况。但是,对于跑长途的大货车,倒是很实用。
1、不要使用 Ollama(英文)

Ollama 是一个运行本地大模型的工具,本文提出它有诸多问题,建议改用 llama.cpp 和 LM Studio。
2、npmx 的功能(英文)

有人为 npmjs.com 做了一个新的前端 npmx.dev,解决了很多开发者要求已久的功能。
3、不要过长的链式调用(英文)

JavaScript 语言可以写出很长的链式调用(上图),有些程序员很喜欢用。本文提出链式调用有一些缺点,不宜过长。
4、异步编程技术的演变和实际成果(英文)

一篇概述,介绍异步编程的由来,如何发展出 async/await 这种普遍接受的解法,以及存在的问题,写得比较深入。
5、被动雷达的工作原理(英文)

雷达可以主动发射电波侦测飞行物,也可以不发射电波,只监听电波变化,这就叫被动雷达。

著名的网络通信监控软件 Little Snitch,终于推出了 Linux 版,可以用它看到每个应用跟什么网址通信。
2、quien

查询域名信息的终端工具,提供清晰易用的界面。
3、ggsql

可以生成图形的 SQL 查询工具,直接查询数据库,将结果表示成可视化图形,参见介绍文章。
开源的 Mac 录屏应用,可以绕过录屏检测机制,让被录制的应用无法感知正在被录屏。(@jrainlau 投稿)

开源的 Chrome 插件,把新打开的标签主页变成标签管理器。(@V-IOLE-T 投稿)


《动物森友会》风格的 React UI 组件库。(@guokaigdg 投稿)
7、CUPS Web

网页版打印机管理工具,通过浏览器远程控制打印机,支持多用户、打印记录追踪等功能。(@hanxi 投稿)

开源的访客统计服务,提供 PV/UV 统计、热门文章、趋势图等,一个实例服务多个站点。(@thinkycx 投稿)
9、HiKid

帮助小朋友练习英语口语和听力的桌面应用,完全免费,目前仅支持 macOS。(@Hao4Wang 投稿)
10、Kite Desktop

桌面端的 K8S 多集群管理工具。(@eryajf 投稿)

Git 仓库提交历史的可视化河流图,支持多项目对比、贡献者信息等特性,在线体验。(@Lionad-Morotar 投稿)

如何才能避免把敏感信息(比如姓名、地址、电话、密码)发给大模型?
OpenAI 给出了答案:Privacy Filter。这是一个本地运行的大模型,它先处理后再发给线上大模型。
比如,原文是"产品发布日期是2026年9月18日",处理后就是"产品发布日期是[PRIVATE_DATE]",参见介绍文章。

开源的 AI 网关,可以接入主流大模型,然后对外提供统一的 API(OpenAI 兼容)和管理后台。(@star7th 投稿)
3、Nezha(哪吒)

开源的 AI 编程任务管理器,快速切换多任务管理,集成了原生终端、会话管理、代码编辑、Git 等功能,大小不到 10MB。(@hanshuaikang 投稿)

Gemini 生成图片的可见水印去除工具,图片不需要上传到服务器,直接在本地浏览器处理。(@liuyan-wjy 投稿)
5、mini-cc
开源的 AI 编程 Agent,作用类似于 Claude Code,采用多语言架构,目前已完成 TypeScript 实现。(@RainyNight9 投稿)

一个有意思的网站,收集键盘打字的声音。你可以先听一下某种键盘的打字声,再确定是否购买它。
2、软件工程定律

这个网站收集各种软件相关的定律,目前有56条。
比如,"帕金森定律"(Parkinson's Law):工作量总是会增加,直至填满所有可用时间。推论就是,不管设置多长的开发时间,项目开发总是会做到最后一刻。
最小的英文字体有多小?
1x1 像素(宽1像素,高1像素)就是一个点,当然不可能;2x2 像素也不可能;3x3 像素理论上可以,实际上无法阅读;4x4 像素难以绘制一些多笔画的字符,比如 E、M、W。
因此,英文字体最小就是 5x5 像素,就是下面的效果。

上面字体中,大多数小写字母比大写字母小一个像素,从而使两者可以在视觉上区分。
整个字体仅占用350字节的内存,所以很适合老式设备或低端设备,即使只有 16kB 内存的8位微控制器,也能完成字体渲染。
另外,它的每个字符只需要25个像素就能显示,而即使 384x288 显示屏也有11万像素。
除了 5x5 字体,还有 3x5 字体(宽3像素,高5像素)和 4x5 字体(宽4像素,高5像素),但是它们的辨识效果都不好(下图)。


2、里海石油城
里海是世界最大湖泊,面积相当于云南省。
上个世纪中期,里海发现了石油。当时的苏联就开始在湖面上建设石油平台,距离岸边有60英里,乘坐6个小时的渡轮才能到达。
最多的时候,共有约320个生产基地,包含2,000口井,通过100多英里的桥梁连接起来。

那时,5000多人生活在这些平台上,形成了一个难以置信的水上城市,所有住宅楼都是建在水上。

随着油田的枯竭和油价的波动,这座石油城的产量已经大幅下降,人们大多离开,整个平台年久失修,垮塌就是时间问题。

1、
美国鞋类生产商 Allbirds 宣布转型为 AI 公司,股价一天暴涨了5倍。
这让人想起2017年,美国一家名为"长岛冰茶"的饮料企业,宣布转型为区块链公司,卖柠檬茶的同时,探索区块链的投资机会,股价也是暴涨。后来,它的区块链业务还没建立好,就破产了。
-- 雅虎
2、
Figma 拥有近 2000 名员工(当然并非所有员工都从事产品开发),而 Anthropic 新推出的 Claude Design 的开发团队,我甚至怀疑是否超过10个人。
-- 《Figma 的困境》,本文评论 Claude Design 对 Figma 造成重大打击,在 AI 的开发速度和开发成本面前,传统软件不堪一击。
3、
我对未来世界的憧憬是,她或许不那样充满未来感,反而更像田园牧歌。我们可以回归传统的生活形态,同时又不放弃新技术带来的便利,几乎无需再去看屏幕或触碰屏幕。
-- jsomers.net
4、
每一种文化都会造就反映其最深层焦虑的英雄。
硅谷最焦虑的,就是增长停滞,无法创造出大受市场欢迎的新产品,所以大肆宣传"英雄开发者":他们能在午夜发布新功能,凭借着咖啡因带来的强大意志力,将白板上的涂鸦变成价值数十亿美元的独角兽企业。
-- 《古典维护者的挽歌》
冷启动的破解之道(#347)
饮水鸟玩具(#297)
扎克伯格的裁员信(#247)
如果这个世界有快乐机(#197)
(完)
除了 nocode ,想搞一个实物交换的网站,哪位大佬知道可以用哪个 Ai 生成网站?感激不尽
我感觉大家都在说 coding plan 抢不到,token plan 不够用。
好奇你们都做什么事情需要这么多这么频繁使用,小龙虾都做些什么?敲代码的话每天要调几千次么?
小伙子(我)做了一个 s3 的桌面管理工具, 想问问大家,你们平时有使用 s3 或者兼容的服务吗? 主要用例是什么? 都用的哪家的服务。
本人的工作主要是开发网络协议(各种协议,很多,感兴趣的也可以随便聊聊), 作为程序员,接触的客户比较少,也比较好奇真正的用户都是怎么用的。
我坐着打字的时候,问题前倾的啊,脖子也容易前倾的啊,
这个东西有办法可以解决的吗?还有只能忍受的吗?
1.在一台 vps 刚搭建了 cpa. oauth 认证了一批古法手搓的 free 账号。
2.采用 docker 部署的。
3.看文档找到了一个配置。这个是我后来手动修改过的
auth-dir: "/home/devSoft/cliProxyApi/auth-dir"
4.docker 挂载的目录
应该是我修改后没有重启导致的?
但是挂载的目录均没有文件,无论是宿主机还是容器内。刚接触 cpa,有大佬支持下吗?
宿主机 auth 目录
容器内 auth 目录
另外就是我先前挂载的宿主机的目录
cpa 的文件
目前我因为需要更新 docker 镜像,担心数据丢失。所以现在全部手动下载了。
如题,
本人比较喜欢洗车,大概十天半个月就会洗一次,车买回来几年基本都是自助洗车。
喜欢自己玩水枪、PA 喷泡沫的感觉,而且洗的时候很解压、很放松,还能活动身体,所以就一直自己洗。
洗车最令人烦恼的一般就是天气原因。比如说你正洗的时候要下雨了,或者刮大风了,到处都是灰尘。还有就是刚洗完第二天就又被雨雪、沙尘给搞脏了,这种情况比较烦人。
洗车产品的药剂品牌非常多,工具也非常多,让一开始自己洗车的人都不知道该怎么选择,很怕交智商税。
基于这些原因,我觉得对于爱洗车的人来说,还是需要一个来帮忙查看天气、管理洗车周期,并且有个地方能看洗车产品的口碑情况的小工具。
自己做了一个小程序,叫洗车志,来帮助车友来解决这些小麻烦。
主要功能:
我用 gpt 设计了几张宣传图,可以更直观地展示功能。希望能帮大家洗车更有计划,也欢迎大家提意见和功能建议!






这是一张打卡海报,有好几个不同的模版,可以根据自己的喜好选择。



话说投掷点数 0 的话,和难度还有关系吗?即便难度是 1,是不是也是大失败,金币+1?
4 小时前
2024 年获批建设的昆明国际通信业务出入口局,将于今年全面投入运营。4 月 23 日,中国电信云南公司党委委员、副总经理黄涛在云南广播电视台《金色热线》节目中透露,云南电信正按照“一通道四中心”规划,高质量推进这一国家级通信枢纽建设。
据黄涛介绍,在数字信息大通道方面,云南电信进一步优化了中老、中缅、中越等 8 条跨境链路,新建腾冲、河口等信道局,通道带宽从 800G 提升至 2T 。同时大幅压低通信时延,昆明到新加坡时延低至 23 毫秒,到缅甸仅 6 毫秒,建成覆盖南亚东南亚的低时延高速网络。
在流量汇聚方面,昆明国际出入口局已与北京、上海、广州、海口四大国际出入口局全面联通,开通至全国 14 个省 22 个主要城市的直达链路,全国通道能力达 25T 。目前已实现西部省份国际流量 100%经昆明疏通、全国访问欧洲流量 10%经昆明疏通,云南正逐步成为南亚东南亚数据流量的核心集散地。
在算力方面,依托“两亚智算中心”及即将在昆明呈贡新建的运营中心,未来可承载上万 P 算力,形成“两亚智算中心+呈贡信息产业园”双核心布局,成为中国电信全球算力的重要支点。
此外,云南电信还与昆明市政府共建跨境数据服务中心,联动中老磨憨—磨丁经济合作区,为企业提供数据出境服务,助力政府开展数据跨境监管。黄涛表示,“一通道四中心”是边建设、边招商、边见效的务实行动,未来将为云南建设面向南亚东南亚数字高地贡献电信力量。(云南网 记者李子楠)
======================================================================================
中国电信提速昆明国际通信业务出入口局建设运营
2026 04/21 17:18:00
新华网云南
近日,全国第四大国际通信枢纽——昆明国际通信业务出入口局网络设施工程已进入全面验收阶段。该项目于 2024 年 7 月获工业和信息化部批复设立,由中国电信独家建设运营,历经 1 年建设,已全面竣工,预计今年将完成流量全面加载。将成为构筑面向南亚东南亚的国家级数字枢纽底座,护航“出海企业”通信安全及畅通。
昆明国际通信业务出入口局位于昆明市西山区的“两亚”智算中心内,4000 架机柜整齐排布、12 万台服务器高速运转,以 30 亿亿次浮点算力强劲赋能“数字经济”发展。它是我国时隔 30 余年,继北京、上海、广州后设立的第四个全业务国际通信出入口局,也是西南地区首个国家级全业务国际通信关口,目前,该局已打通中老、中缅及欧洲、北美、亚洲等多方向网络链路,建成 8 条跨境路缆,开通多方向 1200G 国际链路,网络性能实现跨越式提升。昆明国际通信业务出入口局有效改善国际通信。例如:昆明至曼谷的国际传输时延相较传统路由从 70 毫秒下降至 20 毫秒;国际陆缆故障修复时间缩短至 3-7 天。时延低、维护快、传输稳、就近服务的核心优势十分突出。