Slide 1

Slide 1 text

初JSでコロナ(札幌)の表を 作ってみた ~この発表自体が今年の抱負~ akie_mmm(あきえ)

Slide 2

Slide 2 text

akie_mmm(あきえ) 普段はWEB制作の パートをしております。 特にHTML/CSS、ワードプレスの 子テーマ操作、 Illustratorを使用しての仕事が中心です。 Twitter名(あきえ):@akie_mmm

Slide 3

Slide 3 text

以前のLT会(エンジニアの勉強法ハック LT- vol.3)にて、勉強には 「アウトプットが大事!」という話をうかがい ました。 今年は「アウトプットする」の抱負のもと、 発表していきます!

Slide 4

Slide 4 text

今回何を作ったか 今回は札幌の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以前)

Slide 5

Slide 5 text

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のデータを元に、カウントします。

Slide 6

Slide 6 text

まず、「getJSONData」関数にまとめます。 関数内に、jsonファイルを呼ぶための「new XMLHttpRequest」インスタンスの定数を つくります。 インスタンスをaddEventListener(イベントリスナー)で呼び出し、JSON.parseしてオブ ジェクト化します。数を数える変数も用意。

Slide 7

Slide 7 text

ほんの一部です

Slide 8

Slide 8 text

mapオブジェクトで対応したキーの値を取り出します。 switch文で合致した値に、++を行い、更にネストして年代別も行います。 最後にその日全体のカウントも 行います。※テストのため 18日 時点のものです。 ※18日分が「Jan 17」となっているのは 「アメリカ」の時間帯として jsonが 取り出されるからです

Slide 9

Slide 9 text

ほんの一部です

Slide 10

Slide 10 text

openとsendで関数を締めくくって 最後に作った関数を呼び出します。 インスタンスした XMLHttpRequest(json) を初期化し(.open)、 サーバーに送信する処理を 行う…までが関数の内容 となります(.send)。 最後にjsonファイルを 引数とした「getJSONData」 関数を呼び出すことも忘れずに

Slide 11

Slide 11 text

このような表が表示されます。 リンクもあります! https://akiemunakata.net/covid19/ エクセルやスプレッドシートで作ったほうがはやry

Slide 12

Slide 12 text

気づき ● いきなりプログラムを作るのは難しいから、 一歩ずつ簡単な構文から動かすことが大事! ● 構文を覚えても、動かしてみなきゃわからない。 コードを書き出しているうちに効率的なやり方がひらめく! ● アウトプットしようとしたら、いつの間にか調べている! 調べる力もめきめきつく! ● いきなりポートフォリオなんて作ろうとしない まずは小さなアウトプットをたくさん作ることの重要性!! ● 作りたいものを見つけるのが実は一番大変だけど、 小さいところから始めてみよう!

Slide 13

Slide 13 text

この構文ひとつに大量のサイトを参考にしました。 ● @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コードレシピ集」あたりから参照

Slide 14

Slide 14 text

今年の抱負: これからもアウトプットします…! ご清聴いただきありがとうございました!!