はじめに 今回は、clangの静的解析機能を紹介します。 LeopardのOpenGLに採用されたことでも知られる、LLVMというコンパイラプラットフォームがあります。clangはLLVM内のプロジェクトのひとつで、gccに変わるC/C++/Objective-C用のLLVMフロントエンドを開発しています。 複数のAppleのエンジニアが開発に参加しており、Objective-Cを積極的にサポートしているのも特徴です。 clangでは、通常のコンパイラとして以外にもコードの内部構造にアクセスするいくつかの機能があり、そのひとつが静的解析機能です。 プログラムの静的解析 プログラムを実行せずにプログラムの問題点・バグなどを分析することを「静的解析」といいます。 最近では、JavaのFindBugsが有名ですね。 人力で行うコードレビューも、静的解析と言われることもあります(そりゃそうでしょう
Using the classic “Currency Converter” Objective-C tutorial application as an example I show how to implement the model layer of a Cocoa application in Haskell: I explain how to modify the standard Xcode project for building a mixed Haskell/Objective-C application. I create an Objective-C wrapper class for the Haskell model part that hides the Haskell implementation from the Objective-C controller
UVC Camera Control for Mac OS X For a recent computer vision project I needed to pull images out of a Logitech QuickCam 9000 and track some markers with the help of the ARToolKitPlus library. I connected the camera to my Mac and was quite surprised to see that it just works. There was no need to install any drivers. As I learned later, that's because the QuickCam 9000 is a UVC webcam for which Mac
iPhoneでC#アプリが審査に通るワケという記事に刺激されて、CILが動くんだったらRubyも動くよな、とか思って、iPhone SDKで、Rubyの移植から始めてみました。結論から言うと、Ruby / RubyCocoa ともに、実機/シミュレータともなんとなく動いてます。 スクリーンショット これだけだと、何のことか分りませんね。。 上のスクリーンショットのアプリを書くのに必要なRubyコード こんな感じです。Mac版のRubyCocoaの書き方をそのまま踏襲できます。 require 'rubycocoa' class MyAppDelegate < OSX::NSObject def applicationDidFinishLaunching(application) @window = OSX::UIWindow.alloc.initWithFrame(OSX::UIScree
実は私、NokiaがNokia端末上で動くMobile Web Serverを出した時にセットでついてたMWS:Rationale - OpenSourceに今までのウェブサーバなんか全く全然インタラクティブじゃない、インタラクティブっていうのはこういうのを言うんだ!と書かれているのを読んで以来、ケータイウェブサーバウォッチャーです。 今日、帰宅途中に @shachi @cqa02303 photoアルバムじゃなくて、ftpやhtmlサーバを内臓したカメラアプリっていいんじゃないかと思うですよ Twitter / fladdict: @shachi @cqa02303 photoアルバ … というのを読んで、そういえば今すぐ日本の携帯で動かせるウェブサーバ CeHttp - bits and bytesでためした限りはSoftbankだと外からも繋げられたから、もしかしておなじSonft
PowerSearch: Only in Bowtie BowtieというMac OS X用のイカしたiTunesコントローラがあって、テーマをHTMLベースで手軽に作ることができるため、まだベータ版にも関わらずThemeコミュニティが盛り上がっている。 このBowtieの持つ検索機能がかなり優秀で、手元の704アーティスト・9404曲というライブラリでも一瞬で検索が完了する。その性能に感動していたら、ちょうど開発者のブログに「世のiTunesコントローラはどれも検索機能がバギーで遅い。それは何故かというと…」というエントリがあったので、読んでみた次第。 まず、iTunesの持つ検索機能をそのまま使おうとすると、Apple Eventオブジェクトを投げてやりとりすることになるが、これはかなり遅い。検索リクエストのたびにiTunesと通信したりするとレスポンスがよろしくないので、アプリによっ
JSCocoa ... allows you to write Cocoa programs in Javascript (via JavascriptCore, WebKit's Javascript engine) works on x86 and PPC and requires Leopard (an uptodate Leopard, 10.5.2 from back then crashes) is open source ! Syntax Only dots ! Everyone loves dots ! NSWorkspace.sharedWorkspace.activeApplication.NSApplicationName An instance command to replace alloc.init(…) NSButton.instance({ withFram
Copyright (C) Mainichi Communications Inc. All rights reserved. 掲載記事の無断転載を禁じます
Last week, Chris Lattner — who manages the Clang, LLVM, and GCC groups at Apple — announced that work was well underway to bring ‘blocks’ to the GCC and Clang compilers. ‘So what?’, I hear you ask, ‘My kid has been using blocks since he was 9 months old.’ Fair point, but maybe not these blocks. A Demonstration of ‘Blocks’Blocks, or closures as they are often called, have existed in other languages
問題 RubyCocoaは、Mac OS XのCocoaオブジェクトをRubyスクリプトからRubyオブジェクトとして扱うための、Ruby用ライブラリとフレームワークです。RubyCocoaを用いれば、RubyでCocoaアプリケーションを記述することができるのです。 Core AnimationはMax OS Xのフレームワークで、その利点は手軽さにあります。普通にアニメーションプログラミングを行おうとすると、時間軸管理、非同期な描画スレッド、パフォーマンスの向上など、考慮すべき点があまりにも多すぎます。 しかし、Core Animationを用いれば、面倒な部分はOSに任せて、自分の実現したいことに集中できるのです。 今回はRubyCocoaとMac OS XのフレームワークであるCore Animationを使って、お手軽にアニメーションを作成してみましょう。 回答例 AppCont
Cocoa はじめの一歩 はじめに MacOSXになってからプログラミング環境が無料で手に入るようになりました。学割でも数万円はするソフト(CodeWarriorなど)を苦労して買っていた昔とは隔世の感があります。 せっかくタダなんだからちょっとやってみよう!と興味を持たれる方は多いのではないかと思います。 現在Cocoaに関して優れた本がいくつか出版されていますが、どれもプログラミング、特にCに関して基礎的な知識が要求されます。ではまずはCを勉強してみよう、と思ってもWindowsをベースにした説明ばかりで(コードそのものは同じなのですが)完全な初心者には「Macではどうすれば良いの?」と意外に敷居が高いのが現状です。 ここでは「完全な0から」始めたい人向けに簡単なガイドを提供したいと思います。 なお一概にプログラミングといっても現在Macのデスクトップアプリケーショ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く