USGS Earthquakes Realtime Feeds
USGS から地震のリアルタイムフィードを受ける。具体的には USGS の Web にアクセスして GeoJSON 形式で地震データを取得する。
USGS
USGS(United States Geological Survey)とは日本語では「アメリカ地質調査所」になる。災害、エネルギー、鉱物、天然資源などの調査・研究する政府機関。
リアルタイムフィード
地震災害についての TOP がここであり
https://www.usgs.gov/natural-hazards/earthquake-hazards
地震についてのフィードのページがここになる
https://earthquake.usgs.gov/earthquakes/feed/
上にいろいろとフィードの受け取り方があるが、リアルタイムに受け取りたい場合は、これになる(GeoJSON 形式)
https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php
例えば、過去7日にあったすべての地震の GeoJSON は、これになる(毎分更新)
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_week.geojson
本『暗号解読』(サイモン・シン)の感想
- 作者: サイモンシン,Simon Singh,青木薫
- 出版社/メーカー: 新潮社
- 発売日: 2007/06/28
- メディア: 文庫
- 購入: 30人 クリック: 216回
- この商品を含むブログ (234件) を見る
面白かった。 「暗号の歴史」が知れる本。
そもそもは暗号というのは、バレてはいけない内容の話(急襲とか反乱とか)が漏れ出ないように、重要人物から重要人物への通信(手紙とか)に使う手段だった。
とにかくバレなければ良い、ということなので、最初は手紙、それ自体の存在を隠すという、ステガノグラフィ(隠蔽)も秘密の通信には大事な要素だった。
しかし、次第にバレても絶対読めないよね?の暗号技術がより研究されるようになり、それが戦争の勝利への重要要素になったりと、人類に非常に関わっていくこととなる。
印象的だったのは、今日は当たり前の無線通信が、それが発見された当初はとても画期的であり、例えば、それまでの通信というのは地点間にケーブルを埋設してやっと交信できたのに対して、無線はそういった工事がなく使用できたという歴史の流れ。
すなわち、無線はいち早く、基地と基地、前線と基地が通信でき、これがあるのとないのとでは、戦争に勝てるかどうか決定的な差が生まれる。
しかし無線なので、その通信の存在自体は隠匿できず、したがってその通信内容をいかに秘密にするべきか暗号技術がまたさらに発展し、さらに無線になったことで有線の時よりも通信しやすくなり、通信量が増えたことで人間による暗号化・複合化に限界がきて、暗号機械(エニグマ)が誕生・・・というくだりが読みごたえがあった。
SwiftUI プレビューのデバイスを指定する、複数指定する
コード
- previewDevice() でデバイスを指定できる
- 例として iPhone SE, iPhone XS Max をプレビューする
import SwiftUI struct ContentView: View { var body: some View { VStack { Text("Hello") .font(Font.custom("AvenirNext-Heavy", size: 100)) } .background(Color.yellow) } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ForEach(["iPhone SE", "iPhone XS Max"], id: \.self) { deviceName in ContentView().previewDevice(PreviewDevice(rawValue: deviceName)) } } }
プレビュー結果
資料
macOS Catalina 10.15 Beta をインストールして Xcode / SwiftUI の Canvas Preview を試す
はじめに
Xcode 11 をインストールして SwiftUI を試した。
SwiftUI のチュートリアルはここにある。
https://developer.apple.com/tutorials/swiftui/creating-and-combining-views
これをみると、コーディングした結果が、リアルタイムでプレビュー確認できる大変便利な形になっているが、実際は私の環境(macOS 10.14.6 Mojave)ではこのプレビューがなかった。
チュートリアルをよくみると、上のようにプレビューを動作させるためには macOS 10.15 Catalina が必要と書かれていた。
ということで、本日時点(2019/9/25)では正式な macOS 10.15 はまだリリースはされていないので、 Beta バージョンをインストールし、SwiftUI のプレビューできるかを試してみる。
ただし、正式な macOS 10.15 がリリースされるのは、近い将来(おそらく 2019/10ごろ)だろうから、Beta に抵抗がある場合、少し待って正式版を使うと良い。
macOS Catalina 10.15 Beta をインストール
https://developer.apple.com/download/
このページに行き
Install Profile ボタンをクリックする。
dmg ファイルがダウンロードされるので、クリックして実行(マウント)する。 dmg 内に pkg があるので、クリックして実行する。
ソフトウェア・アップデートから Catalina Beta をインストールできるようになっているので、インストールする。
インストールが実行される。
macOS 10.15 Catalina が起動される。
Xcode の追加コンポーネントのインストールを要求されるので、インストールする。終わったら Xcode を起動する。
エディタの右上のオプションをクリックする。
オプションのメニューの Canvas を選択すると、プレビューが起動する。
こういった感じでコード変更がライブプレビューされるので、目的は達成できた。
OpenWeather から気象情報を取得する
OpenWeather
https://openweathermap.org/
はじめに
OpenWeather とは
どんな気象 API があるか
https://openweathermap.org/api
おおざっぱに、いくつか API をあげる。これらは無料でも使用可能。
- 現在の気象データ
- 1時間ごとの予測気象データ(4日間、96時間分)
- 16日間の予測気象データ
基本的に API のレスポンスは JSON フォーマットで取得できる。さらに一部の API については XML フォーマットのレスポンスも対応している雰囲気。
価格
https://openweathermap.org/price
現在と今後の予測の API は無料でも使用できるが、有料プランもある。ここではプランごとの API 呼び出し回数上限(分ごと)を取り上げる。
プラン | 料金(月ごと) | API 呼び出し回数上限(1分間) |
---|---|---|
Free | 無料 | 60 回 |
Startup | 40 US$ | 600 回 |
Developer | 180 US$ | 3,000 回 |
Professional | 470 US$ | 30,000 回 |
Enterprise | 2,000 US$ | 200,000 回 |
API キーを準備する
https://home.openweathermap.org/users/sign_up
- 上のページからユーザ登録する
- 「I am 16 years old and over」のチェックボックスがあるので、16歳以上しか登録できないようだ。
- ログインした状態で HOME (https://home.openweathermap.org/) にアクセスし、「API Keys」タブをクリックすると、 API キーが表示される
- もしくはユーザ登録時に届くメールにも API キーは書かれている
API をテストする
前提
- ここでは「現在の気象データ」API をテストする
- 例として、新宿(東京)のデータを取得してみる
- リクエストパラメータ
- appid パラメータに API キーを設定する
- q パラメータに都市名を設定する
API リクエスト例
https://api.openweathermap.org/data/2.5/weather?appid=<APIキー>&q=Shinjuku,jp
API レスポンス例
{ "coord":{ "lon":139.71, "lat":35.7 }, "weather":[ { "id":801, "main":"Clouds", "description":"few clouds", "icon":"02n" } ], "base":"stations", "main":{ "temp":297.58, "pressure":1008, "humidity":65, "temp_min":294.82, "temp_max":299.82 }, "visibility":10000, "wind":{ "speed":4.1, "deg":270 }, "clouds":{ "all":20 }, "dt":1569268257, "sys":{ "type":1, "id":8074, "message":0.0101, "country":"JP", "sunrise":1569270598, "sunset":1569314220 }, "timezone":32400, "id":1850144, "name":"Shinjuku", "cod":200 }
API 呼び出し回数上限
#!/bin/sh for i in {0..100} do curl "https://api.openweathermap.org/data/2.5/weather?appid=<API キー>&q=Shinjuku,jp" done
1分間の API 呼び出し回数制限(60回)を超えた時の動作を試したく、上のシェルを複数に並列で動作させたが、上限を超えた旨を示すレスポンスは確認できなかった。すべて正常にデータを得られた。これについては不明。(2019/9/28 時点)
そのた
- 気温の単位がデフォルトでケルビンになる。摂氏で取得したい場合は units=metric で API を呼び出すこと(参照:https://openweathermap.org/current#data)
https://api.openweathermap.org/data/2.5/weather?appid=<APIキー>&q=Shinjuku,jp&units=metric
- 都市名ではなく、緯度経度指定したい場合は lat, lon パラメーターを使用する
https://api.openweathermap.org/data/2.5/weather?appid=<APIキー>&lat=35.690128&lon=139.701701
本『哲学的な何か、あと数学とか』(飲茶)の感想
- 作者: 飲茶
- 出版社/メーカー: 二見書房
- 発売日: 2018/02/01
- メディア: 文庫
- この商品を含むブログを見る
アマチュアの数学者フェルマーが残したこの定理には当時「証明」がなく、実際にそれが証明されたのは、フェルマーが生きた時代17世紀から300年以上だった20世紀だった。
この本には、フェルマーが残した謎に満ちた、しかし悪魔的に魅力があるこの定理に、数々の数学者が挑戦してきた歴史が書かれている。
そこには、人間の情熱だったり、苦しさからくる挫折だったり、環境の問題(性差別、貧困)によるどうしようもない不幸だったりがある。ひとことで言うと人間ドラマ。
だから、フェルマーの最終定理ってどんな感じで解決したの? と数学に興味があり手にとったが、読んでいて、その人間ドラマとしての部分も楽しめた。
ちなみに、この本の序盤の部分は、作者のサイト フェルマーの最終定理 - 哲学的な何か、あと科学とか に公開されているので、どんな感じの本かはここで確認して、この先が読みたければ、実際に本を読んでもいい感じ。