タグ

Programmingとprogrammingに関するtridentfieldのブックマーク (127)

  • ループをたくさん回す処理を高速化する初歩の初歩。 - このブログは証明できない。

    テキスト処理を中心にやっていましたが、画像処理に興味が出てきて、さっそくアプリを作りました。もともと下の記事のあたりでユーザーとして画像処理に興味を持って、当然の流れながら、自分でもつくってみようと。 Color Splash + TiltShift Generator + Instagramの写真加工が面白い。 - このブログは証明できない。 で、何かを間違えて、普通の画像処理ではなく、カメラの映像をリアルタイムに加工しはじめました。そうすると、パフォーマンスがかなりシビアなんですね。 iPhoneでカメラの映像をリアルタイム画像処理してみる。 - このブログは証明できない。 全ピクセルを操作しなければなりませんから、ループをたくさん回す必要があります。なんとか高速化できないかと考えてみたところ、あっさり高速化に成功しました。私が気づくぐらいですから、初歩の初歩なんだと思います。 追記:

  • コンピューター:C言語講座:mmapについて

    コンピューター:C言語講座:mmapについて 概要 mmapはファイルをメモリにマッピングするものです。わかりやすく言うと、UNIXのOSが行なっているページングやスワッピングを自プロセスで行なうようなものです。 これを使うメリットとしては、メモリ確保サイズが確保開始時に決定できない場合、簡単にはmalloc()で適当な量を確保し、足りなければrealloc()を使用して拡大することになりますが、realloc()を繰り返すとメモリ領域中に空きが出来やすく、大規模なシステムでは実際使用しているメモリより空き空間の方が数倍大きくなってしまい、メモリ不足で実行不可能になる場合があります。mmapを使用すれば、別々に拡大していくような管理が可能なので、また、スワップスペースとは別の位置に置くことにより、多数の動的メモリを必要とする場合に安全に動作することが可能になる場合があります。ただし、基

  • iOS4時代の非同期HTTP通信 - すぎゃーんメモ

    SDKで始めるiPad/iPhoneアプリ開発の勘所(4):iOS 4のSDKで、Twitterを使ったiPhoneアプリを作る (1/4) - @IT SDKで始めるiPad/iPhoneアプリ開発の勘所(4):iOS 4のSDKで、Twitterを使ったiPhoneアプリを作る (2/4) - @IT を読んだのだけど。 NSURLConnectionを使った非同期HTTP通信は、この記事のようにラッパークラスを書いて NSMutableDataを内部で保持 通信開始時に初期化、delegateメソッドdidReceiveDataを実装して細切れに渡されてくるNSDataを付け足してゆき、 通信終了時、最終的に得られた合計のNSDataはNotificationなどを使って呼び出し元に通知、その後NSMutableDataを破棄 といったことをする必要があり、何かとめんどくさい。 大抵

    iOS4時代の非同期HTTP通信 - すぎゃーんメモ
  • エンジニアを配偶者に持つ妻のエッセイ「夫はプログラマー」

    tridentfield
    tridentfield 2010/08/15
    ステキすぎる。
  • libevent-1.3b, libmemcached-1.4.4 で固まる? - moratorium

    libevent-1.3b, libmemcached-1.4.4 で固まる? 2010-08-13 (Fri) 0:56 Uncategorized mixiの件について、nealさんから情報を貰ったので数時間調査してみた。というのも、うちの製品でもlibevent(evhttp)をリクエスト処理に使っているので、これにバグが有ると非常に困る。 Nealさんのつぶやき ひとまず、libevent-1.3b, libmemcached-1.4.4をビルドする。memcachedは、-cで同時接続数を制限できる。で、この同時接続数というのは、実はファイルディスクリプタの数を制限する事で達成されている。memcached.cの以下の部分。 /* * If needed, increase rlimits to allow as many connections * as needed. */

  • 関数「俺にヌルポインタ渡したやつちょっとこい」 カナ速

    1 以下、名無しにかわりましてVIPがお送りします :2009/08/02(日) 10:33:28.62 ID:CfBuAQu+0

    tridentfield
    tridentfield 2010/08/08
    ちょっと面白いwww
  • Fine Software Writings

    最近のもの 目標でなく恐怖を明確にすべき理由 (Tim Ferriss) 我々が築き、掘っている未来 (Elon Musk) 表計算ソフト誕生の話 (Dan Bricklin) Linuxの背後にある精神 (Linus Torvalds) 先延ばし魔の頭の中はどうなっているか (Tim Urban) 好きになる仕事はどうしたら見つかるのか (Scott Dinsmore) 人間に新たな感覚を作り出すことは可能か? (David Eagleman) 人工知能が人間より高い知性を持つようになったとき何が起きるか? (Nick Bostrom) 厄介な問題を解決したい? ではトーストの作り方を説明してください (Tom Wujec) 子供の夢を奪う学校というシステム (Seth Godin) 彼らがいなくなってしまう前に (Jimmy Nelson) 頭良さそうにTED風プレゼンをする方法 (W

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • JavaScriptコーディング等を書く上でのパフォーマンス確認事項30:phpspot開発日誌

    30 best practices to boost your web application performance - Web User Interface Architect JavaScriptコーディング等を書く上でのパフォーマンス確認事項30。 自分へのインプット&メモがてらにちょっとまとめてみます。 JavaScript DOMの操作は可能な限りやめる eval, new Function() は遅いので可能な限り使わない withステートメントを使わない(使った事ないですが) for-in 文ではなく for 文を使う。 ループの中で try-catch ではなく、try-catchの中にループを置く グローバル変数をなるべく使わない aaa+='AAA';aaa+='BBB'; の方が aaa+='AAA'+'BBB';より速い 複数の文字列連結には、Array で文字列

  • ビュー (UIView) の階層構造をダンプする非公開の便利メソッド - 24/7 twenty-four seven

    標準 SDK で提供されているクラスがどういう構造になってるか参考にしたいとか、ちょっとしたカスタマイズをしたいとか、そういうときにビュー構造をダンプしたりすることはよくあると思います。 下記のようなメソッドを書いてもいいのですが、実は UIView には便利なメソッドが提供されています。 - (void)explode:(id)aView level:(int)level { doLog(level, @"%@", [[aView class] description]); doLog(level, @"%@", NSStringFromCGRect([aView frame])); for (UIView *subview in [aView subviews]) { [self explode:subview level:(level + 1)]; } } それが次の2つです。rec

    ビュー (UIView) の階層構造をダンプする非公開の便利メソッド - 24/7 twenty-four seven
  • WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記

    以下は、WEBプログラマー用のWEB脆弱性の基礎知識の一覧です。 WEBプログラマーの人はこれを読めばWEB脆弱性の基礎をマスターしてWEBプログラムを書くことができるようになっているかもです。 また、WEB脆弱性の簡易リファレンスとしても少し利用できるかもしれません。 WEBアプリケーションを開発するには、開発要件書やプログラム仕様書通りに開発すれば良いというわけにはいきません。 そう、WEB脆弱性を狙う悪意のユーザにも対処しないといけないのです。 今回、WEBアプリケーションを開発にあたってのWEB脆弱性を、以下の一覧にまとめてみました。 このまとめがWEBアプリケーション開発の参考になれば幸いです。 インジェクション クロスサイト・スクリプティング セッション・ハイジャック アクセス制御や認可制御の欠落 ディレクトリ・トラバーサル(Directory Traversal) CSRF(

    WEBプログラマー必見!WEB脆弱性基礎知識最速マスター - 燈明日記
  • ちょっとだけ本格的なiPhone Core Dataアプリケーションへの拡張

    関連を使った拡張を行う 以前の記事「初めてのCore Data on iPhone」でCore Dataの超簡易サンプルとして紹介した「FirstCoreData」ですが、前回の説明では関連について全く触れていませんでした。 そこで今回は前回のサンプルに手を加えて、関連を使用した発展バージョンにしてみます。ちなみにこれもiPhone SDK 3.1.2用です。 残念ながら現在のXcodeでは操作方法が異なる部分があるため、そのまま応用することはできません。 基方針 まず、基的な設計についてですが、関連を使うために2つのエンティティからなるデータベースにします。親オブジェクトの中に子オブジェクトが複数格納されるスタイルです。 とりあえず今回はそれぞれのオブジェクトに名前を付けられるようにし、それをナビゲーションバー付きのテーブルビューで行ったり来たりできるようにします。 名前はテキストフ

  • ツールバーのボタン (UIBarButtonItem) の隠し API - 24/7 twenty-four seven

    @iphone_dev_jp ツールバーとかタブバーによくある「現在地を表示」のボタン画像(あのライフルのスコープみたいなアイコンの)はシステム標準でないですよね。自分で作らないとダメなんですかね。 takoyaki0330 on Twitter: "@iphone_dev_jp ツールバーとかタブバーによくある「現在地を表示」のボタン画像(あのライフルのスコープみたいなアイコンの)はシステム標準でないですよね。自分で作らないとダメなんですかね。" 上記の「現在地を表示」ボタンに限らず、Safari の「戻る」ボタンや、写真.app の「ゴミ箱」ボタンなど、標準アプリで使われているアイコンなどはすべて提供されているわけではありません。 実はそれらのアイコンは非公開ではありますが API に存在します。 UIBarButtonSystemItem に 100 〜 110 までの値を直接指定す

    ツールバーのボタン (UIBarButtonItem) の隠し API - 24/7 twenty-four seven
  • プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記

    まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。 これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml といった静的な言語は軒並み上位に登場する。これに対し、RubyPythonPHP といったスクリプトは全部下のほう (つまり遅い)。その速度差は非常に大きく、このベンチマークで見ると Python3 や Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、PHP にいたっては約130倍遅いことになる。 (ちなみに JIT つきの Lua が驚異的に高速なのが目をひく。この結果が当だとしたら、言語の速度に大きく関係するのは動的か静的かではなく、どれ

    プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • 何故、CocoaのMVCとレガシーなMVCはアーキテクチャが違うのか? - ちくたく

    MaciPhoneのSDKが提供しているCocoa*1で一番気になるのがMVC。何故、CocoaのMVCは、レガシーなMVCと違うアーキテクチャを採用しているのか。 気になったので、考えてみた。 レガシーなMVC レガシーなMVCの最大の目的は、Modelを再利用するアーキテクチャを提供すること。 このアーキテクチャでは、ViewやControllerはアプリによって、変更されることが前提になっている。そのため、ViewやControllerの再利用については言及されていない。 そのため、真面目にこのアーキテクチャで実装すると、ViewはModelとControllerに依存してしまい、Viewの再利用性は失われる。 [特徴] ModelはViewにもControllerにも依存しない。*2 ViewはControllerとModelに依存する。 ControllerはViewとMode

    何故、CocoaのMVCとレガシーなMVCはアーキテクチャが違うのか? - ちくたく
  • はてなブログ | 無料ブログを作成しよう

    ベルリン&ポーランド旅行での事を一挙公開! 2025年の7月、戦後80周年ということで、「もうひとつの敗戦国ドイツ」と「アウシュビツ」を訪れる12日間の「ちきりんオリジナルツアー」を催行しました。今回のツアーでは、事の内容まで事前打ち合わせを行い、しかもかなり細かく(旅行会社に)希望を伝えたため、大…

    はてなブログ | 無料ブログを作成しよう
  • Bbfstoto: Situs Slot Gacor Gampang Menang Maxwin Setiap Hari

    Bbfstoto adalah situs slot online peluang maxwin tertinggi yang bisa didapatkan dari slot gacor terbaru bergaransi. Kemenangan luar bisa dan mudah menjadi daya tarik bermain pada situs slot terbaru. Didukung dengan mekanisme peluang lebih besar hingga 70% berbanding 30% semua bisa merasakan withdraw besar. Awal mula munculnya judi slot hanya untuk kalangan menengah keatas, namun era sudah berubah

  • Cocoa と touch, Cocoa で touch: Table View セルのカスタマイズ

    今回は、Table View に表示されるセル(UITableViewCell)をカスタマイズする方法。  前回見たとおり、デフォルトでは、セルにはひとつのテキストしか表示できません。  しかし、iPhone のテーブルには一度に一列しか表示できないのに、それではもったいない。大きさや色を変えたりして複数のテキストを表示したり、画像を表示したいという要求が出てきます。  このような場合、ふたつの手法があります。  ひとつめは、ソースコード上で複数のUI部品を作り、それをセルの subView として追加するという手法。  前回のサンプルコードで、都市名と県名を同時に表示するようにしたいと思います。  そのため、ふたつの UILabel を用意し、セルの初期化の後に、それぞれを subView として追加します。 UILabel *cityLabel, *prefLabel; UITable

  • iPhone SDKにおけるautoreleaseの是非 - あたらしものずきっ!

    Interface Builderを捨てて完全にXcodeだけで作成するようになって、メモリ操作に気を使うケースが結構多くなってきたので、気をつけてることを書いてみることにする。 特に知識がなかったころは馬鹿正直にautoreleaseを使って放置してたんだけど、main.mに記述されているNSAutoreleasePoolの存在を知って、且つ NSAutoreleasePoolの動作を知って以来微妙だよなぁと思ってる。 autoreleaseの動作 main.mに記述されているNSAutoreleasePoolの役割をおおざっぱに書くと、ソースコード上でautoreleaseのメッセージが送られたオブジェクトの、メモリ上からの解放処理をまとめて担うという代物で、メモリ上での解放処理に細かく気を使わなくてよくなるのが特徴。ただ解放のタイミングとか指定がしにくい(できない?)から、結構メモリ

    iPhone SDKにおけるautoreleaseの是非 - あたらしものずきっ!