こんにちは。検索サービス開発4チームでメッセージアプリのLINEのiPhoneアプリ開発を 担当している金泰敬(キム テギョン)です。 今回説明させて頂きたい主題はLINEのモデル側を支えているCore Dataです。 Core Dataは、MacOS XのベースFrameworkであるCocoaのMVC構造のうち、 Model側を担当しているFrameworkです。 Core Dataを利用するとデータモデルの設計、オブジェクトのデータの読み取り、書き込み、管理などを簡単に行うことができます。 現在、LINEではCore Dataを利用してメッセージ、トーク、グループ、ユーザーなどを管理しています。 例えば、相手のメッセージが到着するとまずコアのデータからSqliteDBに格納します。 そして保存されたメッセージに関連しているトークでも更新が行われます。 もしそのメッセージが
前提「iPhoneアプリを作りたいなら」ではない。「売れるアプリを作る企画力」や「イケてるUIを作るデザイン力」なしに、「アプリ開発に必要なObjective-Cの技術力」だけあっても意味ない。それでもいい人向け。前提2巷のブクマされている「オススメ本集」は自身の著書や身内の本を薦めるためのポジショントーク的な選書がよくある。溢れかえる「分かりやすさ」を訴える本は必要はない。買うとしても1冊で十分。 分かりやすい本じゃないと身につかないなら、結局作れるものは「その程度」のものに留まる。そして「その程度」を作れる人は既にうじゃうじゃいるからApple税を無駄にするだけ。公式ドキュメント日本語ドキュメント - Apple Developer 日本語化された公式ドキュメント。全てを読むのは難しいが、「Objective-C プログラミング言語」「Objective-Cによるプログラミング」を読め
iPhoneアプリ用のログイン情報設定画面の作り方という記事を先日書いたのだが、パスワードをNSUserDefaultsを使用して平文で保存する事はセキュリティの面から好ましくないとの事(Storing passwords in iPhone applications - Stack Overflow)。 上記の記事によると、セキュリティ対策としてKeychainを使う事を薦めているのだが、Appleのドキュメント(Keychain Services | Apple Developer Documentation)にもiPhoneにパスワードを保存する場合にはKeychainを使う事が重要であると書かれていた。 ちなみに上記のAppleのドキュメントによると、個々のiPhoneアプリはKeychainにアクセス可能であるが、他のiPhoneアプリのKeychainアイテムにはアクセス出来な
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
Opening the Web Platform We are an open community of developers building resources for a better web, regardless of brand, browser or platform. Anyone can contribute and each person who does makes us stronger. Together we can continue to drive innovation on the Web to serve the greater good. It starts here, with you.
特に何か目的があるわけじゃないんですが、JavaScriptの練習のためにゲームを作ってみました。 Regex Of The Dead タイピングゲームのように正規表現を練習するためのシンプルなゲームです。ゾンビと一般人が迫ってくるのでゾンビの名前にだけマッチするように正規表現を入力して倒していきます。 HTML5の流れでオーディオ、グラフィック、フォントがHTML/JavaScriptで簡単に扱えるようになり、さらにenchant.jsのようなゲームエンジンも充実してきて、ゲームもJavaScriptだけで気軽に作れるようになってきたようです。 そんなわけで試しに書いてみたのがRegex Of The Deadです。プログラミングは長いことやっているもののゲームを作ったのは大学のとき以来かもしれません。 最初、何か良さそうなゲームエンジンがないものかいくつか調査しましたが、こういったタイ
自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(後編) 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日本科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡山五郎氏の講演「自動改札機ソフトウェアの品質向上の取り組み 厳密な仕様、もらさないテストを目指して」。この記事では、そのダイジェストを紹介しています。 本記事は、前編、中編、後編の3部構成です。お読みのページは後編です。 大規模なテストをどうやって実行しているか 続いて、大規模なテストについて。 1000万件のテストパターンを作っても、それぞれのテスト結果の正解を人手で作っていたら追いつきません。なので、別々に運賃計算ソフトウェアを作って、その答えを突き合わせてチェックしよう、という話です。 例
Overview With iOS5, Apple has introduced a new framework that enables your iOS applications to leverage the power of Twitter. The framework removes many of the common obstacles encountered when accessing Twitter’s API, including authentication and Tweet composition, and allows developers to focus on more meaningful levels of integration that enrich their application experiences. Go to the source W
(2010/06/18 追記) OAuthのみへの移行がワールドカップによる負荷を理由に8月16日からに変更されました。 moving the OAuth switch over date to august 16, 2010 - Twitter Development Talk | Google グループ http://groups.google.com/group/twitter-development-talk/browse_thread/thread/dfb89d9f29f339a2?pli=1 段階的に移行が行われ、8月31日からはBASIC認証が完全に使えなくなる様です。 Twitterブログ: Twitter APIデベロッパー・コミュニティへのお知らせ (oAuthへの移行に関しての期限延長) http://blog.twitter.jp/2010/06/twitter-a
地雷キャッチャーとして定評のあるfladdictですが、今回も大量の地雷を踏み歩いております。 とりあえず、解決方法を知らないとハマるポイントを色々とピックアップ。自分では直ったけど一般化できてない現象もあるので、間違い勘違い等ありましたら、コメント欄でビシバシご指摘ください。 iPhone5対応すると、iOS4.3以前では動かなくなる 最新のXCodeがarmv6のコンパイルをしてくれないので、ご臨終となります。 公式じゃないほうほうで無理矢理バイナリをビルドすればhogehoge。 サードの静的ライブラリが入ってると、コンパイルできない場合が 最新XCodeからコンパイルに、armv7sという新アーキテクチャが必須となってますが、ビルド済み静的ライブラリにはむろん入っていないのでコンパイルできません。対策は2つあって、ひとつは対応ライブラリが出るまでリリースを見送ること、もう片方はXC
「英語のリファレンスだけじゃよくわからん、動くサンプルが欲しい!」という僕のために、NDA解禁されたてほやほやの iOS 6 関連のサンプルコード/オープンソースライブラリ等を集めてみました。 UICollectionView 1. iOS6-Playground iTunesから取得したムービーのカバー画像を、UICollectionView を用いて様々なレイアウトで表示するサンプルコードです。 UICollectionViewController, UICollectionViewCell, UICollectionViewLayout, UICollectionViewFlowLayout 等、UICollectionView 関連の新クラスは一通り使われています。 StoreKit に新たに追加された SKStoreProductViewController も使われていて、参考
iOS組み込みのキャッシュモジュールNSCacheについて発表しました - ninjinkun's diary @k_katsumi キャッシュを分ける方のはわかりやすくて良いですね。後から読む人の参考になりそうなので、URL と URL の発言、ブログに引用させていただいても良いでしょうか。 2012-03-26 16:42:44 via web to @k_katsumi @ninjinkun はい。ぜひぜひー。せっかくなので便乗して僕がいつも使ってる画像キャッシュのコードを共有したりしてみます。 2012-03-26 16:45:05 via YoruFukurou to @ninjinkun @k_katsumi お、それは楽しみです!この手のものはみんな独自に作ってる感じだと思うので、参考にさせていただきたいですー。 2012-03-26 16:48:23 via web to
今回は、実際のiPhoneアプリ開発に必要なSDKの入手方法、さらにその基本設定を中心に解説します。 iPhone SDKとは 第1回では、iPhoneの開発環境であるXcodeについて説明しました。そもそもXcodeは、基本的にMac向けのアプリケーションを開発するためのツールです。そこで、これを使ってiPhoneアプリを開発するために「iPhone SDK」という開発キットを追加でインストールする必要があります。iPhone SDKをインストールすることで、XcodeからCocoa Touchを使ったり、開発中のアプリをMac上で動かすための「iPhone シミューレータ」を使ったりできるようになります。 また、あらかじめXcodeがインストールされていない場合でも、iPhone SDKをインストールする際にXcodeを一緒にインストールすることができます。まずはiPhone SDKの
ネットを利用するiPhoneアプリケーションは、圏外の通知が必須に? - 24/7 twenty-four seven 上記の記事で書いたように、現在、ネットを使用するアプリケーションは、ネットワークに接続できないときには、何らかの形でユーザーに知らせないといけないので、僕が「はてな touch」「LDR touch」「テレビ番組表」でやっている方法を書きます。 Reachability iOS Dev Center - Apple DeveloperにサンプルコードとしてアップルがReachabilityというものを公開しています。 こちらを使うと、ネットワークの状態を簡単に取得することができます。 また、圏外になったときに自動的に通知してくれる機能もついています。 使い方 ReachabilityのプロジェクトからReachability.hとReachability.mをコピーします
管理に使える便利なツール はじめに J2SE 5.0 には管理用やデバッグで使える jmap などのツールが付属していました。ところが、これらのツールは Windows では使えなかったのです。 それがやっと Java SE 6 で、Windows でも使えるようになったのです。そこで、あらためてここで紹介しましょう。取りあげるのは jinfo jmap jstack の 3 つのツールです。 また、もう 1 つ便利なツールが加わりました。それが jhat です。これもいっしょに紹介します。 jinfo jmap は Java VM の構成情報を参照、設定するためのツールです。 とりあえず試してみましょう。題材は OutOfMemoryError のハンドリングで使用した OutOfMemorySample です。 jinfo の引数は引数はターゲットとなる Java VM の PID で
(追記:2012-12-15) 本記事およびこれに続くその2,その3をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 購入ご検討のほどよろしくお願いしますm(__)m 関連記事: 電子書籍「Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版をGumroadか
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く