うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

花粉飛散量の観測データを持っているサイト

データのダウンロード -環境省花粉観測システム-

2019年まで

形式:

csv。Shift-JiSなので注意。

列番号,項目,備考 1,測定局コード, 2,アメダス測定局コード, 3,年月日, 4,時, 5,測定局名, 6,測定局種別,1:都市部、2:山間部、0:区分なし 7,都道府県コード,01〜47 8,都道府県名, 9,市区町村コード,5桁 10,市区町村名, 11,花粉飛散数[個/m3], 12,風向,0:静穏、1:北北東、2:北東、3:東北東、4:東、5:東南東、6:南東、7:南南東、8:南、9:南南西、10:南西、11:西南西、12:西、13:西北西、14:北西、15:北北西、16:北 13,風速[m/s], 14,気温[℃], 15,降水量[mm], 16,レーダー降水量[mm],

花粉ライブラリ -環境省花粉観測システム-

同じサイトだが、2018年以前のデータが。

期間

2003から2018年

形式

xls

日時, 笠間   栃木林業C   日光  子持  寄居  小川  山武  君津  八王子   厚木

2003年は関東だけだが、年ごとに選択可能な地域も増えている。

過去の飛散花粉数データ|東京都の花粉情報|東京都アレルギー情報navi.

東京限定

期間

2001年から

形式:

csv

1月のスギ花粉の観測値(単位:個/cm2)
日付  曜日  千代田   葛飾  杉並  北 大田  青梅  八王子   多摩  町田  立川  府中  小平

単調な列になっていなく月ごとに表が区切られていてまとめて解析するためには手を入れる必要があるのがネック

スギとヒノキ別、さらにスギとヒノキ合計の表も。

IntellijのHansONに行ってきた

皆様いかがお過ごしでしょうか。 先日サムライズムさんにお邪魔して、IntelliJの実践的なテクニックが学べるHansONに行ってまいりました。

3月19日(火) 2時間で使いこなす!JetBrains開発ツール ハンズオン #jbugj 15:30開始(15:00開場) - 株式会社サムライズム | Doorkeeper

モチベーション

会社でIntelliJを使った開発をしています(主にscala)。普段使って入るけどショートカットや便利機能をあまり使いこなさていなく、IntelliJの膨大な機能の大半は使っていないというもったいない状態でした。

そんな時、たまたま社内のIntelliJ研修担当になってしまい笑、せっかくだからとことんIntelliJを学びたいという気持ちで参加しました。

行ってみてどうだったか

知らなかった機能をたくさん教えてもらい、月並みな感想ですが非常に有意義でした。このブログでは、こちらで得たテクニックの中でも特に便利な機能をまとめて紹介したいと思います。

便利機能

JavaだけでなくRubyPythonも使える

IntelliJプラグインを入れれば、Ruby, Python, Javascript等のスクリプト言語scalaも対応しています。Intellljのショートカットがそのまま多言語で使えるので、学習コストが低くていいですね。

ちなみに、IntelliJの姉妹版としてPython用のPycharm等ありますが、IntelliJプラグインを入れるのと機能的には変わらないそうです。

Emmet記法が使える

htmlを編集する際、終了タグの自動挿入などの機能を提供しているエディタはよくあります。しかし、IntelliJはそれに加えてEmmet記法を標準装備しています。

例えば、このように書くだけで表も簡単に作れます。

これが

table.hello>tr#hello.td

こうなる!

<table class="hello">
    <tr id="hello">
        <td></td>
    </tr>
</table>

Postfix code completion

演習ではJavascriptを使用して便利な補完機能を教えてもらいました。その一つがPostfix code completionです。

一般的なスニペット機能ですと、単なるコード展開ですが、Postfix code completionは書きかけのコードの途中でスニペットをいい具合にフィットさせてくれるのが大きな違いです。

こちらが

boolean b = true;
b.if

このように展開されます。booleanのbがいい具合にifの中に入ってますね。

if (b) {
  |← カーソル
}

デバッグ機能

単なるブレークポイントを貼るだけではなく、ブレークポイントに条件をつけたり、ログを出したりと様々な機能が提供されているます。

Suspend機能: ブレークポイントに入るとそこでプログラムが止まるか、止まらずスルーするか設定できます。

Evaluate and log: ブレークポイントで停止した時点の値をログに出せます。値は計算して出すこともできます。 プリント文をそのままコードに書くよりお手軽ですね。

Gitの連携が便利

IntelliJでは普段Gitは使っていなく、今回様々な機能があることを教えてもらいました。 例えば、コミットのウィンドウでは差分を見ながら修正もできます。 ウインドウ上でどこをコミットに含めるかもチェックボックスで簡単に選択できますね。

f:id:konbu13:20190321112132p:plain

他、コンフリクト解消もチェックボックスで視覚的にできたりします。

その他便利機能

コード上のjsonsqlシンタックスハイライト付きで編集できる機能もありました。なかなか、他のエディタだと実現してない機能ではないかと思います。

また、データベース連携機能では、テーブルのデータの修正も簡単ですし、本番DBならリードオンリーにして修正できない設定もでき、ミスも防げます。

Update文を実行しようとした時、ありがちなのがwhere句を入れ忘れて全て更新してしまうミスですが、wherを入れていないと警告してくれる親切設計も。

また、Select文などのライブテンプレートも完備してます!

今回学んだ&便利なショートカット

  • Command+E …直近参照したファイルにすぐ飛べる
  • Comand+1 …プロジェクト・ペインに飛ぶ
  • Command+B …ジャンプ
  • Option+Enter…空気を読む
  • Command+K …コミット
  • Control+Enter…コミットの確定
  • Command+N…ファイル作成

終わりに

講義全般ではトラックパッドやマウスなしでなるべくキーボードだけで作業できることを目標に、場面場面で様々なショートカットが紹介されていました。 講師の方の教え方が丁寧で、ショートカットになれていない私でもすっきり進むことができました。

この知見を業務でも活かしてがんばります〜。