diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..47d5cac --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,45 @@ +name: Deploy Quartz site to GitHub Pages + +on: + push: + branches: + - v4 + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Fetch all history for git info + - uses: actions/setup-node@v3 + with: + node-version: 18.14 + - name: Install Dependencies + run: npm ci + - name: Build Quartz + run: npx quartz build + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: public + + deploy: + needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2176062 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,24 @@ +{ + "editor.minimap.enabled": false, + "editor.wrappingIndent": "indent", + "editor.overviewRulerBorder": false, + "editor.codeActionsOnSave": { + "source.fixAll.markdownlint": true + }, + "[markdown]": { + "editor.quickSuggestions": { + "comments": "on", + "strings": "on", + "other": "on" + } + }, + "files.defaultLanguage": "markdown", + + "markdownlint.config": { + "default": true, + "MD034": false, + "MD025": false, + "MD018": false + }, + "svn.ignoreMissingSvnWarning": true +} diff --git a/content/.vscode/settings.json b/content/.vscode/settings.json new file mode 100644 index 0000000..2176062 --- /dev/null +++ b/content/.vscode/settings.json @@ -0,0 +1,24 @@ +{ + "editor.minimap.enabled": false, + "editor.wrappingIndent": "indent", + "editor.overviewRulerBorder": false, + "editor.codeActionsOnSave": { + "source.fixAll.markdownlint": true + }, + "[markdown]": { + "editor.quickSuggestions": { + "comments": "on", + "strings": "on", + "other": "on" + } + }, + "files.defaultLanguage": "markdown", + + "markdownlint.config": { + "default": true, + "MD034": false, + "MD025": false, + "MD018": false + }, + "svn.ignoreMissingSvnWarning": true +} diff --git a/content/000000000003 日々のノート追加の流れ.md b/content/000000000003 日々のノート追加の流れ.md new file mode 100644 index 0000000..0e63c31 --- /dev/null +++ b/content/000000000003 日々のノート追加の流れ.md @@ -0,0 +1,18 @@ +## 日々のノート追加の流れ +#meta + + +### その1 なんでもCaptureシステムからの入力 + +[[20240122225308 なんでもCaptureシステム|なんでもCaptureシステム]]で入ってきた内容を整理、まとまったノート的なものが必要なら、抽出してファイルを作成。本当にその場かぎりのものであった場合は実行してしまったら削除。 + +public注: 削除してしまったものは存在しない + +### その2 書籍などのまとまったドキュメントを読んでからのノート作成 + +まず、入手した文献を目録に追加する。202203時点では、この役割をはたしているのはzotero。 +その後、文献を読みすすめるにつれて、学んだことを自分の言葉で記述する[[20240122231010 Literature Notes|Literature Notes]]的なものを書く。 +[[20240122223312 Reference Notes|Reference Notes]]は多くの場合、不要なのではないか?と思ったので一旦作成しないことにする。 + +コピペはできるだけやらない。自分で言語化してからノートにする。 + diff --git a/content/202203082221 zettelkasten ノートの種類について.md b/content/202203082221 zettelkasten ノートの種類について.md new file mode 100644 index 0000000..769644c --- /dev/null +++ b/content/202203082221 zettelkasten ノートの種類について.md @@ -0,0 +1,14 @@ +# 202203082221 zettelkasten ノートの種類について +#zettelkasten + + +[[20240122231403 Fleeting Notes|Fleeting Notes]] + +[[20240122223312 Reference Notes|Reference Notes]] + +[[20240122231010 Literature Notes |Literature Notes]] + +[[20240122231152 Permanent Notes|Permanent Notes]] + + +cf. \ No newline at end of file diff --git a/content/202312061945 capture.md b/content/202312061945 capture.md new file mode 100644 index 0000000..e4c7172 --- /dev/null +++ b/content/202312061945 capture.md @@ -0,0 +1,10 @@ +# 2023120619450000 capture +#capture + +## captureとは +[[20240122225541 org mode|org mode]]の用語かもしれない。あまり一般的ではない可能性がある。 + +[Capture (The Org Manual)](https://orgmode.org/manual/Capture.html) +自分の中の定義は「外部から得た情報を自分のノート環境に取り込む」こと。 + +現状だと、[[20240122225308 なんでもCaptureシステム|なんでもCaptureシステム]]によって色々なことがCaptureされるようになった。 \ No newline at end of file diff --git a/content/20240121121237 pythonで制御工学の学習環境を作る.md b/content/20240121121237 pythonで制御工学の学習環境を作る.md new file mode 100644 index 0000000..88d6400 --- /dev/null +++ b/content/20240121121237 pythonで制御工学の学習環境を作る.md @@ -0,0 +1,49 @@ +# 20240121121237 pythonで制御工学の学習環境を作る +#python #control_theory + +## サポートページ +ここに書いてある通りにやれる場合はそうする: +[『Pythonによる制御工学入門(改訂2版)』サポートページ | Yuki MINAMI](https://y373.sakura.ne.jp/minami/pyctrl) + +## がんばる場合 +そうできない or やりたくない場合、 windowsの人は +"windowsの場合、wsl2上でubuntuを動かし、そこで普通のpythonを使う"がよさそう。 macやlinuxでは、あまり大変ではないかも。 + +Google Colaboratory上で環境を作る場合のうれしくないことは、 +- Notebookを開くたびに、毎回 pip installを動かす必要があり、時間がかかる +- そのworkaroundとして、google driveにpipをインストールする方法があるが、google driveの検索が著しく使いにくくなるため、その方法もとりたくない。 + +Anaconda/Minicondaなどを使う方法は、 20240123 時点ではvscode上でうまく動かない。 condaコマンドによる仮想環境構築が途中で止まってしまうなどした。 + +windowsの普通のpythonを使おうとすると、slycotのインストールがうまくいかない。検索するとうまくいっていない人が沢山でてくる。ここは頑張るところではない。 + +・・・などを試した結果、wsl2上にubuntuをインストール、それをwindows上のvscodeから使用する環境を作った。 + +以下はubuntu上で実行している。 + +[[20240121125457 venv|venv]]を使い学習用環境を作る。 +学習用フォルダを作り、その中で + +``` +python -m venv .venv +code . +``` +vscodeが起動せず、`cannot run .exe files: exec format error` とかエラーが出る場合は +[[20240123115736 wsl2からwindowsのvs codeが起動できない|wsl2からwindowsのvs codeが起動できない]] に書いてある方法で起動するようになる。 + +vscodeが開いたら、 +`Python: Create Terminal` コマンドを実行。自動で.venvが選ばれた環境が起動する。 + +開いたターミナル内で、 +``` +DISPLAY= pip install control slycot matplotlib notebook +``` +DISPLAY変数を無効にする理由は[[20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる|wsl2上でpipを実行すると、ものすごく時間がかかる]]から。 + +`Jupyter: Select Interpreter to Start Jupyter Server` +コマンドを実行。作った.venvの環境を選ぶ。 windows側のpath /mnt/c/... が表示されるけど、そちらではない方を選ぶ。 + +実行すると、`Error loading webview: Error: Could not register service workers:` とかいうダイアログが表示されて起動できない場合は、 [python - Error while opening ipynb notebook in VSCode - Stack Overflow](https://stackoverflow.com/questions/73992851/error-while-opening-ipynb-notebook-in-vscode)これを踏んでいる。 +.ipynbが開けなくなった。Answerの通り、vscodeを再起動したら直る。 + +これで環境構築できた(はず)。 \ No newline at end of file diff --git a/content/20240121125457 venv.md b/content/20240121125457 venv.md new file mode 100644 index 0000000..f7111c4 --- /dev/null +++ b/content/20240121125457 venv.md @@ -0,0 +1,33 @@ +# 20240121125457 venv +#python #venv + +pythonの仮想環境。プロジェクトごとにpythonやライブラリのバージョンを固定できる。 + +[Conda と venv: Python環境構築ガイド - python.jp](https://www.python.jp/install/anaconda/conda_and_venv.html) +> 一般のPythonでも同じように複数の環境を作成して切り替えながら利用できるようになっており、[標準モジュールのvenv](https://docs.python.org/ja/3/tutorial/venv.html) が利用されます。 + +[12. 仮想環境とパッケージ — Python 3.12.1 ドキュメント](https://docs.python.org/ja/3/tutorial/venv.html) +> この問題の解決策は [仮想環境](https://docs.python.org/ja/3/glossary.html#term-virtual-environment) を作ることです。仮想環境とは、特定のバージョンの Python と幾つかの追加パッケージを含んだ Python インストールを構成するディレクトリです。 +> +> 別のアプリケーションはそれぞれ別の仮想環境を使うことができます。先の例にあった要求の衝突を解決する場合、アプリケーションAが固有の仮想環境を持ってそこにライブラリのバージョン 1.0 をインストールし、アプリケーションBが持つ別の仮想環境にライブラリのバージョン 2.0 をインストールすることができます。そしてアプリケーションBがライブラリのバージョンを 3.0 に更新することを要求する場合も、アプリケーションAに影響しません。 +> + + +> 仮想環境を作るには、仮想環境を置くディレクトリを決めて、 そのディレクトリのパスを指定して、 [`venv`](https://docs.python.org/ja/3/library/venv.html#module-venv "venv: Creation of virtual environments.") をスクリプトとして実行します: +> +> `python -m venv tutorial-env` +> +> これは `tutorial-env` ディレクトリがなければ作成して、その中に Python インタプリタ、その他関連するファイルのコピーを含むサブディレクトリを作ります。 +> Windows の場合: +> `tutorial-env\Scripts\activate` +> +> Unix や Mac OS の場合: +> +> `source tutorial-env/bin/activate` +> +> (このスクリプトは bash shell で書かれています。 **csh** や **fish** を利用している場合、代わりに利用できる `activate.csh` と `activate.fish` スクリプトがあります。) +> +> 仮想環境を有効化すると、シェルのプロンプトに利用中の仮想環境が表示されるようになり、`python` を実行するとその仮想環境の Python を実行するようになります: + +この手順、面倒だなと思っていたら、vscodeでは、作成したディレクトリを開き、コマンド`Python: Create Environment`で venvを作成すると自動で認識される。 .venvという名前になる。これがデファクトスタンダードのようだ。作成後、 +`Python: Create Terminal` コマンドを実行すれば、自動で.venvが選ばれた環境が起動する。 diff --git a/content/20240122201309 全体的な書き方の方針.md b/content/20240122201309 全体的な書き方の方針.md new file mode 100644 index 0000000..b5602f1 --- /dev/null +++ b/content/20240122201309 全体的な書き方の方針.md @@ -0,0 +1,53 @@ +# 20240122201309 全体的な書き方の方針 +#meta + +### 内容 + +書いてある内容は、できれば10年後も情報に意味があるように注意。たとえば、URLなどをリンクするだけだと、そのサイトが消滅した場合に何もわからなくなってしまう。本の場合も捨てたり、紛失してしまうことがあるかもしれない。引用は最低限、コピペでよいのでテキストで有用と(少なくとも書いた時には)思ったことを明示するようにする。そのノート単体で読めば、内容が理解できるようになっているのが望ましい。 + +### フォルダ構成 + +完全フラット。階層は作らない。どのようにフォルダで分類しても完全では無いし、フォルダ内のアイテムを移動した場合、画像などのリソースが見つからなくなってしまうことなどがある。という苦労を20年くらいして、もう無理ということになった。私にはフラットにする以上に、スケールできる上、ロバストなものは作れなかった。 + +### ファイル形式 + +plain textとして人間が読むことができれば、どのような種類でもかまわない。ただのtxtでも、orgでも、markdownでも、adocでもよい。200203時点ではmarkdownが、面倒さと記述のバランスが取れていると思っているのでメインで使用している。 + +リンク的なものについては、wikilink記法を使用している。つまり `[[こういうやつ]]`。 +色々なソフトがこのリンクをフォルダ全体から探してきてくれて、破綻することはなさそうだと思っているが、将来問題になってしまう可能性は0ではない。ことはちょっと気になっている。 + +### ファイル名の規則 + +wikilinkを使う都合上、全部のファイルがユニークなファイル名を持っている必要がある。 +そのため、ファイル名にはタイムスタンプを先頭に追加する。 YYYYMMDDHHmmss形式。 これは作成したタイミングのタイムスタンプで、中身を変更してもファイル名は変えない。 + +例: `20240109190207 hogefuga.md` + +### ファイル内容の規則 + +専用ファイルなど一部を除き、metadata/front matterのような、システム依存の内容は書かない。 tagを `#tag` 形式で書くことはOK。 +それ以外は、上述の各マークアップを使って書く。 +画像その他の非テキストのリソースは assets以下にフラットに保存する。 + +1行目の最初のヘッディングはファイル名と同じにする。 +その直下にタグを列挙。 + +ざっくり、ファイルの内容は以下のようになる。 + +```md +# 20240122201909 ものすごいことを発見 +#yatta #sugoi + +## ものすごい +すごいね。 + +![[画像.png]] +## よかった +よかったね。 +``` + +画像のテスト + +![[スクリーンショット 2024-01-22 200139.png | 500]] + +[[000000000003 日々のノート追加の流れ]] diff --git a/content/20240122223312 Reference Notes.md b/content/20240122223312 Reference Notes.md new file mode 100644 index 0000000..a04065a --- /dev/null +++ b/content/20240122223312 Reference Notes.md @@ -0,0 +1,4 @@ +# 20240122223312 Reference Notes +#zettelkasten + +文献やWEBサイトなどの内容のうち、気になったものをそのまま書きうつしたもの。使い捨てと思っていいと思う。捨てない方があとで参照/引用できるから残してるだけで、何かを勉強するときにこれをそのまま使うものではないことに注意。 \ No newline at end of file diff --git a/content/20240122225308 なんでもCaptureシステム.md b/content/20240122225308 なんでもCaptureシステム.md new file mode 100644 index 0000000..7b2be39 --- /dev/null +++ b/content/20240122225308 なんでもCaptureシステム.md @@ -0,0 +1,3 @@ + +# 20240122225308 なんでもCaptureシステム +#capture \ No newline at end of file diff --git a/content/20240122231010 Literature Notes.md b/content/20240122231010 Literature Notes.md new file mode 100644 index 0000000..7bbf89b --- /dev/null +++ b/content/20240122231010 Literature Notes.md @@ -0,0 +1,4 @@ +# 20240122231010 Literature Notes +#zettelkasten + +これを作ることを勉強の基本とする。超重要。文献などで、何を説明しているかを、*自分の言葉* で書く。ここに至ってはコピペは完全に禁止されると思っていい。うまく書けなければ文献の理解が足りていない。 \ No newline at end of file diff --git a/content/20240122231152 Permanent Notes.md b/content/20240122231152 Permanent Notes.md new file mode 100644 index 0000000..7c0f260 --- /dev/null +++ b/content/20240122231152 Permanent Notes.md @@ -0,0 +1,7 @@ +# 20240122231152 Permanent Notes +#zettelkasten + + +これを作ることをアウトプットの基本とする。自分の考えをまとめたもの。自分の考えでなくても、何かの概念について、いくつかの本を読んでまとめてみる時にも便利かもしれない。ここで上記のreference notesを引用したりすることになる。具体例がよくわかっていないが、「斉田式ノートの取り方」とか、「トランジスタ1石での増幅回路の作り方」などはこの種類になりそう。もっと細かいものもここに含まれるかも。fleeting notesに書いた思いつきなども、有用なものについては、詳細を追記するなどして、permanent noteにする。 + +permanent notesの注意点としては、1ページに1topicにするということ。 \ No newline at end of file diff --git a/content/20240122231403 Fleeting Notes.md b/content/20240122231403 Fleeting Notes.md new file mode 100644 index 0000000..ea68b66 --- /dev/null +++ b/content/20240122231403 Fleeting Notes.md @@ -0,0 +1,7 @@ +# 20240122231403 Fleeting Notes +#zettelkasten + +思いつきなどを書きとめたノート、これは脳のワーキングメモリを空けるためや、備忘のために書くもの。 + +使い捨てと思ってもいい。[[000000000003 journal(obsolete)]] と til が基本それに相当していた。 +現状では[[202312061945 capture]] で自動的に追加されるようにしている。 \ No newline at end of file diff --git a/content/20240123115736 wsl2からwindowsのvs codeが起動できない.md b/content/20240123115736 wsl2からwindowsのvs codeが起動できない.md new file mode 100644 index 0000000..a834bd4 --- /dev/null +++ b/content/20240123115736 wsl2からwindowsのvs codeが起動できない.md @@ -0,0 +1,22 @@ +# 20240123115736 wsl2からwindowsのvs codeが起動できない +#wsl2 #wsl #vscode + +[WSL2 (Preview) cannot run .exe files: exec format error: wsl.exe · Issue #8952 · microsoft/WSL · GitHub](https://github.com/microsoft/WSL/issues/8952#issuecomment-1568212651) +``` +sudo sh -c 'echo :WSLInterop:M::MZ::/init:PF > /usr/lib/binfmt.d/WSLInterop.conf' +sudo systemctl restart systemd-binfmt +``` + +次の人のやつも一応やった +``` +sudo sh -c 'echo :WSLInterop:M::MZ::/init:PF > /usr/lib/binfmt.d/WSLInterop.conf' +sudo systemctl unmask systemd-binfmt.service +sudo systemctl restart systemd-binfmt +sudo systemctl mask systemd-binfmt.service +``` + +念の為wslを再起動 +pwshで `wsl --shutdown` + +これでうまくいった。 + diff --git a/content/20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる.md b/content/20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる.md new file mode 100644 index 0000000..33be9b2 --- /dev/null +++ b/content/20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる.md @@ -0,0 +1,8 @@ +# 20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる +#python #wsl2 + +[python - On WSL2 \`pip install virtualenv\` comand hangs for too long - Stack Overflow](https://stackoverflow.com/questions/68016708/on-wsl2-pip-install-virtualenv-comand-hangs-for-too-long/69011313#69011313) + +pipだけの問題か分からないが、上記にあるように、 pipコマンドの前に `DISPLAY=` を追記すると、この問題は解決する。 +例: `DISPLAY= pip install numpy` +何かのバグなのだろうか。謎だけど20240123 時点では発生する。 \ No newline at end of file diff --git a/content/assets/スクリーンショット 2024-01-22 200139.png b/content/assets/スクリーンショット 2024-01-22 200139.png new file mode 100644 index 0000000..b24fb05 Binary files /dev/null and b/content/assets/スクリーンショット 2024-01-22 200139.png differ diff --git a/content/index.md b/content/index.md new file mode 100644 index 0000000..e278d83 --- /dev/null +++ b/content/index.md @@ -0,0 +1,11 @@ +# index + +#index + +kazboのpublic notesにようこそ。 + +## これは何? + +kazboことKazuki Saita/斉田一樹の書きちらかしたメモが堆積したものから、ある程度有用かもしれない内容を、publicに公開しようとしているものです。 + +[[20240122201309 全体的な書き方の方針|全体的な書き方の方針]] diff --git a/content/obsidian_templates_/filename header.md b/content/obsidian_templates_/filename header.md new file mode 100644 index 0000000..d98562a --- /dev/null +++ b/content/obsidian_templates_/filename header.md @@ -0,0 +1 @@ +# <% tp.file.title %> \ No newline at end of file diff --git a/content/obsidian_templates_/timestamp.md b/content/obsidian_templates_/timestamp.md new file mode 100644 index 0000000..9bb0103 --- /dev/null +++ b/content/obsidian_templates_/timestamp.md @@ -0,0 +1 @@ +<% tp.date.now("YYYYMMDDHHmmss") %> \ No newline at end of file