[240816] 【超级大牛】kovidgoyal:calibre 和 kitty 的作者 | Go 发布 1.23.0 版本

news2024/9/21 0:30:11

目录

    • 【超级大牛】kovidgoyal:calibre 和 kitty 的作者
      • calibre
      • kitty
    • Go 发布 1.23.0 版本
      • Go 1.23 版本更新说明

【超级大牛】kovidgoyal:calibre 和 kitty 的作者

在这里插入图片描述

calibre

calibre 是由 github.com/kovidgoyal 使用 C 和 Python 开发的跨平台电子书管理器,能够查看、转换、分类主流的电子书格式,支持连接多种电子书阅读器。
它的功能丰富且强大,如能从网上获取书籍的元数据、支持将电子书从一种格式转换为另一种格式、内置电子书阅读器并支持多种格式的阅读等。

  • calibre 源代码 - calibre 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 calibre 和参与社区贡献。
  • calibre 用户手册 - calibre 官方提供的用户手册,支持多国语言。

kitty

kitty 是由 github.com/kovidgoyal 使用 C、Python 和 Go 混合编写的终端模拟器,能提供各种现代化功能和高级特性,比如 OpenGL 渲染、Unicode 支持、True Color、标签页等。该项目分为 kittykitten 两个部分,其中 kitty 是终端模拟器应用程序(项目的核心),kitten 是用于扩展 kitty 功能的脚本和工具集。

kitty 的设计理念是为用户提供高性能、用户友好、易于扩展的终端模拟器。在实现方面,它采用 C 处理性能敏感部分,使用 Python 实现 UI 的扩展性和灵活性,利用 Go 开发适用命令行的 kittens。它不依赖于任何大型且复杂的 UI 工具包,仅使用 OpenGL 来渲染所有内容。

  • kitty 源代码 - kitty 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 kitty 和参与社区贡献。

来源:

https://kovidgoyal.net/

Go 发布 1.23.0 版本

Go 1.23 版本更新说明

主要变化:

  • 语言特性:
    • “range-over-func” 实验正式成为语言特性,for-range 循环支持迭代器函数。
    • 预览支持泛型类型别名,需要设置 GOEXPERIMENT=aliastypeparams 才能使用。
  • 工具链:
    • 引入 Go telemetry 系统,默认收集本地统计数据,用户可以选择上传匿名数据帮助改进 Go 工具链。
    • go 命令更新:
      • GOROOT_FINAL 环境变量失效。
      • go env 命令新增 -changed 参数,仅显示与默认值不同的设置。
      • go mod tidy 命令新增 -diff 参数,以 diff 格式显示更新内容。
      • go list -m -json 命令新增 Sum 和 GoModSum 字段。
      • go.mod 和 go.work 文件支持 godebug 指令,用于设置 GODEBUG。
    • go vet 子命令新增 stdversion 分析器,用于标记不兼容 Go 版本的符号引用。
    • cmd/cgo 支持 -ldflags 参数,用于传递参数给 C 链接器。
    • trace 工具增强对错误 trace 文件的处理能力。
  • 运行时:
    • 优化 panic 和错误信息的输出格式,方便区分错误信息和堆栈跟踪。
  • 编译器:
    • 显著降低使用 Profile Guided Optimization (PGO) 时的编译时间开销。
    • 编译器优化局部变量的堆栈分配,减少 Go 应用的堆栈使用。
    • 386 和 amd64 平台上,编译器利用 PGO 信息优化循环中热块的对齐,提升性能。
  • 链接器:
    • 禁止使用 //go:linkname 指令引用标准库中未标记 //go:linkname 的内部符号。
    • 新增 -checklinkname=0 参数,用于调试和实验目的,禁用上述检查。
    • 新增 -bindnow 参数,用于在构建动态链接 ELF 文件时启用立即函数绑定。

标准库:

  • 重要更新:
    • time.Timer 和 time.Ticker 的实现发生两项重要变化:
      • 未被程序引用的 Timer 和 Ticker 立即被垃圾回收,即使 Stop 方法未被调用。
      • Timer 和 Ticker 关联的计时器通道现在为无缓冲,容量为 0,保证 Reset 或 Stop 方法调用后的行为一致性。
  • 新增包:
    • unique 包提供值规范化功能(类似于“字符串驻留”或“哈希一致性”)。
    • iter 包提供处理用户定义迭代器的基本定义。
    • structs 包提供用于修改结构体类型属性的结构体字段类型,例如内存布局。
  • 其他更新:
    • archive/tar、crypto/tls、crypto/x509、database/sql、debug/elf、encoding/binary、go/ast、go/types、math/rand/v2、net、net/http、net/http/httptest、net/netip、os、path/filepath、reflect、runtime/debug、runtime/pprof、runtime/trace、slices、sync、sync/atomic、syscall、testing/fstest、text/template、time、unicode/utf16 等包都有更新和改进。

平台支持:

  • Darwin: 要求 macOS 11 Big Sur 或更高版本。
  • Linux: Go 1.23 是最后一个支持 Linux 内核 2.6.32 或更高版本的发行版。
  • OpenBSD: 新增对 64 位 RISC-V 的实验性支持。
  • ARM64: 引入 GOARM64 环境变量,用于指定编译时的最低目标 ARM64 架构版本。
  • RISC-V: 引入 GORISCV64 环境变量,用于选择 RISC-V 用户模式应用程序配置文件。
  • Wasm: go_wasip1_wasm_exec 脚本不再支持 wasmtime 14.0.0 之前的版本。

来源:

https://go.dev/doc/go1.23

更多内容请查阅 : blog-240816


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2044460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源AI智能名片系统与高级机器学习技术的融合应用:重塑商务交流的未来

摘要:在数字化浪潮的推动下,人工智能(AI)技术,尤其是机器学习领域的快速发展,正深刻改变着各行各业的面貌。开源AI智能名片系统作为这一变革的先锋,通过集成并优化多种高级机器学习技术&#xf…

Word文档怎么批量加密保存

Word的文件批量设置密码是工作中比较常用的功能,它可以对文档进行保护,平时我们都是单个对文件进行加密,那么多个文件如何一键批量设置,下面通过一些方法,我们可以进行批量设置密码保存起来。 一、使用Word软件内置功能…

郑州市政协副主席翟政莅临中创算力开展重点企业实地调研

2024年8月13日,围绕“落实中央和省委、市委政协工作会议精神情况”郑州市政协副主席翟政一行莅临河南中创算力信息科技有限公司进行实地调研。中创算力董事长许伟威全程陪同。此次调研不仅是对中创算力在数字经济领域发展成就的肯定,更是对中创如何积极响…

《机器学习by周志华》学习笔记-决策树-03连续值与缺失值

1、连续值处理 到目前为止,我们在决策树01、02中仅讨论了基于离散属性来生成决策树,而现实任务中常会遇到连续属性,所以在本章的学习中,我们将会讨论如何在决策树学习中使用连续属性。 1.1、概念 取值范围是连续的实数值或者整数值的属性就是「连续属性」,与离散属性相对…

VSCode自动保存文件

off:关闭自动保存,这是默认选项afterDelay:会每隔若干秒保存一次OnFocusChange: 编辑器是去焦点时自动保存文件,比如说你打开了多个文件,你编辑好了A,然后切换到B文件,那么此时A文件…

信息流广告预估技术在美团外卖的实践

本文整理自美团技术沙龙第81期《美团在广告算法领域的探索及实践》(B站视频)。文章首先介绍了美团信息流广告业务以及预估技术的现状,然后重点分享了信息流广告预估在美团的具体实践,围绕决策路径、超长超宽建模和全还原建模等多个维度进行了分享&#x…

Taos 常用命令工作笔记(二)

最近测试创建一个涛思的数据库和一堆表进行测试,通过json配置文件配置字段的类型、名称等,程序通过解析json文件的配置,动态创建数据库的表。 其中表字段为驼峰结构的规则命名,创建表也是成功的,插入的测试数据也是成功…

实用性强的高安全涉密内网文件传输工具

在数字化浪潮中,数据安全和合规性成为企业和组织极为关注的焦点,特别是在处理敏感和机密信息时。高安全级别的内网文件传输工具因此变得至关重要,它们是保护数据不被未授权访问或泄露的关键技术之一。这类工具不仅需要满足严格的安全标准&…

zdpgo_gin_jwt 专为zdpgo_gin打造的JWT权限校验中间件,当需要实现基于JWT Token的权限校验的时候可以考虑使用此框架

zdpgo_gin_jwt 专为zdpgo_gin打造的JWT权限校验中间件,当需要实现基于JWT Token的权限校验的时候可以考虑使用此框架 使用教程 快速入门 package mainimport ("log""net/http""os""time"gin "github.com/zhangdap…

服务器数据恢复—IBM服务器raid5阵列硬盘出现坏道的数据恢复案例

服务器数据恢复环境&故障: 一台ibm x3850服务器,有一组由5块硬盘组建的raid5磁盘阵列,上层是Redhat Linux操作系统,部署了一个oracle数据库。 raid5阵列中2块硬盘离线,阵列崩溃。经过检测发现该raid中的热备盘未激…

html5眼镜商城模板源码

文章目录 1.设计来源1.1 主界面1.2 主界面弹框1.3 眼镜列表1.4 商品列表1.5 商品列表1.6 商城推广1.7 页面底部 2.效果和源码2.1 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 【博主推荐】:前些天发现了一个巨牛的人工智…

Python数据挖掘和机器学习工具库之orange3使用详解

概要 Orange3 是一个基于组件的 Python 数据挖掘和机器学习工具箱,适用于初学者和专家。它提供了直观的用户界面,使用户可以通过拖放的方式构建数据分析工作流。同时,Orange3 还支持脚本编写,允许用户在 Python 环境中进行更复杂的分析和建模。本文将详细介绍 Orange3 库,…

长期使用入耳式耳机有什么危害吗?开放式耳机选购入门指南

长期戴入耳式耳机听歌可能会带来以下危害: 损伤听力:长时间高分贝的声音刺激耳部,容易导致听力下降,尤其是在音量较大的情况下。 引发耳部炎症:入耳式耳机直接接触耳道,可能会阻塞耳道,导致分…

dev c++中,在C++11模式下编译带M_PI宏的文件报错的解决办法

一、问题描述 当使用C11的模式,编译引用了math库中的M_PI的源文件时,报M_PI未声明的错误。 二、问题原因 因为M_PI是GNU扩展的宏,它不属于C11的标准,而-stdc11,表示以C11的标准进行编译,因此会产生以上问…

私域运营干货:5 大高转化营销文案撰写攻略

各位私域运营的小伙伴们,在社群与朋友圈发布产品、品牌、活动等相关信息,这可是咱们的日常操作。但您有没有想过,为啥有的内容能带来超高转化率和复购率,而有的却石沉大海? 关键就在于内容!那高转化的私域…

CVPR2024 | PromptAD: 仅使用正常样本进行小样本异常检测的学习提示

PromptAD: 仅使用正常样本进行小样本异常检测的学习提示 论文名称:PromptAD: Learning Prompts with only Normal Samples for Few-Shot Anomaly Detection 论文地址:https://arxiv.org/pdf/2404.05231 研究背景 异常检测(Anomaly Detecti…

CNN代码实战

CNN的原理 从 DNN 到 CNN (1)卷积层与汇聚 ⚫ 深度神经网络 DNN 中,相邻层的所有神经元之间都有连接,这叫全连接;卷积神经网络 CNN 中,新增了卷积层(Convolution)与汇聚&#xff08…

Java 操作 Redis和redis持久化

一、Jedis 我们要使用 Java 来操作 Redis&#xff0c;Jedis 是 Redis 官方推荐的 java连接开发工具&#xff01; 使用Java 操作 Redis 中间件&#xff01; 1.导入对应的依赖 https://mvnrepository.com/artifact/redis.clients/jedis <dependency><groupId>redi…

【学习笔记】Matlab和python双语言的学习(最小生成树——Kruskal算法、Prim算法)

文章目录 前言一、最小生成树树的一些概念关键特性最小生成树和最短路径的主要区别常用算法1. Kruskal算法(适合点多边少的图)2. Prim算法(适合边多点少的图) 二、示例三、代码实现----Matlab四、代码实现----python1. Kruskal算法2. Prim算法 总结 前言 通过模型算法&#xf…

硬件模拟的基本原理是什么?

具体来说&#xff0c;这种设计方法减少了集成电路 (IC) 设计和开发的设计迭代次数&#xff0c;并且广泛适用于所有电力电子设计。我详细介绍了我在快速上市 IC 开发方面的经验&#xff0c;并将该方法与其他旨在缩短产品开发时间的技术进行了对比。 产品开发流程 图 1&#xff…