Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】文字列のパーセントエンコーディングを行う

HttpUtilityクラスのUrlEncodeメソッドを使うと、パーセントエンコーディングすることができる。逆にUrlDecodeメソッドはデコードすることができる。あらかじめAdd-TypeコマンドレットでSystem.Drawing名前空間を現在のセッションに追加しておく必要がある。

PS > Add-Type -AssemblyName System.Web
PS > [System.Web.HttpUtility]::UrlEncode("石見舞菜香")
%e7%9f%b3%e8%a6%8b%e8%88%9e%e8%8f%9c%e9%a6%99
PS > [System.Web.HttpUtility]::UrlDecode("%e7%9f%b3%e8%a6%8b%e8%88%9e%e8%8f%9c%e9%a6%99")
石見舞菜香

UrlEncodeメソッドの第2引数に文字コードを指定すれば、指定した文字コードに応じて変換した値が返る。UrlDecodeメソッドも同様。以下はShift_JISで変換した例。

PS > [System.Web.HttpUtility]::UrlEncode("石見舞菜香", [System.Text.Encoding]::GetEncoding("shift_jis"))
%90%ce%8c%a9%95%91%8d%d8%8d%81
PS > [System.Web.HttpUtility]::UrlDecode("%90%ce%8c%a9%95%91%8d%d8%8d%81", [System.Text.Encoding]::GetEncoding("shift_jis"))
石見舞菜香

【SQL Server】テーブルを作成する

create table文を使う。あらかじめuse文で使用するデータベースを指定しておく必要がある。以下は、データベースprincessにテーブルumamusumeを作成した例。

1> use princess
2> create table umamusume (
3> no integer,
4> name varchar(20),
5> prizemoney float,
6> seiyu varchar(20),
7> dummydate datetime
8> );
9> go
データベース コンテキストが 'princess' に変更されました。
1> select substring(name, 1, 12), database_id, create_date
2> from sys.databases;
3> go
             database_id create_date
------------ ----------- -----------------------
master                 1 2003-04-08 09:13:36.390
tempdb                 2 2024-03-07 13:36:23.090
model                  3 2003-04-08 09:13:36.390
msdb                   4 2019-09-24 14:21:42.270
princess               5 2024-03-08 20:32:39.873
(5 行処理されました)

【TeX】空集合の記号∅を出力する

空集合(要素を一つも含まない集合)の記号∅を出力するには\emptysetを使う

空集合は $\emptyset$ という記号で表す。
→
空集合は∅という記号で表す。

高校の数学の教科書ではφ(\phi、ギリシア文字の小文字のファイ)が使用されるが、大学以上の数学では∅(アラビア数字の零に右上から斜線を引いたような記号)が使われる。

【SQL Server】データベースを作成(削除)する

作成にはcreate database、削除にはdrop database文を使う。以下はprincessというデータベースを新規作成してすぐに削除した例。

1> select substring(name, 1, 6) from sys.databases;
2> go
------
master
tempdb
model
msdb
1> create database princess;
2> go
1> select substring(name, 1, 6) from sys.databases;
2> go
------
master
tempdb
model
msdb
princess
1> drop database princess;
2> go
1> select substring(name, 1, 6) from sys.databases;
2> go
------
master
tempdb
model
msdb

【SQL Server】データベースを一覧表示する

SQL Server】データベースを一覧表示する select文でsys.databasesテーブルを参照する。その環境のSQL Serverのデータベースはインストール時に作成されるsys.databasesテーブルに格納されている。

1> select substring(name, 1, 12), database_id, create_date
2> from sys.databases;
3> go
             database_id create_date
------------ ----------- -----------------------
master                 1 2003-04-08 09:13:36.390
tempdb                 2 2024-03-07 13:36:23.090
model                  3 2003-04-08 09:13:36.390
msdb                   4 2019-09-24 14:21:42.270

name列は文字の幅が長いため、substring関数で12文字の長さに縮めて表示している。master, tempdb, model, msdbの各データベースは、インストール時に自動で作成されたデータベースのこと。 試しにデータベースを作成して再度一覧表示してみる。

1> create database testdb;
2> go
1> select substring(name, 1, 6), database_id, create_date
2> from sys.databases;
3> go
       database_id create_date
------ ----------- -----------------------
master           1 2003-04-08 09:13:36.390
tempdb           2 2024-03-07 13:36:23.090
model            3 2003-04-08 09:13:36.390
msdb             4 2019-09-24 14:21:42.270
testdb           5 2024-03-07 23:40:16.207

sys.databasesの詳細については、以下を参照のこと。

https://learn.microsoft.com/ja-jp/sql/relational-databases/system-catalog-views/sys-databases-transact-sql?view=sql-server-ver16

【Unity】Unity Hubの表示を日本語にする

Unityはインストール直後はメニュー等は英語で表記されるはず。

これを日本語表記にする方法。

  1. 左上のPreferencesアイコン(ギザギザの丸)をクリック。Preferencesウィンドウが表示される。
  2. 左側メニュー「Appearance」をクリック。
  3. 右側「Language」のプルダウンメニューをクリック。デフォルトは「English」だが「日本語」をクリック。
  4. 表示がすべて日本語に変わるはず。右上の×印をクリックすれば、最初のウィンドウに戻る。

【PowerShell】Windows版の最新版を入手する

PowerShellの最新版は、マイクロソフトの公式ページから無料でダウンロードすることができる。
https://learn.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-on-windows

2024年3月時点の最新バージョンは7.4.1。

【MySQL】select文の結果からテーブルを作成する

create table as文を使う。as句にselect文を書けばよい。以下は、二つのテーブルcharaとseiyuを内部結合した結果からchara_vcという新しいテーブルを作成した例。

mysql> show tables;
+--------------------+
| Tables_in_princess |
+--------------------+
| chara              |
| seiyu              |
+--------------------+
2 rows in set (0.00 sec)
mysql> select * from chara;
+------------------+-------------------+------+------------+
| name             | title             | no   | vc         |
+------------------+-------------------+------+------------+
| ライスシャワー   | ウマ娘            |   30 | miwami01   |
| スーパークリーク | ウマ娘            |   45 | kyuki01    |
| メイショウドトウ | ウマ娘            |   58 | mwatada01  |
| ライザ           | ライザのアトリエ2 |    1 | ynoguchi01 |
| フィー           | ライザのアトリエ2 |    2 | mwatada01  |
| 黒川あかね       | 推しの子          |    6 | miwami01   |
+------------------+-------------------+------+------------+
6 rows in set (0.00 sec)
mysql> select * from seiyu;
+-----------+------------+
| id        | name       |
+-----------+------------+
| miwami01  | 岩見舞菜香 |
| kyuki01   | 優木かな   |
| mwatada01 | 和多田美咲 |
| machico01 | Machico    |
+-----------+------------+
4 rows in set (0.00 sec)
mysql> select chara.name, seiyu.name as vc, chara.title
    -> from chara join seiyu on chara.vc = seiyu.id;
+------------------+------------+-------------------+
| name             | vc         | title             |
+------------------+------------+-------------------+
| ライスシャワー   | 岩見舞菜香 | ウマ娘            |
| スーパークリーク | 優木かな   | ウマ娘            |
| メイショウドトウ | 和多田美咲 | ウマ娘            |
| フィー           | 和多田美咲 | ライザのアトリエ2 |
| 黒川あかね       | 岩見舞菜香 | 推しの子          |
+------------------+------------+-------------------+
5 rows in set (0.00 sec)
mysql> create table chara_vc as
    -> select chara.name, seiyu.name as vc, chara.title
    -> from chara join seiyu on chara.vc = seiyu.id;
Query OK, 5 rows affected (0.04 sec)
Records: 5  Duplicates: 0  Warnings: 0
mysql> show tables;
+--------------------+
| Tables_in_princess |
+--------------------+
| chara              |
| chara_vc           |
| seiyu              |
+--------------------+
3 rows in set (0.00 sec)
mysql> select * from chara_vc;
+------------------+------------+-------------------+
| name             | vc         | title             |
+------------------+------------+-------------------+
| ライスシャワー   | 岩見舞菜香 | ウマ娘            |
| スーパークリーク | 優木かな   | ウマ娘            |
| メイショウドトウ | 和多田美咲 | ウマ娘            |
| フィー           | 和多田美咲 | ライザのアトリエ2 |
| 黒川あかね       | 岩見舞菜香 | 推しの子          |
+------------------+------------+-------------------+
5 rows in set (0.00 sec)

なお、create table as文はSQLの標準規格には含まれない機能であることに注意。

【PowerShell】複数のテキストファイルを連結する

Get-ChildItemコマンドレット、Get-Contentコマンドレット、Set-Contentコマンドレットを組み合わせて使う。以下は二つのCSVファイルを連結してall.csvに書き出した例。連結して出力したいだけの場合は単純に組み合わせればよい。例えば各ファイルの一行目だけ取り除く場合はSelect-Objectコマンドレットに-skipオプションを付けて実行すればよい。

PS > (Get-ChildItem seiyu*.csv).Name
seiyu1.csv
seiyu2.csv
PS > Get-Content seiyu1.csv
no,seiyu
8,大橋彩香
30,石見舞菜香
45,優木かな
58,和多田美咲
PS > Get-Content seiyu2.csv
no,seiyu
1,安野希世乃
2,鈴木みのり
3,小清水亜美
4,西田望見
5,東山奈央
PS > Get-ChildItem seiyu*.csv | % {Get-Content $_} | Set-Content all.csv
PS > Get-Content all.csv
no,seiyu
8,大橋彩香
30,石見舞菜香
45,優木かな
58,和多田美咲
no,seiyu
1,安野希世乃
2,鈴木みのり
3,小清水亜美
4,西田望見
5,東山奈央
PS > Get-ChildItem seiyu*.csv | % {Get-Content $_ | Select-Object -skip 1} | Set-Content all.csv
PS > Get-Content .\all.csv
8,大橋彩香
30,石見舞菜香
45,優木かな
58,和多田美咲
1,安野希世乃
2,鈴木みのり
3,小清水亜美
4,西田望見
5,東山奈央