コマンドプロンプト用
- PATH 確認:
echo %PATH:;=&echo.%
- PYTHONPATH に c:\hoge を追加:
set PYTHONPATH=%PYTHONPATH%;C:\hoge
- PYTHONPATH を PATH に追加:
set PATH = %PATH%;%PYTHONPATH
- Python 3.7 のインストール(Windows 上)
- MSVC ビルドツール 2019 (Build Tools for Visual Studio 2019) のインストール(Windows 上)
- Visual Studio Community 2019 vesion 16.2, MSVC ビルドツールのインストール(Windows 上)
- 用語説明
- Python3.7 をインストールして path を通して、pip でパッケージを入れる
- WSL2 を windows10 にインストール
- WSL2 上の Ubuntu で最初にする作業
- WSL2 + VcXsrv で GUI アプリを動かす
- Xlaunch をWindowsスタートアップに登録
- WSL2 環境で Docker (Docker Desktop)
- powershell上で使うコマンド
- wsl.exe --shutdown
- wsl -l -v
- wsl --unregister Ubuntu-18.04 # 削除
- wsl --set-default <DIST_NAME> # 規定ディストリビューションの指定
- WSL (Windows Subsystem for Linux)の基本メモ
- Windows で環境を極力汚さずに Python を動かす方法 (WSL 利用 Windows10)
- python コマンドで python3 を実行したい(alias 変更)
- wsl ランチャー : コマンドプロンプトで wsl と入力しても起動できる
-
- vim ~/.bashrc
- python on Windows 側の alias コメント反映 (下記の設定コードをコピペ)
- source ~/.bashrc
# alias pip='pip3' ##### python on Windows alias pip='/mnt/c/Python/Python37/Scripts/pip.exe' alias pipenv='/mnt/c/Python/Python37/Scripts/pipenv.exe' alias python='/mnt/c/Python/Python37/python.exe' # WSLの環境変数をexportで設定しても python.exe はWindowsの環境変数を参照するため、 # この方法の使い道はあまりない
- Git for Windows インストール
- TortoiseGit セットアップ
- Git の設定確認
git config --global -l
- Git の設定した値を削除
git config --global --unset core.sshcommand
-
インストール済み拡張機能一覧表示
code --list-extensions | xargs -L 1 echo code --install-extension
-
Markdown をプレビューするには?
[プレビュー のセキュリティ設定を変更]:VS Code では安全でないコンテンツ(HTTPS を使用していない外部サイトにある画像ファイルへのリンク、スクリプトなど)を表示しないようになっているので、この設定を変更する。 -
- setting.json を編集
"python.linting.pylintArgs": ["--extension-pkg-whitelist=cv2"]
を追加
"python.linting.pylintEnabled": false
で OK
- setting.json を編集
-
VSCode インテリセンスが効かないときは、setting.json を編集する
-
外部モジュールのパス指定
-
インテリセンスエンジン(jedi)を False にする
{ "python.autoComplete.extraPaths": [ "c:/python/python37/lib/site-packages/" ], "python.jediEnabled": false }
-
-
不要な snippet の無効化
- 方法 1
- 拡張機能
python extended
を無効化する
- 拡張機能
- 方法 2
- 拡張機能
Control Snippets
をインストール - コマンドパレットに control snippet と入力
- python extended をオフ
- 拡張機能
- 方法 1
- WSL / VirtualBox の linux 環境では GPU サポートしてない! (2020.04.01 時点)
- CPU 利用のみの linux 実行環境のアプリ開発をする場合は、
あると便利なので以下に情報を残しておく - Remote Development を快適に使う トラブルシュート編
- Remote Development を使って SSH 接続した EC2 上のファイルを編集
- VSCode の Remote WSL で WSL を快適に使う
- WSL ターミナルで編集したい dir に移動 ⇒
code .
入力 ⇒vscode 起動 - vscode->拡張機能->WSL:UBUNTU-18.04 が増えている
- LOCAL 側で install を促されている拡張機能を install->vscode 再起動
- vscode->拡張機能->WSL:UBUNTU-18.04 に色々 install 済になる
- WSL ターミナルで編集したい dir に移動 ⇒
- ColorTool を使ってコンソールを見やすくする
- バッチ(.bat)をダブルクリックで実行後、ウィンドウを閉じないようにする
- vscode のターミナルで自動コピーする方法
- WSL でマウス操作でコピー&ペーストする方法
-
インストール方法
- Microsoft Store から、Windows Terminal をインストール
-
カレントディレクトリで起動する方法
- アドレスバーに
wt -d .
を入力
- アドレスバーに
-
ws に Git Bash を追加する方法
- ココ を参照
C:\\Program Files\\Git\\bin\\bash.exe --login -i
で色表示が可能
-
画面分割 分割方向 | ショートカット ---------|----------|--------- 右側に新しいペイン | [Alt]+[Shift]+[+]キー 下側に新しいペイン | [Alt]+[Shift]+[-]キー
-
WS の設定 (setting.json)
- 以下、デフォルトから追加した情報
// Global "initialCols": 100, "initialRows": 25, "profiles": { "defaults": { "fontSize": 9 }, "list": [ { "name": "Windows PowerShell", "colorScheme": "Campbell Powershell" }, { "name": "コマンド プロンプト", "colorScheme": "Campbell" }, { "name": "Ubuntu-18.04", "colorScheme": "Ubuntu" }, { "guid": "{db9c05bb-a391-4798-8bfc-3e14fbd74f4d}", "name": "Git Bash", "acrylicOpacity": 0.5, "closeOnExit": true, "colorScheme": "Campbell", "commandline": "C:\\Program Files\\Git\\bin\\bash.exe --login -i", "cursorColor": "#FFFFFF", "cursorShape": "bar", "fontFace": "consolas", "historySize": 9001, "icon": "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico", "padding": "0, 0, 0, 0", "snapOnInput": true, "startingDirectory": "%USERPROFILE%", "useAcrylic": true }, ] }, "schemes": [ { // Ubuntu-like "name": "Ubuntu", "background": "#322931", "foreground": "#B9B5B8", "black": "#322931", "blue": "#1290BF", "brightBlack": "#797379", "brightBlue": "#1290BF", "brightCyan": "#149B93", "brightGreen": "#8FC13E", "brightPurple": "#C85E7C", "brightRed": "#DD464C", "brightWhite": "#FFFFFF", "brightYellow": "#FDCC59", "cyan": "#149B93", "green": "#8FC13E", "purple": "#C85E7C", "red": "#DD464C", "white": "#B9B5B8", "yellow": "#FDCC59" } ] }
- 初期設定
- 長いクエリ文を "&" で改行する方法
- 置換ウインドウを開く(Ctrl + r)
- 置換後の文字を「\r\n」にする。正規表現にチェックを付ける。
- Windows10 だけが、共有フォルダにアクセスできない原因と対処法
- エクスプローラの詳細表示を変更
- WSL 起動のショートカット
「Shift+右クリック」⇒「Linux シェルをここに開く」
- 右クリックの重いメニューを調べるには CCleaner を使用する
- OneDrive のメニュー非表示
- レジストリで非表示にする
- SendTo フォルダにショートカットを作成
sendto の場所 :C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\SendTo
- JSON 整形ツール
- Windows に install
- Linux に install
- 使い方
- iPad でリモデス App から windows を操作する時に便利
- [表示方法]:タスクバー右クリック -> タッチキーボードボタンを表示
- [基本設定]:以下の機能をオン
- 「タブレットモードでなく、キーボードが接続されていない場合に、タッチキーボードを表示する」
- 多言語ヒント -> ヒントを表示する
- WSL2 は正式リリース前なので、導入すると Windows が不安定になる可能性があります。(2020/4/1)
- WSL2 と Hyper-V の関係
- WSL2 インストール
-
ffmpeg
-
ScreenToGif
-
AGDRec
- "MailStore"アプリを使って、pst ファイルを作成する
- MailStore App の使い方
- 準備
- Bios 設定変更
- 高速スタートアップ:無効化
- セキュアブート:無効化
- Rufus で LiveUSB 作成
- Bios 設定変更
- 構築手順
- Windows 側で事前にパーティション操作はしないこと!
- 最初にやること
- ディレクトリを英語表記にする
- コマンドラインにおいてカレントディレクトリ名のみを表示
- GRUB の起動順序の変更方法
- ソフトウェアとアップデート
-
以下のコマンドを実行し、GPG 鍵とレポジトリを追加
Ubuntu 20.04 LTS の場合:
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - sudo wget https://www.ubuntulinux.jp/sources.list.d/focal.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo apt update
- Ubuntu デフォルトのリポジトリよりも最新版がリリースされる PPA リポジトリを apt に登録する方法でインストール
- How to Install Python 3.7 on Ubuntu 18.04
-
How to install CUDA on Ubuntu 20.04
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-10-1-local-10.1.243-418.87.00/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda
-
sudo fdisk -l # Device確認 sudo blkid /dev/nvme0n1p3 #UUID, Type確認 sudo vi /etc/fstab # 起動時に読まれるfstabを編集 UUID=***** /media/[username]/Windows ntfs default 0 0 sudo mkdir /media/[username]/Windows # マウントポイント作成 sudo mount /media/[username]/Windows # マウント df -Th |grep /media/[username]/Windows # できたか確認 # マウントできると `/media/[username]/gachan/Windows` で見れる
-
NAS の user,pwd ファイル保存
sudo apt install cifs-utils sudo vi /home/username/.smbcredentials # NASのuser,pwdファイル保存 username=USER password=PASSWORD sudo chmod 400 /home/username/.smbcredentials # 所有者のみreadonly
-
起動時に読まれる fstab を編集
sudo vi /etc/fstab
で開き、以下の一行を追加
//192.168.**.**/data/ /media/[username]/Ls3_data/ cifs credentials=/home/[username]/.smbcredentials,vers=1.0 0 0 # vers=1.0 : 古いbaffalo機器の場合 # vers=3.0 : 共有フォルダの共有元がWindows 10 の場合
-
正しくマウントできるかチェック
sudo mount -a
- baffalo linkstation の場合
sudo mount -t cifs -o username=admin,vers=1.0 //192.168.11.9/data /mnt/ls3_data
- 環境変数にパスを追加
echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
export PATH=/usr/local/bin:$PATH を User/ユーザー名/.bash_profile に書き込んでいます。 - bash の設定を再読み込み
source ~/.bash_profile
- 起動中の Gnome 端末内で export コマンドで PATH 設定すればいい
- 起動中の Gnome 端末内で 反映された PATH 一覧は、
export -p
で確認できる
- (Alt + F2) → r → Enter
ショートカット | 機能 |
---|---|
Super + D | 全てのウィンドウを最小化 |
Ctrl + L | フォルダウィンドウをパス表示に変更 |
Ctrl + Shift + T | ブラウザで最近閉じたタブの復元 |
コマンドパレット上で ReloadWindow | VSCode のリロード |
Ctrl + Shift + I (Linux) | コード整形 |
Shift + Alt + F (Windows) | コード整形 |
- Tweaks ⇒ キーボードとマウス ⇒ 中クリックによる貼り付け OFF
sudo timedatectl set-local-rtc true
sudo apt install -y manpages-ja manpages-ja-dev
man date
日本語になっていたら OK
/var/cache/apt/archives/
にキャッシュされています。このキャッシュをクリアするには、sudo apt clean
を実行します。
- テキストのコピペ
- 参考 HP
- 単語をダブルクリックすると、その単語全体が選択されます。
- 選択したい行をトリプルクリックすると、その行全体が選択されます。
- 参考 HP
- ターミナルのカレントをファイルマネージャーで開く
nautilus -w
'Ricty Diminished'"
sudo apt install tlp
sudo tlp start
- Debian パッケージ管理システムである APT の GUI ツール
sudo apt install synaptic
synaptic
で起動
sudo apt autoclean
sudo apt clean
sudo apt autoremove
sudo apt-get -y install ubuntu-restricted-extras
sudo apt-get install git-all
sudo apt install gimp
-
インストール方法(apt)
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt update sudo apt install google-chrome-stable
-
以下、公式 HP に載っている方法を記載している
sudo apt install apt-transport-https # aptでhttpsアクセスするために必要 # 以下をそのままコピペ sudo curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/Desktop/microsoft.gpg sudo cp ~/Desktop/microsoft.gpg /etc/apt/trusted.gpg.d/ cd / sudo curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list -o microsoft-prod.list cat sources.list.d/microsoft-prod.list # 正しく登録されているか確認 sudo apt update
-
sudo apt update で 以下のような Warning が出た場合の対処法 Warning: ターゲット Packages (main/binary-amd64/Packages) は /etc/apt/sources.list:57 と /etc/apt/sources.list.d/microsoft-prod.list:1 で複数回設定されています
/etc/apt/source.list.d/microsoft-prod.list
を残す/etc/apt/source.list
側の microsoft**** の 2 行を vi で削除sudo apt update
で正しいか確認
/etc/apt/sources.list.d
-
先に、上記の microsoft リポジトリの apt に登録しておくこと
-
公式 HP に載っている方法で apt でインストールするのが良い
-
何をやっているか知りたい場合は、こちらの投稿 を見るとよい
# マイクロソフトのリポジトリを登録する sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' # インストール sudo apt install code # codeのバージョン表示 apt list code
- snap 版は日本語入力ができないので、atom や vscode は apt でインストールしたほうが良い
- snap 版をインストールしたパッケージ一覧
snap list
- Git_for_Linux インストール
- Git_for_Linux コマンド早見表
- よくやる操作一例
ssh github
git clone [email protected]:karupagyu/tips.git
tips リポジトリ内にディレクトリ移動
git pull
git fetch
git add [file]
コード編集。MarkdownLint の警告がないように書く。
git diff
git commit -a
git push
-
準備
-
iphone 側 : アプリをインストール
-
ubuntu 側 : このページの install 手順に従ってインストール
sudo apt install linux-headers-`uname -r` # `uname -r` : 現在のカーネルバージョンを返すコマンドが実行されます。
-
-
接続
-
iphone 側 : アプリを起動
-
ubuntu 側 : Terminal で
droidcam
と入力 → Phone IP, Port を入力Found driver: /dev/video4 (fd:12) connecting to 192.168.11.11:4747
このような表示が出る。
この場合、camno=4 なので、cv2.VideoCapture(4) で画像取得できる
-
sudo apt install v4l-utils
v4l2-ctl --list-devices
-
必要になったときのために、設定方法を残しておく
sudo apt install update-alternatives which update-alternatives echo export PATH='/usr/bin/update-alternatives:$PATH' >> ~/.bash_profile echo $PATH source ~/.bash_profile
- apt-get でパッケージをアンインストール
sudo apt-get install [パッケージ名]
sudo apt-get remove [パッケージ名] # 設定ファイルを残す場合
sudo apt-get --purge remove [パッケージ名] # 設定ファイル&依存関係にあるパッケージも完全に削除する場合
-
pip インストールしたパッケージの場所を調べる
pip show [パッケージ名]
Windows は WSL で使える。
- [-P]で保存先指定して取得:
wget -P [savedir] [http://***]
- wget でこういう時はこうする!!
iwconfig
sudo arp-scan -l --interface wlp62s0
- pipenv より venv を使う方がいいかも
- Python で Pipenv を使う
- pipenv で Locking が終わらないときの対処法
- Pipfile.lock を生成しないで仮想環境にパッケージインストール
pipenv install --skip-lock
- Pipfile.lock を生成しないで仮想環境にパッケージインストール
-
python のバージョンを複数インストールした場合
python
と入力した時のバージョンは、環境変数で上位に書いた バージョンになります。- 環境変数にパスを通す python バージョンは、よく使う方を設定するか、パスを設定しないほうがいいでしょう。
-
venv の使用法
c/users/[usrname]/.virtualenvs
に py35env などの仮想環境を作っておくと、vscode で実行環境のリストに出てくるため便利です。
# 1. 仮想環境の作成場所 cd c/users/[usrname]/.virtualenvs # 2. バージョン指定した仮想環境の作成 py -3.5 -m venv py35env py -3.7 -m venv py37env # 3.1. 仮想環境の使用 source /c/Python/py35env/Scripts/activate # 3. 2. vscodeでデバッグする場合: # vscodeのステータスバーから環境選択 -> F5 デバッグ開始 # 4. 仮想環境の終了 deactivate
-
jQuery 簡単
- 2つの利用方法
- ダウンロードしたファイルを読み込む
- CDN を使用して読み込む
- 2つの利用方法
-
React 本格的
-
Web 制作者のためのおすすめ Chrome 拡張 15
で検索
- PyQt (パイキュート) : Qt という C++の GUI ツールキットを Python で使えるようにしたもの
-
labelingImg
- Annotation ツール比較:labelImg と VoTT
- 動画は vott がよい yolo 形式にするのが大変?
- return 文でそのまま値を返す関数を作ったとします。一度に大きなリストが返ってくるような関数だと、たくさんのメモリを一度に消費してしまうことになります。
- そのようなときは、yield を使う事でその莫大な量の戻り値を小分けにして返すことが出来ます。これによって関数の実行をその都度中断し、少量ずつデータを返す事でメモリの消費量を抑えることが出来るようになります。
- vscode 拡張機能(Live Server / Live Sass Complier)
- scss ファイルを live sass complier でコンパイルすると css が自動的に作られる
- scss は css よりもわかりやすく記述できるが、sccs の記述方法を追加で覚えないといけない
-
使用例
r = requests.get(url) soup= BeautifulSoup(r.text,"html.parser") soup.select('.tile')[0].string
- パスの書き方色々
- Python で import の対象ディレクトリのパスを確認・追加
- カレントディレクトリを import 対象に追加(コードの先頭に書く)
sys.path.append(os.getcwd())
- 実行 ⇒ 構成を開く ⇒ launch.json が開く
- 定義済み変数を使うと、楽にパスを設定できる
このページ内 の引用元 vscode 公式ページに詳しく書かれている Ctrl + Space
で設定可能な属性候補を表示
"configurations": [
{
//アクティブなファイルを実行する
"program": "${file}",
// 実行時のカレントディレクトリを変更する
"cwd": "${workspaceFolder}/hogedir/hogedir",
// オプション引数を設定する
"args": [ "--modelpath", "******.pth", "--config", "*****.json" ]
}
]
- ソースコードの記述に対し、警告を行う静的解析処理のこと
- 言語毎にツールがある
- python は、pylint > pep8(ぺぺエイト) > flake8 (左ほど警告ルールが厳しい)
- vscode は、python 拡張機能をインストールしたら pylint が入る
- pylint のメッセージを抑制する
- 書き方
- Qiita のマークダウン記法は、標準の Markdown Preview で確認
- Github のマークダウン記法は、Markdown Preview Enhanced で確認
- vscode の拡張機能 Markdownlint を使おう。書き方を自然と覚えます。
- 無視させたい警告は、 setting.json に下記例のように編集する
"markdownlint.config": {
"single-title" : false
},
- コーディング規約 (PEP8)
- コード解析ツール
- 静的解析: flake8、自動整形: autopep8
- Docstring
- Google スタイル --> Sphinx で ドキュメント生成
- vscode Docstring """ を入力でスケルトン生成される
- 型ヒント
- 関数アノテーション
- 関数の引数に型指定しておくと、補完が効く
- mypy
-
setting.json を編集
{ ////////////// Font.. ////////////// "window.zoomLevel": 0, "files.eol": "\n", // デフォルト改行コード LF "editor.renderLineHighlight": "all", // "workbench.iconTheme": "vscode-icons", "workbench.editor.tabSizing": "shrink", "editor.fontSize": 12.5, "editor.fontFamily": "Consolas, Meiryo, 'Courier New', monospace", // "editor.fontFamily": "Source Han Code ", // "editor.fontFamily": "MeiryoKe_Gothic", // "editor.fontFamily": "Ricty Diminished", // "editor.fontFamily": "Source Han Code JP", // "editor.fontWeight": "300", // "editor.fontFamily": "Iosevka Medium, Migu 1M", ////////////// Indent, Spaces, Colors ////////////// "trailing-spaces.showStatusBarMessage": false, "trailing-spaces.includeEmptyLines": false, "trailing-spaces.logLevel": "log", "indentRainbow.errorColor": "rgba(128,32,32,0.4)", "editor.renderIndentGuides": false, ////////////// HTML ////////////// "[html]": { "editor.defaultFormatter": "HookyQR.beautify", "editor.tabSize": 2, "editor.suggest.insertMode": "replace" }, "html.format.enable": false, "html.format.wrapAttributes": "auto", "html.format.wrapLineLength": 140, "html.format.contentUnformatted": "pre,code,textarea", "html.format.endWithNewline": false, "html.format.extraLiners": "head, body, /html", "html.format.indentHandlebars": false, "html.format.indentInnerHtml": false, "html.format.maxPreserveNewLines": null, "html.format.preserveNewLines": true, "html.format.unformatted": "wbr", "liveServer.settings.CustomBrowser": "chrome", "liveServer.settings.donotShowInfoMsg": true, "liveServer.settings.donotVerifyTags": true, ////////////// JS ////////////// "[javascript]": { "editor.defaultFormatter": "HookyQR.beautify", "editor.suggest.insertMode": "replace" }, ////////////// Markdown ////////////// "markdownlint.config": { "single-title": true, //"ol-prefix" : false "MD001": false, "MD025": false }, "[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "markdownShortcuts.icons.image": true, "markdownShortcuts.icons.link": true, "instantmarkdown.autoOpenBrowser": false, "markdown.preview.fontSize": 10, "markdown.preview.fontFamily": "-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', 'Ubuntu', 'Droid Sans', sans-serif, 'Ricty Diminished'", "files.autoSave": "off", ////////////// Terminal ////////////// // Terminal (on Windows) "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe", "terminal.integrated.automationShell.linux": "", "terminal.integrated.automationShell.windows": "", "terminal.integrated.fontSize": 13, "terminal.integrated.fontFamily": "Consolas, Meiryo, 'Courier New', monospace", // Terminal (on Linux) // "terminal.integrated.shell.linux": "/usr/bin/bash", ////////////// Select a color theme ////////////// // https://glitchbone.github.io/vscode-base16-term/ // [Theme Name: Hopscotch] "workbench.colorCustomizations": { "terminal.background": "#322931", "terminal.foreground": "#B9B5B8", "terminalCursor.background": "#B9B5B8", "terminalCursor.foreground": "#B9B5B8", "terminal.ansiBlack": "#322931", "terminal.ansiBlue": "#1290BF", "terminal.ansiBrightBlack": "#797379", "terminal.ansiBrightBlue": "#1290BF", "terminal.ansiBrightCyan": "#149B93", "terminal.ansiBrightGreen": "#8FC13E", "terminal.ansiBrightMagenta": "#C85E7C", "terminal.ansiBrightRed": "#DD464C", "terminal.ansiBrightWhite": "#FFFFFF", "terminal.ansiBrightYellow": "#FDCC59", "terminal.ansiCyan": "#149B93", "terminal.ansiGreen": "#8FC13E", "terminal.ansiMagenta": "#C85E7C", "terminal.ansiRed": "#DD464C", "terminal.ansiWhite": "#B9B5B8", "terminal.ansiYellow": "#FDCC59" }, ////////////// 非表示にするファイル ////////////// "files.exclude": { "**/__pycache__": true, "**/.git": true, "**/.DS_Store": true, "**/*.pyc": true, "**/bin": true, "**/*.o": true, "**/*.obj": true, "**/*.ilk": true, "**/*.pdb": true, "**/*.tlog": true, "**/*.idb": true, "**/*.dll": true }, ////////////// Intellisense ////////////// // "python.analysis.typeCheckingMode": "basic", // "python.jediEnabled": false, "python.languageServer": "Microsoft", // Noneだとインテリセンスが効かなくなる "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", "editor.suggestSelection": "recentlyUsedByPrefix", "editor.snippetSuggestions": "bottom", // Snippets "[python]": { "editor.suggest.insertMode": "replace" }, ////////////// Linting ////////////// "python.linting.enabled": true, "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, "python.linting.lintOnSave": true, "editor.formatOnType": true, "editor.formatOnSave": true, // ショートカットを使いましょう ==> Shift + Alt + F (Windows) "editor.rulers": [100, 120], // 100,120列目に縦線を入れる "path-autocomplete.extensionOnImport": true, "python.dataScience.sendSelectionToInteractiveWindow": true, "vsintellicode.sql.completionsEnabled": false, ////////////// Linting. pylint ////////////// "python.linting.pylintArgs": [ "--disable", "W0621,C0111,C0103", // "--indent-string=\" \"", // "--indent-after-paren=\" \"", "--extension-pkg-whitelist", "numpy", "--generated-members", "torch.*", "--extension-pkg-whitelist=cv2" // cv2インテリセンスを有効化するため ], ////////////// Linting. flake8 ////////////// "python.linting.flake8Args": [ //"--ignore=E501", "--max-line-length=120", "--ignore=E402,E266,W504" ], "python.formatting.autopep8Args": ["--ignore=E501,E402"], ////////////// Linting. mypy ////////////// "python.linting.mypyEnabled": false, "python.linting.mypyArgs": [ "--ignore-missing-imports", "--follow-imports=silent", "--show-column-numbers", "--cache-dir=/home/gachan/.cache/mypy_cache" // 設定しない場合、プロジェクト毎にキャッシュが生成される ], ////////////// Project ////////////// "projectManager.git.baseFolders": ["C:/local"], ////////////// Microsoft ////////////// "telemetry.enableTelemetry": false, "telemetry.enableCrashReporter": false, ////////////// Live Share Code ////////////// "liveshare.presence": false }
- コメントにメタデータを付加するもの
- コードの欠陥がわかりやすくなる
# TODO: 変数aがNoneの時、呼び出すときにエラーを吐くことの対応
-
よく使われる記法と意味
記法 意味 TODO: あとで追加、修正するべき機能がある。 FIXME: 既知の不具合があるコード。修正が必要。 HACK: あまりきれいじゃないコード。リファクタリングが必要。 XXX: 危険!動くけどなぜうごくかわからない。 REVIEW: 意図した通りに動くか、見直す必要がある。 OPTIMIZE: 無駄が多く、ボトルネックになっている。 CHANGED: コードをどのように変更したか。 NOTE: なぜ、こうなったという情報を残す。 WARNING: 注意が必要。
- vscode コマンドパレットで起動
Python: Create Blank New Jupyter Notebook
-
ここで ジェネレーター関数が複数の結果を順番に返すことができることがわかります。Flask は、ジェネレーター関数のこの特性を使用してストリーミングを実装します。
-
Live Streaming コード解説
-
これからは fastapi ?
-
flask の起動
http://127.0.0.1:5000/
だとローカル PC からしか接続できない--host=0.0.0.0
だと、同じネットワーク内の全ての PC で Listen することができます。
-
flask を HTTPS 化する
- 公式
- Firefox で動くが chorme で動かない場合、chrome に
chrome://flags/
と入力し必要な機能を Enable にする - アプリがカメラとマイクへのアクセスを可能にする JavaScript API(getUserMedia)
pip install -U msgpack-python
pip install msgpack-numpy
- 基本的な画像処理関数を OpenCV の関数を組み合わせて作られたモジュール
- 使い方
- web サーバー
- Node.js のパッケージを管理するもの。Node Package Manager の略
- JavaScript は本来クライアントサイドで動く言語で HTML で書かれたページに動きをつけたりするのに対して、Node.js はサーバサイドで動く JavaScript である。
- 非同期型のイベント駆動の JavaScript 環境で、たくさんの接続を同時に処理することができます。
- JavaScript で書かれたライブラリ。react.js をインクルードして使う。 (MVC で言うところの)View のみを担当する。
- JavaScript のコード中に(PHP の様に)「HTML タグ(っぽいもの)」を書ける。
- クラウド上のサーバの一種 です。
- 簡単にサーバをたてられて、Web サイトを作れます。
- 厳密には、PaaS(Platform as a Service: アプリケーションを実行するためのプラットフォームをインターネットを介して提供するサービス)の一種です。
- サーバや OS、データベースなどのプラットフォームを、インターネットを介して利用することができます。
- heroku の一番良いところは、ほぼ 無料 で使える点です。
- プライベートで利用する分には無料プランで十分済むので、自分はプライベートでよく使っています。
- Heroku を使いこなす術
- 参考元
- インターネットと Web サーバーの間に設置
- インターネットからは、あたかも Web サーバーに直接アクセスしているかようになります。
- Web サーバーを複数設置可能
- 複数ある Web サーバーをリバースプロキシが振り分けるため、各 Web サーバーの負担が軽くなり、安定したサービスを継続して提供できます。
- 防御壁(ファイアウォール)として機能する
- インターネットと Web サーバーの間に設置
- コンソールにプログレスバー表示できる python パッケージ
- GUI を HTML/CSS/JavaScript の WEB 技術で作ることができる Python の GUI ライブラリ
- Electron ライクな GUI ライブラリで、Numpy や Pandas などデータ処理に秀でている
-
WebSocket 通信とは
- コンピュータネットワーク用のプロトコルのひとつで、リアルタイムかつ双方向な通信を実現するためのプロトコルです。
- コネクション確立時に従来の HTTP 通信から WebSocket へのプロトコルの upgrade を要求し、1 度コネクションが確立されると、「ws://」あるいは「wss://」から始まる URI スキーム上でクライアント・サーバ間のデータのやりとりを連続して行うことができます。
-
HTTP 通信との違い
- HTTP 通信がリクエストを出す度に新しくコネクションを確立しなければならないのに対し、WebSocket 通信は一度コネクションを確立させると、クライアント・サーバ間のデータのやり取りを連続して行うことができます。
- また、HTTP よりも軽量なヘッダを扱うことから、通信コストが低く、よりリアルタイム性の高いプロトコルであると言えます。
- そのため、利用例としては、複数の人と同時に対戦するゲームや SNS などリアルタイム性が求められるアプリケーションに多く見られます。
-
WebSocket のわかりやすい説明
- 参考元
- Python で Web アプリケーションと Web サーバーを接続する際に考案されたインターフェース定義
- Python の Web フレームワークごとに、サーバーと接続するためのインターフェースが異なっていたため、接続できるサーバーが制限されるという事態が生じてしまった
- インターフェースを統一して、どのフレームワークでも同じように各種サーバーに接続できるようにしよう、ということで生まれたのが WSGI
- flask にも使われている非常にシンプルな WSGI ユーティリティライブラリ
- WSGI に準拠したアプリケーションを簡単に作ることができる
public repogitory なら wiki が使える
10GB まで無料
- 100 マス計算 ⇒ 複合参照 を使う
例)
=$A2+B$1
- " "で囲むキーワードは、必ず検索結果に含まれる
code --install-extension alefragnani.Bookmarks
code --install-extension alefragnani.project-manager
code --install-extension austin.code-gnu-global
code --install-extension bierner.markdown-preview-github-styles
code --install-extension christian-kohler.path-intellisense
code --install-extension codezombiech.gitignore
code --install-extension CoenraadS.bracket-pair-colorizer
code --install-extension CoenraadS.bracket-pair-colorizer-2
code --install-extension DavidAnson.vscode-markdownlint
code --install-extension dbaeumer.vscode-eslint
code --install-extension dbankier.vscode-instant-markdown
code --install-extension donjayamanne.githistory
code --install-extension eamodio.gitlens
code --install-extension esbenp.prettier-vscode
code --install-extension felipecaputo.git-project-manager
code --install-extension giflens.giflens
code --install-extension HookyQR.beautify
code --install-extension IBM.output-colorizer
code --install-extension ionutvmi.path-autocomplete
code --install-extension KevinRose.vsc-python-indent
code --install-extension kisstkondoros.vscode-gutter-preview
code --install-extension mdickin.markdown-shortcuts
code --install-extension mechatroner.rainbow-csv
code --install-extension mhutchie.git-graph
code --install-extension MS-CEINTL.vscode-language-pack-ja
code --install-extension ms-python.python
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-vscode-remote.remote-ssh-edit
code --install-extension ms-vscode-remote.remote-wsl
code --install-extension ms-vscode-remote.vscode-remote-extensionpack
code --install-extension ms-vscode.cpptools
code --install-extension njpwerner.autodocstring
code --install-extension oderwat.indent-rainbow
code --install-extension ritwickdey.live-sass
code --install-extension ritwickdey.LiveServer
code --install-extension shardulm94.trailing-spaces
code --install-extension shd101wyy.markdown-preview-enhanced
code --install-extension spywhere.guides
code --install-extension svipas.control-snippets
code --install-extension tushortz.python-extended-snippets
code --install-extension VisualStudioExptTeam.vscodeintellicode
code --install-extension vscode-icons-team.vscode-icons
code --install-extension yzhang.markdown-all-in-one