タグ

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

タグの絞り込みを解除

programmingに関するJ138のブックマーク (622)

  • 2007-11-10

    Mac OS XでPOSIX以外のシステムコールについての情報が中々無かったので、ここに文書化しておく。http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/ このページといくつかのオープソースのソースコードを参考にした。 Load averageはhost_load_info構造体のaverun[]というメンバーに格納される。avenrunには5,15,60秒間でのload averageが格納されている。 #include <mach/host_info.h> #define CPU_STATE_USER 0 #define CPU_STATE_SYSTEM 1 #define CPU_STATE_IDLE 2 struct host_load_info { integer_t avenrun[3]; integer_t mach_fa

    2007-11-10
  • iPhone開発でメモリ使用量を把握しよう! 2

    開発部の三森です。前回の続きです。 メモリ使用量を見るためにObjective-Cのランタイムapiを使ってみることを考えます。 Objective-Cで書かれたプログラムは、コンパイルされたプログラムだけでなく、ランタイムが必要になります。 このランタイムがオブジェクトの生成、メソッドの使用などをプログラムの実行時に動的に割り当てるようになっています。 そしてランタイムapiを使えば、オブジェクトのもつメソッドを自由に入れ替えたり書き換えたりできるのです。 どんなapiがあるかはAppleのドキュメントに詳しく書いてあります。 ランタイムapiを使うには、まず #import <objc/runtime.h> でヘッダを読み込みます。 オブジェクトのメモリ確保はNSObjectの持つ"+alloc"セレクターで行われるので、 これを新しいものに上書きしてデバッグ情報を得ることを目標にしま

  • [iPhone] UIImage #imageWithContentsOfData: などは描画が激遅 | Sun Limited Mt.

    現在制作中の iPhone アプリで描画が遅くて困っていました。その原因はまさにこのエントリにある通りのことでした。 UIImage#imageNamed:は読み込みも描画もUIImage#imageWithContentsOfFile:やそれ以外のメソッドより5〜6倍速い – 24/7 twenty-four seven imageNamed:は圧倒的にロードが速いし、何故か描画も速い。 私の感じでは、UIImage#imageNamed: が早いというよりも、UIImage#imageWithContentsOfFile: や UIImage#imageWithData: などが遅い感じです。UIImage#imageNamed: 以外で作成した UIImage の描画も UIImage#imageWithContentsOfFile: とかよりも劇的に早いからです。(UIImage#

  • UIImageは簡単にリークする。。。 - That’s why, I’m here!

    iPhone SDKいまだに Objective-C の release はよく分かってない。確実なのは、C の free() とは違うようだということぐらいか。 iPod関係のアプリを作ると、どうしてもアルバムアートワークを表示したくなるが、なにも考えずに作ったらどんどんメモリリークしていった。XCodeでは、シミュレータの実行ではメモリの増減を監視できるが、iPhoneのほうは見えない。(3.1以降なら見えるかも。試してない)だから目にみえる現象としては動作が重くなっていって、最後にクラッシュ!となるぐらい。まあ処理が重くなったらリークしてるって思うようにしてる。 唯一見えるのはコンソールログ。最初は iPod Serverとか普通の人は知らない情報を見れて楽しいが、リークが始まると空き容量不足のワーニングやら、バックグラウンドの Safariが停止されたり、最後には音楽再生してるのに

  • iPhone 開発 画像ロード方法3種まとめ | AMsoft space

    UIImageをロードする場合は以下の3種類を使い分ける。 1. imageNamed 高速だが自動的にキャッシュされる。クリア用APIは非公式で存在するがうまく動作しないよう。 キャッシュが30-50Mになると落ちる。 小さい画像を何度もロードする場合に便利。 2. dataWithContentsOfFile imageNamedより高速ではない。 メモリ解放不要。キャッシュはされない。 サイズが大きい画像のロードで利用する。 ※ただし1画像ファイルの容量が大きすぎると、急に落ちることが有るよう、、 3. initwithContentsOfFile 基的に2と同様だが、alloc しているのでreleaseしないとメモリリークとなってしまう。 個人的に納得がいかないのは、alloc の戻り値は有効でも、 initwithContentsOfFile がnilを返

  • iPhoneアプリケーション開発入門まとめ

    iPhoneアプリケーション開発入門(cocoa touch,Objective-C関連)まとめ Konton's iPhone application labolatory English top page はじめに これはiPhoneデベロッパKontonによるObjective-C(cocoa touch)によるiPhoneアプリケーション開発に関する覚書をまとめたものです。 これまでブログにTipsを書いていたのですが、何というかそれぞれが単独の項目となっていて、まとまりに欠けるような気がするため、 こちらにも少しずつ内容を再構成しつつ書いてゆくことにしました。例によって(?)更新は不定期です。なるべく平易な言葉を使うようにして書いています。 なお更新日時はファイルの文が更新された日時なので、アップロードした日時とは異なりますのでご注意ください。 例として書かれるコードには、何の

  • 間違いだらけの iPhone 開発備忘録: UIGestureRecognizerまとめ?

    2010年6月28日月曜日 UIGestureRecognizerまとめ? OS3.2以降のOSで対応。 つまりiPadかiOS4が入ったiPhoneじゃないと動かない。 でも涙が出るくらい便利。 UITapGestureRecognizer : タップ(タップの数は任意で取得) UIPinchGestureRecognizer : ピンチインとピンチアウト(拡大縮小用。二指でくぱぁするアレ) UIPanGestureRecognizer : パニング(ドラッグのこと) UISwipeGestureRecognizer : スワイプ(ページ送りなど。ドラッグと似てる?) UIRotationGestureRecognizer : 回転(指二での回転) UILongPressGestureRecognizer : 長押し(safariの新規タブを開くときに使うなど) 使

  • Clang Static Analyzer

    The Clang Static Analyzer is a source code analysis tool that finds bugs in C, C++, and Objective-C programs. Currently it can be run either from the command line or if you use macOS then within Xcode. When invoked from the command line, it is intended to be run in tandem with a build of a codebase. The analyzer is 100% open source and is part of the Clang project. Like the rest of Clang, the anal

  • iPhoneアプリ開発にかかせない静的解析ツール「clang」

    こんにちは、中川です。 今回は、最近行っているiPhoneアプリの開発で非常に便利な ツール「clang」というものがありましたのでご紹介したいと思います。 iPhoneアプリではPHPとは違いメモリの扱いが非常に重要になってきます。 allocしたものの、リリースをしていないが為に、メモリリークをおこし、 実行が非常に遅くなったり、フリーズしたりということがおこってきます。 よく気をつけてコードを書いていても、うっかりということがありので、 コードの静的解析をおこなうツールというものは非常に役にたちます。 では、早速使い方を。 まずは、以下のページからclang (checker-132.tar.bz2)をダウンロードし解凍します。 LLVM/Clang Static Analyzer 解凍した中身を /usr/local/bin/に全て配置します。 (/usr/local/binにPA

    iPhoneアプリ開発にかかせない静的解析ツール「clang」
    J138
    J138 2010/09/01
    便利すぎて感動した
  • iPhone 用の画像ダウンロードライブラリ ImageStore を公開 - Windchase

    iPhone 用の画像ダウンロードライブラリ、ImageStore のソースコードを公開します。 http://github.com/psychs/imagestore/tree/master ライセンスは、New BSD ライセンスです。 使い方 まず、ImageStore を初期化して、インスタンス変数に保持しておきます。 imageStore = [[ImageStore alloc] initWithDelegate:self];そして、画像をダウンロードしたくなったら、getImage を呼び、画像の URL を渡してやります。 [imageStore getImage:imageUrl];getImage の呼び出しはすぐに戻り、ImageStore は裏で非同期に画像のダウンロードをはじめます。 ダウンロードが終わると、delegate の imageStoreDidGetN

    iPhone 用の画像ダウンロードライブラリ ImageStore を公開 - Windchase
  • 非同期通信で画像をロードする方法について - プログラミングノート

    UITableViewなどのスクロール系のViewでサムネイル画像を出す場合、下記のような記述ではメインスレッドで画像がロードされるため、ユーザーのUI操作に影響が出てしまいます。 NSURL *url = [NSURL URLWithString:@"URL"]; NSData *data = [NSData dataWithContentsOfURL:url]; [instanceOfUIImageView setImage:[[UIImage alloc] initWithData:data]]; こういう場合は非同期通信を行うのが定石だと思いますが、参考になるサンプルがあまり無かったので試しに作ってみました。UIImageViewを継承したUIAsyncImageViewクラスです。 UIAsyncImageView.h 画像URLの指定と、通信中止用のメソッドのみ定義しています。

    非同期通信で画像をロードする方法について - プログラミングノート
  • 【コラム】実践! iPhoneアプリ開発 (7) RSSリーダの作り方 (3) - XMLをパースする | エンタープライズ | マイコミジャーナル

    前回はRSSフィードをダウンロードするところまで説明した。今回は、ダウンロードしたXMLデータをパースすることについて、説明しよう。 iPhoneのXMLライブラリ iPhoneは、標準で2種類のXMLをパースするためのライブラリを備える。libxml2とNSXMLParserだ。 libxml2はGnomeプロジェクトで開発された、XMLのパーサライブラリだ。もともとは、GnomeというLinuxディストリビューションの1つに対して開発されたものだが、MITライセンスのもとでソースコードが公開されているため、多くのプラットフォームに移植されている。もちろんMac OS Xにも移植され、それがiPhoneでも使えるようになっている。 libxml2の特徴は、高機能である事だ。まず基的なXMLパーサ機能として、SAXおよびDOMパーサを提供する。さらに、XMLに関する多くの標準に対応してい

  • iPhoneの回転をshouldAutorotateToInterfaceOrientation:以外の方法で検知する。 - 24/7 twenty-four seven

    http://iphone.longearth.net/2009/05/10/os30%E3%81%AEshouldautorotateto-interfaceorientation%E3%81%8C%E3%81%8A%E3%81%8B%E3%81%97%E3%81%84%E4%BB%B6 iPhone OS 3.0 - Breaking changes to shouldAutorotateToInterfaceOrientation | blog.sallarp.com shouldAutorotateToInterfaceOrientation? | blog.sallarp.com 上記では加速度センサの値から、デバイスの方向を判断する方法が載っているのですが、たいていの場合は回転したときに発生するNotificationを捕まえるのが簡単だと思いますので書いておきます。 UIDe

    iPhoneの回転をshouldAutorotateToInterfaceOrientation:以外の方法で検知する。 - 24/7 twenty-four seven
  • mixi大規模障害について 解明編 - mixi engineer blog

    こんにちは、システム技術部たんぽぽGの森です。 先日のmixi大規模障害の原因となったmemcachedの不具合の詳細な解明ができました。 再来週まで発表を見合わせようと思ったのですが、早くお伝えしたほうがいいと思いましたので公開発表致します。 memcachedとlibevent memcachedはlibeventというライブラリを使用してクライアントからの要求(接続、コマンド送信)を処理しています。 libeventを使用するにはevent_baseという構造体を用います。 main threadはmain_baseを使用します。 static struct event_base *main_base; ... int main (int argc, char **argv) { ... main_base = event_init(); ... /* enter the ev

    mixi大規模障害について 解明編 - mixi engineer blog
  • Ajax - jQueryでjQueryを内観する : 404 Blog Not Found

    2010年08月25日06:30 カテゴリLightweight Languages Ajax - jQueryでjQueryを内観する jQueryは使っても楽しいのですが、ソースを読むのはもっと楽しかったりします。 いっそjQuery自身にjQueryを読ませたら読むのも楽になるのでは? jQuery Source Browser というわけでこさえたのがこちらです。 Open in New Window select from the menu on the left こんなのがあっという魔に作れるところも、jQueryの魅力です。 で、実際にソースを見てみると、白魔術も黒魔術も使いまくりですね。 たとえばjQuery.isType()。toString.call(obj)とはね。 たとえばjQuery.globalEval()はeval()を全く使っていないし。 あとこれ書いて気づ

    Ajax - jQueryでjQueryを内観する : 404 Blog Not Found
  • Blog - Mikula Beutl - SEO Consulting

    This guide is the safest way to do a domain switch, you get all you need to change a blocked domain. What is a user flow and a user journey? There’s a macro view of a customer experience that we can analyze and partially control.

    Blog - Mikula Beutl - SEO Consulting
  • 開発メモ: Kyoto Tycoonの設計 その壱

    memcachedのように一時的なデータを高速に扱えながらもデータをファイル上に永続化できるサーバとして、「Kyoto Tycoon」という製品を開発することにした。もちろん、Kyoto Cabinetをストレージにしたネットワークサービスを提供するものである。実のところ、決まっているのはその点と名前だけで、設計は何も決まっていない。ここにあーだこーだ書きながら詰めていこう。 背景 先に明言すべきは、これはKyoto CabinetをストレージにしたTokyo Tyrant相当の製品ではない。TTはキャッシュサーバではないので、memcachedで言う所のexpireをサポートしていない。しかし、Kyoto Tycoonはキャッシュサーバとしての利便性を追求し、もちろんexpireをサポートするとともに、レプリケーションなどの重量級の機能は割愛する。 なぜこれを作るかという理由は大きく二つ

  • NSURLConnection と 500 Server Error - at_yasu's blog

    NSURLConnectionのデレゲートにconnection:didFailWithError: がありますが、500番などのサーバエラーなどの時、NSURLConnectionはそのDelegateMethodを呼びません。 困った事に、connection:didReceiveResponse: でステータスコードをチェックする必要があります。下記のような感じ*1。 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { // 500 エラーなどでないかチェック。 // エラーの場合、アラートを表示させる int statusCode = [((NSHTTPURLResponse *)response) statusCode]; if (statu

    NSURLConnection と 500 Server Error - at_yasu's blog
  • Scratch on the Web - プログラミン : 404 Blog Not Found

    2010年08月20日15:00 カテゴリLightweight Languages Scratch on the Web - プログラミン いつか出るとは思ったけど… まさか文科省がやるとは。 要するに、Scratch on the Web。インストール不要。Flashが動くWebブラウザでhttp://www.mext.go.jp/programin/にアクセスするだけでOK。 HTML5版はできるのかな… 仕分けしないでね>各位 Dan the Programming Taxpayer 「Lightweight Languages」カテゴリの最新記事

    Scratch on the Web - プログラミン : 404 Blog Not Found
  • Life is beautiful: WEB+DBコラム「なぜ日本のソフトウェアが世界で通用しないのか」

    私がコラムを書いている「WEB+DB PRESS」の最新号が発売されたので、ここで宣伝させていただく。今回のコラムのタイトルは、「「なぜ日のソフトウェアが世界で通用しないのか」。 ...(前略)...そんな私が常々感じているのは、日でのソフトウェアの作り方が米国のそれと大きく違っていること、そして、日のソフトウェア・エンジニアの境遇が悪すぎるということ。そして、それが「日のソフトウェアが世界で通用しない」一番の原因になっていることである。 詳しくはコラムを読んでいただくとして(宣伝だと言ったでしょう)、この問題はいまやソフトウェア業界だけにとどまる話ではないから始末が悪い。世界で一番進んでいるはずだった日の携帯電話メーカーが、今や袋小路に追い込まれているのもこれが原因。 通信業界にはもちろん、携帯電話メーカーにもソフトウェアを自分で書ける人がいない今の日の状況を考えれば、世界の

    Life is beautiful: WEB+DBコラム「なぜ日本のソフトウェアが世界で通用しないのか」