Swift 6の謎めいた`@isolated(any)`:知っておくべきこと

2025-09-01
Swift 6の謎めいた`@isolated(any)`:知っておくべきこと

Swift 6は、非同期関数の分離を記述する`@isolated(any)`属性を導入しましたが、最初は混乱を招きます。常に引数が必要です が、この引数は変更できません。この記事では、その導入理由を説明します。非同期関数のスケジューリング中に分離に関する情報が失われるという問題を解決するためです。`@isolated(any)`は関数の分離プロパティへのアクセスを提供し、よりスマートなスケジューリングを可能にします。特に`Task`と`TaskGroup`の処理において、MainActor上のタスクの実行順序を保証します。ほとんどの場合無視できますが、非同期関数の分離とスケジューリングを扱う際には、`@isolated(any)`を理解することが、効率的で信頼性の高い並行コードを作成するために不可欠です。

続きを読む

確実性への別れ:Swiftにおける確率的プログラミング

2025-08-29
確実性への別れ:Swiftにおける確率的プログラミング

この記事では、Swiftで不確実なデータを取り扱う新しい方法、Uncertainを紹介します。これは確率を型システムに直接エンコードし、GPS座標の精度不足などの問題をエレガントに解決します。確率分布とモンテカルロサンプリングを用いることで、開発者は現実世界の不確実性をより正確にモデル化し、より堅牢で信頼性の高いアプリケーションを構築できます。この記事では、Uncertainに基づいたSwiftライブラリを提供し、様々な確率分布の扱い方や統計分析の実施方法を示す例を含んでいます。

続きを読む

OllamaでMac上でローカルにLLMを実行する

2025-02-16
OllamaでMac上でローカルにLLMを実行する

AppleはWWDC 2024でApple Intelligenceを発表し、「私たちのためのAI」を約束しましたが、その到着は遠いように感じます。一方、Ollamaを使用すると、llama3.2などの大規模言語モデル(LLM)をMac上でローカルに実行できます。「LLMのためのDocker」と考えてください。モデルの取得、実行、管理が容易です。llama.cppをベースとしたOllamaは、Modelfilesを構成に、OCI規格を配布に使用します。ローカルでモデルを実行することで、プライバシー、コスト、レイテンシ、信頼性などの利点があります。OllamaはHTTP APIを公開しており、Nominate.appのように、アプリケーションへの統合を容易にします。Nominate.appは、インテリジェントなPDFファイル名の変更に使用しています。この記事では、Appleの約束を待つ代わりに、Ollamaを使用して、次世代のAI搭載アプリケーションを今すぐ開発することを推奨しています。

続きを読む
開発