知识大胖
这个作者很懒,什么都没留下…
展开
-
如何在 Apple Silicon Mac 上运行 Ubuntu:简单指南、示例、提示和技巧
通过虚拟化,您可以通过创建“虚拟机”(VM) 在主系统 macOS 内运行单独的操作系统(如 Ubuntu)。您可以将其视为计算机中的计算机,这样您就可以试验和使用软件而不会影响主设置。在 Apple Silicon Mac 上安装 Ubuntu 可以为 Linux 探索开辟新的机会。从开发和编码到设置自定义环境,此设置既灵活又强大。虽然它不像 macOS 那样即插即用,但对于那些想要充分利用 Linux 和 macOS 世界的人来说,这是一个值得的设置。原创 2024-11-01 15:48:55 · 132 阅读 · 0 评论 -
“200b 参数处理器 Macbook Pro” 探索 M4 Max LLM 性能,M1 Max:34.49 个代币/秒, M2 Ultra:76.28 个代币/秒,M3 Max:50.74 个代币
苹果刚刚发布了全新的Macbook Pro,声称它能够通过 128GB vram 和新的 M4 Max 芯片“轻松与具有 2000 亿个参数的 LLM 交互”。这意味着什么?通过正确的配置,您将能够在本地(和移动端)加载要求最高的 LLM,并以各种有趣的方式与它们交互。请记住,当涉及到模型本身的参数时,“大并不总是好”;原创 2024-11-01 15:36:13 · 79 阅读 · 0 评论 -
在 Swift 中开始使用 CryptoKit:轻松保护你的 iOS 应用(教程含源码)
CryptoKit 是 Apple 为 iOS 和 macOS 上的加密操作提供的高级 API。它抽象了复杂的加密函数,并在 Swift 中提供了易于使用的 API,使处理哈希、加密、解密和密钥管理等操作变得更加容易。CryptoKit会利用安全的 Apple 硬件(如 Secure Enclave)来增强对敏感数据的保护。原创 2024-10-28 08:23:46 · 92 阅读 · 0 评论 -
如何使用 MLX在 macOS机器上运行 Llama 3.2
Hugging Face 上的 MLX 社区是一个协作空间,贡献者可以在此分享 Apple MLX 框架的预转换模型权重。它专注于使模型易于用于大型语言模型 (LLM) 训练、微调和部署等任务。用户可以找到各种现成的模型,包括用于语音识别的 Whisper、用于图像生成的 Stable Diffusion 和用于文本生成的 Llama。社区鼓励想要上传自己的模型或在项目中使用 MLX 工具的用户做出贡献。原创 2024-10-20 08:57:25 · 135 阅读 · 0 评论 -
如何使用 Cursor(或 VS Code)构建 SwiftUI/iOS 应用程序
如果您在这里,那么您已经听说过 Cursor,这是一款被大肆炒作的(并且有充分理由的)以 AI 为中心的 IDE,Web、React(呃)和 Android 开发人员一直在使用它来将他们的交付周期缩短一半,而 Apple 开发人员则只能使用 Xcode。让我们改变这一点。原创 2024-10-19 08:40:28 · 76 阅读 · 0 评论 -
SwiftUI+Vision:使用质心跟踪算法的对象跟踪器(教程含源码)
首先,在哪些情况下我们想要跟踪一个检测到的物体?通过仅在第一次检测时进行识别来节省一些内存,因为识别通常比检测更昂贵跟踪物体在消失之前在画面内停留的时间。预测未来轨迹还有更多!我原本以为我可以使用Vision框架内置的测试版TrackObjectRequest或旧版VNTrackObjectRequest,但我错了!我尝试了这两种方法,以下是我对此的抱怨!无法处理新传入的对象无法接受物体消失无法处理暂时离开的物体最重要的是!原创 2024-10-19 08:34:59 · 13 阅读 · 0 评论 -
在配备扩散器的 M3 Mac 上运行 Flux.1(教程含源码)
【代码】在配备扩散器的 M3 Mac 上运行 Flux.1(教程含源码)原创 2024-10-05 18:44:12 · 188 阅读 · 0 评论 -
SwiftUI 如何构建我们自己的容器 Container(项目源码)
首先,我说的容器是什么意思?你可能有一些 View 接受一个数组值,并用你自己的风格渲染它们,但它们真的能被称为容器吗?不是的!是的,项目内容在某种程度上是动态的,但您只能使用数组或某些特定类型。您是否动态处理子视图和部分?您是否同时处理动态和静态数据?并不是!我在这里谈论的容器是封装和管理其子视图的布局的视图,以特定的方式排列它们。一个很好的例子是List,或者ForEach!在我们开始制作自己的作品之前,让我们先看几个简单的例子,这样List我们就能知道我们的目标是什么!原创 2024-10-05 18:39:19 · 808 阅读 · 0 评论 -
SwiftUI + SwiftData:通过 Todo 演示应用程序进行详细解释(教程含源码)
要定制属性的行为,我们可以使用宏注释该属性Attribute(_:originalName:hashModifier:)并为驱动所需行为的选项指定值。以下列出一些你可能会感兴趣的内容!为了确保相同的内容TodoModel不会被存储两次,我们可以标记该id字段unique。原创 2024-09-06 14:11:39 · 878 阅读 · 0 评论 -
SwiftUI 中的拖放,拖放功能可让用户以自然的方式使用应用。在本教程中,我们将介绍如何在 SwiftUI 中实现拖放功能。
简单类型非常适合简单的示例,但在现实世界中,很多时候您希望自定义类型可拖动,我们将在本节中介绍这一点。假设我们有一个自定义类型,它看起来类似于下面代码块中的类型。虽然它看起来可能不是一个非常复杂的数据结构,但它是一个常见的较大结构的小型表示。为了使此类型符合可转移协议,我们需要做一些事情。从文件顶部开始,我们需要更新导入语句以包含SwiftUI和UniformTypeIdentifiers。接下来,我们希望我们的结构易于共享。原创 2024-09-02 14:23:37 · 478 阅读 · 0 评论 -
SwiftUI + Rust:办公室考勤日历/日程安排应用程序(教程含源码)
让我首先与您分享整体应用程序结构,然后解释每个屏幕的作用以及您可以根据上面可能所做的后端更改进行的一些修改!原创 2024-08-27 11:31:25 · 254 阅读 · 0 评论 -
在 SwiftUI 中构建模拟时钟:分步指南
SwiftUI 是一个功能强大且直观的框架,可用于构建跨所有 Apple 平台的用户界面。您可以使用 SwiftUI 创建许多令人兴奋的项目之一就是模拟时钟。在本文中,我们将介绍从头开始创建模拟时钟的过程,重点介绍使其栩栩如生的关键组件和代码片段。原创 2024-08-24 21:02:39 · 41 阅读 · 0 评论 -
SwiftUI 组件之 具有加载器状态处理的 SwiftUI WebView,创建自定义加载器动画(教程含源码)
加载指示器是应用程序的重要组成部分,它向用户显示后台正在发生的事情。在 SwiftUI 中,我们可以制作自己的加载动画以适应我们应用程序的风格。让我们学习如何使用 SwiftUI 创建一个简单的加载指示器。原创 2024-08-24 20:47:59 · 168 阅读 · 0 评论 -
探索 SceneStorage:SwiftUI 中用于持久化、每个场景存储的便捷工具
SceneStorage是一种属性包装器类型,旨在保留各个场景的数据。它适用于各种平台,包括 iOS、iPadOS、macOS、tvOS、visionOS 和 watchOS(从其各自的版本开始)。可以将其视为 的更专业版本State,但增加了自动状态恢复的好处。最引人注目的方面SceneStorage是,它会在系统需要时自动保存和恢复其值。与需要State您手动管理状态持久性的 不同,SceneStorage会为您处理此问题。原创 2024-08-20 10:15:37 · 111 阅读 · 0 评论 -
SwiftUI AI系列之在 Swift 中本地运行 LLM(教程含源码)
我没有想到能够如此轻松地在 mac os 应用程序中本地运行开源模型,这将是一个关于如何使用Ollama和 Swift 库SwiftOpenAI来执行此操作的简短教程。今年,Ollama为 OpenAI Chat Completions API构建了兼容性。这允许您使用与与 OpenAI 模型交互时使用的相同 API 来使用本地模型。您可以按照以下简单的步骤在您的应用程序中使用强大的模型,例如llama3或Mistral!原创 2024-08-16 11:49:53 · 62 阅读 · 0 评论 -
SwiftUI 中的 SwiftData 与 Widgets(教程含源码)
假设您已经构建了一个应用程序,该应用程序依靠 Swift 数据来创建和处理数据,现在您想使用该数据并将其显示在小部件上。今天我们将学习如何做到这一点。SwiftData 本质上很容易使用,但有时会变得相当棘手。在这篇博客中,我们将通过专注于功能而不是 UI 方面来保持简单。原创 2024-08-12 11:29:54 · 50 阅读 · 0 评论 -
SwiftUI 自定义动画系列之 刮刮卡动画(教程含源码)
最后,我们为整个CardScratch视图添加背景颜色以匹配深色主题。这可以确保填满整个屏幕,并且背景不会分散划痕效果。原创 2024-08-12 11:21:41 · 35 阅读 · 0 评论 -
SwiftUI 中的卡片翻转动画
动画 UI 元素可以让应用程序更具动态感和交互性。在本博客中,我们将使用 SwiftUI 创建卡片翻转动画。我们将逐步介绍代码,解释每个部分如何影响最终效果。原创 2024-08-12 11:15:22 · 74 阅读 · 0 评论 -
SwiftUI 精品项目之 JSON List读取Bundle、解析、显示本地Json文件
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。原创 2024-08-12 10:56:16 · 65 阅读 · 0 评论 -
SwiftUI 修复列表项中逐个调用的自定义按钮
大家好。今天遇到的问题让我写下了这篇简短的指南。不仅为了那些可能遇到同样问题的人,也为了我自己,为了不忘记。这里简要介绍一下我遇到的情况,或者更准确地说,我所发现的情况。当您将自定义按钮放在列表项视图内时,由于某种原因,所有按钮操作都会被调用,即使您只点击一个按钮。原创 2024-08-09 16:08:48 · 19 阅读 · 0 评论 -
SwiftUI 组件系列之开始使用 iOS 18 中改进的 TabView:支持标签上的拖放、低代码标签(教程含源码)
没错,在新版 TabView 中,用户现在可以控制 TabView 中选项卡的顺序。您还可以通过将 TabViewCustomization 存储到 UserDefaults(使用 AppStorage,如下例所示)或使用 SwiftData,允许用户保存他们的选项卡顺序偏好。需要注意的一件重要事情是,为了使自定义功能正常工作,每个选项卡必须具有唯一的定制 ID 修饰符,以便能够识别选项卡并存储其顺序。用户还可以使用此实现显示/隐藏选项卡,如下图所示,我们更改了一些选项卡的顺序并隐藏了其他选项卡。原创 2024-08-06 17:59:38 · 64 阅读 · 1 评论 -
SwiftUI 中确认对话框的终极指南,添加按钮,使用数据创建对话框,MacOS 中的附加功能,当用户与应用交互时,您可能会执行一些操作,例如删除或重置数据。由于这些操作可能非常具有破坏性
确认对话框与警报非常相似。虽然警报非常适合显示通知以供用户注意或做出简单决定,但确认对话框专门用于确认操作。原创 2024-08-06 17:32:13 · 152 阅读 · 0 评论 -
Xcode 中的 AI 集成:使用本地 LLM 创建扩展
随着人工智能不断革新软件开发,将 AI 功能直接集成到我们的开发环境中变得越来越有价值。在本文中,我们将探讨如何使用 LMStudio 创建利用大型语言模型(LLM) 的 Xcode 扩展,利用触手可及的 AI 功能增强您的编码体验。原创 2024-07-29 10:26:38 · 352 阅读 · 0 评论 -
利用 SwiftUI 让模拟事物变得生动活泼,绘制电子数字(教程含源码)
在 iOS 中制作这样的显示的想法已经萦绕在我脑海一段时间了。当然,这样的元素在移动应用设计中并不常见。但它是试验和学习一些基本的 SwiftUI 工具(如协议)的绝佳示例Layout。原创 2024-07-28 08:41:39 · 122 阅读 · 0 评论 -
SwiftUI 中的滚动选择器,绘制标准直尺(教程含源码)
实现背后的想法非常简单。我们需要生成一堆垂直段。其中一些较高且包含文本块,一些较矮且没有数字可显示。这由每个段的索引决定。首先,我们为解决方案定义一个基础。原创 2024-07-28 08:32:33 · 168 阅读 · 0 评论 -
SwiftUI 自定义组件之为 SwiftUI 中的任何视图创建自定义徽章
徽章是一种很好的方式,可以让您的用户知道您应用中的某个部分包含他们可能感兴趣的内容,但是内置徽章的使用地点和使用方式有限。让我们创建自己的徽章,这样我们就可以在任何地方使用徽章了。原创 2024-07-23 19:31:34 · 35 阅读 · 0 评论 -
SwiftUI 自定义组件之 使用 SwiftUI 创建自己的分段选择器
SwiftUI 中的分段选择器样式允许快速轻松地创建选择器,但是,设置该选择器样式的能力非常有限。在本教程中,我们将超越标准选择器的限制并创建我们自己的自定义版本。原创 2024-07-23 19:24:16 · 35 阅读 · 0 评论 -
SwiftUI 界面系列之在 SwiftUI 中创建新拟态 UI
新拟物设计是一种现代设计趋势,它将极简主义与微妙的 3D 效果相结合,创造出一种柔和的挤压塑料外观。在本教程中,我们将探索新拟物设计的构建块以及如何在 SwiftUI 中实现它。通过了解背景颜色、浅色阴影和深色阴影的核心组件,您将能够创建令人惊叹的触觉用户界面。原创 2024-07-23 19:18:13 · 94 阅读 · 0 评论 -
SwiftUI 数据系列之 在 SwiftUI 中平衡 SwiftData 和 MVVM 保持可扩展应用程序的关注点分离
SwiftData 的引入及其与 SwiftUI 的集成(特别是通过 @Query 属性包装器)确实在维护 MVVM 或其他设计模式传统上提倡的关注点分离方面提出了新的挑战。下面将更深入地介绍如何处理这种情况并确保代码可扩展且可维护。原创 2024-07-13 09:25:55 · 59 阅读 · 0 评论 -
SwiftUI 自定义系列之 使用 SwiftUI 和 iOS 18 API 构建自定义应用程序 UI 你会发现你不仅限于 TabView、NavigationStack 等
随着 iOS 18 测试版的进展,我认为是时候更多地使用可用的新 API 并看看我们能想出什么样的应用程序结构了。这延续了之前的故事,因为它严重依赖于ScrollViewiOS 18 上的 SwiftUI 提供的新 API。这是最终结果的简短 GIF,可让您了解我们将共同构建的内容。原创 2024-07-11 10:54:40 · 36 阅读 · 0 评论 -
SwiftUI 组件系列之 使用 iOS 18 ScrollView API 的一些技巧和窍门 分页、隐藏导航和标签栏等(教程含源码)
iOS 18 为ScrollView带来了大量新 API;它现在比以往更好!从读取准确位置到监听滚动视图状态,您(几乎)可以做到这一切!因此,我决定使用一个小型 Xcode 16 + iOS 18 项目来演示其中一些新 API。以下是该项目的实际演示。这是一个简单的ScrollView+LazyVStack实现,具有无限滚动(分页)以及滚动时隐藏导航栏和标签栏的方法。这是使用 UIKit 时相当标准的行为,但直到 iOS 18,使用 SwiftUI 很难重现。原创 2024-07-09 16:59:14 · 47 阅读 · 0 评论 -
SwiftUI 动画画布大全(教程含源码)
让我们从一个简单的示例开始,探索如何创建可重用的通用系统。事不宜迟,让我们构建如下所示的动画。原创 2024-06-30 15:29:52 · 170 阅读 · 0 评论 -
SwiftUI数据系列之 Core Data 与 Swift Data:与实时解决方案的详细比较(教程含源码)
Core Data 是 Apple 为 macOS 和 iOS 应用程序提供的对象图和持久性框架。它允许开发人员在其应用程序中管理模型层对象。Core Data 不是数据库,但它可以使用 SQLite 作为持久性存储。1.对象图管理:Core Data 管理对象生命周期,包括图完整性、约束和反向关系。2.持久性:Core Data 允许将数据保存到持久性存储(例如 SQLite、二进制或内存存储)。3.更改跟踪:它跟踪数据模型中的更改,允许撤消和重做操作。4。原创 2024-06-28 13:58:20 · 136 阅读 · 0 评论 -
使用 SwiftUI 和 Metal Shaders 实现涟漪效果,自定义水场景(教程含完整源码)
Metal 着色器是 SwiftUI 中用于创建自定义视觉效果的出色 API。例如,它们用于在 iOS 18 中创建著名的网格渐变。原创 2024-06-28 11:50:11 · 68 阅读 · 0 评论 -
苹果大模型系列之Apple MLX 与 Llama.cpp 对比 Hugging Face Candle Rust,实现本地闪电般快速的LLM
在 NLP 部署方面,推理速度是一个至关重要的因素,特别是对于支持 LLM 的应用程序而言。随着 Apple M1 芯片等移动架构数量的不断增长,评估 LLM 在这些平台上的性能至关重要。在本文中,我比较了三个流行的 LLM 库(MLX、Llama.cpp和Hugging Face 的Candle Rust)在Apple M1 芯片上的推理/生成速度。旨在方便开发人员选择最合适的库在本地机器上部署 LLM,同时考虑性能、实现的便利性以及与可用工具和框架的兼容性。原创 2024-06-28 10:52:37 · 434 阅读 · 0 评论 -
苹果大模型系列之深入研究新深度学习库 MLX,使用 Apple 的 MLX和Streamlit 框架在本地部署 LLM(教程含源码)
2023 年 12 月,Apple 发布了新的MLX 深度学习框架,这是由其机器学习研究团队开发的用于 Apple 芯片上机器学习的阵列框架。本教程将探索该框架并演示如何在 MacBook Pro (MBP) 上本地部署 Mistral-7B 模型。我们将设置一个本地聊天界面来与部署的模型进行交互,并测试其每秒生成的令牌的推理性能。此外,我们将深入研究 MLX API,以了解可用于改变模型行为和影响生成文本的杠杆。原创 2024-06-28 10:31:42 · 137 阅读 · 0 评论 -
苹果大模型系列之 MLX 有多快?对 10 个 Apple Silicon 芯片和 3 个 CUDA GPU 进行全面基准测试,MLX、PyTorch MPS 和 CUDA GPU 上主要操作和层的基
自首次发布以来不到两个月,Apple 机器学习研究团队的最新成果 MLX 已在机器学习社区取得了重大进展。新框架迅速获得关注,这一点非常了不起,GitHub上已有超过 12,000 个星标, Hugging Face上的社区成员数量也不断增加,目前已超过 500 人。在之前的文章中,我们演示了 MLX 在训练简单的图形卷积网络 (GCN) 时的表现,并将其与包括CPU、PyTorch 的MPS和CUDA GPU在内的各种设备进行了基准测试。结果令人振奋,并展示了 MLX 在高效运行模型方面的潜力。原创 2024-06-28 10:15:30 · 165 阅读 · 0 评论 -
苹果大模型系列之 使用 MLX 在 macOS 上通过 LLM 微调构建自己的 LLM,在 Mac M2 上,训练过程大约需要 36 分钟(教程含详细步骤与代码)
在我之前的系列文章LlamaIndex中,我讨论了使用、LangChain等工具构建 RAG 应用程序,GPT4All, Ollama以利用 LLM 满足特定用例。在这篇文章中,我将探讨另一种称为 LLM 微调的方法。我使用名为的工具在 macOS 上对 Meta 的 LLaMA-3 和 Mistral LLM 进行了微调MLX,该工具是专为 Apple 芯片上的机器学习研究量身定制的数组框架。这种微调是使用一种名为的技术完成的Low Rank Adapters(LoRA)。原创 2024-06-28 10:05:43 · 527 阅读 · 0 评论 -
在 SwiftUI 中实现onAppear仅执行一次:两种方法
在 SwiftUI 中,onAppear修饰符通常用于在视图进入视图层次结构并出现时执行操作。但是,有时您可能希望操作仅在视图第一次出现时运行,而不是每次重新出现/重新渲染时都运行。我们将探索如何viewDidLoad()在 SwiftUI 中复制。本文将探讨实现此功能的两种方法。原创 2024-06-27 10:12:48 · 170 阅读 · 0 评论 -
SwiftUI:动态过滤 FetchRequest
现在我想要按名称过滤视图中的帐户,为此我必须对实体进行扩展,如下面的代码片段所示:DynamicFetchRequestViewAccount。原创 2024-06-27 10:07:56 · 47 阅读 · 0 评论