Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScriptアルゴリズム本を 技術書典7で頒布しました
Search
pco2699
September 30, 2019
Programming
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScriptアルゴリズム本を 技術書典7で頒布しました
pco2699
September 30, 2019
More Decks by pco2699
See All by pco2699
enebular x Hugging Faceで 自然言語処理の全能の神になる
pco2699
0
410
enebular x AutoML Visionで 爆速で画像判定アプリをつくる
pco2699
0
460
enebularで 爆速で機械学習APIをつくる
pco2699
0
220
tsconfig.jsonを完全に理解する
pco2699
1
2.2k
MIDI × MQTT × Twitterで ハッシュタグ自動作曲シンセを作ろう
pco2699
1
1.4k
enebular × MIDI × MQTT ハンズオンの反省をする
pco2699
1
720
MIDIキーボードとenebularをつなげてみよう
pco2699
0
660
Firebase Cloud Messagingで 通知の配信遅延とたたかってみた
pco2699
4
12k
Other Decks in Programming
See All in Programming
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
190
テーブルをDELETEした
yuzneri
0
130
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
数百円から始めるRuby電子工作
tarosay
0
120
AIエージェントで 変わるAndroid開発環境
takahirom
2
750
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
160
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
120
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
0
180
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
220
Google Apps Script で Ruby を動かす
kawahara
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
340
Featured
See All Featured
Building Adaptive Systems
keathley
44
3.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Crafting Experiences
bethany
1
230
How GitHub (no longer) Works
holman
316
150k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The SEO Collaboration Effect
kristinabergwall1
1
510
Prompt Engineering for Job Search
mfonobong
0
390
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
380
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Transcript
JavaScriptアルゴリズム本を 技術書典7で頒布しました We Are JavaScripters! vol.36 at SmartHR @pco2699
自己紹介 • 高山 和幸 • @pco2699 • アルゴリズムとTypeScriptがすき
今日 お話しすること/しないこと • 今日 お話しすること ◦ 技術書典7で出した「JavaScriptアルゴリズム本」の内容の話 ◦ 感想・結果などの振り返り •
今日 お話しないこと ◦ JavaScript/TypeScriptなどの技術的に突っ込んだ話
技術書典7に参加しました! • 技術書典とは a. 技術同人誌の即売会! b. たくさんサークルが一斉に本を売ります c. 買いに来る人もたくさん
Nuxt.jsとFirebaseでつくるアルゴリズムミニアプリ • アルゴリズムを知りたい Webエンジニアのための入門書 • アルゴリズムをWebアプリを 作りながら学べる! • 冊子+DLカード ¥1,000
本書を書くきっかけ
本書を書くきっかけ • 本屋に並んでいるアルゴリズムの本 a. 言語がC++, C(たまにPython) b. 作るものが何に役立つのかわからない c. 説明がわかりづらい
本書を書くきっかけ • 本屋に並んでいるアルゴリズムの本 a. 言語がC++, C(たまにPython) b. 作るものが何に役立つのかわからない c. 説明がわかりづらい
これを解決した本がほしかった
a. 言語がC++, C • C++のイメージ: なんだかとっつきづらそう... (注) C++をディスる意図は全くありません。 C++は偉大な言語です。
b. 作るものが何に役立つのかわからない • 実際のアルゴリズムの問題 i番目の配列がi日目の株の値段を表す配列があります。 最大で1回のトランザクション(例: 1個の株を買い、1個の株を売る)が 許されている場合、最大の利益を探すアルゴリズムを設計しなさい。 株を買う前に売ることが出来ない。
b. 作るものが何に役立つのかわからない • 実際のアルゴリズムの問題 i番目の配列がi日目の株の値段を表す配列があります。 最大で1回のトランザクション(例: 1個の株を買い、1個の株を売る)が 許されている場合、最大の利益を探すアルゴリズムを設計しなさい。 株を買う前に売ることが出来ない。 こんなの実際に書くことある!!?
c. 説明がわかりづらい • アルゴリズム独特の用語がたくさんある ビッグオー表記 幅/深さ 優先探索 二分探索 時間計算量 空間計算量
動的計画法 ダイクストラ法 空間計算量
c. 説明がわかりづらい • アルゴリズム独特の用語がたくさんある ビッグオー表記 幅/深さ 優先探索 二分探索 時間計算量 空間計算量
動的計画法 ダイクストラ法 空間計算量 概念を理解すれば実はそんなに難しくない
c. 説明がわかりづらい • 最近は「アルゴリズムをわかりやすく」という コンセプトの本が出てきている
本書はどう解決したか
本書はどう解決したか • 言語がC++, C(たまにPython) • 作るものが何に役立つのかわからない • 説明がわかりづらい
言語はJavaScript Webアプリを作る なにかに例えて説明
言語はJavaScript • (おそらく)初学者が学ぶことが一番多い言語 • ES2015以降であれば、キツくない。 • Jestを使えばテストも簡単
Webアプリを作る • 次を組み合わせれば、Webページを作って公開できる時代! a. フロントエンドフレームワーク(React/Vue/Nuxt) b. 静的ファイルホスティング(Firebase/Netlify)
なにかに例えて説明 • 難しい概念は なにかに例えて説明するとわかりやすい • リスト探索は「数字当てゲーム」に例えて説明
絶対に売れると確信した
技術書典当日...
売上部数 48/100部
割と爆死
振り返り・要因分析 • 技術書典7のユーザ a. 商業誌にないような最新の技術を求めてる人が多い b. 初学者はあまり来ない • 内容・タイトル a.
タイトルから「Nuxt.jsとFirebase」の深堀り本だと思われた b. 今回はリスト探索のみのため、内容が簡単すぎた
振り返り・要因分析 • 実際に聞かれたこと a. 「これって競プロで使えますか?」 => 使えません b. 「Firebaseどのくらい使ってますか?」
=> Hostingのみです。すいません。 c. 「動的計画法とか今後やりますか?」 =>期待しててください
技術書典に参加した感想 • 自分が書いた本をユーザが目の前で読んで買うか判断する ダイナミックで面白い • 本が売れると嬉しいけど、売れないと苦笑いが止まらない • 売れなくて赤字でも、悔しくて次回も出たい...! ってなる
見本誌もってきました よければ見てみてください