Jupyter Notebook のフォントをRicty Diminishedにする【Windows10】

等幅フォントにしてJupyterの見た目をかっこよくする。
ネットでよく見かける「Dicty diminish」に変更してみることにする。

なお、windows10は標準で「Consolas」という等幅フォントがあり、これも見た目が良い感じになる。

参考URL:

方法

Ricty Diminished のインストール

Ricty Diminishedのダウンロード

フォントのインストール

  • ダウンロードしたzipファイル(RictyDiminished-for-Powerline-master.zip)を解凍。
  • zipファイル内の「.ttf」ファイルを「コントロール パネル→デスクトップのカスタマイズ→フォント」にドラック&ドロップしてインストール。
    • ttfファイルを開き個別にインストールすることも可能。

Jupyter notebookでのフォント設定

  • .jupyterフォルダが存在する「C:\Users\UserName\.jupyter」に移動。
    • 人によっては.jupyterフォルダの保存場所が違うかもしれない。
  • .jupyterフォルダ内に「custom」という名前のフォルダを新規作成。
  • customフォルダ内に「custom.css」というcssファイルを新規作成。
  • custom.cssファイルの中身を以下のように記載すればjupyterのフォントが変更される。
.CodeMirror pre {
    font-family: Ricty Diminished;
    font-size: 11pt;
}

なお、フォントサイズは一例。

結果は以下の通り。文字が見やすくなり、かっこよくなった気がする。 Jupyter NotebookでRicty Diminishedを使用した場合

Jupyter notebook 起動時のフォルダを変更してみる

Jupyter notebookを起動し、pythonのコードを保存しているフォルダまでフォルダを移動するのが地味に面倒。 Jupyter notebookの起動時の初期フォルダの設定方法について調べてみたのでメモを残す。

参考サイト:Jupyter Notebookの初期ディレクトリを変更する - Qiita

環境

  • Windows 10 Home 64bit
  • jupyter notebook 5.6.0(Anacondaを使用してインストール)

方法

1. jupyter notebookの設定ファイルの作成

Anaconda Promptで以下のコマンドを入力。

jupyter notebook --generate-config

設定ファイル(jupyter_notebook_config.py)がC:Users\UserName\.jupyter\ に作成される。

2. 設定ファイルの編集

jupyter_notebook_config.pyを開き、c.NotebookApp.notebook_dir = ' ' と書かれている行を編集。

## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = r'設定したいパス'

パスを入力する際にr'' で囲むとエスケープシーケンスを意識しなくてよくなるので楽。

3. Jupyter notebookの起動

Anaconda promptでjupyter-notebook と入力して起動すると、初期フォルダが変更している。

【読書】死に山 世界一不気味な遭難事故《ディアトロフ峠事件》の真相

死に山: 世界一不気味な遭難事故《ディアトロフ峠事件》の真相

死に山: 世界一不気味な遭難事故《ディアトロフ峠事件》の真相

去年の秋頃ネットで話題になっていてすぐ買ったが結局読まなかった本。最近部屋を掃除していたら発見したので読んでみることにした。そして読み終わった日にヤフーニュースに本事件のことが載っていてタイミングの良さに驚いた。なんでかなと思ったが事件が起きてからちょうど60年が経ったからだった。

本書の題名になっている「ディアトロフ峠事件」とは、1959年ロシア西部の極寒のウラル山脈で起きた遭難事件で、登山経験豊富な9人全員が犠牲になった。9人全員が安全なテントから1kmも離れたところで発見された。
雪山にも関わらず全員靴を履いておらず、あるものは頭蓋骨骨折、あるものは舌が喪失、あるものは衣服がずたずたにされ、衣服から高濃度の放射線が検出された。そして当時の警察による最終報告書は「未知の不可抗力によって死亡」と結論づけられた。
このような奇妙の状況のため事件当初から現在まで様々な事故原因が考えられた。雪崩説、強風説、現地少数民族の攻撃、ソ連軍や脱獄囚による攻撃、旧ソ連の兵器実験の影響、UFO説など。
筆者はこの奇妙な謎に魅せられ、関係者への取材や事件現場となった冬の「ディアトロフ峠」の登山を通じて、考えられる最も現実的な事件を真相を説明する。というのが本書の概要である。

本書の構成は、犠牲となった9人の若者の登山道中の様子、遭難後救助に向かった捜索隊の様子、そして筆者の調査、これら3つの話が章ごとに変わっていくスタイルで、読み進めていくと事件の様相がよくわかってくる。それだけでなく、9人(正確にいうと10人)の登山隊の人物像や登山中の様子、雪山の寒さ・暗さ・怖さなどの情景がありありと伝わってきて、ただの謎解き本で終わってないところが本書の面白さだと思う。
もちろん本事件の真相についても面白い。最後の章に筆者が唱えた仮説のもと、事件発生時の9人の登山家の行動を描いている。読んでみて違和感はなく、確かにそうだったのかもな、と納得した。事件の真相ググったら分かってしまうが、本を通しで読んでいった方が納得するのではないかなと思う。

Markdownエディタ「Typora」が良い感じ

最近Markdownを書く機会がちょこちょこある。
シンプルで書きやすいし、きれいに書けるなあと思う半面、プレビュー画面が別というのがストレスだった。

何かこう、ワードやパワポみたいにデザインがそのまま見えるようなエディタがあったらいいなあと思っていたら、ありました。

それがTyporaでした。

typora.io

markdown エディタ」で検索中、下記記事を発見。

msyksphinz.hatenablog.com

この記事を読んでこれだ!と思いすぐインストールした。
すべては上記事に書いてあるが、Typoraの良い点は、

  • 編集画面とプレビュー画面が同一。
  • UIがシンプルで美しい。

というところ。

どんどん使っていきたいと思う。

逆問題について勉強する

数年前から逆問題について興味があり勉強してみたいと思っていた。

逆問題とは、結果(計測データ)から原因(モデル)を推定する問題のこと。病院で使われるCTスキャンが分かりやすい例で、CTは直接は見えない体内の様子(モデル)をX線を周囲から照射して得た計測データを解析することで体内の様子を可視化している。

先日本屋でぶらぶらしていたところ面白そうな逆問題に関する本を見つけた。

応用例で学ぶ逆問題と計測

応用例で学ぶ逆問題と計測

この本は基礎編と応用編に分かれている。基礎編では逆問題の概要と逆問題を解析するために必要な数学について説明され、応用編では拡散・波動・個体変形という代表的な3つ物理現象についてそれぞれ逆問題を設定し、どのように解析していくかを解説している。

基礎編と応用編のバランスがよさそうで応用例も面白そうだったので購入し、少しずつ読み進めていくことにした。

勉強していったことをメモとして残していきたいと思う。

Google Maps API をローカル環境で使う際のAPIキーの利用制限について

Google Maps APIAPIキーを取得したらAPIキーの利用制限をする必要がある。制限をかけないと、他の人にAPIキーを自由に使われてしまい、無料の割り当て量がすぐに超えてしまう可能性があるからだ。

とりあえずローカル環境でAPIを使ってみようと思ったときに、どうやってAPIキーの利用制限をするか試行錯誤したのでまとめておく。

なお、OSはWindows10を使用。

ローカルのファイルパス(file:///)の登録

file:///__file_url__//と書き換えてURLを入れればOK。

やり方がわからず色々調べていたが公式ドキュメントに載っていた。

例えば、C:/Users以下のファイルを登録したい場合は下図のようにワイルドカードである「*」を使い__file_url__//C:/Users/*と書いて保存すればよい。

APIキーの制限にファイルパスを登録する場合

WEBサーバーのローカル環境(localhost)の登録

Apacheでwebサーバーを立ち上げた場合、http://localhost/*と入力すればOK。

APIキーの制限にローカルのwebサーバーのパスを登録する場合

APIを使ってみる

公式ドキュメントにのっているコードを使う。
取得したAPIキーはscript要素のYOUR_API_KEYのところに入れる。
マップの表示位置を変える場合は、initMap関数のlatとlongの数値を変えればよい(コードでは東京駅付近の緯度経度を設定)。

<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
      var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: 35.681, lng: 139.765},
          zoom: 17
        });
      }
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
    async defer></script>
  </body>
</html>

無事ローカル環境でマップの表示ができました!

Google Maps APIを使ってマップを表示

GoogleマップのAPIを使うためにGoogle Cloud Platformに登録してみた

GoogleマップAPIを使ってみたいなと思い調べてみると、Google Cloud Platform (GCP) にクレカ情報を登録してAPIキーを取得しないといけないことが分かった。

そもそもAPIというものを使ったことがなく、GCP??という感じの全くの初心者だが、とりあえずGCPを使ってみることにした。

参考になったサイト

nendeb.com

基本的に上記のサイトをの通りに進めていったらAPIキーの取得までできた。

 

悩んだ点

上記サイトの「APIと認証情報の設定方法」という項目で「Maps JavaScript API」を有効にして新しいAPIキーを作成しているが、サイトの手順通り最初からやっていると「Maps JavaScript API」はすでに有効になっているし、そもそもAPIキーはすでにできている。そして他の(16個?)のAPIも有効になっており、これはちゃんと設定できているのか??と不安になった。

しばし考えたが、別に最初に作られたAPIキーをそのまま使って問題ないと思われる。とりあえずサイトに合わせて「Maps JavaScript API」以外に有効になっていたAPIをすべて無効にしたが、別に無効にしなくてもよさそう。認証の「アプリケーションの制限」のところで使うAPIを選べばよいと思われる。

そして「アプリケーションの制限」の「HTTPリファラー」のところは結構悩んだ。これは別記事に書こうと思う。

とりあえず、GCPに登録してAPIキーを取得という目標を達成したので良かった。