SF
网易云音乐技术团队
网易云音乐技术团队
注册登录
关注博客
注册登录
主页
关于
RSS
云音乐 GitOps 最佳实践
云音乐技术团队
2023-07-03
阅读 9 分钟
1.1k
近些年随着微服务、kubernetes 等技术的发展,越来越多的厂商将单体架构的项目进行微服务化。但是随着原有项目的不断拆分,微服务的数量越来越多,部署的频率也越来越高,传统手工运维的劣势越发明显,效率低、部署质量没有保证。在云原生时代,是否有一种更加高效、稳定的部署方式,可以帮助我们改进部署和管理流程呢?
云音乐 KubeCost 助力 FinOps 降本增效
云音乐技术团队
2023-06-29
阅读 5 分钟
1.1k
在典型的互联网公司的成本组成中,IT 成本占比并不低,技术成本与人力成本的比例差不多在 1:2 ~ 1:2.5 左右, 降低 IT 成本显然能带来立竿见影的效果。
Swift 的可选值优化
云音乐技术团队
2023-06-16
阅读 3 分钟
3.6k
在 Objective-C 中,nil 表示空对象,它本质是一个指向 0x00000000 的指针。但对于非指针的值类型,OC 中是无法表示_没有值_这个概念的,比如 NSInteger,它可以是 0,也可以是其他任何值,但就是不存在_没有值_。
网易云音乐大前端监控体系(Corona)建设实践-开篇
云音乐技术团队
2023-06-12
阅读 6 分钟
1.3k
网易云音乐大前端监控产品(代号:Corona)支持 Web、React Native、Node.js、Flutter、Android、iOS、Windows CEF 多种应用类型。当前已接入了网易集团包括云音乐在内数十个事业部的大前端应用,为业务提供异常、性能监控、问题排查、实时告警等能力。
云音乐 CMS UI 框架建设思考与实践
云音乐技术团队
2023-06-08
阅读 5 分钟
1.5k
随着互联网人口红利的逐步消失,国内一二线互联网公司业务增长放缓,包括云音乐在内也都开始提倡降本增效。为了使得业务持续增长,需要技术层面可以提供更多的保障和支持。由于市面上合适的技术人员相对较少,团队人员增加相对缓慢,这就导致了业务增长要求和技术资源紧缺的矛盾。
通过 SIL 看 Swift 的方法派发
云音乐技术团队
2023-06-05
阅读 13 分钟
3.1k
根据文档的描述,SIL (Swift Intermediate Language) 基于 SSA 形式,它针对 Swift 语言设计,是一门具备高级语义信息的中间语言。
云音乐低代码 + ChatGPT 实践方案与思考
云音乐技术团队
2023-06-02
阅读 4 分钟
2.1k
随着大语言模型(LLM)不断涌现的各种能力,生成式 AI 的应用场景变得越来越广阔。诸如 ChatGPT 这类大语言模型在生成代码方面非常的高效,因此对于如何将 LLM 的能力与低代码产品进行结合,业界已经有了很多的讨论和实践,但都距离实际的生产场景有一定的距离。本文将会介绍的是,网易云音乐大前端团队是如何借助 LLM ...
社交直播游戏场景前端解决方案专栏(一):关于Alice.js的起点
云音乐技术团队
2023-05-29
阅读 10 分钟
1.4k
长久以来,传统前端的工作大多时候在与DOM打交道,近年来,浏览器厂商也在不断努力提高DOM渲染性能,以提高用户体验。但是更多复杂场景的出现,例如近几年随着在线直播、社交娱乐、各种小游戏的火爆,前端性能的关注度持续提高。特别是游戏场景,而我们团队也面临着一大波h5游戏化场景,那么这个系列文章,将带读者朋友...
浅尝IM方案在H5活动场景中的应用
云音乐技术团队
2023-05-25
阅读 14 分钟
1.2k
说起 IM,大家应该都或多或少了解过一些,一般被熟知是在一些聊天场景里应用的比较多;而一般情况下我们常接触的业务中大多是做一些接口的查询提交之类的操作,用正常的 Ajax 请求就足以满足需求,比较难接触到 IM 这种方案。
云音乐 Android so 体积治理实践
云音乐技术团队
2023-05-22
阅读 6 分钟
1.1k
软件应用除了功能外,还有许多非功能质量属性需要我们关注,常见有性能、安全性、可用性、可扩展性等。除此之外,软件的体积也是我们应该关注的重要质量属性。体积对启动速度、下载安装时长、安装成功率、磁盘空间占用、OOM 异常等都有深刻影响。
云音乐中 In-App Purchase 实践总结篇
云音乐技术团队
2023-05-17
阅读 12 分钟
3.2k
开发者接入 IAP 时,需要按照苹果提供的规范,根据 App 提供商品的功能和类型来选择不同的内购项目类型,进行创建商品。相当于在我们业务服务端有一份商品列表,苹果 AppStoreConnect 也有一份商品列表与之对应。目前 IAP 中内购项目分为四类:
Android本地搜索优化
云音乐技术团队
2023-05-11
阅读 8 分钟
1.3k
在本文中,我们将通过 Android 本地搜索业务介绍如何使用 JavaScriptCore(以下简称 JSC)和Java Native Interface(以下简称 JNI)相关技术来实现搜索效率提升。
心遇iOS端会话页性能优化 — ReactiveObjC实践篇
云音乐技术团队
2023-05-04
阅读 7 分钟
2.5k
心遇作为一款社交产品,消息会话页必定是用户使用量最大的页面之一,因而会话页的用户体验将尤为重要。同时,心遇有着陌生人社交属性,用户的会话量动辄上万,会话页也面临着较大的性能挑战。因此,会话页的性能优化既是重点,也是难点。
Chrome插件:切图压缩工具
云音乐技术团队
2023-04-18
阅读 7 分钟
1.6k
在前端项目开发中,尤其是活动项目,大量使用未压缩的图片必将会影响页面打开速度,降低用户体验。因此,我们需要对下载的切图进行压缩处理。常见的图片压缩工具有 TinyPNG 和 PP鸭,但这两款软件是收费的,并且不支持定制化。使用这些软件压缩图片的过程更是复杂繁琐,如果有一款工具可以在下载切图时就帮助我们压缩图...
iOS ReplayKit 与 屏幕录制
云音乐技术团队
2023-04-03
阅读 8 分钟
3.8k
在客户端开发的生涯里,有时会遇到这样一些场景,需要对用户在应用内的操作做进行屏幕录制,甚至是系统层级的跨应用屏幕录制来实现某种特殊需求,例如在线监考、应用问题反馈、游戏直播等。 苹果提供了 ReplayKit Framework 来满足这些需求,目前云音乐 LOOK 直播客户端内就是采用这个系统框架来实现跨应用录屏直播的。
从公有云方案转向谷歌开源Knative,网易云音乐的Severless演进实践
云音乐技术团队
2023-03-24
阅读 6 分钟
957
云主机时代,资源焦虑几乎普遍存在。突增的巨大任务量、短时间突然调集使用大量的计算资源等类型的业务需求越来越多,企业不愿为了应对短暂的流量高峰买本地资源,对服务和扩缩容进行解耦,并接管过自动扩缩容任务的 Serverless 进入大众视野。
不一样的 Android 堆栈抓取方案
云音乐技术团队
2023-03-21
阅读 12 分钟
1.8k
曾几何时,我们只需要简简单单的一行 Thread.currentThread().getStackTrace() 代码就可以轻轻松松的获取到当前线程的堆栈信息,从而分析各种问题。随着需求的不断迭代,APP 遇到的问题越来越多,卡顿,ANR,异常等等问题接踵而来,那么简简单单某个时刻的堆栈信息已经不能满足我们的需求了,我们的目光逐渐转移到了每个...
iOS云音乐APM性能监控实践
云音乐技术团队
2023-03-15
阅读 8 分钟
3k
客户端 APM 监控是发现和解决产品质量问题的重要手段,通常用于排查线上崩溃等问题,随着业务迭代,单纯的崩溃监控不能满足要求,特别是对于云音乐这样业务场景很复杂的产品,滑动不流畅、设备发热、UI 卡死、无故闪退等异常问题对用户体验伤害都很大,因此我们自研了一套能力更完善的 APM 监控系统并在云音乐上取得了不...
网易云音乐开源全链路埋点方案-曙光埋点(dawn)
云音乐技术团队
2023-03-14
阅读 3 分钟
4.3k
网易云音乐开源了曙光埋点 dawn,一个跨多端的全链路埋点解决方案,旨在构造一个完美的数据理想国。曙光埋点创造性的提出了埋点虚拟树(VTree),并在此基础上实现了诸多能力,解决大前端侧埋点困难、精度差、不稳定、质量不高的问题,并且设计一套完整的端侧全链路追踪能力,完美助力大数据用户画像、实时归因/离线归因...
当我们说插件系统的时候,我们在说什么
云音乐技术团队
2023-03-13
阅读 10 分钟
846
说起插件系统,大家或许会对这个概念感到陌生,但其实不然,这个看似很抽象的概念其实在我们日常生活中有着很多很直观体现。最近我准备购置一台吸尘器,我发现现在的吸尘器已经越来越高端了,一个吸尘器能实现拖地,除螨等众多功能,而这一切,都只需要你通过更换不同的吸头,就能实现。从计算机的视角来看,这个吸尘器...
云音乐服务端应用启动时间下降40%实践分享
云音乐技术团队
2023-03-08
阅读 9 分钟
1k
SpringBoot应用已经作为Java开发中的首选方式,在云音乐中有着广泛的应用。在云音乐的实践中,为了简化拉取新工程的成本,有一个脚手架作为工程的初始化模版。而随着业务的不断迭代,有一些脚手架的工程启动变地非常慢,严重影响研发效能,并当在需要重启线上集群来进行止血线上问题时,启动的耗时越长,可能造成的资损...
云音乐 Swift 混编 Module 化实践
云音乐技术团队
2023-03-06
阅读 7 分钟
3.1k
云音乐 iOS App 经历多年的迭代,积累了大量的 Objective-C(以下简称 OC) 代码,目前已经完成主工程壳化,各层组件关系如下:
网易云音乐基于 C2D2C 的「无损」设计协同
云音乐技术团队
2023-02-28
阅读 12 分钟
1.4k
作者:彧瑾以下全文是笔者根据在 GMTC 大会 上的演讲稿整理而来,特为没能去现场的朋友们献上~大家下午好,今天我要和大家分享的主题是《网易云音乐基于 C2D2C 的「无损」设计协同》。按照惯例,在开始之前,我先作一个简单的自我介绍:我今天分享的大纲分为 4 个部分,分别是:背景和问题基于 C2D2C 无损设计协同的介...
网易云音乐全面开源一款云原生应用部署平台:Horizon
云音乐技术团队
2023-02-24
阅读 4 分钟
1.5k
网易云音乐最近开源了 Horizon 应用部署平台,旨在为基于 Kubernetes 的云原生应用部署提供可靠、安全、高效的标准化方案。Horizon是一个基于 Kubernetes 的云原生持续部署平台,并且全面践行 GitOps。PlatForm Team可以自定义创建版本化的服务模板,为业务应用程序和中间件定义符合统一标准的部署和运维。Developer可以...
正则表达式是如何运作的?
云音乐技术团队
2023-02-23
阅读 10 分钟
1.4k
正则在很多时候通过不同的组合方式最后都可以达到既定的目标结果。比如我们有一个需要匹配的字符串:<p>hello</p>,我们可以通过 /<p>.*<\/p>/ 以及 /<p>.*?<\/p>/ 来匹配,两种方式就像就像中文语法中的陈述句以及倒装句,不同的语序往往不影响我们的理解,但是他们的运作方式却完...
dex 优化编年史
云音乐技术团队
2023-02-17
阅读 16 分钟
2k
在热修复和插件化场景中会涉及动态加载 dex,要使它们中代码的执行速度与安装的 APK 相当,需要对它们进行正确的优化。根据以往的经验,在热修复场景中,错误的方式导致 dex 没有得到优化时,修复后 App 的启动速度比修复前慢 50%。本文将在下面的部分介绍在 Android 5.0 以来的各系统版本中对动态加载的 dex 进行优化的...
网络安全 DNSSEC & HTTPDNS
云音乐技术团队
2023-02-15
阅读 6 分钟
2.5k
随着技术的发展,网络环境也变得越来越复杂,而对于一个以网络数据传输提供服务的 App 来讲,在复杂多变的网络环境下安全稳定有效的提供好服务显得尤为重要。而为了提供安全稳定有效的 HTTP 网络服务,我们从网络请求的初始阶段 DNS 解析上保证 DNS 安全性的技术:去分析下苹果2022年 WWDC 讲到的 DNSSEC 技术和我们云音...
Electron 的 GUI 和 Ruby 的 CLI 的一种交互实践
云音乐技术团队
2023-02-14
阅读 11 分钟
1.2k
在一个中大型的客户端研发团队中,会使用诸如 Ruby、Shell、Python 等脚本语言编写的脚本、命令行和 GUI 工具来完成各项任务。比如 iOS、Android 开发人员想在一台新电脑上开发一个新 App ,那么需要先在本地配置好开发环境,之后才能通过 Xcode 或 Android Studio 进入开发。
云音乐 iOS 跨端缓存库 - NEMichelinCache
云音乐技术团队
2023-02-10
阅读 5 分钟
1.4k
在云音乐全面转跨端的时代,H5 / RN 缓存模块是非常重要的组成部分,对页面的稳定性,页面性能等都有非常大影响,目前云音乐使用的缓存库已经“历史悠久”,没法在现有的基础上来支撑日益庞大的跨端需求,面临着当前架构没法修复的问题:
如何实现 iOS 16 带来的 Depth Effect 图片效果
云音乐技术团队
2023-02-08
阅读 4 分钟
1.4k
iOS 16 系统为我们带来了比较惊艳的桌面锁屏效果:Depth Effect。它可以使用一张普通图片当背景,同时可以在适当的地方遮拦住部分桌面组件,形成一种景深的效果(如下图)。
上一页
1
2
3
(current)
4
5
…
More
下一页
上一页
3
(current)
下一页