Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
Monzo has announced its 2024 financial results, revealing its first full-year pre-tax profit. The company also confirmed that it’s in the early stages of expanding into the broader European market… Last week, TechCrunch paid a visit to Apple’s Austin, Texas manufacturing facilities. Since 2013, the company has built its Mac Pro desktop about 20 minutes north of downtown. The 400,000 square foot fa
Managed Object Contextはスレッドセーフではない Core Dataを利用するiOS Appの処理の一部をマルチスレッド実行するように修正したところ、実行時エラーが発生して強制終了するようになってしまった。このときデバッグコンソールには次のようなメッセージが出力された。 2012-01-13 14:09:16.441 [App名][12661:6c03] *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSCFSet: 0x27cbd0> was mutated while being enumerated.' ステップ実行によりエラー発生箇所を調べたところ、NSManagedObjectContextオブジェクトに対してexec
データモデルで多対多の関係を扱うことはけっこう多かったりします。代表的なのが「ブログ記事」エンティティと「タグ」エンティティの関係がそれですね。ブログ記事は複数あり、またその記事には複数のタグが付けられ、かつタグは複数のブログ記事の間で重複して指定できるのでまさに多対多の関係にあるわけです。 今回はメモはそんな多対多のデータをCore Dataフレームワークで扱う方法についてのメモです。Core Dataを使うと多対多のデータ構造が非常に簡単に扱えます。やり方さえ一度覚えてしまえば後は楽ちんです。 データモデル 左図に示すように、ブログ記事を表す「Blog」エンティティと、そのタグを表す「Tag」エンティティがある場合を例にとって解説します。 上記の2つのエンティティはそれぞれリレーションを持っています。BlogエンティティはTagエンティティの要素を複数持つことを表すリレーション「tag
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど [前回] Cocoaの日々: UISearchDisplayController 調査 今回は UISearchDisplayController と NSFetchedResultContoller を組み合わせて Core Data 内のデータを検索できるようにしてみる。 情報 ネット上で情報を探したがあまりなかった。Stack Overflow の記事が参考になった。 How to use NSFetchedResultsController and UISearchDisplayController - Stack Overflow 基本的には UISearchDisplayDelegateメソッド内で画面で入力した文字を条件にして NSFetchedResultControl
HOME » Natsu note » 古い投稿 » NSFetchedResultsController : sectionNameKeyPath設定時の注意 Core DataをUITableViewと組み合わせて使う場合、NSFetchedResultsControllerを使うと非常に便利。 NSFetchedResultsControllerとは、一言で言えば、Core Data(の永続ストア)からフェッチしたデータを、UITableViewに表示しやすいようにsectionとrowで管理してくれるものだ。fetchRequestだけを使ってあとは自力でやるより、遥かに楽になるのでぜひ活用したい。 が、はまりどころがいくつかある。セクション情報あたりの挙動だ。 sectionNameKeyPathを指定して、セクション情報を生成する場合、以下のことは結構重要。 まず、Fetche
どうも、吉村です。 今回はiOSにおけるCoreGraphicsの話題でなおかつCGContextDrawImage(), およびCGImageRefにフォーカスした非常にピンポイントな話題です。 CGContextDrawImageが遅い! そう感じたのは以下のような状況です。 「CGContextDrawImage()を1秒間に何十回もコールする」 主にリアルタイムグラフィックスを扱う場合ですね。 え?そんなに? と意外かもしれませんが、CGContextDrawImage()は、 ゲーム等を作る場合以外では意外と高いレートでコールされることはないので、気づいている人は少ないかもしれません。 では何が遅いのか? それは 「画像をラスターデータに展開する処理」 です。 一般的な画像形式は基本的に圧縮されています。 例えばpngは、Deflateというアルゴリズムを使うzlibにより圧縮さ
どのバージョンのモデルを使っているのか、またそれぞれのバージョンで使用しているエンティティのリストが格納されている。 なお、複数のバージョンが存在しない場合(一番最初のバージョンなど)は <modelname>.momd は存在せず、バンドルフォルダのルートレベルに <modelname>.mom ファイルが設置される。 (単一、複数で配置場所が変わることがバージョンアップ時の問題を引き起こす。問題の対応方法については前回の記事を参照のこと) トラブル 先日訳あってモデルファイル名を変更した。具体的には頭大文字を小文字にした。 HairConcierge.xcdatamodeld → hairConcierge.xcdatamodeldそれと同時にモデルファイルをバージョンアップし、マイグレーションの設定を行った。 この新しいバージョンのアプリをビルドして古いバージョンを上書きインストール
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 以前、CoreData のマイグレーションについて調べたことがある。 (旧) Cocoaの日々: CoreData - マイグレーション これはマッピングモデルを定義するだけで簡単にできる、いわゆる「自動マイグレーション」を解説していた。 今回は NSEntityMigrationPolicy を使ったいわゆる「手動マイグレーション」について調べた。 マイグレーションの概要 Core Data ではエンティティ(テーブル)の定義を変更すると必ずマイグレーションを行う必要がある。例えば現在のアプリケーションをバージョンアップする際に属性 email2 を一つ追加する場合、マイグレーション設定を行わないと Core Data 利用時に例外が発生してアプリケーションが落ちてしまう。 (例)
iOS でデータを永続化する方法の続きです。今回は Core Data を使ったデータの永続化方法について説明します。 本記事では複雑で習得が難しいとされている Core Data について概念編と実装編の2回に分けて説明していきます。記事の全体的な流れとしては Core Data がどういったフレームワークかというところから O/R マッピングの説明、Core Data を使うメリット、Core Data フレームワークの概要、Core Data を使ったプログラムの例まで説明します。次の記事で実際に動くサンプルを作成します。 Core Data って何? Core Data はモデルオブジェクトを永続化するためのフレームワークです。もとは Mac OS X のために開発されたフレームワークで、iOS 3.0 から使用できるようになりました。 Core Data はデータの永続化に SQ
iOS でオブジェクトをシリアライズする方法に続き今回もデータ永続化方法の紹介です。 iOS にはプロパティリストと呼ばれるファイル形式があります。プロパティリストは NSArray や NSDictionary クラスを使って簡単にデータの読み書きができます。 ここではプロパティリストを使った基本的なデータの保存方法から自作クラスのオブジェクトを保存する方法まで説明します。 プロパティリストって何? プロパティリストは Mac OS X や iOS で利用することができるデータ永続化のためのファイル形式です。Mac OS X ではもっぱらユーザの情報を設定するのに使われる事が多く Windows のレジストリのような使われ方をしています。iOS では Info.plist のようにアプリの情報を設定するのに使われることが多いです。 またプロパティリストはファイルの拡張子が .plist
iOS でデータを永続化する方法の続きです。今回はシリアライズされたオブジェクトの保存方法について説明します。シリアライズされたオブジェクトはファイルで保存することが容易なためデータ永続化の際に頻繁に使用されます。 シリアライズ自体はデータの保存に限らず、Interface Builder やネットワークを使ったデータの送受信などいろいろなところで使われています。 プログラマであれば必ずおさえておきたい技術の一つです。 シリアライズって何? オブジェクトの状態をバイナリ(0と1の集まり)に変換することをオブジェクトのシリアライズまたはシリアル化といいます。逆にバイナリをオブジェクトに変換することをデシリアライズといいます。 シリアライズされたデータは iOS 上では NSData オブジェクトとしてあつかわれます。NSData オブジェクトはそのままファイルに保存することができます。 iO
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く