Page 3 of 14

オブジェクト指向プログラミングとは結局なんなのか


この記事は第2のドワンゴ Advent Calendar 2015の5日目です。
ちなみに前日は@deflisさんでした。
先日の記事で分かる通りドワンゴ社員()なのですが、まぁ@mesoさんが「厳格な管理とかめんどくさいので、元社員も参加すればいいんじゃないかな。」とか言ってるしお目こぼし頂きたく…

去年のアドベントカレンダー記事は「関数型プログラミングとは結局なんなのか」というタイトルで、関数型プログラミングという語が何を指していて何を指していないのか、みたいなことをなるべく平易にまとめました。
なので今年は「オブジェクト指向プログラミング(以下OOP)とは結局なんなのか」という記事にしてみた…のですが、なにぶん語の指す範囲が広く、また自分も理解しきっているわけではないので、多少不正確な点があるかもしれません。
「関数型は流行りだけど、今更OOPかよ」とか思われるかもしれませんが、お付き合いいただければと思います。

OOPという語の曖昧さ

さて、一口にOOPといっても、人によってイメージするものがバラバラである可能性があります。
「動物クラスを継承した犬クラスと猫クラスが」とか「グワッと鳴けばアヒル」といった話から、「イマドキのオブジェクト指向はドメイン駆動ヘキサゴナルアーキテクチャだ」みたいな話までいろんなイメージを持つ方がいると思いますが、今回はオブジェクト指向の本質的な思想の部分を中心にまとめる予定です。

ところが困ったことに、OOPという語は2つの異なる系譜があったりします。

  • アラン・ケイがSmalltalkで提唱したOOP
  • ストラウストラップがC++で提唱したOOP

現在は、後者濃い目でこれらが混ざり合ったものに加えて

  • プログラミングではなく設計・モデリングの話

までOOPの範疇で語られていることも見かけることがあります。
これらの区別をつけないと議論の土台から噛み合わなくなってしまう可能性があるため、以降これらを区別して「アラン・ケイのOOP」「ストラウストラップのOOP」「オブジェクト指向のモデリング・設計」と呼び分け、順に見ていくことにします。

Continue reading


入社初日に業務外で焼きそばとチャーハンを炒めた話


先日退職エントリに書いたとおり、ドワンゴを退職して先週の月曜から株式会社Misocaで働き始めました。
で、入社初日から業務外時間に焼きそばとチャーハンを炒めることになりました。

あ、カードゲームの話です。

そんなわけで入社日である10月19日の業務後、アナログゲームナイトへ遊びに行ってきました。
このイベントが行われている名古屋ギークバーは、Misocaの取締役である松本さん(@Dominion525)がClub Adrianaさんの定休日を使わせていただく形で立ち上げられたイベントだそうです。
アナログゲームナイトは更にそのギークバーの枠を借りて行っている形ということで、松本さんにお誘いいただいてそのまま遊びに行ってきた形になります。

内容は普通のボードゲーム会で、いくつかのテーブルに分かれてゲームをプレイし、1時間を目安にテーブルを立て直す、といった感じで3時間半程度遊ばせていただきました。
今回はアジアゲームがテーマということで、日本・中国・韓国などのゲームが多く、また秋のゲームマーケットが近いということで同人ゲームも多くありました。
以下、自分がプレイさせていただいたゲームについてつらつらと書いていきたいと思います。
焼きそばとチャーハンもあるよ!

Continue reading


株式会社ドワンゴを退職しました


巷で流行りのアレをやっていなかったので。

ドワンゴアドベントカレンダー2014に参加して記事を書いた以外はあまり勤務先について書いていなかったのですが、先月末で株式会社ドワンゴを退職しました。
最終出社自体は9月の上旬だったのでだいぶ間が空いてしまったのですが、区切りの意味も込めて記事にしておきます。
なお、退職の理由は私的なもので、とりあえずチャーハン及び焼きそばが関係ないことだけは明言しておきます。

業務では主にPHPとScala、たまにJavaとRuby、個人ツールでOCamlなどを書かせていただいていました。
大規模なサービスの開発に携われたこと、人に恵まれたこともあり、学ぶことも刺激も多く、短い間でしたが非常に良い経験になったと感じています。
なかでもデブサミやAkamaiカンファレンスなど各所で発表をされている吉村さんには、設計論や開発マネジメントなど多岐に渡り教わることが多く、大変お世話になりました。

次は名古屋にある株式会社Misocaさんでお世話になることになります。
というか明日が初出社なので、明日から働きます。
業務内容としては、Ruby on Railsで請求書作成サービスのMisocaの開発に携わることになりそうです。

ちなみに、転職して名古屋に行くと行ったらほとんどの方に「関数型の仕事?」という反応をされました。
まぁさもありなんという感じですが…w
そういった会社も検討したのですが、今回はスタートアップの会社でチャレンジしてみたいと思いMisocaさんで働くことにしました。

ドワンゴの皆様、今までお世話になりました。
Misocaの皆様、これからよろしくお願いします。

(追記)
干し芋のリスト晒しておくので、気が向いたらよろしくお願いします。


ConoHaのオブジェクトストレージをPaperclipから使う


清楚かわいいConoHaちゃんが、APIのレビュー記事を書くとクーポンをくれるらしいので、全力で乗っかっていこうと思います。

conoha_1920_1080_mode_2015summer
(画像はこのは通信室より引用)

今回利用してみるのは、ConoHaのオブジェクトストレージです。
これは基本的にOpenStack Swiftを使って実現されており、API仕様OpenStack Swift APIとほぼ同じ内容になっています。

APIが互換であれば、OpenStack Swiftを扱えるシステムからConoHaのオブジェクトストレージも扱うことが出来るはずですね。
そんなわけで、試しにRuby on Railsで画像アップロードをお手軽にできるPaperclipのバックエンドをConoHaのオブジェクトストレージにしてみましょう。

Continue reading


Kindle Paperwhiteの新型モデルが凄い


先日のKindle本半額セールで色々本を買った関係で、Kindle Paperwhiteを使いまくっています。
自分の持ってるやつは以前の記事で書いた通り2013年7月に買ったもので、既に2世代ほど型落ちしているんですが、今月末に新型モデルがリリースされるようです。

Kindle Paperwhite Wi-Fi 、キャンペーン情報つきモデル
Kindle Paperwhite Wi-Fi 、キャンペーン情報つきモデル
Amazon 2015-06-30

Amazonで詳しく見る by G-Tools

同じPaperwhiteなら、多少モデルチェンジしてもそこまで変わっていないだろうと思ったんですが、調べてみたところ解像度が大幅に上がっていました。
商品ページにもNEWとアピールされていますが、KindleやKindle voyageと比較したほうが製品のポジション変化がわかりやすいので、そちらを見比べていきましょう。

まず、以下が一つ前の2013年モデルでのスペック比較表です。

kindle_spec_2013

一方、以下が新型モデルでのスペック比較表です。

kindle_spec_2015

見ての通り、2013年モデルでは廉価モデルのKindleが167ppi、フラッグシップモデルのKindle voyageが300ppiに対して、Kindle Paperwhiteはちょうど中間くらいの212ppiとなっていました。
一方、新型モデルでは300ppiと、フラッグシップのKindle voyageに並んでしまっています。
こうしてみると、voyageは重量がわずかに軽い程度で、スペック比較表からは良さが全く伝わらなくなってしまっています。
い、一応物理ボタンとか違いもあるので、スペックに表れていない良い所もあるんじゃないでしょうか…?

そんなわけで、解像度が上がってvoyageのお株を奪ってしまった感のあるKindle Paperwhite新モデル。
リリースに合わせて、プライム会員なら4,000円割引のキャンペーンも行われているようです。

kindle_campaign

キャンペーンページからざっくり引用すると以下の通り。

  • 新モデルのKindle Paperwhite、及びKindleが対象
  • Amazonプライム会員なら4,000円OFF
  • Amazonプライム無料体験中の場合は4,000円分のギフト券プレゼント

新モデルのKindle Paperwhiteはキャンペーン情報付きWi-Fiモデルで14,280円となっていますが、プライム会員であれば10,280円で買えるということですね。
解像度がvoyageと同等になることを考えると、かなり魅力的な価格です。
また、なぜかKindleも対象となっており、こちらに4,000円OFFを適用するとキャンペーン情報付きWi-Fiモデルで4,980円。
もはや電子機器とは思えない安さになります。
バックライトがない、解像度が低いなどの欠点を気にしないのならかなりお手頃ですね。

ちなみにAmazonプライム無料体験中でギフト券がもらえるので、「無料体験に加入→Kindle Paperwhiteを注文→無料体験期間で解約」とすれば実質無条件で4,000円OFFになる…
かと思いきや、キャンペーンページにしっかりとその場合の措置が書かれていました。以下引用です。

【プライム無料体験中のお客様】
本ページに従い、複数の「Kindle」または「Kindle Paperwhite」をご購入いただいた場合も、お送りするAmazonギフト券は4,000円分となります
プライム本会員登録されなかった場合、およびご購入いただいた「Kindle」または「Kindle Paperwhite」を返品した場合、本件の利用条件を満たさない場合として、遡って本件の対象外となります
プライム会員登録後、1年以内にAmazonプライム会員登録をキャンセルした場合、お送りしたAmazonギフト券は無効になります。またすでにAmazonギフト券をご利用いただいていた場合、クレジットカードに使用分の金額を請求いたします
プライム会員登録方法はこちら

そんなわけで、今回のキャンペーンはあくまでもプライム会員へのメリット提供、及びプライム年会費とほぼ同額を割り引くことでプライム加入を促すことが目的のようです。

ちなみに、新型リリースに伴って型落ちとなる2013年モデルのほうも3,000円割引のキャンペーンをやっていました。
こっちは6/27までと期間が短いです。

Kindle Paperwhite (第6世代) ―Wi-Fi + 3G
Kindle Paperwhite (第6世代) ―Wi-Fi + 3G
Amazon 2013-10-22
売り上げランキング : 4

Amazonで詳しく見る by G-Tools

3Gつきモデルで12,000円ちょいと、プライム会員入っておらず解像度を気にしないならこちらのほうがお得かもしれません。
なおキャンペーンページにも書いてありますが、プライム会員の4,000円クーポンは2013年モデルのKindle Paperwhiteには利用できないのでご注意ください。

以上、自分が気になって調べたKindle Paperwhiteの新モデルとキャンペーンについてでした。
ちなみに自分はプライム会員のため、この機にPaperwhiteを買い換えるべきか悩んでいます。
現状の端末で不満は全くないんですが、壊れたら買い換えようって言ってるとe-ink端末ってすごい頑丈そうでなかなか壊れない気がするんですよね…
だれか新モデル買ったら感想聞かせてください!