自分用便利スニペット集。

  • 公私でよく使用するスニペットやコマンド、作業手順などをウェブから参照できるようにしたもの。
  • 思いついたら適宜追加していく。
  • 参考にする際は自己責任で!

テンプレート

  • タイトル

    // コード
    
    • 参考文献・出典

1. 記号

  • 全角スペース

     
    
  • タブ文字

    [	]
    

    [ ] の中をコピーする。

2. 正規表現

2.1. 早見表

2.2. 記号・制御文字

2.3. URL

2.4. その他

3. Linux

3.1. バージョンを確認する

  • issue で確認する

    cat /etc/issue
    
    # e.g.
    $ cat /etc/issue
    Ubuntu 22.04.4 LTS \n \l
    
  • os-release で確認する

    cat /etc/os-release
    
    # e.g.
    $ cat /etc/os-release
    PRETTY_NAME="Ubuntu 22.04.4 LTS"
    NAME="Ubuntu"
    VERSION_ID="22.04"
    VERSION="22.04.4 LTS (Jammy Jellyfish)"
    VERSION_CODENAME=jammy
    ID=ubuntu
    ID_LIKE=debian
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    UBUNTU_CODENAME=jammy
    
  • lsb_release コマンドで確認する

    lsb_release -a
    
    # e.g.
    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 22.04.4 LTS
    Release:        22.04
    Codename:       jammy
    
  • neofetch コマンドで確認する

    neofetch
    
    # e.g.
    $ sudo apt-get update
    $ sudo apt-get install -y neofetch
    $ neofetch
    

    neofetch

3.2. alias

3.3. apt / apt-get

  • 利用可能なパッケージ一覧を更新する

    sudo apt update
    
    sudo apt-get update
    
  • 環境のパッケージを更新する

    sudo apt upgrade -y
    
    sudo apt-get upgrade -y
    
  • 必要なくなったパッケージを削除する

    sudo apt autoremove -y
    
    sudo apt-get autoremove -y
    
  • 不要なキャッシュファイルを削除する

    sudo apt autoclean -y
    
    sudo apt-get autoclean -y
    

3.4. chown

3.5. curl

3.5.1. HTTP Requests

  • GET ( GET /items )

      curl -L -X GET 'http://localhost:8080/items' | jq
    
  • GET ( GET /items/{itemId} )

      curl -L -X GET 'http://localhost:8080/items/1' | jq
    
  • POST ( POST /items )

      curl -L -X POST 'http://localhost:8080/items' \
      -H 'Content-Type: application/json' \
      -d '{"itemName": "Candy", "itemCategory": "Food"}' \
      | jq
    
  • PUT ( PUT /items/{itemId} )

      curl -L -X PUT 'http://localhost:8080/items/1' \
      -H 'Content-Type: application/json' \
      -d '{"itemName": "Candy", "itemCategory": "Food"}' \
      | jq
    
  • DELETE ( DELETE /items/{itemId} )

      curl -L -X DELETE 'http://localhost:8080/items/1' | jq
    

3.6. grep

  • 指定ファイル内を検索する (行番号付き)

    grep -n [キーワード] [ファイル名]
    
    # e.g.
    $ pwd
    /.../kems-clew.net
    $ grep -n キーワード ./docs/_posts/2024-01-13-my-snippets.md
    166:  grep -n [キーワード] [ファイル名]
    172:  $ grep -n キーワード ./2024-01-13-my-snippets.md
    # ...
    
  • 指定ディレクトリ配下でヒットしたファイル名のリストを出力する

    grep -rlI [キーワード] [起点となるディレクトリパス]
    
    # e.g.
    $ grep -rlI キーワード ./docs/
    ./docs/_posts/2023-01-02-inbox-zero.md
    ./docs/_posts/2024-01-13-my-snippets.md
    ./docs/_site/feed.xml
    # ...
    
  • 指定ディレクトリ配下でヒットしたファイル名と行のリストを出力する

    grep -rnI [キーワード] [起点となるディレクトリパス + /*]
    
    # e.g.
    $ grep -rnI キーワード ./docs/
    ./docs/_posts/2023-01-02-inbox-zero.md:58:    |               | 検索キーワード          | セクション名(省略可) |
    ./docs/_posts/2023-01-02-inbox-zero.md:101:    - どうにもよくわからなかったので、自分の設定では検索キーワードとセクション名を設定するように しています。
    ./docs/_posts/2024-01-13-my-snippets.md:166:  grep -n [キーワード] [ファイル名]
    # ...
    

3.7. seq

  • 指定範囲の数値をゼロ埋めで出力

    seq -w 1 100
    
  • 桁数を指定する場合

    seq -f %04g 30
    

3.8. split

  • CSV ファイルを 100 行単位で分割する

    mkdir -p split && \
    split -l 100 -d --additional-suffix=.csv ./filename.csv split/filename
    

3.9. ssh

  • SSH 接続

    ssh {ユーザー名}@{接続先の IP アドレス} -p {ポート番号}
    

4. Windows PowerShell

4.1. OS 情報を表示する

  • Get-WmiObject コマンドで確認する

    Get-WmiObject Win32_OperatingSystem
    
    # e.g.
    PS > Get-WmiObject Win32_OperatingSystem
    
    
    SystemDirectory : C:\WINDOWS\system32
    Organization    :
    BuildNumber     : 22631
    RegisteredUser  : kenkenpa198
    SerialNumber    : *****-*****-*****-*****
    Version         : 10.0.22631
    
  • systeminfo コマンドで確認する

    systeminfo
    
    # e.g.
    PS > systeminfo
    
    ホスト名:               KEM-VELOX
    OS :                  Microsoft Windows 11 Home
    OS バージョン:          10.0.22631 N/A ビルド 22631
    OS 製造元:              Microsoft Corporation
    OS 構成:                スタンドアロン ワークステーション
    # ...
    # BIOS や物理メモリ、ネットワーク情報など
    

4.2. OS のバージョン情報を表示する

  • レジストリから取得する

    (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name 'DisplayVersion').DisplayVersion
    
    (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name 'BuildLabEx').BuildLabEx
    
    # e.g.
    PS > (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name 'DisplayVersion').DisplayVersion
    23H2
    
    PS > (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name 'BuildLabEx').BuildLabEx
    22621.1.amd64fre.ni_release.220506-1250
    
  • systeminfo コマンドの実行結果を絞り込む

    (systeminfo | ?{$_.Contains("OS")})[0,1];
    
    # e.g.
    PS > (systeminfo | ?{$_.Contains("OS")})[0,1];
    OS :                  Microsoft Windows 11 Home
    OS バージョン:          10.0.22631 N/A ビルド 22631
    
  • cmd の ver コマンドを利用する

    cmd /C ver
    
    # e.g.
    PS > cmd /C ver
    
    Microsoft Windows [Version 10.0.22631.3527]
    

4.3. WSL

  • WSL のバージョン情報を表示する

    wsl --version
    
    # e.g.
    PS > wsl -v
    WSL バージョン: 2.0.14.0
    カーネル バージョン: 5.15.133.1-1
    WSLg バージョン: 1.0.59
    MSRDC バージョン: 1.2.4677
    Direct3D バージョン: 1.611.1-81528511
    DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
    Windows バージョン: 10.0.22631.3235
    
  • ディストリビューション一覧と詳細情報を表示する

    wsl -l -v
    
    # e.g.
    PS > wsl -l -v
      NAME                   STATE           VERSION
    * Ubuntu                 Running         2
      Arch                   Running         2
      docker-desktop         Stopped         2
      docker-desktop-data    Stopped         2
    

5. Git

  • ⚠️: 対象コミットの歴史を改変する操作。
    • リモートブランチへプッシュ済みの場合、無断で行わないこと

5.1. remote

  • リモートリポジトリを登録する

    git remote add origin https://github.com/kenkenpa198/dotfiles
    
  • リモートリポジトリの URL を変更する

    git remote set-url origin git@github.com:kenkenpa198/dotfiles.git
    
  • リモートリポジトリの確認

    git remote -v
    
    # e.g.
    $ git remote -v
    origin  git@github.com:kenkenpa198/dotfiles.git (fetch)
    origin  git@github.com:kenkenpa198/dotfiles.git (push)
    

5.2. ⚠️Git の操作を取り消す

# 1. git reflog で操作履歴を出力する
$ git reflog
02f11b7 HEAD@{0}: reset: moving to 02f11b7                               # 現在のコミット (HEAD)
0488e28 HEAD@{1}: merge develop: Merge made by the 'recursive' strategy. # 1 つ前のコミット
...

# 2. 戻りたいコミットを指定して git reset する
# 「1 つ前」に戻す場合は「HEAD@{n}」へ 1 を指定する
# ディレクトリの内容が書き換わるので注意
$ git reset --hard HEAD@{1}

# コミットのハッシュを指定してもよい
$ git reset --hard 0488e28

# ステージング状態へ戻す場合は --soft を指定する
$ git reset --soft HEAD@{1}

参考文献:

5.3. ⚠️コミットを統合する

(1) のコミットを (2) へ統合する場合の対応手順。

$ gll
* dc80a8f 2024-01-13 11:33:09 (HEAD -> main) wip by"kenkenpa198"                   # (1)
* 07e84cc 2024-01-13 11:27:11 [add]add note 2024-01-13-my-snippets by"kenkenpa198" # (2)
# 1. リベースを開始する
$ git rebase -i HEAD~~
# 2. リベース指示書を編集する
# 統合するコミットを f へ書き換えて保存する
# f は統合を指示する指定
pick 07e84cc [add]add note 2024-01-13-my-snippets
f dc80a8f wip                                     # pick から f へ変更

# Rebase d3937fb..dc80a8f onto d3937fb (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# ...
# f, fixup <commit> = like "squash", but discard this commit's log message
# ...
# 3. ファイルを保存後、Successfully ... と表示されたことを確認する
$ git rebase -i HEAD~~                            # 1. で実行したコマンド
Successfully rebased and updated refs/heads/main. # 返った結果

# 4. コミットログとファイル内容を確認する
$ gll
* 8ed7b8a 2024-01-13 10:57:20 (HEAD -> main) [add]add note 2024-01-13-my-snippets by"kenkenpa198"
...

参考文献:

※ 実行しているコマンド $ gllgit log のエイリアス

5.4. キャッシュを削除する

kenkenpa198/dotfiles にも記載しているもの。

  • グローバルな除外設定 (.gitignore_global など) を設定する前にコミットをしてしまった。
  • 過去に追跡対象としてコミットしたファイルを .gitignore の追跡対象外へ追加する。
  • .gitignore を整理したので追跡対象の設定が問題ないか確認したい。

これらに該当する場合は Git のキャッシュ削除が必要になる。

# 1. cd
cd fuga

# 2. Git のキャッシュをすべてのファイルから削除する
git rm --cached -r .

# 3. 全てのファイルをステージングする
git add -vA

# 4. コミット対象のファイルが変更を加えたファイルのみであるか確認する
git status -s

# 5. コミットする
git commit -m 'commit comments'

参考文献:

6. Docker

$ docker --version
Docker version 25.0.2, build 29cf629
  • Docker へログインする

    docker login
    
  • 指定した Docker イメージをプルする

    docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    

6.1. Compose

6.1.1. build

  • サービスをビルドする

    docker compose build [OPTIONS] [SERVICE...]
    
    # e.g.
    # --no-cache: Do not use cache when building the image
    $ docker compose build --no-cache
    [+] Building 44.1s (6/9)
    ...
    [+] Building 62.5s (10/10) FINISHED
    

6.1.2. up

  • サービスを起動する

    docker compose up [OPTIONS] [SERVICE...]
    
    # e.g.
    $ docker compose up
    [+] Running 9/9
    ...
    db-1    | The files belonging to this database system will be owned by user "postgres".
    ...
    main-1  | ====================================
    main-1  |            discordbot-mdn
    main-1  | ====================================
    
    # e.g. バックグラウンドで起動する
    # -d, --detach: Detached mode: Run containers in the background
    $ docker compose up -d
    [+] Running 2/2
    ✔ Container discordbot-mdn-main-1  Started        0.0s
    ✔ Container discordbot-mdn-db-1    Started        0.0s
    
    # e.g. イメージをビルドしてから起動する
    # --build: Build images before starting containers.
    $ docker compose up -d --build
    [+] Building 1.5s (10/10) FINISHED                          docker:default
    => [main internal] load build definition from Dockerfile    0.0s
    [+] Running 2/0
    ✔ Container discordbot-mdn-db-1    Running                 0.0s
    ✔ Container discordbot-mdn-main-1  Running                 0.0s
    

6.1.3. ls

  • サービスを一覧表示する

    docker compose ls [OPTIONS]
    
    # e.g. 起動中のサービスを表示する
    $ docker compose ls
    NAME                STATUS              CONFIG FILES
    wasbook-docker      running(5)          /.../wasbook-docker/docker-compose.yml
    
    # e.g. 停止中のサービスも表示する
    $ docker compose ls -a
    NAME                STATUS              CONFIG FILES
    discordbot-mdn      exited(2)           /.../discordbot-mdn/docker-compose.yml
    wasbook-docker      running(5)          /.../wasbook-docker/docker-compose.yml
    

6.1.4. stop

  • サービスを停止する

    docker compose stop [OPTIONS] [SERVICE...]
    
    # e.g.
    $ docker compose stop
    [+] Stopping 2/2
    ✔ Container discordbot-mdn-main-1  Stopped        10.3s
    ✔ Container discordbot-mdn-db-1    Stopped         0.3s
    

6.1.5. logs

  • サービスのログを表示する

    docker compose logs [OPTIONS] [SERVICE...]
    
    # e.g.
    # -f, --follow: Follow log output.
    $ docker compose logs -f
    main-1  | ====================================
    main-1  |            discordbot-mdn
    main-1  | ====================================
    main-1  | 2024-02-18 16:32:59.847807
    ...
    

6.1.6. exec

  • サービス内でアプリケーションを実行する

    docker compose exec [OPTIONS] SERVICE COMMAND [ARGS...]
    
    # e.g. アプリ内で Bash を実行する
    # 1. Find SERVICE name
    $ cat docker-compose.yml
    version: "3.7"
    services:
      ...
      main:      # SERVICE name
        build: .
        ...
    
    # 2. exec with bash
    $ docker compose exec discordbot-mdn-main-1 bash
    service "discordbot-mdn-main-1" is not running
    
    # e.g. Postgres DB へログインする
    # database   : Service name
    # -U         : Use username (postgres)
    $ docker compose exec database psql -U postgres
    psql (11.22)
    Type "help" for help.
    
    postgres=#
    

6.1.7. down

  • サービスを削除する

    docker compose down [OPTIONS] [SERVICES]
    
    # e.g.
    $ docker compose down
    [+] Running 3/3
    ✔ Container discordbot-mdn-db-1    Removed         0.3s
    ✔ Container discordbot-mdn-main-1  Removed        10.4s
    ✔ Network discordbot-mdn_default   Removed         0.2s
    
    # e.g. イメージもすべて削除する
    # --rmi string: Remove images used by services. "local" remove only images that don't have a custom tag ("local"|"all")
    $ docker-compose down --rmi all
    [+] Running 2/2
    ✔ Image postgres:14.5-alpine3.16    Removed        0.1s
    ✔ Image discordbot-mdn-main:latest  Removed        0.1s
    
    # e.g. ボリュームも削除する
    # -v, --volumes: Remove named volumes declared in the "volumes" section of the Compose file and anonymous volumes attached to containers.
    $ docker-compose down --rmi all --volumes
    [+] Running 2/2
    ✔ Image postgres:14.5-alpine3.16    Removed        0.1s
    ✔ Image discordbot-mdn-main:latest  Removed        0.1s
    

6.2. Container

6.2.1. ls

  • Docker コンテナを一覧表示する

    docker container ls [OPTIONS]
    
    # e.g. 起動中のコンテナを表示する
    # docker ps と同義
    $ docker container ls
    CONTAINER ID   IMAGE                   COMMAND                  CREATED       STATUS         PORTS                               NAMES
    af2574bc26e3   wasbook-docker-nginx    "/docker-entrypoint.…"   4 weeks ago   Up 2 minutes   80/tcp                              wasbook-docker-nginx-1
    # ...
    
    # e.g. 停止中のコンテナもすべて表示する
    # docker ps -a と同義
    $ docker container ls -a
    CONTAINER ID   IMAGE                      COMMAND                  CREATED              STATUS                            PORTS                               NAMES
    7cea32a40911   postgres:14.5-alpine3.16   "docker-entrypoint.s…"   About a minute ago   Exited (0) About a minute ago                                         discordbot-mdn-db-1
    # ...
    af2574bc26e3   wasbook-docker-nginx       "/docker-entrypoint.…"   4 weeks ago          Up 2 minutes                      80/tcp                              wasbook-docker-nginx-1
    # ...
    

6.2.2. stop

  • Docker コンテナを停止する

    docker container stop [OPTIONS] CONTAINER [CONTAINER...]
    
    # e.g.
    $ docker container rm discordbot-mdn-db-1
    discordbot-mdn-db-1
    

6.2.3. rm

  • Docker コンテナを削除する

    docker container rm [OPTIONS] CONTAINER [CONTAINER...]
    
    # e.g.
    $ docker container rm discordbot-mdn-db-1
    discordbot-mdn-db-1
    

6.3. Image

6.3.1. ls

  • Docker イメージを一覧表示する

    docker image ls
    
    # e.g.
    # docker images と同義
    $ docker image ls
    REPOSITORY   TAG         IMAGE ID       CREATED        SIZE
    docker-app   latest      25102b30807f   3 weeks ago    496MB
    postgres     11-alpine   10d7fb41183a   2 months ago   232MB
    

6.3.2. rm

  • Docker イメージを削除する

    docker image rm [OPTIONS] IMAGE [IMAGE...]
    
    # e.g.
    # docker rmi と同義
    $ docker image rm postgres:14.5-alpine3.16
    Untagged: postgres:14.5-alpine3.16
    Untagged: postgres@sha256:ac09c433f64f2d310a83e5cc24dadc13561f645199d4ec8e503824de22e14668
    Deleted: sha256:aac01494762a1319624f6117a3d9d374540ec58095c2c9f84adb92619aec3b6e
    # ...
    

6.3.3. prune

6.4. Volume

6.4.1. ls

  • ボリューム一覧を表示する

    docker volume ls [OPTIONS]
    
    # e.g.
    $ docker volume ls
    DRIVER    VOLUME NAME
    local     discordbot-mdn_db-volume
    

6.4.2. rm

  • ボリュームを削除する

    docker volume rm [OPTIONS] VOLUME [VOLUME...]
    
    $ docker volume rm discordbot-mdn_db-volume
    discordbot-mdn_db-volume
    
    $ docker volume ls
    DRIVER    VOLUME NAME
    

7. Laravel

$ php --version
PHP 7.3.33 (cli) (built: Mar 18 2022 03:18:11) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
$ php artisan --version
Laravel Framework 8.83.27
$ composer --version
Composer version 2.6.6 2023-12-08 18:32:26

7.1. Composer

7.2. Artisan

7.2.1. db

  • シーダーを実行する

    php artisan db:seed [options] [--] [<class>]
    
    # e.g.
    $ composer dump-autoload
    $ php artisan db:seed --class=FoldersTableSeeder
    Database seeding completed successfully.
    
    # Check Database
    $ exit
    $ docker compose exec database bash
    37ccc2e57c0a:/# psql -U postgres
    psql (11.22)
    Type "help" for help.
    
    postgres=# select * from folders;
     id |    title     |     created_at      |     updated_at
    ----+--------------+---------------------+---------------------
      1 | プライベート | 2024-01-21 12:24:51 | 2024-01-21 12:24:51
      2 | 仕事         | 2024-01-21 12:24:51 | 2024-01-21 12:24:51
      3 | 旅行         | 2024-01-21 12:24:51 | 2024-01-21 12:24:51
    (3 rows)
    

7.2.2. key

7.2.3. make

  • コントローラークラスを作成する

    php artisan make:controller [options] [--] <name>
    
    # e.g.
    $ php artisan make:controller TaskController
    INFO  Controller [app/Http/Controllers/TaskController.php] created successfully.
    
  • マイグレーションファイルを作成する

    php artisan make:migration [options] [--] <name>
    
    # e.g.
    $ php artisan make:migration create_folders_table --create=folders
    $ ls -la database/migrations/
    total 36
    drwxr-xr-x 2 1000 1000 4096 Feb 17 02:41 .
    drwxr-xr-x 5 1000 1000 4096 Jan 21 16:37 ..
    -rw-r--r-- 1 1000 1000  798 Jan 21 16:37 2014_10_12_000000_create_users_table.php
    ...
    -rw-r--r-- 1 1000 1000  770 Jan 21 16:37 2024_01_21_111050_create_folders_table.php # made
    
  • モデルクラスを作成する

    php artisan make:model [options] [--] <name>
    
    # e.g.
    $ php artisan make:model Folder
    
    $ ls -la app/Models/
    total 20
    drwxr-xr-x 2 1000 1000 4096 Jan 22 10:25 .
    drwxr-xr-x 7 1000 1000 4096 Jan 21 16:37 ..
    -rw-r--r-- 1 1000 1000  247 Jan 22 12:20 Folder.php # made
    -rw-r--r-- 1 1000 1000  913 Jan 21 16:37 User.php
    
  • FormRequest クラスを作成する

    php artisan make:request <name>
    
    # e.g.
    $ php artisan make:request CreateFolder
    
    $ ls -la app/Http/Requests/
    total 20
    drwxr-xr-x 2 1000 1000 4096 Feb 14 13:38 .
    drwxr-xr-x 5 1000 1000 4096 Jan 22 13:34 ..
    -rw-r--r-- 1 1000 1000  654 Jan 22 14:06 CreateFolder.php # made
    
  • シーダークラスを作成する

    php artisan make:seeder <name>
    
    # e.g.
    $ php artisan make:seeder FoldersTableSeeder
    
    $ ls -la database/seeders
    total 24
    drwxr-xr-x 2 1000 1000 4096 Feb 14 13:38 .
    drwxr-xr-x 5 1000 1000 4096 Jan 21 16:37 ..
    -rw-r--r-- 1 1000 1000  282 Jan 21 16:37 DatabaseSeeder.php
    -rw-r--r-- 1 1000 1000  846 Feb 14 13:38 FoldersTableSeeder.php # made
    
  • テストクラスを作成する

    php artisan make:test [options] [--] <name>
    
    # e.g.
    $ php artisan make:test TaskTest
    $ ls -la tests/Feature
    total 16
    drwxr-xr-x 2 1000 1000 4096 Feb 14 13:38 .
    drwxr-xr-x 4 1000 1000 4096 Jan 21 16:37 ..
    -rw-r--r-- 1 1000 1000  339 Jan 21 16:37 ExampleTest.php
    -rw-r--r-- 1 1000 1000 2509 Feb 14 13:38 TaskTest.php
    

7.2.4. migrate

  • マイグレーションを実行する

    php artisan migrate
    
    # e.g.
    $ php artisan migrate
    Migration table created successfully.
    Migrating: 2014_10_12_000000_create_users_table
    Migrated:  2014_10_12_000000_create_users_table (6.16ms)
    Migrating: 2014_10_12_100000_create_password_resets_table
    Migrated:  2014_10_12_100000_create_password_resets_table (2.87ms)
    
  • テーブルをすべて削除してからマイグレーションを実行する

    $ php artisan migrate:fresh
    
    # e.g.
    $ php artisan migrate:fresh
    Dropped all tables successfully.
    Migration table created successfully.
    Migrating: 2014_10_12_000000_create_users_table
    Migrated:  2014_10_12_000000_create_users_table (2.66ms)
    ...
    

7.2.5. route

  • ルーティングの定義を一覧表示する

    route:list [options]
    
    # e.g.
    $ php artisan route:list
    +--------+----------+-----------------------------------+------------------+------------------------------------------------------------------------+---------------------------------------------+
    | Domain | Method   | URI                               | Name             | Action                                                                 | Middleware                                  |
    +--------+----------+-----------------------------------+------------------+------------------------------------------------------------------------+---------------------------------------------+
    |        | GET|HEAD | /                                 | home             | App\Http\Controllers\HomeController@index                              | web                                         |
    |        | GET|HEAD | api/user                          |                  | Closure                                                                | api                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\Authenticate:sanctum    |
    |        | GET|HEAD | folders/create                    | folders.create   | App\Http\Controllers\FolderController@showCreateForm                   | web                                         |
    |        | POST     | folders/create                    |                  | App\Http\Controllers\FolderController@create                           | web                                         |
    |        | GET|HEAD | folders/{id}/tasks                | tasks.index      | App\Http\Controllers\TaskController@index                              | web                                         |
    |        | GET|HEAD | folders/{id}/tasks/create         | tasks.create     | App\Http\Controllers\TaskController@showCreateForm                     | web                                         |
    |        | POST     | folders/{id}/tasks/create         |                  | App\Http\Controllers\TaskController@create                             | web                                         |
    |        | GET|HEAD | folders/{id}/tasks/{task_id}/edit | tasks.edit       | App\Http\Controllers\TaskController@showEditForm                       | web                                         |
    |        | POST     | folders/{id}/tasks/{task_id}/edit |                  | App\Http\Controllers\TaskController@edit                               | web                                         |
    |        | GET|HEAD | home                              | home             | App\Http\Controllers\HomeController@index                              | web                                         |
    |        | POST     | login                             |                  | App\Http\Controllers\Auth\LoginController@login                        | web                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\RedirectIfAuthenticated |
    |        | GET|HEAD | login                             | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                | web                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\RedirectIfAuthenticated |
    |        | POST     | logout                            | logout           | App\Http\Controllers\Auth\LoginController@logout                       | web                                         |
    |        | GET|HEAD | password/confirm                  | password.confirm | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm    | web                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\Authenticate            |
    |        | POST     | password/confirm                  |                  | App\Http\Controllers\Auth\ConfirmPasswordController@confirm            | web                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\Authenticate            |
    |        | POST     | password/email                    | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web                                         |
    |        | GET|HEAD | password/reset                    | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web                                         |
    |        | POST     | password/reset                    | password.update  | App\Http\Controllers\Auth\ResetPasswordController@reset                | web                                         |
    |        | GET|HEAD | password/reset/{token}            | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web                                         |
    |        | GET|HEAD | register                          | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\RedirectIfAuthenticated |
    |        | POST     | register                          |                  | App\Http\Controllers\Auth\RegisterController@register                  | web                                         |
    |        |          |                                   |                  |                                                                        | App\Http\Middleware\RedirectIfAuthenticated |
    |        | GET|HEAD | sanctum/csrf-cookie               |                  | Laravel\Sanctum\Http\Controllers\CsrfCookieController@show             | web                                         |
    +--------+----------+-----------------------------------+------------------+------------------------------------------------------------------------+---------------------------------------------+
    

7.2.6. serve

  • Web サーバーを起動する

    php artisan serve [options]
    
    # e.g.
    # ローカルホストで起動する
    $ php artisan serve --host 0.0.0.0
    Starting Laravel development server: http://0.0.0.0:8000
    
    # Access to http://localhost:8000
    

7.2.7. tinker

  • メソッドを実行する

    tinker [options] [--] [<include>...]
    
    # e.g. メソッドを実行する
    $ php artisan tinker
    Psy Shell v0.11.22 (PHP 7.3.33 — cli) by Justin Hileman
    > $folder = App\Models\Folder::find(1);
    = App\Models\Folder {#6516
        id: 1,
        title: "プライベート",
        created_at: "2024-01-22 10:39:42",
        updated_at: "2024-01-22 10:39:42",
      }
    
    # e.g. 実行される SQL を確認する
    $ php artisan tinker
    Psy Shell v0.11.22 (PHP 7.3.33 — cli) by Justin Hileman
    > \App\Models\Task::where('folder_id', 1)->toSql();
    = "select * from "tasks" where "folder_id" = ?"
    

8. SQL

9. VS Code

9.1. 保存時の設定を無効化する

{
    "files.insertFinalNewline": false,
    "files.trimFinalNewlines": false,
    "files.trimTrailingWhitespace": false,
}

これを ワークスペース/.vscode/settings.json へ記述すると、ユーザー設定で行われている 下記の記述を無効化できる。

  • 保存時に新規行を挿入 (files.insertFinalNewline)
  • 保存時に不要行を除去 (files.trimFinalNewlines)
  • 保存時に行末のスペース記号を削除 (files.trimTrailingWhitespace)

他者が作成したコードをそのまま保存したいときに配置する。

10. Excel

  • 🔄: Google スプレッドシートでも動作を確認している関数。

10.1. 書式設定

  • YYYY-MM-DD hh:mm:ss 形式 (ゼロ埋め) で表示

    YYYY-MM-DD hh:mm:ss
    

10.2. 関数

11. その他

11.1. example.com

11.2. Google 検索