Normal view

There are new articles available, click to refresh the page.
Today — 13 May 2025Curiosity

考虑退坑 Vim

By: cj323
13 May 2025 at 23:13
cj323:

本人十年 Vimmer ,从上学时老师教开始用 Vim 写代码。后来一直是主力用 Vim/Neovim ,辅助 VSCode Vim 。浏览器里面用 Vimium 。

近年来到了 ai 时代,我发现 Vim 很多快的地方可以 tab 掉,比如宏,jump 等等。而 Vim 生态里面又没有什么有竞争力的插件能和 VSCode ,Cursor 这些比辅助编程,由此我逐渐转到其他编辑器+Vim 插件。问题是,这些插件还是二等公民的感觉,往往由社区维护。即便是官方维护的,也只能说勉强能用,还是很多地方变扭,尤其是 ai 相关的功能。

加上前两年 Vim 创始人离世,和开源社区的不稳定性,也让我 Vim 其前景越发担忧。

由此,我考虑”忘掉“Vim ,用更现代的编辑器+鼠标编程,并学习原生快捷键。只在没有 GUI ,远程服务器用 Vim 。浏览器也卸载 Vimium 。

有水友有同样的想法么?

求教 openwrt 单臂路由实现 vlan 互通配置问题

13 May 2025 at 23:12
fanshao19881: 家里两台 NAS 分别接入了两条宽带上网,因为不想把两个 NAS 接入同一个局域网,所以分别接入了两个 vlan ,但是又想实现两个 NAS 能互访,查找了相关资料和 deepseek 可以通过配置单臂路由实现两个 vlan 互通

单臂路由为一个玩客云 openwrt 版本为 23.05
/etc/config/netwrok 文件如下:
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fdac:8a2b:a0df::/48'

config interface 'lan'
option device 'eth0'
option proto 'static'
option ipaddr '192.168.2.2'
option netmask '255.255.255.0'
option ip6assign '60'

config interface 'docker'
option device 'docker0'
option proto 'none'
option auto '0'

config device
option type 'bridge'
option name 'docker0'

config device
option type '8021q'
option ifname 'eth0'
option vid '3'
option name 'eth0.3'
option ipv6 '0'

config device
option type '8021q'
option ifname 'eth0'
option vid '4'
option name 'eth0.4'
option ipv6 '0'

config interface 'vlan3'
option proto 'static'
option device 'eth0.3'
option ipaddr '192.168.2.1'
option netmask '255.255.255.0'

config interface 'vlan4'
option proto 'static'
option device 'eth0.4'
option ipaddr '192.168.1.1'
option netmask '255.255.254.0'

/etc/config/firewall 内容如下:
config defaults
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option flow_offloading '1'

config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'

config include 'nikki'
option type 'script'
option path '/etc/nikki/scripts/firewall_include.sh'
option fw4_compatible '1'

config zone 'docker'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option name 'docker'
list network 'docker'

config zone
option name 'vlan3_zone'
option network 'vlan3'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'

config zone
option name 'vlan4_zone'
option network 'vlan4'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'

config forwarding
option src 'vlan3_zone'
option dest 'vlan4_zone'

config forwarding
option src 'vlan4_zone'
option dest 'vlan3_zone'

config rule
option src 'vlan3_zone'
option dest 'vlan4_zone'
option target 'ACCEPT'
option name 'vlan3_to_vlan4'

config rule
option src 'vlan4_zone'
option dest 'vlan3_zone'
option name 'vlan4_to_vlan3'
option target 'ACCEPT'

config rule
option name 'Allow-ICMP'
option src '*'
option proto 'icmp'
option target 'ACCEPT'

网络布置如下:
https://imgur.com/a/mj5xD60

现在这个配置 vlan3 和 vlan4 还是 ping 不通 求高人指点

Excelize 开源基础库发布 2.9.1 版本更新

13 May 2025 at 22:40
luxurioust:

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376 ,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel 、WPS 、OpenOffice 等办公软件创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写支持,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。

开源代码

GitHub: github.com/xuri/excelize

中文文档: xuri.me/excelize/zh-hans

2025 年 5 月 13 日,社区正式发布了 2.9.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括:

版本说明

此版本中最显著的变化包括:

兼容性提示

  • 升级 Go 语言版本要求至 1.23 或更高版本,以升级依赖包 golang.org/x/crypto
  • DataValidationTypeDataValidationErrorStyleDataValidationOperatorPictureInsertType 的数据类型由 int 变更为 byte
  • 函数 SetCellInt 的形参类型改为 int64,解决 issue 2068
  • 添加图片、图表、形状和表单控件等绘图对象时,偏移设置将不再影响绘图对象的尺寸,解决 issue 2001

新增功能

  • Chart 数据类型中新增 GapWidthOverlap 字段
  • ChartPlotArea 数据类型中新增 ShowDataTableShowDataTableKeys 字段
  • ChartAxis 数据类型中新增 Alignment 字段
  • ChartSeries 数据类型中新增 DataLabel 字段
  • PageLayoutOptions 数据类型中新增 PageOrder 字段
  • 新增 2 项错误变量:ErrPageSetupAdjustToErrStreamSetColStyle
  • 新增 2 项枚举类型:HeaderFooterImagePositionTypeIgnoredErrorsType
  • 新增 2 项数据类型:CalcPropsOptionsHeaderFooterImageOptions
  • 新增 2 项函数 SetCalcPropsGetCalcProps 支持设置和获取工作簿计算属性
  • 新增 AddHeaderFooterImage 函数,支持在页眉和页脚中设置图片,相关 issue 1395
  • 新增 AddIgnoredErrors 函数,支持忽略特定单元格范围内的错误,相关 issue 2046
  • 新增 SetColStyle 函数,支持流式写入时设置列样式,相关 issue 2075
  • 函数 AddChartAddChartSheet 支持设置图表坐标轴文本方向和旋转角度,相关 issue 2025
  • 函数 AddChartAddChartSheet 支持设置柱状图和条形图的间隙宽度和重叠程度,相关 issue 2033
  • 函数 AddChartAddChartSheet 支持设置数据系列标签的格式,相关 issue 2052
  • 函数 AddChartAddChartSheet 支持设置位于图表绘图区域下方的数据表,相关 issue 2117
  • 函数 AddFormControl 函数支持为复选框类型的表单控件设置单元格超链接,相关 issue 2113
  • 函数 SetPageLayout 支持设置页面布局的页面顺序
  • 函数 DeletePicture 支持删除带有单一单元格锚定类型的图片,相关 issue 2059
  • 函数 SetPageLayout 增加了对选项参数的检查,如果给定的选项值无效,将返回错误提示信息
  • 支持跨多个工作表调整数据验证,相关 issue 2072
  • 支持应用带 # 号和零占位符的数字格式,相关 issue 2058
  • 支持应用带 ? 符号的数字格式
  • 支持通过指定 "oneCell" 定位类型添加带有单一单元格锚定类型的绘图对象,相关 issue 2002

问题修复

  • 修复 v2.9.0 中引入的问题,修改由流式写入生成的工作簿后,打开后提示文档损坏问题,解决 issue 2015
  • 修复部分情况下生成重复的“无填充”格式问题,解决 issue 2014
  • 修复部分情况下单元格垂直或水平边框样式丢失问题,解决 issue 2048
  • 修复部分情况下条件格式边框样式丢失的问题,解决 issue 2061
  • 修复部分情况下获取数据透视表时出现 panic 的问题,解决 issue 1954
  • 修复 GetStyle 函数无法获取 VertAlign 格式的问题
  • 修复 CalcCellValue 函数在部分情况下子表达式计算错误的问题,解决 issue 2083
  • 修复部分情况下因图片引用检查有误导致的错误删除图片问题
  • 修复流式写入时,非零行样式 ID 未覆盖默认单元格样式的问题
  • 修复流式写入时,部分情况下将在工作簿内部生成重复的 col XML 元素问题
  • 修复部分情况下设置图表标题字体时出现的 panic 问题,解决 issue 2102
  • 修复部分情况下删除公式计算链时出现的 panic 问题
  • 修复因共享公式解析错误导致的公式计算结果有误问题,解决 issue 2056
  • 修复当工作簿内部包含大于 4GB 的部件时,生成的 ZIP64 格式文档损坏问题
  • 修复当部分情况下重命名工作表时,自定义名称中的工作表名称更新有误的问题,解决 issue 2126

性能优化

  • 使用深拷贝库 github.com/tiendc/go-deepcopy 代替 github.com/mohae/deepcopy,深度拷贝速度提升 3 倍,相关 issue 2029
  • 修复 v2.9.0 中引入的问题,避免对空白单元格的值进行修剪以降低内存分配
  • 提高公式计算引擎对带有整行或整列单元格引用公式的计算速度
  • 行迭代器读取速度最高提升约 20%,内存分配降低约 10%

其他

  • Go Modules 依赖模块更新
  • 单元测试与文档更新
  • 包含阿拉伯语、德语、英语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、简体中文和繁体中文的多国语言文档网站更新
  • 支持 WebAssembly / JavaScript 的 excelize-wasm NPM 包发布版本更新
  • 支持 Python 的 excelize PyPI 包发布版本更新

致谢

感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:

  • wushiling50
  • imirkin (Ilia Mirkin)
  • Juneezee (Eng Zer Jun)
  • Arpelicy
  • zhuhaicity (ZhuHaiCheng)
  • xxf0512 (xxf)
  • gypsy1234
  • mengpromax (MengZhongYuan)
  • hly-717
  • kurtinge (Kurt Inge Smådal)
  • IvanHristov98 (Ivan Hristov)
  • artur-chopikian (Artur Chopikian)
  • romanshevelev (Roman Shevelev)
  • LZCZ
  • hm3248
  • moisespsena (Moises P. Sena)
  • paolobarbolini (Paolo Barbolini)
  • timesince
  • shcabin
  • tgulacsi (Tamás Gulácsi)
  • R3dByt3 (R3dByt3)
  • Now-Shimmer

Apple Intelligence 内存占用相关讨论

By: iovekkk
13 May 2025 at 22:18
iovekkk: 早在一年多以前,第一次听说苹果为了 Apple Intelligence ,Phone16 全系标配 8G 内存这个消息的时候,我就产生了这样一个疑问:Apple Intelligence 的进程是常驻的吗?

虽然全系标配了 8G 内存,但是如果常驻的 AI 进程始终占用了一部分内存,甚至当内存紧张的时候,这部分内存也不会被回收的话,那么内存升级的利好就没有那么大了。我甚至都在想,如果因为 AI 进程常驻导致内存依然不够用的话,我宁愿关闭 AI 功能,也要享受大内存带来的性能提升。

尤其是最近一段时间网络上又有了关于 iPhone17 全系标配 12GB 内存的传言,又让我产生了新的疑问:16 系才刚刚全系标配了更大的内存,为什么 17 系列又要升级内存?

对于这个问题,出于对 AI 模型的一点浅薄认知,我想可能是因为 17 系列会升级功能更强但更大的模型文件,因此需要更多的内存占用,不得已让苹果再次升级了内存。如果真是这样的话,iPhone16 系列作为刚发布一年的产品,没有理由不跟进升级,那么届时是否也会让 16 系的内存使用变得更加捉襟见肘呢?

求推荐 2000 元左右的安卓备用机

13 May 2025 at 22:12
rechardwong0522: 最近国补换了 16pro ,无奈存储只有 128G 。其他 App 我都不担心,主要担心微信,怕两三年后仅微信就占得差不多了。所以我打算将 iPhone 作为备用机,主要用来拍照和安装各种 App ,照片和视频都备份到网盘和家里的 NAS 上。而再买一部安卓手机来当工作机。

使用情况: 我不玩游戏,不在手机上刷短视频。

需求: 价格 2000 元左右;存储至少 512G ;能安装 Google player 等三件套;能 root 更好(讨厌众多不能卸载的自带 app )。

目前看了一加 Ace3v ( 16+512 ,1972 元),红米 Turbo 4 Pro ( 16+512 ,2294 元,16+1T ,2549 元,可能是做便宜的 1T 了)。后者不清楚是否支持安装 google 框架。

请大佬们推荐下,谢谢。

让任意国产 Android 的语音助手支持控制智能家居等自定义指令

By: w568w
13 May 2025 at 21:39
w568w:

如题,最近换了 iQOO ,发现 OriginOS 5 这个「蓝心小 V 」基本是半残废,只能控制自家的 VIVO 智慧生活的设备。而我的家居全在米家上,一个也添加不进来。

怎么才能通过语音控制米家的设备呢?

我想了一个奇巧淫技:Android 有无障碍服务,可以读取任意应用的内容,那监听语音助手界面上实时识别出来的文字,遇到关键词就打断后续识别,执行自定义的指令,不就可以了?

于是我就写了个简单的 App ,会在后台长时运行无障碍服务,识别到我说「开灯」或者「关灯」的时候,就会退出语音助手,然后调用我的 HomeAssistant (接入了米家)的 RESTful API ,从而实现开关灯。

我测试了一下,很稳定,可以无感识别。启用无障碍服务后,在锁屏界面也可以正常监听语音助手。

项目在这里: https://github.com/w568w/VoiceTrigger


目前还是个很简单的 demo ,安装完连界面都没有,默认是控制我家的灯(当然 secret 没传到仓库里,哈哈)。

需要定制或者了解原理的朋友可以直接看服务实现代码。自己简单修改一下请求的 API 。

理论上也可以适配到其他 ROM 的语音助手上。之前研究过 MIUI 的,应该可以用类似的方法实现。

有人想学弹吉他吗?杭州创景路地铁站附近有个我已经上了 17 节课的老师推荐

By: IUserName
13 May 2025 at 21:12
IUserName:

创景路地铁站附近有个培训机构只招成人,已经学到了第 17 节课了,但是感觉不够学,推荐成功的话,两个人都能免费多学一节。 现在基本能搞懂大三和弦和小三和弦的原理了,大多数民谣都是能弹的,只不过唱歌需要靠自己的天赋。 想学的滴滴

实在找不到工作,入职了以前特别不敢进的区块链行业,想问问诸位大佬我这个工作危险不

By: LinsAc
13 May 2025 at 20:43
LinsAc:

本人是专科学历,今年海投了三个月就四个个面试,就过了标题所说的区块链公司,甚至还降薪 3k 才找到的,感觉人生艰难。

面试的时候说的感觉还不错,结果进去发现是硬件加 NFT 的形式,用户使用多少个小时设备给用户发放多少代币,这个代币是公司自己搞的,购买这个设备是用其他代币来买(具体是什么币不清楚),以前也没搞过区块链,感觉这玩意有点危险,特别想跑,但是一想到自己找这个公司都费了这么大劲,就很痛苦。

因此我想问问各位大佬这份工作有没有我想象的那么危险,小弟这是第一次入行区块链,不太了解这里面的弯弯绕绕。

这两天我套话公司同事,当然他们肯定会回答没啥问题,听见几个有用的信息:

  • 首先就是运营团队在国外(好像大部分都是这样子),我属于技术团队,没办法和运营直接沟通,只能反馈给老板,老板再去找运营,如果老板没看见,这个事情就只能等着。
  • 发工资是通过招行来发的,并不是美元那些
  • 说是有资质什么的,当然这个我不了解只能说是存疑
  • 公司人数满打满算就十来人,都是开发和测试,感觉其他部门应该是属于海外公司
  • 应该是有实体产品的,我昨天看见有开发同事在鼓捣公司售卖的那个产品

由于才入职几天,目前就了解这么多信息,诸位大佬可以帮我分析一下这个工作危险不,或者说我一个后端开发仔,要是领导被抓会不会波及到我(毕竟要不是找不到工作我当天扭头就走了)。

如果还有什么重点没有问到,大佬们可以和我讲一下,我再去套一下话。

小弟在这里拜谢诸位大佬了,祝各位大佬们身体健康,offer 不断。

开发了一款视频播放器 Medianex,目前正式开启公测,通过插件化的设计可以支持接入任意云盘,支持自动生成海报墙,支持 Linux 、Windows、Macos,希望您可以喜欢

By: sardina
13 May 2025 at 20:07
sardina:

APP 截图

V2EX 的 markdown 怎么不支持折叠的语法...

下载地址

目前 macos 还没有进行签名,会提示恶意软件,需要多次确认才可以打开

Static Badge

Static Badge

Static Badge

Static Badge

Static Badge

目前支持的插件

目前支持阿里云盘、百度网盘、夸克、115 盘、Webdav 、Sftp 、Ftp 等
插件仓库Plugins
插件基于 Webassembly 开发,wazero_net提供了在 Wasm 里进行网络请求的功能

如何开发自已的插件

use plugin_api

如何你有什么建议或者想法可以在这里提交
Discussions

关于刚刚 git 的问题描述的不清楚,不能编辑主题了,重新发下问题: git 如何对比服务器上最新的代码和本地的区别? git diff 对比和我预想不一样

By: lyvv
13 May 2025 at 20:00
lyvv: 关于刚刚 git 的问题描述的不清楚,不能编辑主题了,重新发下问题:git 如何对比服务器上最新的代码和本地的区别? git diff 对比和我预想不一样

*提交的记录可以看这张大图,请大家看了这个大图再评论啊,感谢大家呀



*working 代码已提交如图,位于图片 2 位置 ,图片 1 位置是最新代码

点击 图片 1 位置 ,会对比 1 位置 和 5 位置 的差异
点击 图片 2 位置 ,会对比 2 位置 和 3 位置 的差异

*但是我想要对比 图片 1 位置 和 图片 2 位置 的差异,在 vscode 中无法直接查看对比。

*在前一个帖子里面,下面这个方式不行,提示无差异。不知道对比的是哪 2 个 commit...
git fetch origin
git diff origin/dev dev

*使用 Git Graph 插件也是一样的问题。


*只有下面这个办法可行,和我手动 git clone 一个新目录,结果一致。
git diff 图片 1 位置 commit1 图片 2 位置 commit2

*但是这个办法,操作太麻烦,需要手动复制 commit id ,而且只能在 cmd 里面查看
能否在可视化界面里面查看?

等 618 入手 AirPods Max 合适吗?

13 May 2025 at 19:31
Loratad1ne: OP 的情况是:
因为独自一个人工作的时间占大头,不用跟别人线下沟通,所以经常戴着 AirPods Pro
由于佩戴时间有点长,耳朵里面偶尔会有些痛,极少数情况会肿。看了医生之后,医生建议我少戴耳机

但工作时候不戴耳机真的有点无聊😂,所以想找一个头戴式耳机。

瞄准 AirPods Max (其实是不买竞品)有下面几个理由:
1. 线下试戴了 XM5 ,由于头太大,耳罩要很自然的罩住耳朵有点难受
2. BOSE 的那款也戴过,虽然很轻,但苹果全家桶切换起来还是有点恼火
3. 线下试戴了 Max 基本上很合适。拿不准的是长时间佩戴,眼镜腿会不会夹着我的头痛,重量无所谓

想问问大家,H1 芯片是个什么水平,后续会有大更新吗
❌
❌