Satoryu's Diary

Rubyが好きな貧乏プログラマーの日記。日々の生活、開発に関するメモとか考えとか。


2013年10月13日

_ Nokogiriをインストールする(2013年10月版)

Nokogiriのv1.6.0をインストールしようとしたところ、下記のようなエラーが出てしまい、インストールできなかったので、
色々と調べて、なんとかインストールできた。

$ gem install nokogiri
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

    /usr/local/var/rbenv/versions/2.0.0-p0/bin/ruby extconf.rb
Extracting libxml2-2.8.0.tar.gz into tmp/x86_64-apple-darwin12.5.0/ports/libxml2/2.8.0... OK
Running 'configure' for libxml2 2.8.0... OK
Running 'compile' for libxml2 2.8.0... OK
Running 'install' for libxml2 2.8.0... OK
Activating libxml2 2.8.0 (from /usr/local/var/rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin12.5.0/libxml2/2.8.0)...
Extracting libxslt-1.1.26.tar.gz into tmp/x86_64-apple-darwin12.5.0/ports/libxslt/1.1.26... OK
Running 'configure' for libxslt 1.1.26... ERROR, review 'tmp/x86_64-apple-darwin12.5.0/ports/libxslt/1.1.26/configure.log' to see what happened.

上のエラー出力をよくみるとnokogiriが依存しているライブラリlibxml2とlibxsltを展開しようとしている。自分の環境ではhomebrewで2.9.1をインストールしているのだが、それを無視してnokogiriのインストール時に実行されるextconf.rbが勝手に2.8.0を入れようとしている。libxsltも同様だ。
で、そのソースを読んでみると、NOKOGIRI_USE_SYSTEM_LIBRARIESという環境変数が定義されていると、依存ライブラリがシステムに既にインストールされているものとして、nokogiriのインストールが実行される。

ということで、homebrewを使ってライブラリを管理している皆さんは、

$ brew install libxml2 libxslt libiconv
$ brew link libxml2 libxslt libiconv
$ NOKOGIRI_USE_SYSTEM_LIBRARIES=yes gem install nokogiri -v '1.6.0'

でインストールしましょう。


2018年10月13日

_ Rakuten Hackathon 2018 Pre event に行ってきた。 #rakutentech #rakuten_tech

毎年恒例のお騒がせイベントRakuten Technology Conferenceは今年もあるようです。
今年は実行委員がまるっと入れ替わったようで内容も真新しくなっているらしい。
その一つとして、ハッカソンイベントを併設するそうで、試しに事前イベントに行ってみた。
参加者は、途中から来た人を含めて、20名くらい。だいたいが大学生、スタートアップのCEOと3名ほど楽天社員。日本語話せるのが自分含めて3人くらいという、グローバルな雰囲気だった。

ハッカソンのサイトを見ると、スケジュールとどうやらRakuten RapidAPIを作ってなにかするということくらいしかわからない。
この事前イベントで、詳細の説明があった。

スケジュール

10/20(土)からカンファレンス当日10/27(土)までに以下のようなイベントを実施予定。
どうやら現時点(2018/10/14 20:30)で掲載されている情報は最新版では無いそうで、後日更新してくれるらしい。

  • 10/20(土)参加必須
    • 個人で参加した人のための、チーム作りとチームビルディング
    • 各スポンサー企業から提供していただけるサービスや技術についてのワークショップ
    • ハッカソン
  • 10/21(日)
    • ハッカソン
  • 10/24(水)
    • 18:00 からハッカソン会場を提供
  • 10/26(金)
    • 事前審査
    • 懇親会
  • 10/27(土)
    • 事前審査を通過したチームによる3分のピッチとデモ

大まかな流れはこんな感じ。

審査及び審査基準

楽天のCIO、RapidAPIの開発リーダーや各スポンサー企業からの代表者により審査。
審査基準については、後日参加者宛に連絡するらしい。
ちらっと審査基準のリストのExcelファイルを見せてくれたけれど、「楽天のサービスを改善するもの」から「Goverment 2.0」などテーマは大きい。

10/26の事前審査で、各スポンサーやコミュニティスポンサーに入っている団体から来ているメンター*1の方々が審査するらしい。

テックカンファ当日にプレゼンできるのは最大15チーム。
おそらく15チーム分のセッションの枠があるから、そこまでしか入れられないってことなのかな。
もし参加チーム数が15チームより少なければ、事前審査しても全部当日のプレゼンはできるそうだ。この説明会の司会に言わせると「そのときの状況に依る」ってことらしい。

賞品

各スポンサー企業、楽天から受賞者に何かしら提供。
各社検討中ということかな?

成果物の扱い

このハッカソンで作成した成果物は、当然だけれど開発したチームのものとして扱われる、と言っていた。
当たり前だけれど、これははっきりしておかないと、作ったものが
Eventbriteで申し込んだ時に実は参加同意書的なチェックボックスがあったのかもしれないが、スルーしてしまったので覚えていない。


という感じだった。久しぶりに英語だけでバーっと話をされたので、抜けてたりするところもあるかもしれないが、たぶんハッカソンの運営から近々何かしら詳細が来るんじゃないかと思う。
今のサイト上の情報じゃ、怖くてエントリーしないし。

対策

ハッカソン自体は1日半くらいしか無いので、今のうちに準備できることはしておかなければいけないと思う。ということで思いついたことを書いてみる。

チーム

チームでエントリーすることが可能なので、さっさと周りに声をかけて、チームを作ってしまうのが有利になる。
ハッカソン当日に初対面の人と組むのは、なかなかハードルが高いだろう。というのは普段エンジニアとしてチーム開発したことある人ならすぐわかると思う。
ちなみに、この事前イベントで参加してる人同士でもう勝手にチーム作りが発生していた。

あと、万が一にも賞金を取った場合の取り分も合意しておいた方がいい。これでもめるケースもある。

開発

テーマは後日連絡が来るはずなので、その前に使う技術要素を固めておくといいだろう。
Rakuten RapidAPIは制約の1つなので、いまのうちにアカウントを作成して、サンプルコードを動かすのを試したほうが良さそう。
正直言って、使いやすいサービスとは言えないので、今のうちにハマりどころは解決しておくといいだろう。ちなみに、自分はMicrosoft Computer Vision APIを試しに使おうとしてみたけれど、Subscription に関するエラーが出てきて、それをどう対処したらいいのかで今ハマっている。これはMicrosoftさんに聞いたらいいのか、それともRapidAPIの中の人に聞いたらいいのか、なかなか難しいところである*2
8,000ほどのAPIがRapidAPIで使えるようになっているので、ざざっとどんなものがあるのかを見ておくといいだろう。
ハッカソンのテーマはまだわからないけど、スポンサー企業からの受賞を狙うとして、ガッツリその企業が提供するAPIを使い倒すという手もあるかもしれない。

あとは開発言語や作るプロダクトをWebサービスにするのかモバイルアプリにするのか、デモのための実行環境等々をチームで決めておくといいのかな。

*1 ハッカソン中に相談にのってくれる人たち。

*2 この問題の場合、RapidAPIの使い方の問題だとは思う。


最近の投稿

翻訳しました(ちょっとだけ)

follow us in feedly