きりかノート 3冊め

おあそびプログラミング

2013-01-01から1年間の記事一覧

第64回 Cocoa勉強会に行ってきた(12/7)

(書くの忘れてた。2014-02-26に公開)会場は千葉県は松戸のSENDAI-YA。個人的には1年ぶりくらい?以下発表など。 「ドキュメントベースアプリをTab化する」Mac 前回のマルチウィンドウの続き。PSMTabBarControlを使ったTab化について。(感想)あー、懐かし…

git-svn使用時にgithubでContributionsが正しく表示されるようにする

えらくターゲットの狭い小ネタなんだけど、RubyCocoaの開発は手元ではgitでやってて、 ローカルのgitで開発、コミット SourceForge.netのリポジトリにgit svn dcommitで反映 気が向いたときにgithubのミラーにpush というようにしている。ふと気付いたのだけ…

RubyCocoa 今日あたりのコミット 2013-11-28

ruby-2.0対応の準備とか。 名前が未定義のときModule#nameがruby-2.0ではnilを、1.8では""を返すという差異によるエラーを修正。to_s入れただけ。(r2509) ruby-1.8.4以前用のコードを削除。(r2510, r2511) ruby-2.0でのエラーを修正。requireとeucなファイル…

ruby-2.0.0-p353, ruby-1.9.3-p484に更新 (セキュリティ修正あり)

新しいバージョンがでてたのでMacPortsのほうも更新しました。セキュリティ修正があります。 浮動小数点数パースにおけるヒープオーバーフロー (CVE-2013-4164)

RubyCocoa-1.1.0 リリース!

しました。10.7用のdmgは、いるひとがいたら作るので言ってください。 https://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.1.0/ 今回の主な変更点は、 キャッシュの有効/無効を制御する$RUBYCOCOA_USE_OC2RBCACHEを導入。 standaloneify.rbが動…

RubyCocoa 今日のコミット 2013-11-16

テーブルビューのスクロール時にクラッシュすることがあるの件の続き。 ということで、Objective-C -> Ruby オブジェクトのキャッシュを無効にする方法を導入した。 OSX::ObjCIDに#hash, #eql?, #== を定義。(r2489) OSX::ObjCIDから#cloneを削除。(r2490) O…

RubyCocoa 今日のコミット 2013-11-07

Rubyのドキュメントを追加。(r2483) NKF関連の機能を削除。(r2484, r2485) 後者についてちょっと補足。RubyCocoaにはNKFを使ったユーティリティな機能があって、そいつらを削除した。具体的には以下のメソッド。 OSX::NSString.guess_nsencoding OSX::NSStri…

RubyCocoaアプリでTableViewのスクロール時に落ちることがある問題の調査

もうずいぶん前から調べてはいたんだけど、一定の結論に達したので記録。 調査結果 現象としては、GCされたRubyのVALUEを参照していることが原因。 落ちる場所は一定で、ovmix_ffi_closure()のrb_obj_kind_of()。 RubyCocoaでObjective-CのidとRubyのVALUEの…

RubyCocoa 今日のコミット 2013-11-04

APIドキュメント(の器)を用意した。RubyCocoaも10年を超える時を経て、だいぶコードがカオスな感じになっている。以前からコード整理したいなあと思っていたのと、合わせてリファレンスが要るよね、ということで今日は後者の作業。ドキュメント書きながら外…

buildbotが作成する、バイナリインストール用gemのファイル配置がおかしいのを直した

いやー、けっこう手間取ってしまった。長く苦しい戦いだった……潜在的にはすごく前からの問題だったけれど、先日にportgroupを使ったgemのインストールを改善した(r112446)際に影響を受けやすくなってしまった。 現象 件の変更(10/23)移行にbuildbotが作成し…

productbuildによるインストーラ作成

mac

この記事は、2011年12月の「packagemakerコマンドでインストーラをつくる」の改訂版です。Package MakerがDEPRECATEDになってしまったので、こないだRubyCocoaのインストーラ作成をproductbuildに移行しました。ついでなので、その際に調べたことなどをまと…

RubyCocoa 今日のコミット 2013-10-28

importがおかしいので直した。 (r2470) フレームワーク内で形式で#importしてるとこがあったので直した。そこは"foo.h"じゃないと開発中のじゃなくて、インストール済みのフレームワークのヘッダを見に行っちゃうじゃん。 packageに--signオプションを追加。…

RubyCocoa 今日のコミット 2013-10-27

リリースしたら手を入れようと思ってたとこなどいろいろぶっこんだ。コミットの単位小さめにしてるのもあるけど、記憶にある限りでは自分の1日のコミット数としては最大かも。 ReadMeを移動してmarkdownのテキストを設置。 (r2454, r2455) ruby-2.0対応用の…

RubyCocoa-1.0.7 リリース!

しました。中身的にはあんまり変わってなくて、明確に修正したのは10.9 Mavericksでオブジェクト変換がおかしいことあがある場合くらいで、あとは本体に問題はないけどMavericks上ではテストが通らないとかですかね。 https://sourceforge.net/projects/ruby…

MacPortsのMac OS X 10.9 Mavericks対応について(10/24現在)

(10/26 追記)Mavericks対応のMacPorts-2.2.1がリリースされました。個別のportのバグレポートは引き続きお待ちしています。(10/30 追記)ソースファイル(distfiles)配布サイトで、通信速度のえらい遅いサーバがあります。ダウンロードがすごく遅い、と感…

port:rb19-nokogiriがエラーになるとか言われたので対処した

https://trac.macports.org/ticket/40836 単にバージョン更新すればいいかと思いきや、あれこれありましたよ。いつからかわからないのだけれど、nokogiriは システムやパッケージシステムで提供されてるlibxmlやlibxsltを使う 自前でビルドする が選べるよう…

発表: ClangのModules (Xcode)(10/19)

昨年のLLVM DevMtgの提案時と変わっていて情報が錯綜していたので、調べたり試したりしたのでまとめついでに発表した。公式(LLVM Clang)のドキュメントを読んだらだいたい終わりな話。 Clang Modules from Wataru Kimura Modulesってなに? #importの変わり…

第62回 Cocoa勉強会に行ってきた(10/19)

会場は水道橋の貸し会議室 内海。ここ使うのはひさしぶり。以下発表など。 「新しい通信クラス群NSURLSessionを使ってみる」iOS iOS7で導入された新しい通信API。セッションとタスクを分けたことが大きい。(通常の通信) NSURLConnectionとは異なり、デリゲ…

RubyCocoa 今日のコミット 2013-10-13

configで--sdkrootしないときextconf.rbでエラーになるのを修正。 (r2435) インストーラ(.pkg)の作成にproductbuildコマンドも使えるように。 (r2436, r2437, r2438) テストは流してたんだけど、そろそろ10.9でもパッケージつくってみるかなとGMで作業しよう…

Mavericksの次は10.10なの?

mac

ヨタ話。ついったに投げるには長かったのでこっちに。どこで見たか忘れちゃったんだけど、「Mavericksの発表後に10.10の開発にはいるよ」ていう英語の記事を見たんだけど、次のバージョンって"10.10"なわけ?11.0じゃないの?/usr/include/AvailabilityMacro…

RubyCocoa 今日のコミット 2013-10-08

SDK使用時、ffiやlibxml2のヘッダファイルの場所が適切に指示されてなかったのを修正 (r2431) テストの入力ファイルを変更 (r2432) Project Builderのテンプレートインストール用の残骸があったので削除 (r2433) (10/23 追記)Mavericksがリリースされたので…

RubyCocoa 最近のコミット 2013-10-07

git svn dcommit忘れてたのでまとめて。 String#readでarrayを期待してるところでString#readlinesを使うように (r2428) ぶっちゃけruby-2.0で試してたらエラーになったので直した。テストなんかでrequire_relativeに直す必要があるところもあるんだけど、そ…

ruby-2.1のgmp対応をどうしようか

田中哲さんの「プログラミング言語RubyにGMPを組み込む」を見ながら、そういや12月にリリースされるであろう2.1のMacPortsでのgmp対応どうしようかとか考える。 gmpバリアントを追加 デフォルト無効 あたりでいいかねえ。バリアントいるのか?という気もする…

ruby-1.8のportでuniversal対応が簡単にできる機能をgroupに追加

リクエスト受け取ったのは6月だったんだけど、やっと対応した。いやー、遅くなって悪いねっ(棒 https://trac.macports.org/ticket/39096 もう1.8とかいいじゃん。。2.1のpreviewも出る時代ですよ。 今回の新機能 ruby.setup extconf.rb または ruby.setup se…

KFCocoaPodsPluginを試してみた

先日のCocoa勉強会の復習。 KFCocoaPodsPluginを試してみた CocoaPodsがどのように実現されているかを確認 cocoapodsの話を聞いてるときに「そういやXcodeからcocoapods操作するplugin見た気がするなあ」と思ったので調べてみました。自分はコマンドライン派…

RubyCocoa 今日のコミット 2013-09-16

今日もコンパイル時の警告をつぶしてた。 10.6以降で使わない関数をifdefでコンパイルしないようにした (r2425) isaじゃなくてClassにして使えとの警告[-Wdeprecated-objc-isa-usage]に対処 (r2426) test --arch=i386とかで一部指定のアーキテクチャで実行さ…

RubyCocoa 今日のコミット 2013-09-15

今日はコンパイル時の警告をつぶしてた。警告少ないほうが開発時に問題見つかりやすいしね。 ログの書式が間違ってたのを修正 (r2421) 書式関係の警告[-Wformat]を修正 (r2422) VALUEのポインタをログに出す時に(void *)のキャストを追加。 SELを(char *)で…

ATNDなどイベント支援系サービスのログイン手段を調べてみた

Cocoa勉強会では、見学(会員以外の参加)をメールフォームのみ(!)で受けてるんだけど、そろそろ一般的な募集系サービスを使ってもよいのでは、という話になった。IT勉強会カレンダーには会員のひとりが毎回メールして登録してもらっていた、という衝撃の事実…

RubyCocoa 今日のコミット 2013-09-10

ぜんぶのテストが10.9 DP7でpassするよになった。ランタイムのコアとしては10.9 readyになったと思う。はじめにSEGVやテスト失敗がでまくったときに覚悟したほどヤバイ問題が起きてなくて助かった。。 tc_passbyrefでSEGVする問題を修正 (r2419) tc_passbyre…

第61回 Cocoa勉強会に行ってきた(9/7)

会場は今回も新宿伊藤ビルの貸し会議室。以下発表など。 「メインスレッド外でNSURLConnection」iOS/Mac "NSURLConnectionはメインスレッドじゃないと使えない"という通説があるけれども、そんなことはないよ、という話。 delegateをふつうに実装するとメイ…