shu223

フリーランスiOSエンジニア。エンジニアと人生コミュニティ運営。YouTube・Podcastパーソナリティ。著書「iOS×BLE」「Metal入門」「実践ARKit」「iOSデプス詳解」他。GitHubでさまざまなOSSを公開。

shu223

フリーランスiOSエンジニア。エンジニアと人生コミュニティ運営。YouTube・Podcastパーソナリティ。著書「iOS×BLE」「Metal入門」「実践ARKit」「iOSデプス詳解」他。GitHubでさまざまなOSSを公開。

ウィジェット

マガジン

  • 日々の学びメモ

    技術的なメモやサンプルコード、思いついたアイデア、考えたこと、お金の話等々、頭をよぎった諸々を気軽に垂れ流しています。

  • #エンジニア 系記事まとめ

    • 1,159本

    noteに投稿されたエンジニア系の記事のまとめ。コーディングTIPSよりは、考察や意見などを中心に。

  • #WWDC24 の勉強メモ

    WWDC 2024やiOS 18, visionOS 2についてセッションやサンプルを見つつ勉強したことを記事にしていくマガジンです。 NDAの都合上、Apple Developer Program にご登録している方以外は購読をお控えください。また同じ会社内であっても回し読み(内容の共有)はお控えください。

  • #WWDC23 の勉強メモ

    WWDC 2023やiOS 17についてセッションやサンプルを見つつ勉強したことを記事にしていくマガジンです。また昨年キャッチアップをお休みしたWWDC22についてもこちらに投稿していきます。 NDAの都合上、Apple Developer Program にご登録している方以外は購読をお控えください。また同じ会社内であっても回し読み(内容の共有)はお控えください。

  • フリーランスの収益公開シリーズ全部入りパック

    2019年1月〜6月にかけて書いていたフリーランスの収益公開シリーズの記事全部入りパックです。 おまけとして、2021年〜の株式投資や不労所得(非労働集約売り上げ)の集計結果の記事も追加しています。

  • 【エンジニアのための発信講座】#1 発信をはじめ…
  • 【エンジニアのための発信講座】#2 ネタの見つけ…
  • 【エンジニアのための発信講座】#3 発信を習慣化…

最近の記事

  • 固定された記事

フリーランス単価の変遷を公開する

先ほど「フリーランスエンジニアがコード書いて稼げる上限」という記事を書きました。で、その話をするにあたって、自分の今の単価はいくらか、その前はいくらだったのか、みたいな具体的な数字を書くと参考値になるかなと思ったので2013年〜現在の単価の変遷をこちらで公開してみます。「なぜその値段に設定したのか?」という理由つき。 購入者の皆様の声:

¥1,500
    • [DockKit] トラッキング対象をタップで選択する

      DockKitでトラッキング対象を明示的に選択するメソッドとして、`selectSubject(at:)` と、`selectSubjects(_:)` がある。 final func selectSubject(at unitPoint: CGPoint) async throws final func selectSubjects(_ ids: [UUID]) async throws 単数形と複数形の違いのようだが、渡すものが「座標(`CGPoint`)」と「ID

      • iOSでルートに沿った標高を取得する

        「ルートに沿った標高の可視化」というのは、たとえばYAMAPという登山アプリだったり、 標準のマップアプリ(いわゆるAppleマップ)もこんな感じでサポートしている。 登山ではないにしても、坂道のアップダウンというのは(特に徒歩や自転車での)ルート選びにおいて重要な要素だと思う。 ただ、MapKit のルート検索API(に限らず、Google Maps Directions API や Mapbox Directions APIでも同様)では、ルート検索において坂のアッ

        ¥300
        • 【SwiftUI】 MapKitでGeoJSONを扱う

          UIKitの場合UIKit での手順は下記記事に示した通り: 流れだけ再掲しておくと、 `MKGeoJSONDecoder` でデコード `MKGeoJSONObject` のパース `MKGeoJSONFeature` の `properties` をデコード `MKGeoJSONFeature` の `geometry` を `MKPolyline` で描画 となる。 SwiftUIの場合SwiftUIの場合はだいぶ実装方法が変わってくる。まずそもそも、ポ

          ¥300
        • 固定された記事

        フリーランス単価の変遷を公開する

        ¥1,500

        マガジン

        • 日々の学びメモ
          ¥400 / 月
        • #エンジニア 系記事まとめ
          1,159本
        • #WWDC24 の勉強メモ
          24本
          ¥980
        • #WWDC23 の勉強メモ
          25本
          ¥980
        • フリーランスの収益公開シリーズ全部入りパック
          10本
          ¥1,280
        • visionOSの勉強メモ
          8本
          ¥500

        記事

          PLATEAUの3D都市モデルをiOSで利用する

          PLATEAUはUnity用やUnreal Engine用のSDKは用意されているが、iOSネイティブ用SDKは用意されていない。 しかしPLATEAUの3D都市モデルの幾何形状を表すデータ構造は、 MapboxのFill Extrusionレイヤーと同じく平面ポリゴンと高さによって表現されるものなので(LOD0だけ?)、レンダラを自前実装しなくてもMapbox Maps SDK for iOSを利用してPLATEAUの3D都市モデルを描画できる。 しくみ・原理はiOS

          ¥350

          PLATEAUの3D都市モデルをiOSで利用する

          ¥350

          Apple Watch Series 10とSeries 5のハードウェア性能の比較

          数年ぶりにApple Watchを注文した。本日発表されたSeries 10。 メールボックスを漁ってみたところ前回購入したのは2019年9月で、モデルを調べてみるとこちらはSeries 5のようだ。 というわけで、ひさびさに買うApple Watch Series 10が、5からどれぐらい進化したのか比較していこうと思う。 Series 1 〜 4の比較はこちら: サイズと重量Series 5(44mm) 縦: 44 mm 横:38 mm 厚さ:10.74 m

          Apple Watch Series 10とSeries 5のハードウェア性能の比較

          国土地理院ベクトルタイルをMapKitで利用する

          iOSDC 2024でのGISについてのトークの続き。国土地理院の最適化ベクトルタイルのデータを、MapKitで読み込んで地図上に可視化する。 gsi-cyberjapan/optimal_bvmap: 国土地理院最適化ベクトルタイル 結果だけ示すとこんな感じでMapKitで国土地理院ベクトルタイルの道路データを可視化できた: 何がやりたかったかというと、鎌倉にたくさんある「小道」を可視化したかった。 具体的にやっていること: 道路を描画する線の太さを幅員に基づいて

          ¥300

          国土地理院ベクトルタイルをMapKitで利用する

          ¥300

          「道路の幅員」情報が入ったオープンデータを探す

          iOSDC 2024でGISについて話した続きで、自分用のマップを作ってみたいと思い、道路の幅(幅員)の情報が入ったタイルセット(もしくはデータセット)を探したメモ。 なお幅員の「員」ってなんだろ?と思ったのでググってみたところこういうことらしい: MapboxのタイルセットMapbox Studio標準で使えるタイルセット 道路の幅員の情報は入ってなさそう Mapbox Studioで確認したところ、同じ種類の道路は全部同じ幅で描画されている そもそも幅員以前に、

          「道路の幅員」情報が入ったオープンデータを探す

          緯度経度をピクセル座標に変換するSwift実装

          地図タイルを描画してそこに自分の現在位置なり、位置情報と紐づいたデータなりをマッピングしようとすると、緯度経度からピクセル座標に変換する必要がある。 それをSwiftでどう実装するか、のメモ。 なお今回はあえてMapKitを使用しない制約の中での話なのだが、MapKit を使うと普通に MKMapView に緯度経度をビュー内の座標に変換するメソッドがあったりする。 func convert( _ coordinate: CLLocationCoordinate2

          緯度経度をピクセル座標に変換するSwift実装

          地理院タイルについてのメモ

          地理院タイルについて疑問に思ったこと、調べたこと、試したことをメモしていく。(地図タイルとは何か、といった前提の話は割愛) 各種リンク地理院タイル一覧 公式の解説 参考書籍 タイル座標X, Yと緯度経度のマッピングヘルプに詳しく記載されていた。 「ズームレベル0~2の各タイルの範囲とタイル座標」 

          地理院タイルについてのメモ

          Anthropic Consoleのプロンプト生成機能を試す

          この記事を読んでいたのだが、 記事内のこの高度なプロンプトは "Anthropic Generate a prompt" なるものを使用して生成したらしい。 Anthropic Console にアクセスしてみると、 "Generate a prompt" という機能がある。 これを自分でも試してみた。 アカウント作成 & クレジット購入まずそもそも Anthropic Console のアカウント作成が必要。 アカウント作成後、Dashboard にアクセスす

          Anthropic Consoleのプロンプト生成機能を試す

          swift-coreml-diffusers のコードを読んだメモ

          この発表をする際に、自前で変換・圧縮したCore ML Stable Diffusion検証用として下記OSSアプリを使用したのだが、 その際にいろいろ中身を読んだのでメモ。主にiOS版の話。 なお reduceMemory など一部のコードリーディング結果については下記記事にも書いている。 ModelInfo の定義ModelInfo の extension には static let でこういうのがズラズラと定義されている。 static let v21B

          swift-coreml-diffusers のコードを読んだメモ

          Core ML Stable Diffusion の SPLIT_EINSUM_V2 サポート

          SPLIT_EINSUM_V2 とはml-stable-diffusion のv1.0.0で追加されたアテンション実装。Neural Engineのパフォーマンスを30%アップする。 実際速い。この記事のこのへんに書いたが、指定なし(original)とは処理時間に5倍ぐらいの差があった。SPLIT_EINSUM と比較するとたしかに30%ぐらいかもしれない。

          Core ML Stable Diffusion の SPLIT_EINSUM_V2 サポート

          iOS 18 / coremltools 8の新しいモデル圧縮手法を試す

          下記記事にまとめたcoremltools 8 / iOS 18の新しいモデル圧縮手法を実際に試してみたい。 WWDC24の同セッション内では、Stable Diffusion XLのモデルを5.14GBから(新しいPalettization手法により)1.3GBに圧縮。 (セッション内では "Post training compression with calibration data" はデータが必要なのでスキップ) データ不要の圧縮手段としてセッション内では Pos

          ¥980

          iOS 18 / coremltools 8の新しいモデル圧縮手法を試す

          ¥980

          【Core ML】「Transformerアーキテクチャの最適化」実践編

          下記記事にまとめた「Transformerアーキテクチャの最適化」を実際に「やろうとした」メモ。 なお結論としてはうまくいっていない。試行錯誤の過程を残しておく。動画内のコードはWWDCのWebページでコピペできるようにはなってないのでそこを書き起こしているという意味でも本記事には多少の価値があると思う。 環境構築coremltoolsの環境構築手順はこちらの記事にまとめた。8.0b1をインストールする。 MistralCausalLM

          ¥980

          【Core ML】「Transformerアーキテクチャの最適化」実践編

          ¥980

          【Core ML】 Multifunction models(マルチファンクションモデル)

          Core MLの新機能「Multifunction models」について、WWDC24では2つのセッションで解説があった。 "Bring your machine learning and AI models to Apple silicon" "Deploy machine learning and AI models on-device with Core ML" 本記事では、これら2つのセッションの "Multifunction models" の解説パートをま

          ¥980

          【Core ML】 Multifunction models(マルチファンクションモデル)

          ¥980