2022-12-03

16 篇热帖

1. 为什么大家这么讨厌 Electron?

小弟最近搞了个新项目:https://he3.app

然后来 V2 发了一个贴: https://www.v2ex.com/t/899531#reply79

然后发现下面好多人非常讨厌 Electron ,说要换 Tauri 。

我在开发前也是了解 Tauri 的,而且自己也用 Tauri 写过项目。觉得 Tauri 挺好的,对 Tauri 也没有特别爱。觉得 Electron 也挺好的,技术成熟,跨平台兼容性好。但是发现好多人特别反感 Electron 。

这是为什么呀?想听听大家的意见,弥补下自己认知的缺陷。

2. API 不管操作成功还是失败都返回 200 状态码,自己在返回结果里又定义一个表示是否成功的属性是从哪里传开的坏习惯?
一直以为是从阿里开始传到整个中国互联网企业的坏习惯,最近发现一些日本网站也都这样做。但欧美网站大部分不这样做,例如 stripe ( https://stripe.com/docs/api/errors) twitter 等,都是规范的使用 http 状态码表示操作成功或失败,但 google 一些没有公开文档的私有 api 返回状态也非常混乱
3. 南方朋友开地暖了么?

江浙沪的南方朋友家里有地暖的话什么时候开啊?感觉今年还不是很冷。

4. 中文输入法用的全键盘还是 9 宫格?

中文输入法用的全键盘还是 9 宫格?

发现单手模式用滑动输入还是挺好的,双手还是 9 宫格快

5. v 友们,头发偏软,有方法使得头发变硬吗?
几乎每天都要洗一下头,然后喷一点啫喱水,这样感觉比较麻烦,睡觉起来还是容易乱,有使得头发变硬的方法或者经验吗?希望分享下。
6. golang 咋这么恶心,解压 zip 文件居然要一大串代码,这不应该是语言内置一行搞定的吗?

这简直不能忍啊

C#版

ZipFile.ExtractToDirectory("source", "target");

Golang 版

func Unzip(src, dest string) error {
    r, err := zip.OpenReader(src)
    if err != nil {
        return err
    }
    defer func() {
        if err := r.Close(); err != nil {
            panic(err)
        }
    }()

    os.MkdirAll(dest, 0755)

    // Closure to address file descriptors issue with all the deferred .Close() methods
    extractAndWriteFile := func(f *zip.File) error {
        rc, err := f.Open()
        if err != nil {
            return err
        }
        defer func() {
            if err := rc.Close(); err != nil {
                panic(err)
            }
        }()

        path := filepath.Join(dest, f.Name)

        // Check for ZipSlip (Directory traversal)
        if !strings.HasPrefix(path, filepath.Clean(dest) + string(os.PathSeparator)) {
            return fmt.Errorf("illegal file path: %s", path)
        }

        if f.FileInfo().IsDir() {
            os.MkdirAll(path, f.Mode())
        } else {
            os.MkdirAll(filepath.Dir(path), f.Mode())
            f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())
            if err != nil {
                return err
            }
            defer func() {
                if err := f.Close(); err != nil {
                    panic(err)
                }
            }()

            _, err = io.Copy(f, rc)
            if err != nil {
                return err
            }
        }
        return nil
    }

    for _, f := range r.File {
        err := extractAndWriteFile(f)
        if err != nil {
            return err
        }
    }

    return nil
}
7. 写作是最小单位的自由,内容创作者的去中心平台 Matters

Hi V2EXer 大家好,Matters.News 是由 Matters Lab 开发,链接 web3 创作者的去中心化写作平台,创立于 2018 年,服务超过 10 万名内容创作者。Matters 的使命是为内容创作者建立真正去中心化的 web3 生态系统,包含使用去中心技术、确认数位权利、设计治理制度及搭建创作者经济模型。

为了实现这个目标,我们在不同阶段实现了以下功能:

Matters 从 2018 年起将内容存储于 IPFS ,用户可以透过 IPFS 公共网关或者本地节点读取内容,避开防火墙等干扰机制。也因为这样的技术性质,每当出现舆论高度关注的话题时,就会有作者将珍贵内容发布到 Matters 备份,再用 IPFS 节点进行二次传播

为了探索创作者经济,Matters 在 2018 年与 LikeCoin 合作,Matters 的用户不需要额外安装插件,每篇文章即自动嵌入 Like Button ,作者可以从读者的拍手中获得 LikeCoin ,实现创作有价。

Matters 站上有许多关注 web3 技术的专业作者,也有不少独立记者、素人写作者,他们在 Matters 首次接触到 web3 的概念,在站方引导及社区互助下,尝试开设钱包、用虚拟货币打赏及提现,形成一个热闹、互相鼓励、乐意支持优质文章的正向循环。

以这样的氛围为基础,2019 年开始,Matters 逐渐形成一个非常活跃的创作社区。来自两岸三地及新加坡、马来西亚、北美、欧洲的华语使用者,共同在站上交流,并自主发起将近两百场征文活动,催生出上万篇创作。这些征文主题相当多元,关于公共议题、或是 web3 趋势议题、小说、故事接龙、生活及图像绘画都激发社区的高度参与,发出的创作者基金也超过十万美金。

在社区成形的过程中,我们发现“马特市市民”(用户对 Matters 的昵称)相当乐于使用打赏功能来支持优质作品。为了提供市民更多元的支持模式,我们在 2020 年开通了港币的打赏功能、2022 年初支援以太坊钱包登入、近期更上线了 USDT(Polygon) 支付功能。2023 年,Matters.News 的目标是以支持功能为核心,建造 auther-curator-reader 的创作者经济圈。

今年我们另外一个重要的技术里程碑,是 “内容订阅”( content feed )功能。这是一项基于 IPNS 搭建的去中心化订阅服务,习惯阅读器的读者,可以通过 Feedly 、Inoreader 、NetNewsWire 等热门阅读器来订阅你喜欢的作者;也支援更兼容 IPFS 的阅读器 Planet 订阅,对于喜欢使用 RSS 阅读功能的读者来说,是一项相当便利的工具。

这项功能打开了一扇去中心化订阅的大门。当用户使用原生支援 IPFS 的桌面应用 Planet 来订阅时,不仅直接点对点地获取内容、更少受到网络状况限制,同时也为喜爱的作品进行了备份。内容订阅的入口中还藏著一个存在于 IPFS 中的个人主页,如果你是一个拥有 ENS 域名的创作者,你还可以将它直接配置为自己的 ENS 个人主页,在所有支持 ENS 的地方(比如 eth.limo 、eth.link 、Brave 浏览器)直接展示自己的作品(更详细的介绍可以看这篇文章)

Matters 相信“写作是最小单位的自由”,透过去中心化技术,与创作者一起实践自由创作、自由分享的生态圈。如果你对马特市感兴趣,欢迎点以下链接了解更多:

请追踪我们的 Twitter 官方帐号 @MattersLab 了解关于去中心网络的最新动态,或开始在 web3 最大的去中心化出版平台 www.Matters.News 创作,成为马特市的一份子。

@Matty | Matters 社区官方帐号.
@Matters Lab | Matters Lab 英文官方帐号
@Matty@Web3 | Matters Web3 相关消息

8. 为啥不见女生晒桌面
youtube,b 站上各种 up 在教大家( show) 如何打造一个工作区,娱乐区,影音区。但审美基本以男性为主。
为啥很少有女生(女 up 主)?难道是她们不 care 么?
9. pixel 手机闲鱼出手不了了

有一个闲置的 pixel xl ,用不到,昨天挂在闲鱼上,今天早上提示出售违规商品,闲鱼上搜索 pixel ,没有任何结果了,这个也太。。。

10. 寻一位 macOS 开发大拿,一起做一款翻译软件。
本人某厂设计师,最近在恶补英语。但是发现没有一款 [好用] [实惠] [美观] 的 Menubar 翻译软件。

好用的 TinyTranslate
https://apps.apple.com/us/app/tinytranslate/id1616724873?mt=12
[好用] ✅
[美观] ✅
[实惠] ❌ 太贵了。。。

还有一款国产的 Bob
https://apps.apple.com/us/app/bob-%E7%BF%BB%E8%AF%91%E5%92%8C-ocr-%E5%B7%A5%E5%85%B7/id1630034110?mt=12
[好用] ✅
[美观] ❌
[实惠] ✅

-- 功能设想 --
所以想找一位懂 macOS 软件开发的朋友,一起做一款 [好用] [实惠] [美观] 的 Menubar 翻译软件,希望有这几个功能:
· 快捷键展开 Menubar 翻译
· 显示英文音标
· 显示语音朗读
· 保存历史记录
· iCloud 同步单词表

-- 分工 --
· 我负责软件本体的功能交互、视觉设计,官网的交互、视觉设计,前端开发、网站维护。
· 你负责软件本体的功能开发,MacAppStore 上架、更新、维护。

-- 利益分配 --
网站域名( Godaddy ) 服务器( Vultr 或 Bandwagon )费用我们五五开
MAS 上架更新维护费用五五开。
产生的利润五五开。
域名注册、服务器注册、MAS 开发者 ID 等通用我们的 admin@域名邮箱注册,两人共同承担可能产生的损失和利润。

不知道这种分配方式是否合理,如果不合理请 V2 的专业开发者们多批评指正,第一次找人合作。有不足之处随便喷,我心理承受能力很好。😂

我的 Dribbble: https://dribbble.com/mraaaape
很久没更新了,如果感兴趣,也希望你能带着以往的作品联系我。

** 如果你在深圳更好,我们可以定期当面同步。TG:MRAAAAPE
11. 有没有部署自己的 homelab,都跑了什么服务,硬件配置是什么

突然想折腾台机器专门跑 Linux ,把公司的工作环境在家也复制一份,我的工作环境比较简单,想着装个 gitlib 管理代码,开发环境通过虚拟机或者 docker 部署。

都专门搞个机器了,只跑这点东西有点太浪费了,想着问问我拿这台机器还能做出什么有意思或者有用的东西,各位大佬有没有成熟的方案给我抄一下作业。

同时也给推荐下硬件配置吧,现在对电脑硬件也不了解,想通过虚拟机搭开发环境,内存尽量大点,32G 吧,价格 1000--5000 ,能满足需求尽量便宜。

主要考虑的还是静音、功耗和稳定性。体积也尽量小一点

12. 大家有推荐的安卓手机么?需要支持原生的 google 服务
1 、支持原生的 google 服务
2 、手机属于大众类型的
3 、微信双开流畅(小米 k50 总是杀后台,双开的另一个微信,总是杀掉)
4 、我目前在国内科学上网后,好像还是不能使用 google 的 push 服务,你们能使用么?

目前手上试用的是华为 p40pro,google 服务基本败笔
13. 13 寸 MacBook Pro M2 还是 14 寸 MacBook Pro M1?

手头的 2016 款 13 寸 MacBook Pro 已经不太行了,电池不行,屏幕也挂了,键盘时好时坏。。现在外接个 iPad 当屏幕苟延残喘着,所以想着换台电脑。

看了一下现在两个选择,13 寸的 MacBook Pro M2 芯片款,以及 14 寸 MacBook Pro M1 Pro 芯片款,自己的倾向是 13 寸的,原因是使用的是旧模具,比较轻薄好看,14 寸的太重太丑了。。 性能上的话,两者都能满足我的需求,因为公司的电脑是 M1 芯片的 13 寸 MacBook Pro ,对这个机器非常满意,M2 的芯片应该更加不在话下。

现在纠结的点在于,14 寸的机器多出来的那些新特性,实不实用?反正现在用的公司的 M1 MacBook Pro 是没发现有啥问题,所以一直不太清楚如果奔着新模具去的话,能给我带来什么好处?

希望有使用过这两款电脑的朋友一起讨论一下。

这里也贴一下我选择的两款具体型号配置: 13 寸 MacBook Pro ,M2 芯片,8 核 CPU 10 核 GPU ,512G 硬盘,24G 内存 14 寸 MacBook Pro ,M1 Pro 芯片,8 核 CPU ,14 核 GPU ,512G 硬盘,32G 内存

14. 关于 mac 上的播放器

之前一直看别人推荐 IINA,用了很久一段时间,除了快进会卡顿,其他没啥毛病,今天偶然间用了下迅雷影音,发现可以丝滑地进行快进操作,瞬间想弃用 IINA 了。

15. volatile 有个疑惑

看网上都说,线程里面保存着变量的副本,无法感知其他线程对共享变量的修改。 由于 p 没有用 volatile 修饰,while 会一直执行,但实际运行显示,即使没有 volatile 线程也会立即感知到变量的修改,是什么原因呀。 var p = false Thread({ while (!p) { println(1) } })

p = true;
Thread.sleep(1000)
16. 天冷就是老款 MBP 的福音,再也不担心发热导致降频了