Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。
弊社が提供するWeb APIである楽天Web ServiceのRubyクライアントrakuten_web_serviceをリリースしました。
bundlerをお使いの方は、Gemfileに
gem 'rakuten_web_service'
を加えて下さい。弊社APIのクライアントは既にいくつかありますが、このクライアントのコンセプトはAPIを叩いている感じを極力見せないことです。
例えば、APIはパラメーターを指定することでページングが可能ですが、本クライアントでは自動で設定し、検索結果を取得します。
RakutenWebService::Ichiba::Item.search(:keyword => 'Ruby').each do |items|
puts item.name
end
通常1リクエストあたり最大30件取得可能なのですが、上のコードは自動的に全てのページの結果を取得し、その都度ブロックを評価します。
まだ楽天市場APIしか対応していませんが、ブックス、オークションと順次拡大していく予定です。
最近、社内で開催されているErlang勉強会で学んだことを復習する意味と、Prag. Daveの講演の影響で、書いてみた。
<script src="https://gist.github.com/satoryu/1f7cb97885d96256d3ab.js"></script>Rubyとかだと、面倒というか、だいぶ辛い処理がスッキリした形になってるのがステキ。
次は何をやってみようかしら。
一昨日くらいに偶然見つけたのだけど、渋谷でオープンソースカンファレンス2016 .Enterpriseが開催されるということで行ってきた。
これまで色んなところで毎年開催しているのは知っていたのですが、あまり興味がありませんでした。
ですが、今年に入ってからOSS Gateに参加してみたり、会社で出してるOSSのコミット権を貰ったり、5月くらいからは出来る限り毎日何かしらコミットするようにしている。
という目的で参加した。
今日の一番のお目当てのセッション。
OSSライセンスをいきなり読むと何のことかわからなくなってしまうので、その基礎となる著作権とソフトウェアライセンスについて解説して下さった。
ソフトウェアのソースコードは、音楽や書籍と並び著作権法で守られる著作物として認められ、作成者(著作者)に配布・複製・改変の権利、利用者は利用の権利が与えられる。ここでソフトウェアにおける利用とは、実行のことを指す。
ソフトウェア・ライセンスとは、著作者が持つ著作権のうち、ある特定の条件で著作者が与える許可。例えば、自己責任においては改変を許可するとか*1。またソフトウェア・ライセンスにより利用を制限する場合もある。例えば、ある契約を結ばない限り特定の機能が利用できない、など。
OSSは、「誰でも自由に利用できる」という条件のもとに公開されているソフトウェアであり、著作者が許可する著作権の範囲について規定しており、オープンソースの定義 に従ったライセンスをOSSライセンスと呼ぶ。
というのが今のところの自分の理解。セッションの後に直接話ができたので、企業としてOSSでどうやって利益を得られるのかを聞いてみた。主に、OSS版としてOSSライセンスを付けて配布するソフトウェアを作り、それを元にしたより高機能なソフトウェアを有償の契約を結んで利益を得るというのが一般的なようだ。なので後者はOSSライセンスではないからOSSではないのであるが、厳密にはOSSを元にしたビジネスということになるのだろう。
<iframe src="//www.slideshare.net/slideshow/embed_code/key/DxVVwDM4N5SQ1n" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>MITライセンスが一番短く読みやすいということなので、試しに読んでみるかな。
あとはOSSライセンスがらみの事件とか問題を調べてみよう。思いつくのはGPL汚染という誤解くらいだけど。
*1 自分の想像なので実際にこういったライセンスがあるかは不明
今週、久しぶりに業務でコード書いたなーって思って、コミットログを見たら8/9以来で何とも言えないヤバみを感じたのでした。その時もだいぶ久しぶりだったはずで、いったい今は何の仕事をしているのだろうか。折角、誕生日プレゼントでいただいたトラックボールやキートップを入れ替えて新品に近くなったHHKBが宝の持ち腐れみたいになっている。
今月から研修のお手伝いで、自席を離れて、ずっと研修会場に常駐してる。研修のサポートをしつつも、その傍らで、もともとやっているプロダクトの開発やお客さんとの打ち合わせなど通常の業務をやっていた。研修というのは難しいもので、場当たり的では何も伝わらない。相手の意図と反応を予想しながら対応しなければならない難しさがある。どうやればいいかを直接渡すのでもいけないし、やり方を自分たちで考えてもらいたいので、考えさせることを考えなければならない難しさがある。普段コミュ障の自分にはなかなかハードな仕事だ。
けれど、それを忘れるくらい良いこともある。彼ら自身で考えた新しいプロダクトが生まれようとしている。しかも、眼の前で生き生きとコードを書き、真剣に価値について議論し、それを検証するために情報を足で探し回る。その姿を見ると、なんだかわからない興奮みたいなものや、羨ましさとか、自分自身の至らなさとか色々感じて、自分自身の学びの方が大きい。
ということで、自分もエンジニアとして今後もやっていくために、色々と頑張らないといけないと感じた次第で、頑張っていこうと思った。