Thoughtworks 技术雷达 2024 年 10 月:从编码辅助到 AI 进化

2024-11-16

Thoughtworks 发布了第 31 期技术雷达,重点关注生成式 AI 和大型语言模型 (LLM) 在软件开发中的负责任使用。雷达强调 AI 辅助编码工具的兴起,以及平衡 AI 辅助和人类专业知识的必要性。Rust 语言在系统编程中日益重要,WebAssembly 1.0 的发布也为跨平台开发提供了新的可能。报告还提到了支持语言模型的工具生态系统的快速增长,包括护栏、评估框架和向量数据库。此外,雷达还关注小型语言模型 (SLM) 的兴起,强调其在特定应用场景下的潜力以及在边缘设备上的运行能力。

阅读更多
未分类

基于 Java 的无代码和低代码应用引导工具综述

2024-11-11

本文综述了几个流行的基于 Java 的无代码/低代码应用开发平台:JHipster 适用于搭建复杂的 Spring 项目和微服务应用;Openkoda 适用于快速开发多租户应用,支持 Java 和 JavaScript;Appsmith 擅长构建连接各种数据源的低代码 UI CRUD 和工作流应用;Wavemaker 适用于可视化应用开发,但没有免费方案。文章对比了这些平台的特点、优缺点及适用场景,并鼓励开发者亲身实践。

阅读更多
未分类

1BRC:挑战Java社区极限

2024-10-30

Gunnar Morling讨论了在一项名为“十亿行挑战赛”的编码挑战中,如何利用并行化和高效内存访问等技巧,在不到两秒的时间内处理13GB的输入文件。挑战的目标是学习Java新特性,为社区提供学习机会,并打破Java速度慢的误解。参赛者采用多种优化策略,包括并行I/O、SIMD和SWAR指令、自定义哈希映射、Epsilon垃圾收集器以及GraalVM的JIT和AOT编译器等,最终将处理时间缩短至300毫秒。

阅读更多

基于单元的架构如何增强现代分布式系统

2024-10-17

本文探讨了基于单元的架构如何增强现代分布式系统的弹性和可扩展性。单元架构通过将系统划分为独立的单元,限制故障的影响范围,提高系统的容错能力。文章详细介绍了单元架构的组成部分,包括单元、控制平面和数据平面,并讨论了单元划分、单元放置和数据迁移等关键概念。此外,文章还分析了采用单元架构的优势和挑战,以及在哪些情况下应该考虑使用这种架构。

阅读更多
未分类 弹性

对冲基金为何要自建数据库?

2024-08-25

James Munro,Man Group 的 ArcticDB 负责人,分享了他们为何要自建数据库 ArcticDB。Man Group 是一家大型另类资产管理公司,管理着超过 1600 亿美元的资产,每年交易额高达 6 万亿美元。他们面临着数据量大、数据类型多样化、研究效率等挑战。传统的数据库解决方案无法满足他们在性能、可扩展性和数据科学工作流程方面的需求,尤其是在处理高频时间序列数据和非结构化数据时。ArcticDB 采用无服务器架构,将数据存储在 AWS S3 等云存储服务上,并提供类似 Pandas 的 Python API,方便数据科学家进行分析和建模。

阅读更多
未分类

架构回顾:提升架构能力的关键

2024-08-13

本文介绍了架构回顾的价值和实践方法。架构回顾不同于架构评审,它侧重于反思团队如何制定架构决策,并从中汲取经验教训,以改进未来的工作方式。文章还提供了一系列问题,供团队在回顾过程中进行思考和讨论,例如如何制定和验证质量属性需求、如何使用反馈、如何识别和解决技术债务等。

阅读更多
未分类 回顾

Java虚拟线程案例研究

2024-07-17

文章探讨了Java 21中引入的虚拟线程技术,并将其与Open Liberty应用运行时的线程池技术进行了比较。研究发现,对于典型的云原生Java工作负载,虚拟线程在CPU密集型任务中表现不如Open Liberty线程池,但在处理突发大量短时任务时启动速度更快。内存占用方面,虚拟线程的优势不明显,甚至可能因为其他因素导致内存占用更高。文章最后指出了一些虚拟线程存在的性能问题,建议开发者谨慎使用。

阅读更多
未分类 Open Liberty

超过10万个网站遭受Polyfill.io供应链攻击

2024-07-01

电商安全公司Sansec披露了一起新的供应链攻击,攻击目标是通过多个托管Polyfill JS服务的CDN访问该服务的用户。Sansec表示,超过10万个网站受到攻击。该服务最初的作者Andrew Betts建议从任何使用Polyfill的网站上移除它。攻击者自2023年6月以来一直控制着多个域名来传播恶意软件。

阅读更多
未分类

你不需要 CSS 框架

2024-06-21

文章批判了在Web开发中过度依赖CSS框架的现象。作者认为,虽然框架初期能提升开发速度和代码一致性,但随着项目规模扩大,其弊端会逐渐显现:开发者需要花费大量时间精力去覆盖框架样式,且难以保证团队成员使用框架的一致性。作者建议开发者使用原生CSS,并提供了编写易维护CSS代码的技巧,例如使用语义化类名、CSS变量、作用域、嵌套语法和辅助函数等。

阅读更多
未分类

Meta开源高效长序列建模大语言模型MEGALODON

2024-06-11

Meta联合南加州大学、卡内基梅隆大学和加州大学圣地亚哥分校的研究人员开源了MEGALODON,这是一个具有无限上下文长度的大语言模型。MEGALODON采用分块注意力机制替代标准的多头注意力机制,并在训练中引入了基于序列的并行化,提高了长上下文训练的可扩展性。在WinoGrande和MMLU等标准LLM基准测试中,MEGALODON的性能优于参数量、训练数据和训练计算预算相同的Llama 2模型。

阅读更多
未分类

C# 13 新特性:增强的参数处理、性能提升和新的扩展类型

2024-06-03

微软在 Build 2024 大会上发布了 C# 13 预览版,其中包括对 params 参数、新的扩展类型以及性能和内存增强方面的改进。C# 13 允许 params 关键字用于任何与集合表达式兼容的集合类型,并优化了 System.Span 和 System.ReadOnlySpan 的使用,以减少内存分配。新的扩展类型功能允许开发人员向现有类型添加方法、属性和成员。

阅读更多
未分类

Uber将1万亿条记录从DynamoDB迁移到LedgerStore,每年节省600万美元

2024-05-20

为了节省成本,Uber将其所有支付交易数据从DynamoDB和blob存储迁移到名为LedgerStore的新型专用数据存储中。该公司之前已经减少了使用DynamoDB存储热数据(12周前的数据)。此举带来了显著的成本节省,并简化了存储架构。LedgerStore是一个不可变的存储解决方案,通过提供可验证的数据完整性和正确性保证,确保交易数据的完整性。

阅读更多
未分类 数据迁移