Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScriptアルゴリズム本を 技術書典7で頒布しました

pco2699
September 30, 2019

JavaScriptアルゴリズム本を 技術書典7で頒布しました

pco2699

September 30, 2019
Tweet

More Decks by pco2699

Other Decks in Programming

Transcript

  1. JavaScriptアルゴリズム本を 技術書典7で頒布しました We Are JavaScripters! vol.36 at SmartHR @pco2699

  2. 自己紹介 • 高山 和幸
 • @pco2699
 • アルゴリズムとTypeScriptがすき


  3. 今日 お話しすること/しないこと • 今日 お話しすること
 ◦ 技術書典7で出した「JavaScriptアルゴリズム本」の内容の話
 ◦ 感想・結果などの振り返り
 •

    今日 お話しないこと
 ◦ JavaScript/TypeScriptなどの技術的に突っ込んだ話

  4. 技術書典7に参加しました! • 技術書典とは
 a. 技術同人誌の即売会!
 b. たくさんサークルが一斉に本を売ります
 c. 買いに来る人もたくさん


  5. Nuxt.jsとFirebaseでつくるアルゴリズムミニアプリ • アルゴリズムを知りたい
 Webエンジニアのための入門書
 • アルゴリズムをWebアプリを
 作りながら学べる!
 • 冊子+DLカード ¥1,000


  6. 本書を書くきっかけ


  7. 本書を書くきっかけ • 本屋に並んでいるアルゴリズムの本
 a. 言語がC++, C(たまにPython)
 b. 作るものが何に役立つのかわからない
 c. 説明がわかりづらい


  8. 本書を書くきっかけ • 本屋に並んでいるアルゴリズムの本
 a. 言語がC++, C(たまにPython)
 b. 作るものが何に役立つのかわからない
 c. 説明がわかりづらい


    これを解決した本がほしかった
  9. a. 言語がC++, C • C++のイメージ: なんだかとっつきづらそう...
 (注) C++をディスる意図は全くありません。 C++は偉大な言語です。

  10. b. 作るものが何に役立つのかわからない • 実際のアルゴリズムの問題
 i番目の配列がi日目の株の値段を表す配列があります。 最大で1回のトランザクション(例: 1個の株を買い、1個の株を売る)が 許されている場合、最大の利益を探すアルゴリズムを設計しなさい。 株を買う前に売ることが出来ない。

  11. b. 作るものが何に役立つのかわからない • 実際のアルゴリズムの問題
 i番目の配列がi日目の株の値段を表す配列があります。 最大で1回のトランザクション(例: 1個の株を買い、1個の株を売る)が 許されている場合、最大の利益を探すアルゴリズムを設計しなさい。 株を買う前に売ることが出来ない。 こんなの実際に書くことある!!?

  12. c. 説明がわかりづらい • アルゴリズム独特の用語がたくさんある
 ビッグオー表記 幅/深さ 優先探索 二分探索 時間計算量 空間計算量

    動的計画法 ダイクストラ法 空間計算量
  13. c. 説明がわかりづらい • アルゴリズム独特の用語がたくさんある
 ビッグオー表記 幅/深さ 優先探索 二分探索 時間計算量 空間計算量

    動的計画法 ダイクストラ法 空間計算量 概念を理解すれば実はそんなに難しくない
  14. c. 説明がわかりづらい • 最近は「アルゴリズムをわかりやすく」という
 コンセプトの本が出てきている


  15. 本書はどう解決したか


  16. 本書はどう解決したか • 言語がC++, C(たまにPython)
 
 • 作るものが何に役立つのかわからない
 
 • 説明がわかりづらい


    言語はJavaScript Webアプリを作る なにかに例えて説明
  17. 言語はJavaScript • (おそらく)初学者が学ぶことが一番多い言語
 • ES2015以降であれば、キツくない。
 • Jestを使えばテストも簡単


  18. Webアプリを作る • 次を組み合わせれば、Webページを作って公開できる時代!
 a. フロントエンドフレームワーク(React/Vue/Nuxt)
 b. 静的ファイルホスティング(Firebase/Netlify)


  19. なにかに例えて説明 • 難しい概念は なにかに例えて説明するとわかりやすい
 • リスト探索は「数字当てゲーム」に例えて説明


  20. 絶対に売れると確信した


  21. 技術書典当日...


  22. 売上部数 48/100部

  23. 割と爆死


  24. 振り返り・要因分析 • 技術書典7のユーザ
 a. 商業誌にないような最新の技術を求めてる人が多い
 b. 初学者はあまり来ない
 • 内容・タイトル
 a.

    タイトルから「Nuxt.jsとFirebase」の深堀り本だと思われた
 b. 今回はリスト探索のみのため、内容が簡単すぎた

  25. 振り返り・要因分析 • 実際に聞かれたこと
 a. 「これって競プロで使えますか?」 
 => 使えません
 b. 「Firebaseどのくらい使ってますか?」


    => Hostingのみです。すいません。
 c. 「動的計画法とか今後やりますか?」
 =>期待しててください

  26. 技術書典に参加した感想 • 自分が書いた本をユーザが目の前で読んで買うか判断する
 ダイナミックで面白い
 • 本が売れると嬉しいけど、売れないと苦笑いが止まらない
 • 売れなくて赤字でも、悔しくて次回も出たい...! ってなる


  27. 見本誌もってきました
 よければ見てみてください