Clone via HTTPS Clone with Git or checkout with SVN using the repository’s web address.
続きを書きました → 伝えなければ伝わらないという当たり前の話 ソフトウェア開発に関する相談を受ける中で、どうもソフトウェアというものの特性について誤解をされているな、という思いを持つことがあります。 そうした場合、聞いてみるとプログラミングの経験が無かったり、殆どプログラミングには携わったことがないという方が多いです。 ソフトウェアを開発しようとするならば、ソフトウェアという特性をよく知った上で、プロジェクトは運営した方が良いし、うまくいくはずです。そしてソフトウェアならではの特徴を知るのに、プログラミングの経験はとても重要です。 この記事では、プログラミング経験の無い方が陥ってしまいがちな、ソフトウェア開発にまつわる誤解について考えてみました。 Harry Potter is Ready for Divination / weekbeforenext 誤解:既にあるソフトウェアを流用し
実装 まずダイアログを管理する CustomDialogViewController を用意する。 #import "CustomDialogViewDelegate.h" @interface CustomDialogViewController : UIViewController { NSString* labelText_; NSString* buttonTitle_; id delegate_; UILabel* label_; UIButton* button_; } @property (nonatomic, copy) NSString* labelText; @property (nonatomic, copy) NSString* buttonTitle; @property (nonatomic, assign) id delegate; @property (no
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 であつかうデータ全般について書きましたが今回はデータをフラッシュドライブに保存する方法について説明します。 データの永続化って何? メモリにあるデータはアプリを終了すると消えてしまいます。 アプリを終了しても残しておきたいデータはフラッシュドライブに保存する必要があります。メモリにあるフラッシュドライブに保存することをデータの永続化といいます。永続化されたデータはフラッシュドライブが壊れない限り永続的に保存され残ります。以降 iOS でフラッシュドライブがどのように管理されているのかと、データを永続化するのにどのような方法があるのかについて説明していきます。 フラッシュドライブを構成する3つの領域 データを永続化する方法を説明する前に iOS でフラッシュドライブがどのように管理されているか見ていきましょう。 iOS ではフラッシュドライブ
iPhoneで文字を入力してもらうときにはUITextFieldかUITextViewを使います。 UITextFieldとUITextViewはUITextInputTraitsプロトコルを継承していて、プロパティをちょっと変えるだけでいろいろと細かい設定ができます。 iPhoneの画面は狭いので、文字入力をするときにこのあたりのことを注意するようにすると、ユーザーの使い勝手がちょっとよくなりますよ。 (2012/03/31 iOS 5.0で追加されたUIKeyboardTypeTwitterを追記しました。) まずはUITextFieldを作ってみる まずはテキストフィールドの作成。 普通につくると、こんな感じのキーボードが表示されて文字が入力できます。 (図はクリックすると拡大します。) UITextField* inputText = [[[UITextField alloc] i
Androidで開発をやっていると、何度もOutOfMemoryErrorに出くわすことが多いです。Androidは搭載メモリ自体が少なく、1アプリケーションあたり最高で16M。推奨だと8M程度(実際使ってみるとそれより少ない感じ)とされています。そのため、普段PCで開発するのとは違って、結構メモリの容量を意識してプログラムしないといけなかったりします。 普通にちょっとしたプログラムを組む分にはいいのですが、結構困るのはサイズのでかい画像イメージを扱う場合です。特にデジカメなんかで撮った画像は最近のデジカメの画素数がすごいため、jpgファイルの段階で数メガバイトあったりします。 そうした画像をBitmapFactory.decodeFileメソッドなんかで、一度に何枚も読み込んでしまうと、もともとサイズの大きなjpgがメモリ中展開されて更に大きくなってしまうため、あっという間にOutOfM
最近、増井君と私でアーキテクチャの話をすることが多いのだが、そんなディスカッションの中で気に入っているのは左の図のようなアーキテクチャ。 もちろん、核となるのはビジネスロジックを含んだModelの部分。そこをしっかりと実装し、内部構造を隠す粒度の荒いインターフェイスを定義し、外から何をされてもデータの整合性が壊れない様にすることは何よりも大切。 そして、そのModel層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSON(XMLでもかまわない)をやりとりするだけの RESTfulなWeb Serviceにすることがミソ。こうすることによりにより、どんなに締め切りに負われようが、誰がControllerを実装しようが「ずるができない」ように作っておく(ずる=本来使うべき外部インターフェイスだけでなく、Model内部に直接アクセスして依存関係を作ってしまう事)
っつーても1.6~4.0までぼちぼち対応しているって程度。 一般アプリ向け。ゲームは知らん。 ・プロジェクトそのもののAPI Versionは最新のもの(今なら14)を指定 ・android:minSdkVersionは当然V4 ・android:targetSdkVersionは二択。3.x以上の端末でMenuボタンを出したいならV10、腹を括ってモダン設計で行くなら最新のもの(今ならV14) ・android-support-v4.jarを使うのは今時常識。Fragment使わず全部ベタActivityとか使う輩はこの先生mashroomあたわず ・基本的にV4のAPIしか使ってはいけない。それ以上を使う時はリフレクションするかクラスローダの例外を拾ってスタブクラスでゴニョゴニョ。 ・V5以上のAPIを使ってもコンパイルは通ってしまう。そのくせV4のマシンで動かすとクラスロ
「ご趣味は?」と聞かれて「Lispをdisることですね(キリッ」と答えてしまい、 合コン開始4秒で蚊帳の外に放り出されるあんちべです、こんばんは。 今から長い文章を書く。 結論だけさっさと言っちゃうと 「まぁ、初めのうちは、あんまり『○○は使えない』とかdisらない方が良いよ」の一言だ。 さぁ、それで話しはおしまい。もし暇だったら続きも読んで欲しい。 (あと、この文章はたった一人のために書いた。 ちょっと妙に聞こえるところもあるだろうけど、そこは聞き流して欲しい) 私はよくいろんなものを嫌いだ嫌いだとdisる。 にわかベイジアンが嫌い(話すと長くなる)、Javaが嫌い(JVMは愛してる)、Perlが嫌い、 MavenとかCVSとかが嫌い、アジャイルアジャイル言ってる人が嫌い(アジャイルが嫌いなわけじゃないよ)… 言い出したらキリがない!毎日新しいdisりの種が沸いてくるんだ! 何度か様々な
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
こんにちは! スマートフォンアプリ開発チームのfaultierです! 得意な口説き文句は「君のprotocolにconformしたい」ですが、今のところ使ったことはありません。 みなさん、普段の開発ではエディタは何を使ってますか? きっとvimかemacsかメモ帳か念力による直接入力を使っていると思います。ちなみに僕はvim派です。出社したらまずはブラウザ・ターミナル・IRCクラインアント・Twitterクライアント・iTunesを立ち上げ、可能な限りその中から出ないことを心がけています。 前回は同じチームのgaoohさんがEclipseによるAndroid開発環境の作り方を解説していましたが、今回はそれに便乗して、出来るかぎりターミナルから出たくない不精者のためのEclipseを使わないAndroid開発環境を作るときに押さえておくべきことを、リーダーに言われてもいないのにまとめてみまし
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
桜の季節が近くなってきましたね。 春といえば出会いと別れの季節です。 我々プログラマも、ともすると4月から就職して新しいプログラミング言語やプロジェクトに出会うのではないでしょうか。 僕は1月に戦場を移動した関係で、1月から初めてRubyに取り組みました。 またObjective-cも書き始めています。 何かの参考になればと思い、今回の経験から僕なりの新しいプログラムへの取り組み方の定石みたいなものを偉そうに書いてみようと思います。 Kiai Driven Development 新しい言語やプロジェクトに出会ったとき、KDD(気合駆動開発)信奉者の僕が気を付けている点が3つ有ります。 それを一から紹介します。 Githubをとにかく巡れ! 新しい言語に取り組むとき、僕はまずGithubのその言語に関するwatchやfolkのランキングを見てます。 ランキングは、Github上部のExpl
2006年10月25日15:25 カテゴリLightweight Languages テキストエディタさえあればできるTDD なんかえらい誤解されているのだけど、私も舌足らずだったかもしれない。 Perl Testing Ian Langworth / Chromatic 『WEB+DB PRESS Vol.35』:実演! テスト駆動開発 - 角谷HTML化計画 (2006-10-24)TDDはハッカーのための技術ではない。ハッカーにTDDは要らない。ただただハックすればよい。偉大なプログラマは偉大なプログラミングをすればよい。だが、ハッカーならぬ凡百たる私のような"普通の"プログラマはそうはいかない。TDDは我々が日々の仕事に自信を持ち、誇りを持って定時に帰るための思想だ。 私が言いたかったのは、Test Driven Development (TDD)に関しては、JavaよりPerlを
[edit] カリフォルニア 2007年10月5日 [edit] FogBugz On Demand 2007年7月9日 [edit] マネジメントの本 2007年6月29日 [edit] 記憶に残るようなカスタマサービスへの7ステップ 2007年2月19日 [edit] ファウンダーズ アット ワーク 2007年1月30日 [edit] Copilot 2.0リリース! 2007年1月26日 [edit] ビッグピクチャー 2007年1月21日 [edit] 新年の抱負: もっといい仕事につくこと! 2006年12月20日 [edit] 50万件のバグ! 2006年12月20日 [edit] 新作! 2006年12月18日 [edit] エレガンス 2006年12月15日 人々がソフトウェアをいじるのは、多くの場合、それで遊びたくてそうしているわけではない。彼らがソフトウェアを使うの
ListViewをカスタマイズする方法は? Androidでは、ListViewというViewがあります。 このListViewは、同じ構成のレイアウトを一覧表示していく、というViewです。 最もシンプルな使い方としては、単純にTextViewだけを配置した一覧でしょうかね。 ですが、そんな単純な使い方って、実用的でしょうか? 例えば商品名やユーザ名を一覧表示するだけでは、何も出来ません。 商品名と、その詳細情報を表示する画面へ遷移する為のボタンであるとか、ユーザー名とそのユーザへ音声発信するためのボタンとか、単にテキストだけではなくて、ボタンを一緒にセットにしたい、とか、その他のカスタマイズをしたいと考えている方、多いのではないかと思います。 ListViewの使い方は少々ややこしいですが、私自身がよく使う方法を紹介します。 一応、この方法ですと、結構汎用的に使えるのではないかと思いま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く