タグ

ブックマーク / qiita.com/Kuniwak (3)

  • Swift の HTTP ライブラリで苦しまないための自作 API クライアント設計 - Qiita

    iOS 開発で必須とも言える API クライアントの設計手法を、初心者にもわかりやすく紹介します。 はじめに あなたは、どのように API クライアントを設計していますか。 まずはライブラリを選ぶでしょうか。 それとも、クラス図を書くのでしょうか。 なるほど、なるほど、ふーむ。 この記事では、もっと別のより良い設計方法を紹介します。 紹介する設計方法は、ほとんど設計知識のない状況から始めることができます。しかも、最終的にはあなたのプロジェクトにぴったりの設計を手に入れられる方法です。 対象読者 さて、この記事では、対象読者を次のように設定しています: どのような API 設計にしたらいいかわからない人 どのような API のライブラリを使うべきかわからない人 また、最終的には以下のレベルの目標を達成できることでしょう: あなたのプロジェクトAPI 層設計者になれるレベル 目次 はじめに

    Swift の HTTP ライブラリで苦しまないための自作 API クライアント設計 - Qiita
  • Swift のパフォーマンス比較を正しくできますか? パフォーマンスに差がないことをSIL から読み解く事例 - Qiita

    Swift のパフォーマンス比較を正しくできますか? パフォーマンスに差がないことをSIL から読み解く事例SwiftSILパフォーマンス計測 Swift におけるパフォーマンス比較を、nil 判定を例に解説します。なお、パフォーマンスを比較する上で、コンパイル時の最適化1の様子を観察することはとても重要です。この記事では、最適化の様子を中間生成物を通して観察する方法についても解説しています。 さて、結論から言うと、コンパイル時の最適化によって、nil 判定を != nil でする方法と if let でする方法は等価になります。したがって、最適化されていればパフォーマンスに差は出ません。 nil 判定とは nil 判定の方法はいくつかあります。このうち、次の 2 つが代表的なものです:

    Swift のパフォーマンス比較を正しくできますか? パフォーマンスに差がないことをSIL から読み解く事例 - Qiita
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
  • 1