React Redux のアプリをHerokuにあげるまでの作業メモ

まずは、ローカルでサクッと実行できるように、Yeomanとreduxのジェネレータを入れる。

npm install -g yo

$ yo
? ‘Allo Yusuke! What would you like to do? Install a generator
? Search npm for generators: redux
? Here’s what I found. Official generator → ෴
Install one? redux CLI for Redux: next-gen functional Flux/React with devtools

$ mkdir redux-zoetin; cd redux-zoetin/; git init

$ yo redux
_—–_
| | .————————–.
|–(o)–| | Welcome to the |
`———´ | pioneering Redux |
( _´U`_ ) | generator! |
/___A___\ ‘————————–‘
| ~ |
__’.___.’__
´ ` |° ´ Y `

? What’s the name of your application? redux-zoetin
? Describe your application in one sentence: …
? Which port would you like to run on? 3000
? Install dependencies? Yes

$ npm start

> redux-zoetin@0.1.0 start /Users/yusukenozoe/Documents/redux-zoetin
> DEBUG=true node server.js

Listening at localhost:3000
webpack built d5f31bc70943e3f275bd in 3561ms

ここまででデフォルトのアプリが起動する。次に、これをそのままHerokuにデプロイする。この際、以下の2点を変えておく必要がある。(参考:https://devcenter.heroku.com/articles/getting-started-with-nodejs)

  1. Herokuはdevdependenciesをインストールしないので、全部dependenciesに追加する。
  2. app.set(‘port’, (process.env.PORT || 3000));とし、app.listen(app.get(‘port’), function (err, result) {のように書き換える。

$ heroku create

$ git push heroku master

完了したら、heroku openコマンドでアプリがデプロイされていることを確認する。

渡米振り返り

この1ヶ月間、3度目のニューヨーク出張をしたので、そこでしたこと、感じたことをざっくりと振り返っておく。

毎度のことではあるが、英語力の不足を今回も痛感した。以前よりははるかに改善してはいるが、それでも疲れた時に頭が「英語全スルーモード」に入ることはまだまだあるし、知らない単語は無限にあるし、聞き取れないことも少なくない。もっとナチュラルに英語を使いこなせるようになりたい。

渡米中に26歳を迎えたので、27歳を迎えるまでにさらなる英語力の向上を目指して日々研鑽したい。

具体的には、英語のドラマや映画を字幕なしで観ること、英語の文章をコンスタントに読み、自分でも文章を書くということを日本でも続けたい。

あと、生活の点で、アメリカにいるとチームのメンバーと一緒にいる時間が長いせいか、毎日の研鑽の時間をちゃんと取れていなかったことに帰ってから気づく。これはいい面悪い面あると思うが、日本に帰ったらそこらへんをきっちり自分で決めないと何もできないので、改めて頑張ろう。

もう一つ、全般的な思考力をもっと高める必要を感じる。自分は、問題がすでに見つかっている時に原因を探り出し、解決に導く能力は極めて高いと思う。一方で、問題を見つけること自体に対する意識が低い。例えばプロダクトを手動でちょっとテストすればわかるようなことを見つける頻度は、自分以外のメンバーの方が多いかもしれない。

これは実際に作っている人間だからこそ陥ってしまいがちな部分なのかもしれないが、それができないと最終的なチェックを人に委ねることになる。毎回自分の中で完璧な状態にしてから人に渡すことを目指す。

関連することであるが、「なんとなく」やっていることが多く、いざ質問された時に答えられないことがままある。もっと一つ一つの事象に対して考える習慣を強く持ちたい。そのためにブログやノートなどを利用する。

考えることを上手にするためには、まずは誰かが書いた記事なりを元にすることから始めた方がいいかもしれない。社会で生きていく上で、自分からまっさらな状態で意見を突き出していく、ということはそれほどない。それよりもっと多いのは、ある意見や状況に対して、あなたはどう思うか、と意見を求められる場合だ。つまり、前提とされるインプットがあってのアウトプット。

例えばこの日記は現時点では自分が思ったことをつらつら書いているだけだ。そのこと自体は自分にとってもちろん有用なことであるが、もっと対象を限定して、その中で議論する頭の使い方というものを鍛えた方がいいと思った。

極洋

上場企業についても詳しくなりたいということで始めようと思う。四季報に乗ってるやつを片っ端から少しずつ。

まずは極洋 。昭和12年に極洋捕鯨設立が始まりらしい。昭和24年に上場。その後、昭和32年に魚肉ソーセージ・ハムを販売開始している。

資本金約56億円、従業員数600名弱。事業セグメントとしては、水産商事、養殖、冷凍食品、常温食品、物流など。

売上高は2000億円規模で、ここ数年右肩上がりに伸びている。

Fintech企業リスト

スタートアップに勤めている割にはスタートアップのことをあんまり知らないなあと思うので、勉強しようと思う。まずは世の中にどんなフィンテック企業が存在するのか、少しリストアップしてみたい。

8 Emerging Fintech Startups to Watch In 2016より。

  1. Bettermint – より良い投資のためのサービス
  2. WePay – オンライン決済ソリューション
  3. Affirm – 決済サービス?よくわからない
  4. CommonBond – 学生ローン
  5. Kabbage – 中小企業のためのローン?
  6. Orchard Platform – マーケットプレイスレンディング
  7. Transfer Wise – 実際のレートで海外に送金できるサービス
  8. Meniga – 21世紀の銀行業を変えるらしい

10 FinTech Companies to Watch in 2016より。

  1. SoFi – ソーシャルファイナンス、学生ローン
  2. Billguard – https://www.prosper.com/ に飛ばされた。P2Pレンディング
  3. Square – 決済サービス
  4. Wealthfront – 税金有利でローコストな投資ができるらしい
  5. Robinhood – 無料の株取引
  6. LendingClub – ローン
  7. Flint – スモールビジネス向けの決済
  8. TrueAccord – 債権のコレクション?よくわからん
  9. Equidate – 未上場企業に投資できる?
  10. Neighborly – 近所の人に投資できる

まだざっくりと見ただけだが、大まかに言うと「新しい形式のローンや投資サービス」「決済サービス」のどちらかに分類される。しかし、これだけでも似たようなのがたくさんあって、それぞれが今後どのように成長(あるいは消えて)していくのかが気になるところ。

日本にユニコーンは必要なのか

スタートアップ企業に携わる人間として、いわゆるユニコーン企業には当然憧れを覚える。

しかし日本では、メルカリがつい最近、大規模な資金調達をするまでユニコーンは存在していなかった。国別でみるとアメリカ、中国、インドを筆頭として10つほどの国でユニコーンが複数存在するのに、経済大国日本にはなぜ1社やっと現れたばかりなのか。

http://www.bloomberg.com/gadfly/articles/2016-03-04/japan-s-lonely-child?utm_source=CB+Insights+Newsletter&utm_campaign=d05d7967fb-FintechPulse_03_09_2016&utm_medium=email&utm_term=0_9dc0513989-d05d7967fb-86218165

上の記事ではその理由を「スタートアップが少ないこと」に求めている。確かにそうだと思う。しかし、じゃあ単純にもっと多くの若者がスタートアップにチャレンジすれば、日本はもっと多くのユニコーンを生み、長期的な経済成長につなげていくことができるのだろうか?

実は、そもそも日本社会全体としてそういうもの(ベンチャーやリスクテイキング)を必要としていないんじゃないだろうか?

この間、外国の人から面白い話を聞いた。「ニューヨークに来たアジア人のうち、韓国人や台湾人は長く住みつくのに、日本人はすぐ帰ってしまう」という。

その理由として、多くの日本人にとって日本社会は快適すぎる一方、海外文化になれる精神的なコストは大きい。そういう意味で、多くの日本人にとって海外に移住するメリットは存在しない。そういう話をした。

同じことが日本の経済界全体にも言えると思う。

日本国内だけで十分な市場があり、美味しい食べ物はあり、社会は比較的安全で、生きていくには困らない。若者にとってもリスクをとってチャレンジする必要性など基本的に存在しないのだ。

確かにこのままでは数十年後、この国が今の経済的水準を保っていけるかは怪しい。人口バランスを考えればゆっくり衰退していくのかもしれない。ただ、その解決策として「ベンチャーを増やす」というのが果たしてあっているのだろうか?やみくもにファッションでベンチャーに取り組む人が増えても、あまりいい結果につながらないのではないか?

それよりも、今この国が抱える課題を一人一人がベストな方法で解決していこうとする姿勢が大切なのではないか。多くの問題に直面しているということこそが、日本の特異的な性質だ。

システム開発では「変える必要のない場合には、変えないほうがいい」という一面がある。問題に直面することこそが革新を生むために必要なことなのだ。

結論としては、より多くのベンチャーがおこされることにつながる気はするが、そこの順番は大切なような気がする。

考えたことを何に使うか

前回のエントリでは、社会について考えるより具体的なステップについてがテーマだった。

次の問いは、考えたことをどう活用すればいいのかである。

「対象の定義」「テーマの選択」「関連する問いを立てる」という3つのステップを踏むことで、最初に定義したことに対する自分なりの結論を導くことになる。もちろんそれ自体が楽しくて価値があることだが、より現実的には何の役に立つのだろうか。考えること自体が仕事の人以外にとっては、どうせ考えるなら何らかの実利がある方が嬉しいものだ。

これに対する答えはシンプルだ。上のように考えた結論は大きなことから小さなことまで自らの人生における意思決定に使うことができる。

前回の例だと、「スマホ社会における購買は、ここの独立したアプリがジャンルの異なる課題をより高いクオリティで解決する方向に進化していく」というのが結論である。この結論を元に、起業家であればまだ十分に解決されていない購買ジャンルを選んで会社を立ち上げることができるし、投資家であればある特定ジャンルをより高い質で解決している会社に投資することができる。従業員としてベンチャーに参加する人にとっても、すでに確立しつつある購買ジャンルに(流行りだからと)無謀に立ち向かうベンチャーに参加することを避けることができるかもしれない。

すでに上場した企業を見る際にも、その会社がどのような領域に属し、他のどの企業と競争しているのかを明確にすることで、解決策を考えたり一般的な株式投資を検討したりするのに役立てられるかもしれない。

より簡潔に言えば、2つのことに役にたつ。未来予測と意思決定だ。

 

社会を考える切り口の見つけ方

昨日考えていたことの続き。

昨日考えたことをまとめると、以下の4点にまとめられるだろう。

  • 社会とは複雑な構成要素からなる’系’である
  • 社会の多様性は時間とともに増していく
  • 社会はすでに十分複雑であり、すべてを予測することは不可能
  • 予測不可能な事柄に立ち向かうには、事象の切り口が極めて重要

複雑な社会というものに対して自分なりの考えを持つためには、物事を論じるための切り口というものが重要だとわかった。ここから新たに生じる問いは、「どうやって切り口を見つけるのか」である。

まず、そもそも切り口とは何であろうか?それは、まさに「問いを立てること」そのものである。

大前研一氏の著書「企業参謀」に「解決志向的な発問をすることが大事だ」という旨のことが書いてあった。その中であげられていた例は、ある企業の業務改善について考える場合に、やみくもに対策アイデアを列挙するのではなく、「会社に十分な人的リソースが存在するのか?」問いう問いを立てることから始めてみよう、というアプローチだ。

この問いを立てることにより、YesかNoかの一つの結論がつけられるようになる。企業戦略もそうであろうと思われるが、社会などのとらえどころのない無限に複雑な対象について考える際、YesかNoで答えられるような問いを立てる。これがまさに「切り口」そのものだと考える。

問いを立てることが「社会について考える切り口を作る」ことに相当することはわかった。それでは、その問い自体はどのように考え出せばいいのだろうか。

先の例では、「業務フローを改善する」という明確な目的があった。だからこそ、それを解決するような方向性の上で先の発問を考え出すことができたと言える。つまり、まずはテーマありきなのだ。

さて、順番に行ってみよう。まずは考える対象を決める必要がある。この一連のエントリの場合、社会だ。ざっくりしているのでもう少し狭めてスマホ社会としてみよう。つまり、スマホを持っていない人々は対象から除外され、スマホを所持している人たちから構成される社会が対象になる。

次にテーマを決める。何をどうしたいのか、何がスマホ社会において問題なのかを適当に選べばいい。スマホといえばアプリだ。スマホにはチャットアプリや写真を共有したりと極めて生活に密接した楽しみを提供するアプリが多くある。その中で一つのジャンルを選んでみよう。ここでは「購買」をテーマにしてみよう。スマホにおける購買の行く先について。

ざっくりと考えてみると、まずインターネットでものを売り買いするという歴史が一つある。ネットオークションとECサイトで、どちらにもものすごく巨大なサービスと市場がすでにある。スマホもネットと接続する以上、それらのサービスは利用可能だが、スマホで買い物ができるということにはそれ以上の意味がある。どちらかといえば、お手伝いさんに「ちょっとこれとこれ買ってきて」とお願いするような手間に近いと思う。

さて、ここまできたら何らかの問いを立てられるはずだ。ここで重要なのは、問いを立てるというのは考えるための一つの切り口を提供するだけであって、先のテーマを完全に結論づけるアイデアなどでは決してないということだ(そもそも無理)。あくまで、先のテーマに関連した問いを立てることにより、対象への一つの理解が得られるものであれば良い。(ただ、何か解決に少しでも向かうような問いの立て方が望ましい。)

試しにここで立ててみたいのは「スマホによる購買は、分散していくのか、それとも収束していくのか?」という問いだ。

例えば世の中にはソーシャルゲームプラットフォームというものがある。つまり、その上ではゲームしか買えないが、ゲームであればたくさんの種類のものが買える。同じように、ZOZOTOWNは洋服のプラットフォームであり、そこで洗剤を買うことはできない。コンタクトレンズも買えない。

つまり、スマホによる購買が、「洋服用アプリ」「日用製品アプリ」「フリマアプリ」「電子書籍アプリ」「漫画アプリ」というように様々なジャンルに分散していき、それぞれで競争が行われていくのか、それとも今から10年後には洋服も、日用品も、フリマも全部Amazon という一つの巨大なプラットフォーム上で行われるように収束していくのか、という問いだ。

そして、この問いには容易に答えられる。どう考えても前者だ。ユーザーはアプリのアイコンにある特定の課題を解決することを求めている。ソフトウェアとはそもそもそういうものだ。

仮にあらゆることを解決することのできる一つのアプリがあったと仮定しよう。そうすると、その何でもできるアプリの中でどの課題を解決するかを選択する、アプリアイコンに相当するようなもの(ナビゲーションメニューか何か)がどうせ必要になる。

開発リソースやデザインの最適化という観点から行って、それぞれのアプリが特定の課題を解決するように専門家していく方が合理的である。だから、スマートフォン上で行われる購買活動もアプリごとに分散化していく。

以上の議論はあくまでも一つの思考実験である。論理にそれほど確固たる事実の裏付けがあるわけでもない。単に「考える対象を明確にし、テーマを決め、問いを立てる」という常識的な考え方のステップを示したにすぎない。

優れたデザインとは何か

ある製品について、よく「デザインが優れている(あるいは劣っている)」「UI/UXが良い(悪い)」ということがよく言われるが、実のところその差はどこにあるのだろう。

すべての工業製品はユーザーの課題を解決するためにある。それが至上の価値である。それをもとに考えると、良いデザインとは「ユーザーの課題をよりよく解決するデザイン」ということができるだろう。

どんなに多くの機能があっても、肝心な問題が解決できなければ悪いデザインである。どんなに見た目がカッコよくても、必要なことができなければ悪いデザインである。

例えば、TinderUIは一時期すごくもてはやされた。見た目以上に、「多くの人を写真で取捨選択する」という目的においてとても良いデザインをしているからだ。

一方で、極端な例だがTinderで結婚相手を探したい人にとっては悪いデザインということもできる。サービスとして、それ以外を目的とした人が多く増えやすいデザインになっているからだ。

つまり、目的によって「良いデザイン」は変わってくる。

ごちゃごちゃしたデザインの一例として楽天市場があげられることが多いという印象を僕は持っているのだが、IT企業として楽天は日本随一であり、ECサイト(の集まり)としても最大規模である。楽天は楽天という企業の目的に特化したデザインをしているにすぎない。

今後さらに英語力を高める方法

英語力をあげたいという日本人は多いが、現時点でのレベルが人によって大きく異なるため標準的な回答を用意することは難しい。

僕はかつては完全にドメスティックな日本人であったが、現在は自分以外全員が外国人というITベンチャー企業で働いている。会話は100%英語で、その中で大きな価値を発揮していると思う。

初めて海外に出たのは大学3年生の3月で、決して意識が高い方だったとは言えない。ただ、高校時代の英語の能力は謎に高く、大学受験でもかなりの高得点を取っていたと思う(センターで180点、東大の英語で91とかだった記憶がある)。

大学ではほとんど勉強しなかったので、英語の授業もやっつけで済ませていたし、その間の英語の上達はなかった。そのせいか、大学4年で受けたTOEICでは495点とかでかなりショックを受けた記憶がある。ただ、そのあと半年くらい勉強したら945点になったのでやはり潜在的には英語が得意な方だったんだろう。そこからはインターンや研修で海外で行くチャンスを何度か持ち、積極的に海外で英語を使う機会を模索していた。

しかし、自分はあることに気づいてしまった。結局のところ、英語圏で生活する人以上に英語ができるようになることなんてないのだ。だから重要なことは、いかに早い段階で英語にどっぷりつかるような環境に自らをおくかということだ。

そういった動機も正直あって今の会社に参加することにしたのだが、英語という点で言えば100%正解だったと思う。参加した頃と比べるとはるかにコミュニケーションはスムーズになったし、ちょっとした主張を論理的に英語で説明することもできてきている。

しかし、やはりネイティブにはかなわんと思うことは当然ながら毎日のようにある。そこで、日本人としては相当に英語が堪能な自分がさらに英語力を高めるにはどうしたらいいのかを考えてみる。

まずは基礎力としての語彙力と表現のレパートリーを増やす必要がある。語彙力はリスニングにも直結するが、例えば文章の中に一つ知らない単語があるだけで一気についていけないということはよくある。

アクションとしては「映画やドラマを(少なくとも)英語字幕で観る」「本や記事などを英語でたくさん読む」という2つの方法がある。耳から入るか、目から入るかだ。

この2つについてはとにかく自分の努力次第で、地道に続けていく以外にないと思う。映画とかドラマはそれ自体が共通の話題になることもよくあって、そこから話題を広げられたりするので重宝する。「あの映画でこう言う話してたけど、これってこうだよね」的な。ある意味文化的な予習と言える。単純によく使われる言い回しは映画でも出てくるので、表現の仕方を知るためにも役にたつ。ネイティブとの会話で、そもそも共通の話題がねえよ、という問題は普遍的だと思う。

2つ目が重要なのは主に語彙力だけではなく、英語での情報処理能力を上げるためだ。未だに英語の文章を読むのは日本語と比べるとまだまだ正直しんどい。仕事では頑張って読むが、そうでない場合にはつい翻訳を探してしまう。その方が理解が早いのでいい面もあるのだが。

3つ目はカフェやレストラン、パーティなどで話す機会を可能な限り増やすという方法だ。最も難易度が高い。気づいたのだが、日本人と欧米の文化では会話のスタイルが大きく異なる。もっとも頻発する例としては奴らは誰にでも「How are you?」からカジュアルな会話をし始めるのだが、日本には(居酒屋に現れる馴れなれしいおっさんを除けば)そんな文化はない。だいたい話したいことが先にあり、「最近どう?」なんて知らない人に聞くことはなかなか難しく、答える方としても戸惑いを隠せない。だいたいGoodしか言えない。

それでもリズミカルにやり取りできればいいのだが、だいたいどっかに聞き取れない単語があってまごついてしまう。「あ、フルーティな方がいいかって聞いたのか」的な。これはどんなに勉強したって慣れないとしょうがない。

そして、3つ目はまず住むことが前提になっていることにも注意したい。結局1年は住まないと英語なんてマスターすることはできないんだと思う。それでもできるのかわからないけど。

ただ自分の場合は仕事で価値を出し続けることが目的なので、ある程度の社交と仕事における議論ができればいいというのがゴールとして明確だ。今後も精進していきたい。

予測不可能な対象について考えるには

前回までのエントリで言いたかったことは次の3つである。

  • 社会とは多様な構成員からつくられる一つの”系”である
  • 社会の多様性は時間とともに増大していく
  • 現時点でも社会にはすでに無限とも言えるだけの多様性が存在している

社会にはすでに無限とも言えるレベルの多様性があり、予測不可能なほどに複雑である。しかし、予測不可能なほど多様な社会というものを自分はどのように理解していったらいいのだろうか。

全体を把握することが不可能な場合、必要となるのは「ある特定部分を切り出す」ことである。そして、その中でのみしっかりと因果関係が把握できれば、その特定領域においては一定の予測や思考を進めることができるはずだ。

この一連のエントリでは極めて抽象的で、ざっくりと上から見た前提条件をもとに考えを進めている。そこから具体例に入っていこうとする際に必要なのが、この事象の取捨選択なのだろう。

しかし、どのように切り出せばいいのだろうか?世の中には社会について論じた本が無限のようにある。それらはすべて社会をある切り口のもとに見て、その前提の中で論じているはずだ。

彼らがどのようにその切り口を見出したのかは知るすべもないが、基本的にはそこから視点を借りてくるというのが基本的なアプローチになるのかもしれない。だからこそ読書は必要なんだろう。