普通视图
地铁怪谈
Focalboard 开源项目管理的有力工具
在当今数字化协作的时代,高效的项目管理工具对于团队的成功至关重要。Focalboard 作为一款开源的项目管理软件,正逐渐崭露头角,受到了众多团队和个人的青睐。
简介
Focalboard 是由 Mattermost 开发的功能强大的开源项目管理和协作工具,能够以看板的形式灵活地组织任务,创建详细的笔记,并方便地共享文件。它支持创建各种类型的笔记页面,记录数字、链接、文字等多种类型的信息,且内置了多种模板供用户直接套用编辑。
Focalboard 具有以下特点:一是开源免费,数据自托管,用户可将其部署在自己的本地服务器上,确保数据安全可靠;二是支持多平台,包括 Windows、macOS、Linux、iOS 和 Android 等,方便用户随时随地接入项目;三是具备丰富的功能,如拖放卡、进出口板、按状态或截止日期等过滤板和任务,以及支持多人协作、文件共享、团队和直接消息等;四是界面简洁易用,操作便捷,易于上手。
安装
Focalboard 的安装方式主要有以下几种:
- 使用 Docker 安装
这是在 Windows 系统上较为便捷的安装方式。首先需要在 Windows 中安装 Docker,然后打开 cmd 命令行,输入命令 docker run -it -p 80:8000 mattermost/focalboard
,等待安装完成。安装成功后,在 Docker Desktop 中可以看到 Focalboard 的 web 界面地址为 https://localhost:8000
,点击该地址或在浏览器输入 localhost:8000
即可进入 Focalboard 登录界面。
- 在 Ubuntu 系统上安装
以 Ubuntu 22.04 为例,安装步骤如下:首先是安装和配置 PostgreSQL 数据库,使用命令 apt-get install curl wget gnupg2 -y
和 apt-get install postgresql postgresql-contrib -y
进行安装,然后创建数据库和用户。接着安装 Focalboard,可从官网下载适用于 Ubuntu 的安装包,再通过命令进行安装。安装完成后,需为 Focalboard 创建系统服务文件,并将 Nginx 配置为反向代理,最后访问 Focalboard 网络界面并启用 SSL。
- 直接下载安装包安装
可前往 Focalboard 的官方网站(https://focalboard.com/)下载适用于不同操作系统的个人桌面版或个人服务器版的安装包,按照提示完成安装。
使用
- 创建团队和看板
在 Focalboard 的欢迎屏幕上,用户可选择创建新的团队并设置团队名称。进入团队页面后,点击 创建看板
按钮,根据需要选择看板类型,如项目任务、内容日历、公司目标与 OKR、路线图等模板创建看板,也可创建空白看板自行设计。还可设置看板的名称、描述和背景色等信息。
- 添加任务和卡片
在看板上,通过点击 添加卡片
按钮来创建新的任务卡片。可在卡片中输入任务描述,并为卡片添加标签、截止日期、优先级等属性,以便更好地对任务进行分类和管理。同时,可以将任务卡片分配给团队中的不同成员,明确责任分工。
- 进行协作和沟通
团队成员可以在看板上实时查看和编辑任务卡片,共同推进项目进度。在卡片中添加评论和讨论,@提及队友以引起他们的注意,分享想法和意见,实现高效的协作沟通。此外,还可通过 Focalboard 的团队和直接消息功能,进一步加强团队成员之间的交流。
- 利用其他功能
Focalboard 支持文件共享,用户可在任务卡片中上传相关文件,方便团队成员查阅和下载。可对看板进行筛选、分组和排序,快速找到所需的任务和信息。还能查看历史记录、备份快照等,确保数据的安全性和可恢复性。
Oryx 助力音视频服务开源利器
Oryx 是一个开源的音视频服务解决方案,具有多种特点和应用场景。
简介
特点 :
- 多协议支持 :支持 RTMP、HLS、HTTP-FLV 等多种流媒体协议,满足不同设备和场景下的音视频传输需求。
- 高扩展性 :基于插件的架构,便于用户根据自身需求进行功能扩展,如添加新的推流协议、录制存储等功能。
- 高性能 :支持多进程,能充分利用多核 CPU 和高速网络优势,还支持 HTTP2 和 Quic 协议,提供高性能的流媒体服务。
- 便捷管理 :提供丰富的 HTTP API,便于远程管理和操作,还支持 JSON 风格的配置文件,方便配置和管理。
应用场景 :
- 推拉流场景 :支持各种不同协议的推拉流,可轻松实现音视频的传输和分发。
- 录制场景 :支持合并多次推流,可设置过滤器只录制特定的流,满足对音视频录制的需求。
- 转发和虚拟直播 :可以将文件和其他流转发到不同的平台,或者转发到 Oryx 自身,实现虚拟直播等功能。
- AI 自动字幕 :利用 OpenAI 等能力,自动识别字幕并将字幕嵌入到视频流中,提升音视频内容的可理解性和可访问性。
安装
环境准备 :Oryx 基于 Go 语言开发,需先安装 Go 语言环境。同时,还需确保服务器有可用的网络连接,以便下载所需的依赖包和 Oryx 代码。
安装步骤 :
- 通过宝塔面板安装 :在宝塔面板的软件商店中搜索 Oryx,找到对应的插件后点击安装按钮,按照提示完成安装。如果宝塔商店的版本较老,可在Oryx Releases 页面下载最新版本的
bt-oryx.zip
,然后在宝塔软件商店 > 第三方应用 > 导入插件
处上传该文件进行安装。 - 通过命令行安装 :在 Unix-like 系统中,使用
go get github.com/ossrs/go-oryx
命令获取源代码,然后进入$GOPATH/src/github.com/ossrs/go-oryx
目录,使用$GOPATH/bin/go-oryx -c conf/oryx.json
命令启动 Oryx 服务。在 Windows 系统中,命令稍有不同,为go get github.com/ossrs/go-oryx
,然后进入%GOPATH%\src\github.com\ossrs\go-oryx
目录,使用%GOPATH%\bin\go-oryx.exe -c conf\oryx.json
命令启动服务。
- 通过宝塔面板安装 :在宝塔面板的软件商店中搜索 Oryx,找到对应的插件后点击安装按钮,按照提示完成安装。如果宝塔商店的版本较老,可在Oryx Releases 页面下载最新版本的
使用
- 基本使用 :安装完成后,可通过 Oryx 提供的 HTTP API 进行各种操作,如推流、拉流、录制、转发等。例如,使用
curl -X POST http://localhost:1935/api/v1/streams/start
命令可启动推流,使用curl -X GET http://localhost:1935/api/v1/streams
命令可获取当前正在推流的列表。 - 配置优化 :根据实际需求,可对 Oryx 的配置文件进行修改,以优化其性能和功能。例如,可调整最大连接数、缓冲区大小等参数,以提高服务的并发能力和传输效率。
- 与其他服务结合使用 :Oryx 可与云厂商的镜像、DDNS 服务、VPS 等结合使用,实现更强大的音视频服务功能。如通过 DDNS 和 VPS,可将摄像头 24/7 实时流式传输到 YouTube,无需使用 PC 或 OBS。
探索网络实验的神器 Mininet
在计算机网络的学习与研究领域,Mininet 是一款极具价值的工具。它就像是一个迷你网络世界的构建者,为我们提供了便捷的网络实验环境。本文将带你深入了解 Mininet 的魅力所在,并手把手教你安装与使用它。
简介
Mininet 是一个用于创建虚拟化网络环境的平台。
它能够在一台计算机上快速构建出包含多个主机、交换机、路由器等网络设备的网络拓扑结构。
对于网络研究人员、开发者以及网络课程的学生来说,Mininet 是一个理想的实验平台。
通过它可以模拟大规模网络环境,进行各种网络协议的研究、网络应用的开发测试以及网络教学演示等。
例如,如果你想研究一种新的网络路由算法,借助 Mininet 就能轻松搭建出实验所需的网络场景,无需搭建实体网络设备,大大节省了成本和时间。
它的核心优势在于轻量级和灵活性。Mininet 是基于 Linux 的用户模式 Linux 网络命名空间技术实现的,这使得它可以很方便地在各种 Linux 系统上运行。
而且,Mininet 的网络拓扑结构可以灵活定制,无论是简单的链式拓扑、树形拓扑,还是复杂的自定义拓扑,都能通过简单的配置文件或命令行参数来实现。
同时,Mininet 还支持多种网络仿真工具的集成,如 Wireshark 等,方便对网络流量进行分析。
安装
安装 Mininet 的过程相对简便,但需要确保你的系统满足一定的前提条件。以下是基于 Ubuntu 系统的安装步骤:
- 首先,需要更新系统的软件包列表。在终端中输入命令
sudo apt-get update
,让系统获取最新的软件包信息。 - 然后安装必要的依赖库。通过运行
sudo apt-get install -y build-essential autoconf automake libtool pkg-config gawk git python python-pip python-dev tcpdump wireshark sqlite3 curl bzip2 openvswitch-datapath-dkms openvswitch-switch openvswitch-common
命令,可以一次性安装这些依赖,它们是 Mininet 正常运行和后续功能扩展的基础。 - 接下来就是安装 Mininet 本身。可以从 Mininet 的官方仓库克隆代码,使用命令
git clone git://github.com/mininet/mininet
,然后进入 Mininet 目录,运行mininet/util/install.sh -a
命令进行安装。这个安装脚本会自动完成编译和安装过程,安装完成后,系统会提示安装成功的相关信息。
如果是在其他 Linux 发行版上,安装步骤可能会略有差异,但大体思路是相似的,就是要先安装依赖,再获取并安装 Mininet 代码。同时,也可以选择使用虚拟机软件,如 VirtualBox 或 VMware 等,安装一个 Ubuntu 虚拟机,然后在虚拟机中进行上述安装过程,这样可以避免对宿主机系统产生影响,方便实验环境的管理和维护。
使用
安装完 Mininet 后,就可以开始体验它强大的功能了。最基本的使用方式是通过命令行来创建和操作网络拓扑。
创建网络拓扑
- Mininet 提供了简单的命令行参数来快速创建常见的网络拓扑。例如,运行命令
sudo mn
,就会自动创建一个包含两个主机、一个交换机和一个控制器的简单网络拓扑。主机之间通过交换机进行通信,控制器用于管理交换机的行为。 - 如果想要创建更复杂的拓扑,可以使用
--topo
参数。比如,使用命令sudo mn --topo linear,4
,就会创建一个 4 个主机呈线性连接的拓扑,主机 1 连接到交换机 1,交换机 1 连接到主机 2,依此类推,形成一条链式结构。
- Mininet 提供了简单的命令行参数来快速创建常见的网络拓扑。例如,运行命令
操作网络设备
- 在创建好网络拓扑后,Mininet 会进入交互式命令行界面。在这个界面中,可以对网络设备进行各种操作。例如,可以通过
h1
命令进入主机 1 的命令行界面,在主机 1 上执行网络相关的命令,如ping h2
来测试主机 1 和主机 2 之间的连通性。如果网络配置正确,应该可以看到主机 1 向主机 2 发送 ICMP 请求并收到回复的信息,这表明网络通信是正常的。 - 对于交换机,可以使用
ovs-vsctl
命令来查看和配置交换机的端口信息、流表等。例如,ovs-vsctl show
命令可以显示交换机的详细信息,包括交换机的名称、端口号、连接的主机等。
- 在创建好网络拓扑后,Mininet 会进入交互式命令行界面。在这个界面中,可以对网络设备进行各种操作。例如,可以通过
自定义脚本
- 当然,Mininet 也支持使用 Python 脚本来自定义更复杂的网络行为和实验场景。你可以编写自己的 Python 脚本来定义网络拓扑、配置网络设备参数以及实现特定的网络功能。例如,你可以通过继承 Mininet 的拓扑类,创建一个包含多个子网络、不同带宽和延迟设置的复杂拓扑,并在脚本中对交换机的流表进行编程,实现特定的流量转发策略,如负载均衡、流量过滤等。这种方式为用户提供了极大的自由度,能够满足各种个性化的网络实验需求。
新增评论置顶功能
我对评论模块进行了优化,增加了置顶功能。具体逻辑是将文章页评论列表的排序改为三段序列:主评论被置顶的提升到最上方,主评论下有子评论被置顶的整体提升到次上方,其他的保持不变。
在合法合规的前提下,每个人有平等的话语权,所以评论没有优劣之分——不论文笔,不论意义,应当自然排序。不过写《老婆给我转发了一个腹肌》这篇文章,我预感到老婆会评论,那就产生了一个需求——文章涉及的当事人发声,一般有必要置顶。另外需要置顶的场景包括评论者对文章进行了勘误,或者提出了很有价值的补充解释。故此我开发了评论置顶功能。
自己动手包包子的一天
这个端午不一般!我与8万人在鸟巢,被凤凰传奇的草原风吹“上头”!
光吞万象,挺好,挺好
契约之下的自由:社会契约论
在现代社会中,我们习以为常的安全、秩序、司法和公共服务,其实都建立在一个古老而深刻的哲学命题之上:社会契约。它并非法律文本上的字句,而是一种政治制度赖以存在的逻辑前提。尤其是在国家权力膨胀、公共信任滑坡的时代背景下,回到社会契约论的原点,重新理解政府与公民之间的边界与义务,是一项极为现实的任务。
自然状态的风险与自由的再定义
社会契约论的核心,是一种对自由的重新诠释。在自然状态中,人类虽然享有绝对的自由,但这种自由是脆弱的、不稳定的——你拥有刀,我有枪,谁都可能成为谁的威胁。为了摆脱这种“弱肉强食”的原始无序状态,人们选择以让渡部分天然自由为代价,换取制度化的秩序和权利保障。
这种让渡不是对自由的否定,而是一种更高阶的自由形态——契约自由。它建立在法律与制度的基础之上,使得自由从暴力的任性转化为公平的共享。虽然形式上受到了限制,但实质上更可靠、更平等。
洛克的社会契约:让渡手段而非权利
在约翰·洛克的理论中,社会契约是一种“权利委托契约”,其核心前提是:政府是人民的工具,而不是主宰。他认为人类进入社会,并不意味着放弃全部的自由,而是将部分执行自由的“手段”——比如私力救济、私人惩罚——交由政府代为执行。
这意味着,公民保留了生命、财产和自由这三项不可让渡的基本权利,而仅将立法权、司法权和执法权委托给政府,由它来构建更有效率的秩序体系。权力的让渡,必须基于公民的明示或默示同意——如通过选举制度,或长期遵守法律体系本身。
最关键的是,洛克留给社会一个“安全阀”:当政府违背契约、侵犯基本权利时,公民有权收回被委托的权力,重建政治秩序。
社会分工下的政治正当性
从治理结构的角度看,这种契约本质上是一种社会分工:公民专注于生产与生活,政府专注于维持秩序与保障权利。就像人们将金钱交给银行托管,是为了获得更高的安全性和便利性;权利的“外包”也是为了追求更高的保障效率。
但这种分工必须建立在契约精神之上。如果政府脱离了保障者的角色,变成了利益掠夺者,那么这种分工就会失去正当性。正因如此,权力的来源、边界与责任,必须始终受到公民的监督和制约。
结语:契约社会不是理想主义,而是现实主义
今天我们谈论自由、法治与国家权力时,不能只停留在抽象概念上。社会契约论告诉我们,所有权力都不是天授的,而是人民基于现实需要所“授权”的临时工具。政府的合法性,不在于它有多强,而在于它是否始终在为公民服务。
自由,不意味着无拘无束,而是意味着你在遵守规则的前提下,拥有不被任意剥夺的权利。制度,不是用来压制自由的工具,而是为了让更多人更长久地享有自由的手段。
社会契约,从来都不是空洞的哲学思辨,而是一种关乎每个人现实生活的制度基石。在这个契约之上,我们建构法律、投票选举、表达抗议,也在关键时刻,保留了拒绝不公的权利。
搭乘C919
《破地狱》《九龙城寨之围城》观后感
去发现更大的世界
五一假期九江之行
博客这片自留地,情怀不老!
老婆给我转发了一个腹肌
老婆在抖音上给我转发了一个腹肌帅哥,令我猝不及防。相识不过二十年,就不拿我当外人了。
平时老婆跟我打趣,口头禅是喜欢有腹肌的帅哥。简单一句话——“有腹肌的”、“帅”、“哥”——我竟然一个字都不符合,伤害极大。跟老婆刚认识的时候,我110斤,有结实平坦的小腹;现在我160斤,大腹便便、其貌不扬、中年大叔。
有一段时间我不知道是不是触发了“肌肉”这个关键词,刷到大量擦边男视频。然后在评论区看到各种女性口吻发言,跟下半身男人别无二致。而我仍然认为这些评论是反串或者玩梗——我好像本能忽视了这种自欺欺人的心态,就是在我自己看到大胸、长腿挪不开眼的情况下,我竟然认为女性不会真心喜欢有肌肉的擦边帅哥。
直到我半玩笑半认真地跟老婆讨论这个问题,对照发现她跟我看擦边视频的心理状态是相似的。当然,这本就是不言自明的事情——异性相吸的基因设计是对称的。
人会用唯心的视角粉饰世界的运转,使人生看起来理想一些。
上面这句话的例证就是我相信老婆爱我胜过爱有腹肌的帅哥。
原视频:
基于信任的顾问合作模式
离开字节以后,我的很大一部分收入来自于外包项目的开发。不过,和过去大家熟悉的外包的不同的是,我并非传统的外包模式,我称之为「基于信任的顾问合作模式」。
传统的外包模式是什么样?
传统的外包模式往往是人力外包,或者项目外包,在项目的一开始确定一个项目的报价,然后进行 50% 的款项结算。随着后续的项目进展,往往会因为项目前期评估不足、需求变动、初期评估不够而导致成本超出报价,最终导致项目最终的结算困难。抑或者是在一开始报一个拥有足够利润空间的价格,从而让项目有足够的安全边际,以支撑不同场景下的交付。
这两种方式其实都略微有一些问题
前者正常报价的,会因为项目本身的不确定性、迭代过程中的种种问题,导致最终结尾;对于项目方来说,需求没有解决,反而损失了项目的初始基金。对于开发者来说,要么是支付成本,完成一个 ROI 很低甚至为负的项目,要么是项目完成了,但没有收到款。
后者虽然对于开发者来说,更加的安全,但对于项目方来说,支出了极高的成本,来对冲项目开发过程中的不确定性。
我的做事方式是什么样的?
我做事的方式更接近于传统咨询公司的策略 —— 计算工作时长,并为工作时长付费,而且可以接受后付费。
这里有几个前置条件:
- 我的客户往往是介绍而来,很少有纯粹的冷启动客户;所以我们存在一定的基础信任;
- 我的时间的价格很高,基本上持平我在字节的时薪;
- 我会记录我在这个项目的时间花费,从而让项目方拥有更明确的支付预期,知道「我花钱买了什么」。
接下来我们一个个说 ——
- 我自己很少主动去找客户。实际上大多数时候,我的客户希望我分配更多的时间给他们。而我需要的是更多的是时间分配个客户。所以我基本上接触到的往往都是朋友转介绍过来的客户,而非主动去找的。这保证来找我的客户往往是有一定的基础信任的。不仅如此,往往他们找我时,我可能还在手头忙一些事情,随后就会被我暂时拒绝掉,让他们去找别的开发者。
- 我给自己的时间价格相对比较高,这保证了我可以筛选值得的客户,也可以规避掉一部分低价敏感型客户(实际上找我的 ROI 应该是更高的,但不一定是最便宜的)。同时,也给客户更好的服务。我不太喜欢低价的竞争,只会让大家都陷入无尽的价格战里。相比之下, 我更多提供的是结合 AI 的理解能力,和 AI 辅助的能力,用更短的时间完成更多的工作,提升自己的人效。
- 因为前面基于信任,所以我会给客户说1. 我不需要你预付费,但我会给你一个 credit。在这个 credit 内,我会先干,后让你支付;2. 到了某个支付的节点,我会给你一个账单,你需要为这个账单付费。账单里包含了详细的项目、活动和所消耗的时间。以及每个时间的具体的工作描述,从而让客户支付的放心。

通过这样的方式,我构建了一个相对更加互信的协作模式 —— 我认为也是更好的。我们拥有相同的目标,一起迭代,将整个项目做大做强,并赚到自己应得的钱。
最后,说一下我目前的报价: ¥400 元/小时。价格会根据客户的数量进行持续的更新。不过已经在服务的存量项目,则会保持支付的费率。仅对新客户 or 新项目生效。
2025.05.28: ¥375/小时 -> ¥400/小时
武汉采摘树莓-黄陂七颗莓生态园
HBO电视剧《最后生还者》第二季影评
看完了HBO的《最后生还者》第二季的第六集,剧情终于又回顾了第一季结尾的那个令人窒息的道德困境,终于又来了,如果说第一季结尾乔尔血洗医院的行为已经让观众吵翻了天,那么第二季简直是把伦理学教材撕碎了扔进末日废墟里,还踩了几脚。
记得第一季结尾那个令人窒息的时刻吗?火萤组织准备用艾莉的大脑做实验寻找疫苗,实验的过程将杀死艾莉,而乔尔选择大开杀戒救出艾莉,乔尔的行为到底是不是自私让人争论不休,而我,完全理解乔尔的每一个选择。
火萤的行为简直可以写入医学伦理学反面教材。他们对待艾莉的方式,就像对待一个装着解药的容器,而非一个有思想有感情的人。这让我想起康德那句著名的话:"人应该作为目的本身而存在,而不仅仅是手段",火萤恰恰把艾莉当成了手段——一个可能拯救人类的手段。他们甚至懒得询问这个15岁女孩的意愿,就直接准备开颅手术。这种"杀死一个人,拯救千万人"的极端功利主义逻辑,在哲学课本上恐怕都难以自圆其说。
道德的底线是对人的尊重,火萤通过手术杀死艾莉的行为,艾莉完全不知情,也没有做出选择,糊里糊涂就被麻醉上了手术室,火萤如果事先争取艾莉的意见,艾莉同意牺牲自己的生命,那么火萤再做手术,至少符合程序上的合法性。但从剧情上看,即使艾莉不同意手术,火萤也会强行做手术。
强迫一个人牺牲自己来拯救其他人,即不道德,也不合法。火萤的行为符合"牺牲少数拯救多数"的功利主义逻辑,但忽视了个体权利的绝对性。
乔尔不能帮助艾莉做选择,选择她是否牺牲,乔尔去拯救艾莉,维护了艾莉做为一个人最基本的个体权利:生命权,这才是符合最基本的伦理学的道德标准,乔尔将艾莉视为女儿,保护家人的义务高于针对陌生人的义务,乔尔得知火萤计划立即对艾莉进行致命手术(未经其知情同意),且时间紧迫,火萤士兵也试图阻止乔尔,并直接开枪攻击,乔尔随时存在生命危险,因此,在拯救艾莉过程中乔尔杀死全副武装的火萤士兵,是完全必要的,并且不存在任何道德上的问题,在手术室里,主治医生手持手术刀(可算为致命武器)进行阻挡,乔尔杀死医生的行为略有一点点不妥,算是超微超出了一点必要限度,实际上将医生击伤即可。
总的来说,艾莉的险情源于火萤的决定(未经同意进行手术),而不是乔尔的过错,乔尔的行为基本符合紧急避险的规则。
不过,乔尔最后杀死马琳的行为存在较大争议,主要动机是为了确保火萤不会追杀,属于乔尔人性的黑暗面,但鉴于马琳是制造险情的元凶,因此简单判断对错也是非常困难的。
第二季最精彩的地方在于它没有简单地评判对错,艾比的故事线让观众被迫站在"另一边"思考:如果你的父亲是被乔尔杀死的医生,你会怎么做?这种视角转换简直是对观众道德观的一次"压力测试",尼采说"当你凝视深渊时,深渊也在凝视着你",这部剧完美诠释了这句话——我们越是深入每个角色的动机,就越难做出简单的道德判断。
特别打动我的是艾莉和乔尔之间逐渐修复的关系,那些安静的瞬间——一起弹吉他、看长颈鹿、讲蹩脚笑话——比任何枪战戏都更有力量,在这个道德模糊的世界里,他们之间的爱是少数几件确定无疑的美好事物。这让我想起自己和子女的关系:青春期时我们吵得天翻地覆,但子女大学毕业了,我们反而能像朋友一样相处。人类关系的韧性,或许才是对抗这个荒谬世界的最佳武器。
《最后生还者》第二季最伟大的地方在于,它拒绝给出简单答案。在这个后末日世界里,每个人都在为自己的生存和所爱之人战斗,每个人的选择都有其合理性,但又都沾满鲜血。萨特说"他人即地狱",但这部剧告诉我们:没有他人,我们也终将成为自己的地狱。当乔尔抱着受伤的艾莉穿过医院走廊时,他选择了一个具体的人而非抽象的人类——而这,或许就是混乱世界中我们能做的最人性的选择。
播客自动化更新分发教程
摘要:自动更新和多平台同步播客的方法:找到一些特定材料,分批导入notebooklm,输入提示词,生成音频文件。在喜马拉雅(国内)或spotify(国外)上创建播客,将音频文件上传,并生成RSS Feed。在iTunes、Youtube、网易云音乐等平台创建播客,选择使用RSS,并将其导入。之后,只需要更新喜马拉雅或spotify,即可同步将播客发布到多个平台。
今天我将介绍一下怎么用 AI + 自动化工具,实现播客内容的“一次制作、多平台分发”。
播客是啥?现在谁还在听?
播客(英文:Podcast)是指的是通过数字广播技术制作的,在互联网上传播的音频内容。简单来说,播客就是“可以订阅的音频节目”,你可以把它理解成“音频版的专栏文章”或者“随时能听的电台节目”。它不像直播那样需要你盯着屏幕,也不像视频那样吃流量,适合开车、做饭、散步的时候听。
在内容泛滥的今天,播客反而成了注意力稀缺下的“净土”——节奏慢、干货多、听众粘性强。
目前主流播客平台包括:
国内平台: 喜马拉雅、网易云音乐、小宇宙
海外平台: Apple Podcasts、Spotify、YouTube Music、Pocket Casts
大部分平台都支持用 RSS Feed 自动订阅内容更新——这就是我们可以“自动同步”的关键点。
根据《PodFest China2020中文播客听众与消费调研》显示,中文播客听众最常使用的5个收听渠道是:Apple Podcasts(49.7%)、喜马拉雅(37.9%)、网易云音乐 (35.0%)、微信公众号内嵌音频 (21.9%)和Pocket Casts(19.5%)。
为什么要自动更新播客?
我们做内容的都知道,最大的问题不仅仅是创作,而且发布太繁琐也是个大问题。你要一条条上传音频、写描述、同步封面,光是把一集播客发到5个平台,就能让人劝退。
但如果有个方法,可以让我只上传一次,就能全平台同步更新,是不是省时省力又体面?于是就有了这套玩法:AI生成播客 + 多平台同步。
第一步:用AI批量生成播客内容
先说最核心的一步——播客内容从哪来?
我的方法是:找一些结构化或主题清晰的素材(比如电子书章节、技术文章合集、行业报告等),然后分批导入 NotebookLM 这个工具。
这个工具的牛点在于,它能理解资料内容,然后你可以通过提示词让它生成一段质量不错的,类似播客主持人口吻的音频。通过对提示词的调整,可以从不同角度来优化和调整输出的播客音频。
第二步:在主平台创建播客并上传音频
内容搞定之后,得找个“主阵地”上传音频文件。我试了两家:
Spotify for Podcasters(海外)
喜马拉雅(国内)
这两家都有一个共同特点:能生成 RSS Feed,用户量大。
这个 RSS Feed 非常关键,它就像播客的“分发中枢”,有了它,其他平台就可以自动订阅并更新你的播客内容。
这里重点讲一下喜马拉雅的RSS Feed,隐藏的非常深,不容易找到,登录喜马拉雅创作中心后台,点击“创作实验室”,选择“Apple 播客托管服务”,即可生成一个RSS Feed,这个RSS Feed不仅仅可以同步到Apple Podcasts,同步到其他播客平台也没问题。
Spotify的RSS Feed就好找多了,登录spotify for creators的后台,点击“设置”-“Availability”,即可看到RSS Distribution里面的链接。
你上传好音频,设置好标题、描述、封面,播客就上线了,同时也自动生成了对应的 RSS 链接。
第三步:把RSS同步到其他平台
拿着刚才生成的 RSS 链接,我们可以去以下平台注册并导入:iTunes Podcasts(Apple)、YouTube Music、网易云音乐、小宇宙、Pocket Casts等等。
这些平台在创建播客时一般都有“使用RSS导入”选项,只要粘贴你的链接,它们就能自动抓取更新。
这样一来,你只需要维护喜马拉雅或者Spotify的那一个源头,其余平台会自动同步更新,不用你操心。
后续更新流程就是“一次上传,全网同步”。
从第二期音频开始,你就爽了。流程如下:
把新内容丢进 NotebookLM,设计一个提示词,生成音频。
上传音频到你的主平台(比如喜马拉雅)。
所有绑定RSS的平台都会自动更新。
这不就是我们程序员最爱的“自动化工作流”吗?
一些实用小贴士
素材限制: NotebookLM 对处理的文本长度(包括中文)有以下限制:1、按来源文件限制:每个上传到 NotebookLM 的来源文件(例如 PDF、Google 文档、文本文件等)的字数上限为 50 万字。同时,上传的本地文件大小上限为 200MB。2、按笔记本限制:一个笔记本中可以包含的来源数量,普通用户上限为 50个。
节奏控制: AI生成内容最好控制在10~20分钟,既不累也容易被听完。
配图和封面: ChatGPT出图非常快,图片质量高,顺手还能给社媒配套宣传图。
结语:别等完美,先上车
很多人总觉得做播客门槛高,其实现在有了AI工具和自动化同步工具,真的不难。重要的不是一开始多完美,而是先跑起来,优化可以慢慢来。
如果你也想做知识型播客,这套方法值得一试:轻量、自动化、省心、可扩展。
我的播客地址
下面是我自己创建的各个平台的播客地址:
YouTube:https://www.youtube.com/@williamlong
Apple Podcasts:https://podcasts.apple.com/podcast/%E6%9C%88%E5%85%89%E6%92%AD%E5%AE%A2/id1816103541
Spotify:https://open.spotify.com/show/4iGoK7x88ul8V8MdibQy9C
喜马拉雅:https://www.ximalaya.com/album/92461056
网易云音乐:https://music.163.com/#/djradio?id=1224404483
小宇宙:https://www.xiaoyuzhoufm.com/podcast/68302549457b22ce0d25dc08
新春成都周游记
拼多多三十元电动牙刷实测
产品说明
购买原因
事教人,一次就会。经历拔智齿之痛,我恨不得吃一点东西就刷一次牙。富阳家里老婆给每人准备了电动牙刷,但余杭不常住,只有普通牙刷,我决定立即再为自己买一个。
产品选择
老婆买的是几百元的品牌电动牙刷,我感觉自己没这么精贵,打算试一下拼多多几十的产品。当然这么想也是因为可视挖耳勺都来到几十的价位了,我觉得电动牙刷技术含量更低,品牌溢价严重。
产品展示
产品参数 | |
---|---|
品牌 | 福派 |
刷毛 | 杜邦软刷 |
防水等级 | IPX8级防水 |
净重 | 108G |
电压 | 直流3.7/功率2W |
充电时间 | 约3个小时 |
震动频率 | 42000次/分钟 |
购买价格
2025年5月11日购于拼多多福派个护官方旗舰店。黑白色,送5个刷头,发好评可再送3个刷头。实付30.97元。
产品实测
产品包装
产品外观
做工比我想的要好。我贵的那个牙刷是光面设计,这款多边形防滑机身手感反而更舒适。
配件只有 5 个刷头和 1 根 USB 线,没有底座。我从认识电动牙刷开始,就有个刻板印象是竖立充电的,所以没有底座稍感奇怪。不过考虑到价格,一切都合理,要啥自行车。
动态展示
有五种震动模式,动力强劲,表现令我很满意。
个人感受
第一,日常使用电动牙刷是非常有必要的,清洁力强。比如电动牙刷可以把牙膏打成泡沫,有助于充分利用,这是手动刷牙做不到的。
第二,几十块的电动牙刷完全够用,没必要追求高价品牌牙刷。本质上核心就是电动马达,其他天花乱坠的高科技话术都是扯淡。
后记
测试结果仅针对当前样本,不保证同款商品表现一致。
阿猫、阿狗、阿Q
《三体》读后感
宽带提速
缘于某次上门推销,华数宽带给的价格低到无法拒绝,从此几处房子都惯性用华数。余杭的宽带这周到期了,我拒绝了销售的续费邀约。一方面因为华数断过几次网令我不满,另一方面我想研究一下其他运营商的新客户优惠。
换宽带,最好把之前的注销,于是我打 96371 询问。与猜想的一样,开通的时候在线办理,注销的时候要带身份证去线下营业厅办理。我决定折腾一下,也问来了最近的营业厅地址。其实到此时,我还没认真了解过其他运营商,在前往营业厅之前我开始做功课。然后我就发现了不愿意承认的事实——华数宽带是最优惠的。其他宽带不仅价格没优势,甚至还要收安装费和机器押金——华数这两项免费。
换宽带计划尚未行动就败北,悻悻然改成了续费。不过我没再找之前的销售——说出的拒绝怎么收得回——而是直接找华数官方,结果发现小程序报价比销售给的更低……最终我选择了 350M 两年 517 元,赠送路由器(标价188元)或摄像头(标价149元)二选一,以及一袋东北大米(5斤,标价36元)。
完成续费之后,我遇到了另一个问题——测速发现实际速率不到100M。我立即联系客服,被告知在系统里查到新的速率已经生效了。我怀疑有延迟,等到第二天再次测试,仍然不到100M。又向客服求证,对方还是声称新速率已在系统生效。此时我只能怀疑是设备的原因。路由器是华为千兆的没问题,那么就可能是网线的问题。这套房子是毛坯全包装修,我不记得当时有没有让我选择网线的价位。当年家用的还是 20M 的宽带,彼时的眼界很可能想象不到百兆以上的预期。
我主路由器放在主卧,具体走线是——入户线从储藏间穿出,通过预埋管线接到主卧电视墙,再有线连接到路由器。我在网上认真研究了几类线的区别,自以为有把握了,实际到储藏间看着一堆线完全没头绪,连标记都找不到。但是此时我已经充分怀疑家里装的是百兆网线,导致速度上不去。后来跟obaby聊起这个事,她说她原来就是百兆网线,然后自己换成千兆了。至此我就完全相信是家里的网线不行。花 350M 的钱用 100M 的网,我不能当这个冤大头,于是发愁怎么解决这个问题。我开始胡思乱想,越想越复杂,甚至在想更换预埋的网线要不要动装修,要花多少钱。
什么都会的obaby是自己更换的,我没这个自信,于是先找客服安排师傅上门检查。然后这个问题以出乎意料的简单方式解决了。师傅将连接路由器的网线插入仪器,随后出门了。等待的过程中我准备着说辞,想请师傅帮忙看一下能否更换网线,或者帮我介绍做这个的人。然后师傅就回来了,跟我说了一句再测一下,就自顾自开始收拾工具包。我懵了一下,赶紧打开 APP 测速,终于看到了飞一样跳动的数字——
随后师傅简单跟我说明了原因,小区终端原来将我接在百兆端口上,他给我切换过来就好了。我再三向师傅表达了感谢。没想到问题原因如此简单,宽带提速了,同时也证明当时装修并非粗制滥造,让我心情舒畅不少。
回过头来想,如今网络跟水电煤一样是生活必需品,但是运营商逐年提速、增费,定价远不如水电煤稳定。而且这个过程不可逆,低速便宜的套餐不断被移除。以余杭为例,初装是 50M 三年 666元(222元/年),第一次续费是 100M 两年半 588 元(约256元/年),这次续费是350M 两年 517 元(约259元/年)。
就我个人而言,如今宽带速率完全是过剩的。我常用的网络服务很固定,瓶颈在于网络平台(服务器带宽),而不是终端(家庭带宽)。如果可以选择,我宁可维持低速便宜的网络套餐。
开源实例之dash.
前言
dash. (or dashdot) is a modern server dashboard, running on the latest tech, designed with glassmorphism in mind. It is intended to be used for smaller VPS and private servers.
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 22 |
程序 | dashdot 6.0.0 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Node.js
安装程序
官网地址:https://getdashdot.com
仓库地址:https://github.com/MauriceNino/dashdot
Docker 部署
docker container run -itd \
-p 3001:3001 \
-v /:/mnt/host:ro \
--privileged \
mauricenino/dashdot
本地部署
#克隆代码
git clone https://github.com/MauriceNino/dashdot
cd dashdot/
#构建
yarn
yarn build:prod
#启动
yarn start
实例体验
后记
本实例仅供参考,不定期重置数据。
开源实例之Ward
前言
Ward is a simple and minimalistic server monitoring tool. Ward supports adaptive design system. Also, it supports dark theme. It shows only principal information and can be used, if you want to see nice looking dashboard instead looking on bunch of numbers and graphs. Ward works nice on all popular operating systems, because it uses OSHI (Native Operating System and Hardware Information).
Ward是一款简约的服务器监控工具。它支持自适应设计系统,还支持暗色主题。它仅显示关键信息,如果您不想看到一堆数字和图表,而是想看到一个美观的仪表盘,那么它将是一个不错的选择。Ward能够在所有主流操作系统上良好运行,因为它使用了OSHI。
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Java 1.8 |
程序 | Ward 1.8.8 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Java
安装程序
仓库地址:https://github.com/Rudolf-Barbu/Ward
#克隆代码
git clone https://github.com/Rudolf-Barbu/Ward
cd Ward/
#编译
mvn clean package
#运行
java -jar ward-1.8.8.jar
默认运行在 4000 端口。
实例体验
后记
本实例仅供参考,不定期重置数据。
千年深埋功与名,一朝出土天下惊
互联网之下没有新鲜事
程序员失业回老家的这段日子
开源实例之Beszel
前言
Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。
它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问。
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
主控程序 | beszel 0.11.1 |
被控程序 | beszel-agent 0.11.1 |
实例部署
官网地址:https://beszel.dev/zh/
仓库地址:https://github.com/henrygd/beszel
主控端部署
Docker 部署
docker run -d --restart=unless-stopped -p 8090:8090 henrygd/beszel
本地部署
从仓库中下载 release 包,解压后执行。
./beszel serve --http "0.0.0.0:8090"
被控端部署
登录主控端后台,点击右上角“添加新客户端”,复制命令到待监控服务器完成被控端部署。
实例体验
后记
本实例仅供参考,不定期重置数据。
角度
那些年,我偷偷喜欢的她
成都武侯祠
开源实例之哪吒监控
前言
开源、轻量、易用的服务器监控与运维工具
一键安装
支持一键安装面板和监控服务,操作便捷。兼容主流系统,包括 Linux、Windows、macOS、OpenWRT 以及群晖。
实时监控
支持同时监控多个服务器的状态,提供历史网络状态和延迟图表,监控网页、端口可用性和 SSL 证书状态。支持故障和流量等状态告警,可通过 Telegram、邮件、微信等多种方式提醒。
轻松运维
提供 API 获取服务器状态,支持WebSSH、DDNS 和流量监控。可设置定时和触发任务,并批量执行服务器任务。
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务器 | Nginx |
主控程序 | dashboard 1.12.4 |
被控程序 | nezha-agent 1.12.2 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Nginx
安装程序
官网地址:https://nezha.wiki
仓库地址:https://github.com/nezhahq/nezha
主控端部署
curl -L https://raw.githubusercontent.com/nezhahq/scripts/refs/heads/main/install.sh -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
按照提示执行安装。
被控端部署
登录后台,进入服务器选项,点击右侧“安装命令”,粘贴到待监控的服务器执行安装。
实例体验
后记
本实例仅供参考,不定期重置数据。
📍 一场说走就走的旅行 - 北京
碾转
阳新县百洞峡半日游
如何理解人生是旷野?
当我离职后,我越发的理解「人生是旷野」这句话的含义。
对于上班族来说,一个很大的好处是 —— 你的前进的轨道是明确的,也是我们常说的,「人生是轨道」。对于打工的人来说,你前进的轨道是相对更加明确且清晰的。你只需要遵循整个组织的晋升规则,努力往前跑,就有可能达到你的目标(或者是组织的目标)。

而当你离开了企业和组织,成为一个自由模式的人(或者是个体户模式),你的问题会出现在 —— 你的眼前会有很多条路,你不止有一条轨道,你可能有两条、三条,无数条轨道和可能性,唯一需要的便是你自己做出选择,去走哪条路(这也是绝大多数人觉得 —— 自由是旷野的好处,你有了无数种可能性)。
但,这种可能性也有一定的问题。作为一个自由人,你会看到无数种可能性,但同时 —— 绝大多数的可能性都是不明确的,都是虚线,你不知道到底哪个可能性能够真正走到终点,甚至有可能你看到的所有可能性都无法走到终点。你努力半生,可能归来仍是一场空。而这,可能是绝大多数人从未关注的旷野的另一面—— 虽然都是轨道,但可能每个的胜率都不是 100%,你如何找到那个胜率最大的选项,成为了新的问题。
众生牛马
拼多多16元折叠磁吸支架手机壳实测
产品说明
购买原因
为新买的iPhone 14配套购买此手机壳。
产品选择
手机壳带指环是我的刚需,但有个弊端是不能无线充。而这款手机壳同时满足指环、支架、磁吸充电,简直把我的期望拉满。
产品介绍
商品参数 | |
---|---|
品牌 | Nohon/诺希 |
保护套质地 | 液态硅胶 |
款式 | 全包式 |
流行元素 | 磁吸、支架、磨砂 |
风格 | 简约 |
购买价格
2025年5月13日购于拼多多。适配 iPhone 14,梅粉色,实付15.6元。
产品实测
包装
这种快递就没那么小心了,不过商品本身没有受损。
外观
包裹性
包裹严丝合缝,比一般的硅胶套要更用力地套进去。
支架
这个支架比想象的更薄,但是也比想象的更牢固。
无线充
满足了带壳无线充电。
指环
在某些掉落危险场景,指环给我极大安全感,所以我很看重。这款产品未言明,但是支架旋转、折叠很轻松,我觉得当指环用完全没问题。
后记
测试结果仅针对当前样本,不保证同款商品表现一致。
京东国补三千元 iPhone 14 实测
产品说明
购买原因
我爸手机坏了,我妈准备把她的 iPhone XR 给我爸,然后自己换个新手机。当然这个事情是我来办。
产品选择
我们都习惯用苹果手机,如果换安卓,爸妈在老家手机出问题,我就无法亲自验证,所以品牌只能选苹果。至于型号,我研究了一番,认为现在 iPhone 14 最具性价比。
接下来选择平台。我第一想法还是转转,因为我妈的 XR 就是转转买的,没问题。但这次在转转筛选了好几天,能够满足无维修记录,屏幕、电池未更换过的,价格也都在 2600 以上。而我发现京东国补之后,新机价格是 2999 元。没有过多犹豫,我决定在京东买新机。
产品展示
图中显示的是合约版价格,非合约版国补后价格是 2999 元。
购买价格
2025年5月13日购于Apple产品京东自营旗舰店。iPhone 14 128G 星光色,原价 3499 元,国补减 500 元,实付2999元。
产品实测
在京东购买电子产品最看重两方面,一是正品保证,二是物流超快。而只要确保 iPhone 是正品,就无需过多检查了,有问题找 Apple Store 兜底。
物流
发货地是上海,次日到达。因为国补的要求,签收时必须拆开包装,开机,拍照记录序列号。
正品
我不怀疑京东自营店,不过为了文章的严谨性我还是到苹果官网查询了,正品无疑。
包装
京东快递送货上门,包装完好,无磕碰。
配件只有一根数据线(不带充电头)和卡针。
外观
后记
测试结果仅针对当前样本,不保证同款商品表现一致。
大大大大大美新疆
心宽体胖
起因
电台讲苏轼的故事,说了一句“心宽体pàng”。我第一反应是主持人没文化,但是马上被另一个不安的想法覆盖。我注意到主持人念“胖”字之前停顿了一下,仿佛特地确认过才决定念出“pàng”。我非常担心这又是一个习非成是的惨剧。
求证
网络信息
我立即在网上查找了大量资料,幸好“心宽体胖(pán)”读音是公认的。原意指心胸开阔坦荡,身体安泰舒适。出自《礼记·大学》:
富润屋,德润身,心广体胖,故君子必诚其意。
但是很快我就发现将其中的“胖”字曲解为“肥胖”的文章,甚至有“科普文”堂而皇之地写到:
肥胖的人不容易激动、心态更为平和,或者说心态平和的人容易发胖,也就是常说的“心宽体胖”,这到底是什么原因呢?
显然“心宽体胖”有被滥用的现象了。我再也坐不住,决定到书中求证。我先去了新华书店,得到意外的答案后,又马上跑了一趟区图书馆。
* 下文提及的图书馆藏书有的年代久远,所以特地注明出版/再版年份。无特殊说明的表示图书较新,无年代背景影响。
权威工具书
《新华字典》✓
我第一个查看的当然是《新华字典》。无误。
《新华成语词典》✗
与《新华字典》一样由商务印书馆出版发行的《新华成语词典》同时收录了“心宽体胖”和“心广体胖”,前者词条只做了指向。注意到已经多了身体健壮的解释。
普通工具书
《古代汉语词典》✓
四川辞书出版社出版发行。无误。
《中华大字典》✓
四川辞书出版社出版发行。无误。
《新编现代汉语词典》✓
湖南教育出版社出版发行。无误。
《60000 词现代汉语大词典(第三版)》✓
四川辞书出版社出版发行。无误。
《60000 词现代汉语词典》✓
四川辞书出版社出版发行。无误。
《实用汉语成语词典》✓
四川辞书出版社出版发行。无误。
《汉语正名正音词典》✓
河北少年儿童出版社 1987 年出版。无误。
《词林》✓
工人出版社 1986 出版。无误。
《实用现代汉语规范词典》✗
吉林大学出版社 2004 年出版发行。含义有误。
《新编汉语词典》✗✗
湖南人民出版社 1988年 出版发行。注音、含义同时有误。
《汉语成语大词典》✗✗
华语教学出版社出版。注音、含义同时有误。
《成语大词典(第二版)》✗✗
四川辞书出版社出版发行。注音、含义同时有误。
学生工具书
接下来我更关心的是面向学生的工具书,那代表了文化传承的方向。
《现代汉语小词典》✓
说词解字辞书研究中心编写,华语教学出版社出版。无误。
《学生实用古汉语常用字词典》✓
内蒙古大学出版社出版。无误。
《袖珍多音字小字典》✓
说词解字辞书研究中心编写,华语教学出版社出版。无误。
《彩图版小学生全功能字典》✓
说词解字辞书研究中心编写,华语教学出版社出版。无误。
《学生成语词典》✗
开心辞书研究中心编写,湖南教育出版社出版发行。含义有误。
《小学生多功能成语词典》✗
开心辞书研究中心编写,湖南教育出版社出版发行。含义有误。
《袖珍成语小词典》✗✗
说词解字辞书研究中心编写,华语教学出版社出版。注音、含义同时有误。
成语出处
最后我还去查证成语出处,找到了由北方联合出版传媒(集团)股份有限公司万卷出版公司出版发行的《礼记》。而这本字用错了,让我非常惊讶,这也让我下定决心前往图书馆进一步求真务实。
在图书馆找到的由岳麓书社出版发行的《礼记》就没有疑义,正本清源。
结论
我查证了新华书店和区图书馆所有相关的词典类工具书,针对成语“心宽体胖/心广体胖”的含义或“胖”字的注音,统计如下:
类型 | 数量 |
---|---|
无误 | 13 |
含义有误 | 4 |
注音、含义同时有误 | 4 |
总计 | 21 |
综上可以得出结论:成语“心宽体胖”存在广泛的误用,并且正在向下一代错误传播!
感想
我认为对成语“心宽体胖”的错误读音和错误解释是典型的望文生义。“心胸开阔,所以健壮/发胖”这是完全不符合逻辑的,背离了本意。
传承千年的成语是中华文明的瑰宝。在义务教育阶段习得的常用成语,就是我们与生俱来的文化铠甲。而现在我看到了——
穿越时空的古老智慧,在现代语境下被曲解;
不可再生的历史结晶,因社会性无知而蒙尘。
呜呼哀哉!
富春芳草地 & 只有河南
凌晨送室友去医院
北碚道明寺天坑徒步路线,一面虐腿一面修心
《围城》人物分析:知识分子的时代困局
很早以前就看过钱钟书的小说《围城》,最近看到B站和喜马拉雅都有《围城》的有声书,于是在上网和打游戏的时候,把《围城》有声书又听了一遍,对小说里的人物颇有一些感想,感觉这部小说最妙的不是情节,而是人物,这里便把小说《围城》里的主要人物进行一些深入的分析。
方鸿渐
方鸿渐是《围城》的主角,也可以说是知识分子困境的缩影。他是从江浙一带的传统旧乡绅家庭出来的知识分子,父亲方遯翁是前清举人、当地乡绅,也算是当地富家大户,他在北京大学里从社会学转哲学(赵辛楣评价:“学哲学跟什么都不学全没两样”),最后学中国文学毕业。之后他留学欧洲,在各国混了几年,没有学位,为应付资助人周厚卿,购买了美国克莱登大学的假博士文凭。
回国后随波逐流,和苏文纨不明不白地纠缠,爱上了唐晓芙,因苏文纨的挑拨而分手,与赵辛楣、孙柔嘉、李梅亭、顾尔谦同赴三闾大学任教,在高松年的安排下成为伦理学的副教授,在大学经历各种纷扰被迫离开,最终与孙柔嘉结婚,婚后生活充满争吵和疲惫。
方鸿渐有点小聪明,眼高手低,耍嘴皮子的功夫了得,但缺乏主见,社交和业务能力低下,面对问题时显得被动和犹豫,被赵辛楣评价为“不讨厌,可是全无用处”。他不谙世事,对于人情世故不很精通,用高松年的话来说,是个“不善办交涉的人”。
方鸿渐虽然随波逐流,但努力保持本心,在人际交往中有时显得善良(如给阿刘小费),也表现出一定的敏感和脆弱(如看到报纸上夸大他学位的新闻后,他感到羞愤,脸红到脚跟),对感情和婚姻有理想化的追求(如大学时对包办婚姻的排斥并壮着胆写信要求解除婚约),但现实中屡屡碰壁。回国船上与鲍小姐的短暂露水鸳鸯;与苏文纨的暧昧纠葛;对唐晓芙的真挚感情最终失败;最后与孙柔嘉结婚,婚后脾气变得暴躁,婚姻关系中充满摩擦和争吵。他的经历(留学、回国、失恋、失业、赴内地任教、结婚)构成了小说的“围城”主题的体现。
赵辛楣
赵辛楣曾留学美国,出身世家,出身好(父亲与苏文纨父亲是同僚),他为人风趣、健谈,尤其擅长用外语演讲,口才好,他对人情世故有深刻的理解,能用幽默的方式化解尴尬或评论他人,外表世故,内心醇厚,是个典型的知识分子精英。
赵辛楣自小偷偷喜欢苏文纨,长年追求苏文纨却未果,恋爱失意后成为方鸿渐的至交好友,帮助方鸿渐在三闾大学谋得职位,与方鸿渐等人一同前往三闾大学,在三闾大学任政治系主任,经历了和汪太太的纠葛,不得不离开三闾大学前往重庆。
赵辛楣比方鸿渐更成熟、干练且实际,是个实干家。他擅长处理各种事务,如旅途中的行程、车票、借款等问题,被高松年视为“红人”,在学校同事中受拜访多。他与方鸿渐的友谊是小说中一条重要的关系线,他常在关键时刻帮助或影响方鸿渐,他能看透方鸿渐的颓丧和在情感上的不足。
苏文纨
苏文纨,妥妥的“白富美知识分子”,法国里昂大学文学博士,出身官宦名门,父亲是政务院参事苏鸿业。她外貌出众,被描述为美人, 穿着时髦,注重打扮,“冷若冰霜,艳若桃李”。
苏文纨与方鸿渐、鲍小姐同船归国,曾是方鸿渐和赵辛楣的追求对象,后来成了大龄剩女。她非常聪明,有社交手腕,善于控制他人,为了争夺方鸿渐或打击情敌,多次进行挑拨和设计 (例如,在船上说鲍小姐坏话、对方鸿渐提“寒暑表”外号、挑拨方鸿渐和赵辛楣争斗,挑拨唐晓芙,导致方唐分手)。
苏文纨虽然批评方鸿渐“油嘴”,说话“最讨厌,全是偏见”,但她也喜欢与他在言语上“斗法比武”。她喜欢方鸿渐在谈话中流露的机智和辩驳,两人在思想上的互动对她来说是一种乐趣。
苏文纨很享受被追求的感觉,并能在追求者之间周旋,她内心带有清高和刻薄,她瞧不起孙太太的小家子气,对董斜川的批评感到不快,在香港见到方鸿渐夫妇时,她的言语和态度流露出傲慢甚至轻蔑,尤其针对孙柔嘉。
苏文纨知识丰富,但心机深沉,老于世故,美貌与学识并存,善于操控他人,好胜心强,不能容忍失败或被忽视,方鸿渐认为她是有头脑有才学但需要“愚笨”的男人来爱慕的女人,赵辛楣认为她手段高明,玩弄了他们两人。
唐晓芙
唐晓芙是苏文纨的表妹,正在北京上大学,聪明活泼、开朗伶俐、颇具自然本色, 是方鸿渐一见倾心并追求的理想对象。
唐晓芙聪明、率真、有个性,善于观察和理解他人的言行,她能一眼看穿方鸿渐试图在她面前卖弄或引起她注意的小心思,唐晓芙对方鸿渐的某些言论(如对浪费的看法)表现出清醒和略带嘲讽的态度,例如她关于女人“傻”的评论(“女人不傻决不因为男人浪费摆阔而对他有好印象——可是,你放心,女人全是傻的,恰好是男人所希望的那样傻,不多不少”),这说明唐晓芙的确善于交际,特别是男女方面的交际。苏小姐曾说她“抓一把男朋友在手里玩弄着”,从侧面反映了她并非不谙世事。
唐晓芙欣赏方鸿渐的谈吐,认为他“说话里都是文章”,她觉得他讲笑话“有趣”,也欣赏他在讨论女性、政治等问题时表现出的机智和独到见解,尽管有时觉得他在“表演口才”。他们之间的谈话可以涉及很多话题,并且是双向的交流。
唐晓芙对苏文纨的心机有所察觉,但不如苏文纨那样工于算计。她不是一个被动的角色,而是积极参与互动,表达自己的想法。在苏小姐试图控制她不与方鸿渐见面时,她反而故意打破约定去与方鸿渐见面,她认为苏小姐“太欺负人了”,这种独立和叛逆的态度使她反而更愿意接近方鸿渐。
方鸿渐对唐晓芙展开了认真的追求,他写了充满深情的信,将自己的未来与她的决定紧密联系,然而,尽管方鸿渐付出了努力,唐晓芙最终还是拒绝了他,她认为爱情不该是轻易产生的,并且认为方鸿渐对她的感情来得太容易,不相信那是真正的爱,这解释了她为何拒绝方鸿渐突如其来的强烈感情。
孙柔嘉
孙柔嘉是个刚毕业的上海女大学生,与方鸿渐和赵辛楣同赴三闾大学,任外文系英语助教。孙柔嘉在旅途中经历了惊吓和委屈,而方鸿渐在危难时救助了她,让她非常感动,并对方鸿渐产生了依赖,这种依赖行为本身就反映了她对方鸿渐的信任,并把他视为可以依靠的对象。
孙柔嘉外表柔顺,内心却很有心机,有自己的主张和打算,尤其是在婚姻问题上,善于观察(如偷听方鸿渐和赵辛楣在船上的对话)和利用机会,遇到问题时会哭泣或显得柔弱,以获得同情或帮助。
孙柔嘉比较善于心计,在她的认知圈里,方鸿渐算是综合条件最好的婚姻对象,因此孙柔嘉便展开“女追男”,她在方鸿渐面前装成一种无知可怜的弱小女孩形象,激发方鸿渐的保护欲和某种优越感,她的“天真”提问也让方鸿渐觉得她单纯可爱,最终通过父亲来信这样的计谋“一举拿下”了方鸿渐。
孙柔嘉可以说是方鸿渐婚姻的“终极Boss”,她没有唐晓芙的高冷,也没有苏文纨的才情,但她有一股“实用主义”的狠劲,她想嫁人,就抓住方鸿渐不放,嫁了之后,她也不温柔贤惠,而是不断消耗方鸿渐的情绪。
董斜川
赵辛楣的朋友圈中的诗人,曾为驻外军事参赞,出身传统书香名门,家传谙熟古旧体诗律。
他有老派知识分子中的清高、自负。言谈风趣,但有时也很刻薄和带有偏见,喜欢用典故,对旧体诗有自己的品味标准。
褚慎明
赵辛楣的朋友圈中的哲学家,身体虚弱,体弱多病,擅长投机取巧、故弄玄虚、自我标榜,属于虚伪和投机的知识分子。
他是那种专注于抽象思维,与现实生活有隔阂的知识分子,他在社交场合显得有些笨拙,尤其在面对感兴趣的对象时容易失态。
李梅亭
李梅亭是与方鸿渐、顾尔谦、孙柔嘉一行前往三闾大学的旅伴,被高松年聘为中国文学教授,原定系主任后被汪处厚取代。
李梅亭为人吝啬、势利、贪小便宜,为人阴险,喜欢搬弄是非。他旅途中不舍得用雨衣,关心自己的行李箱,为“打茶围那几块钱”怕方鸿渐挑眼而对方殷勤,任官职后显露出官僚和刻板的一面。
李梅亭可以算是知识分子中的败类,典型的小人形象,在权力和利益面前会暴露其丑陋和卑鄙的嘴脸。
高松年
高松年是三闾大学校长兼教务长,他务实且极具社会适应性。
他在抗战时期创办三闾大学,在师资聘任上有自己独特的实用主义原则,办学理念带有功利色彩,倾向于聘用没有名望、易于控制的人才。
在实际操作中,他善于应酬,圆滑世故,在社交场合如鱼得水,精通社交手腕,知道对不同的人说什么话,他能对各学科说些“门面话”,也能在不同场合表现得体(如与教官说粗话,与女性同席谑浪笑傲)。
高松年代表了高校行政管理层中机会主义和官僚主义的管理者形象。
汪处厚
汪处厚早年是当官的,官场失意后退身学界,任三闾大学中国文学系主任,由教育部的汪次长推荐,他取代了原定的李梅亭。
汪处厚年纪很大,娶了年轻美貌的汪太太,性格不如汪太太强势,被汪太太精准拿捏。
汪太太
汪太太是汪处厚的妻子,用现在的话来说,她就是一个“社牛”(社交牛逼)。
汪太太热衷于打听和议论他人隐私,对于方鸿渐和赵辛楣的婚事表现出极大的兴趣和主动性,她对别人的情感状态充满好奇,喜欢谈论八卦和是非,尤其是私密性的八卦,她公开议论孙小姐和赵辛楣的关系,甚至提出“猜是赵先生的情人”的说法。
汪太太性格直率,甚至显得粗鲁和具有攻击性,说话非常直接,缺乏顾忌,她在丈夫面前毫不留情地打趣他“不相信你年轻过”,在与高校长和李梅亭的冲突中,她用词尖锐,称高校长被李梅亭“摆布”,并嘲讽自己是否被雇佣当“老妈子”,她公开挑战高校长,表示要继续打牌,甚至邀请赵辛楣和方鸿渐是否有“胆量”加入。
汪太太富有戏剧性,一些言行极具表演性,在与赵辛楣的纠缠中,她当众暗示赵辛楣和自己“有染”,在赵辛楣试图否认时,她表现出“哈哈狂笑”,并且嘲讽赵辛楣“胆只有芥菜子这么大”,最后甚至发出“神经失常的尖笑”。
汪太太言语泼辣、犀利、有洞察力,热情好客但同时喜欢评头论足,对学校的八卦和人际关系了如指掌,有幽默感,但有时显得刻薄,热衷于制造和传播八卦,喜欢在他人的情感关系上兴风作浪,甚至能拿捏老辣世故的高校长,是一个生动且令人印象深刻的“社牛”。
尾声
这些人物共同构成了《围城》群体形象,通过他们各自的经历和相互关系,以及对方鸿渐等人物的细致刻画,展现了特定历史时期下,中国社会知识分子的生存状态和精神世界,以及人性的复杂和荒诞。
Ubuntu 系统无法通过 pip 命令安装 Python 库问题解决
为了更好的执行 Python 脚本,杜老师习惯使用 Ubuntu 系统,不过在安装 Python 库时经常报错。收集了安装 Python 库的报错信息,并整理了解决办法,供需要的小伙伴们参考。
问题提示
这里以上一篇《使用 Python 脚本实现图片相似度匹配》文中代码为例,首次执行时的报错信息如下:
1 | penn@penn-VMware-Virtual-Platform:~/图片$ python3 1.py |
根据报错信息,提醒找不到 imagehash
模块,使用 pip3
命令安装需要的模块,结果又出现了错误信息。这个信息表明正在尝试在一个由操作系统管理的 Python 环境中直接安装 Python 相关的包,为了保证系统 Python 环境的稳定性和安全性而采取限制措施:
1 | penn@penn-VMware-Virtual-Platform:~/图片$ pip3 install imagehash |
解决方法
解决的方法有很多,这里推荐使用虚拟环境。因为使用虚拟环境可以避免直接修改系统的 Python 环境,同时方便管理依赖。按照提示创建一个虚拟环境,使用 python3 -m venv myenv
来创建虚拟环境,使用 source myenv/bin/activate
激活虚拟环境:
1 | penn@penn-VMware-Virtual-Platform:~/图片$ python3 -m venv myenv |
在激活虚拟环境后,使用以下命令安装所需的包。安装完成后运行命令 deactivate
,退出虚拟环境:
1 | (myenv) penn@penn-VMware-Virtual-Platform:~/图片$ pip install imagehash |
不要在三星堆乱摸陶猪
一路向南,骑见江南:一人、一车、一旅途
开源实例之Website Monitor
前言
Website Monitor 是一个简单的网站监控程序,由 PHP 语言开发,基于 crontab 执行。
实例地址
https://website-monitor.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | PHP 8.2 |
服务器 | Nginx |
程序 | Website Monitor |
实例部署
权限要求
- 具有系统读写权限
- 已安装 PHP
- 已安装 Nginx
安装程序
官网地址:https://neatnik.net/dispenser/?project=website-monitor
下载源码
从官网下载源码部署。
写入配置
将待监控网站写入 monitors.json,例如:
{
"dujun.io": "https:\/\/dujun.io"
}
定时执行
* * * * * php /wwwroot/app/monitor.php >/dev/null 2>&1
实例体验
后记
本实例仅供参考,不定期重置数据。
新鸟云美国精品网 A型(2核 2G)得分 93.03
前言
本篇将新鸟云美国精品网 A型(2核 2G)与腾讯云服务器(下称 CVM)进行对比实测。具体流程见《服务器对比实测评分方案》。
测试服务器
测试服务器由新鸟云(带AFF)提供。
产品信息 | |
---|---|
产品 | ECS - 美国精品网 2核 2G 20M A型 |
CPU | 2核 |
内存 | 2G |
带宽 | 20Mbps |
标价 | 15元/月 |
CPU 信息 | |
---|---|
Model name | Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz |
Vendor ID | GenuineIntel |
Architecture | x86_64 |
CPU op-mode(s) | 32-bit, 64-bit |
Address sizes | 46 bits physical, 48 bits virtual |
CPU(s) | 2 |
CPU family | 6 |
Model | 79 |
Thread(s) per core | 1 |
Core(s) per socket | 2 |
Socket(s) | 1 |
Stepping | 1 |
BogoMIPS | 4399.99 |
L1d cache | 32 KiB (1 instance) |
L1i cache | 32 KiB (1 instance) |
L2 cache | 256 KiB (1 instance) |
L3 cache | 50 MiB (1 instance) |
Virtualization | VT-x |
Hypervisor vendor | KVM |
Virtualization type | full |
测试结果
图片处理测试结果
图片压缩
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
JPG 449K | 0.0651s | 0.0466s | ✗✗ |
JPG 1.9M | 0.2153s | 0.1676s | ✗✗ |
PNG 750K | 0.4548s | 0.4122s | ✗ |
PNG 3.8M | 0.5426s | 0.4824s | ✗ |
BMP 1.5M | 0.0167s | 0.0130s | ✗✗ |
BMP 6.0M | 0.0582s | 0.0393s | ✗✗✗ |
生成缩略图
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
JPG 449K | 0.0440s | 0.0360s | ✗✗ |
JPG 1.9M | 0.1431s | 0.1296s | ✗ |
PNG 750K | 0.0673s | 0.0560s | ✗✗ |
PNG 3.8M | 0.0996s | 0.0864s | ✗ |
BMP 1.5M | 0.0278s | 0.0203s | ✗✗ |
BMP 6.0M | 0.0349s | 0.0262s | ✗✗ |
GIF 417K | 0.0763s | 0.0672s | ✗ |
GIF 1.8M | 0.3282s | 0.2773s | ✗✗ |
生成 WebP
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
JPG 449K | 0.3587s | 0.3062s | ✗ |
JPG 1.9M | 1.2536s | 1.0643s | ✗✗ |
PNG 750K | 0.1162s | 0.1008s | ✗ |
PNG 3.8M | 0.3660s | 0.3095s | ✗✗ |
BMP 1.5M | 0.0652s | 0.0545s | ✗✗ |
BMP 6.0M | 0.2495s | 0.2096s | ✗✗ |
GIF 417K | 0.3445s | 0.2887s | ✗✗ |
GIF 1.8M | 0.7164s | 0.6153s | ✗ |
音频处理测试结果
生成 OGG
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP3 137K | 0.3642s | 0.2928s | ✗✗ |
MP3 939K | 1.4018s | 1.1947s | ✗ |
MP3 5.2M | 7.2853s | 6.4211s | ✗ |
视频处理测试结果
视频压缩
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP4 2.4M | 9.3137s | 12.7703s | ✓✓ |
MP4 9.4M | 0.1190s | 0.0917s | ✗✗ |
MOV 7.7M | 7.2200s | 9.4417s | ✓✓ |
MOV 29M | 21.6417s | 29.2054s | ✓✓ |
生成缩略图
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP4 2.4M | 0.4063s | 0.3297s | ✗✗ |
MP4 9.4M | 0.3569s | 0.2952s | ✗✗ |
MOV 7.7M | 3.0973s | 3.6489s | ✓ |
MOV 29M | 8.6906s | 11.1678s | ✓✓ |
生成 WebM
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP4 2.4M | 59.7204s | 79.7153s | ✓✓ |
MP4 9.4M | 57.0408s | 72.3739s | ✓✓ |
MOV 7.7M | 50.9066s | 71.5808s | ✓✓ |
MOV 29M | 221.7725s | 317.8199s | ✓✓✓ |
性能评分
分类 | 得分 |
---|---|
图片处理性能 | 82.27 |
音频处理性能 | 84.59 |
视频处理性能 | 119.53 |
综合处理性能 | 93.03 |
后记
评分基于当前服务器定向测试,不保证同款产品具有一致性能。
我们的婚礼
水饺皇后:面皮裹尽世相,沸汤熬透悲欢
麻雀
五一环渤海南海岸自驾之旅
家长会
一杯酒,一家人
使用 Python 脚本实现图片相似度匹配
随着相机像素越来越大,图片体积也变大了。在图片处理中,较大的文件体积会影响性能,因此杜老师会先生成缩略图,筛选完成后再通过 Python 脚本实现图片相似度匹配。这里是一个简单的示例,供需要的小伙伴们参考。
脚本说明
以下是个基于 Python 的脚本,使用 PIL
以及 imagehash
库来实现。
遍历目录 A 中所有图片。
在目录 B 中查找相似的图片「通过感知哈希算法判断」
如找到匹配项,则将图片复制到目录 C,并以目录 A 图片的名字命名。
脚本示例
1 | import os |
注意:将 dir_a
, dir_b
和 dir_c
替换为实际路径;threshold
控制图像相似度阈值,可以根据需要调整;支持多种常见格式图片文件;使用 imagehash.phash
进行感知哈希的比较,适合用于识别视觉上接近的图片。
运行效果
1 | (myenv) penn@penn-VMware-Virtual-Platform:~/图片$ python3 1.py |
注意:脚本运行过程可能会有错误提示,需要根据提示进行修复。
梦魇之脱离诀窍
拔智齿
我平时吃太冰的东西右边牙会酸痛,另外感冒发热也可能连带牙痛,但阵痛很快会消失,我一直没放在心上。但这个五一发热同时产生的牙痛没有自然消失,反而愈演愈烈。我想着扛一扛,但是昨晚两点被痛醒一次,强迫自己睡下,又在四点半再次被痛醒。索性不睡了,决定立即去医院。
杭州知名医院的口腔科当天挂号都没名额了,我思考了一下决定直接回富阳。一方面富阳第一人民医院离家只有一站地铁,如果要复诊比较方便;另一方面在家有爸妈可以照顾我。事实证明这个决定无比正确。拔牙后难以吞咽,苦不堪言,幸亏家人在身边,缓解了我的焦虑。
某次体检我得知长了智齿并且已经有蛀牙。我用手指摸索,上牙最里面的那颗碰一下就痛,所以我基本确定是智齿出问题了。而智齿有问题一般是拔掉,我除了小时候再也没处理过牙齿方面的问题,所以本能地有点怕拔牙。于是我开始做功课,查找大量相关资料,越看越心惊。拔智齿比拔一般的牙难度要大,并且根据智齿位置的不同,手术复杂度和费用差异巨大。为了保险我当然希望挂专家号,但是没号了,最近的名额还要好几天,而我是一刻都等不了的。然后我又开始研究微创手术,网上的说法毁誉参半,我决定让医生看过之后,如果能做微创就主动要求。
在排队等待叫号时我坐立难安,脑子里不停地胡思乱想。而到了真正拔牙的环节,比预想的要顺利得多。
接待我的是一名年轻的女医生,她非常专业,不仅手术十分干练,而且不断给我心理疏导。网上说有的医生不拍片直接拔牙,这是我极为担心的一点,我甚至准备主动提拍片检查,而实际证明我的担心完全多余了。这位医生给我做了初步检查就告诉我是智齿烂了,然后就让我去拍片,确认是否能立即拔除。拿到报告后她立即跟我说可以手术,我忐忑地躺到了牙椅上。恐惧的情绪没有持续太久手术就完成了,耗时应该不到十分钟。
手术前打了两针局麻,第一针打在智齿旁边,几乎没有感觉;第二针打在门牙附近,我终于体会到了网上说的痛楚,好在时间不长。麻药很快生效,医生一边熟练地进行手术,一边不停安慰我。在开始前说我的智齿位置好,会非常顺利——所以我都忘了微创这回事。拔的过程中我清晰感觉到牙齿一点点被分离,有骨头撕裂的那种头皮发麻的恐怖感,医生就安慰我打了麻药不会痛的,让我别担心。拔出后医生也第一时间告诉我结果,让我悬着的心立即放下了。然后医生又用轻松的语气告诉我牙齿有粘连,造成了一定创口,帮我缝一下,以后会长平。受她情绪的感染,我没有任何担心——事后照镜子我发现创口还挺恐怖的,所以是当时医生的安慰让我少了精神负担。
最后医生给我展示了拔出的牙齿,我看到已经缺了一大块,而且发黑了。医生说让我确定牙齿真的坏了,而且没有拔错牙,好放心。虽然是开玩笑的语气,但是在当时的不安中,这是最大程度照顾了我的情绪,是非常有意义的。
这次拔智齿非常顺利,我非常感谢这位医生!
图中左上角那颗牙就是今天拔除的智齿。
开源实例之HertzBeat
前言
Apache HertzBeat (incubating)是一个易用友好的开源实时监控告警系统,无需 Agent,高性能集群,兼容 Prometheus,提供强大的自定义监控和状态页构建能力。
实例地址
https://hertzbeat.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Java 17 |
程序 | HertzBeat 1.7.0 |
实例部署
官网地址:https://hertzbeat.apache.org/zh-cn/
仓库地址:https://github.com/apache/hertzbeat
Docker 部署
docker run -d -p 1157:1157 apache/hertzbeat
本地部署
wget https://dlcdn.apache.org/incubator/hertzbeat/1.7.0/apache-hertzbeat-1.7.0-incubating-bin.tar.gz
tar -zxvf apache-hertzbeat-1.7.0-incubating-bin.tar.gz
cd apache-hertzbeat-1.7.0-incubating-bin/bin/
./startup.sh
浏览器访问 http://localhost:1157 ,默认账号/密码:admin/hertzbeat
实例体验
后记
本实例仅供参考,不定期重置数据。
五一劳动节——高山采茶!
五一回宜昌
几种通过 FFmpeg 无损压缩视频的方法
北京这边天气不错,特别适合骑行。杜老师拿出了压箱底的全景相机,打算录制一段沿途景色,结果压制出的文件体积很大。之前分享过通过 FFmpeg 来压缩视频的方法,这次整理了更多的方法,供需要的小伙伴们参考!
写在前面
如果需要了解 FFmpeg 的安装方法,可以浏览《如何使用 FFmpeg 来压缩视频》一文,里面有详细介绍如何在 Linux 系统安装 FFmpeg。
如果需要在 Windows 系统上安装 FFmpeg,可以直接至官方下载安装包「或在评论区中留言」
用 CRF 参数
原理:CRF 是 H.264 编码器中用于控制视频质量的一个参数,数值越小画质越高,体积越大,一般取值范围为 18-28,默认值 23,18 是视觉无损。
命令示例:ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset veryslow -c:a copy output.mp4
此命令指定了视频编码器为 libx264
,设置 CRF 的参数为 18
,且使用 veryslow
预设以进一步提高编码质量,音频部分直接复制。
更改格式
原理:在不改变媒体编码的情况下,改变媒体封装格式,通常转换后的大小基本相同,一般不会出现过大差距,如果大小差距过大,需要检查媒体文件的完整性。
命令示例:ffmpeg -i input.mp4 -codec copy output.mp4
可直接更改封装格式,无需重新编码。
调分辨率
原理:降低视频分辨率可显著减小文件体积,对于对视频画质要求不是特别高,或需要在低分辨率设备上播放的场景比较适用。
命令示例:ffmpeg -i input.mp4 -vf scale=1280:720 -c:a copy output.mp4
该命令会将视频的分辨率调整为 1280×720 像素,音频的部分不进行重新编码,从而实现压缩体积目的。
读《战争与和平》
京东 43 元 450 克陈阿炳风干鸭小腿实测
产品说明
购买原因
连月来被风干鸭小腿广告轰炸,多平台多品牌漫灌式曝光,仿佛约好一般要堆出一个新品类市场。出于好奇,我决定买来亲自尝尝。经过对比,选择了声量最大的陈阿炳风干鸭小腿。
产品介绍
购买价格
2025年4月26日购于陈阿炳京东自营旗舰店。三种口味,每袋150克,共450克,标价42.86元,用京豆和优惠券等抵扣后实付19.62元。
产品实测
包装
包装内有三袋鸭小腿(鸭翅根),附赠三只一次性手套。另外特别提示保质期只有 7 天。
测量
口味 | 椒盐原味 | 香辣味 | 藤椒味 |
---|---|---|---|
辣度 | 不辣 | 微辣 | 中辣 |
标称净重(克) | 150 | 150 | 150 |
实测毛重(克) | 178 | 168 | 182 |
实测净重(克) | 159 | 150 | 163 |
鸭小腿数量(个) | 7 | 6 | 7 |
外观
口感
风干鸭小腿肉质紧实,又干又硬。虽然只有两指大小,但是需要撕咬下来,嚼起来非常费劲。实际上一次吃到第二个就没什么兴致了,与广告中当作看剧零食的宣传相距甚远。
另外,所谓不同口味只是辣椒粉含量不同,底层的鸭小腿没有区别。
后记
测试结果仅针对当前样本,不保证同款商品表现一致。
天津游记「多图预警」
刚从合肥返京,就收到了天津出差任务。虽然京津距离不远,但杜老师平时工作较忙,周末一般都在家睡懒觉,所以也是想着趁此机会游玩一下!分享给未来过天津的小伙伴,大家来云旅游~
天津之旅
天津是中国北方的一座历史文化名城,同样是直辖市之一,有着丰富的历史底蕴和独特城市风貌。
天津建筑风格多样,中西合璧,例如五大道保存着众多西式建筑,意大利风情街则充满了浓郁异国情调。
此外,天津还有着众多的名胜古迹,例如盘山、独乐寺等等自然与人文景观,展现了其深厚文化底蕴。
天津的旅游特色主要体现在其独特的文化韵味和美食文化上,是体验津味文化与北方风情绝佳之地。
天津美食文化源远流长,如狗不理包子、煎饼果子等等传统小吃闻名全国,散发着独特的魅力。
此外,天津的相声文化也独具特色,古文化街、泥人张彩塑等更是让人感受到天津的艺术之美。
游记留影
天津的民国时代的建筑较多,也是别有一番风味:
张学良故居的餐厅:
张学良和赵四小姐卧室:
顶层是个舞厅,本来拍了歌厅整体,结果有个大爷入镜了,所以只有观众席给大家看看:
这叫聚丰当铺,可以清楚的观察到民国时代当铺格局:
这个是鹤竹堂药铺,据说是曾给慈禧光绪看病的御医所开:
皇宫舞厅,为什么杜老师想到依萍:
天津市特别警察局,杜老师也想拍亮堂点的,这里边就是暗光线,可能是想震慑罪犯:
瑞蚨祥成衣店,里边格局也很大气漂亮,就是衣服看着有一点少,毕竟都叫成衣店了,怎么衣服比杜老师的都要少:
成衣店顾客等待位,本来不想放这张的,但是这个窗和格局吸引了杜老师,所以还是放上来了:
这个是鼎章照相馆,杜老师除了会说漂亮外,不会说别的了,原谅杜老师言辞的匮乏:
民国时代诊所,不过感觉杜老师小时候诊所也长这个样子,可能杜老师也挺老的了:
这个是商会俱乐部,有很多张,但里边的光线不是很好,只有这张看起来还是不错的:
国父孙中山办公室,右上角露出来的点点就是他照片,不过相机没有全部收录进去,右侧还有一个很好看的壁炉,哈哈:
头一次看见民国的封条,必须拍照一张,杜老师一直以为封条只要有个封字就可以,没想到要写这么多东西:
这个是春和大戏院,张学良故居进门开始可以玩剧本杀的,好多人在走来走去的找线索,杜老师没有好意思参与进去,不过感觉很好玩的,大家有兴趣的可以参观的同时玩这个游戏。这个戏院里还有相声表演的,不过是固定的时间,杜老师忙着赶下一个参观地,所以并没有听相声,可惜:
最后用民国画报小广告来做结尾,张学良故居以及范竹斋故居之旅就结束啦:
全都是人,大家都在门口想拍出满意的照片,杜老师就只匆匆闪过了,毕竟杜老师没有高超的运镜技术:
这个是最后的晚餐,教堂里也好多的人,想找出一张没人的照片实在是太难了:
感觉这个吊灯和玻璃都漂亮的很,但是杜老师对宗教理解不深,不知道这个里边画面的含义,要是有解说就好了:
这个好像就是主教传教的地方吧,用隔离带围着,杜老师进不去,不过感觉就很神圣:
据说是溥仪和妃子们被从故宫赶出来之后住的地方,感觉就是个小洋楼:
溥仪和妃子们的小餐厅:
这个是溥仪妃子文绣的卧室:
这个是皇后婉容的卧室,感觉他们的床都好小啊,杜老师睡在上边都怕掉下来:
这个是溥仪的书房:
张园里也有剧本杀,每个时间段也有节目表演的,但是杜老师依然没赶上,时间太紧张了,下次一定要试试看:
最后用杜老师们伟大领袖毛主席给这段旅程做结尾,这个展区是爸爸妈妈他们那个年代结婚的布景,感觉爸爸妈妈他们来看肯定很有感触:
女儿分班后的第一次家长会
五一嵩山行
香港两日(徒步-露营-扫街)
风起淀山湖
简单的五一假期
回农村
五一游龙门古镇
充实的五一假期
五一游龙门古镇
少年篇:写给女儿的一封信
青山村一日游
青山村一日游
假期第一天解锁了新地图——青山村,位于杭州市余杭区黄湖镇。来此契机是老婆抽中了公司赠票,参加“余杭有周末×飞猪旅行×草莓宇宙|长三角生活派对”。
青山村是首批“浙江省艺术乡建特色村”。整整一天体验下来,我有两方面切身感受。
好的方面是整个村进行了深度改造,紧扣亲子文旅主题,在细微处都做了童趣手绘涂鸦。大部分工作人员是村民,体现了振兴乡村,带动共富的主旨。整个村并不大,但是提供了七八辆观光车免费接驳,并且在停靠点供应免费凉茶,村民对游客非常热情。
相对的我认为的不足就是没有地域特色,也没有美食特色。蛋仔派对乐园、草坪集市、露天音乐节,都是外来的东西。小吃街也是四海皆有的那几样。而我发现最大的问题就是执行层面不到位,村民是好客的,所以对待游客没有那么严格。公司赠票只有两大一小,所以我额外买了一张单人票。所谓门票就是一个纸质的手环,工作人员告诉我们凭手环可以免费乘坐观光车和参加活动,但实际上一整天下来这个手环没有发挥任何作用。进入场馆时我特别留意了工作人员根本没检查手环,并且我亲眼看到没手环的游客询问观光车司机没票能不能坐车,司机摆了摆手很随意就让她上来了。门票不贵,单人票是 29.9元。但是我心理不平衡,感到智商被侮辱。既然不能保护买票人的权益,应该一开始就大大方方免票。事实上一天下来吃饭、小吃、饮料,一家人的花销远超门票钱。
入场
大草坪
猫登天空
文化礼堂
水库
合肥游记「多图预警」
时隔一年,又一次来到了安徽省会——合肥。这次出差的时间很灵活,杜老师有半天时间可以到附近景区逛一逛,就特地带了单反相机拍了些照片。本文整理了几张特色的美照,特邀杜老师的另一半帮忙配的介绍文,感兴趣的小伙伴可进来一看!
合肥之旅
合肥是安徽的省会,简称庐州,有着 2500 多年建城史,是国家级历史文化名城,曾是三国时期兵家必争之地,也是包拯、李鸿章等历史名人故乡。
这里历史遗迹众多,例如三河古镇,因丰乐河、小南河三水流贯其间而得名,是合肥唯一 5A 景区,古镇历史悠久,古建众多,青砖灰瓦,小桥流水,宛如一幅淡雅的水墨画。
合肥不仅有深厚的历史文化底蕴,还有丰富的自然景观和现代旅游资源。
包公园是纪念北宋清官包拯而建,园内有包公祠、包公墓等景点,游客可以在此了解包拯的生平事迹和清正廉明精神。
徽园则集中展示了安徽各地的著名风景和徽派建筑,游客可半天时间领略安徽的徽风古韵。
合肥美食也是一大特色,庐州烤鸭、李鸿章大杂烩、合肥三鲜等等美食让人回味无穷。无论是对历史文化感兴趣的游客,还是喜欢自然风光和娱乐体验的游客,合肥都能满足需求。
游记留影
不需要买票哦,可直接进,不过周一闭馆,去的话要注意:
感觉徽式古建筑石雕木雕都很精致且应用广泛,都有相关典故以及故事。房梁窗户等很多地方都有精致的雕刻:
这个是徽式的古代祠堂模型,看起来很大气,请忽略杜老师不专业的摄影技术:
这个是古人的牌坊,看着真是方方正正,哦对,传说中的贞节牌坊貌似也长这个样子:
这个博物馆里,金子本来不多,这个碗是最好看滴:
爬了很多个塔,其中有很大一部分是不带电梯的。当时走到这里的时候人已经快累屁了,犹豫了很久不想爬上去,结果过来了一队旅游团,导游用喇叭喊:大家不用担心,这个塔有电梯。瞬间冲到塔里坐电梯美极了:
从塔上俯视图一张,景色还是很不错的,哇哈哈哈。下来的时候没有坐电梯,想着看看各层景色,结果有很多不知道有电梯的,杜老师听到大家边爬边骂街,上的时候在骂,下的时候也骂:
这是包公祠的井叫廉泉,根据传说,这个井可检测贪官,有个贪官喝了这个井水开始头痛,经查,他确实是贪官,所以有了这个名字:
打车去李府的时候司机告诉杜老师这里很出名,那必须要打卡,不过实在是太大了,且日头晒得很:
位于古逍遥津,emmmm 杜老师没有拍墓碑和坟茔,大家看看牌坊好了:
李府李鸿章的人物雕塑,本来是想拍大门口的牌匾的,但是人实在太多了。这个不需要买门票,但是需要网络预约免费门票,合肥这一点比较好,好多景点是免费的,对学生党也很友好:
让我们看下晚清时代的家具:
清朝各级官员胸前绣的动物,具体哪个代表哪个,还请百度,不过当时古人绣工是真的好,超好看的:
这个美术馆给杜老师最大的印象就是里边超级凉快,超级超级,凉快发冷:
欣赏艺术画作:
继续欣赏艺术画作,杜老师真是一点艺术细菌都没有,完全看不出这画的含义:
这个旋转楼梯拍照应该会很出片,但是杜老师的摄影技术也就只能到这里了,凑合着看看吧:
同样不需要预约而且不需要门票,直接进就可以,不逛这个杜老师都不知道这么多的名人竟然都是安徽人:
这个楼层有个展区是做了仿古街区的各类商店,特别有那个氛围感,就是人太多了,想拍下整个街景总有人入镜,挑了很久也就剩了这么一张:
仿客栈以及瓷器店,很有古风韵味:
一层是一个蜡像馆,有很多的出名人物都在这里,看到这个大象大家应该就知道是哪个了吧,这就是传说中曹冲称象:
这个就是包公断案现场蜡像,杜老师深深觉得喜欢看蜡像馆的,可来这里,比蜡像馆省钱,氛围还好:
三河古镇俯拍,这个是杜老师爬上没有电梯的塔才拍到的,这个塔不光没电梯!它的楼梯还特别窄,只可以放下半只脚,杜老师一路外八着上下,就像个大螃蟹:
古镇胡同,很难得有张没有行人的照片,热闹和静谧共存的徽式小镇:
徽式游廊,好多游人在另一边休息,微风吹拂:
除了这个马囧囧的样子让杜老师觉得比较好玩,这个马车厢小的出乎杜老师意料,杜老师小时候看电视剧他们出行乘坐马车还以为里边很大的,这个车厢杜老师感觉对胖子很不友好,进去就塞满了。原来古人的马车这么小的吗:
酿酒步骤,杜老师震惊的是他们真的有自己酿的酒摆在大缸里,但是看着黑漆漆的,用玻璃封住了,闻不到是什么味道,不知道还需不需要过滤:
回程坐了游艇,细细看了河两边的建筑,感觉是超级好,感觉每个时代的建筑都有它独特魅力:
做一个繁华之梦——上海一日游
人生没有剧本,活着就是目的
三星堆博物馆
南京 VIII 老门东夜景 2
五一不出游
活着,以观自在
冬日魅力九寨沟
为什么我认为短视频会让人变得更「笨」
这个是来自于我自己的偏见,当然,也有很多的论文、报告在解释这个问题,我想以我自己的视角来描述一下我对于这个问题的看法。
本文的短视频特指抖音/快手/小红书等采用算法推荐短视频的平台。这些平台以流量为导向,主要内容是秀场类型的视频和拍段子类型的视频。
人如何变得更聪明?
如果我们想要了解到为什么认为短视频会让人变得更「笨」,我们得先知道「笨」和「聪明」的定义,并设定对应的评估指标,才能真正评估一个人是否会因为短视频发生相关的变化。
这里我认为「聪明」是指 —— 能够进行深度思考、敢于且愿意去触碰自己从未接触过的事情;而与之对应的,「笨」则是指——习惯于用已有的反馈回路思考(直觉、下意识)、不愿意去触碰自己未曾接触过的事情。
为什么短视频会让人变得更「笨」
坦诚的讲,如果我们讲短视频平台,他只是一个信息获取的渠道,作为渠道,本身并不能让人变得更笨。
但,智能推荐算法和短视频平台流量的逻辑,会让人看到的信息快速同质化。再加上人类性格中喜欢的「轻松」,会让一个人朝着「越来越轻松」无限滑坡下去。
当然,这个说法其实是有很多讨论空间的,比如:
- 如果一个长视频平台也采用算法推荐逻辑,是否也会让人变笨?比如 Youtube、Bilibili?:让人变笨的并不是智能推荐,智能推荐也有很多种做法。最常见的是猜你喜欢,一般而言是从和你相似画像的人这边拿到他喜欢的内容,再推荐给你。但这里会存在一个陌生内容和非陌生内容的度,如果是相似的内容占比极大,可能会导致信息同质化;但如果陌生内容占比大,则可以帮助人们跳出信息茧房。
- 如果一个短视频平台推送的都是知识性内容,是否也会让人变笨?比如可汗学院改用短视频的方式来推送?:我觉得这个场景下,则有些低估学习的难度了。学习是需要获取信息 - 思考 - 实践 - 反思来不断循环的。短视频如果只推送知识性内容可以解决获取信息的内容的问题,但因为其内容形态往往被限制在 3 分钟之内,会让人的信息无法构建一个完整的知识树,无法完成学习,长期停留在获取信息的阶段。
- 如果一个短视频推送片段性的知识,但会在每个视频的结尾加上整个知识树的结构、当前信息节点的位置是否可以有助于解决这个问题?理想情况下,这样满足我们对于信息、思考的追求,接下来所需要的只是用户自己的实践和二次反思,这个也本不是长短视频之间的差异,而是人的差异。在这种情况下,我认为短视频开始逐步接近长视频的价值,但同时,这种方式可能会损坏算法推荐逻辑 —— 因为需要按照树的结构进行推荐(无论是查找父节点还是查找子节点)。
当经历过上述的讨论,你会发现 —— 我关注的是我们获取信息的逻辑,是否可以帮助我们构建信息获取 - 思考 - 实践 - 反思的闭环,以流量为主的短视频平台则更关心如何让你爽到,而不是构建信息的闭环,从而让你逐渐失去学习的能力,最终「变笨」。
NotebookLM音频概览支持中文
4月30日消息,谷歌宣布其基于人工智能的笔记和研究助手工具 NotebookLM 的“音频概览(Audio Overviews)”功能新增 76 种语言支持。该功能于去年推出,旨在通过人工智能虚拟主持人根据用户上传到 NotebookLM 的文档(如课程阅读材料或法律摘要)生成播客,帮助用户以另一种方式理解和消化文档中的信息。
谷歌表示,此前“音频概览”功能仅支持用户账户所设置的首选语言。如今,公司新增了“输出语言”选项,用户可以自由选择生成“音频概览”的语言。谷歌强调,用户可以随时更改语言设置,这样就能根据需要轻松创建多语言内容或学习材料。
谷歌在一篇博客文章中举例说明了这一功能的实用性:“例如,一位准备关于亚马逊雨林课程的教师可以与学生共享多种语言的资源,比如葡萄牙语纪录片、西班牙语研究报告和英语学习报告。学生们可以将这些资料上传到 NotebookLM,并在他们偏好的语言中生成关键要点的音频概览。”
新增支持的语言包括南非荷兰语、阿拉伯语、阿塞拜疆语、保加利亚语、孟加拉语、加泰罗尼亚语、捷克语、丹麦语、德语、希腊语、西班牙语(欧洲、拉丁美洲、墨西哥)、爱沙尼亚语、巴斯克语、波斯语、芬兰语、菲律宾语、法语(欧洲)、法语(加拿大)、加利西亚语、古吉拉特语、印地语、克罗地亚语、海地克里奥尔语、匈牙利语、亚美尼亚语、印尼语、冰岛语、意大利语、希伯来语、日语、爪哇语、格鲁吉亚语、卡纳达语、韩语、孔卡尼语、拉丁语、立陶宛语、拉脱维亚语、迈蒂利语、马其顿语、马拉雅拉姆语、马拉地语、马来语、缅甸语、尼泊尔语、荷兰语、挪威语(新挪威语)、挪威语(书面挪威语)、奥里亚语、旁遮普语、波兰语、普什图语、葡萄牙语(巴西、葡萄牙)、罗马尼亚语、俄语、信德语、僧伽罗语、斯洛伐克语、斯洛文尼亚语、阿尔巴尼亚语、塞尔维亚语(西里尔字母)、瑞典语、斯瓦希里语、泰米尔语、泰卢固语、泰语、土耳其语、乌克兰语、乌尔都语、越南语、中文(简体)和中文(繁体)。
NotebookLM访问地址:https://notebooklm.google.com
来源:IT之家
烂透
中西区闲逛
熊猫,走起
武汉游记
景德镇见闻
开源实例之Tianji
前言
All-in-One Insight Hub
Tianji = Website Analytics + Uptime Monitor + Server Status + More...
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 22 |
程序 | Tianji 1.20.7 |
实例部署
官网地址:https://tianji.msgbyte.com
仓库地址:https://github.com/msgbyte/tianji
Docker部署
git clone https://github.com/msgbyte/tianji
cd tianji/
docker-compose up -d
本地部署
#克隆代码
git clone https://github.com/msgbyte/tianji
cd tianji/
#安装依赖
pnpm i
#构建项目
pnpm build
#创建数据库配置文件
cd src/server
vim .env
DATABASE_URL="postgresql://user:pass@127.0.0.1:5432/tianji?schema=public"
JWT_SECRET="replace-me-with-a-random-string"
#初始化数据库
pnpm db:migrate:apply
#启动服务
node dist/src/server/main.js
实例体验
后记
本实例仅供参考,不定期重置数据。
在银河麒麟桌面操作系统 ARM 版上安装 KVM 虚拟化
KVM 是一种开源全虚拟化解决方案,能够在 Linux 系统运行多个操作系统。本文将详细介绍如何在银河麒麟桌面操作系统 ARM 版安装 KVM 虚拟化环境,帮助用户搭建高效的虚拟化平台。
准备工作
- 硬件要求
确保 ARM 架构设备支持虚拟化技术。通常,支持虚拟化的 ARM 处理器会支持硬件辅助虚拟化功能。
系统至少需要 4GB 内存和 20GB 的硬盘空间。
- 软件要求
银河麒麟桌面操作系统 ARM 版「如 V10」
KVM 虚拟化相关的软件包。
安装 KVM 虚拟化环境
- 安装 KVM 和相关工具
1 | sudo apt update |
注意:在银河麒麟桌面操作系统 ARM 版上,可以通过上面命令安装 KVM 和相关工具。
- 包的作用
上面软件包的作用如下:
包名 | 作用 |
---|---|
qemu-kvm | 提供 KVM 虚拟化核心功能 |
libvirt-daemon-system | 用于管理虚拟机的后端服务 |
libvirt-clients | 提供客户端工具管理虚拟机 |
bridge-utils | 用于配置网络桥接 |
virt-manager | 提供图形化界面管理虚拟机 |
- 添加用户到
libvirt
组内
1 | sudo usermod -aG libvirt $(whoami) |
注意:为方便管理虚拟机,需要将当前用户添加到 libvirt
组,然后注销重新登录,使组成员关系生效。
- 验证是否安装成功
1 | virsh --version |
注意:运行上面命令来检查 KVM 是否正常工作,如果返回版本信息,说明 KVM 安装成功了。
创建 KVM 虚拟机
- 下载镜像
可以从银河麒麟官方网站下载适合 ARM 架构的虚拟机镜像文件。
如 Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso
文件。
- 创建虚拟磁盘
1 | qemu-img create -f qcow2 /path/to/disk.img 50G |
注意:使用上面命令创建虚拟磁盘。其中/path/to/disk.img
是虚拟磁盘路径,50G
表示磁盘的大小。
- 启动 KVM 虚拟机安装
1 | qemu-system-aarch64 -m 2048 -cpu cortex-a76 -smp 4 -M virt -bios /path/to/QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=/path/to/disk.img,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=/path/to/Kylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom |
注意:使用上面命令启动 KVM 虚拟机安装。其中-m 2048
分配 2048MB 内存;-cpu cortex-a76
指定 CPU 类型;-smp 4
是指定虚拟 CPU 核心数。
- 完成安装
按照虚拟机安装界面的提示完成安装过程。
安装完成后 KVM 虚拟机将自动重启。
使用 KVM 管理虚拟机
- 使用
virsh
命令行工具
列出所有 KVM 虚拟机:
1 | virsh list --all |
启动 KVM 虚拟机:
1 | virsh start <KVM 虚拟机名称> |
关闭 KVM 虚拟机:
1 | virsh shutdown <KVM 虚拟机名称> |
强制停止 KVM 虚拟机:
1 | virsh destroy <KVM 虚拟机名称> |
挂起 KVM 虚拟机:
1 | virsh suspend <KVM 虚拟机名称> |
恢复挂起 KVM 虚拟机:
1 | virsh resume <KVM 虚拟机名称> |
- 使用
virt-manager
图形化界面
virt-manager
提供了一个直观的图形化界面,方便用户管理 KVM 虚拟机。
启动 virt-manager
后,可以连接到本地或者远程的 KVM 服务器,创建、启动、停止 KVM 虚拟机。
山城印象:立体的重庆在细节中生长
聊聊我对生二胎的一些想法
出差自贡市容县三湾湖国际垂钓基地
福建之行
四川博物院
探索扣子空间「邀请码不限量分享」
当今数字化浪潮中,人工智能正以前所未有的速度改变着我们的工作和生活方式。字节跳动于 2025 年 4 月 19 日推出的通用型 AI Agent 平台,无疑是这一变革中一颗璀璨新星,为我们带来了全新的 AI 协作办公体验。
扣子空间是啥
扣子空间是个致力于打造和 AI 协作工作全新工作方式的平台。
它基于字节跳动自研的豆包等国产大模型,用户只需将任务交给智能体,系统就能自动完成需求分析、任务拆解、工具调用、结果生成,支持从网页到文档等多种类输出形式,极大提升工作效率与执行力。
核心特点功能
- 双重模式协作,灵活应对任务需求
扣子空间提供了探索模式和规划模式。
探索模式下 AI 自主动态探索,完成速度更快,适用于时效性强的任务,例如查询最新资讯、获取实时数据等等;规划模式中 AI 深度思考,会先给出任务处理规划,经过用户确认后再行动,执行期间也需用户参与,适合高复杂性任务,如跨行业市场调研、复杂项目规划等等。这种双模式的协作机制,让用户可根据任务属性灵活选择,能更好地与 AI 协作完成工作。
- 强大任务处理能力,实现自动工作流程
扣子空间能够智能解析用户的一句话需求,精准识别意图并将其分解为多个具体任务。系统会自主调用浏览器、代码编辑器等工具执行任务,同时将每个思考和执行步骤清晰呈现,适时的与用户确认意图,确保执行方向准确。
最终输出完整结果报告,如 PPT、网页、飞书文档等等,真正实现了从需求输入到成果输出的全流程自动化。
- 专家级 Agent 生态,提供专业领域支持
平台内置多种领域的专业 Agent,例如华泰 A 股观察助手可生成每日股市早报并解答股票分析问题,用户研究专家可以协助进行用户研究资料深度分析。
这些专家级的 Agent 针对特定领域更专业,能处理更复杂任务,为不同领域的用户提供了便捷的专业服务。
- 丰富插件集成,无限拓展能力边界
扣子空间首批集成飞书多维表格、高德地图、图像工具、语音合成等 60 多款 MCP 模块化能力插件,未来还将支持开发者通过扣子开发平台发布自定义插件。
这些插件涵盖资讯阅读、旅游出行、效率办公等等众多方面,使扣子空间能够满足用户在不同场景下的各种需求,真正实现了功能的无限扩展。
应用场景广泛
扣子空间应用场景十分丰富,涵盖办公、学习、生活、电商、金融等等多个领域。
在办公场景中,可以帮助用户完成撰写文档、数据分析、制作 PPT 等各种工作任务;在学习场景下,能为学生和教育工作者提供课程资料收集、课件制作等辅助教学和学习服务;在生活场景里,可以用于制定旅游计划、查询信息等等;在电商场景中,能够进行商品推荐、用户行为分析;在金融场景下,可为股票分析、金融数据解读等等提供决策支持。
截图与邀请码
扣子空间界面非常简洁,登录后可通过左侧菜单进行任务管理,输入任务描述即可快速创建任务,开始任务后会在右侧显示 Agent 执行过程:
扣子目前机制每次能生成五个邀请码,杜老师会定期更新邀请码的使用状态,也请小伙伴使用后留言邀请码的编号,用尽后会发放新邀请码:
LibreTV 免费的在线视频观看神器
在数字媒体盛行的今天,观看电影、电视剧等视频内容成为了人们日常娱乐的重要部分。然而,许多视频平台要么需要付费订阅,要么充斥大量广告,还有的需要复杂的注册流程,极大地影响了观影体验。今天,就给大家介绍一款名为 LibreTV 的开源工具,它将彻底改变在线观影方式。
LibreTV 是什么
LibreTV 是个轻量级、免费的在线视频搜索与观看平台,无需注册账号,也无需要下载安装任何软件,更不需要付费订阅,只要连接网络,通过浏览器就可以随时随地访问。
它采用纯前端技术构建,结合了前端技术和后端代理功能,可以轻松部署在各种支持服务端功能的网站托管服务上。
LibreTV 的优势
免费使用:无需支付任何会员费用,即可畅享海量视频内容,真正实现了看片不花钱。
多源搜索:聚合了多个视频源,能更全面地搜索到电影、电视剧等各类影视资源,可轻松找到想看的内容。
跨多平台支持:无论电脑、平板还是手机设备,均能完美适配,随时随地满足观影需求。
静态部署:不需要后端服务器,部署简单快捷,大大降低了搭建和维护成本。
广告过滤:内置广告过滤功能,有效屏蔽广告干扰,提供更加干净、更优质的观影体验。
自定义 API 接口:用户可以根据自身需求添加或修改视频源,灵活性非常强,可以不断拓展影视资源。
LibreTV 的功能
多源视频搜索:覆盖丰富电影、电视剧等内容,支持多视频源自动聚合,一次搜索即可获取更多结果。
响应式 Web 设计:能够完美适配各种屏幕尺寸设备,无论是 PC 端还是移动端,都可以获得良好的观看体验。
本地存储搜索历史:将搜索历史存储在本地,方便用户下次快速查找之前看过影视内容。
快捷键的支持:播放器支持多种键盘快捷键,如全屏快进快退等,让操作更加的便捷。
HLS 流媒体支持:兼容 HLS 流媒体格式,确保视频播放更加流畅稳定。
可选密码保护:支持设置密码保护,增强访问控制,保障观影隐私。
LibreTV 的安装
- 用 Cloudflare Pages 部署
Fork 或者克隆 LibreTV 仓库 到 GitHub 账户。
登录 Cloudflare Dashboard 进入 Pages 服务。
点击创建项目,连接到 GitHub 仓库。
使用以下设置:构建命令「留空」(无需构建)输出目录「留空」(默认为根目录)
最后点保存并部署。
可选:在设置环境变量中配置密码保护。
- 用 Vercel/Netlify 部署
与 Cloudflare Pages 类似,只需要连接仓库并部署即可,无需特殊配置。
点击仓库中的部署按钮,按照提示完成部署流程。
- 用 Docker 部署
1 | docker run -d --name libretv -p 8899:80 -e PASSWORD=your_password_here bestzwei/libretv:latest |
注意:使用 Docker 运行 LibreTV,运行以上命令。然后打开浏览器输入 http://localhost:8899
即可访问。
- 用 Docker Compose 部署
1 | version: '3' |
注意:将上面内容保存到 docker-compose.yml
文件中,然后运行 docker-compose up -d
命令即可启动 LibreTV。
LibreTV 的使用
搜索视频:打开 LibreTV 的网页界面,直接在搜索框中输入想看的电影、电视剧关键词,点击搜索按钮或者按回车键,系统会自动聚合多个视频源。
可选择播放源:在搜索结果中,可以看到不同视频源提供的播放链接,根据喜好选择一个合适的播放源,点击进入播放页面。
播放控制:在播放页面可通过播放器的控制按钮进行播放、暂停、调整音量、可切换清晰度、拖动进度条等常规操作。此外,还可以使用键盘快捷键来进行屏、快进快退操作,提升观影体验。
查看历史记录:LibreTV 会将搜索历史存储在本地,可在搜索框下方或相应的历史记录区域查看和点击之前搜索过的内容,方便快速查找以及继续观看。
Electerm 高效便捷的开源终端工具
在数字化工作时代,一款高效、便捷的终端工具对于开发者、系统管理员和网络工程师等人群来说至关重要。Electerm 作为一款开源免费的跨平台终端模拟器,凭借其丰富的功能和优秀的用户体验,成为了众多用户的首选。
Electerm 的简介
集终端模拟器、文件管理、远程连接、SFTP 客户端等功能于一体,支持 Windows/macOS 和 Linux 等多种操作系统。不仅功能强大,而且界面简洁直观,易于上手。
Electerm 支持在同一窗口中运行多个 SSH 会话,方便用户可同时管理多个远程服务器。同时,它还支持多种认证方式,包括密码、密钥、双因素认证等,充分满足不同用户安全需求。
安装方法
- Windows 系统的安装方法
访问 Electerm 的 官方网站,进入下载页面,找到 Windows 相关安装包。下载完成后双击安装包,进入欢迎界面,选择安装模式,浏览选择安装位置点击安装,等待安装完成即可。
另外,也可选择下载免安装版,解压到磁盘自定义目录,直接打开 electerm.exe 就能使用了。
- Linux 系统的安装方法
对于一些 Linux 发行版,如 Ubuntu、Kylin 等,用户可直接通过系统的内置软件商店进行安装:
使用方法
- SSH 连接项
打开 Electerm 后,在主界面点击左上角的加号,选 SSH。在弹出的对话框中输入主机地址、用户名以及密码等相关信息,点击连接按钮。
- 文件传输
在连接到远程服务器后,点击左侧边栏文件管理选项,进入文件管理界面。在该界面中用户可以看到本地和远程服务器的文件目录,通过简单拖拽操作,即可实现文件的上传和下载。
- 自定义快捷键
Electerm 允许用户自定义快捷键和主题,以满足个人操作习惯和视觉喜好。点击顶部菜单栏的设置选项,进入设置界面。在快捷键部分,用户可根据自己的需求对各种操作的快捷键进行修改和设置。在主题项部分,提供多种预设的主题供用户选择,同时用户也可以根据自己的喜好对主题的颜色、字体等进行自定义调整。
- 其它功能
Electerm 支持多语言,包括英语和中文等,用户可以在设置中进行语言切换。此外,它还具有自动完成、自动重连、透明窗口、终端背景图像等等功能,为用户提供更加便捷和个性化的使用体验。
Wave Terminal 多功能开源终端工具
在现代开发工作中,终端是我们必不可少的工具之一。今天要给大家介绍的 Wave Terminal,无疑是一款将传统终端功能与图形化能力完美融合开源终端,能够极大地提升我们的工作效率。
Wave Terminal 的简介
Wave Terminal 是一款支持 macOS/Linux 和 Windows 三大操作系统跨平台终端。
它不仅具备常规的终端功能,还集成了诸多高级特性,例如文件预览、网页浏览、AI 对话等。这使得开发者在使用终端时,无需频繁切换其它应用程序,即可完成多种任务。
使用方法
界面布局模块操作:Wave Terminal 的默认界面左侧为终端命令行模块,中间区域分别是 CPU 性能、浏览器和本地文件路径模块,右侧则有帮助、提示和 AI 对话模块。这些模块均可根据个人需求随意拖动位置、多开、添加、删除。
多命令行窗口使用:可同时打开多个命令行窗口,方便在不同项目或任务之间切换。例如,在一个窗口中运行项目服务,另一窗口中执行相关命令进行调试等操作。
文件路径浏览操作:在文件路径模块中,用户不仅可以查看文档、图片,还能播放视频。直接输入文件路径或者通过图形界面浏览文件系统,快速定位到所需文件并进行编辑或者查看。
网页浏览功能:利用内置的浏览器模块,可以直接在终端中浏览网页。这在需要查阅技术文档、搜索解决方案等场景下非常方便,无需切换到其它浏览器,节省了时间和精力。
AI 对话的功能:借助右侧的 AI 对话模块,用户可以与 AI 进行交流。无论寻求编程建议、解决问题思路,还是进行其它知识性的问答,都能得到及时的回复和帮助。
远程连接功能:通过 Wave Terminal 可以方便地连接到本地内网的 Linux 服务器。以 Ubuntu 系统为例,先在 Ubuntu 系统安装 SSH 服务,执行 sudo apt -y install openssh-server
命令进行 SSH 安装,安装完成后执行 sudo systemctl status ssh
命令查看 SSH 的服务状态,若显示绿色 running 提示则表示服务已启动。然后在 Windows 系统 Wave Terminal 中,输入 ssh 用户名@服务器 IP
命令,输入密码后即可连接到远程 Linux 服务器。
开源实例之Uptime Kuma
前言
Uptime Kuma is an easy-to-use self-hosted monitoring tool.
Uptime Kuma 是一款开源自托管的轻量级监控工具,拥有简洁美观的界面和丰富的告警方式。
实例地址
https://uptime-kuma.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 20 |
程序 | Uptime Kuma 1.23.16 |
实例部署
官网地址:https://uptime.kuma.pet
仓库地址:https://github.com/louislam/uptime-kuma
Docker部署
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
本地部署
#克隆源码
git clone https://github.com/louislam/uptime-kuma
cd uptime-kuma/
#构建项目
npm run setup
#启动项目
node server/server.js
实例体验
后记
本实例仅供参考,不定期重置数据。
开源实例之SoybeanAdmin
前言
SoybeanAdmin 是一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia 和 UnoCSS。它内置了丰富的主题配置和组件,代码规范严谨,实现了自动化的文件路由系统。
实例地址
https://soybeanadmin.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | Node.js 20 |
程序 | SoybeanAdmin 1.3.13 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Node.js 18.12.0+、pnpm 8.7.0+
安装程序
官网地址:https://soybeanjs.cn
仓库地址:https://github.com/soybeanjs/soybean-admin
#克隆源码
git clone https://github.com/soybeanjs/soybean-admin
cd soybean-admin/
#安装依赖
pnpm i
#开发环境启动项目
pnpm dev
#构建项目
pnpm build
实例体验
后记
本实例仅供参考,不定期重置数据。
未曾踏足的小径
Coze扣子空间邀请码
Coze是字节跳动旗下的新一代 AI 应用开发平台
来自倾城于你的传递。
第三批
https://www.coze.cn/space-preview?invite_code=CKK0IEV2https://www.coze.cn/space-preview?invite_code=ZP24X1SJhttps://www.coze.cn/space-preview?invite_code=BBXUXXZ0https://www.coze.cn/space-preview?invite_code=DQC6XW8Ahttps://www.coze.cn/space-preview?invite_code=WK2DQ1QHhttps://www.coze.cn/space-preview?invite_code=7VNGHK9Ohttps://www.coze.cn/space-preview?invite_code=G6740HI7https://www.coze.cn/space-preview?invite_code=DY2LAKRJhttps://www.coze.cn/space-preview?invite_code=A4SEL6IIhttps://www.coze.cn/space-preview?invite_code=91D4D5K6https://www.coze.cn/space-preview?invite_code=S9Y8POSEhttps://www.coze.cn/space-preview?invite_code=UQ3OFZUJhttps://www.coze.cn/space-preview?invite_code=2T1B1QTThttps://www.coze.cn/space-preview?invite_code=62Y2N7PVhttps://www.coze.cn/space-preview?invite_code=WXPZ8X4Thttps://www.coze.cn/space-preview?invite_code=JJ3R4WEUhttps://www.coze.cn/space-preview?invite_code=MLI00CGHhttps://www.coze.cn/space-preview?invite_code=YZU604IZhttps://www.coze.cn/space-preview?invite_code=VVUH35MVhttps://www.coze.cn/space-preview?invite_code=GKHUBTT2https://www.coze.cn/space-preview?invite_code=BHQX8TQShttps://www.coze.cn/space-preview?invite_code=929IYX7Phttps://www.coze.cn/space-preview?invite_code=QCRIO110https://www.coze.cn/space-preview?invite_code=BBRKX2KFhttps://www.coze.cn/space-preview?invite_code=0XD79CLS
第二批
https://www.coze.cn/space-preview?invite_code=TKT8UKINhttps://www.coze.cn/space-preview?invite_code=CSE4F8OZhttps://www.coze.cn/space-preview?invite_code=DYSD9H3Rhttps://www.coze.cn/space-preview?invite_code=H2Z8EOB3https://www.coze.cn/space-preview?invite_code=GWGML845
第一批
https://www.coze.cn/space-preview?invite_code=J066QB7Yhttps://www.coze.cn/space-preview?invite_code=8ZGW96V1https://www.coze.cn/space-preview?invite_code=WEHKH3B3https://www.coze.cn/space-preview?invite_code=0VV2L9WJhttps://www.coze.cn/space-preview?invite_code=2XUZQIGE
SimpleMindMap 开启思维可视化之旅
在信息爆炸的时代,思维导图已经成为高效整理知识、梳理思路必备工具。而 SimpleMindMap 作为一款强大的 Web 思维导图工具,凭借其独特的魅力,正吸引着越来越多用户目光。
SimpleMindMap 是什么
SimpleMindMap 既是思维导图的 js 库,也是一个完整思维导图工具。
功能丰富,能满足思维导图的各种需求,无论是简单的想法记录,还是复杂知识体系构建。
其插件化设计理念,使得除核心功能外的其它能力都作为插件提供,用户可以按需选择,避免了冗余代码的困扰。
而且易于使用,开箱即用,配置丰富,文档清晰,无论是编程新手还是有经验的开发者,都能快速上手。
安装方法
- 在线使用
最便捷的方式便是直接在线使用。这种方式适合临时使用或者快速尝试工具功能的场景。
访问 在线思绪思维导图,无需繁琐安装过程,即可立即开始创建思维导图。
- 本地部署
1 | services: |
注意:对于一些对数据安全和隐私有严格要求的用户,本地部署是最理想选择。将上面的内容保存为 docker-compose.yml
文件,然后用 docker-compose up -d
命令启动容器。
使用方法
- 创建思维导图
打开 SimpleMindMap 应用后,首先会看到一个简洁的界面。点击「新建」按钮,即可开启一张新的思维导图。
在中心出现一个根节点,这是思维导图起点。可双击根节点,为其输入主题名称,比如「我的学习计划」。
- 添加分支节点
确定好主题后,接下来就是添加分支节点来细化内容。先选中根节点,会发现有一些添加子节点的按钮或快捷键提示。
通常可以通过点击这些按钮或使用快捷键「如 Tab 键等」来创建子节点。例如,在「我的学习计划」根节点下,添加「语文」「数学」「英语」等学科子节点。
- 编辑节点内容
对于每个节点,不仅可以修改文字内容,还可以进行丰富的格式设置。在选中节点后,可通过顶部菜单栏或者右键菜单找到编辑选项。
比如,可以设置字体大小、颜色,加粗、倾斜文字,甚至可以插入图片、链接等多媒体元素。
- 调整布局
SimpleMindMap 提供了多种布局方式,以满足不同的展示需求。在菜单栏找到布局选项,有常见的思维导图布局。
可根据思维导图的内容结构和美观度考虑,随时切换布局,直观地看到不同的展示效果。
新手跑步第五次:单人挑战不间断半马
开源实例之 js13kGames 2019 选辑
前言
js13kGames 是一项年度游戏开发比赛,特色是源代码限制为 13KB,详见介绍。本篇是 js13kGames 2019 年作品选辑,主题是 back,包含121款游戏。
实例地址
https://js13kgames-2019.dujun.eu.org
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务器 | Nginx |
程序 | js13kGames 2019 选辑 |
实例部署
权限要求
- 具有系统读写权限
- 已安装 Nginx
安装程序
移植官网页面,用每款游戏的开源代码独立部署。
实例体验
后记
本实例仅供参考,不定期重置数据。
HandBrake:将蓝光电影批量压制为 MKV
HandBrake 是一款功能强大的开源视频转换工具,支持 Linux、macOS 和 Windows 系统。它可以将已有的视频文件转换为在手机、电视盒子、游戏机、电脑或浏览器等多种设备上兼容的格式。支持的视频格式广泛,包括普通摄像机拍摄、屏幕录制以及蓝光源等。
我个人收藏了不少蓝光电影资源,但在 Emby 中无法直接播放。将资源迁移至云盘后,更是连在线播放都成问题。因此,我决定使用 HandBrake 将这些资源重新压缩为支持软字幕的 MKV 格式,以便在不同设备间更好地播放和管理。
操作说明
1. 导入视频源
打开 HandBrake 后,点击左上角的“打开源(Open Source)”按钮。可选择以下方式导入视频:
- 直接选择单个视频文件;
- 导入整个 BDMV 文件夹(HandBrake 会自动识别主电影);
- 实测可加载映射为 cd2 路径的 115 网盘本地资源。
导入后,程序会自动分析视频内容,识别出音频轨道、字幕轨道等元数据。
2. 设置字幕轨道
切换到“字幕(Subtitles)”标签页后,点击“轨道(Tracks)” > 添加所有剩余字幕轨道。
常见设置建议如下:
- 主语言字幕:不勾选 Burn In,可勾选 Default;
- 强制外语字幕(如英语电影中的西班牙语对白):
- 勾选 Burn In(烧录字幕);
- 同时勾选 Forced Only(仅提取强制字幕);
以下为字幕选项的详细说明:
| 选项 | 说明 | 建议设置 | |
Mt Coot-Tha库萨山夜爬·呼吸新鲜空气
Logseq 高效知识管理与协作利器
Logseq 以其出色的知识管理能力、便捷协作功能、强大的隐私保护以及灵活的可扩展性,成为了日常学习和工作中不可或缺的工具。不仅帮助高效地记录和整理知识,还激发了创造力和思考能力。
Logseq 的简介
Logseq 是一款开源的本地优先知识管理和协作平台,它完美融合了大纲笔记与双链笔记的优势,还注重用户的个人隐私保护。支持多种文件格式,包括 Markdown 等,满足不同用户写作习惯,同时提供了丰富的插件生态系统,用户可以根据自身需求扩展功能:
它不仅具备强大的笔记编辑能力,还内置了任务管理、日历视图、知识图谱功能,助力用户更好规划工作、学习、生活,无论整理学习资料、记录工作要点,还是进行团队协作,Logseq 都可以轻松胜任:
Logseq 的安装
Logseq 的安装十分便捷。电脑端用户可以从 官网,根据自身操作系统选择对应的安装包进行下载安装,如 Windows、Linux 等都有适配版本。首次打开会自动创建一个知识库,也可以根据需要自行创建新的知识库。
手机端用户同样可以在 App Store 或官网下载安卓端 Logseq 应用程序,实现移动端与桌面端的无缝同步,方便用户随时随地查看、编辑笔记。
Logseq 的使用
创建编辑笔记:在 Logseq 创建笔记非常简单,点击界面右下角的加号按钮,即可新建笔记。在编辑界面可以使用 Markdown 语法文本进行排版,例如设置标题、段落、列表、链接等等,还可插入图片、表格等等元素,让笔记内容更加的丰富多样。
添加标签属性:为更好地对笔记进行分类和管理,可为笔记添加标签。在笔记编辑界面中,点击右上角的「标签」按钮,输入相关标签名称即可。此外 Logseq 支持为笔记添加属性,如优先级、状态、日期等等,方便用户从不同维度对笔记进行筛选、查询。
双向链接:这是 Logseq 的核心功能之一。当在一篇笔记中提及另一个已存在的笔记内容,Logseq 会自动在两者间建立双向链接。也可以手动在笔记中入「笔记名称」的形式来创建链接,通过双向链接,可以轻松构建起一个有机的知识网络,方便在不同笔记间穿梭浏览,发现知识间的隐含关联。
知识图谱:借助知识图谱功能,可以直观地看到笔记之间的链接关系。点击界面左侧边栏「知识图谱」按钮,即可进入图谱视图。在这个视图中,节点之间的连线表示它们之间的双向链接关系。可以通过放大、缩小、拖拽等操作来浏览图谱,还可以查看某个笔记的关联笔记列表。
淘淘丢包记
临海熊出没欢乐港湾一日游发生了一个小插曲,淘淘的小包(上图红色圈注)弄丢了。里面装满了淘淘心爱的小玩具,还有两件有实用价值的物品——小天才手表的充电线和保护壳。
我们计划在园区玩一整天,晚上还要玩夜间项目。饭点回家,到车里整理物品才发现小包不见了。淘淘当场就开始哭,我马上从车库返回园区沿路寻找,无果。于是我立即求助园区工作人员,先到入口向检录人员说明了情况。她立即在系统里查失物招领信息,随后又在群里喊话。等待了一会儿没有小包的消息,工作人员就告诉我,去服务中心登记,后面如果找到了会联系我。我依言去了服务中心,那边的工作人员更细致地告诉我,闭园清场时所有工作人员会集中整理上交游客遗失的物品,到时会联系失主。我填写了手机号和相关信息,便带一家人先回去吃晚饭。
这个小包和里面的玩具是淘淘的心头好,经常放在枕边陪着睡觉。情感因素很大,但实际的经济价值是不高的。从我本心出发,就等园区的消息,没有就算了。但是架不住淘淘又哭了几次鼻子,我们只能早早吃了晚饭,就返回园区,直奔服务中心打听新情况。得到的答复仍然是没有找到,我就顺嘴问了一下能否查一下监控。我跟老婆反复确认了,在下午离园最后一个项目排队时小包还放在推车里,如果是在园区丢的,查那个项目的监控就可以了。
我的目的很简单,就是确认下,如果是工作人员捡到了,那就有拿回来的希望;如果是游客捡走了,那么其实很难,也不值得付出代价去追回了。但是在我提出查监控的请求之后,事情就朝着出乎我意料的方向发展了。
接下来的故事就有点主旋律叙事的意味,但确实是我的真实感受,我非常感谢园区工作人员对待这件事的积极态度。
服务中心的工作人员同意了我查监控的请求,然后开始在手机里沟通。我以为是内部看一下监控,然后告诉我大概结果。然而过了一段时间工作人员跟我说,可以直接带我去监控室。我听到有点懵,更懵的是随后整整走完了整条商业街的路程。我本以为在附近,没想到她亲自陪我走了这么久。途中我就感到不好意思,还特地解释了一下包里并没有值钱的物品,都是孩子玩具,她不以为意。
到了监控室,找到两组镜头与我停放推车的位置相关,但都有遮挡。两名监控室工作人员一人负责一个视角,彼此对照,几乎逐帧分析靠近过我推车的人。最后得出结论,不存在可疑人员偷拿。整个过程耗时近 40 分钟,两名监控室工作人员为我磨了这么长时间,耐心且细致。而那位带我过来的服务中心工作人员全程陪同,加上来回赶路的时间,她整整为我耽误了一个小时。与他们告别时我只能反复说着谢谢。
最后包没有找回来,但是我已经没有丢东西的懊恼情绪了,更多的是对工作人员的感激。这个小包被如此兴师动众地找寻,也是得到了华丽的谢幕。
故事的后续是我们在网上重新买了小天才配件和一部分玩具。我也适时就这件事告诉淘淘,人生不如意事十之八九。一方面以后多留心随身物品,另一方面不要被坏情绪影响太久。
骑行
潼南:安岳和大足之间的小众石刻
临海熊出没欢乐港湾一日游
清明携全家回了趟临海。老家附近的新地标“熊出没欢乐港湾”从几年前开始建设时就听爸妈念叨,趁这次去亲身体验。宝宝问去哪里,我还逗她们说去临海的迪斯尼。
临海熊出没欢乐港湾是华强方特精心打造的首个以“熊出没”IP为元素,以水陆双乐园为核心,集“吃、住、游、购、娱”于一体的城市亲子休闲度假区,共有三十余个室内外特色游乐项目、多项特色演艺以及大量休闲景观、风味餐饮和特色商店。
没有2大2小的套票,算下来买两份1大1小最便宜(1大1小官方价168、抖音直播价 143),减去优惠实付 280.97元。
游乐设施对儿童友好,休闲不刺激。例如跳楼机和过山车都是儿童版,高度很低。游客密度也合适,绝大部分项目不需要长时间排队。姐妹俩很开心,从早到晚扎扎实实地玩了一整天,绝对值回票价。
在收费乐园的外围是很大的商业步行街,晚上还可以看花车巡游和喷泉、打铁花表演。所以就算不花钱入园,周边也是很有可玩性的。
打铁花表演
最后又在滑滑梯这里玩了很久,流连忘返。
畅玩一天,完美收官。
Linux 系统监控利器 ctop 命令详解
在 Linux 系统,尤其是当我们在管理多个容器时,了解系统和容器的资源使用情况至关重要。今天,就给大家介绍一款强大的监控工具 ctop,本文详细介绍 ctop 的安装、使用、命令选项。
ctop 命令的简介
ctop 是一个类似 top 命令的界面工具,它专注于容器环境,能够实时监控 Docker/Podman 等容器运行时的性能指标,如 CPU、内存、网络、磁盘 I/O 等使用情况。
它以一种直观的方式展示各个容器的详细信息,让管理员可以迅速掌握系统整体健康状况,并且快速定位到可能存在性能瓶颈的容器。
与传统 top 命令相比,ctop 提供更丰富的容器相关数据和更便捷的交互方式。
它不仅能展示容器的基本资源使用率,还能深入到每个容器的进程级别,查看内部运行具体进程,这对于深入分析容器性能表现非常有帮助。
ctop 命令的安装
- Linux 系统的安装方法「以 Ubuntu 为例」
1 | sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -O /usr/local/bin/ctop |
注意:可以直接从 Github 下载最新版本的二进制文件进行安装,以上是具体的步骤「这里以 v0.7.7
版本为例」最后,用命令 ctop -v
验证是否安装成功,若可以正确显示版本号,说明安装成功。
- 通过 Docker 的方法安装
1 | docker run --rm -it --name=ctop -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest |
注意:也可以使用 Docker 快速启动 ctop 容器来进行监控。
ctop 命令的使用
- 基本使用
在终端中输入 ctop 命令后回车,即可启动 ctop 程序进入主界面。在界面中,会显示出所有正在运行的容器及其资源使用情况的概览,包括容器名称、CPU 使用率、内存使用量及限制、网络收发速率、磁盘读写速率、进程数等信息。
可以通过方向键上下移动光标来选择不同容器,然后按下回车键可以查看到所选容器详细信息,如容器的创建时间、各资源的详细使用数据以及内部运行的进程列表等。
- 命令选项
命令选项列表如下:
选项 | 描述 |
---|---|
ctop -a | 只查看正在运行中容器,方便专注那些实际处于活动状态、可能对系统资源产生影响的容器。 |
ctop -f string | 查看包含指定字符串的容器,当系统中有大量容器时,利用此选项可快速过滤出我们关心的特定容器进行监控。 |
ctop -i | 反转默认颜色,如默认的颜色显示效果不佳,或需要与其它界面风格保持一致,可使用该选项来改变界面的颜色显示。 |
ctop -r | 反向容器排列顺序,默认情况下存活的容器在前,使用此选项可将其顺序反转,以便按照不同顺序查看容器。 |
ctop -s string | 按照指定字段排序,如执行 ctop -s net 可以按照网络使用率对容器进行排序,从而快速找到网络流量较高容器。 |
交互操作
交互操作列表如下:
操作 | 描述 |
---|---|
h | 打开帮助,在使用过程中如果忘记了某些快捷键的功能或者想了解更多操作方法,可以随时按下 h 键查看帮助信息。 |
s | 打开排序,通过此快捷键可以方便地切换不同的排序字段,无需重新输入命令选项。 |
q | 退出打开的对话框,当查看完帮助信息或排序设置后,按下 q 键可以退出相应的对话框,返回到主界面。 |
a | 只显示正在运行的容器,与 ctop -a 命令效果一致,但在已经启动了 ctop 程序的情况下,使用快捷键可更快速地切换显示模式。 |
r | 反转排序,正在运行容器放在末尾,方便在不同的排序需求之间快速切换。 |
f | 输入指定字符串过滤出想要查看容器,与 ctop -f string 命令类似,无需重新输入命令,直接在当前界面中进行过滤操作。 |
j | 用于向下移动光标,方便在容器列表中快速定位到不同的容器。 |
k | 用于向上移动光标,方便在容器列表中快速定位到不同的容器。 |
Enter | 查看指定容器详细指标,当光标定位到某个容器,按下回车键即可进入该容器详细信息界面,查看更全面的资源使用以及进程信息。 |
Linux 下的高效压缩工具 Zstandard
Zstandard 以其卓越的性能和丰富的功能,成为了 Linux 下一款不可或缺的压缩工具。无论是对单个文件还是整个目录的压缩和解压,它都可以轻松应对,且在处理速度和压缩效果上都有着出色的表现。
Zstandard 的简介
Zstandard 是由 Facebook 开发并开源的一种快速无损压缩算法,2015 年首次发布以来,凭借其高压缩比和快速的解压缩速度,逐渐受到了开发者青睐。
它不仅在压缩效率上超越传统的 gzip 等工具,还能在保持高压缩率的同时,实现极快解压速度,特别适合对数据处理效率要求较高的场景,如大数据处理、日志压缩、网络数据传输等等。
Zstandard 的特点
高压缩比:通常情况下 Zstandard 能够获得比 gzip 更好压缩效果,有效减少数据存储空间。
快速解压:其解压缩速度极快,即使是低压缩等级,解压速度也能远超一些 SSD 的读取速度,大大提高了数据的读取效率。
多线程的支持:Zstandard 自带多线程压缩功能,可以充分利用多核 CPU 的性能,大幅提升压缩速度。例如,在处理大量数据时,多线程压缩能够显著的缩短压缩时间,提高工作效率。
丰富压缩级别选择:提供了从 1 到 22 的压缩级别选择,用户可根据实际需求在压缩速度和压缩率之间进行灵活权衡。压缩级别越高,压缩比率越大,但压缩速度会相应减慢;反之,压缩级别越低,压缩速度越快,但压缩比率会有所降低。
字典压缩模式:Zstandard 为小数据提供一种特殊的字典压缩模式。用户可通过提供一些样本数据来训练生成字典,然后在压缩和解压时加载该字典,从而在小数据上实现更高压缩率,这对于处理大量小文件场景非常有用。
使用模式:Zstandard 提供了多种命令模式,包括压缩、解压、查看压缩信息、测试压缩文件等等。
Zstandard 的安装
Debian/Ubuntu 系统的安装命令如下:
1 | sudo apt install zstd |
Fedora/Red Hat/CentOS/AlmaLinux 系统的安装命令如下:
1 | sudo dnf install zstd |
Arch Linux/Manjaro 系统的安装命令如下:
1 | sudo pacman -S zstd |
也可以从源码编译安装「这里以 1.5.7
版本为例」命令如下:
1 | wget https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz |
Zstandard 的使用
- 压缩文件
基础压缩:使用命令 zstd file_name
即可对文件进行压缩,压缩后会生成一个扩展名为.zst
的文件,如 zstd doc.txt
,会生成 doc.txt.zst
文件。
指定压缩级别:可通过选项来指定压缩级别,例如 zstd -3 file_name
表示使用压缩级别-3
进行压缩。
- 解压文件
基础解压:使用 zstd -d archive_name.zst
即可对文件进行解压,解压后的文件会自动去除.zst
后缀。
指定解压后文件名:同样可使用-o
选项来指定解压后的文件名,如 zstd -d archive_name.zst -o new_file_name
。
- 压缩目录
压缩整个目录:可以使用 zstd -rz directory_name
来压缩整个目录,其中-r
表示递归压缩目录中所有文件和子目录,-z
表示压缩的操作。
解压目录:对于压缩后的目录文件,使用 zstd -dr archive_name.zst
进行解压缩,-d
表示解压缩操作,-r
表示递归解压缩。
- 查看压缩文件内容
使用 zstd -l archive_name.zst
可以查看压缩文件的相关信息,如压缩比、压缩级别、文件大小等等。
而 zstd -t archive_name.zst
则可用于测试压缩文件的完整性,确保文件在压缩和传输过程中未损坏。
记录我的前3次跑步:从陪跑到主动出发
使用 Python 脚本下载指定网页的图片文件
有小伙伴反馈说侧边栏随机图出现了重复,有些审美疲劳,要求杜老师再更新一些图片,正好聊天广场有小伙伴分享了一个美图的网址。本文分享如何使用 Python 脚本下载指定网页的图片文件,需要的小伙伴可以参考文中代码。
代码需求
使用 Python 的语言编写一个脚本,下载指定网址中包含的多种格式图片文件,如 JPG 和 PNG 格式图片。
将图片保存至指定的目录中,可以指定绝对路径,或者相对路径。
并用随机数重命名,防止同名图片触发覆盖事件。
尽可能使用 Python 的标准库,尽量避免使用第三方库。
变更解释
导入必要的库:包括
os
/requests
/re
以及random
;定义函数:
download_images
函数可用于下载图片;获取图片链接:使用正则表达式从网页内容中提取图片 URL;
下载保存图片:使用
requests
库下载图片,并且使用random
库生成随机数作为文件名;指定目录:确保保存目录存在,如果不存在则创建;
获取内容:使用
requests
库获取网页内容。
功能代码
1 | import os |
注意:本示例代码仅适用于 Python 3.x 版本,运行于 Windows 系统。如使用 Linux 系统,可能需要进行相应修改。
X Window 与 Wayland 的深度对比
X Window 与 Wayland 不仅代表了图形界面技术不同发展阶段,更体现了设计理念、架构模式及应用场景的显著差异。本文将从历史背景、技术特点、应用场景及未来展望等多个维度,对 X Window 和 Wayland 进行深入剖析。
历史背景演变
X11 诞生于 1984 年,由麻省理工学院 MIT 开发,旨在满足分布式计算环境下图形界面需求。其设计哲学强调网络透明性,允许用户在远程服务器运行应用程序,并在本地终端显示结果,极大地拓展 GUI 的可用性和灵活性。随着时间推移,X11 凭借其广泛的硬件和软件支持,逐渐成为 Linux 桌面环境的标准图形界面后端。
随着计算需求增长,X11 的一些设计局限逐渐显现,例如架构复杂、性能瓶颈和安全性问题。2008 年,Kristian 提出 Wayland 项目,旨在创建一个更加现代、高效窗口系统。Wayland 的设计重点在于简化架构、提高性能和增强安全性,采用客户端 Compositor 通信模型,减少了中间层,提升了效率和响应速度。
技术特点比较
X11 采用 C/S 模型,客户端通过 X 协议与服务器通信,而 X 服务器负责处理所有图形和输入事件。相比之下,Wayland 采用了客户端 Compositor 模型,客户端可直接与 Compositor 通信,Compositor 负责了窗口管理、合成、输出。Wayland 的架构更加贴合现代图形硬件特性,可以更高效地利用 GPU 和现代显示技术。
X11 在安全性方面存在了固有弱点,其复杂协议和广泛权限易被恶意利用。Wayland 通过限制客户端权限以及简化通信模型,显著提高了安全性。例如,Wayland 禁止了应用程序直接访问底层硬件,只允许了它们与 Compositor 通信,从而增强系统的安全性。
Wayland 的协议设计更加高效,减少了延迟和带宽消耗。在移动设备和资源受限的环境中,Wayland 的优势尤为明显。此外,Wayland 避免了不必要的复杂性和额外处理,使得其在性能上优于 X11。尤其是在窗口大小调整以及拖动等操作中,Wayland 显得更加的平滑流畅。
X11 拥有庞大的生态系统,支持大量的应用程序和工具,几乎所有 Linux 发行版默认都使用 X11。然而,Wayland 的生态系统正在快速发展,主要桌面环境如 GNOME 和 KDE 已全面支持 Wayland。尽管如此,一些特定应用程序和工具可能仍需要额外的兼容层或补丁才能在 Wayland 下运行。
应用场景
在桌面环境中,X11 凭借其广泛的兼容性和成熟度,仍然是许多用户的首选。但随着硬件技术的进步和用户对高性能图形渲染的需求增加,Wayland 正在逐渐成为主流的选择。
越来越多的 Linux 发行版开始默认支持 Wayland,例如 Fedora 和 Ubuntu 等。
在移动设备和嵌入式系统中,资源受限是一个普遍的问题。Wayland 的低功耗以及高性能特性使其成为这些场景下的理想选择。
例如,Android 系统中的 SurfaceFlinger 就是基于 Wayland 的原理设计,用于图形显示以及窗口管理。
在虚拟化和云计算的环境中,图形性能以及网络传输效率至关重要。
虽然 X11 的网络透明性在某些场景下仍有些优势,但 Wayland 通过优化的协议和架构,正在成为虚拟桌面基础设施 VDI 和云桌面解决方案的首选,特别在需要高性能图形渲染的场景中。
你被邪淫左右的根因在于你的内心世界与现实世界无法相融
专注于每个步伐
万豪系酒店总结
巩义杜甫故里
OpenResty 的性能优化配置建议
1Panel 的用户越来越多,内置 Web 服务 OpenResty 使用占比也在增加,但网上对其优化的教程很少。应关关童靴的需求,更新一篇有关 OpenResty 的一些优化建议。可优化设置项较少,需要的小伙伴可以根据实际需求变更配置。
server_names_hash_bucket_size 参数项
含义:该参数用于设置服务器名字 hash 表大小,若名字过长或服务较多,保持默认值可能使 hash 表空间不足,引发错误。
优化建议:一般为 server_names_hash_max_size
的 1/2-1/3 左右,如服务器配置较高,可直接设置 256
。
gzip 参数项
gzip_min_length
参数项:对小文件压缩可能得不偿失,一般设置为 1k
或 10k
左右,小于该值的文件不压缩。
gzip_comp_level
参数项:压缩级别,1
为最小最快,9
为最大最慢,通常建议设置为 4-6
,以平衡压缩效果和 CPU 使用率。
client_header_buffer_size 参数项
含义:用于设置读取客户端请求头的缓冲区大小,若请求头过大,可能超出默认值导致客户端报错。
优化建议:根据实际业务需求调整,如业务请求头通常较大,可设为 32k
左右,确保可以完整读取大部分请求头。
client_max_body_size 参数项
含义:限制客户端请求主体的最大允许大小,超出该值请求将被拒绝。
优化建议:根据业务场景和服务器承受能力设置,如普通表单提交可设置为 10m-20m
左右,对于文件上传等大请求可以适当增大。
keepalive_timeout 参数项
含义:设置长连接的超时时间,即客户端与服务器间连接保持空闲的最大时间。
优化建议:一般设为 60-90
秒左右,时间过短会频繁断开连接且增加开销,过长则可能占用过多的资源。
优化后的配置示例
1 | http { |
注意:以上配置仅供参考,具体优化需根据实际业务场景和硬件配置进行调优。
《骆驼祥子》读后感——一个时代的悲剧
武汉动物园一日游
《暗黑破坏神3》国服赛季开荒指南
日前,《暗黑破坏神3》的国服已经正式回归,新老玩家可以进入《暗黑破坏神3》的新赛季,这里给出一个赛季初期的开荒指南,供各位新老玩家参考。
赛季有特殊奖励和全新玩法,一般都是打赛季模式,赛季初期,先建立一个赛季角色,赛季角色可以选择喜欢的职业,刷的比较爽的职业有猎魔人和野蛮人。
建立角色后,打挑战秘境模式,获得一个挑战秘境宝箱,里面有大量金币和材料,可以先将铁匠宝石附魔升满级。
进入游戏后,找佣兵,把佣兵的武器拿到自己身上用,因为佣兵武器比自身武器攻击高,拿了佣兵武器后,伤害会提升不少。另外2个佣兵的白色武器分解掉,得到万用材料用于解锁仪式祭坛的BUFF。分解的操作很简单,只需要在铁匠铺里,物品栏中分解点击不需要的装备即可。
之后访问仪式祭坛,解锁2个重要的BUFF,一个是连杀持续时间和奖励翻倍,一个是移除所有装备等级要求,这两个BUFF对开荒帮助极大,先解锁第一个BUFF。第一个BUFF可以大幅提高打怪时能获得的经验值,连杀越多,奖励越丰富。这个BUFF会在屏幕出现一个计数器,显示当前连杀数量,保持连杀不中断很重要,尽量不要让计数器归零,连杀数字越高,获得的经验值越高。
仪式祭坛在第一章的城镇里很好找,就在传送点附近。
之后从初始任务里去找卡奈魔盒,卡奈魔盒是游戏里的关键道具,有多种不同的功能(例如提取装备的特效和传奇能力,以及重铸游戏装备属性、在游戏中更换套装等等),初始任务里,NPC会告知线索,之后前往赛斯切隆遗迹,找到长老神殿,因为卡奈魔盒就在长老神殿里面,点击即可获得卡奈魔盒。
通过卡奈魔盒,可以提取游戏中装备特效和传奇能力,包括重铸一件传奇物品,一旦卡奈魔方的传奇能力被提取出来,就可以为游戏中的角色进行配置,不需要额外装备该物品。
获得卡奈魔盒后,用挑战秘境宝箱里的材料升级一个70级武器,提取其BUFF,再做绿色贤者套装。
之后升级到18级后,解锁仪式祭坛第2个BUFF,可以提前拿起70级武器,第2个BUFF需要无暇宝石,18级以后,可以去击杀骷髅王、佐敦库勒的悬赏任务来获得宝箱,有悬赏任务就打,没有的话就刷新地图。
70级武器威力超大,可以轻松击杀低级怪物,18级拿上70级武器之后,就可以去刷怪升级了,难度可以选择苦痛2或更高,建议刷怪地点是先民神殿,先民神殿怪物密度高,地图结构简单不容易迷路。由于装备等级的碾压,升级速度快到飞起。手持70级武器在这里横扫非常爽快,一刀一个小怪,几刀解决精英,升级速度飞快,记得全程保持连杀不断,这样经验值翻倍效果拉满。神殿里还可能掉落一些有用的低级传奇装备,运气好的话能捡到不少好东西。
70级是等级上限,达到70级后游戏才算真正开始。这时候需要刷巅峰等级来提升角色属性,巅峰等级没有上限,可以无限提升,每提升一级巅峰等级,角色主属性增加5点,巅峰等级提升速度随等级增长而变慢,需要大量经验值。
升到70级之后,优先做赛季任务,获得赛季奖励的绿色套装,获得全套绿色套装之后,伤害量就立刻再上一个大台阶,这时候可以尝试挑战高难度的大秘境,通过不停地刷大秘境,可以获得大量巅峰等级。
赛季玩法丰富多样,基本上把赛季旅程任务完成,就可以获得大量奖励,之后就可以AFK了。
记一次JAVA项目-博友圈成功部署运营
博鳌,零落成泥辗作尘
巴东县:峡湾回转,满袖江风
一个人的旅游 —— 再游澳门和香港
遇见虚拟偶像生贺应援
在商场遇见一个排场很大的庆生活动,写着“秦彻生日快乐”。我诧异谁家土豪这么高调,走近了才发现是个虚拟形象。我马上用手机查了一下,原来是游戏人物。
秦彻(Sylus、シン),一款由叠纸游戏研发的女性向3D恋爱手游《恋与深空》中的男主角之一。
我没听过这款游戏,更不认识这个秦彻。但是他都这样火到我面前了,对流行事物的无知让我有莫名的危机感,便决定探究一番。
我首先在附近转了一下,发现只有这一块区域有布置,所以猜测不是商场主题活动,而是运营公司或粉丝行为。询问商场安保,他表示不知情。于是我搜商场公众号,找到服务台电话打过去,对方不清楚,但是给了我场地/广告位负责人的电话。我继续打电话询问,证实了我的猜测,这不是商场行为,而是外部活动。他不愿透露租借场地的是公司还是个人,但是解答了相关费用问题。商场只出场地,物料和安装人工自理,日租金 2 万元。不过若能带来一定规模的客流量,可酌情减免费用。
我亲自负责过运营活动,清楚这种巨幅布景物料价格不菲,而场地租金大大超出我的预料。这个活动持续 7 天,也就是费用至少超过 15 万。那么我就好奇这是商业活动还是粉丝行为,很快就在社交平台找到了答案。
我找到了信息集中发布的源头,微博账号 秦彻Sylus_0418生贺组。看了微博我才知道在全国很多城市都有秦彻生贺应援,并且也找到了我所在商场的活动介绍。公开信息显示这个生贺组由粉丝自发组成,相关推文的标题有:
二次元消费狂潮:月薪三千的粉丝如何撑起百万级纸片人庆生?
月薪3000的打工人,花几百万给纸片人男友庆生
为“自推”过生日,成为当代二次元们的硬核浪漫
最后我还学到了一个无用的知识——这个布景叫做“痛楼”。相关话题是“秦彻生日痛楼”。
我的探究便到此结束了,对这个新事物了解个大概。我对真人追星都不能理解,更不用说虚拟偶像崇拜。唯一的领悟就是虚拟偶像经济是物理存在的。
《暗黑破坏神3》国服回归
在关服两年之后,4月16日《暗黑破坏神3》国服正式宣布重启,开启不删档技术测试。官方表示,所有玩家的账号停服前数据均被完整保留,玩家可以在测试期间体验第34赛季内容。该赛季中,玩家可以体验国服错过的28与29赛季中首次出现过的内容,包括仪式祭坛、仇敌幻象等。
据介绍,本次测试不设预下载,游戏客户端可以在4月16日开服后由战网客户端直接下载。
官方表示,所有玩家的账号停服前数据均被完整保留,之前有账号的老玩家可以直接玩,无需重新购买,玩家数据将会全部保留。针对没有账号的玩家,游戏本体免费赠送,能玩暗黑三本体1-4章全部剧情。
测试期间,部分商业化内容将会暂时关闭。
此外,在本次测试期间登录游戏的所有玩家,均可免费获取仙塞熊、伽基女士的飞翼(奖励会在游戏正式上线后发放)。
据悉,2023年1月23日,暴雪游戏因协议问题在中国大陆暂停服务、关闭服务器。2024年4月,暴雪、网易宣布复合,暴雪国服游戏于2024年夏陆续回归中国大陆市场。
目前回归国服的游戏有《炉石传说》《魔兽世界》《守望先锋》《暗黑破坏神3》。
沙尘暴对武汉的影响
记忆中的豆腐脑
纪念外婆
外婆于清明前一周去世,享年89岁。事发当天直接送至殡仪馆,放入冰棺。没有安排遗体告别,火化时只有舅舅等少数家属可以入场。我没能见外婆最后一面。
外婆是典型的中国祖母,从来没见她发过脾气,也没拿过主意,就在外公身后做个顺从的家庭主妇。外公是“老人协会”负责人,在村里有一定影响力,早年间水电费是由他出面收缴的。外公在外忙碌,家务便都丢给了外婆。而当时外公还经营家庭旅馆,接待跑商的小生意人,都是老客。所以外婆除了伺候家里人,还要顾着住客吃喝,自然比一般人要劳累很多。
外婆辛劳一辈子,不过一直身体康健。直到外公突然去世,外婆仿佛瞬间老去,在很短的时间内到了生活无法自理的地步。精于厨艺的外婆,几次被发现烧焦了饭菜,舅舅便不敢再让她自己做饭。自此外婆空闲下来,情况反而更糟糕,不久我妈就在电话里告诉我外婆大概老年痴呆了。等到我回老家看外婆,她已经卧床多时,脸上没了颜色。我用手机留下影像,心想这可能是最后一次见外婆。一语成谶。
外婆对我有实质的养育之恩。小时候爸妈赶集摆摊,每天很晚回来。初中住校之前,我中饭和多数时候晚饭是在外婆家吃的。大概因为缺乏父母陪伴,我那时自卑胆小,而这性格就逆反出窝里横发作在外婆身上。如果懂事,我应该在饭点主动去外婆家。但是我故意每次等着外婆来叫我,甚至有时不应答,让外婆三催四请。那么多年,日复一日,因为我的小性子,外婆走了那么多路,喊了那么多声。而我从始至终没有给过外婆任何回报。
亲人离世不是骤然的暴雨,而是漫长的潮湿。从听闻噩耗,到参加火化、出殡,我麻木地听从指令行动。脑中空空,生不出哀伤的情绪。直到一切结束,回到杭州,那个晚上临睡前我突然崩溃。悲从中来,难以自持。
外婆去世后,我与老婆两家祖辈这道墙全部倒塌,阻隔生老病死的防御落到了父辈这道墙上。这是生命的必然,也是家族的史诗。
外婆,一路走好!
从做家务开始说起
路氹小逛
观“古蜀瑰宝—三星堆与金沙”文物特展
怎么你戒个色就戒的那么痛苦
西安之行
尔滨小逛
磐安|自驾浙中川藏线,过没有人从众的假期
天翼云电脑公众版(8 核 16G)得分 115.48
前言
本篇将天翼云电脑公众版(8 核 16G)与腾讯云服务器(下称 CVM)进行对比实测。具体流程见《服务器对比实测评分方案》。
测试服务器
测试服务器由天翼云提供。
产品信息 | |
---|---|
名称 | 天翼云电脑(公众版) |
CPU | 8核 |
内存 | 16G |
下行带宽 | 50M |
上行带宽 | 4M |
系统盘类型 | 普通IO |
系统盘大小 | 120G |
标价 | 158元/月 |
CPU 信息 | |
---|---|
Model name | Intel Xeon Processor (Skylake, IBRS) |
Vendor ID | GenuineIntel |
Architecture | x86_64 |
CPU op-mode(s) | 32-bit, 64-bit |
Address sizes | 46 bits physical, 48 bits virtual |
CPU(s) | 8 |
CPU family | 6 |
Model | 85 |
Thread(s) per core | 1 |
Core(s) per socket | 1 |
Socket(s) | 8 |
Stepping | 4 |
BogoMIPS | 5985.69 |
L1d cache | 256 KiB (8 instances) |
L1i cache | 256 KiB (8 instances) |
L2 cache | 32 MiB (8 instances) |
L3 cache | 128 MiB (8 instances) |
Hypervisor vendor | Microsoft |
Virtualization type | full |
在 Docker 中限制资源使用,模拟 2 核 2G 的表现。
测试结果
图片处理测试结果
图片压缩
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
JPG 449K | 0.0437s | 0.0466s | ✓ |
JPG 1.9M | 0.1409s | 0.1676s | ✓ |
PNG 750K | 0.3787s | 0.4122s | ✓ |
PNG 3.8M | 0.4471s | 0.4824s | ✓ |
BMP 1.5M | 0.0140s | 0.0130s | ✗ |
BMP 6.0M | 0.0393s | 0.0393s | ✓ |
生成缩略图
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
JPG 449K | 0.0342s | 0.0360s | ✓ |
JPG 1.9M | 0.1069s | 0.1296s | ✓✓ |
PNG 750K | 0.0543s | 0.0560s | ✓ |
PNG 3.8M | 0.0881s | 0.0864s | ✗ |
BMP 1.5M | 0.0198s | 0.0203s | ✓ |
BMP 6.0M | 0.0260s | 0.0262s | ✓ |
GIF 417K | 0.0638s | 0.0672s | ✓ |
GIF 1.8M | 0.2576s | 0.2773s | ✓ |
生成 WebP
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
JPG 449K | 0.2912s | 0.3062s | ✓ |
JPG 1.9M | 1.0017s | 1.0643s | ✓ |
PNG 750K | 0.0938s | 0.1008s | ✓ |
PNG 3.8M | 0.2930s | 0.3095s | ✓ |
BMP 1.5M | 0.0511s | 0.0545s | ✓ |
BMP 6.0M | 0.1932s | 0.2096s | ✓ |
GIF 417K | 0.2701s | 0.2887s | ✓ |
GIF 1.8M | 0.5799s | 0.6153s | ✓ |
音频处理测试结果
生成 OGG
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP3 137K | 0.2912s | 0.2928s | ✓ |
MP3 939K | 1.2144s | 1.1947s | ✗ |
MP3 5.2M | 6.4926s | 6.4211s | ✗ |
视频处理测试结果
视频压缩
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP4 2.4M | 7.9282s | 12.7703s | ✓✓✓ |
MP4 9.4M | 0.0884s | 0.0917s | ✓ |
MOV 7.7M | 6.4191s | 9.4417s | ✓✓✓ |
MOV 29M | 18.7261s | 29.2054s | ✓✓✓ |
生成缩略图
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP4 2.4M | 0.3185s | 0.3297s | ✓ |
MP4 9.4M | 0.2794s | 0.2952s | ✓ |
MOV 7.7M | 2.7677s | 3.6489s | ✓✓ |
MOV 29M | 7.7762s | 11.1678s | ✓✓✓ |
生成 WebM
文件 | 耗时 | CVM 耗时 | 性能对比 |
---|---|---|---|
MP4 2.4M | 53.1289s | 79.7153s | ✓✓✓ |
MP4 9.4M | 50.2361s | 72.3739s | ✓✓✓ |
MOV 7.7M | 44.8573s | 71.5808s | ✓✓✓ |
MOV 29M | 197.3885s | 317.8199s | ✓✓✓ |
性能评分
分类 | 得分 |
---|---|
图片处理性能 | 105.99 |
音频处理性能 | 99.27 |
视频处理性能 | 138.94 |
综合处理性能 | 115.48 |
如何去除文章的AI味道
最近这两年,AI写作成为很多人都尝试过的一项功能,不光是写博客、写论文、写运营文案,连情书、检讨书都能用AI代写。然而,大多数人可能都有一个共同的感觉:用AI写出来的文章"味道"太重,一眼就能被人识破。
我们知道,用AI生成的文章,大多数都有着明显的"痕迹":非常相似的风格、过于规整的结构、机械化的表达、缺乏个性的语言...这些都让AI文章散发着一种脱离人类真实情感和语言直觉的味道——我们姑且叫它“AI味”。
为什么AI生成的文章有AI味,主要因为AI是基于海量的数据进行训练而成的,这使得AI通过学习海量文本之后,可以预测最可能的单词或句子结构,同时,AI生成的内容常常条理清晰、段落简洁,句子结构非常严谨,缺乏人类写作的那种层次感,导致“AI味”非常明显。
所以问题来了:既然我们已经离不开AI写作,那怎么才能让文章看起来不像是AI写的?换句话说,怎么“去AI味”?今天,我就和大家分享几招实用技巧,让AI生成的内容更像是出自人类之手。
一、优化提示词:怎么写提示词,决定了AI的灵魂
很多人写提示词(prompt)的方式,就像在点外卖:“来一篇关于网络隐私的科普文,结构清晰,语言通俗。”
这种简单的提示词当然能出结果,但结果就像快餐一样,吃得饱,但吃不出滋味,更别说要写出什么“爆款”或者“有血有肉”的文章了。
比较简单的AI提示词框架是:角色 + 背景 + 目标 + 需求 + 限制条件 + 参考示例
角色:明确AI扮演的身份,如“政策分析师”或“客户服务专家”。
背景:提供任务背景,提升AI理解能力,如“在2025年政策背景下”。
目标:明确想要达成的具体目标或结果,如“生成报告”或“优化流程”。
需求:详细说明具体需求,包括功能、风格、格式等。
限制条件:如果有任何限制条件,比如时间、字数、预算等,需要说明一下。
参考示例:如果可能,提供类似的示例或参考,帮助AI能更好地理解需求。
根据上面这个AI提示词框架,我们就有了一个用AI写文章的实用提示词结构模型:
你是【角色】,现在需要写一篇【目标】的文章,风格偏【语气风格】,使用的语言要【口语/书面/幽默/专业】,输出形式是【格式要求】,限制条件是【限制条件】。内容参考如下素材:【参考示例】
比如,我们要写关于隐私保护的一篇博文,用这个模型的提示词会是这样:
你是一位中文科技类博客写手,写作风格偏个人化,有吐槽,有观点,像在和读者聊天。现在请你写一篇博客,讲述普通网民如何保护自己的网络隐私,尽量引用真实案例,适当穿插自己的评论和经验,语言要轻松自然,避免AI痕迹明显。格式采用博文形式,有标题、小标题和段落,内容参考以下文本:XXX(附上自己的材料)
你有没有发现?这种提示词不仅给出角色和任务,还设置了风格、语言、格式和素材,相当于给AI搭了一个舞台,它只需要发挥就行。
这样写出来的文章,才更可能“像人说话”,而不是“机器背稿”。
二、喂AI吃人话:素材越真,文章越像
很多人用AI写作的第二个误区是:不提供素材。
比如你要AI写一篇关于《网民如何保护隐私》的文章,你没有给它任何你的真实经历、观点、用词偏好,那它只能从训练库里“凑素材”。于是你看到的文章就是——
互联网的发展极大地便利了人们的生活,但也带来了隐私泄露的风险。因此,网民在上网时应注意保护个人信息,避免被不法分子利用。
熟吗?是不是像你小学语文期末考试的范文开头?
所以你得喂它吃“人话”。
你得告诉它:“我2012年就开始在网上写博客,那时候隐私意识还很淡。我曾经因为用弱密码,被盗过博客账号,文章全被删光,现在都后悔没早点启用两步验证。”
这种素材和细节,不仅让文章显得真实,也能激发AI写出更多有温度的句子。
别忘了,AI很会模仿。如果你给它“冷冰冰”的资料,它也只能继续“冷冰冰”。但如果你给它的,是有烟火气的东西,它也能模仿得像模像样。
因此,给AI喂料就是,先自己写点素材、语气、背景,或者把自己写的旧文章喂进去,让它参考语调、结构、用词风格。
喂得越细,它回馈得越准,AI其实很像家猫,你不主动,它就不理你。
三、“套话结构”是AI味来源之一
在结构上,AI特别喜欢三段论:引入——分析——总结。尤其在中文里,“首先……其次……最后……”几乎成了AI写作的标配,在语言上,AI容易陷入一些模式化的语言。
想打破这种“套路感”,你得做点个性化的工作。
比如:
用第一人称代入(比如“我以前怎么做,现在怎么做”)。
手动调整AI生成的句子,删掉过于复杂的术语,加入你的个人风格,比如口语化的表达或独特的比喻。 多次迭代,直到文章读起来流畅自然。
要求AI避免特定词汇或句式,比如,在提示词里,加入如下限制:
##要求
-文章禁止使用的词汇如下:
```1、递进关系和逻辑词汇
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. 这表明2、结构词汇
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. 当然
```
四、我自己常用的“去AI味”操作流程
既然是经验分享,那我就说说我自己在用AI写作时的一些套路,供你参考:
开头手动写:不让AI写开头,自己开一个好头。
正文结构用提示词控制:我会设定“以我自己角度展开叙述”、“加入一些轻吐槽”、“使用比喻”。
我常用的提示词如下:
使用简单和通俗易懂的词汇,不要使用专业术语,使文章更加易于理解;
要使用短句,不要使用长句,不要冗长描述。
使用口语化、接地气、人情味、富有情感等等语气。
段落过度要自然、逻辑清晰。不要使用“首先、其次、再次、然后、最后”这些副词和过渡词。
文章中要加入更多具体的例子、生动的描述和细节等。
对于AI写的内容,自己再修改一遍,尽量删除那些不必要的废话。
五、写文章还是要回归一个问题:你到底想说什么?
最后我想说,AI是工具,不是替代品。它的厉害之处在于节省时间,但内容的“灵魂”永远只能靠你自己给。
AI帮你堆词、排版、润色,但观点、态度、观察、体验,但绝对不能让AI主导你自己。
真正有感染力的内容,从来不靠“技巧”,而是靠“诚意”。
所以别指望AI帮你完成全部写作,它只是你写作路上的一个小工具。而真正的武器,是你自己观察生活、思考问题、表达观点的能力。
清明台州游记
读博随笔 | 到上海交大报到的第一天和第二天(疲惫、糟心、暖心、福利,还是太全面了)
梁子湖拾光牧场一日游
过春天,歌乐山矿坑徒步攻略
Nginx 从配置到缓存的性能优化
Nginx 是一个高性能的 HTTP 服务器和反向代理服务器,广泛应用于处理高并发请求。然而,默认配置并不一定适合所有场景,尤其是在高流量或复杂业务逻辑的情况下。本文将介绍一些 Nginx 的基础配置优化和缓存的使用方法以提升 Nginx 的性能。
基础配置优化
- 调整
worker_processes
以及worker_connections
Nginx 使用多进程模型处理请求。worker_processes
定义 Nginx 使用的工作进程数,而 worker_connections
定义每个工作进程可以处理的最大连接数:
1 | worker_processes auto; |
参数作用如下:
参数 | 作用 |
---|---|
worker_processes | 设置为 auto 可以让 Nginx 自动根据 CPU 核心数来分配工作进程数。如服务器有 4 个 CPU 核心,Nginx 会启动 4 个工作进程。 |
worker_connections | 这个值决定了每个工作进程可以处理的最大连接数。通常,可根据服务器的内存和网络带宽来调整这个值。1024 是一个常见起点,可以调整到 2048。 |
- 启用
keepalive
长连接
HTTP 协议中的 keepalive
机制允许客户端和服务器在同一个连接上发送多个请求,减少了 TCP 连接的建立和关闭开销:
1 | http { |
参数作用如下:
参数 | 作用 |
---|---|
keepalive_timeout | 定义客户端与服务器保持连接的时间。设置为 65 秒意味着如果客户端在 65 秒内没有发送新请求,连接将被关闭。 |
keepalive_requests | 定义了单个连接上允许的最大请求数。设置为 100 意味着一个连接可以处理 100 个请求后关闭。 |
- 调整
buffer
的大小
Nginx 使用缓冲区来存储请求和响应数据。如缓冲区设置过小,Nginx 可能会频繁地进行磁盘 I/O 操作,影响性能:
1 | http { |
参数作用如下:
参数 | 作用 |
---|---|
client_body_buffer_size | 定义用于存储客户端请求体的缓冲区大小。如请求体超过这个大小,会将数据写入磁盘。 |
client_header_buffer_size | 定义用于存储客户端请求头的缓冲区大小。 |
large_client_header_buffers | 定义用于存储大型请求头的缓冲区数量和大小。 |
缓存提升性能
- 启动静态资源缓存
对于静态资源,启用缓存可以显著减少服务器的负载:
1 | location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { |
参数作用如下:
参数 | 作用 |
---|---|
expires | 定义了资源的缓存时间。30d 表示资源将缓存 30 天。 |
Cache-Control | public 表示资源可以被任何缓存「如浏览器、CDN等」缓存,no-transform 表示不允许代理服务器对资源进行转换「如压缩等」 |
- 使用代理缓存
如使用 Nginx 作为反向代理,可启用代理缓存来缓存后端服务器的响应:
1 | proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off; |
参数作用如下:
参数 | 作用 |
---|---|
proxy_cache_path | 定义了缓存存储的路径、缓存键的存储区域、缓存的最大大小及缓存的有效期。 |
proxy_cache | 启用缓存并使用指定的缓存区域。 |
proxy_cache_valid | 定义不同状态码的缓存时间。 |
- 使用
gzip
压缩减少网络传输量
gzip
压缩可以显著减少传输数据量,从而加快页面加载速度:
1 | http { |
参数作用如下:
参数 | 作用 |
---|---|
gzip | 启用压缩。 |
gzip_types | 定义了需要压缩的文件类型。通常包括文本文件、CSS/JavaScript/XML 等。 |
gzip_comp_level | 定义压缩级别,范围是 1 到 9。1 是最低的压缩率,9 是最高的压缩率。默认值 6 。 |
gzip_min_length | 定义最小压缩文件大小。小于这个大小的文件不会被压缩。 |
gzip_proxied | 定义了是否对代理请求启用压缩。any 表示对所有代理请求启用压缩。 |
gzip_vary | 添加响应,确保代理服务器能正确处理缓存。 |
HTTP/2 与速率限制
- 使用 HTTP/2 版协议
HTTP/2 提供了多路复用、头部压缩特性,可以显著提升性能:
1 | server { |
参数作用如下:
参数 | 作用 |
---|---|
http2 | 在 listen 指令中添加 http2 参数即可启用。 |
- 限制请求速率
为了防止恶意请求或突发流量导致服务器过载,可使用 limit_req
模块限制请求速率:
1 | http { |
参数作用如下:
参数 | 作用 |
---|---|
limit_req_zone | 定义限流区域。$binary_remote_addr 表示根据客户端的 IP 地址进行限流,rate=1r/s 表每秒允许 1 个请求。 |
limit_req | 在指定的位置应用限流。burst=5 表允许突发 5 个请求。 |
LB 和日志优化
- 负载均衡
1 | upstream backend { |
注意:通过 upstream
模块可以将请求分发到多个后端服务器,提高并发处理能力。
- 日志优化
1 | access_log /var/log/nginx/access.log main buffer=16k; |
注意:调整日志级别可减少日志输出量,提升性能。这表示将访问日志的缓冲区大小设置为 16KB,并将错误日志级别设置为 warn
。
1Panel 全新移动 APP 上线
1Panel 作为新一代的服务器管理面板,为 Linux 服务器运维提供了一个舒适便捷的 Web 图形界面。为了方便移动办公,1Panel 推出了 APP 移动端,目前还在测试阶段,不过足以满足大多数用户的需求。
功能满足多样需求
1Panel APP 拥有丰富且实用功能特性,涵盖服务器管理的多个重要方面。它支持 Android 和 iOS 系统,确保不同设备用户都能享受到一致的服务体验。用户可以方便地添加多个 1Panel 服务,实现对多台服务器集中管理:
首页全局概览表盘,以直观的方式展示服务器的关键信息,让用户一眼就能了解服务器整体运行状况:
应用管理方面,1Panel APP 表现得十分出色。用户不仅能够查看已安装的应用,还能轻松进行安装、配置、管理操作,极大地简化了应用部署和维护的流程:
对于网站管理,它提供专业的工具,方便用户对网站进行创建和编辑、删除操作,同时支持域名绑定和 SSL 证书配置,确保网站的安全性和稳定性:
Docker 容器管理是 1Panel APP 的一大亮点。用户可以方便创建、启动、停止、删除容器,还可以对容器的资源进行合理分配和监控,满足了开发者和运维人员在容器化部署方面的需求:
服务器状态监控功能则让用户实时掌握 CPU、内存、磁盘等资源的使用情况,及时发现潜在性能瓶颈,为服务器优化提供有力依据:
获取使用资格方式
目前 1Panel APP 正式版仅支持专业版用户使用,可以通过各大厂家应用商店安装手机端 APP。
如果还不是 1Panel 专业版用户,又感觉官方的价格太贵,欢迎选择《1Panel 专业版低价租用》数量有限,先到先得!
解释器权限不够的处理思路
当我们在使用 Linux 系统进行开发或者运维工作时,经常遇到一些错误提示。其中一个常见错误是解释器权限不够。这个错误提示表明在运行
targetcli
命令,系统没有足够权限来执行所需的 Python 解释器。在本文中,我们将探讨这个错误原因和解决方法。
错误原因
为理解这个错误的原因,我们需要先了解下 Linux 系统的权限管理机制。
Linux 系统将用户和组织分为不同的分类,并为每个用户和组织分配不同的权限。这些权限决定用户可以访问和执行哪些文件和目录。
在这个特定错误中,我们看到了一个错误路径/usr/bin/targetcli
和错误消息/usr/bin/python3:解释器错误:权限不够
。
系统无法在路径/usr/bin/targetcli
下找到所需的 Python 解释器,且没有足够的权限来执行它。
解决方法
- 确定缺少的解释器
首先,我们需确定缺少的 Python 解释器。
在错误消息中,我们看到了/usr/bin/targetcli
和/usr/bin/python3
两个路径。这告诉我们 targetcli
命令需要 python3
来执行。
- 确定解释器的位置
接下来我们需要确定 python3
解释器的实际位置。我们可以使用 which
命令来找到解释器的路径。
可在终端中运行命令 which python3
。命令的输出将告诉我们 python3
解释器位置。比如,输出可能是/usr/local/bin/python3
。
- 修改
python3
解释器路径
一旦我们找到了 python3
解释器的位置,我们可以通过修改 targetcli
脚本来更新解释器的路径。
打开终端并输入命令 sudo vi /usr/bin/targetcli
。这将使用编辑器打开 targetcli
脚本。
在脚本中,我们需要查找#!/usr/bin/python3
这一行,并将其替换为 python3
解释器实际路径。
在这个例子中,我们可以将其替换为#!/usr/bin/python3
。
- 更改脚本权限
最后,我们需要为 targetcli
脚本提供执行权限。
可在终端中运行命令 sudo chmod +x /usr/bin/targetcli
。如果一切顺利,我们应该不再看到错误消息。