Docker
$ docker build -t sample_docker .
$ docker run -itd -v $(pwd):/opt/mnt -p 18080:8080 sample_docker
$ docker ps
$ docker exec -it aaa /bin/bash
Git
仕組み
- ワーキングツリー -<add>- インデックスエリア -<commit>- ローカルリポジトリ -<push>- リモートリポジトリ
- origin = リモートリポジトリのインデックス
git remote -v
で確認可能
git remote add aaa https://github.com/xxx/xxx.git
で追加可能。( aaa
というインデックスで追加)
コマンド
クローン〜プッシュ
# クローン
$ git clone -b development https://github.com/xxx/xxx.git
# ブランチ作成
$ git branch feat/1
# ブランチ切り替え
$ git switch feat/1
# 確認 ブランチ一覧
$ git branch
# 修正
略
# 確認 ワーキングツリーとインデックスエリアの差分
$ git diff
# ワーキングツリー → インデックスエリア
$ git add xxx.py
# 確認 インデックスエリアとローカルリポジトリの差分
$ git diff --cached
# インデックスエリア → ローカルリポジトリ
$ git commit -m "add xxx.py refs #99"
# 確認 ログ確認
$ git log --oneline
# 確認 リモートリポジトリのブランチ一覧
$ git branch -r
# ローカルリポジトリ → リモートリポジトリ ローカルの my-master ブランチを、origin 上の master ブランチに push する
$ git push origin my-master:master
$ git push origin feat/1:feat/1
取り込み
# リモートリポジトリのmainをローカルリポジトリのorigin/mainブランチに
$ git fetch origin main
# ローカルリポジトリのorigin/mainをmain(今いるリポジトリ)にマージ
$ git merge origin/main
# リモートのmainブランチをローカルのmainに反映
$ git pull origin/main
# githubでリモートのfeat/6ブランチがローカルのfeat/6ブランチより進んでいる
$ git checkout feat/6 # feat/6ブランチに切り替えます
$ git pull origin feat/6 # リモートの変更を取得してマージします
取り消し
# ワーキングツリーでの変更を取り消す
$ git restore xxx.py
# インデックスエリア → ワーキングエリア
$ git reset -- xxx.py
その他
.gitkeep
で空フォルダ追加
.gitignore
で無視=git add の実行時に、インデックスエリアに追加されないようになる
Jupyter Notebook
Enter コマンドモードからエディットモードへ切り替える
Esc エディットモードからコマンドモードへ切り替える
a 現在のセルの上にセルを追加
b 現在のセルの下にセルを追加
dd 現在のセルを削除する
m Markdownセルにする
Shift + m 下のセルとマージする
Shift + Tab Python構文の説明を表示する
Ctrl + / 現在の行をコメントにする
poetry
$ poetry add --group <group> numpy
$ poetry install --no-root --with <group>
$ poetry lock
Terminal
# カーソル移動(先頭)
Ctrl + a
# カーソル移動(末尾)
Ctrl + e
# 削除(一文字)
Ctrl + d
# 削除(末尾まで)
Ctrl + k
# 履歴検索
Ctrl + r
# 画面クリア
Ctrl + l
tmux
# 注: prefixはCtrlとbを押し、一度キーを離して後続のキー(cとか)のみを押す
# 新規セッション開始
tmux
# 名前をつけて新規セッション開始
tmux new -s <セッション名>
# セッションを中断
Ctrl-b d
# セッションの一覧表示
tmux ls
# セッションを再開 ※-t <対象セッション名>でセッション名の指定も可能 target
tmux a
# セッションを終了 ※-t <対象セッション名>でセッション名の指定も可能
tmux kill-session
# ウィンドウを作成
Ctrl-b c
# ウィンドウ番号を指定して移動
Ctrl-b 1
# 次のウィンドウに移動 (next)
Ctrl-b n
# 前のウィンドウに移動 (previous)
Ctrl-b p
# ペイン分割
prefix + "(横に線で縦に分割)
prefix + %(縦に線で横に分割)
# ペイン移動(矢印でも可)
prefix + o(next)
# ペイン削除
prefix + x
# 保存して終了
:wq
# 挿入モードへ
i
# 新しい行を追加し挿入モードへ
o
# 矩形選択のビジュアルモードへ
Ctrl + v
# コマンドモードに戻る
ESC
# 次の行
j
# 前の行
k
# 行頭
0
# 行末
$
# 最初の行
gg
# 88行目
88G
# 最終行
G
# 単語の置換(hageをhogeへ置換)。% はファイル全体を表す。
:%s/hage/hoge/g
# 今いる行をコピー (yank)
yy
# カーソルの場所に、ペースト
p
# 1文字削除
x
# 一行を削除する
dd
# 外部コマンドの実行
:!command
# 直前の操作を取り消す
u
# Python実行
F5でデバック
# 引数設定
F5でデバック
→サイドバーでlaunch.jsonを作成する(実体は.vscode/launch.json)
→Python Fileを選択
→
{
"version": "0.2.0",
"configurations": [
{
...
"args": [
"3"
]
}
]
}
# ブレークポイント設定
F9でブレークポイント
もう一度F5で動き出す
# 補完
GitHub Copilot拡張
Ctrl+Enterキーを押すことにより、別なタブで複数の提案を一覧で見ることができる
# Copilot
Ctrl + I
Copilotでコメントを入れる
"""
コード全体に対して、次の条件を満たす改善を実施してください。
- Google スタイルの Docstring を記述する
- 使用しているがimportしていないライブラリをimportする
"""
# 定義ジャンプ
F12で定義ジャンプ
# 宣言へ移動
Ctrl + マウスクリック
# 関数の確認、引数オプション
# コメント有無の切り替え
Command + /