言語別連想配列

言語 呼び名 記法
JSON json [{"name":"suzuki"}]
Lisp alist '((hoge (1 2 3)))
JavaScript Object {'name': 'Suzuki'}
Python dict {'name': 'Suzuki'}
Perl array %h=('name' => 'Suzuki')
Ruby hash {name: 'Suzuki'} or {'name' => 'Suzuki'}
PHP array ['name' => 'Suzuki']
shell array (['name'] => 'Suzuki'])
Elixir map %{:apple => りんご}
C++ map map<string,string>
Java Map Map<String,String>()

インテルUHDグラフィックス630で3画面マルチディスプレイ

結論から先に言うとできなかった。

構成:
core i5-9400 (2.90GHz-4.10GHz/6コア/6スレッド), インテル UHD Graphics 630 (CPU内蔵)(HDMI x1, DisplayPort x1, D-Sub 15 x1)

グラボなしでマザーボードだけで 3画面ができたらとてもコンパクトなワークステーションが作れると思ったのだけれど、 2画面はオッケーなのだけれど、3画面 (3 x 1920 x 1080 ) にすると認識はするのだけど 3画面目が映らない。 HDMI, DisplayPort, D-Sub はどの組合せでも 2画面は行ける。 それだけでもすごいことだと思うけど。

できる方法があるかどうか、調査中です。

追記:

インテルのホームページの表

https://ark.intel.com/content/www/us/en/ark/products/graphics/126790/intel-uhd-graphics-630.html

で cpu を選ぶと

# of Displays Supported ‡ 3

とあるので 3画面をサポートしてるのは間違いない。 Supported の後ろに注マーク (ダブルダガー) がついている。注をみると、実際に使えるかどうかはシステム構成に依存する、とのこと。

‡ This feature may not be available on all computing systems. Please check with the system vendor to determine if your system delivers this feature, or reference the system specifications (motherboard, processor, chipset, power supply, HDD, graphics controller, memory, BIOS, drivers, virtual machine monitor-VMM, platform software, and/or operating system) for feature compatibility. Functionality, performance, and other benefits of this feature may vary depending on system configuration.

Colab で学ぶ LaTeX

はじめに

はてなでも、Qiita でもマークダウンできれいな数式が書けます。

$$ E=mc^{2} $$

とか。

この数式を書く記法を LaTex と言って、本来は数学書を書くための組版処理システムなのですが、数式を書く部分が LaTeX のサブセットの MathJax として ブログや Html で使われている。

これをさくっと学ぶための Colab のノートブックを作りました。

https://colab.research.google.com/github/kalz2q/mycolabnotebooks/blob/master/learnlatex.ipynb

細かいことにこだわらないでざっと読むなら 3 時間位で読めると思う。

Colab なのでいろいろいじって実験学習すると、自由自在に数式が書けるようになります。 今回は行列やマクロも入っています。

使い方

  1. 上記の URL をクリックして、資料を Colab で開く
  2. メニューの「ドライブにコピー」で自分の Colab にコピーする
  3. セルを編集したり、壊したりしながら実験学習する

メリット・ディメリット

  1. だれでも使える。環境設定が不要
  2. 失敗を恐れずインタラクティブに学習できる
  3. 壊したらもとのファイルからやりなおせばよい

以上

Colab で学ぶ Sympy

はじめに

数学を学ぶためになんらかの数式処理システムは必須だろうと思う。

この Colab のノートブックは Sympy という数式処理システムの学習資料です。

https://colab.research.google.com/github/kalz2q/mycolabnotebooks/blob/master/math_sympy_short.ipynb

さくさく進めれば 1 時間くらいで Sympy が使えるようになる(かもしれない)。 数式処理、方程式、微積分、グラフ描画をカバーしています。線形代数とかは別に作る予定です。

使い方

  1. 上記の URL をクリックして、資料を Colab で開く
  2. メニューの「ドライブにコピー」で自分の Colab にコピーする
  3. セルを実行したり、壊したりしながら実験学習する

メリット・ディメリット

  1. だれでも使える。環境設定が不要
  2. 失敗を恐れずインタラクティブに学習できる
  3. 壊したらもとのファイルからやりなおせばよい

以上

Colab (Jupyter) エディター内キーボードショートカット

Colab (Jupyter) でコードセルやテキストセルを編集中に使えるキーボードショートカットの機能についてまとめようと思いました。

メニュー -> ツール -> キーボードショートカット (Ctrol+M H) で出てくる一覧に例えば Ctrl+C (コピー) や Ctrl+Click (マルチカーソル) が入っていません。

たぶんごく自然につかえるのでヘルプとして提供するニーズがない。 ショートカットに 2 種類あるのを一度に示すと混乱する。 というような理由で入っていないと思う。 それはそれでいいのですが、マルチカーソルが使えることなどはちょっと思いつかないかもしれない。

ショートカット 機能 備考
Double/Triple-Click 行選択 英語だと単語/行選択の区別がある
Ctrl+C コピー 選択テキストをクリップボードにコピーする
Ctrl+V ペースト クリップボードをカーソル位置にペーストする
Ctrl+A 全選択 編集中のセルの全テキストを選択
Shift+Click 選択範囲拡大 カーソルの位置からクリック位置まで選択
Home 行先頭 カーソルのある行の行頭にカーソルを移動
End 行末 カーソルのある行の末尾にカーソルを移動
Ctrl+Home セル頭 編集中のセルの先頭にカーソルを移動
Ctrol+End セル末 編集中のセルの末尾にカーソルを移動
Ctrl+Click マルチカーソル カーソルを複数の場所において一度に編集
Ctrl+Shift+Alt+Up/Down マルチカーソル Home/End で行頭行末。超便利!!!!
Ctrl+D 選択テキストを複数選択 そのままマルチカーソルになる
Ctrl+Shift+P 選択テキストをすべて選択 そのままマルチカーソルになる

樹木の名前の略称一覧

略称 樹木名
BW ビワ
AC アカシア
AG アオギリ
AN アキニレ
BN ブナ
CF コーヒー
EG エゴノキ
EJ エンジュ
EN エノキ
FA フサアカシア
HG ヒイラギ
HM ハナミズキ
HN ハンノキ、ハルニレ、ハナノキ
HN ヒノキ
HR ヒメリンゴ
HS ヒマラヤスギ
IM イロハモミジ
IT イチョウ
KB コブシ
KI カイズカイブキ
KK カキ
KM クロガネモチ、クロマツ
KN コナラ
KR カリン
KS クスノキ、カシ
KW クワ
KY ケヤキ
MC モチノキ
MK マキ
MM モミジ、モミ
MN ミカン、ミズナラ
MS マテバシイ
MT マツ、モチノキ、モッコク
MZ ミモザ
NH ナンキンハゼ
NM ネズミモチ
NM ネムノキ
NR ニレ、ノムラモミジ、ナラ
NT ナツツバキ
RG リンゴ
SD シダレザクラ
SG スギ、ソヨゴ
SI シイノキ
SK サクラ
SN サンゴジュ
SR シラカシ
SS サルスベリ
SY ソメイヨシノ
SY シュロ
SZ サザンカ
TB タブノキ、ツバキ
TK トウカエデ
TR タラノキ
TT トチノキ
UB ウバメガシ
UM ウメ
YB ヤマボウシ
YM ヤマモモ
YR ユリノキ
YU ユズ
YZ ユズリハ

Colab の matplotlib で日本語を使う (使わない)

はじめに

Colab 自体は日本語はもちろんオーケーなのですが、 matplotlib のテキストなどで日本語を使おうとするとエラーになります。

コードセルを1つ別に開いて、次のようにしてから import japanize_matplotlib して使えるようになりました。

%%capture
!pip install japanize_matplotlib

解説

ここで %%capture はセルマジックで出力の抑制。

pip の前のエクスクラメーションマークはコードセル内で Unix のコマンドを使うためのおまじない。

結果

import matplotlib.pyplot as plt
import japanize_matplotlib
plt.text(0.5, 0.5, 'matplotlibで\n日本語が\n使える!!!!'
    , fontsize=40
    , horizontalalignment='center'
    , verticalalignment='center')
plt.axis('off')
plt.savefig("temp.svg", format="svg")
plt.show()

意見

ちなみに、 matplotlib 内で日本語を使わなければならないことはないので、使わないのが一番だと思います。