JavaScriptアルゴリズム本を 技術書典7で頒布しました
by
pco2699
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
JavaScriptアルゴリズム本を 技術書典7で頒布しました We Are JavaScripters! vol.36 at SmartHR @pco2699
Slide 2
Slide 2 text
自己紹介 ● 高山 和幸 ● @pco2699 ● アルゴリズムとTypeScriptがすき
Slide 3
Slide 3 text
今日 お話しすること/しないこと ● 今日 お話しすること ○ 技術書典7で出した「JavaScriptアルゴリズム本」の内容の話 ○ 感想・結果などの振り返り ● 今日 お話しないこと ○ JavaScript/TypeScriptなどの技術的に突っ込んだ話
Slide 4
Slide 4 text
技術書典7に参加しました! ● 技術書典とは a. 技術同人誌の即売会! b. たくさんサークルが一斉に本を売ります c. 買いに来る人もたくさん
Slide 5
Slide 5 text
Nuxt.jsとFirebaseでつくるアルゴリズムミニアプリ ● アルゴリズムを知りたい Webエンジニアのための入門書 ● アルゴリズムをWebアプリを 作りながら学べる! ● 冊子+DLカード ¥1,000
Slide 6
Slide 6 text
本書を書くきっかけ
Slide 7
Slide 7 text
本書を書くきっかけ ● 本屋に並んでいるアルゴリズムの本 a. 言語がC++, C(たまにPython) b. 作るものが何に役立つのかわからない c. 説明がわかりづらい
Slide 8
Slide 8 text
本書を書くきっかけ ● 本屋に並んでいるアルゴリズムの本 a. 言語がC++, C(たまにPython) b. 作るものが何に役立つのかわからない c. 説明がわかりづらい これを解決した本がほしかった
Slide 9
Slide 9 text
a. 言語がC++, C ● C++のイメージ: なんだかとっつきづらそう... (注) C++をディスる意図は全くありません。 C++は偉大な言語です。
Slide 10
Slide 10 text
b. 作るものが何に役立つのかわからない ● 実際のアルゴリズムの問題 i番目の配列がi日目の株の値段を表す配列があります。 最大で1回のトランザクション(例: 1個の株を買い、1個の株を売る)が 許されている場合、最大の利益を探すアルゴリズムを設計しなさい。 株を買う前に売ることが出来ない。
Slide 11
Slide 11 text
b. 作るものが何に役立つのかわからない ● 実際のアルゴリズムの問題 i番目の配列がi日目の株の値段を表す配列があります。 最大で1回のトランザクション(例: 1個の株を買い、1個の株を売る)が 許されている場合、最大の利益を探すアルゴリズムを設計しなさい。 株を買う前に売ることが出来ない。 こんなの実際に書くことある!!?
Slide 12
Slide 12 text
c. 説明がわかりづらい ● アルゴリズム独特の用語がたくさんある ビッグオー表記 幅/深さ 優先探索 二分探索 時間計算量 空間計算量 動的計画法 ダイクストラ法 空間計算量
Slide 13
Slide 13 text
c. 説明がわかりづらい ● アルゴリズム独特の用語がたくさんある ビッグオー表記 幅/深さ 優先探索 二分探索 時間計算量 空間計算量 動的計画法 ダイクストラ法 空間計算量 概念を理解すれば実はそんなに難しくない
Slide 14
Slide 14 text
c. 説明がわかりづらい ● 最近は「アルゴリズムをわかりやすく」という コンセプトの本が出てきている
Slide 15
Slide 15 text
本書はどう解決したか
Slide 16
Slide 16 text
本書はどう解決したか ● 言語がC++, C(たまにPython) ● 作るものが何に役立つのかわからない ● 説明がわかりづらい 言語はJavaScript Webアプリを作る なにかに例えて説明
Slide 17
Slide 17 text
言語はJavaScript ● (おそらく)初学者が学ぶことが一番多い言語 ● ES2015以降であれば、キツくない。 ● Jestを使えばテストも簡単
Slide 18
Slide 18 text
Webアプリを作る ● 次を組み合わせれば、Webページを作って公開できる時代! a. フロントエンドフレームワーク(React/Vue/Nuxt) b. 静的ファイルホスティング(Firebase/Netlify)
Slide 19
Slide 19 text
なにかに例えて説明 ● 難しい概念は なにかに例えて説明するとわかりやすい ● リスト探索は「数字当てゲーム」に例えて説明
Slide 20
Slide 20 text
絶対に売れると確信した
Slide 21
Slide 21 text
技術書典当日...
Slide 22
Slide 22 text
売上部数 48/100部
Slide 23
Slide 23 text
割と爆死
Slide 24
Slide 24 text
振り返り・要因分析 ● 技術書典7のユーザ a. 商業誌にないような最新の技術を求めてる人が多い b. 初学者はあまり来ない ● 内容・タイトル a. タイトルから「Nuxt.jsとFirebase」の深堀り本だと思われた b. 今回はリスト探索のみのため、内容が簡単すぎた
Slide 25
Slide 25 text
振り返り・要因分析 ● 実際に聞かれたこと a. 「これって競プロで使えますか?」 => 使えません b. 「Firebaseどのくらい使ってますか?」 => Hostingのみです。すいません。 c. 「動的計画法とか今後やりますか?」 =>期待しててください
Slide 26
Slide 26 text
技術書典に参加した感想 ● 自分が書いた本をユーザが目の前で読んで買うか判断する ダイナミックで面白い ● 本が売れると嬉しいけど、売れないと苦笑いが止まらない ● 売れなくて赤字でも、悔しくて次回も出たい...! ってなる
Slide 27
Slide 27 text
見本誌もってきました よければ見てみてください