【Swift 周报 第四十七期
文章目录
- 前言
- 新闻和社区
- 苹果财报来袭:营收有望再创新高 巴克莱或将惨遭打脸?
- Apple 为在全球范围内提供迷你 App 和游戏访问的流媒体游戏服务和 App 发布新选项
- Swift Student Challenge 将于 2 月 5 日开放申请
- 提案
- 通过的提案
- 正在审查的提案
- Swift论坛
- 推荐博文
- 话题讨论
- 关于我们
前言
本期是 Swift 编辑组整理周报的第四十七期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。
Swift 周报在 GitHub 开源,欢迎提交 issue,投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。
倘若穷途末路,那便势如破竹。Swift社区在你心里种花,人生才不会荒芜!👊👊👊
周报精选
新闻和社区:营收有望再创新高 巴克莱或将惨遭打脸?
提案:Swift Backtrace API
Swift 论坛:讨论为什么不支持
var myArray: [weak MyClass]
推荐博文:Swift 有些场景其实不必加 final
话题讨论:
把“被裁”说成“主动离职”算撒谎吗?
上期话题结果
技术型人才都转行跑滴滴,送外卖,做销售。那么未来的新科技研发何去何从。
新闻和社区
苹果财报来袭:营收有望再创新高 巴克莱或将惨遭打脸?
鉴于本月初巴克莱、Piper Sandler 和 Redburn Atlantic 接连下调了苹果的股票评级,同时苹果爆料“一哥”郭明预计 iPhone出货量将下降 15% ,此次苹果的财报尤为受到关注。
对于投资者来说,他们不仅希望了解苹果的销售表现,还希望更深入地了解 iPhone 的销售业绩和前景,尤其是在中国的销售业绩。
大中华区营收预计减少
从华尔街分析师们的预期来看,市场仍然多数预计苹果能够在该财季取得强劲表现,并预计 iPhone 销售前景依旧乐观。假如果真如此,可能会开始扭转该公司近期相对疲软的股票表现。
据华尔街分析师预计,苹果第一财季每股盈利为 2.11 美元,营收为 1179 亿美元,都将比去年有所增长——去年同期苹果公布每股盈利为 1.88 美元,营收为 1172 亿美元。
市场调查机构 IDC 和 Canalys 近期分别发布的最新报告称,2023 年苹果成为智能手机全球销量第一,这也是苹果首次超过三星登顶智能手机年度销量冠军。基于 iPhone 去年的强劲表现,华尔街已经有分析师预测,苹果第一财季营收将创下历史新高,。
不过,苹果在大中华区的整体营收预计将从 239 亿美元降至 235 亿美元。大中华区是苹果仅次于北美和欧洲的第三大销售区域。
分析人士表示,华为高端智能手机带来竞争压力,以及中国市场需求走软,正在削弱苹果在该地区的销售前景。
iPhone 营收依旧乐观
分部门来看,华尔街预计苹果 iPhone 的营收将达到 686 亿美元,较去年同期的 657.8 亿美元有所上升。
苹果的 Mac 收入可能也将略有回升,分析师预计该季度销售额为 79 亿美元,而去年同期为 77 亿美元。
但分析师预计苹果 iPad 的营收将从去年的 94 亿美元下降逾 20 亿美元,至 70.6 亿美元。有分析称,鉴于苹果将在 3 月份推出新款 ipad 和 mac 电脑,这可能有助于提高这两个业务部门在未来一年的销量。
可穿戴设备、家居和配件本季度将带来 120 亿美元的收入,预计低于去年第一季度的 135 亿美元。这主要是由于去年末苹果公司与医疗设备制造商 Masimo 进行但专利战,迫使苹果公司暂时将这款设备下架。在那之后,虽然苹果已经从其 Series 9和Ultra 2 手表中删除了引发争议的血氧传感器组件,但目前尚不清楚这对销售有多大影响。
与此同时,苹果服务部门的销售额预计将从 208 亿美元增至 234 亿美元。
Apple 为在全球范围内提供迷你 App 和游戏访问的流媒体游戏服务和 App 发布新选项
2024 年 1 月 25 日
三月份将上线新的分析报告,供全球范围内的开发者使用
开发者还可以为其 App 启用新的登录选项
Apple 发布了与 App 向用户提供 App 内体验的方式相关的新选项,涉及流媒体游戏和迷你程序。这些新选项适用于全球范围内的 App。开发者现在可以提交单个 App 来流式传输其目录中提供的所有游戏。
App 还将能够为其中的流媒体游戏、迷你 App、迷你游戏、聊天机器人和插件提升曝光率。
此外,迷你 App、迷你游戏、聊天机器人和插件将能够接入 Apple 的 App 内购买系统,从此即可向用户提供付费数字内容或服务,例如单个聊天机器人的订阅。
App Store 上的 App 中提供的每项体验都必须遵守《App Store 审核指南》中的所有适用准则,而托管 App 的年龄分级将取决于该 App 中包含的最高年龄分级内容。
Apple 宣布的这些变化反映了 Apple 开发者社区的反馈,并践行了 App Store 的使命 — 即为用户提供一个值得信赖的平台来探索喜爱的 App 并助力全球开发者发展自己的业务。托管此内容的 App 有责任确保其中包含的所有软件符合 Apple 在用户体验和安全性上的高标准。
新的 App 分析报告
Apple 为开发者提供了强大的面板和报告,帮助他们通过“App 分析”、“销售和趋势”以及“支付和财务”报告来衡量 App 的表现。Apple 将为全球范围内的开发者上线新的分析报告,以帮助他们更深入地了解自己的业务和 App 的表现,这些新的报告将继续保持 Apple 的长期承诺,确保用户的个人身份无法被识别。
Apple 将通过 App Store Connect API 提供 50 多个新报告,其中包含以下方面的更多指标,以帮助开发者分析 App 的表现和发现优化机会:
参与度 — 增加了 App Store 上与开发者的 App 互动或将 App 分享给其他人的用户数量的信息;
商务 — 增加了下载次数、销售额、收入、预购量以及使用 App Store 的安全 App 内购买系统完成的交易数量的信息;
App 使用 — 增加了崩溃次数、活跃设备数、安装次数、App 删除次数等的信息。
框架使用 — 增加了 App 与操作系统功能 (例如 PhotoPicker、小组件和 CarPlay 车载) 交互的信息。
我们将于 3 月份向开发者提供有关报告详情和访问权限的更多信息。
开发者将能够通过 API 方便地向第三方授予其报告的访问权限。
App 中的登录选项更加灵活
Apple 正在更新其《App Store 审核指南》中关于使用“通过 Apple 登录”的内容,以践行 Apple 保护用户隐私的使命。“通过 Apple 登录”让用户能够使用其 Apple ID 轻松登录 App 和网站,此功能从设计之初就以隐私保护和安全性为重。从今天开始,在 App 中提供第三方或社交登录服务的开发者将可以选择提供“通过 Apple 登录”,或提供同等注重隐私保护的其他登录服务。
Swift Student Challenge 将于 2 月 5 日开放申请
2024 年 1 月 23 日
2024 年 Swift Student Challenge 将于 2 月 5 日开放申请,我们非常期待。
正在寻找灵感? 了解挑战赛的往届获奖者,深入了解他们打造 App 的动力。
刚刚上手? 获取工具、提示和指导,了解创建出色 App Playground 所需的一切。
提案
通过的提案
SE-0417 任务执行器偏好 提案通过审查。该提案已在 四十四期周报 正在审查的提案模块做了详细介绍。
正在审查的提案
SE-0422 表达式宏作为调用方默认参数 提案正在审查。
该提案旨在取消之前在 SE-0382 表达式宏中设定的限制,以允许非内置表达式宏作为调用方默认参数表达式。
SE-0382 表达式宏提案在24期周报中做了详细介绍。
SE-0421 推广 AsyncSequence 和 AsyncIteratorProtocol 的效果多态性 提案正在审查。
该提案在两个方面推广了 AsyncSequence
:
- 通过采用类型化的 throws 实现了适当的 throws 多态性。
AsyncIteratorProtocol
上next
要求的新重载包括一个隔离参数,以抽象化actor
的隔离。
SE-0420 继承 actor 隔离性 提案正在审查。
在 Swift 的 actor 设计下,Swift 中的每个函数都具有 actor 隔离性:它要么是隔离到某个特定的 actor,要么是非隔离的。有时候,将函数赋予与其调用方相同的 actor 隔离性是有用的,这样可以让函数访问 actor 隔离的数据,或者仅仅是为了避免不必要的暂停。该提案允许异步函数选择使用这种行为。
SE-0419 Swift Backtrace API 提案正在审查。
今年我们通过向 Swift 添加对回溯的一流支持,来提高 Swift 在命令行和服务器端开发中的可用性。
回溯支持包括两个部分:第一个是实际的回溯实现,第二个是 Swift 标准库中的新 API 界面。该提案涉及到后者。
Swift论坛
- 提议SerialExecutor 的自定义隔离检查
内容大概
该提案建议通过为 SerialExecutor 引入自定义隔离检查来改进 Swift Concurrency 中的动态隔离检查。 该提案解决了由于同步、非隔离函数中缺乏静态信息而导致当前动态隔离断言失败的情况。 其动机通过一个示例来说明,其中参与者直接使用自定义执行器,从而导致错误的参与者执行器假设。 该提案旨在允许检查通过并恢复隔离信息,即使 Swift 并发运行时无法证明但目标执行器可以证明这一点。 该提案包括简介、动机、提出的解决方案、详细设计、扩展执行器比较机制、对异步代码的影响、未来方向、考虑的替代方案和修订。 完整的提案可以在这里找到。连接:https://github.com/ktoso/swift-evolution/blob/wip-executor-checkIsolated/proposals/NNNN-custom-isolation-checking-for-serialexecutor.md#proposed-solution
- 讨论从本地 HTML 文件创建属性字符串
内容大概
用户尝试在 Mac 应用程序的临时目录中显示来自 HTML 文件和 CSS 文件的属性字符串。 他们已使用所提供文章中的代码成功创建了临时目录,并确认已创建具有预期内容的 HTML 文件。
但是,当尝试使用以 URL 作为参数的 NSAttributedString 初始值设定项从 HTML 文件创建 NSAttributedString 时,会遇到代码 65806 的错误,并且控制台消息为“(null)”。 尽管 Google 搜索没有产生与此错误代码相关的结果,但用户尝试了另一种方法,即使用 String 结构的 write 方法将文本写入 URL。 不幸的是,这也会导致相同的 65806 错误代码。
此外,用户尝试使用 NSAttributedString 类方法 loadFromHTML 创建属性字符串,但此方法返回 Void 而不是属性字符串。
用户寻求有关如何从本地 HTML 文件成功创建属性字符串并解决神秘的 65806 错误的指导。
- 讨论每次外部状态更新时,Reducer 状态都会重新计算,即使使用 @ObservableState
内容大概
用户在使用可组合架构 (TCA) 构建的 SwiftUI 应用程序中重新计算减速器状态时遇到问题。 具体来说,他们注意到 ShareLinkButtonView 在其自身范围之外发生的每次状态更新时都会消失。 该问题似乎与每次外部状态更新并触发整个视图重新渲染时视图重新计算或重新初始化有关。
ShareLinkButtonView 设计为仅在满足特定条件(ideaSnapshot 非零)时显示按钮。 用户正在 RootStore 中使用 @ObservableState 属性包装器来管理状态,但他们不确定为什么状态会被不必要地重新计算。
用户正在寻求有关如何防止对 RootStore 状态进行不必要的重新计算的指导。 他们在 RootStore.State 结构中使用 @ObservableState 属性包装器,并为 ShareLinkButtonView 和 RootStore 提供了相关代码片段。 这些操作涉及从 Firebase 初始化和检索 IdeaSnapshotModel,所需的行为是仅在成功检索 ideaSnapshot 时显示按钮。
潜在的解决方案可能涉及审查 @ObservableState 的使用,考虑数据流和依赖性,并确保在可组合架构中适当处理状态突变。 检查状态更新如何触发重新渲染以及是否存在影响 ShareLinkButtonView 可见性的任何意外副作用也可能会有所帮助。
- 讨论为什么不支持 var myArray: [weak MyClass]
内容大概
为什么不支持 var myArray: [weak MyClass] - 使用 Swift - Swift 论坛
我认为 [weak MyClass] 不存在的原因是它在释放引用时的行为。 弱变量必须是可选的,因为当引用被释放时它会变成 nil。 无主只是假设它已分配,如果没有分配则崩溃。
在 [weak MyClass] 中,如果其中一个引用被释放,会发生什么? 它会将自己从数组中删除吗? 当元素随机失效时,这可能会引起一些混乱。 它会像一个可选的并且变为零吗? 那么定义 [weak MyClass] 可能不足以清楚地表明它不是 [MyClass] 而是 [MyClass?]。
当然,可能已经有一些方法可以通过属性包装器或其他方式在 swift 中实现弱数组。 然而,要在 swift 中轻松完成此操作的语法可能需要在添加之前进行一些修改。
那么定义 [weak MyClass] 可能不足以清楚地表明它不是 [MyClass] 而是 [MyClass?]。
这个问题本身可以很容易地通过要求使用 [weak MyClass?] 来解决,就像弱属性一样。
虽然我不知道是否还有其他更令人担忧的方面(例如,由于数组的行为类似于值类型,但在底层的堆上进行内存分配和释放而导致不可忽略的性能影响),但我解释这一点的方式 语法会产生歧义:
从字面上理解,这意味着一旦弱实例集合中的某个对象被释放,它就会被替换为 nil。 这就是属性的处理方式。 虽然这可能没问题,但我认为人们通常会认为它已从集合中删除。
这也引发了一个有趣的问题,即有多少人会通过保留 nil 对象的集合来“浪费”内存…😃
当然,这两种选择都是可能的,我的观点是,在我看来,[weak MyClass] 不够精确,不足以成为一种语言功能(就像这样)。 @sveinhal 的示例表明了这一点:弱集合需要有自己的自定义实现,该实现是根据所需的任何具体行为量身定制的。 也许一个提供一些更常见方法来做到这一点的小包会是一个很好的项目?
- 讨论来自镜像主题的数组构造函数?
内容大概
该提案建议在 Swift 中为数组类型引入一个新的初始值设定项,允许从镜像主题创建它。 该初始化程序专门针对提高元组的可用性,目前这在某些操作方面提出了挑战。
作者发现了使用元组作为固定大小数组的问题,特别是在尝试逐个元素打印其内容时。 虽然元组是表示固定大小数组的常见方法,但由于它们的预期用途是用作临时值,因此将它们视为集合仍存在一些顾虑。 该提案考虑了异构元组的潜在问题,例如迭代和映射的困难。
为了解决这些问题,作者建议允许从镜像主题初始化数组。 它们为数组类型的扩展提供了一个代码片段,该代码片段利用镜像类型来启用此初始化。 概述的好处包括鼓励将元组转换为数组以供长期使用,提供对 Collection 和 Array 方法的访问,改进使用数组而不是元组的函数参数传递,以及限制异构元组的转换。
该提案承认潜在的缺点,例如将结构转换为数组的能力以及是否需要结构到数组转换的一般问题。 总的来说,所提出的初始化程序旨在通过方便地转换为数组来增强使用元组的实用性和多功能性。
- 讨论使用 swiftdata 时应用程序崩溃
内容大概
用户在 iPad Pro 上的 Swift Playground 中使用 SwiftData 时遇到应用程序崩溃的情况。 尝试保存类模型时会出现此问题,并且在预览窗口和运行应用程序时都会发生此问题,特别是在输入特定导航链接(时间表)时。 用户为其应用中的不同文件提供了代码片段,包括 MyApp、ContentView、Schedule、UnitConversions、Assignment、AssignmentView 和 AddAssignment。
遇到的错误消息是:“在 ModelContainer.swift 的第 144 行发现致命错误,未能找到当前活动的分配容器。”
用户怀疑该问题可能与 ContentView 中 @Environment(.modelContext) 的使用以及 ContentView 内 VStack 上 .modelContainer(for:Assignment.self)
的放置有关。 他们寻求帮助来了解可能导致坠机的原因和潜在的解决方案。
建议的修复方法是从 ContentView 中删除 modelContext 并考虑将 .modelContainer(用于:Assignment.self)放在 MyApp 中的 WindowGroup 上,因为应用程序中似乎只使用了一个模型和存储。
- 讨论在字符串插值中附加文字
内容大概
用户正在询问字符串插值中 appendLiteral 方法的用法和潜在限制。 public mutating funcappendLiteral(_literal:String)
的文档提到它不应该直接调用,并且由编译器在解释字符串插值时使用。
用户在特定情况下希望自定义字符串插值的行为,特别是在本地化字符串的上下文中。 他们提供了一个示例,其中使用可变大小写的字符串插值动态构造本地化字符串键。 当使用变量进行插值时,默认行为会插入 %@ 说明符,这不是所需的结果。
为了克服这个问题,用户建议使用名为 asLiteral 的自定义 appendInterpolation 方法来扩展 LocalizedStringKey.StringInterpolation,该方法在内部调用appendLiteral。 此自定义方法允许他们避免 %@ 说明符并构建所需的本地化密钥。 用户担心未来潜在的问题或违反最佳实践的行为。
他们寻求澄清这种方法是否可以接受,或者是否有更好的解决方案可以在不违反任何规则的情况下实现预期结果。
该摘要捕获了用户对 appendLiteral 的正确使用以及他们在 Swift 中为本地化字符串键自定义字符串插值的具体情况的询问。
推荐博文
Swift OpenAPI Generator 1.0 版本发布
摘要: Swift OpenAPI Generator 是一个用于生成类型安全、符合惯例的 Swift 代码的工具,根据 OpenAPI 文档自动生成 API 调用和服务器实现所需的代码。支持 OpenAPI 规范版本 3.0 和 3.1 ,提供更灵活的抽象方式,使开发人员能够以 API 优先的方式进行服务器开发。
生成的客户端代码为每个操作提供了一个方法,可与任何提供 Swift OpenAPI Generator 集成包的 HTTP 库一起使用。生成的服务器代码通过 “APIProtocol” 协议定义了每个操作的方法要求,适用于任何提供Swift OpenAPI Generator集成包的Web框架。
SwiftUI 中的 visionOS ornament
摘要: 这篇博客介绍了在 Swift 中使用 SwiftU I构建 visionOS 应用程序的方法,重点介绍了新的 SwiftUI API 中的 ornament 概念。ornament 是一种用于在不干扰窗口内容的情况下呈现与窗口相关的控件和信息的用户界面组件。文章首先展示了如何使用 TabView 创建一个基本的 ornamen t,然后介绍了如何使用 SwiftUI 的 Toolbar API 在 ornament 中添加操作控件。
此外,文章还详细讲解了如何创建自定义 ornaments ,包括控制其位置、外观和感觉。最后,总结了如何使用 SwiftUI 框架来改善 visionOS 上应用程序的用户体验。以帮助开发人员更好地适应 visionOS 平台。
Swift 有些场景其实不必加 final
摘要: 这篇文章深入探讨了在 Swift 中使用 final 关键字的场景和最佳实践。作者首先介绍了 final 关键字的作用,包括防止类被继承和优化执行性能。文章指出了一些场景下是不必手动添加 final 的,比如私有类/属性和具有默认访问权限(internal)的类。特别是在使用 Whole Module Optimization(WMO)编译模式时,编译器能够自动推断是否需要添加 final。
然而,对于公共类,作者强调了需要主动考虑是否添加 final ,特别是当提供库给上层调用时,以确保性能和防止意外继承。文章在最后提到在维护项目时,主动添加 final 可以作为一种强文档的方式,提醒未来的使用者。
话题讨论
近日,有网友在社交平台爆料称自己因为隐瞒裁员经历说成是主动离职而被取消了 offer 。在职场中,有些人可能选择将自己被裁员的情况描述为主动离职。把“被裁”说成“主动离职”算撒谎吗?
- 算,不诚实
- 算适度美化而已
- 不算,很正常
欢迎在文末留言参与讨论。
关于我们
Swift社区是由 Swift 爱好者共同维护的公益组织,我们在国内以微信公众号的运营为主,我们会分享以 Swift实战、SwiftUl、Swift基础为核心的技术内容,也整理收集优秀的学习资料。
特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量。
相关文章:

【Swift 周报 第四十七期
文章目录 前言新闻和社区苹果财报来袭:营收有望再创新高 巴克莱或将惨遭打脸?Apple 为在全球范围内提供迷你 App 和游戏访问的流媒体游戏服务和 App 发布新选项Swift Student Challenge 将于 2 月 5 日开放申请 提案通过的提案正在审查的提案 Swift论坛推…...

STM32(16)使用串口向电脑发送数据
发送字节 发送数组 发送字符和字符串 字符: 字符串: 字符串在电脑中以字符数组的形式存储...
利用大模型技术进行测试用例推荐如何实现
利用大模型技术进行测试用例推荐,可以通过以下步骤实现: 确定目标和需求:明确测试用例推荐的目标和需求,例如推荐哪些类型的测试用例、推荐的数量、推荐的准确率等。 收集数据:收集历史测试用例、需求文档、设计文档等…...

Linux学习:初识Linux
目录 1. 引子:1.1 简述:操作系统1.2 学习工具 2. Linux操作系统中的一些基础概念与指令2.1 简单指令2.2 ls指令与文件2.3 cd指令与目录2.4 文件目录的新建与删除指令2.5 补充指令1:2.6 文件编辑与拷贝剪切2.7 文件的查看2.8 时间相关指令2.9 …...
Python CGI编程错误汇总
文章目录 1 前言2 测试文件3 问题总结 1 前言 在学习Python CGI编程时,运行起来总是有各种各样的问题,故将问题进行总结,以便新接触Python的童鞋能少走弯路 以下均为本人遇到对应报错的解决方案,可能存在其他问题但报错相同的情况…...

第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 统计子矩阵
#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<queue>using namespace std;int cnt,temp; int n,m,K; int a[505][505]; int pre[505][505];//二维前缀和void sol() {cin>>…...

计算机网络实验 基于ENSP的协议分析
实验二 基于eNSP的协议分析 一、实验目的: 1)熟悉VRP的基本操作命令 2)掌握ARP协议的基本工作原理 3)掌握IP协议的基本工作原理 4)掌握ICMP协议的基本工作原理 二、实验内容: 1、场景1:两台PC机…...

Java实现手机库存管理
一、实验任务 编写一个程序,模拟库存管理系统。该系统主要包括系统首页、商品入库、商品显示和删除商品功能。每个功能的具体要求如下: 1.系统的首页:用于显示系统所有的操作,并且可以选择使用某一个功能。 2.商品入库功能&…...

单片机入门:LED数码管
LED数码管 LED数码管:由多个发光二极管封装在一起组成的“8”字型的器件。如下图所示: 数码管引脚定义 一位数码管 内部由八个LED组成。器件有十个引脚。 对于数码管内的8个LED有共阴和共阳两种连接方法。 共阴:将8个LED的阴极都连接到一…...

软考信息系统项目管理师零基础怎么学习?
软考考信息系统项目管理师,零基础怎么入手高项? 要我说对于没有基础的人群来说零基础考信息系统项目管理师还是有一定的难度的,难就难在需要时间去了解基础,而相对于系统分析师、系统构架设计师、网络规划设计师、系统规划与管理…...

【轮式平衡机器人】——TMS320F28069片内外设之Timer_IT(补:CCS程序烧录方法)
引入 Timer_IT 指的是 TMS320F28069 的定时器中断功能。在微控制器或数字信号控制器中,定时器是一个非常重要的外设,它可以用来产生固定时间间隔的中断,或者用来精确计算时间。 Timer_IT 的主要特点如下: 定时功能:…...

安装Proxmox VE虚拟机平台
PVE是专业的虚拟机平台,可以利用它安装操作系统,如:Win、Linux、Mac、群晖等。 1. 下载镜像 访问PVE官网,下载最新的PVE镜像。 https://www.proxmox.com/en/downloads 2. 下载balenaEtcher balenaEtcher用于将镜像文件&#…...

后端项目访问不了
问题: 后端启动不了,无法访问网站 原因: 1.防火墙没有关 2.有缓存 3、项目没有启动 4、docker没有启动 解决: 先查看进程:docker ps,必须有三个 详细查看:docker ps -a exited代表没有开启…...
Qt 运行一个实例进程
QLocalSocket QLocalServer 逻辑:首先一个新的实例启动时,将尝试连接到同一个本地服务器,如果连接失败,则表示第一个实例进程,创建一个本地服务器;否则,拉起已打开的实例进程。 main.cpp #i…...
Installing Git (安装 Git)
Installing Git [安装 Git] 1. Installing Git1.1. Description1.2. Installing on Linux (在 Linux 上安装)1.3. Installing on macOS (在 macOS 上安装)1.4. Installing on Windows (在 Windows 上安装)1.5. Installing from Source (从源代码安装) 2. sudo apt-get install …...

Android 拍照本地图片选择框架适配
前言 通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄 1、解决方案通过意图选择器做…...

06 - ip route和route -n的区别
1 ip route和route -n的区别 ip route 和 route -n 都是用于查看和管理Linux系统路由表的命令。但下面是它们的区别: ip route:是Linux系统中的现代工具,它属于iproute2套件;它提供了更多的选项,可以更精确地控制路由表…...
JAVA设计模式——单例模式
单例模式是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。单例模式通常用于需要在整个应用程序中共享某个资源或控制某个独占性资源的情况。 在单例模式中,通常会将类的构造函数设为私有&…...

分巧克力 刷题笔记
/* 分巧克力 解题思路 二分 直接检查看答案是否符合题目条件 对于一块边长分别为x 和y的巧克力\\ 假设我们输入检查的数为k 其能分割成的 k*k 的巧克力的块数为 (x/k)*(y/k) 因为c里面的除法是下取整的所以我们不用考虑奇偶数 是否能整除 将每一块巧克力能分成的k*k的巧克力…...

Python图像处理【21】基于卷积神经网络增强微光图像
基于卷积神经网络增强微光图像 0. 前言1. MBLLEN 网络架构2. 增强微光图像小结系列链接 0. 前言 在本节中,我们将学习如何基于预训练的深度学习模型执行微光/夜间图像增强。由于难以同时处理包括亮度、对比度、伪影和噪声在内的所有因素,因此微光图像增…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space
问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier...