前言
本期是编辑团队独立编写的周报第52期,各模块已初步形成。 如果读者有什么好的建议,请在文末留言。
周报是开源的[1],欢迎提交、贡献或推荐内容。 目前计划每两周在周一发布一次。 欢迎志同道合的朋友参与每周报告的编写。
努力很难,但如果不努力,就永远很难。 如果你想得到这个世界上最好的东西,那就来社区,让世界先看到最好的你!
每周精选
新闻与社区:中国销量暴跌19%:苹果在美遭遇困境,激活量跌至六年新低
提案:提案恢复审查
论坛:针对成员导入可见性的拟议修复
推荐博客文章:内容边距
话题讨论:
五一休息一天不休息其他日子可以接受吗?
上一主题结果
从投票结果可以看出,大家对于AI计算机还是抱有很大的期待。 我们期待新产品为我们的生活和工作带来更大的帮助。
新闻与社区 中国销量暴跌19%:苹果在美遭遇困境,激活量跌至六年新低
2024 年 4 月 25 日
4月25日消息,根据市场研究机构最新数据,一季度中国市场销量下滑19%,从而在激烈的中国市场中跌至第三位。
这一跌幅被认为是2020年新冠疫情爆发以来中国市场最差的季度表现。
有业内人士指出,销量下降的部分原因是苹果在2023年初出货量异常增长,但也由于华为等本土品牌的竞争加剧。
不仅如此,在美国市场,苹果的表现也不尽如人意,激活率跌至近年来新低。
最新数据显示,目前它仅占美国所有新激活智能手机的三分之一,低于去年的 40%。
苹果曾经在智能手机市场占据主导地位,但现在面临着来自设备的激烈竞争,这些设备目前占据了新激活市场的三分之二。
市场格局的转变与六年前的情况如出一辙,当时 iOS 和苹果挤掉了黑莓和苹果等竞争对手。
销量下降有多种原因。 随着智能手机价格持续攀升,其耐用性也随之下降,导致用户使用旧设备的时间更长。
智能手机生命周期的延长主要影响了苹果公司,因为该公司依靠频繁的升级来推动销售增长。 目前,激活率下降是智能手机市场消费者行为变化的重要指标。
人们越来越不愿意像以前那样快速升级设备,而宁愿等待更实质性的更新或技术转变。 (来源:快科技)
当苹果开始争夺成本效益时
2024 年 4 月 24 日
4月24日,16个相关话题登上热搜。 粉丝数量上的价格维持7999元不变。
当内存涨价已成定局时,苹果的“增量不涨价”似乎违背了行业规则。 不过,从行业角度来看,这只是苹果回归市场现实的一种体现。 随着1TB手机的普及,如果继续加大内存,做文章,保持高溢价,势必会进一步降低性价比,造成潜在用户的流失。 现在苹果的出货量不断下滑,它必须做出理性的选择。
据市场报道,2024年的iPad有新的趋势。 与 16 不同的是,新 iPad 可能在性能有所提升的同时价格也有所上涨。 据悉,新款iPad Air将拥有12.9英寸版本,这是该系列历史上尺寸最大的。 价格方面,12.9英寸iPad Air将贵200美元,起售价为799美元,约合人民币5750元,这也是Air系列历史上最高的价格。
对于16来说,如果消息属实,那么苹果可以说是逆势而上,因为内存芯片的价格从去年下半年开始就慢慢回升,并且还在攀升。 16 如果增加存储量而不提高价格,公司将不可避免地增加成本压力。
纵观近几年的市场行情,存储芯片在2022年已经触底,包括三星在内的各大厂商损失惨重。 为此,存储厂商纷纷削减产能,联手提高产品价格。 三星计划在今年第二季度提高产品价格。 企业级固态存储价格将在上季度基础上上涨20%至25%。 此外,发布报告称,预计第二季度NADA合约价格将上涨13%至18%。
不过,在专家看来,市场并不需要担心苹果,因为苹果长期以来在内存容量上获取了超额利润。 从定价策略来看,也就是说每增加容量就会增加100美元,远远超过存储芯片的成本价。
资深产业经济观察家梁振鹏向北京商报记者分析,超额价格是苹果高利润的重要来源,也是其品牌溢价的体现。 然而,随着内存市场价格变得透明,手机公司在内存上正在亏损。 网络上做文章的空间越来越小。 此外,对于苹果来说,销量不佳也促使其放弃了部分品牌溢价。
日益激烈的竞争也使得存储定价与同行保持一致。 观察国内手机市场,不难看出1TB手机越来越受欢迎。 如果苹果不做出改变,消费者可能很难支付。
比如,早在2023年初,以一加Ace Pro为首的中端手机就率先带来了24GB+1TB超大存储版本。 随后,、OPPO、iQOO等厂商也推出了极具性价比的超大存储版本。 存放手机。 例如,将于2023年下半年发布的Note 12 16G+1TB版本,降价后价格已达到1999元。 算是目前最便宜的1TB手机之一,只比12G+512G版本差了200元。
另一方面,相比起售价,用户还需加价5000元购买1T版本。 这种定价策略可能不太符合国内市场的基调。
或许正是因为超高的溢价,苹果手机在中国的处境越来越艰难。 第一季度就被同行超越。 数据显示,2024年第一季度,苹果在中国的销量下降了19%,使得这款设备成为2020年自2018年以来在中国最差的表现。苹果在中国智能手机市场的市场份额从去年同期的第一名跌至第三名。 相反,vivo以17.4%的市场份额排名第一; 荣耀以16.1%的市场份额排名第二; 华为以17.4%的市场份额排名第一。 以15.5%的份额排名第四。
专家表示,如果市场消息属实,尽管16放弃了内存的高溢价,但能拯救多少消费者仍不得而知。 毕竟,16面临的问题是,它已经处于AI浪潮之下。 落后了,即将推出的iOS 18可能是苹果的关键之战。 (来源:北京商报)
苹果公布最新供应链名单:新增8家中国大陆企业,剔除4家
2024 年 4 月 24 日
近日,苹果发布了2023财年的供应链清单(List)。 苹果表示,其供应商名单占其 2023 财年全球产品材料、制造和组装直接支出的 98%。
值得注意的是,今年榜单新增8家中国大陆企业(包括宝钛股份、三安光电、博硕科技、东尼电子等),另有4家企业被淘汰(江苏晶研科技、美影科技)技术等)森集团、深圳德润电子和盈时); 同时,新增2家台资企业,淘汰4家台资企业。
其中,宝钛股份有限公司是中国最大的钛及钛合金生产企业; 三安光电是LED芯片龙头; 博硕科技是电子产品功能器件领域的领先企业; 托尼电子致力于碳化硅衬底的国产化。 替代品都是各个领域的领先公司。
从上榜工厂分布来看,中国大陆以155家工厂位居第一; 第二名是中国台湾,有 49 家工厂;第三名是日本,有 41 家工厂; 东南亚国家中,越南有32个工厂,泰国、新加坡各有23个席位,马来西亚有18个席位,菲律宾有16个席位; 此外,美国和印度分别拥有25个席位和13个席位。
可以看出,苹果目前的供应链仍然主要位于东亚、东南亚、印度和美国。 东亚仍占据绝对优势,其次是东南亚国家。
近年来,苹果供应链迁移一直是热门话题。 据悉,从中国转移到东南亚和印度,甚至返回美国,是苹果供应链搬迁的主要方向。 目前,苹果在东南亚拥有 32 家工厂,尤其是越南,而美国有 25 家,印度有 13 家。
值得注意的是,榜单显示,比亚迪、立讯精密、蓝思科技、菱意智造等国内领先的消费电子OEM及零部件企业纷纷在东南亚建厂,以应对苹果供应链的变化。
今年3月底,蒂姆·库克现身上海,为静安寺苹果店揭幕。 4月中旬,他访问了越南、印度尼西亚、新加坡三个东南亚国家。 随后,一系列投资计划和潜在意向被曝光。
比如,当库克抵达河内时,苹果公司在越南官网发布声明,宣布将加大对越南供应链的投资。 根据公告提供的数据,苹果自2019年以来通过供应链合作伙伴在越南的累计投资已超过400万亿越南盾。 (相当于超过1120亿元)
近日,市场研究机构IDC发布了第一季度全球智能手机销量预测。 苹果今年第一季度出货量下降9.6%,市场份额为17.3%,被三星超越,排名第二。
事实上,市场普遍认为,苹果全球销量下滑的原因之一是中国市场销售疲软。 3月初发布的一份报告估计,今年前六周中国销量下降了24%。
一方面是对中国销售的担忧,另一方面是大力推动供应链向东南亚转移。 从这份清单来看,中国的供应链不可能轻易被替代。 苹果的供应链依然呈现多元化、全球化的特点。 对于上榜企业来说,仍需紧跟苹果的战略方向和市场脉搏,不能掉以轻心。 (来源:福布斯中国)
提案通过
SE-0433[2] 同步互斥提案通过审查。 该提案已在第51期周报审核提案模块中详细介绍。
正在审查的提案
SE-0426[3]该提案已在第四十九期周报审核提案模块中详细介绍。 周报第五十期被驳回,本期恢复审稿。
被拒绝的提案
SE-0430[4] 参数和结果值的隔离区域提案被拒绝。 该提案已在第50期周报正在审核的提案模块中详细介绍。
论坛
针对成员导入可见性的拟议修复[5]
内容概要

在 中,当前成员导入可见性存在不一致。 即使导入模块而没有导入模块,也可以找到成员声明。 这种不一致可能被解释为一个微妙的错误,而不是有意的设计决策。
该提案旨在通过统一名称查找规则来更改行为来纠正此错误,以便顶级声明和成员都必须直接导入到模块中才能被引用。 这样做可以避免前面提到的令人惊讶的歧义,即开发人员对顶级声明和成员可见性的期望与现实相冲突。
编译器会抱怨,因为成员引用先前成功解析为在传递导入模块中声明的声明,但它也会识别您可能想要使用的声明,并建议定义它的导入模块。 IDE 还可能提供修复此缺失模块导入的功能。
这种更改的行为将破坏源代码兼容性,因为它增加了更严格的命名查找要求。 有许多现有代码需要更新以符合这些新规则,可以通过在某些源文件中添加额外的导入语句或将代码组织到不同的文件中。 因此,此更改应该是可选的,这就是为什么在未来语言模型中即将推出的功能标志下应该允许它的原因。
此更改不会影响 ABI 兼容性。 采用此功能应该很容易,因为编译器可以识别缺少的模块导入并指导开发人员添加显式导入来解决错误。
开发人员可以选择管理此文件中的导入来解决歧义,但在某些情况下可能需要重构代码以避免导入引入冲突模块的模块,这可能会很尴尬。 因此,有一个清晰标识扩展成员的语法将很有用。
讨论快速矩阵的速比[6]
内容概要
加速比 慢,作者写的,这引发了关于框架与包的性能比较的讨论。 / 结果与使用该包进行比较,发现是相同的,但是 / 代码在乘以 8000 x 8000 矩阵时比 / 代码慢约一秒。
即使排除生成随机矩阵的时间,/代码仍然比/代码慢大约一秒。 很惊讶,因为他预计它会针对苹果硬件进行优化,因此他预计它会比这更好。 他还建议为正确的矩阵添加前缀以获得更好的缓存局部性,并禁用多线程的使用。
Jeff 运行了相同的基准测试,发现代码使用的资源比代码更少。 在查看了跟踪记录并发现所有时间都花在 上之后,他认为讨论没有必要。 还建议预先映射正确的矩阵以获得更好的缓存局部性,并使用 GPU 而不是 CPU 以获得更快的速度。 还建议使用它来调试任何内容,无论是否源自其他程序,以及使用或调试它。 还建议使用 x86-64 而不是 x86-64,以获得更好的性能。
讨论官方服务器的建立[7]
内容概要
论坛社区正在考虑创建一个官方服务器。 该服务器将作为开发人员相互联系、聊天和寻求帮助的空间。
开发人员 Ali 最先提出了这个想法。 他指出,虽然有几个非官方服务器,但它们并不完整,而且不如 Rust 服务器。
创建服务器的好处包括与其他开发人员联系、从社区获得快速帮助、轻松参与广泛的讨论和交流以及展示很酷的项目。
一些社区成员担心服务器会影响论坛的运营。 有些成员喜欢在论坛上提问和搜索,而另一些成员则喜欢简短或简短的讨论。
一些成员也不知道有专门为开源设置的工作区。 然而,其他人认为这还不够,并认为专用服务器更方便。
总体而言,社区对这个想法持开放态度,许多人表示愿意加入服务器。 然而,一些人对深入、深思熟虑的讨论可能会减少持谨慎态度。
讨论。[8]
内容概要
“。” 讨论 系统包缺乏公共接口,因此很难通过裸系统调用来处理错误。 讨论使用建议。 作为公共接口。
建议为 . 以防止析构函数覆盖它。 John West提到读取安全性存在bug,建议可以在C层修复这个问题。
提出了一种新的导入程序技巧来处理 West 建议的特别注明的调用,以使设置功能更易于使用。 还提到Zeng在其他地方提出了一个值得探索的好主意。
Joe Goff 提出 ARC 仍然可能会崩溃, 问道,那么 -C 呢,ARC 仍然可能会崩溃吗? West 建议,在 -C 中,即使启用了 ARC,ARC 仍然可能会中断。
建议从 . 并从 调用它,但约翰·韦斯特建议这可能并不适用于所有情况。 Joe Goff 建议在 -C 中,即使启用了 ARC,ARC 仍可能会中断。
建议 ARC 仍然可以在 -C 中被破解,John West 同意了。
讨论 SE-0433 与 - 一般建议? [9]
内容概要
论坛上的讨论围绕着使用互斥锁和同步并发代码之间的选择展开。 ,本质上是一个异步互斥体,利用任务系统来减少上下文切换的潜在好处。 建议在日常代码中使用,因为它们能够耦合状态和逻辑,提供干净的隔离域并防止许多并发错误。 然而,对于需要高性能的低级原语和数据结构,首选互斥或无锁算法。 互斥体和参与者之间的决定取决于关键部分的长度以及逻辑和状态是否需要封装在一个地方等因素。 一般来说,除非有特殊原因,例如构建并发数据结构,否则默认使用。
讨论的功能协议[10]
内容概要
论坛上的讨论探讨了功能协议的概念及其对开发的潜在影响。 与 Java 的函数式接口(允许无缝集成到类型系统中)类似,社区的目标是在 .
Java 的方法(以 etc. 接口为例)允许在整个 JDK 中使用文字而不是单一方法接口。 这允许简洁且富有表现力的代码,而不需要额外的 API 来接受它。
虽然已经存在诸如协议之类的机制,但明显缺乏与函数文字等效的协议。 尽管现有对函数类型的支持,但讨论探讨了引入协议以增强 API 文档和可读性的想法。
对话还谈到了利用协议解决与闭包相关的挑战的想法,例如安全捕获可变变量和减少闭包分配。 协议可以通过提供一种结构化的方式来确保对闭包内的可变状态进行独占访问,从而潜在地提高性能。
此外,还探索了通过将闭包转换为可复制结构来将值语义注入到闭包中。 这种方法可以促进有状态和“可重新启动”操作的实现,尽管它可能需要特殊的语法来区分具有值或引用语义的闭包。
还考虑了功能协议的替代方案,包括使闭包更充分地参与泛型或将类型视为闭包。 这些方法旨在简化代码组织和文档,同时使闭包和协议更紧密地结合在一起。
总的来说,讨论反映了增强表达性并弥合闭包和协议之间差距的愿望。 通过探索各种概念和替代方案,社区寻求以有利于开发人员并改进语言功能的方式发展。
讨论构建非 UI 程序,例如命令行工具、服务器等[11]
内容概要
作者分享了他们在 中构建命令行实用程序的经验,并强调了他们在发现文档以有效控制流程时所面临的挑战。 虽然他们发现这些教程很有帮助,但他们很难找到有关优化可执行文件和导航非 UI 项目生态系统的综合资源。 他们想知道这种困难是否源于对 UI 工作的关注或其年轻的生态系统。
受访者拒绝故意挑战学习的想法,并强调其教育资源的分散性。 他们建议探索社区创建的资源,例如 On the ,以获取服务器端开发的指导。 此外,此类工具还提供了流行软件包的API文档,补充了.
总体而言,讨论强调了改进非 UI 开发文档和资源的必要性,旨在促进尝试命令行工具和服务器端的开发人员的学习过程。
讨论 SE-0433:同步互斥锁[12]
内容概要
论坛上的讨论围绕SE-0433展开,SE-0433提出在. 虽然一些参与者承认形式化通用并发模式的好处,但其他参与者根据过去使用互斥体等低级并发结构的经验表示保留。 担忧包括潜在的死锁和其他并发问题,以及对更高级别抽象的偏好,例如 / 和 。
参与者提出了替代解决方案,例如将类似互斥体的功能直接合并到模型中以解决重入和交错问题。 然而,人们担心引入复杂性和死锁的可能性。 一些人建议重点应该放在使安全并发构造直观且易于使用,而不是依赖手动锁管理。
提出的一个想法是增强编译器来自动处理同步,例如自动将突变包装在锁中。 这种方法旨在简化初学者的并发编程,同时防止常见的陷阱。 参与者强调了显式编译器反馈对于指导开发人员安全并发实践的重要性。
总体而言,讨论强调了提供强大的并发工具与确保开发人员安全且可访问的工具之间的紧张关系,并强调了对直观且编译器支持的解决方案的需求。
推荐的博客文章
[13] 中的内容边距
摘要:本博客介绍了.com 中的新功能——内容边距() 的概念。 文章首先解释了在iPad上处理大量文本时的布局问题,并指出不能直接在. 作者展示了如何通过添加安全区域来调整布局,但这种做法也会移动滚动条指示器,影响用户体验。 最后,作者介绍了使用视图修饰符将可滚动内容移出安全区域,同时保持滚动条不变。 该功能填补了中安全区域管理的重要空白,使应用程序更加灵活,能够适应不同的屏幕尺寸。
类型推断[14]
摘要:本文探讨了类型推断的重要性以及在编写代码时如何使用它来简化语法。 作者首先介绍了静态类型语言的特性,同时还指出它支持类型推断,可以自动推断变量、常量和属性的类型,从而使代码编写更加轻量级。
文章通过示例说明了如何在 Java 中使用类型推断,包括变量声明、枚举、静态属性和方法等。此外,作者还提到了一些需要手动指定类型的情况,例如处理数字类型和调用具有通用返回类型的函数。 最后,作者总结了类型推断机制的计算成本以及如何在需要时手动指定类型。 总的来说,本文强调了类型推断的重要性和灵活性,以及如何在代码编写过程中有效地利用它来提高开发效率。
使用或检查集合是否为空[15]
摘要:本博客讨论了检查集合是否为空的两种主要方法:使用属性和使用专用属性。 首先,文章介绍了这两种方法之间的行为差异,并讨论了标准库中的实现。 作者指出,虽然对于某些特定的集合类型,例如Set,使用 和 可能会产生相同的结果,但在其他情况下,特别是对于此类集合,直接使用可能会导致性能损失。 最后,作者建议在判断集合是否为空时始终使用它,因为它更具可读性,更直观,而且总是更高效。
话题讨论
五一休息一天不休息其他日子可以接受吗?
我建议五一休息5天,不要休息。 欢迎您在文末留言参与讨论。
关于我们
社区是由爱好者共同维护的公益组织。 我们主要在中国运营微信公众号。 我们将分享以实用、实用、基本功为核心的技术内容,同时也会整理和收集优秀的学习资料。
欢迎关注公众号:社区,后台点击进群,可以进入我们社区的各种交流讨论群。 我们希望我们的社区成为网络空间中每个人的另一个共同场所。
特别感谢社区编辑部的每一位编辑为社区提供优质内容、为语言发展做出的贡献的辛勤工作。