@numa08 猫耳帽子の女の子

明日目が覚めたら俺達の業界が夢のような世界になっているとイイナ。

「ゼロ・トゥ・ワン」の7つの質問について考えてみる。

「ゼロ・トゥ・ワン」を読んだ。

numa08.hateblo.jp

この感想は空港から移動するバスのなかで10分くらいで書いた。

ゼロ・トゥ・ワン 君はゼロから何を生み出せるか

ゼロ・トゥ・ワン 君はゼロから何を生み出せるか

本の中に登場する「7つの質問」は、この本が説明しようとしていることをかなりコンパクトに纏めたものだと思ったので、本を読んだちゃんとした感想や考察という意味で記録を残す。

7つの質問

13章「エネルギー2.0」に登場する。

  1. エンジニアリング - 他社より10倍以上の差があるテクノロジーを持っているか
  2. タイミング - そのビジネスを始めるのに適切な時期か
  3. 独占 - 大きなシェアが取れる小さな市場からのスタートができるか
  4. 人材 - 正しいチーム作りができているか
  5. 販売 - プロダクトを作るだけではなく、それを届ける方法があるか
  6. 永続性 - この先10年、20年と生き残るポジショニングができているか
  7. 隠れた真実 - 他社が気がついていない、独自のチャンスを見つけているか

13章は2010年にアメリカで起こったクリーン・エネルギーバブルの中でなぜ多くの企業が潰れていったのか、なぜ同じくらいのタイミングでビジネスを行ったイーロン・マスクテスラ・モーターズは今でも大きな企業なのかをこの7つの質問に対してどういうアクションを行っていたのか、という観点から著者の見解を述べている。

この7つの質問について本の中ではなぜこの質問を行うことが正しいとされているのか、そして我々がビジネスを行うときにこの質問が本当に役に立つのかを考えてみる。

エンジニアリング

なぜテクノロジーが大切なのか。第1章「僕たちは未来を創ることができるか」では「ほとんどの人はグローバリゼーションが世界の未来を左右すると思っているけれど、実はテクノロジーがはるかに重要だ」としている。この世界の資源は限らているため、新たなテクノロジーがなければグローバリゼーションも起こり得ないし、進歩もない。

また、2章の「1999年のお祭り騒ぎ」ではライバルのものを改良して、既存顧客のいる市場から始めると、収益が消失するとしている。

結局他の企業を大きく引き離し市場を独占するためには他の企業が実現できていないテクノロジーの実現を行う他ない。

タイミング

5章の「終盤を制する」ではファーストムーバー・アドバンテージを狙うよりも最後に市場に参入して大きく成長すればいいとしている。先に市場に入り込むほうが他にだれもいないことから市場を独占しやすくなるファーストムーバーは目的ではなくて手段であることを間違えないようにと言っている。

いつを以って、ベストなタイミングと言うべきなのかは難しいのかもしれないが会社の中で準備が整っていないのにファーストムーバーを無理に取りに行くことは意味のない行為である点は注意したい。

独占

4章の「イデオロギーとしての競争」で「競争すればするほど得られるものは減っていく」と述べている。90年代に発生したオンラインのペットストア市場をめぐる戦いでは勝者はペッツ・ドットコムだが、ネット・バブルの崩壊を受けてペッツ・ドットコムも破綻してしまった。競争の中で企業はライバル企業にのみ注意をしてしまう。オラクルとインフォミックスはほぼ個人攻撃といえる広告を立ててお互いに罵りあった。

競争の中で消費者は不在となり、敗者には破綻が、そして勝者には負債が残る。

それなら、しっかり市場を独占して消費者のためのものを作りたい。

ただし、投資家や政府は独占を好まない。そのため、市場の独占に成功した企業は自分たちが独占をしていることを秘密にしたがる。

人財

第10章「マフィアの力学」の中で「職場にいる間に長続きできる関係が作れないなら、時間の使い方を間違っている。投資に値しない」と述べている。スタートアップに必要なのは職場を超えて良好な関係を築くことができるようなメンバーだ。

必要なメンバーを「共謀者」とも言える。筆者は自分たちの「ペイパル・マフィア」のことを指して「マフィアのようでも良い」と言った。ボスとなるCEOがいてその人の考えやビジョンに共感をした人々でメンバーは構成されているべきなのだ。

これは全くそのとおりだと思った。スタートアップに関して特に意見の不一致による空中分解の危機はすぐそこにある。だから自分たちの会社でも意見を出し尽くすようにして、不一致を抱えたまま日々を過ごさないようにしている。意見の一致や会社のビジョンに対する共感があるので、別の会社の待遇にそこまでそそられないという現状もある。

販売

エンジニアは営業やセールスのことを嫌う傾向にあると思う。有る事無い事を盛って盛って盛りまくって売上を上げても、消費者に対して誠実ではないような印象を持ってしまう。ただ、実際のところおたくでエンジニアでもコマーシャルの影響を受けている点については認める必要があると、第11章「それを作れば、みんなやってくる?」で述べている。

必要なのは作った製品を必要としている人の元に届けるためのチャネルだ。営業やセールスはそのチャネルの発見や構築に欠かせない。

マーケティングに関してはC2Cサービスの展開をしている人々であればかなり興味をもつだろう。ユーザーの行動を分析してその人が求めている所に売り込む。検索エンジンの広告がこれかな。

一方で大口の取引のためのセールスが必要であることも分かる。1つの商品の販売が何億円という売上を上げる場合では、顧客との良い関係を作り上げるために長い年月を掛ける必要があるかもしれない。それよりも規模の小さい数百万円の製品であれば適切な規模の営業チームをつくることが適している。

マーケティングとセールスの間にはデッドゾーンがある。中小規模の消費者向けにはコマーシャルを出すわけにはいかない。さらに営業マンを用意するにしても単価に対して見込み客の全てをカバーすることはできない。

販売について適切な戦略を考える必要はあるがデッドゾーンについて注意をする必要もある。

永続性

独占やタイミングの部分と被るけれど、ラスト・ムーバーになるような戦略を立てるべきなのだろう。他社とは大きく違う技術を持っていたとしても、他社が乗り入れてきたときの戦略をどうするべきなのか。

隠れた真実

隠れた真実を見つけること、それこそがその企業の単一のアイデンティティだ。第8章「隠れた真実」で隠れた真実が何なのかの解説を行っている。それは発見することが難しいものだが、近い所に到達不可能な疑問も存在している。どれだけ考えても解き明かすことのできない真実だ。宗教組織は「神の神秘」と言って到達不可能な謎が信仰の対象になる。

周りから見れば隠れた真実を求める人とカルトの宗教団体は紙一重と言える。

18世紀には世界地図に埋まっていない場所もたくさんあったしテクノロジーは大きく進歩していなかった。現在では隠れた真実なんてないんじゃないか?いつの頃からかそう考えるようになってきたが、書籍の中でなぜ人々がそう考えるようになったのかの解説があった。

確かに、物理的なフロンティアが無くなったのは原因の一つのようだ。それに加えてさらに四つのトレンドが世界を支配している。

  1. 漸進主義。子供の時から少しずつ順を追って学ぶことを教わってきた。そこから外れたことを学んでも評価されないしそれどころかマイナスの評価になる可能性がある
  2. リスク回避。 隠れた真実を見つけようとすることは間違えることだ。間違えを恐れる人は隠れた真実には到達できない
  3. 現状への満足。 社会のエリートとなって過去の遺産で暮らしていける人々は隠れた真実を見つけようとはしない
  4. フラット化。 グローバリゼーションが発達し世界中の人々が同じ市場で競争をするようになった今、世界の何処かで自分よりクリエィティブな人が課題を解決したのではないだろうかと考えてしまう。

このトレンドに支配されて隠れた真実の発見をしないのであればその企業にアイデンティティはない。

まとめ

ちゃんと時間をかけて感想を書くとこんな感じになった。一応、我々の会社もスタートアップだし新しいことをやろうとしているので、ここの質問を思い返してみたい。

ゼロ・トゥ・ワン 君はゼロから何を生み出せるか

年末年始、kindleで気になったビジネス書でも読んでみようと思って購入。まったりと読んでいたので1週間くらいで読み終わった。タイトルが「ゼロ・トゥ・ワン」となっているように起業において最も大切なことは「1をそれより大きい数にする」ことではなく「0を1にすること」とするのが本書の主張。

ゼロ・トゥ・ワン 君はゼロから何を生み出せるか

ゼロ・トゥ・ワン 君はゼロから何を生み出せるか

起業の目的や手段、この先生き残るためには

書籍の中で何度も出てくるフレーズの1つに「賛成する人のほとんど居ない、大切な真実は何だろうか?」という疑問があった。隠された真実とも言っている。起業を行い会社の価値を高め、この先の未来をつくるために必要なことはこの「隠された真実」に気がついて、課題を見つけ解決し独占することに他ならないと著者は主張をしている。

この先生き残るために必要なこと、それは「独占」だと思う。確かにそうだ。他の人の追随を許さず、参入の余地のないことを行いしかもそれが価値のあることならば、少なくとも自分の代の中で生き残ることは可能だ。ただ、資本主義社会の中では独占は悪とされてもいる。競争こそが釈迦の原理であり、我々を進歩させるのだと。

冷静に考えると競争はあんまりよろしくない。競争の結果生まれるのはライバル企業を潰してやろうとするモチベーションだ。そこの消費者が入り込む余地はない。いかに競争をすることを避け独占状態を作り出すことができるのか、それこそが大切なことなんだ。

どうやって独占状態を狙うか

本書の中では企業がどうやって市場の独占状態を狙うのか、その方法についても論じている。幾つか要点はあって詳しくは本を読むべきなんだろうけれど、例えば狙い目を間違ってはいけないと言ったものがある。

ランチにミャンマー料理店を出店しようと思っている人が居たとして、そのエリアでミャンマー料理店は他にないので独占状態となる!ということはもちろん、無い。ライバルは他のミャンマー料理店ではなくランチを出すお店だ。

スタートアップのビジネスを考えるときにこれはやりがちなミスとなる。ある視点から見れば独占状態だけれど実はそれはもっと大きな目線で見れば独占状態とはいえない。本の中では2010年にアメリカで起こったクリーン・エネルギーバブルを例にこう言った企業が陥りがちなミスを具体例と一緒に説明をしてくれていて分かりやすかった。

また、独占状態を狙うために小さくスタートすることも推奨している。テスラが成功を収めたのはクリーン・エネルギーバブルの中で「クリーン」な自家用車を求めていた富裕層に対して、プリウスや箱のような電気自動車ではなく、クールなデザインのスポーツカーを販売し、独占をしたからだと分析していた。

この本を読んで

今、コベリンでは詳しくは書けないけれど新しいサービスをスタートさせようと調査や準備を行っている。この本から大きく外れたことは行っていないと思うが、この本に出てくる「7つの質問」、つまり

  1. エンジニアリング - 他社より10倍以上の差があるテクノロジーを持っているか
  2. タイミング - そのビジネスを始めるのに適切な時期か
  3. 独占 - 大きなシェアが取れる小さな市場からのスタートができるか
  4. 人災 - 正しいチーム作りができているか (これはできていると思う)
  5. 販売 - プロダクトを作るだけではなく、それを届ける方法があるか
  6. 永続性 - この先10年、20年と生き残るポジショニングができているか
  7. 隠れた真実 - 他社が気がついていない、独自のチャンスを見つけているか

について再度話し合って見る必要性があると思った。

2017年の振り返りと反省

記事を書こうと思いつつ地球防衛軍5をプレイしていたら年が明けました。あけましておめでとうございます。

2017年も色々なことがあったように思います。生活が大きく変わった2016年と比べて若干、変化のスピードは遅かったかもしれませんが。何があったのかを思い出して、2018年はこうしたいな〜みたいなやつを見つけたい。

よかったこと

kotlin 本を書いたこと

numa08.hateblo.jp

numa08.hateblo.jp

書籍執筆は昔からやってみたかったことなので、今回達成ができて非常に満足しています。自分の経験ベースでjavaをkotlinに書き換えるという作業については出し切ったかなと思ってます。本を書く作業の中で曖昧だった知識や記憶を整理することもできて、やっぱりアウトプットは大事だなと再認識しました。6月から執筆開始して11月の末まで何かしらの書籍関連の作業をやっていたので、作業時間としてはなかなかの物だったかもしれません。印税!速く来てくれー!!

キャンプ趣味を始めたこと

numa08.hateblo.jp

ブログに書いたのは郷路岳に行ったやつだけですが、富士山のふもとっぱらや本栖湖、北海道各地、近所の公園、潮岬、箕面など色々と行きました。一人遊びが充実していて良い。お金はかかっちゃうけど工夫できるところもいっぱいあって楽しい。Youtubeでキャンプ関連の動画をいっぱい眺めるのが楽しくなりましたね。寒い間は電車で行けるところでデイキャンプだけにして、暖かくなってきたらまたキャンプに行きたい。ゆるキャン△が最高。

登山もやり始めた

奥さんと一緒に登山をするようになりました。あんまりガチの雪山なんかに行くつもりはなくて、標高1000m前後の山ばっかりですが、今年は夏の剱岳とかそういうのにも行きたい。ヤマノススメが最高。

大阪で生活を始めた

numa08.hateblo.jp

東京に疲れたので大阪に引っ越しをしました。リモートワークの工夫点とか困りとかについてなんか記事でも書こうと思っていたけれど、特にこっちに来てからこれをやったみたいなやつはなくて、2,3年前から地味にオフィスの中でリモートワークを導入してみてちょっとずつ問題点の改善を図ってきたかなぁって感じです。あ、でもYAMAHAのマイク・スピーカーとかWEBカメラは買ったとか言ってたな。仕事をする上でも何も支障はないし、成果出せば打ち合わせのとき以外は寝てても良いし。何より、通勤電車から開放されたのが嬉しい。前のオフィスの時から歩いてオフィスに行っていたけどね。

本とか

相変わらずちゃんとまとめてないけど、ほとんどkindleで完結するようになってるので、購入履歴を見れば良いぽい。

エピローグ

エピローグ

  • 作者:円城 塔
  • 発売日: 2015/09/17
  • メディア: 単行本

  • エピローグ

円城塔は「これはペンです」以来アレルギーを感じていたのだけれど、弊社の社長の@ryoheycに勧められて読んでみたらめちゃくちゃ面白かった。文字によって構成された文学というフォーマットを利用して文字が文字に対して進行しようとしている状態を、全てのストーリーをラブストーリーへ変えてしまうエージェントを投入することで丸く収めようとする話、だと思う。人格を仮想環境内で並列処理して敵の攻撃を防ぐとか、ITっぽいエッセンスも盛り込まれていて設定が最高に面白かった。設定は面白かったけどストーリーが何だったのかはよくわからんが、まあ円城塔だもんなぁという感じもある。

羆嵐 (新潮文庫)

羆嵐 (新潮文庫)

  • 作者:昭, 吉村
  • 発売日: 1982/11/29
  • メディア: 文庫

三毛別のヒグマ事件の話。何が起こったのかはwikipediaが詳しい。三毛別羆事件 - Wikipedia

吉村昭の有名なやつだけどまだ読んでいなかったので。むちゃくちゃ寒くて貧しい北海道の農村で起こった獣害を彼の独自の取材とまるでその現場を見てきたかのような臨場感で描いていて小説として非常に面白かった。熊怖い。羆によって人間が食われることも当然怖いんだけど、備蓄していた食料が食われることは冬をこす必要のある開拓民にとって本当に死活問題なんだなぁと。あと、本州の熊と北海道の熊は別物で、本州から開拓してきた人々は最初熊を舐めていたんだなぁと。

新装版 赤い人 (講談社文庫)

新装版 赤い人 (講談社文庫)

  • 作者:吉村 昭
  • 発売日: 2012/04/13
  • メディア: 文庫

  • 赤い人

同じく吉村昭の小説で、羆嵐と同じく北海道が舞台。こちらは今の月形村がある樺戸集治監の話。北海道開拓のために集められた囚人がどんな暮らしをしていたのか、あるいは彼らを監視していた看守や典獄はどんな人間だったのかを淡々と解説する歴史小説。この本を読んだので夏には実際に月形村に行ってみて当時の集治監の建物を利用した博物館を見学した。北海道の冬が本州のそれと比べていかに厳しいものなのかは失われていった人命の数を見れば明らか。ただ、当時の政府が囚人の権利や地位を全く重んじることなく、「通常の人なら耐えられない過酷な労働」であっても囚人なら大丈夫だろ的な発想で管理していたことが興味深かった。さらに、現場の典獄と政府の役所との間で囚人の環境に対する認識の違いがかなり大きく、典獄たちは労働者たる囚人たちにそれなりの待遇を与えようとしても、政府がそれを許さないこともあって面白かった。

これは感動しすぎてブログに記事を書いた。

numa08.hateblo.jp

Amazon で買ったのはこれくらいなのか。

  • HARD THINGS

numa08.hateblo.jp

  • スペース金融道

スペース金融道

スペース金融道

このあたりを読んだことは覚えている。

いい加減、読書録をちゃんとつけようかなぁ。

OSS活動

f:id:numanuma08:20180103014248p:plain

うーん、草も生えない。なんか作ったかなー?って言うやつだと、GoogleカレンダーをLineに通知するくんくらい。

numa08.hateblo.jp

ちなみにこの仕組は家で「Slack使ったほうが良いんじゃね?」ってことになったので、SlackとGoogleカレンダー連携に移行した。

Qiitaの記事も6件。

f:id:numanuma08:20180103014530p:plain

このあたりの記事を書いたりするのに、一番見に行ったリポジトリーは kotlinconf-appだった。

github.com

2018年はもうちょっとOSS活動をしたい。

反省点

今年一番の反省点としては、軽度とは言え鬱を患ったことだと思う。一緒に仕事をしていた会社の環境が辛かった。今では普通に生活をする分には何も問題はないけれど、最後に発生した蕁麻疹の症状だけは未だに治ってない。心がしんどいなーってときはすぐに休める体制が必要。

あとはOSS活動やってなかったとか読書録つけてなかったって感じなんだけど。やっぱり自称「フルスタックエンジニア」として生きていくにはあんまり手が広く伸びないなぁってのを感じている。年始から夏まではインフラエンジニアとして働いて、そこからはスマホとかUnityとか色々やった。色々やったけどやっていない事についてキャッチアップができていなくて、例えばGoogle I/Oの情報をちゃんと仕入れたのは夏以降だったと思う。あと、iOSに関しては完全にキャッチアップができてなかった。

情報を拾い集めることができる点についてはポジティブに捉えても良いのかもしれないけれど、それでもやっぱり自分が携わっていない領域に関しての情報をちゃんと拾い集められるようにはなっておきたい。

そろそろ書き初めの季節だし、そのあたりを目標に一筆認めようかな。

そんな気持ちで2018年もほどほどに頑張ろうと思います。

kotlin本を書いた話

無事、12月26日に拙書のKotlin実践プログラミングが発売されました。

numa08.hateblo.jp

この記事では「どういう経緯で本を書くに至ったのか」「どういう方法で本を書いたのか(ツールとかマネジメントとか)」「反省点」についてまとめます。

本を書くことになった経緯

6月に酢酸先生( id:ch3cooh )から slack で「『kotlinで作るAndroidアプリ入門』的な本を出したいって秀和システムの人から連絡があったので、 numa さん書いてよ」って来たのがきっかけでした。人脈大事。同じ週くらいに秀和システムに直接行って打ち合わせをしました。

実際に編集の方とお話をしたり、都内某書店のAndroidやkotlin本の販売部数を見せてもらっていると面白いことがわかりました。Androidアプリの入門書って割りと飽和しているんですよね。毎月のように入門書が様々な出版社から出版されて、同じような販売部数で終わるような。ここにAndroidの入門書を投入するのは面白くないなーと感じました。

プログラミング言語kotlinは、3月に発売された長澤太郎さんの「kotlinスタートブック」が5月のGoogle I/O以降に売上が顕著に上がっていることも教えてもらえました。Androidの開発言語として正式に採用されたことの影響が非常に大きかったようです。

これらの情報を見るに市場が求めているのは入門書じゃないように思いました。kotlinの入門をするのであれば「kotlinスタートブック」は非常に優れた内容です。さらにWeb上にも一次ソースとしてリファレンスやQiitaの記事なども色々とあります。Androidについても同様。ここに本を一冊書くのであれば、特に自分が書くのであれば、kotlinをプロダクトのコードに導入してすでに1年以上を経験している自分の経験を活かして、今後おそらく増えてくるであろう「javaで書かれたコードをkotlinにリプレースする人」をターゲットとした本を書くのがベストなのではないかなと提案を行い、企画として上げてもらいました。

初めての本なのでそんなに上手には書けないだろうとは思ってましたが、それでも自分にしか書けない内容のものを書いたほうが価値があるのでは?と考えました。

どういう方法で本を書いたのか

re:View とか tex とか使うのかなー?って最初は思っていましたが、もっと原始的なプロセスで作業を進めました。マークダウンで執筆した原稿を編集の方と共有し、wordに整形をしてもらって校正。最後に印刷用の整形をしたものをpdfで見せてもらってレイアウトを含めて校正を行って完了でした。ファイルのやり取りはGoogle ドライブで行い、原稿や整形されたwordやpdfについては特にバージョン管理を行っていません。

校正はwordやpdfを利用したので、それらの校正機能やコメント機能を利用しました。

サンプルコードに関しては、githubリポジトリを作って章ごとにコミットをしていました。この本のサンプルコードは第2章から5章では1つのアプリのプロジェクトに対してコードの改変を行ったり追加を行う進行になっています。そのため、章ごとにディレクトリを作るわけではなく、コミットを章ごとに行って読者は自分の進捗に応じて checkout してもらう方法を意識しています。

また、サンプルコードの校正については奥さんに手伝ってもらいました。原稿を渡してサンプルコードのコンパイルが通るのか、説明文がおかしい場所はないかという点について見てもらいました。彼女はAndroidアプリのエンジニアでもないしkotlinも触ったことがないのでちょっとハードな作業だったかとは思いますが。印税入ったら食洗機を買おうと思います。

割りと地味な方法で執筆をしたので反省点も多いです。

反省点

ページ数の見積もりを盛大に間違えました。特に深い考えもなく原稿を書いていたので、当初想定していたページ数に届かないことが校正作業の後半の10月くらいに分かりました。たぶん、レイアウトの整形を行う段になって編集で気がついたのでしょうね。4章と5章に加筆としてテストコードを追加することでなんとか対応をしました。原稿を書いている段階でページ数がどうなるのかを何も考えていなかった自分も悪かったかなと思います。文字数からのページ数見積もりがもうちょっとできたらなぁと思いました。

加筆が必要だとわかったのが10月くらいだったので、実はこの時点で5章までの1回目の校正は終わっていました。そのため、加筆をした原稿をどうやって共有するのが良いやり方なのかなとちょっと悩みました。手元には最初に渡した原稿のファイルと校正指示をしたwordファイルしかありません。この時点での最新の状態の原稿が編集にしかなく私の手元にはありませんでした。これはちょっと困るなぁと。結局、校正指示をしたwordに追加をしてコメントを付けて送付しました。wordのコメントはタイムスタンプが自動で入るので。追記作業をする前にこの時点での最新のファイルを共有してもらえばよかったですね。

また、加筆でソースコードに対して大幅な追加が行われました。今回、サンプルコードは章ごとにコミットしているので章の内容が変わればその変更に追従するコミットも必要になります。しかし、何も考えずにHEADにコミットしてしまうと読者的に分けがわからない・・・。という事で、rebaseが発生します。4章と5章の内容に対してソースコードを追加・変更してrebase。ときどきコンフリクト。仕方がないとは言え、もうちょっとやり方あったかなー?と思いました。バージョン管理は捨てて、冗長になっても章ごとにプロジェクトのディレクトリを作った方が親切だったかもしれません。

原稿共有と整形に関してはどうなんだろうなぁ。re:Viewとか使ってみたかったし、利用実績秀和システムがまだないので、第1号になれたかもしれないですがタイトなスケジュールと教育コストを天秤にかけて今回は不採用に。vcsと組み合わせて校正作業をやりやすくできたのかもしれないですが、ちゃんとチーム体制を組み上げて自分自身も運用ノウハウを身に着けないとまだ採用しにくいかなって感じです。1人でやるのなら即採用なんだけどね。 

kotlinバージョンアップ早い問題もあるかな。執筆開始時点でv1.1だったけど、先日v1.2がリリースされてまぁまぁの変更が。Android Studioも3が出ました。どうすっかなーと思ったけど、コードの差し替えをやるわけにも行かないので「執筆時のバージョン」ということで執筆開始時点のバージョンをキープ。本として出す上で避けることのできない悩みなんでしょうね。これがあるからリファレンス的な内容の本をやりたくないとも思ってたのはある。

そして一番やばかったのが、11月に入ってから「本文中のソースコードの行が長い場所があるので、改行をしてくれ」という依頼が編集から来たことです。何も考えずにAndroid Studioで書いたコードを原稿ファイルにコピペしていただけだったので、本にすると改行がおかしくなってしまう可能性があるのでしょうね。これもたぶん、印刷用の整形を行ったタイミングで発覚したのでしょう。さて、プログラマーの皆様ならお分かりかとは思いますが、単純に改行をすれば良いというものではありません。文法上問題のない箇所で改行をする必要があります。とは言え改行自体はAndroid Studioの整形機能とかを利用してサクサク進めることができたのですが、変更したコードを本文に掲載する部分のみを抽出してテキストファイルにする作業が地味で面倒くさかったです。地味作業嫌い勢なので。思えば変更のあったソースコードを本文に反映させる編集の作業も大変だったでしょう。そう言えば、大学のときのレポートでもコードを印刷するときは適当に改行をしていたような気がします。最初に、コードの改行について意識合わせをしておくべきでした。

最後に来た作業としては索引作りがありました。索引なので、印刷用レイアウトが出来上がらないと作ることができないジレンマ。わりとシビアな締め切りに対して気合で乗り切りました。索引にする単語リストだけでも最初から作っておくのがよかったかなと思いました。

後やっぱり、契約についてもちょっとなぁと。契約書を取り交わしたのは実は10月になってからなので、原稿を書き始めてから3ヶ月以上経過してからでした。こういうの、良くないんだろうなぁと思いつつ執筆作業。もしも契約締結できなかったら技術書展あたりで供養するかという気持ちで原稿書いてました。これに関してはどうすれば良いんでしょうかね。他の人もそうなのかな?

感想

初めての書籍執筆で編集の方にかなり迷惑をかけたんだろうなぁと思いつつ、最初に意識合わせをやっておくべき項目も割りとあるなあという学び。今後もしも本を書くことがあればもっとうまくできると良いな。

なんかめっちゃ技術が進歩してる!「俺達は異世界に行ったらまず真っ先に物理法則を確認する3」感想 #異世界物理

@藍月要 先生の最新刊「俺達は異世界に行ったらまず真っ先に物理法則を確認する」を読み終えたので感想です。

新刊、おめでとうございます。

大精霊祭での活躍が注目された幹人たちは、国王から魔道具の祖ジーリンの情報と引き替えに自動生成ダンジョンの攻略を依頼される。難攻不落のその魔窟にも、彼らは持ち前の科学的思考でアプローチしていき――。

前作までの感想はこちら。

numa08.hateblo.jp

numa08.hateblo.jp

第2巻までは一応ネタバレを気にした文章にしていたけど、今回はもういいかなって感じで。

照兄、お前がトップなのか

第3巻の表紙を見たたとき、真っ先に気が付きました。主人公である幹人やヒロインである魅依よりもトップに来ているのが、ギルドオオヤマコウセンのリーダーにして一番の変人あるいはバカ、もしかしたら変態、コミュ障ゼロの最年長で兄貴分の中久喜照治くんこと照兄です。そう、3巻は実は照兄回だったのです(ナ、ナンダッテー

今回、彼の二面性のような物が明らかになりました。過去の出来事をきっかけに雨ヶ谷兄妹や彼らの家族とほぼ家族同然の絆で繋がり、彼らのためなら命を投げ出すことを選択することができる人情味のある部分。そして、娘との再開を果たした現王に対して「この無駄な時間でやるべきことが沢山ある」という思いを汲み取り嘘をつかせるアドバイスをする異常なまでの効率主義者の部分。

今までの作品では現実主義的、効率主義的であるが故に人情的に振る舞おうとしても不器用に写ってしまう、そしてそれを自覚したキャラクターだったと思ったのですがどうやら彼は効率主義の方にステータスを全ブリしてしまっていたようにも見えます。

更に、今回彼がアドバイスをした現王、つまり今作のゲストキャラクターのジルベルタ・カラブレーゼの母親、ルキシロナ・ウェルエオンは彼のアドバイスを受けて「無駄な時間」を終わらせるためにかつて捨てた娘に対して「愛している」と言います。

良いですね、この感じ。親子の愛と言って思い出すのはやはり第1巻のザザと彼女の父との関係性です。

第1巻では幹人の賭けとも言える提案によって実は彼女の父は財産を捨ててまで彼女に愛を伝えたかったことが明かされました。自分なんて見ていない、ザザの思いは単なる思い込みで実は誰よりも家族として彼女を愛していたのは父であったことが明かされました。

それが一点、ジルとルキシロナの関係は本当の愛ではなく偽りの言葉で作られた関係であることが明かされます。現王は王としての責務を果たすために彼女を捨てた。それが自分の未来やあるいは国の未来の為にちょうど良かったからなのでしょう。大人になったジルは軍務の経験を経て施設を営みつつ冒険者をするそんなに拗れていないキャラクターに育ったようです。照治をして「雨ヶ谷兄妹のようだ」と言わせる善人の塊のような彼女に対しては、王となってその責務を果たす母の重みも理解している、それ故に「それでもお前をまだ愛している」と言われればそれで納得してしまう。言ってみれば、チョロイ。だけど当人としては十分に幸せな関係を築くことができたと言える。

良いのかなー、それで良いのかなー。照治も王もいい感じになんやかんやあって人情派になってくれたら面白いなぁとかちょっと思いました。

雨ヶ谷、お前はどうなんだ

3巻ではようやく幹人と魅依ちゃん先輩の関係が進展します。いやでもトップはなんやかんやで照兄なのでちょっとだけです。

2巻のラストで突然のザザからのプロポーズ、そしてそれへのレスポンス。更に3巻ではやたらと幹人とザザの距離感が近いようなそんなアレ。どうなるんだこれ?と思ったら、ああ魅依ちゃん先輩圧勝でしたかと。幹人君も君は君で案外頑固なんだなぁと。個人的には健気担当のザザ推しでしたけれど。3巻では恋愛関連の進展もあって楽しめます。

2巻で「カレーに漸近する何か」を完成させたらしい(このカレーに漸近する何かは今後出てこないんですか?)料理担当の塚崎さんはまさかの照兄への片思い。2巻までにそんな素振り無かったような。とうか、今回ようやく名前がつきましたねおめでとう。犯人顔のスキンヘッドのお兄さんにも名前をつけてあげてほしいです。

塚崎さんも塚崎さんでかなり奥手なようなのであんまり行動とかは無かったようですが、最後はちゃんと照兄を正気に戻したり仕事をしていました。あと空気も読める。今までのヒロインの中では一番有能なのでは?一番いい奥さんになりそうです。

また、2巻でモニカとちゃんと距離を取った男イヌちゃんも、序盤でちゃんと落ち込んで復活してました。うんうん、若い、いいなぁ。

恋愛と言えば最年少でお兄ちゃんラブの咲ちゃんもなんかあったら面白そうですね。今後に期待。

ロボコペとかシキとか

2巻で作った多脚型の精霊、シキ。実はこれのデザインは現実世界でロボコペのために作っていたオオヤマスパイダーがデザインのベースにあったことが明かされました。そう言えば2巻の中盤、シキ作成中のシーンでスキンヘッドのお兄さんの田川と照兄が足を6本にするのか8本にするのかで言い争いをしていたシーンを思い出しました。実は彼らの口喧嘩の背景にはロボコペ用のデザインを踏襲したい思いがあったのかもしれないですね?

DPS とか、絶対ヤバイでしょ

毎回、何かしらのアイテムを発明するオオヤマコウセンのメンバー。今回は第1巻から登場している魔導杖が更にパワーアップし、第2巻で登場したカートリッジシステムを搭載し小型化したものが正式採用されたようです。第3巻の舞台が2巻の大星霊祭の1週間後で、2巻のスタートが60日以上。そう考えるとそろそろ半年くらいが経過するタイミングかな?半年のうちに実践で利用できる武器を作って更に自律できる精霊も作り量産までしている。オオヤマコウセン恐るべし。2巻のラストで大精霊祭での活躍に対して金銭での報酬もあったようだし、今回の依頼に関しては王がスポンサーのような物なのだからまあ、経済力は相当な様子。となると彼らの技術力がすごいってことですね。

さらに今回、自動生成ダンジョンを攻略するためDPSなる位置座標を即位するシステムも開発、運用しちゃってます。光速よりも遅く、さらに波長やなんかを割りと自由にいじれるっぽい「魔力波」を利用した測位システムを使ってマッピング、さらにシキの自動操縦を行うことで自動生成ダンジョンの攻略を行おうとする。ゲームだとルールがそれを拒むでしょうが、もしもそれがリアルでルール無用ならダンジョン破壊の次に思いつく方法かもしれません。ダンジョン破壊もしっかりと「現実味がない」ということで非採用にしているのも偉い。

ちょっと気になったのは魔力波の速度って結局どうやって求めたんでしょうね?一応「光よりは遅そう」という話を作中ではしていましたが計測の描画は無かったような。1巻の時点で魔力波を観測する仕組みを作ろうとしていたしなんとかしたんでしょうが。結局、魔力波も電磁波のように目に見えないけれど存在するっぽいということはわかっていてもその実態についてはまだ作中で観測はされていないように思えます。その実態は何かのか、魔力波と言っているけれど「波」の特性を持った物なのか物質なのか、あるいはその両方なのか。今後に期待したいですね。

DPSと自動操縦のシキによるマッピングは今回の描画では非常に精度が高く、モンスターがいないあるいは弱いなどの条件付きであればかなり実用度が高いように思えました。あるいはDPSだけでも。第1巻の魔導杖や第2巻のシキなど、彼らの世界から持ち込んだ概念によって構成された物は確かに画期的だったけれど異世界では何か別のものに置き換え可能だった。しかし、今回のDPSに関してはおそらく異世界でも全く新しい発明品で変わるもののないユニークな物なように思えます。次巻以降、彼らがこれで経済的無双をしちゃうんでしょうか。それはそれで見てみたいw

結局、王の目的は?そしてアッドクライムとは

今回潜ったダンジョンは、じつは彼らが求めるジーリン・アッドクライムと非常に密接に関わる、というか彼女の居場所が記されたアイテムの眠るダンジョンでした。アッドクライムの情報を求めるオオヤマコウセンのメンバーを潜らせた。しかもダンジョンの攻略は王の意志で成功報酬は成功者の求めるものを可能な限り叶えるという。もう、これあれですね、アッドクライムさん、めっちゃ要人ですね、王様にとって。今回の描画から王が私利私欲で動くタイプでは無いと思われます。つまり、アッドクライムの居場所は国益にかなり影響をするということ。

次巻への期待も込めて、アッドクライムさんが何者なのか、なぜ王は彼女の居場所を知りたかったのかの予想を立ててみましょうかね。

ある特定の個人(あるいは団体)の居場所を求めるならそのスキルを求めると言ってもいいでしょうね。となると、魔道具を発明した彼女が作るその技術、あるいは製品が必要なはず。なぜそれが必要なのでしょうか?「戦争」とかがありそうかなぁと思いましたが、この王なら難攻不落のダンジョンの攻略をするよりも軍備を揃えたり外交的手段でなんとかしそう。となると彼女の魔道具じゃないと同しようもないレベルの「災害」が予言されているとかそういう感じでしょうか?ただ、今までの描画の中で「予言」とか「占い」とかに関する魔法がなかったのも気になります。魔法が「その結果をイメージする」ことで得られるパワーなら結果を得るために行う「予言」や「占い」は魔法としては利用しにくいはず・・・。

あれ?となるとこの世界の天気予報とかってどうなってるんだろう。風が吹くのなら「気圧」という状態があるっていうことだろうし、農作物があるのなら降った日、腫れた日があるはず。四季についても第1巻の時点で存在が明かされています。

となると、異世界の技術や魔法で観測可能な範囲でいろいろな予想を立てているということですかね?夕日がきれいな日の次の日は天気が悪いとかそういう。そういうのを根拠に国が滅びるレベルの天変地異を予測し、さらにそれを防ぐにはアッドクライムの技術が必要と。うーん、まあまあの線な気がします。

あとは、アッドクライムは国賊でとんでもないことをやらかした逃亡の身。捕らえる必要があるとか?まあ、それだとオオヤマコウセンのメンバーがアッドクライムを探している時点で逮捕とかされそうですね。

考えてもキリがないですし、そして現時点で描画されていない異世界の技術や文化のレベルも気になってきました。ぜひとも設定資料集の発行をお願いしたいですね!!

そんなわけで第4巻以降もかなり期待が膨らんできました!!

藍月先生と設定談義とかもしたいですねw

kotlin本出版のお知らせ

Androidアプリ開発のためのKotlin実践プログラミング

Androidアプリ開発のためのKotlin実践プログラミング

内容紹介

Amazon にはもう並んでいるようですね。夏に酢酸先生( id:ch3cooh ) から紹介をして頂いたご縁があってkotlinの本を執筆しました。タイトルにもありますが「Android開発のための」本です。

Amazonの書籍解説では

kotlinを使って、開発の現場ですぐにKotlin言語を採用したアプリ開発をするためのノウハウを解説する本です。

となっているので、著者目線でこの本が想定しているターゲットや本の内容を紹介します。

目次構成は次のようになっています。

目次の解説の前にこの本のターゲットをお伝えすると「すでにプログラミング言語kotlinの本(赤べこ本とか)を読み終えていて、公式リファレンスやqiitaなどの記事を見ながらコードを書くことのできる人」さらに「Androidアプリ開発の経験がある人でjavaで作られたアプリをkotlinに改修したい人」となっています。そのため本文中ではプログラミング言語kotlinのおさらいを兼ねた解説を第1章で行いますが、Androidアプリ開発に関する部分については省略をしています。

そして気になる各章の内容ですが、第1章は先に書いたようにプログラミング言語kotlinのおさらいを兼ねた解説です。簡単なCLIのアプリケーションを構築する手順を通して、gradleを利用したkotlinでコードを書く場合のプロジェクト構成の作り方やコードの書き方、標準ライブラリに用意されている関数、メソッドの利用方法などを紹介します。

第2章からはがっつりとAndroidアプリ開発を行っていきます。具体的にはよくあるシチュエーションと思われる「javaで書かれたアプリをkotlinに改修する」を想定ます。そのためのプロセスとして次の手順を私は提案しています。

  1. まずテストを書く
  2. kotlinを使って機能を拡張する
  3. java で書かれたコードをkotlinに書き換える

テスト大事ですよね、テスト。第2章ではkotlinを使ってAndroidのテストを書くやり方、関連するライブラリやフレームワーク(JUnit, Robolectric, mockito)の紹介を行います。世の中にアプリ開発をするための本は数あれど、テストを最初に持ってくる本もこの本くらいなんじゃないでしょうか?(要出典

なお、先に書いたテストライブラリ、フレームワークに espresso が含まれていないのは本文中では Instrumentation Test を書いていないからです。これについては迷ったのですが、自分自身があんまり Instrumentation Test をやりたくない(実行が遅いし)という気持ちを持っていてサンプルアプリを作る中で自然と Instrumentation Test を用意しないものにしてしまったからです。Androidフレームワークに依存する部分ならだいたい Robolectric でなんとかなるし、レイアウトをテストが必要なくらいややこしいものにするのもなぁって感じで。そもそも、頑張って Instrumentation Test を用意して espresso でテスト書いてもkotlinならではの詰まりどころ、変な所とかを紹介できるわけではないなといった部分を考えた結果です。

なので、「kotlinを使ってespressoでテスト書いてみたい!!」という人には本書の内容は適していないと思います。

第3章ではアプリケーションの方に手を加えて、kotlinに機能を実装した部分を既存のjavaのコードから呼び出すケースを想定したコードの書き方を解説します。アノテーションがいっぱい出てくるやつです。また、kotlinでは使えるけどjavaでは使えない機能の紹介も。今回のケースではjavaをkotlinに書き換える前提なので、javaから使えない機能もガンガンkotlinでは使っていってます。

第4、5章ではついにコードの書き換えを行います。コードの書き換えのためにテストを書いて、Intellij kotlin plugin の機能を使ってコードを自動変換し、自動変換で救いきれなかった部分を修正するという流れ。ひたすらそれの繰り返しの中で、自動変換がどんな動きをするのか、コンパイルが通っても直したほうが良い部分はどういう箇所なのかを解説します。また、5章では執筆時点でExperimental(というか今もか)なコルーチンにも触れてコールバックメソッドを消し去っていきます。

本の内容はこんな感じです。

カバーしていない部分

この本のターゲットや執筆のポリシーから今回カバーしていない部分も多くあります。全部を掲載することはできませんが思いつく限りを。

文法やコードの書き方、ifwhenなどの制御構文、その他標準ライブラリについての解説は第1章にありますがおさらい程度です。「はじめてkotlinに触ります!!」という人にはちょっと不親切かもしれません。そういう方は長澤太郎さんのkotlinスタートブックを先に読まれたほうがいいと思います。

Kotlinスタートブック -新しいAndroidプログラミング

Kotlinスタートブック -新しいAndroidプログラミング

  • Android アプリの基本的な所

これについての解説は一切ないです。「はじめてAndroidに触ります!!」という方の場合・・・今って最初に読んだほうが良い本って何なんでしょうかね?おすすめできる本が何なのかわからなくて恐縮ですが、ともかく初めての人向けの本を読んだほうが良いでしょう。

  • Android のデバイスとかセンサーとか、外部の機器やサービスとの連携

今回の本の内容はgradleによるアプリケーションのプロジェクト管理だったり、ソースコードの書き方に重点を置いています。したがって、デバイスのセンサー周りを触ったりあるいは外部の別の機械との通信とかを想定した内容はありません。今にして思えば、センサー系とか使えばkotlinっぽいコードが書けない部分を作り出せたかもなぁ。次回作にご期待下さい!(あるのか?

  • gitの解説

本文中に登場するサンプルコードはgithubで管理していますが、gitの使い方の解説は省略しています。本文中ではリリースページから.zipファイルをダウンロードできるようにリンクを用意しているのでgitわかんなくても大丈夫なハズ。

  • gradle の解説

これも最低限しか無いかな。本文中にgradlewコマンドの実行箇所とか出てくるけど基本的にコピペで大丈夫。

Androidで使えるjava7の文法についての解説はとくにありません。難しいことはやってないので大丈夫だと思う。

ツッコミとかまさかりとか

自分の経験をベースに執筆した本なので紹介している内容がベストプラクティスじゃなかったり、場合によっては間違っている場合もあるかもしれません。正誤表なんかは公式サイトに公開されるでしょうけど、そういうのに掲載されていない部分についてはアカウントに直接教えてもらえると。お手柔らかに頼みます :pray:

ゲームボーイ

これは Game Boy Advent Calendar 2017 - Adventar の記事です。本当は Visual Boy Advance で遊ぼうかと思ってたんだけど、すっかり忘れていたので一旦お茶をにごします 🍵。

6つの金貨

ゲームボーイを買ってもらってから一番長い間プレイしたのはマリオの6つの金貨だったような気がする。

www.nintendo.co.jp

マリオというコンテンツは友達がファミコンとかスーファミを持っていたので知っていた。初めて家でマリオをプレイできる・・・!!そんなことに感動しながら、アーケード街を家まで帰ったのを覚えている。あのアーケードも今ではもう無いけど。

ただ、6つの金貨はマリオ「ランド」だったんだ。敵にクリボーやノコノコなんかはいるけど、マントとかは無いし、ボスもコクッパじゃない。ラスボスだってクッパじゃないし、そもそもピーチ姫すら出ない。金貨を6つ集めたら、ピーチ姫が出てくると思っていたのに。

ステージボスも結構面倒くさかった。おもちゃのステージ(マリオゾーン)のボスの3体の豚はそれぞれが耐久力が3あるので、合計9回踏まなきゃいけない。普通のボスよりも耐久力が高いのだ。あいつに何回やられたことか。

そもそもこのゲーム、ゲームオーバーになるとボスを倒して集めた金貨が全て失われる。最近のマリオは死んだところでコインを10枚失うだけだというのに、失うコインは最大6枚だけどショックは大きい。

ただ、ラスボスのワリオを倒した後のBGMはまだ覚えている。それだけに嬉しかったんだろうなぁ。

レッド・オクトーバーを追え

ショーン・コネリーの同名の映画のゲーム版・・・らしい。らしいっていうのは映画見てないし、そもそもこのゲームが難しくてクリアをしたことがないので。

潜水艦を操作して敵を倒しながら進むシューティングだけど、敵の魚雷が避けられないし地形は全てダメージ特製だしでかなり難易度が高かったイメージ。

1面の中盤に航空母艦が配置されていたけれど、そこまで行くので精一杯だった。結局、編み出した勝利法はリスボーンしたときの無敵時間中に敵の潜水艦に体当たりをする特攻戦法だった。

Youtube なんかでプレイ動画を探しても全然見つからないので、わりとマイナーなゲームだったんだろうな。クリアをしたところを是非見てみたいものである。

タイトル画面でロシアの国歌が流れるため、このゲームでロシア国家を覚えた。むっちゃかっこいい。

まとめ

適当に思い出した2本のゲームについてちょっとだけ文章を書いてみた。こんなことやってるうちに gbdk のリンクとかがメンションで送られてきたりしたので、無言の圧力のようなものを感じる。

アドベントカレンダーもまだ空いている日があるので、なんかやるかもしれない。