タグ

関連タグで絞り込む (329)

タグの絞り込みを解除

Programmingとprogrammingに関するteracy_junkのブックマーク (1,709)

  • プロとしての行為 Act as Proffesional

    「ソフトウェアのプロになるには書が必要だ!」と、ボブおじさんがおっしゃっております。 このボブおじさんは、あの有名なアジャイルマニフェストにも名前を連ねているRobert C. Martinです。 プロとしての最低限必要な知識、姿勢、規律など、教育を受けたり学んだことがあるプログラマはあなたの現場に何人ぐらいいるでしょうか? 今こそ、書を取って、プロとしての道を歩み始めて欲しい。(amazonでずっと売りきれだったけど、やっと入荷したようだ。すぐに売り切れそうではあるが…) プログラミングの練習 僕はプログラミングの練習というのを意識的にあまりやったことが無い。日だとTDD Boot Campなどでおこなわれる小さなテーマでプログラミングをおこなうことである。書の6章に練習について書いてる。 個人的にはRubyKaigiで、ペアプロした外人が、これはToys Programming

    プロとしての行為 Act as Proffesional
  • UIButton内テキスト位置を微調整する - 自堕落なぺぇじ

    まぁ、これはUIView関連。 UIButtonだけでなく、UILabelのテキストなど色んな面で応用が効きます。 UIButtonの場合はタイトルラベル用に専用のインタフェースが準備されてます。 マージンを設定するためには、UIEdgeInsetsを利用します。 UIEdgeInsetsはマージンを表す構造体で、以下のようなパラメータを持っています。 CGRectとは各パラメータの順番が違うので注意してください。 typedef struct UIEdgeInsets { CGFloat top, left, bottom, right; } UIEdgeInsets; 例えばUIButtonの場合は、以下のように利用することでマージンを調整できます。 デザイナーさんから送られてきた画像が、余白に影がある関係でそのままテキストを 設定したら文字が中心からずれてしまうときなどに利用してます

    UIButton内テキスト位置を微調整する - 自堕落なぺぇじ
    teracy_junk
    teracy_junk 2012/03/06
    UILabelでやろうとすると、カスタムビュー作らなきゃいけない。まったく…
  • UIView をグラデーションで塗りつぶす : Objective-C プログラミング

    UIView の背景をグラデーションで塗りつぶしたい場合について考えます。 たとえば UIView の派生クラスを用意して、そのクラスに UIColor 型の backgroundColor2 というプロパティを用意して、backgroundColor から backgroundColor2 までの 2 色で UIView を右下方向にグラデーションで塗りつぶすとします。 このとき、ヘッダーファイルは次のような感じにしてみます。 EzGradientView.h

  • UIEdgeInsets

    UIKit では、Mac 用フレームワーク AppKit にはなかった構造体、UIEdgeInsets が登場しました。いろいろな場面で便利に使える構造体で、実際に UIKit の中でもよく使われています。 今回は、UIEdgeInsets を紹介します。 UIEdgeInsets は、マージンを表す構造体です。上下左右のマージンを表す4つのフィールドを持っています。 typedef struct UIEdgeInsets { CGFloat top, left, bottom, right; } UIEdgeInsets; 下図のピンクのビューは w100 × h100 のビューですが、top: 10, left: 20, bottom: 30, right: 40 の UIEdgeInsets を適用した矩形は、その中の半透明なグレーのビューが表す矩形になります。 UIEdgeInse

    UIEdgeInsets
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • [iPhone] UIView の frame と bounds の違い | Sun Limited Mt.

    UIView の位置やサイズを知るプロパティに frame と bounds があります。この frame とbounds の違いを簡単にまとめて見ました。 簡単にまとめると以下のようになります。 frame はスーパービューから見た座標 bounds はローカルのビューから見た座標 実際に親子関係のビューを作成して確認してみます。 ViewB は ViewA の中に配置されています。 [ViewA addSubView:ViewB] のような関係です。 この時の frame と bounds はそれぞれ以下のようになります。 ViewA.frame origin: 0,0 size: 550×400 ViewA.bouns origin: 0,0 size: 550×400 ViewB.frame origin: 200,100 size: 200×250 ViewB.bounds or

  • tokyoace4.com

    This domain may be for sale!

    teracy_junk
    teracy_junk 2012/03/05
    『関数の引数としてオブジェクトを渡したときに、release/retainはどういう挙動になるか』の実験
  • 質問をすることで答えは変更されない原則 - A Day In The Life

    メイヤー著「オブジェクト指向入門 第2版 方法論・実践」でクラス設計の面白い原則があったのでまとめてみました。 前提 クラスの特性にはクエリとコマンドがある。 クエリ 属性 ファンクション(戻り値のあるメソッド) コマンド プロシージャ(戻り値のないメソッド) ファンクションに副作用があってはならない ファンクションの副作用とはファンクション呼び出しによって属性の値が変更されること。 たとえばNumberというクラスがあって multiplyメソッドを呼ぶとvalue属性の値が変わる場合、副作用があるという。 ファンクションに副作用があると 数学におけるファンクションと意味が違う 参照透過性が消失する という問題が発生する。このことからファンクション設計時には以下の行為は避けるべきである。 プロシージャの呼び出し 属性に代入 生成命令(コンストラクタ呼び出し) プロシージャでは積極的にオブ

    質問をすることで答えは変更されない原則 - A Day In The Life
  • メソッド設計で守るべき10個のルール - A Day In The Life

    以前メソッド設計の原則に関する記事を書きましたが 質問をすることで答えは変更されない原則 メソッドの引数はオペランドのみにする原則 それ以前にメソッド設計する上で最低限守った方がよいルールをまとめてみました。 プロパティをメソッドの戻り値代わりに使ってはいけない ファンクションメソッドでプロパティの値を変更してはいけない プロパティをリターンしない インスタンス変数やプロパティをメソッドの引数に渡さない 参照渡の引数をリターンしてはいけない 例外処理を GoTo 文の代わりに使ってはいけない 理由なく id 型をメソッドの戻り値にしない 特定メソッドの呼びだしが前提になったメソッドを作ってはいけない パブリックメソッドからパブリックメソッドを呼ばない プライベートメソッドからパブリックメソッドを呼ばない 以下その詳細です。 プロパティをメソッドの戻り値代わりに使ってはいけない メソッドが呼

    メソッド設計で守るべき10個のルール - A Day In The Life
  • Technical Note TN2123: CrashReporter

    teracy_junk
    teracy_junk 2012/03/05
    Cocoaのメソッド命名ルール
  • UITableViewCellの利用 - プログラミングノート

    UITableViewでカスタムセルをコードで作成する方法です。UITableVIewの利用で作成したコードとの差分のみ掲載しています。完全なサンプルはこちらからどうぞ。 MyTableCell.h まずはUITableViewCellを継承したMyTableCellを追加します。 #import <UIKit/UIKit.h> // Identifier extern NSString *myCellID; @interface MyTableCell : UITableViewCell { UILabel *titleLabel; } @property (nonatomic, retain) UILabel *titleLabel; @end externで定義しているものが、Cell再利用用のIdentifierになります。 あとはCell内に表示するラベルを追加しています。 My

    UITableViewCellの利用 - プログラミングノート
  • NSDateとNSString - 分散思考:楽天ブログ

    2010.04.07 NSDateとNSString カテゴリ:iPhone SDK NSDateって扱いにくいなぁと思っていたのですが、 NSStringに変換するのは楽かもしれません。 UIまわりはNSStringを渡す必要があるため、 NSDateを時分秒などに分解する方法 で書いたように分解してからNSStringに変換していました。 が、 マニュアルみたらもっと楽な方法がありました。 ちゃんとマニュアル見ようね~俺(^o^;; NSStringからNSDateへの変換 NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init]; [inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString* dateString [[NSString alloc

    NSDateとNSString - 分散思考:楽天ブログ
  • iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール – Zero4Racer PRO Developer's Blog

    2012/3/22 いくつか修正、加筆しました。 追記もご覧下さい:iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール [追記] カプセル化について « Zero4Racer PRO Developer’s Blog 対象がiOS4以上の場合は、ARCを使用するのもオススメです。iOS 5 公開記念! Objective-Cのメモリ管理の革命、 ARC 超入門(サンプルはgitHubに公開) « Zero4Racer PRO Developer’s Blog をご覧下さい。 @Awaresoft さんのこの記事が、ほとんどすべての疑問に答えています。とてもよい記事なので合わせてご覧下さい。プロパティに対応するインスタンス変数の命名規則について – Awaresoft iOS プログラミングでのメモリ管理の基 iPhone開発で主に使用される言語は、Object

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • NuでMac GUIプログラミング Twitterクライアントを作ってみよう

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    NuでMac GUIプログラミング Twitterクライアントを作ってみよう
  • 2010-05-04 - A Day in My Life IBAction内でsenderを識別する方法

    1つのアクションメソッドで、複数のsenderから送られたメッセージを処理する際に、 調べたことをメモとしてまとめておく。 このためには、各種GUI部品の親クラスとなっている UIView class の tag プロパティを使用する。 tag The receiver’s tag, an integer that you can use to identify view objects in your application. @property(nonatomic) NSInteger tag iPhone OS Reference Library - UIView Class Reference より引用 サンプルコード: 1つのView上に2つのボタンがあり、1つのアクションメソッドでそれらのボタンがクリックされた時の処理をまとめて行う。 #import <UIKit/UIKit.

    2010-05-04 - A Day in My Life IBAction内でsenderを識別する方法
  • yoo-s.com NSFetchedResultsControllerとUITableViewでハマる(セクション別)

    NSFetchedResultsControllerを利用して、UITableViewでセクション別にソートしてデータの更新/表示する処理。 相当ハマりましたが、少しずつ理解できたので更新。 参考サイト NSFetchedResultsController でグルーピング(Section分け) このサイトでも勉強しましたが、実際やってみると原因追及に相当時間がかかりました。 ハマるポイント (1) fetchedResultsControllerとUITableViewのデータ整合性 (2) setSortDescriptorsとsectionNameKeyPathによるデータ整合性 (3) didChangeObjectのアニメーション処理によるデータ整合性 (4) managedObjectContextの管理ミス managedObjectContextの取得 アプリケーションからm

  • Objective-Cの @property と @synthesize の組み合わせが何をやっているのかを解説 - 強火で進め

    改めて説明するまでも無いかと思ってたけど意外と知らない人は知らないみたいので解説を書いておきます。 @property と @synthesize の組み合わせは端的に言うと「setterとgetter(アクセッサメソッド)をコンパイルの前に生成させる」以上。 ※Objective-Cの場合、 @ で始まるものはプログラムでは無く、コンパイラへの指示となります。この様な指示をObjective-Cではコンパイラディレクティブ(Compiler directive)と呼びます。 詳細説明 setterやgetterはメンバ変数を直接扱わずにメソッド経由で代入やデータの取得をする為に定義するメソッドです。setterがデータを代入する時のメソッド、getterがデータを取得する時のメソッドとなります。 メンバ変数をメソッド経由にすることにより代入前にチェックを行って有効な値のときのみメンバ変数

    Objective-Cの @property と @synthesize の組み合わせが何をやっているのかを解説 - 強火で進め
  • iOS でオブジェクトをシリアライズしてファイルに保存する方法 - A Day In The Life

    iOS でデータを永続化する方法の続きです。今回はシリアライズされたオブジェクトの保存方法について説明します。シリアライズされたオブジェクトはファイルで保存することが容易なためデータ永続化の際に頻繁に使用されます。 シリアライズ自体はデータの保存に限らず、Interface Builder やネットワークを使ったデータの送受信などいろいろなところで使われています。 プログラマであれば必ずおさえておきたい技術の一つです。 シリアライズって何? オブジェクトの状態をバイナリ(0と1の集まり)に変換することをオブジェクトのシリアライズまたはシリアル化といいます。逆にバイナリをオブジェクトに変換することをデシリアライズといいます。 シリアライズされたデータは iOS 上では NSData オブジェクトとしてあつかわれます。NSData オブジェクトはそのままファイルに保存することができます。 iO

    iOS でオブジェクトをシリアライズしてファイルに保存する方法 - A Day In The Life
  • マルチスレッド実装時の留意点 : Objective-C プログラミング

    Objective-C では、"performSelectorInBackground:withObject:" メソッドや "NSOperation" クラス、NSThread クラス などを使用して、別スレッドで処理を行うことができるようになっています。 ここでは、別スレッドでの処理を記述するにあたっての留意点に触れてみたいと思います。 autolerease スコープ Objective-C では、autolerease メソッドを使用して、オブジェクトを自動的に開放する仕組みが用意されています。 autolerease メソッドを使うと、予め用意されたオートリリースプールによってその変数が管理されて、オートリリースプールのスコープを抜ける時に、その管理下にある変数もリリースされる仕組みになっています。 ただ、立ち上げたばかりのスレッドでは、オートリリースプールは用意されていないよう