Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    wagavulin
    @wagavulin
    🎉
    test/run-test.shで100%成功だっので問題なさそうです。ついでにUbuntu-16.04とmacOSでのビルドについてまとめたので、次にデビューする人の参考になればと思います。 http://www.wagavulin.jp/entry/2017/09/02/114924
    Sutou Kouhei
    @kou
    よかったです!
    日本語の個人のブログに書くのも現状よりよくなるのでいいのですが、日本語が読めない人もスムーズにいくし、そもそも公式ドキュメントだけでスムーズにいくように、Apache Arrow本体にフィードバックしませんか!?
    ちなみに、syntax error ...はmacOSだけですか?Ubuntuでもでました?
    もしかしたら、GObject Introspectionにフィードバックした方がよいやつかもしれません。
    (私たちは「Rubyコミュニティーを超えて協力」していきたい!というポリシーでやっています。)
    wagavulin
    @wagavulin
    syntax errorはMacのときだけですね。
    ビルド方法については確かに公式の方にフィードバックした方が良いかと思ってますが、実のところMacについては半年程前に初Macデビューしたところであまり詳しいわけではないので、この直し方でいいのかあんまり自信ないんですよね。AX_CXX_COMPILE_STDCXX_11の件は僕の環境固有の問題でしたが、libffiの問題はMac + Homebrew環境ならみんな遭遇する問題のような気がしてますが、他に同じ問題にあった方いますか?
    Sutou Kouhei
    @kou
    できるところからやっていきましょう!
    make installとかldconfigのくだりは必要なやつですよね?というか、ビルド方法しか書いていなくて、インストール方法が書いていないってことですかねぇ。
    AX_CXX_COMPILE_STDCXX_11は(インストールしている人は少ないかも知れませんが)gnome-commonをインストールしている人はみんな遭遇するんですよね?であれば、こんな失敗したときはこれこれを確認するといいよ、みたいなトラブルシューティング的な情報があるとよさそうだなぁと思いました。
    Sutou Kouhei
    @kou
    libffiのやつは、よくあるやつなので、c_glib/configure.aclibffiが見つからなくて、brewコマンドがある環境なら自動でPKG_CONFIG_PATH=$(brew --prefix libffi)/lib/pkgconfigを設定して再チャレンジしてもいいかもしれません。
    GObject Introspectionのやつは
    http://www.clear-code.com/blog/2013/12/16.html
    https://github.com/kou/gobject-introspection-sample
    でも再現するならGObject Introspectionの方になにか必要そうな気がします。
    wagavulin
    @wagavulin
    gobject-introspection-sampleを試したみましたが、同じようなメッセージがでますね。
    make install && ldconfiglibffiの件については公式の方にも聞いてみようと思います。AX_CXX_COMPILE_STDCXX_11の件は特定の環境のみの話なのでトラブルシューティングとしてまとめておくのが良さそうですが、公式にそういう情報まとめてるところありますか?
    Sutou Kouhei
    @kou
    GObject IntrospectionをosX上で動かしたときになにか開発者が想定外のことがあるかもしれないので、GObject Introspectionの開発者にフィードバックしましょうか!
    https://bugzilla.gnome.org/ の中にGObject Introspectionの報告先があります。
    AX_CXX_COMPILE_STDCXX_11についてどこに書けばよさそうかもApache Arrowの開発者たちと相談でいいんじゃないかと思いました!
    たとえばここはどう?という案があると話が進みやすいと思うので、たたき台としてこんな感じはどう?というのもあわせてフィードバックするのはどうですか!?
    Kenta Murata
    @mrkn

    @kou red-data-tools と直接関係ないけど、ここにいる人も知ってると便利そうなので、ここで質問します。

    Windows で拡張ライブラリをデバッグするとき、どういう環境を使っていますか?

    Sutou Kouhei
    @kou
    LinuxでMinGWで-g3 -O0でクロスコンパイルして、Cygwinでインストールしたgdbでデバッグしています!
    Kenta Murata
    @mrkn
    なるほど、cygwin なんですね。
    やってみます。ありがとうございます!
    morioka shuhei
    @selmertsx
    次回、RedDataToolsのページを作りました!
    参加者の方は登録お願いします :pray:
    https://speee.connpass.com/event/66165/
    はたっぴ
    @hatappi_twitter
    そとでRed Data Toolsの宣伝をする機会が少しづつ増えてきたのでロゴほしいですねー
    Sutou Kouhei
    @kou
    わかる!お金を寄付したいという話があったらロゴ制作に使うといいのかしら。
    Kenta Murata
    @mrkn

    PyCall でも narray のように Enumerator から step を取り出して slice として使うようにして見ました。

    mrkn/pycall#27

    で、これで Enumerator から range と step を取り出す事例が2つになったので、bugs.ruby-lang.org で step range を導入するのはどうか?という提案をしたら、それが若干通りやすくなったような気がします。
    誰か提案してみませんか?
    おそらく、Red Chainer のアプリケーション、特に画像データを扱うときなんかに多用すると思います。
    はたっぴ
    @hatappi_twitter
    気になります :eyes:
    実現したいことの把握が自分でも出来たら提案してみたいです
    Kenta Murata
    @mrkn
    今は、Enumerator オブジェクトが Range#step(n) かどうかを調べるために、Ruby が外に出してない情報を使う必要があって、narray も pycall もそれを取り出して使っているので、いつでも壊れる可能性があるんですよ。
    だから、step つき range というものを Ruby の世界できちんと使える状態にする方が将来的に良いのでは?という感じの提案になるかなぁと考えています。
    youchan
    @youchan
    その場合、Range#stepEnumeratorを返すのとどう整合とるかがいいですかねー
    別のメソッド生やすのがいいでしょうか?
    あるいは、1..10:2みたいな新しい文法を導入する!?
    Kenta Murata
    @mrkn
    いくつかやり方は考えられます。例えば、Enumeratorがどう作られたかを取り出せる公開 API を追加してもらうとか。
    既存のクラスの仕様変更、新しいクラスの導入、文法の変更は、それぞれ異なる Feature request として考えた方が良いです。
    youchan
    @youchan
    なるほどー

    Enumeratorがどう作られたかを取り出せる公開 API を追加してもらうとか。

    これって受け入れられそうなやつなんでしょうか?
    個人的な感覚で言うと、Enumeratorの責務を超えているように感じますが

    Kenta Murata
    @mrkn
    議論に乗せないと分からんです。
    「やりたいことは range と step を取り出したい。その方法はいくつも考えられるが、とにかくできるようにして欲しい」というのがおそらくfeature request の趣旨になります。
    youchan
    @youchan
    なるほど。まずは議論に乗せるということですね。
    興味深い話ですが、私はいまのところ困っていないのと、RubyKaigiとかいろいろあるので、落ち着いたら出してみようかなくらいの立ち位置をとろうかと思います。誰か積極的にやる人がいればお願いします。
    Sutou Kouhei
    @kou
    Enumeratorを継承したクラス(Slice?)を作って、互換性は維持しつつ、stepを取り出せる、みたいにするのがそれっぽいのかなぁと思いました。
    Kenta Murata
    @mrkn
    StepRange < Enumerator ですかね
    Sutou Kouhei
    @kou
    そうそう、そういう感じで。で、Range#stepはそいつを返す、みたいな。
    Sutou Kouhei
    @kou
    今だとwarningがでるのでアレなんですけど、たとえば、こういう感じとか。
    class Slice < Enumerator
      attr_reader :range
      attr_reader :step
      def initialize(range, step)
        @range = range
        @step = step
        super(@range, :step, step)
      end
    end
    
    class Range
      alias_method :step_raw, :step
      def step(s=1, &block)
        return Slice.new(self, s) unless block_given?
        step_raw(s, &block)
      end
    end
    
    slice = (1..10).step(3)
    p slice.range # 1..10
    p slice.step  # 3
    p slice.to_a  # [1, 4, 7, 10]
    Kazuhiro NISHIYAMA
    @znz
    Ruby は大クラス主義なのを考えると Enumerator に機能追加の方が良さそうかなと思って、https://gist.github.com/znz/7e6be108ef8c19691fddf487a2a5a8c2 のように feature request の案を書いてみましたが、どうでしょうか?
    youchan
    @youchan

    すとうさんの案がいいなって思ってたけど、なるほど、

    Ruby は大クラス主義なのを考えると

    そういう視点はありますね。

    Sutou Kouhei
    @kou
    original_nameよりはmethod_nameの方がいいんじゃないかなぁと思いました。
    parametersよりはargumentsの方がいいんじゃないかなぁと思いました。仮引数じゃなくて実引数を返すので。
    wagavulin
    @wagavulin
    Arrow GLibのビルド方法のトラブルシューティング的な情報を書いたらどうか、というIssueを出しました。
    https://issues.apache.org/jira/browse/ARROW-1464
    返答としては、「Pythonはそういうことを書く良い場所があるけど ( http://arrow.apache.org/docs/python/development.html )、GLib版はそういう場所ある?」という感じです。
    見たところPython版のドキュメントはreStructuredTextで書いてSphinxで生成しているようですが、GLib版はGTK-Docを使ってますね。GTK-Docはどちらかと言うとAPIリファレンスを作るものという認識ですが、APIリファレンスでないものを書くのってどうなんでしょう?
    Sutou Kouhei
    @kou
    気づいていたんですが、コメントできていなくてすみません!コメントしました!
    GTK-DocでもAPIリファレンスじゃないものを書ける仕組みがあるので、書けます!
    Sutou Kouhei
    @kou
    コメント内みたいにMarkdownで書けるといいんですけど、XMLじゃないといけないのがアレなんですが。。。
    GTK-Docの開発チームにMarkdownで説明のところ書きたいんだけどどうやるのがいいかな?って聞いてみますか!?
    https://mail.gnome.org/mailman/listinfo/gtk-doc-list ここが聞くのに適切な場所かしら。
    wagavulin
    @wagavulin
    フォローありがとうございます。今回はc_glib/README.mdsite/install.mdに書いてみようと思うので、GTK-Docはやめとこうと思います。