LoginSignup
0
1

More than 1 year has passed since last update.

[個人的2021] 開発環境を整えたい! [ssh,python3関係]

Last updated at Posted at 2021-12-24

公開鍵認証の設定

作成するKeyの種類
公開鍵暗号は「RSA」「DSA」「ECDSA」「EdDSA」があり、それぞれ暗号化方式が異なります。

Type Default Bits
DSA 1024 1024
RSA 2048 1024, 2048, 4096
ECDSA 256 256, 384, 521
ED25519 256 256
Linux-id_rsa
ssh-keygen
vim ~/.ssh/config
source ~/.ssh/config
# このタイミングで公開鍵をGithubに登録
cat ~/.ssh/id_rsa.pub
# 登録したら接続確認 
ssh -T git@github.com
win10で作成
cd  C:\Users\ユーザー名\.ssh
# keyの作成 (rsaアルゴリズム)
ssh-keygen

# keyの作成 (ED25519アルゴリズム)
ssh-keygen -t ed25519

ssh-keygen作成時のcmd_log
ssh-keygen作成時のcmd_log
C:\Users\ユーザ名\.ssh>dir
 Volume in drive C is Windows
 Volume Serial Number is C0EF-B2B2

 Directory of C:\Users\ユーザ名\.ssh

2021/10/13  18:21    <DIR>          .
2021/10/13  18:21    <DIR>          ..
2021/10/05  15:32               194 config
2021/10/13  10:45             2,675 id_rsa.key
2021/10/13  10:45               584 id_rsa.pub
2021/10/13  11:13               351 known_hosts
2021/10/13  18:19    <DIR>          test
               4 File(s)          3,804 bytes
               3 Dir(s)  192,605,966,336 bytes free

C:\Users\ユーザ名\.ssh>ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\ユーザ名/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\ユーザ名/.ssh/id_ed25519.
Your public key has been saved in C:\Users\ユーザ名/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:I267+S7267+S7NTTU4sBzZ267+S7ajL2267+S7nUDNTTU4 ad\ユーザ名@PC名
The key's randomart image is:
+--[ED25519 256]--+
|     oEoo        |
|  o .B.*         |
|.o o+ = .        |
|oo*.o+           |
|=o+=o.. S        |
|++.o.. .         |
|o+o  +           |
| =.++..          |
|. B===o          |
+----[SHA256]-----+

C:\Users\ユーザ名\.ssh>dir

参考:WindowsでのSSHの方法やconfigファイルの作成方法
参考:GitHubでssh接続する手順

C:\Users\user\.ssh\configファイルに追加

config
Host testhost
    # ユーザ名
    User ${リモートユーザ名}
    # ホスト名
    Hostname ${IPアドレス}
    # 鍵ファイルのパス
    IdentityFile ~/.ssh/id_rsa
    # コネクションの切断防止(60秒周期でパケット送信)
    ServerAliveInterval  60

#作成したキーが「id_rsa」「id_dsa」「identity」以外の場合のgithub開通確認

Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/id_ed25519 #ここに自分の鍵のファイル名
  User git
ssh -T git@github.com
# config 設定していなければ
ssh -i ~/.ssh/id_ed25519 -T git@github.com

# それでも接続できない場合
source ~/.ssh/config
ssh -T git@github.com

参考:vi・vim勉強中。 - vim 文字列の検索

vimでの検索について紹介します。 ノーマルモードで/(スラッシュ)を入力するとカーソルが画面下に 移動します。 そこで、検索文字列を入力して、[Enter]を入力することで文字列を検索できます。

jupyter notebook

他PCの jupyter notebook にアクセスしたい

qiita:jupyter notebook で外部からの接続を許可する
参考:jupyter notebook Port 設定

  • 設定ファイルを作成
  • ~/.jupyter/jupyter_notebook_config.py の編集
terminal
# 設定ファイルを作成
jupyter notebook --generate-config

# `~/.jupyter/jupyter_notebook_config.py` の編集
# lisen IP設定('*' = 全て許可)
c.NotebookApp.ip = '*'
# Jupyter 起動時のブラウザ起動設定(off)
c.NotebookApp.open_browser = False
terminal
# アドホックにやりたかったら
jupyter notebook --ip=* --no-browser
# 任意のPortを設定
jupyter notebook --port 9000

# アドホックにIPの制限解除とポート開放
jupyter notebook --ip=* --no-browser --port 9000

まとめてコメントアウト

参考:Python コメントアウトの書き方を徹底解説(複数行/関数

Jupyter notebookでは、記述したコードを選択して、ショートカットキー Ctr + / (スラッシュ) を押すとコメントアウトすることができます。 複数行を選択してCtr + / を押すと、複数行に渡って一括してコメントアウトされます。

git cmd

コミットを指定し cloneしたい

tarminal
git clone https://github.com/username/projectname.git

# 次に、コミットの「SHA」を指定して、「fetch」を実行します。
git fetch --depth 1 origin SHA

# 最後に「reset」を実行すれば、指定したコミットをcloneすることが可能です。
git reset --hard FETCH_HEAD

初期設定

参考:git config 設定メモ

# アカウント設定
git config --global user.name "Your Name"
git config --global user.email you@example.com
# 設定の確認
git config --global -l

一般的な使用法

# gitの初期設定
git init
# .gitignore の作成
touch .gitignore
# .gitignoreにgitに含めたくないファイルやディレクトリを記入
vim .gitignore
# 現在の状態を表示
git status
# ファイルを追加する
git add --all .
# コミットメッセージを追加する
git commit -m "{プロダクト名}, first commit"
# 自分のコンピューター上のGitリポジトリをGitHub上のGitリポジトリに結びつけてあげる
git remote add origin https://github.com/<your-github-username>/my-first-blog.git
# GitHubにコードをプッシュする
git push -u origin master

2回目以降はこっち

# 最後に実行したときから、どのファイルを変更したか見てみましょう
git status
# git に対してこのディレクトリ内の変更を全て反映させるよう指示
# --all をつけると、 git は、ファイルを削除したかどうかも判定します
git add --all .
# gitが何をアップロードするのかチェックしておきましょう
# (`git`がアップロードする全ファイルは緑で表示されます):
git status
# 何をしたかを具体的に書き込んでおけば、将来、作業内容を思い出す助けになるでしょう
git commit -m "[Changed] the HTML for the site."
# GitHubに変更部分をアップロード(push) 
git push
  • feat: 新しい機能
  • fix: バグの修正
  • docs: ドキュメントのみの変更
  • style: 空白、フォーマット、セミコロン追加など
  • refactor: 仕様に影響がないコード改善(リファクタ)
  • perf: パフォーマンス向上関連
  • test: テスト関連
  • chore: ビルド、補助ツール、ライブラリ関連

Django専用 .gitignore サンプル

.gitignore
*.pyc
*~
/.vscode
__pycache__
作成した仮想環境名[myvenv]
db.sqlite3
/static
.DS_Store

公開鍵認証設定をしたのにpushできなかったら
参考:git fetch・pushするときの接続方法をHTTPSからSSHへ変更する

# sshになっているか現在設定の確認
git remote -v

# HTTPSからSSHへ変更
git remote set-url origin git@gitlab.com:...
# originの後にssh用のURLを入力します。
# リモート名が異なる場合は適宜 <code>origin</code> の箇所を修正。

pushを取り消したい

参考:git push の取り消し方法

# このやり方はpush した、コミットを取り消し、リモートから削除。無かったことに
# 直前のコミットを取り消す
git reset --hard HEAD^
# 強制的にPushする
git push -f origin master

pushしたコミットメッセージを変更したい

参考:pushしたコミットメッセージを変更

# このやり方はpush した、コミットを取り消し、変更し上書き。無かったことに
# local履歴の確認
git log --online
# 直前のコミットメッセージを変更する
git rebase -i HEAD~1
# 3つ前のメッセージを変更する際はこのように
git rebase -i HEAD~3

# エディターが開くので変更したいコミットのpickをeに変更
# :wqを押して上書き保存して終了。

# --amend にてコミットメッセージを変更
git commit --amend -m "[modify]新規投稿ページ修正 #37"    //issue番号を追加
git rebase --continue 

# --onelineにて確認
git log --online
# 他にeに変更したコミットがある場合は上から順次繰り返す。最後にpushで問題ないと思う。(未確認)
# 強制的にPushする
git push -f origin master

Github ブランチ

ブランチ作成
# ブランチ確認
git branch

# developブランチ作成
git checkout -b develop main

# 再度確認
git branch

# 作成したブランチをリモートに反映
git push -u origin develop

Python class

参考:Python クラスについて

class TestClass:
    x = "変数1"

    def test_method1(self):
        print(self.x)

    def test_method2(self, arg1):
        print("引数1:" + arg1)

testClass = TestClass()
testClass.test_method1() # ⇒ 変数1
testClass.test_method2("引数Test") # ⇒ 引数1:引数Test

Linux Port Check cmd

参考:Linuxのポート状況を確認する

Linuxで接続待ちをしているポートを確認する(ssコマンド)

■ssコマンドのオプション
-a  全てのソケットを表示
-n  サービス名に変換せずに表示
-t  TCP情報のみ表示
-u  UDP情報のみ表示
# TCPポートのみを表示する
ss -atn
# UDPポートのみを表示する
ss -anu
# TCP、UDPポート両方表示する
ss -atnu

Docker コマンド詳細

参考:コマンドライン・リファレンス » logs

logs
使い方: docker logs [オプション] コンテナ

コンテナのログを取得

  --details                 ログに追加情報を表示
  -f, --follow=false        ログの出力をフォロー(表示し続ける)
  --help                    使い方の表示
  --since=""                タイムスタンプ以降のログを表示
  -t, --timestamps=false    タイムスタンプを表示
  --tail="all"              ログの最後から指定した行数を表示

windows11 自動ログイン

参考:Windows11の自動サインインの設定
- Windows11起動後のパスワードを省略する

1.[Windowsシステムツール⇒名前を指定して実行] ボックスに「netplwiz」又は「control userpasswords2」と入力し、「OK」を押す。 管理者のパスワードまたは確認を求められた場合は、パスワードを入力するか、確認情報を提供する。

github-mona-loading-default.gif

  • チェックボックスが表示されない場合はレジストリを変更 ユーザーアカウントの設定画面で「ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要」チェックボックスが表示されない場合、レジストリ設定を変更します。

以下の手順を実行します。

  • regedit.exeを実行
  • 「コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device」に移動
  • 「DevicePasswordLessBuildVersion」の値を「2」から「0」に変更

変更後すぐにチェックボックスが表示されるようになるはずです。

ZSH

cdの後にlsしたい

参考:cdした後にlsするのはzshにやらせよう
下記を .zshrcに追記してあげる

.zshrc
chpwd() {
    if [[ $(pwd) != $HOME ]]; then;
        ls
    fi
}
# 読み込み(設定反映)
source ~/.zshrc
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1