タグ

ブックマーク / kimuraw.hatenadiary.jp (9)

  • 発表: ClangのModules (Xcode)(10/19) - きりかノート 3冊め

    昨年のLLVM DevMtgの提案時と変わっていて情報が錯綜していたので、調べたり試したりしたのでまとめついでに発表した。公式(LLVM Clang)のドキュメントを読んだらだいたい終わりな話。 Clang Modules from Wataru Kimura Modulesってなに? #importの変わりに@importと書く コンパイルが速くなる(らしい) ライブラリ、フレームワークはリンカオプションを指定しなくても自動的にリンクする 従来の#includeや#importでは ヘッダファイルの数が多くなると指数的に遅くなる #include前の#defineにより、#includeしたものが予期しない影響を受ける とかの問題があって、それらを解決する新方式として登場したのがModulesなのです。 使うには以下の環境が必要です。 Xcode 5 (Clang 3.3) iOS 7

    発表: ClangのModules (Xcode)(10/19) - きりかノート 3冊め
  • mac-robotにスクロールホイールの機能を足してみた - きりかノート 3冊め

    まずみんなmac-robotを知らないと思うので簡単に説明すると、 mac-robot(https://github.com/youpy/mac-robot)は、 rubyのライブラリ Mac上のマウス、キーボード操作をエミュレートできる というもの。 内部的にはCGEventのラッパーみたいになってる。CGEventを使う副次的効果として、この手のものとしてはめずらしくシステム環境設定の「補助装置にアクセスできるようにする」と無関係に利用することができる。そのかわり、画面上の文字を読み取ったりということはできない。わりと使いどころを選ぶ感じの便利ツールである。 で、例のスクロールのバグ調査に際して、自動スクロールさせるツールがほしくなったのでmac-robotの機能追加として実装してみた。アプリが落ちるまでひたすらタッチパッドをすりすりするのって地味にツライのですよ…… https://

    mac-robotにスクロールホイールの機能を足してみた - きりかノート 3冊め
  • MacOSX10.8(Mountain Lion)付属のrubyでbignum(?)に問題 - きりかノート 3冊め

    (7/26 タイトルに"Mountain Lion"を入れました) 2**64 => 0 なんだよっ。そんなバカな!という話。 ruby-listに注意のお知らせを出したのでそれをコピペ。 [ruby-list:48855]MacOSX10.8付属のrubyでbignum(?)に問題 先日リリースされた、Mac OS X 10.8に付属のruby(1.8.7)でbignumまわりの計算で問題があるようです。 % /usr/bin/ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] % /usr/bin/ruby /usr/bin/irb >> 2**62 => 4611686018427387904 >> 2**63 => -9223372036854775808 # 負の数になるのはおかしい。正しくは

    MacOSX10.8(Mountain Lion)付属のrubyでbignum(?)に問題 - きりかノート 3冊め
  • 7月のCocoa勉強会の発表「Three20のlintについて調べてみた」 - きりかノート 3冊め

    書くのすっかり忘れてた。前々回、7月のCocoa勉強会の自分の発表です。 スライドはこちら。 Three20 lint View more presentations from Wataru Kimura 前置き Three20は多数の開発者が参加していることもあって、コードのスタイルを検証・訂正する"lint"機能を提供しています。Objective-C/Cocoaでその手のツールはめずらしく、どのように実装しているか興味があったので調べてみました。 きっかけ Three20のMLをながめてたら「lintツールつくって、それで修正かけてみたよ」(メール"Three20 Lint Tool"、pull request)というのがありました。 で、その修正の数がまあすごいたくさんなんです。で、これはどうやってるのかなと興味もったわけです。 Three20のスタイルガイド Three20にはコ

    7月のCocoa勉強会の発表「Three20のlintについて調べてみた」 - きりかノート 3冊め
  • 発表:Macのサービスメニュー - きりかノート 3冊め

    7/24のCocoa勉強会の発表内容とか。 スライド(slideshare) - http://www.slideshare.net/kimuraw/macos-services スライド(pdf) - http://kirika.la.coocan.jp/archive/cocoastudy/201007/macos_services.pdf サンプルプログラムほか資料 - http://kirika.la.coocan.jp/archive/cocoastudy/201007/201007-kimuraw.zip 発表内容 Twitterでクライアントアプリを使うとURL短縮サービスが使えるけれど、ブラウザだと自分で短縮してコピペする必要がある→めんどう 今回つくってみたアプリはサービスメニューで短縮できるもの。 テキストを選択してサービスメニューをえらぶと URLのところが短縮URL

    発表:Macのサービスメニュー - きりかノート 3冊め
  • 第41回 Cocoa勉強会に行ってきた - きりかノート 3冊め

    会場は三鷹市公会堂、市役所のとなり。 発表 「Macのサービスメニュー」 自分の発表。Macのサービスメニューがいつのまにか便利になってるとか、その実装方法について。詳しくはあとでかく。→書いた http://d.hatena.ne.jp/kimuraw/20100725/p1 「UITabBar + 小さいカーソル」公式Twitterアプリとかにある、タブコントロールの上にあるちょびっとした三角を実装してみる話。再利用するための設計の工夫とか。 関連して、アニメーションの効果をつけたときのパフォーマンス稼ぐために工夫についての意見交換あれこれ。 「書画カメラを使ったiPhone/iPad/ガラケーのデモアプリ」なんとMac mini持ち込みでの発表。だったのだけど、プロジェクタとうまくつながらず次回に再トライということに。画面が見えない状態で設定する方法をみんなであれこれアイディアだした

    第41回 Cocoa勉強会に行ってきた - きりかノート 3冊め
  • supported_archs noarch(1.9の機能) - きりかノート 3冊め

    MacPorts家のコミットメールをながめてたら、"noarchs"という指定を追加しているのがずっと続いているのに気付いた。たとえばr66123の変更では次の3行が追加されている。 if {[info exists supported_archs]} { supported_archs noarch }チケットを検索して見つけたのが#20739。MacPorts 1.9(まだリリースされていない)の新機能として、各ソフトウェアのアーキテクチャを明示できるようになるようだ。 たとえば+universalしたとき、通常は依存パッケージのアーキテクチャもチェックされるようになっている(はず)けれど、スクリプトやデータファイルなどのパッケージの場合はアーキテクチャはもちろん存在しない。 手持ちのrb-*なんかはpure rubyのものが少なくないのでこれを指定するようにしよう。

    supported_archs noarch(1.9の機能) - きりかノート 3冊め
  • 今日のコミット - きりかノート 3冊め

    札幌RubyKaigiが遅めの開始だったので、行く前に宿で作業。SF.netのチケットを2件やっつけた。 Tigerのbridgesupportの生成が失敗する問題を修正(r2290) スクリプト中でCFLAGSを生成しているところに誤りがあるとのレポートが。そのとおりだったので修正。ありがとうございます。 Ruby 1.9でRubyCocoaをビルドできないように(r2291) てか、もちろんできないんだけど、明確なメッセージを出してinstall.rbがエラー終了するようにした。 ときどき「1.9でビルドできないぞー」というレポートがくるのに都度対応するのもなんだかなあという気持ちになってきたので。1.9系でRubyCocoa的なことがしたければ、MacRubyを使うべきだよ!

    今日のコミット - きりかノート 3冊め
  • Objective-Cで循環参照を避けるためのルール - きりかノート 3冊め

    GCを使わないObjective-Cではretain/releaseでオブジェクトのライフサイクルを管理するわけだけど、単にキープしたいオブジェクトをretainしまくると、循環参照により解放されない(リーク)オブジェクトが発生してしまうことがあるよね。相互参照がやたら発生するのは設計上の問題のことも多いけれど、そうでないこともある。 ということで、なんらかの指針を持って「retainしないのは誰か」ということを決める必要があるんだけど、Cocoa with Loveでの記事がいい感じ。 http://cocoawithlove.com/2009/07/rules-to-avoid-retain-cycles.html ルール#1から#3は図を見ればひと目、親子関係に着目したルール。#4はビューの解放について、#5は短期的にretainが必要なケースについて。迷ったときは参考に。

    Objective-Cで循環参照を避けるためのルール - きりかノート 3冊め
  • 1