タグ

programingと@programmingに関するproto_jpのブックマーク (5)

  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
  • 今更ですがiOSアプリ開発の基礎について色々調べてみました - もとまか日記Z

    最近、以下のような記事を不定期に書いているわけですが。 iPhoneアプリを作ってみよう(Xcode4編)第1回:じゃんけんゲーム iPhoneアプリを作ってみよう(Xcode4編)第2回:簡単ブラウザ そういえば、iOSアプリの開発の基礎的なことって、ちゃんと書いてなかったような・・・・?(^^;;; てなことを考えてた時にTwitterでXcode関連の開発について、「どのがいいですか?」的な質問を受けたりもしました。 そこで、大型連休にiOSアプリの開発の勉強をしたい!という方もいらっしゃるかもしれないし?、ってことで、iOSアプリ開発の「基礎」について、色々調べてまとめてみました。 iOSアプリ開発に必須なもの まず、開発環境として必要なのが以下。・Mac・XcodeMacは最近のものであれば、どの機種でも問題ありません。ちなみに私はサンタさんに頂いたMacBook Airの1

  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
  • Cocoaの日々: CoreData - 大量データを扱う場合のメモリ利用量を減らす

    データ件数は、Customerが 500件、Karteが6,000件(Customer1件につきKarte 12件)となっていて、それぞれを1つの CSVファイルへ書き出す。 処理は次のような感じになる。 NSMangedObjectContext* moc = [取得]; NSArray* customers = [moc Customer全件取得]; for (NSManagedObject* customer in customers) { NSArray* kartes = [moc Karte取得・条件:customer]; for (NSManagedObject* karte in kartes) { [CSV1行書き出し]; } }メモリのフットプリント(利用状況)はこんな感じ。 Customer, Karte を1件づつ読み込む度にメモリが消費され、フットプリントが増大し

  • JavaScriptクロージャを完全理解!スコープチェインを知る(後編) - builder by ZDNet Japan

    前回はスコープチェインのお話に入るための予備知識として「変数オブジェクト」についてのお話をしました。それを踏まえて、今回はスコープチェインと、それによって実現されているクロージャについてしっかり学んでいきたいと思います。 スコープチェインとは 変数オブジェクトに関する説明はしっかりご理解頂けましたでしょうか?JavaScriptの変数は、全て変数オブジェクトのプロパティとして扱われている事、そして変数オブジェクトは状況に応じて違うものが使われる(グローバルスコープであればグローバルオブジェクト、ローカルスコープであれば目に見えない変数オブジェクト)というものでした。ローカルスコープに対応する変数オブジェクトは「アクティベーションオブジェクト」と呼ばれ、関数呼び出しが行われると自動的に作成されます。 しかし実際は、変数を参照するという事は、その場における変数オブジェクト「だけ」を探す訳ではあ

    JavaScriptクロージャを完全理解!スコープチェインを知る(後編) - builder by ZDNet Japan
  • 1