JavaScriptアルゴリズム本を 技術書典7で頒布しました
by
pco2699
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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
見本誌もってきました よければ見てみてください