[Swift基礎 #1] Optionalの正体とアンラップの基準
Swiftを学ぶとき最初に出会う関門がOptionalです。String?の疑問符、if let、guard let、!、??。構文が多いため、それぞれを別々に覚えると規則が混乱しがちです。
記事を読むDIG BY TOPIC
興味のある分野を選び、基礎から読み進めましょう。
TOPIC GROUP 01
言語とランタイムからアプリ設計までつなげます。
Swift & Objective-Cの基礎原理と実務での判断基準を体系的に解説します。
Swiftを学ぶとき最初に出会う関門がOptionalです。String?の疑問符、if let、guard let、!、??。構文が多いため、それぞれを別々に覚えると規則が混乱しがちです。
記事を読むクロージャ編で、[weak self]を使って循環参照を切る方法を扱った際、ひとつの疑問を保留にしました。weakのほかにunownedもありますが、何が違い、いつ使うのでしょうか。この疑問に答えるには、まずARCが実際にどう動くのか、その仕組みから見る必要があります。
記事を読むawaitで停止するのはスレッドではなく関数です。関数が状態をヒープに保存してスレッドを協調型プールに返すsuspensionの正確な意味と、逐次awaitが並列実行ではない理由を整理します。
記事を読むiOSエンジニアリングの基礎原理と実務での判断基準を体系的に解説します。
iOSアーキテクチャシリーズをここまで読んでいれば、選択肢はすべて出そろっています。MVC、MVVM、MVP、VIPER、Clean Architecture、MV、TCAです。
記事を読むiOS開発を学んでいると、ある時点で必ずRxSwiftやCombineという壁に出会います。求人票にはほぼ必ず登場しますが、実際にコードを開くと、map、flatMap、sinkが延々と続く見慣れない構文に戸惑いがちです。「クロージャーやデリゲートで普通に動くのに、わざわざこれを学ぶ必要があるの?」…
記事を読むTOPIC GROUP 02
設計、品質、コンピュータの基礎をつなげます。
ソフトウェア設計の基礎原理と実務での判断基準を体系的に解説します。
プロジェクトが大きくなるほど、1つのファイルを修正するのが怖くなります。影響がどこまで広がるか見通せないからです。
記事を読むテストとコード品質の基礎原理と実務での判断基準を体系的に解説します。
iOS開発をしていると、「テストコードを書かないと…」と思いながら、つい先延ばしにしてしまいますよね。いざXCTestを開いても、何から始めればよいのか分かりにくいものです。
記事を読むスパゲッティコードが指すのは長さや汚さではなく、制御フローです。1968年のダイクストラによるgoto反対の手紙を起点に、gotoが消えた後もスパゲッティが残った理由と、循環的複雑度による測定方法をまとめます。
記事を読むコンピュータサイエンスの基礎原理と実務での判断基準を体系的に解説します。
メモリのスタックは関数呼び出しとともに片付き、ヒープは動的な寿命とサイズを支えます。2つの領域のコスト、Swiftの値型・参照型の実際の配置、データ構造としてのStack・Heapとの違いを整理します。
記事を読むタスクマネージャーを開くとプロセス一覧が表示され、開発ドキュメントを読むとスレッドの話が出てきます。どちらも「実行される何か」のようですが、正確には何が違うのでしょうか。
記事を読むデータ構造のヒープはメモリのヒープと名前が同じだけです。全体をソートせず最小値を高速に取り出す規則、配列で木を表す添字計算、優先度キューの実務上の役割をまとめます。
記事を読むTOPIC GROUP 03
AIの基礎からコーディングエージェントまで扱います。
AIの基礎とツールの基礎原理と実務での判断基準を体系的に解説します。
ChatGPTに質問して回答を受け取ると、どこかに保存された正解を探して表示したのだと思いがちです。NaverやGoogleに検索語を入力すると文書を探してくれるのと同じようにです。しかし、AIはそのようには動きません。この誤解があるため、「AIが嘘をついた」「AIの答えが毎回変わる」といった戸惑う体験が生まれます…
記事を読む「AIを使ってみたけど、いまいちだった」と聞くと、「メールを書いて」「レポートを要約して」のような一行の依頼で止まっている人が多くいます。しかし、AIに送る依頼文、つまりプロンプトを少し整えるだけで、まるで別の人が書いたように成果物が変わります。プロンプトエンジニアリングという大げさな名前の技術もありますが…
記事を読む「結局、何を使えばいい? 課金は必要?」この疑問に、2026年半ば時点で答えます。結論は、すべてにおいて1位のAIはないということ。用途で選びます。3サービスとも無料プランが十分実用的になったので、まず無料で使い、何に困るか確認してから課金しても遅くありません。
記事を読むAIコーディングとエージェントの基礎原理と実務での判断基準を体系的に解説します。
Claude Codeの/initコマンドはコードベースを分析し、CLAUDE.mdを自動生成します。既存ファイルがある場合の動作、Cursor・Copilotルールの移行、対話型モード、生成後の調整基準までまとめました。
記事を読むChatGPTやClaudeを使っていると、物足りなさを感じる瞬間があります。モデルは賢いのに、自分のデータベースも社内Wikiも読めないからです。
記事を読むハーネスはモデルを包む実行ループです。ツール・権限・コンテキスト管理・フィードバックという構成要素、エージェントの性能がモデルの知能とハーネスの品質の積で決まる理由、優れたハーネスの条件を整理しました。
記事を読む