はとのーと

エジソンノート(アイデア、思い付き、メモ)として使っています。誰かの役に立つかもしれないので公開しています。

メモ 2020-03

目次:

2020-03-05

USBメモリースティックからLinuxインストーラを起動するためのBIOS設定のポイント

USBメモリからUEFIモードでUbuntuをインストールする | 普段使いのArch Linux

  • CSMを有効にする
    • CSM…Compatibility Supported Module: 従来のBIOSをエミュレートする仕組み
  • Secure Bootを無効にする
  • SATAをACPIモードにする
  • UEFI onlyにする

2020-03-07

odコマンドでビッグエンディアンで表示したい時は--endian=bigをつける

odコマンドはリトルエンディアンで表示します。 たとえばabcdという文字列の文字コードは16進数では61 62 63 64ですが、これを2桁ずつ表示すると6261 6463と表示されます。

# 16進数1桁ずつ表示
$ echo -n abcd | od -t x1
0000000 61 62 63 64
0000004

# 16進数2桁ずつ表示
$ echo -n abcd | od -t x2
0000000 6261 6463
0000004

ビッグエンディアンで表示したい時はオプション--endian=bigをつけます。

# 16進数2桁ずつビッグエンディアンで表示
$ echo -n abcd | od -t x2 --endian=big
0000000 6162 6364
0000004

2020-03-08

Shebangenvコマンドを使う理由

env環境変数を一時的に設定してコマンドを実行するコマンドです。 たとえば次のようにすると一時的に言語を英語にして現在の日付を表示します。

# 日付をシステム言語(日本語)で表示
$ date
202038日 日曜日 19:32:55 JST

# 日付を英語で表示
$ env LANG=C date
Sun Mar  8 19:32:55 JST 2020

スクリプトの先頭でインタープリタを指定するShebangはよく次のように書かれます。

#!/usr/bin/env python
...

env環境変数を指定しない場合は単純にコマンドを実行するという働きになります。 このような書き方をするのは次の理由からです。

  1. Shebangにはインタープリタをパス付きで指定する必要がある
  2. コマンドの場所はシステムによって異なる場合がある
  3. env環境変数PATHで指定されているディレクトリからコマンドを探して実行する

つまりenvを通すことでシステムによって異なる場所にあるコマンドをShebangで実行することができるようになります。

Shebangには相対パスを指定することができる

Python/usr/bin/pythonにインストールされているとします。

$ which python
/usr/bin/python

カレントディレクトリが/home/pazのとき次のように指定することで相対パスpythonを指定することができます。

#!../../usr/bin/pyton
...

スクリプトからの相対パスではなくカレントディレクトリからの相対パスになります。

2020-03-09

リモートデスクトップでタスクバーが重なるときはエクスプローラーを再開する

Windows10のリモートデスクトップ接続時にタスクバーが正しく表示されない時の対処法 | sakura86.com

Windows10でリモートデスクトップを最大化した時、タスクバーが重なってしまう(ローカル側のタスクバーが隠れずに最前面に残ってしまう)場合、次の手順で解除します。

  1. タスクマネージャーを実行する
  2. 「プロセス」タブを選択する
  3. Windowsプロセス」の中の「エクスプローラー」をクリックする
  4. 右下の「再開」をクリックする

2020-03-13

個人的に馴染みの少ないプログラミング言語のメモ

個人的に馴染みの少ないプログラミング言語があるので特徴をメモ。

Dart

Dartによるフィボナッチ数を計算する関数の例(上記Wikipediaページより)

int fib(int n) {
  if (n <= 1) return n;
  return fib(n - 1) + fib(n - 2);
}
main() {
  print('fib(20) = ${fib(20)}');
}
Rust

Rustによる階乗を計算する関数の例(上記Wikipediaページより)

    if n <= 1 {
        1
    } else {
        n * fac_recursive(n-1)
    }
}
Elm

Elmによるフィボナッチ数を計算する関数の例(Fibonacci Sequence in Elmより)

fib x = 
  case x of 
    0 -> 1 
    1 -> 1 
    _ -> fib (x-1) + fib (x-2)

ml x = 
  List.range 1 x
 
fibs x = 
  List.map fib (ml x)

ElmはErlangに似ていると思います。 次のコードはErlangで書いたフィボナッチ数を計算する関数の例です。

fib(X) ->
  case X of
    0 -> 1;
    1 -> 1;
    _ -> fib(X-1) + fib(X-2)
  end.

ml(X) ->
  lists:seq(1, X).

fibs(X) ->
  lists:map(fun fib/1, ml(X)).

2020-03-14

OperaGoogle Chrome拡張機能をインストールする方法

Google Chrome拡張機能Operaにインストールすることができます。

最初にやること

Opera拡張機能Install Chrome Extensionsをインストールします。

拡張機能をインストールするたびにやること
  1. OperaChrome ウェブストアを開きます
  2. 拡張機能を検索し、表示された拡張機能のページの右側にある「Operaに追加」をクリックします
  3. 拡張機能の管理画面が表示されるので「インストール」をクリックします

f:id:paz3:20200314231734p:plain

2020-03-15

WindowsのパッケージマネージャChocolateyの使い方

Chocolateyを使うとLinuxのapt-getやyumpacmanのようなコマンドラインインターフェースでWindowsのアプリケーションをインストール、アップデートできるようになります。

Chocolateyを使った環境構築の時のメモ - Qiita

インストール
  1. コマンドプロンプトまたはPowerShellを管理者として実行します
  2. ChocolateyのページにあるインストールコマンドをコピーしてコマンドプロンプトまたはPowerShellに貼り付け、Enterキーで実行します

f:id:paz3:20200317183258p:plain

(青いボタンでインストールコマンドをクリップボードにコピーできます)

実行

コマンドプロンプトまたはPowerShellを管理者として実行します。 chocoコマンドを入力します。

よく使うコマンド:

  • choco -?
    • ヘルプを表示します。
  • choco find 文字列 choco search 文字列 choco list 文字列
    • 文字列を含むパッケージを検索します。
    • findsearchの、searchlistエイリアスなので、実質的にlistだけ覚えれば問題ありません。
  • choco info パッケージ名
    • 指定されたパッケージの情報を表示します。
  • choco install パッケージ名
    • 指定されたパッケージをインストールします。
    • オプション-yをつけると確認せずインストールします。
  • choco uninstall パッケージ名
    • 指定されたパッケージをアンインストールします。
  • choco list --local
    • ローカルにインストールされているパッケージを表示します。
  • choco outdated
    • 古くなっているパッケージを表示します。
  • choco upgrade
    • パッケージを最新バージョンにアップグレードします。
    • オプション--noopをつけると実際には実行せず結果だけ表示します。

続きはChocolateyについてのメモにまとめました。

2020-03-29

Gmailのメールアドレスは+名前エイリアスが使え、ドットは無視される
  • @gmail.comの前に+名前を入れることができる
    • foo@gmail.comがあるとき、エイリアスとしてfoo+bar@gmail.comが使える
  • ドットの入った名前はドットのない名前として扱われる
    • foo.bar@gmai.comfoobar@gmail.comとして扱われる

参照リンク: Gmailで使用可能な別名アドレス(エイリアス) | Gmailの使い方

2020-03-30

HHKB Liteで切り取り&スケッチを呼び出すには途中でFnを離す

Happy Hacking Keyboard (HHKB) LiteはFn+Windowsキーの入力になります。 Windows10の切り取り&スケッチはWindowsキー+Shift+Sなので、HHKB LiteではFn++Shift+Sになりますが、このキーを入力しても何も起こりません。

次のようにすると切り取り&スケッチを呼び出すことができます。

  1. Fnを押しながらを押す
  2. Fnだけを離す
  3. 追加でShiftを押す
  4. 追加でSを押す