首页 文章 精选 留言 我的

精选列表

搜索[列状态],共10000篇文章
优秀的个人博客,低调大师

K2 编译器将在 Kotlin 2.0 中进入稳定状态

我们一直在为 Kotlin 编译器(代号K2)开发新的前端。前端是编译器的一部分,负责解析代码和执行语义分析、数据流分析、调用解析和类型推断。这是开发者与编译器交互最多的部分。编译器也通过它在 IDE 中持续运行、报告所有错误和警告消息,帮助完成自动补全、语义感知检查、意图和重构等任务。新前端已经可供预览 – 我们将继续进行完善和稳定工作,计划在未来 Kotlin 版本中将其设为默认编译器前端。我们已经决定将这个未来版本命名为Kotlin 2.0。下文将详细描述 Kotlin 2.0 版本的路线图、我们的动力以及对它的期望。 Kotlin 2.0 发布路线图是什么? 我们计划再发布一个按照传统方式进行版本控制的版本,Kotlin 1.9,其中还将包括来自 K2 编译器前端的持续开发的更新,因为它已经接近稳定。未来不会有 Kotlin 1.10。 Kotlin 1.9 后的下一个主要版本将是 Kotlin 2.0。 为什么选择 Kotlin 2.0? 前端是编译器的主要部分。K2 编译器前端不仅仅是对旧编译器前端的重构,而是基于新架构从头开始的完全重写。我们一直在各种博客、视频和会议演讲中发布有关差异的技术细节。如需了解详情,可以从K2 编译器之路开始。简而言之,新架构在设计上更快、更可扩展,解决了旧编译器前端的技术债务,修正了各个位置的错误和极端情况,并为语言的未来扩展铺平了道路。 对于编程语言,主要版本通常在引入主要功能或破坏性更改时递增。不过,对于软件程序,即使功能集基本保持不变,只要有内容被大幅重写,表明大规模重做,就可以增大主要版本。虽然 Kotlin 是一种语言,但我们还是决定遵循这一软件做法。首先,Kotlin 编译器是一个大型软件。Kotlin 语言的版本由其编译器的版本定义。我们确实提供了Kotlin 规范作为语言的参考,但不是它的定义。 它会破坏我的代码吗? Kotlin 随着每个语言版本的更新而变化。有新的语言功能添加进来,旧的错误会得到修正。我们始终在尽量减少破坏性更改的数量和影响,并遵循Kotlin 语言的演变流程。Kotlin 2.0 在这方面不会有任何不同。 我们有意识地避免在 Kotlin 2.0 中引入任何新功能。 Kotlin 编译器前端的重写是一个相当大的变化,本身就引入了许多改进。其一,新的数据流分析算法比先前更精确并能带来更好的智能转换 – 查看这些问题以及具体示例。这会将无法在 Kotlin 1.9 旧前端编译的红色代码变成可在 Kotlin 2.0 中编译的绿色代码。从技术上讲,这是新 Kotlin 语言功能的特别之处。不过,它只是新编译器架构的副作用。 这些问题:KT-4113 | KT-1982 | KT-28806 | KT-7186 此外,大量长期存在的错误已得到修正,并且,其中一些修正可能难免会破坏意外依赖于错误编译器行为的代码。我们正在仔细研究新旧 K2 前端之间所有行为变化的影响,如果更改可能会影响相当数量的 Kotlin 用户,我们就算不喜欢,也仍然会尽可能复制旧行为。 我们会尽全力将代码从 Kotlin 1.9 迁移到 Kotlin 2.0 的影响降到最低。 我们将及时发布 Kotlin 2.0 稳定过程的最新信息,并让您有充足时间提前在项目中试用 Kotlin 2.0,以便您可以报告我们在测试中可能遗漏的任何回归。我们目前的工作重点是今年晚些时候 K2 编译器前端的测试版质量版本,您可以在这个路线图问题中查看进度。 IDE 对 Kotlin 2.0 的支持如何? Kotlin IDE 插件捆绑在 IntelliJ IDEA 和 Android Studio 更新中。它包括用于对代码进行语义分析的 Kotlin 编译器前端的副本,但这不是用于实际编译代码的 Kotlin 编译器版本 – 编译器的实际版本由构建文件中的设置决定。因此,通过 Kotlin 语言版本 2.0 编译代码时,您将使用新的编译器前端并获得新编译器架构的所有性能优势。但是,IDE 仍可能使用旧前端检查代码。 为了在 IDE 中为您提供新编译器前端的性能优势,我们正在编写一个全新版本的 Kotlin IDE 插件,它以 K2 编译器前端为基础构建。 我们目前正在推进这个新 IDE 插件的公开预览。您可以关注这个问题了解动态。 Kotlin 2.0 之后有什么计划? Kotlin 2.0 编译器前端的新架构可以干净地实现许多精彩的新功能。其中一些功能,例如KT-10468上下文接收器,已经可以在旧编译器前端中供用户预览,但默认不会在 Kotlin 2.0 中启用。它们将停留在预览阶段。新功能将在未来的 Kotlin 2.x 版本中稳定,我们管道中的其他新功能也将同时实现。一如既往,我们将通过Kotlin 路线图分享计划的定期动态。 Kotlin 3.0 什么时候推出?我们还不知道。我们正在试探性地讨论未来语言的重大变化,特别是我们上一次Kotlin功能调查中最受欢迎的请求。部分变化可能意义相当重大,足以带来新的主要 Kotlin 版本。 您可以如何提供帮助? 试用新的编译器前端,把您的想法告诉我们!从 Kotlin 1.8.20 开始,您可以通过常规 Kotlin 语言版本标志启用 Kotlin 2.0 语言版本的预览。 启用 Kotlin K2 编译器 了解详情 Kotlin 路线图 K2 编译器之路 Kotlin 1.8.20-Beta 最新变化 本博文英文原作者:Roman Elizarov 推荐观看 直播回放:2022 Kotlin 中文开发者大会 2022 年底,我们举办了 2022 Kotlin 中文开发者大会。为期两天的线上直播中,来自社区的10 多名技术专家和活跃开发者围绕 Coroutine、Compose Multiplatform、Kotlin Multiplatform Mobile、Kotlin Symbol Processor、Ktor 等热门话题带来了精彩纷呈的分享。如果你错过了现场直播,也欢迎至「JetBrains中国」B 站官方频道收看大会回放,重温活动的精华。 向上滑动阅览 2022 Kotlin 中文开发者大会演讲主题 《十分钟带您了解 Kotlin 的 2022》 《从 Jetpack Compose 到 Compose Multiplatform》 《使用 DSL + KSP 打造跨平台的 Kotlin SQLite 框架》 《Kotlin Symbol Processor 应用与技巧》 《通过 Ktor 框架同步完成 Server 及 Client Side 开发》 《享受用 Kotlin 刷 LeetCode 的乐趣》 《Kotlin 很简单,一起来学习吧!》 《在你的城市寻找 Kotlin 伙伴》 《与时俱进:使用 Kotlin 尝鲜 Spring 6》 《从零开始欣赏 Coroutine 的精湛设计》 《使用 Vaadin 搭配 Kotlin 快速开发 Web 应用》 《使用 Kotlin 编写 IntelliJ Plugin》 《那些运营 Kotlin 社区的大小事》 进入播放列表 ⏬ 戳「阅读原文」了解更多 本文分享自微信公众号 - JetBrains(JetBrainsChina)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

2020DevOps状态报告——平台模型:扩展DevOps的新方法

平台模型是我们在这个领域看到越来越多的方法,它源于负责产品或服务的端到端交付的产品团队的理念。 如果只应用于单一的产品,或者几个产品,它的效果很好。 但如果有数百种产品或服务,把一个产品团队用于这些产品,对每一个来说都是低效和昂贵的。 想象10个团队,每个团队都有自己的技术栈、工具链和流程。 会一直重复解决类似的问题、花太多的时间来评估技术、集成、维护基础设施等等。 这些时间可以更好地花在建立和改进产品团队负责的实际产品上。 缺乏标准化的技术和流程也造成其他问题: ●管理变得昂贵,几乎不存在管理 ●独立的堆栈减少了整个组织的知识共享 ●许多产品团队实际上没有能力来运行完整的基础设施和应用程序。许多开发人员将基础设施操作视为分散他们实际工作的注意力,因此他们从不真正关注它。 虽然拥有多个端到端产品团队并不能很好地跨越大型复杂环境,但由清晰目标、边界和责任定义的平台模型却能做到 一个由用户建立在心中的平台,可以大大减少单个产品团队的辛苦和开销。 广义地说,平台团队提供基础设施、环境、部署管道和其他内部服务,使内部客户(通常是应用程序开发团队)能够构建、部署和运行其应用程序。 Evan Bottcher定义的数字平台在这时可以起作用:“作为一种令人信服的内部产品的自助服务API、工具、服务、知识和支持的基础。自主交付团队可以利用该平台以更快的速度交付产品功能,同时减少协作。” 自助服务是“一个好平台的一个关键特征。具体来说,它应该允许自助服务供应、自助服务配置、自助服务管理和平台功能和资产的运营。” 平台模型通常与本地云环境相关联,也适用于从古到今的许多其他类型的体系结构。主要优势有: ●应用团队可有更具效率。他们不必是基础设施运维方面的专家,也不必对工具链中的每种工具都有深入的了解,因而他们能够专注于产品。应用程序开发人员不再需要等待集中化的团队来为他们提供测试环境或云资源,而由此产生的自治性使他们能够更快地工作。 ●改善管理。如果您的所有应用程序都运行在完全不同的基础架构堆栈上,使用不同的流程,那么您就无法有效地管理成本、遵从性和审计。一个有效的平台能带来高效的IT治理,同时授权应用程序团队快速交付。 ●结束环境切换。不断地在应用程序和基础设施操作之间切换注意力是对生产力和创造力的巨大消耗。当个体工人和团队能够专注于自己特定的环境时,他们的境况会更好。 ●持续改善基础设施。一个提供面向客户解决方案的公共平台,而不仅仅是对基础设施的原始访问,使组织具有更大的灵活性。平台的消费者不与基础设施堆栈的具体实现挂钩,因此平台团队可以迭代地替换和升级组件,并且只需要与应用程序团队进行最小程度的交互。 内部平台的使用 在对平台的讨论中,我们使用“内部平台”一词来表示由组织和为组织构建的平台。我们将这些平台与外部供应商提供的平台区分开来——例如,许多人认为AWS或其他IaaS产品是 “平台”。在调查中,我们将平台团队定义为那些负责维护其他团队用于构建和交付应用程序或服务的自助服务平台的团队。 我们提出了两个问题来衡量一个组织对内部平台的使用: • 您的开发人员使用自助服务平台的百分比是多少? • 哪些服务可供自助服务? 我们发现平台的使用在调查受访者中非常广泛。百分之六十三的人说他们至少有一个自助内部平台。 在拥有内部平台的人中,60%的人在拥有二到四个平台之间。在拥有内部平台的公司中,几乎有三分之一的公司有26%至50%的开发者使用该平台。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册