今天这篇文章中和大家聊一聊号称世界上第一个 O(1) 的 JavaScript SSR 框架:qwik。 别担心,如果你不是特别了解 SSR 也没关系,文章大概会从以下几个方面作为切入点: 首先会围绕对比 SSR 与 SPA 各自的优劣势,从而展开 SSR 的运行机制以及 SSR 相较于 SPA 究竟为了解决什么问题。 之后,会根据 NextJs 的运行机制思考针对目前主流 SSR 框架设计思路上存在的不足从而引出 qwik 为何会在众多成熟框架中脱颖而出。 最后,会针对于 qwik 提出自己的看法以及聊聊目前 qwik 存在的“问题”。 诸如社区内部 SSR 框架其实已经产生了非常优秀的作品,比如大名鼎鼎的 NextJS 以及新兴势力代表的 Remix 和 isLands 架构的 Astro、Fresh 等等优秀框架。 为何 qwik 可以在众多老牌优秀框架中脱颖而出。接下来,让我们一起来一探究竟吧。
ChatGPT是由OpenAI开发的大型语言模型,可以帮助我们解决很多日常生活中的事情,如更改错误、写小说、回答问题、翻译、写文案等。 Image Image GPT 的演进 GPT一共有三代,即GPT-1,GPT-2,GPT-3,目前非常火的ChatGPT是GPT-3.5。GPT-1诞生于2018年6月,比BERT略早几个月,层数为12层,词向量长度为768,训练参数量为1.17亿个,数据量为5GB;时隔半年之后,GPT-2诞生于2019年2月,训练参数量为15亿个,数据量为40GB;GPT-3诞生于2020年5月,训练参数量增长超过100倍至1750亿个,数据量达到45TB。
Apache Kafka是一个分布式流平台,作为互联网领域不可或缺的消息组件,在全球获得了广泛的应用。在使用过程中,Kafka一般被作为消息流转的核心枢纽,上下游系统通过Kafka实现异步,削峰填谷。在大数据处理和实时数据处理领域Kafka也是不可替代的组件。 Kafka使用非常广泛,在有些领域使用已经非常成熟,如日志收集,大数据处理,数据库等领域。Kafka跟上下游也有标准化的对接模块,如日志收集有Flume,Filebeat,Logstash,大数据处理有spark,flink等组件。同时在一些小众的领域则没有现成的工具可以直接对接,如对接某个小众的数据库,或者用户自己定制化的系统。这时一般的对接方法是自行开发Kafka生产消费程序对接。
开源大数据平台E-MapReduce(简称“EMR”)是云原生开源大数据平台,向客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、ClickHouse、StarRocks、Delta、Hudi等开源大数据计算和存储引擎。本文旨在分享阿里云Prometheus对EMR平台大数据服务的监控实践。
2023 年春节,经历了三年的疫情后,我们终于在春天迎来了曙光。国人的出行热情空前高涨:回家看看父母亲;心心念念的旅行终于可以成行了。按照高德的估计,2023 年春节出行的峰值流量将比 2022 年同期和 2022 年十一都有相当大比例的增长。然而,就在不久前,受疫情的影响,系统的流量还在相对低位运行。 如何在短时间内快速完成春节出行的备战准备工作,保障系统在春节流量高峰下平稳运行,让民众出行所必需的导航等信息服务访问可以丝般顺滑,成为了摆在技术人员眼前的迫切事情。要在流量变化很大的情况下保障系统平稳运行,同时做到降本增效,怎么做到呢? 过去几年,高德一直在坚定、持续地推进应用的 Serverless 化。经过深入的研究和选型,最终选择阿里云函数计算 FC 作为其应用的 Serverless 计算平台。过去的一年,更是取得了长足的进展。 高德在 Serverless 上的远见帮助他们以更加敏捷、经济的方式应对不确定性以及强劲复苏的春节出行:不用费心考虑流量变化带来的资源变化,无需提前按照峰值流量准备大量的计算资源,不用担心资源是否足够,经济成本大幅下降、研发和运维效率明显提升。
很久之前团队师兄向我推荐了《重构:改善既有代码的设计》这本书,粗略翻阅看到很多重构的细节技巧,但当时还处于未接触过工程代码,只关注代码功能,不太考虑后期维护的阶段,读起来觉得枯燥无味,几乎没有共鸣,一直没有细细阅读。在工作一年后,终于在师兄的督促下,利用一个月左右的早起时光读完了这本书,收获很多,感谢师兄的督促,感谢这本书陪伴我找回了阅读习惯。把这本书推荐给已经接触了工程代码、工作一年左右的新同学,相信有了一定的经验积累,再结合日常项目实践中遇到的问题,对这本书的内容会有很多自己的思考感悟。
在钉钉 Flutter 桌面端落地过程中,我们遇到了很多仅仅依赖 Flutter 官方文档无法解决的问题,例如:桌面端集成模式问题、内存泄露问题、卡顿问题、光标焦点异常问题等。由于无法直接通过官方文档得到答案,我们便尝试通过分析源码实现和设计文档来寻找解决办法。虽然最终大部分问题得以解决,但是在这过程中有两点一直困扰我们: Flutter 生态中桌面端相关资料极少。少部分官方公开资料也仅有比较宽泛的介绍,缺少详细方案设计信息;业界对 FlutterEngine 架构分析和讨论,大多也仅仅设计移动端,桌面端相关内容很少涉及; FlutterEngine 在移动端和桌面端 Embedder 层设计有较大差异,移动端相关资料/方案无法直接应用到桌面端。 因此我们便萌生了整理一份 Flutter 桌面端资料集的想法。一方面来作为 Flutter 桌面端设计的入门资料,降低大家上手学习桌面端引擎设计的门槛、提升效率;另外一方面也可作为工具手册,为后续我们可能逐步落地的桌面端引擎改造提供技术储备。 本文主要从宏观角度来介绍一下 FlutterEngine 桌面端设计,从发展历史、架构概述、与移