From: hiroshi h. <cos...@gm...> - 2013-11-28 14:37:59
|
畑ケです。 PopplerのRuby 2.1.0向けの対応についてと、 LTをすることになったのでその構想とRuby-GNOME2のプロジェクトの方針とが矛 盾がないかという相談です。 後半の方が長くなっています、すいません。。。 まず初めに、 PopplerをRuby 2.1.0向けの対応をするかどうかについてご相談させてください。 現状、Gtk2、Gtk3でRuby 2.1.0 preview1で起こった問題と同様の問題が起きて います。 Travis CIのログ https://travis-ci.org/ruby-gnome2/ruby-gnome2/jobs/14593478 のエラー箇所 の抜粋は以下です: -- rbpoppler-action.c: In function ‘rb_poppler_ruby_object_from_action’: rbpoppler-action.c:36:5: error: assignment of read-only member ‘klass’ make[2]: *** [rbpoppler-action.o] Error 1 make[2]: Leaving directory `/home/travis/build/ruby-gnome2/ruby-gnome2/poppler/ext/poppler' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/travis/build/ruby-gnome2/ruby-gnome2/poppler' make: *** [all-poppler] Error 2 -- この問題の対応はGTK2/GTK3をバックポートする感じになるのでしょうか。 続いて、LTの内容をざっくりと相談させて下さい。 第九回 カーネルVM探検隊 http://peatix.com/event/22490 においてLTをしたいと名乗り出てしまいました。 いい機会ですので僕が関わった範囲でRuby-GNOME2の関わったきっかけや、テス ト事情などについてのLTをしたいと考えています。 大体の構想は次のとおりです: * 背景 ** Ruby-GNOME2に関心を持ったのはmikutterというツイッタークライアントを 使っていたから * Ruby2.1.0 preview1が出た。早速使ってみよう ** しかしRuby2.1.0ではgtk2のgemのC言語拡張のビルドに失敗する * 自分のところだけで直してもいいけれど ** Upstream(開発元)に報告したほうが他の人も幸せになれる ** よし、頑張って報告してできたらパッチを書いてみよう * Rubyに限らずOSSの場合、フルタイムで関われる開発者は少ない(と思います)。 ** なので、テストのカバレッジを追い求めるのは開発していて楽しいのだろう か? ←頭を悩ませています ** そもそもRuby-GNOME2の開発の初期ではテストを書くという文化がRubyコミュ ニティには無かったのか? ←これは自信が無いです。(言ってい いのだろうか というのが正直なところです) ** テストコードを書きづらい箇所のテストをどうしよう ←これはかなりむずか しい問題で、例えばDSLなどはActiveAdminなどを見る限りテストが ほぼ書かれ ていない状況になっています。また、Ruby-GNOME2でも同じ問題を抱えていると 思います。(この箇所はかなり議論を呼びそうで 話すのは危険な香りがします) * 開発を楽しんでいますか? ** テストを書くのもいいけれど、*書いてて楽しいのも重要*だと思う。 みたいな内容をLTしたいです。 *テスト書くのも良いけど開発をもっと楽しもうよ!*というメッセージを伝えた いです。 もちろん、今のRubyコミュニティの状況ではテストコードが付かないプロダクト コードを書くというのはほぼあり得ない状況にはなって居るとは思 います。 書き言葉だけで意図を明確に伝える難しさを今まさに実感しています。。。 # と、ここまで書いておきながら怖気づき気味です。 # 今Rubyが好きな人たちが多く居る会社に勤めているので結構な反感を買いそう です、むむむ。。。 # 僕自身、テストコードを書くのは好きですが、このままテストコードを書き続 けるとテストコードに埋もれてしまうような気がして正直怖いのです。 # いや、でも僕のGithubのリポジトリを見ると関数型も好きだと気づいてしまい ますね。。。しまった。。。 LTは気楽に話せるのが売りなのに何故か真剣な感じになってしまいました! |
From: Kouhei S. <ko...@co...> - 2013-11-28 15:51:01
|
須藤です。 In <529...@gm...> "[ruby-gnome2-devel-ja] popplerのRuby-2.1.0向けの対応についての相談と、Ruby-GNOME2プロジェクトに関わったことをLTにする相談、について" on Thu, 28 Nov 2013 23:37:49 +0900, hiroshi hatake <cos...@gm...> wrote: > PopplerのRuby 2.1.0向けの対応についてと、 > LTをすることになったのでその構想とRuby-GNOME2のプロジェクトの方針とが矛盾がない > かという相談です。 はい! > 後半の方が長くなっています、すいません。。。 いえいえ! > まず初めに、 > PopplerをRuby 2.1.0向けの対応をするかどうかについてご相談させてください。 > > 現状、Gtk2、Gtk3でRuby 2.1.0 preview1で起こった問題と同様の問題が起きています。 > > Travis CIのログ https://travis-ci.org/ruby-gnome2/ruby-gnome2/jobs/14593478 の > エラー箇所の抜粋は以下です: > -- > rbpoppler-action.c: In function ‘rb_poppler_ruby_object_from_action’: > rbpoppler-action.c:36:5: error: assignment of read-only member ‘klass’ > make[2]: *** [rbpoppler-action.o] Error 1 > make[2]: Leaving directory `/home/travis/build/ruby-gnome2/ruby-gnome2/poppler/ > ext/poppler' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/home/travis/build/ruby-gnome2/ruby-gnome2/poppler' > make: *** [all-poppler] Error 2 > -- > > この問題の対応はGTK2/GTK3をバックポートする感じになるのでしょうか。 あぁ、そうですね。GTK2/GTK3と同じ方針で実装するのが Ruby-GNOME2の仕組みとなじんでよいと思います! > 第九回カーネルVM探検隊 > http://peatix.com/event/22490 > においてLTをしたいと名乗り出てしまいました。 すばらしい! > * 自分のところだけで直してもいいけれど > ** Upstream(開発元)に報告したほうが他の人も幸せになれる > ** よし、頑張って報告してできたらパッチを書いてみよう いやぁ、すばらしいですね! > * Rubyに限らずOSSの場合、フルタイムで関われる開発者は少ない(と思います)。 > ** なので、テストのカバレッジを追い求めるのは開発していて楽しいのだろうか? ← > 頭を悩ませています 人によりますかねぇ。 機能を追加するよりもカバレッジを増やすほうが楽しんでそうな人っ ていますよ。Ruby 2.0のリリースマネージャーをやっていた遠藤さ んはそんなことをしていた時期がありましたよ。 http://magazine.rubyist.net/?0038-Hotlinks#f09 アレはコミッターになる前だったかしら。ちょっとよく覚えていな いですけど。。。 > ** そもそもRuby-GNOME2の開発の初期ではテストを書くという文化がRubyコミュニティ > には無かったのか? ←これは自信が無いです。(言っていいのだろうかというのが正直 > なところです) 私も初期の頃は知らないんですが、なかったと思いますよ。 Ruby-GNOME2は前は、Ruby-GNOMEという名前だったんですが、それ は2001年10月にはリリースされています。 http://ruby-gnome.sourceforge.net/ http://sourceforge.net/projects/ruby-gnome/files/ruby-gnome/0.25/ で、その前のruby-gtkはまつもとさんが作っていました。 ↓は1998年9月のruby-gtk-0.11ですけど、探せばもっと前のもある と思います。 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/9570 で、Rubyのテスティングフレームワークのはしりは助田さんの作っ ていたRubyUnitだと思うんですが、これがリリースされたのが2001 年の9月っぽいです。(0.4.0が最初のバージョンなら。) http://homepage1.nifty.com/markey/ruby/rubyunit/ この頃からRuby界隈でテストへの意識は徐々に高まっていったと思 いますけど、書いた方がいいけどなかなかねぇ、くらいだった気が します。 なので、ruby-gtkは明らかにテストを書くという文化はなかったと 思います。Ruby-GNOMEの頃も↑のような状況だったので、テストを 書くという文化はなかった(そんなに根付いていなかった)と思い ます。GUIのテストは特に難しいですし。 で、私が関わりだしたのはRuby-GNOME2からですが、積極的にテスト を書くという文化はなかった気がします。 git log -p --reverseしてtest/unitで検索すると https://github.com/ruby-gnome2/ruby-gnome2/commit/d306157909893d264f514295e001aaf6c569c11c が最初にtest/unitを使ったテストが追加されたときみたいです。 GStreamerのバインディングが入った時ですね。 (これを書いたのはその後MacRubyとかRubyMotionを作るLaurentで すね。) > ** テストコードを書きづらい箇所のテストをどうしよう ←これはかなりむずかしい問 > 題で、例えばDSLなどはActiveAdminなどを見る限りテストがほぼ書かれていない状況に > なっています。また、Ruby-GNOME2でも同じ問題を抱えていると思います。(この箇所は > かなり議論を呼びそうで話すのは危険な香りがします) テストを書いて割にあうところだけ書けばいいんじゃないかなぁと 私は思います。 フリーソフトウェア(OSS)の開発を趣味でやっていると、しばら く触っていなくて久しぶりに触るということはよくあることなんで すが、そのときにテストがあってよかったと思えるかどうかという のは、感覚的にはピンとくる話じゃないかなぁと思っています。 (私はそういう間隔だというだけかもしれませんが。) 私はべつにテストが開発をドライブするとか思っていませんが、テ ストを書きます。それは、開発を楽しく続けるためなんですよね、 私の場合は。テストがないと怖くてコードを触れない、もう開発を 続けられない、という状況にならずに、楽しく変更していくために テストを書いたり、読みやすくコードを書いたりします。 > * 開発を楽しんでいますか? > ** テストを書くのもいいけれど、書いてて楽しいのも重要だと思う。 たぶん、「テスト=つらい」、「機能追加=楽しい」みたいな比較と いう構図だと思うんですが、私は独立しているかなぁ、という印象 なんですよねぇ。 > テスト書くのも良いけど開発をもっと楽しもうよ!というメッセージを伝えたいです。 なるほど! よいと思います! > もちろん、今のRubyコミュニティの状況ではテストコードが付かないプロダクトコード > を書くというのはほぼあり得ない状況にはなって居るとは思います。 たしかに、昔よりかなりそうなっていると思います。 ただ、「テストがある」と「メンテナンスしやすいテストがある」 ではだいぶ価値が違うと思っていて、「テストがある」くらいの方 が多いんじゃないかなぁと思ったりしています。 > # 今Rubyが好きな人たちが多く居る会社に勤めているので結構な反感を買いそうです、 > むむむ。。。 うーん、反感、買いますかねぇ。。。 > # 僕自身、テストコードを書くのは好きですが、このままテストコードを書き続けると > テストコードに埋もれてしまうような気がして正直怖いのです。 テストを書くコストを下げれればそうでもないんじゃないかなぁと 感じました! > # いや、でも僕のGithubのリポジトリを見ると関数型も好きだと気づいてしまいますね > 。。。しまった。。。 いいんじゃないでしょうか! > LTは気楽に話せるのが売りなのに何故か真剣な感じになってしまいました! 人前で話す機会があると自分が何を考えているかを整理するきっか けになっていいですよね。真剣に考えて、気楽に話すのがいいんじゃ ないかと御もいました! (だらだらと書いたり、昔話っぽいことも書いたりで、お役に立て たかどうか。。。) |
From: hiroshi h. <cos...@gm...> - 2013-12-10 12:59:39
|
畑ケです。 本当はもう少し早く反応したかったんですが、遅くなってしまいました。。 LTですが、関わったきっかけを最初に話してから GUIのテストは難しいという話をLTでうすーく話しました。 あれで良かったのだろうか。。。というところです。 人前で話すのは初めてではないんですが、慣れないですねぇ >> まず初めに、 >> PopplerをRuby 2.1.0向けの対応をするかどうかについてご相談させてください。 >> >> 現状、Gtk2、Gtk3でRuby 2.1.0 preview1で起こった問題と同様の問題が起きています。 >> >> Travis CIのログ https://travis-ci.org/ruby-gnome2/ruby-gnome2/jobs/14593478 の >> エラー箇所の抜粋は以下です: >> -- >> rbpoppler-action.c: In function ‘rb_poppler_ruby_object_from_action’: >> rbpoppler-action.c:36:5: error: assignment of read-only member ‘klass’ >> make[2]: *** [rbpoppler-action.o] Error 1 >> make[2]: Leaving directory `/home/travis/build/ruby-gnome2/ruby-gnome2/poppler/ >> ext/poppler' >> make[1]: *** [all] Error 2 >> make[1]: Leaving directory `/home/travis/build/ruby-gnome2/ruby-gnome2/poppler' >> make: *** [all-poppler] Error 2 >> -- >> >> この問題の対応はGTK2/GTK3をバックポートする感じになるのでしょうか。 > あぁ、そうですね。GTK2/GTK3と同じ方針で実装するのが > Ruby-GNOME2の仕組みとなじんでよいと思います! 分かりました!この方針で実装を頑張ってみます! > テストを書いて割にあうところだけ書けばいいんじゃないかなぁと > 私は思います。 > > フリーソフトウェア(OSS)の開発を趣味でやっていると、しばら > く触っていなくて久しぶりに触るということはよくあることなんで > すが、そのときにテストがあってよかったと思えるかどうかという > のは、感覚的にはピンとくる話じゃないかなぁと思っています。 > (私はそういう間隔だというだけかもしれませんが。) > > 私はべつにテストが開発をドライブするとか思っていませんが、テ > ストを書きます。それは、開発を楽しく続けるためなんですよね、 > 私の場合は。テストがないと怖くてコードを触れない、もう開発を > 続けられない、という状況にならずに、楽しく変更していくために > テストを書いたり、読みやすくコードを書いたりします。 > >> * 開発を楽しんでいますか? >> ** テストを書くのもいいけれど、書いてて楽しいのも重要だと思う。 > たぶん、「テスト=つらい」、「機能追加=楽しい」みたいな比較と > いう構図だと思うんですが、私は独立しているかなぁ、という印象 > なんですよねぇ。 そうですね、ちょっとその辺り深刻に捉えすぎていました。 テストはテスト、機能追加は機能追加と割りきって捉えられるようになりたいで すね! テスト書くという事が僕にとって日の浅い習慣なので慣れていきたいです。 >> もちろん、今のRubyコミュニティの状況ではテストコードが付かないプロダクトコード >> を書くというのはほぼあり得ない状況にはなって居るとは思います。 > たしかに、昔よりかなりそうなっていると思います。 > ただ、「テストがある」と「メンテナンスしやすいテストがある」 > ではだいぶ価値が違うと思っていて、「テストがある」くらいの方 > が多いんじゃないかなぁと思ったりしています。 むむむ…これについては難しい問題ですね。。。 >> # 僕自身、テストコードを書くのは好きですが、このままテストコードを書き続けると >> テストコードに埋もれてしまうような気がして正直怖いのです。 > テストを書くコストを下げれればそうでもないんじゃないかなぁと > 感じました! その通りですね…。 テストを書くことに専念し過ぎて本来やりたかった事をやりずらくなるのはもっ たいないと思います。 > (だらだらと書いたり、昔話っぽいことも書いたりで、お役に立て たかどう > か。。。) いえいえ!かなり気が楽になりました、ありがとうございます! |
From: Kouhei S. <ko...@co...> - 2013-12-10 13:26:22
|
須藤です。 In <52A...@gm...> "Re: [ruby-gnome2-devel-ja] popplerのRuby-2.1.0向けの対応についての相談と、Ruby-GNOME2プロジェクトに関わったことをLTにする相談、について" on Tue, 10 Dec 2013 21:59:30 +0900, hiroshi hatake <cos...@gm...> wrote: > LTですが、関わったきっかけを最初に話してから > GUIのテストは難しいという話をLTでうすーく話しました。 お疲れさまです! これですね! http://www.slideshare.net/cosmo0920/kernelvm-29010959 (実はUnit::Testではなく、Test::Unitだったりします。。。) > あれで良かったのだろうか。。。というところです。 > 人前で話すのは初めてではないんですが、慣れないですねぇ まぁ、慣れていてもうまく話せないこともあるので、そう思うとき もありますよ。 >>> PopplerをRuby 2.1.0向けの対応をするかどうかについてご相談させてください。 >>> >>> 現状、Gtk2、Gtk3でRuby 2.1.0 preview1で起こった問題と同様の問題が起きています。 ... >>> この問題の対応はGTK2/GTK3をバックポートする感じになるのでしょうか。 >> あぁ、そうですね。GTK2/GTK3と同じ方針で実装するのが >> Ruby-GNOME2の仕組みとなじんでよいと思います! > 分かりました!この方針で実装を頑張ってみます! ありがとうございます! これ、わかるまで一山あると思うので、たぶん、一度つまづくんじゃ ないかと思います。つまづいたら相談してください。 >> (だらだらと書いたり、昔話っぽいことも書いたりで、お役に立て たかどう >> か。。。) > いえいえ!かなり気が楽になりました、ありがとうございます! それならよかったです! |
From: hiroshi h. <cos...@gm...> - 2013-12-15 08:02:02
|
畑ケです。 PopplerのGTK2/GTK3と同じ方針で実装したbackportのPull Requestを出しました! > これですね! http://www.slideshare.net/cosmo0920/kernelvm-29010959 > (実はUnit::Testではなく、Test::Unitだったりします。。。) うわー、まさかの誤記ですね、どうしよう。。。 >>>> PopplerをRuby 2.1.0向けの対応をするかどうかについてご相談させてください。 >>>> >>>> 現状、Gtk2、Gtk3でRuby 2.1.0 preview1で起こった問題と同様の問題が起きています。 > ... >>>> この問題の対応はGTK2/GTK3をバックポートする感じになるのでしょうか。 >>> あぁ、そうですね。GTK2/GTK3と同じ方針で実装するのが >>> Ruby-GNOME2の仕組みとなじんでよいと思います! >> 分かりました!この方針で実装を頑張ってみます! > ありがとうございます! > これ、わかるまで一山あると思うので、たぶん、一度つまづくんじゃ > ないかと思います。つまづいたら相談してください。 実装に落としこむまで確かに時間がかかりました。 手元の環境ではtestが通る状態にして有ります。 Travisでテストまで通るんでしょうか、ドキドキです。 …っと書いている途中にTravis CIがallow failまで全部Greenになりました! # これで一応Ruby-GNOME2のリリース対象のgemは現時点でruby-headでもテスト まで全部通っている事になりますね! |
From: Kouhei S. <ko...@co...> - 2013-12-15 08:49:36
|
須藤です。 In <52A...@gm...> "Re: [ruby-gnome2-devel-ja] popplerのRuby-2.1.0向けの対応についての相談と、Ruby-GNOME2プロジェクトに関わったことをLTにする相談、について" on Sun, 15 Dec 2013 17:01:51 +0900, hiroshi hatake <cos...@gm...> wrote: > PopplerのGTK2/GTK3と同じ方針で実装したbackportのPull Requestを出しました! ありがとうございます! マージしました! >> これですね! http://www.slideshare.net/cosmo0920/kernelvm-29010959 >> (実はUnit::Testではなく、Test::Unitだったりします。。。) > うわー、まさかの誤記ですね、どうしよう。。。 (シレッと直してアップロードしなおしちゃうとか。。。) > 手元の環境ではtestが通る状態にして有ります。 > Travisでテストまで通るんでしょうか、ドキドキです。 > > …っと書いている途中にTravis CIがallow failまで全部Greenになりました! おぉ。 ふと気になってテストをチラ見してみたんですが、既存のテストで PopplerActionを使っているものがなかったですね。。。 本当はコードを変更したこのタイミングでテストを追加するのがい いんですが、テスト用のPDFを作るのが大変なんですよねぇ。 うーん。。。 > # これで一応Ruby-GNOME2のリリース対象のgemは現時点でruby-headでもテスト > まで全部通っている事になりますね! そうですね! 今年中には新しいバージョンをリリースしたいです! Windows用のバイナリをビルドできるようにしないと。。。 |