Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JavaScriptアルゴリズム本を 技術書典7で頒布しました
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
pco2699
September 30, 2019
Programming
1.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
420
enebular x AutoML Visionで 爆速で画像判定アプリをつくる
pco2699
0
480
enebularで 爆速で機械学習APIをつくる
pco2699
0
230
tsconfig.jsonを完全に理解する
pco2699
1
2.2k
MIDI × MQTT × Twitterで ハッシュタグ自動作曲シンセを作ろう
pco2699
1
1.4k
enebular × MIDI × MQTT ハンズオンの反省をする
pco2699
1
740
MIDIキーボードとenebularをつなげてみよう
pco2699
0
690
Firebase Cloud Messagingで 通知の配信遅延とたたかってみた
pco2699
4
12k
Other Decks in Programming
See All in Programming
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
640
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.7k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
170
最近”作らせてる” ローカルAIアプリの話
akit37
0
510
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
490
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
290
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
170
Performance Optimization With LLMs
xleitix
0
230
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
290
オーケストレーション記述言語 Katari
yukikurage
0
210
ActionController meets Protocol Buffers
sorah
1
750
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
880
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
430
The browser strikes back
jonoalderson
0
1.9k
Designing for Timeless Needs
cassininazir
1
530
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Embracing the Ebb and Flow
colly
88
5.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
950
Why Our Code Smells
bkeepers
PRO
340
58k
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. 「動的計画法とか今後やりますか?」 =>期待しててください
技術書典に参加した感想 • 自分が書いた本をユーザが目の前で読んで買うか判断する ダイナミックで面白い • 本が売れると嬉しいけど、売れないと苦笑いが止まらない • 売れなくて赤字でも、悔しくて次回も出たい...! ってなる
見本誌もってきました よければ見てみてください