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
初JSでコロナ(札幌)の表を 作ってみた (新年の抱負 超LT会- vol.2)
Search
akiemmm
January 26, 2021
Programming
0
310
初JSでコロナ(札幌)の表を 作ってみた (新年の抱負 超LT会- vol.2)
akiemmm
January 26, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
620
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
Raku Raku Notion 20260128
hareyakayuruyaka
0
370
Oxlintはいいぞ
yug1224
5
1.4k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
470
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Oxlint JS plugins
kazupon
1
1k
AI時代の認知負荷との向き合い方
optfit
0
170
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
66
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Everyday Curiosity
cassininazir
0
130
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Documentation Writing (for coders)
carmenintech
77
5.3k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Transcript
初JSでコロナ(札幌)の表を 作ってみた ~この発表自体が今年の抱負~ akie_mmm(あきえ)
akie_mmm(あきえ) 普段はWEB制作の パートをしております。 特にHTML/CSS、ワードプレスの 子テーマ操作、 Illustratorを使用しての仕事が中心です。 Twitter名(あきえ):@akie_mmm
以前のLT会(エンジニアの勉強法ハック LT- vol.3)にて、勉強には 「アウトプットが大事!」という話をうかがい ました。 今年は「アウトプットする」の抱負のもと、 発表していきます!
今回何を作ったか 今回は札幌の1日ごとのコロナウイルスの 人数表を作りました。 人数と年代別をカウントする表を作りました。 ウェブサイトには 1日分しか表示されないので数日間分のデータがあったら (私が把握するのに)便利と思って作成しておりました。 データはここにあります(札幌市:新型コロナウイルス感染症の市内発生状況 ) https://www.city.sapporo.jp/hokenjo/f1kansen/2019n-covhassei.html(1/16以降最新)
※2月以降は更新されます https://www.city.sapporo.jp/hokenjo/f1kansen/2021n-covhassei_1.html(1/15以前)
javascriptの構文の前準備(後でゆっくりご覧ください) 1. 札幌市の新型コロナウイルス感染症の市内発生状況を表からコピーします。 https://www.city.sapporo.jp/hokenjo/f1kansen/2019n-covhassei.html(1/16以降最新) ※2月以降は更新されますのでご注意ください。 https://www.city.sapporo.jp/hokenjo/f1kansen/2021n-covhassei_1.html(15日以前) 2. 一度googleスプレッドシートに貼り付けます (「16日以降」と「15日まで」の表のの境目をつなぎ合わせて) 3.
googleスプレッドシートからツール→「スクリプトエディタ」を使ってJSON形式に変 換します。 詳しい変換方法はこちら https://qiita.com/takatama/items/7aa1097aac453fff1d53 (Qiitaに掲載されている@takatamaさんの記事を参考にしました。すごい!) 4. JavaScriptでJSONのデータを元に、カウントします。
まず、「getJSONData」関数にまとめます。 関数内に、jsonファイルを呼ぶための「new XMLHttpRequest」インスタンスの定数を つくります。 インスタンスをaddEventListener(イベントリスナー)で呼び出し、JSON.parseしてオブ ジェクト化します。数を数える変数も用意。
ほんの一部です
mapオブジェクトで対応したキーの値を取り出します。 switch文で合致した値に、++を行い、更にネストして年代別も行います。 最後にその日全体のカウントも 行います。※テストのため 18日 時点のものです。 ※18日分が「Jan 17」となっているのは 「アメリカ」の時間帯として jsonが
取り出されるからです
ほんの一部です
openとsendで関数を締めくくって 最後に作った関数を呼び出します。 インスタンスした XMLHttpRequest(json) を初期化し(.open)、 サーバーに送信する処理を 行う…までが関数の内容 となります(.send)。 最後にjsonファイルを 引数とした「getJSONData」
関数を呼び出すことも忘れずに
このような表が表示されます。 リンクもあります! https://akiemunakata.net/covid19/ エクセルやスプレッドシートで作ったほうがはやry
気づき • いきなりプログラムを作るのは難しいから、 一歩ずつ簡単な構文から動かすことが大事! • 構文を覚えても、動かしてみなきゃわからない。 コードを書き出しているうちに効率的なやり方がひらめく! • アウトプットしようとしたら、いつの間にか調べている! 調べる力もめきめきつく!
• いきなりポートフォリオなんて作ろうとしない まずは小さなアウトプットをたくさん作ることの重要性!! • 作りたいものを見つけるのが実は一番大変だけど、 小さいところから始めてみよう!
この構文ひとつに大量のサイトを参考にしました。 • @takatamaさんの記事(スプレッドからJSON形式への変換) https://qiita.com/takatama/items/7aa1097aac453fff1d53 • @shuichiさんの記事(配列の中にオブジェクトが入っている場合のvalue 値の取得方法二次元配列) https://qiita.com/shuichi0712/items/cf966ad8bae9e610ea32 • あーりーさん(ふとんでぬくぬく)JavaScript 連想配列のキーは全角文
字でもOK https://3.ariken.info/archives/9118 ※基本構文は「JavaScript本格入門」「JavaScriptコードレシピ集」あたりから参照
今年の抱負: これからもアウトプットします…! ご清聴いただきありがとうございました!!