diff --git a/000000000002 メモ ノートの書き方.md b/000000000002 メモ ノートの書き方.md new file mode 100755 index 0000000..b23810e --- /dev/null +++ b/000000000002 メモ ノートの書き方.md @@ -0,0 +1,30 @@ +# 000000000002 メモ、ノートの書き方 + +#howto #zettelkasten #index #moc #notes #memo + +## 全体的な書き方の方針 + +202203の時点で、zettelkasten([[202203082335 zetetlkasten|zetetlkasten]])という手法もしくはその周辺の技法を、自分に使える範囲で取捨選択した方法をベースにしている。 +これまでもさまざまな変遷があったし、これからも変わるだろう。ゆえに、特定の技法を唯一の手法とすることはしないようにする。 +そのため、フォルダ構成などに、できるだけ特定の方法の名称を使わないようにする。zettelkastenとか、orgみたいな名称は使わないことにする。 + +10年後も情報に意味があるように注意。たとえば、URLなどをリンクするだけだと、そのサイトが消滅した場合に何もわからなくなってしまう。本の場合も捨てたり、紛失してしまうことがあるかもしれない。引用はコピペでよいのでテキストで有用(とノートを書いた時に)思ったことを明示するようにする。そのノート単体で読めば内容が理解できるようになっているか、このフォルダを参照すれば必要な情報が漏れなく読めるようにする。これは完全にやるのはむずかしいかもしれない。努力目標。 + +書き方のフォーマットについて、plain textとして読むことができれば、どのような種類でもかまわないことにする。ただのtxtでも、orgでも、markdownでも、adocでもよい。200203時点ではmarkdownが、面倒さと記述のバランスが取れていると思っているのでメインで使用している。 + +リンク的なものについては、wikilink記法を使用している。つまり `[[こういうやつ]]`。 +色々なソフトがこのリンクをフォルダ全体から探してきてくれて、破綻することはなさそうだと思っているが、将来問題になってしまう可能性は0ではない。 + +### ファイル名の規則 +ファイル名はユニークになるように、 YYYYMMDDHHmm でprefixを追加している。 +このため、前述のリンクが破綻してしまうかもしれないリスクは多少減らすことができているかもしれない。wikilinkが使えなくなっても、フォルダ内のどこかに存在することは確実なので、リンクを作りなおすことは可能。 + +例: `20240109190207 hogefuga.md` + + +### ファイル内容の規則 +専用ファイルなど一部を除き、metadata/front matterのようなシステム依存の内容は書かない。 tagを `#tag` 形式で書く以外は採用しない。 + +それ以外はmarkdownの基本的な範囲を使う。 + +[[000000000003 日々のノート追加の流れ]] \ No newline at end of file diff --git a/000000000003 journal(obsolete).md b/000000000003 journal(obsolete).md new file mode 100755 index 0000000..b42262d --- /dev/null +++ b/000000000003 journal(obsolete).md @@ -0,0 +1,12 @@ +# 000000000003 journal(obsolete) + +#howto #obsolete + + +## 20240110120013 jounalは別のvaultに移動することにした。 +これでよかったのかも。 + +### 20240109164324 journalを書くのはやめた。 +#### journalを書くのをやめた理由 +- 内容単位で分かれておらず、後から参照することがむずかしい +- 同様の理由で、メモとしての利用価値が低い。 日記的なものを書きたかったら別の方法を使ったほうがよい(と今は思っている) diff --git a/000000000003 日々のノート追加の流れ.md b/000000000003 日々のノート追加の流れ.md new file mode 100755 index 0000000..e5a6f06 --- /dev/null +++ b/000000000003 日々のノート追加の流れ.md @@ -0,0 +1,18 @@ +## 日々のノート追加の流れ +#meta + + +### その1 なんでもCaptureシステムからの入力 + +[[20240130184342 なんでもCaptureシステム|なんでもCaptureシステム]] で入ってきた内容を整理、まとまったノート的なものが必要なら、抽出してファイルを作成。本当にその場かぎりのものであった場合は実行してしまったら削除。 + +### その2 書籍などのまとまったドキュメントを読んでからのノート作成 + +まず、入手した文献を目録に追加する。202203時点では、この役割をはたしているのはzotero。 +その後、文献を読みすすめるにつれて、学んだことを自分の言葉で記述するLiterature Note的なものを書く。 +Reference noteは多くの場合、不要なのではないか?と思ったので一旦作成しないことにする。 + +本などを読む場合、ハイライトするなどして要点を確認。紙の本の場合は線をひくなどして、電子書籍の場合はハイライトする。pdf, kindle , o'reillyなど、たいていのものはハイライトできそう。webの場合はweava + +ハイライトをコピペするのではなく、かならず、自分で言語化してからノートにする。 + diff --git a/000000000010 フォルダとその使い方.md b/000000000010 フォルダとその使い方.md new file mode 100755 index 0000000..cd0f406 --- /dev/null +++ b/000000000010 フォルダとその使い方.md @@ -0,0 +1,42 @@ +# 000000000010 フォルダとその使い方 + +#index #memo + +## \_Assets: + +  画像、動画、pdfなどのリソースを格納。 + +  public: + +    そのうち公開可能なもの + +## 00_Capture : + +  [[20240122225308 なんでもCaptureシステム|なんでもCaptureシステム]]からの入力がどんどん入ってくるところ。 inbox的なものでもある。 + +## memo: + +  Captureしたり、読書をしたり、調べものをしたりしながら、メモ/ノートをひたすら貯めていくところ。フォルダ分けはしない。 + +  public: + +    唯一のフォルダ。公開可能なもの。 + +## 04_Obsidian_Templates: + +  Obsidianの各種テンプレート + +## old: + +  入れてあるけど未整理のためあまり役にたたない。 + +  整理が必要。 + + +## work: + +  案件ごと、クライアント毎にまとめてある。 + +## Projects: + +  まとまった何かを入れようとしたが、そのようなことはできないので廃止され、memoに統合。 \ No newline at end of file diff --git a/201804221942 djm-450のudevログ.md b/201804221942 djm-450のudevログ.md new file mode 100755 index 0000000..0a78b23 --- /dev/null +++ b/201804221942 djm-450のudevログ.md @@ -0,0 +1,395 @@ +# 201804221942 djm-450のudevログ + +#linux #soft #usb + +``` +KERNEL[513625.384614] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 (usb) +ACTION=add +BUSNUM=001 +DEVNAME=/dev/bus/usb/001/021 +DEVNUM=021 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 +DEVTYPE=usb_device +MAJOR=189 +MINOR=20 +PRODUCT=2b73/13/103 +SEQNUM=2990 +SUBSYSTEM=usb +TYPE=0/0/0 + +KERNEL[513625.384732] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.0 (usb) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.0 +DEVTYPE=usb_interface +INTERFACE=255/0/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00icFFisc00ip00in00 +PRODUCT=2b73/13/103 +SEQNUM=2991 +SUBSYSTEM=usb +TYPE=0/0/0 + +KERNEL[513625.384804] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 (usb) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 +DEVTYPE=usb_interface +INTERFACE=1/1/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc01ip00in01 +PRODUCT=2b73/13/103 +SEQNUM=2992 +SUBSYSTEM=usb +TYPE=0/0/0 + +KERNEL[513625.385076] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 (sound) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 +SEQNUM=2993 +SUBSYSTEM=sound + +KERNEL[513625.386770] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/controlC1 (sound) +ACTION=add +DEVNAME=/dev/snd/controlC1 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/controlC1 +MAJOR=116 +MINOR=8 +SEQNUM=2994 +SUBSYSTEM=sound + +KERNEL[513625.386842] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midiC1D0 (sound) +ACTION=add +DEVNAME=/dev/snd/midiC1D0 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midiC1D0 +MAJOR=116 +MINOR=9 +SEQNUM=2995 +SUBSYSTEM=sound + +KERNEL[513625.386914] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midi1 (sound) +ACTION=add +DEVNAME=/dev/midi1 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midi1 +MAJOR=14 +MINOR=18 +SEQNUM=2996 +SUBSYSTEM=sound + +KERNEL[513625.387025] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/dmmidi1 (sound) +ACTION=add +DEVNAME=/dev/dmmidi1 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/dmmidi1 +MAJOR=14 +MINOR=25 +SEQNUM=2997 +SUBSYSTEM=sound + +KERNEL[513625.387098] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 (snd_seq) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 +SEQNUM=2998 +SUBSYSTEM=snd_seq + +KERNEL[513625.387151] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 (snd_seq) +ACTION=bind +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 +DRIVER=snd_seq_midi +SEQNUM=2999 +SUBSYSTEM=snd_seq + +KERNEL[513625.387238] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 (usb) +ACTION=bind +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/1/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc01ip00in01 +PRODUCT=2b73/13/103 +SEQNUM=3000 +SUBSYSTEM=usb +TYPE=0/0/0 + +KERNEL[513625.387362] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 (usb) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/3/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc03ip00in02 +PRODUCT=2b73/13/103 +SEQNUM=3001 +SUBSYSTEM=usb +TYPE=0/0/0 + +KERNEL[513625.387483] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 (usb) +ACTION=bind +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/3/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc03ip00in02 +PRODUCT=2b73/13/103 +SEQNUM=3002 +SUBSYSTEM=usb +TYPE=0/0/0 + +KERNEL[513625.387608] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 (usb) +ACTION=bind +BUSNUM=001 +DEVNAME=/dev/bus/usb/001/021 +DEVNUM=021 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 +DEVTYPE=usb_device +DRIVER=usb +MAJOR=189 +MINOR=20 +PRODUCT=2b73/13/103 +SEQNUM=3003 +SUBSYSTEM=usb +TYPE=0/0/0 + +UDEV [513625.406495] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 (usb) +ACTION=add +BUSNUM=001 +DEVNAME=/dev/bus/usb/001/021 +DEVNUM=021 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 +DEVTYPE=usb_device +DRIVER=usb +ID_BUS=usb +ID_MODEL=DJM-450 +ID_MODEL_ENC=DJM-450 +ID_MODEL_ID=0013 +ID_REVISION=0103 +ID_SERIAL=Pioneer_DJ_Corporation_DJM-450_RAMP000902JP +ID_SERIAL_SHORT=RAMP000902JP +ID_USB_INTERFACES=:ff0000:010100:010300: +ID_VENDOR=Pioneer_DJ_Corporation +ID_VENDOR_ENC=Pioneer\x20DJ\x20Corporation +ID_VENDOR_ID=2b73 +MAJOR=189 +MINOR=20 +PRODUCT=2b73/13/103 +SEQNUM=2990 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625392472 + +UDEV [513625.408997] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.0 (usb) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.0 +DEVTYPE=usb_interface +INTERFACE=255/0/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00icFFisc00ip00in00 +PRODUCT=2b73/13/103 +SEQNUM=2991 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625408741 +adb_user=yes + +UDEV [513625.410391] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 (usb) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/3/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc03ip00in02 +PRODUCT=2b73/13/103 +SEQNUM=3001 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625410116 +adb_user=yes + +UDEV [513625.410760] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 (usb) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/1/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc01ip00in01 +PRODUCT=2b73/13/103 +SEQNUM=2992 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625410309 +adb_user=yes + +UDEV [513625.411983] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 (sound) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 +ID_FOR_SEAT=sound-pci-0000_00_1a_0-usb-0_1_2_4_4_3_1_1 +ID_PATH=pci-0000:00:1a.0-usb-0:1.2.4.4.3:1.1 +ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_4_4_3_1_1 +SEQNUM=2993 +SUBSYSTEM=sound +SYSTEMD_WANTS=sound.target +TAGS=:seat:systemd: +USEC_INITIALIZED=513625411843 + +UDEV [513625.412162] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 (usb) +ACTION=bind +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.2 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/3/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc03ip00in02 +PRODUCT=2b73/13/103 +SEQNUM=3002 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625410116 +adb_user=yes + +KERNEL[513625.413569] change /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 (sound) +ACTION=change +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 +SEQNUM=3004 +SUBSYSTEM=sound +SYNTH_UUID=0 + +UDEV [513625.414090] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midiC1D0 (sound) +ACTION=add +DEVNAME=/dev/snd/midiC1D0 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midiC1D0 +MAJOR=116 +MINOR=9 +SEQNUM=2995 +SUBSYSTEM=sound +TAGS=:uaccess: +USEC_INITIALIZED=513625413917 + +UDEV [513625.415254] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 (snd_seq) +ACTION=add +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 +DRIVER=snd_seq_midi +SEQNUM=2998 +SUBSYSTEM=snd_seq +USEC_INITIALIZED=513625415197 + +UDEV [513625.415426] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/dmmidi1 (sound) +ACTION=add +DEVNAME=/dev/dmmidi1 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/dmmidi1 +MAJOR=14 +MINOR=25 +SEQNUM=2997 +SUBSYSTEM=sound +TAGS=:uaccess: +USEC_INITIALIZED=513625415261 + +UDEV [513625.415587] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midi1 (sound) +ACTION=add +DEVNAME=/dev/midi1 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/midi1 +MAJOR=14 +MINOR=18 +SEQNUM=2996 +SUBSYSTEM=sound +TAGS=:uaccess: +USEC_INITIALIZED=513625415369 + +UDEV [513625.416940] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 (snd_seq) +ACTION=bind +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/seq-midi-1-0 +DRIVER=snd_seq_midi +SEQNUM=2999 +SUBSYSTEM=snd_seq +USEC_INITIALIZED=513625416894 + +UDEV [513625.417756] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/controlC1 (sound) +ACTION=add +DEVLINKS=/dev/snd/by-path/pci-0000:00:1a.0-usb-0:1.2.4.4.3:1.1 /dev/snd/by-id/usb-Pioneer_DJ_Corporation_DJM-450_RAMP000902JP-01 +DEVNAME=/dev/snd/controlC1 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1/controlC1 +ID_BUS=usb +ID_MODEL=DJM-450 +ID_MODEL_ENC=DJM-450 +ID_MODEL_ID=0013 +ID_PATH=pci-0000:00:1a.0-usb-0:1.2.4.4.3:1.1 +ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_4_4_3_1_1 +ID_REVISION=0103 +ID_SERIAL=Pioneer_DJ_Corporation_DJM-450_RAMP000902JP +ID_SERIAL_SHORT=RAMP000902JP +ID_TYPE=audio +ID_USB_DRIVER=snd-usb-audio +ID_USB_INTERFACES=:ff0000:010100:010300: +ID_USB_INTERFACE_NUM=01 +ID_VENDOR=Pioneer_DJ_Corporation +ID_VENDOR_ENC=Pioneer\x20DJ\x20Corporation +ID_VENDOR_ID=2b73 +MAJOR=116 +MINOR=8 +SEQNUM=2994 +SUBSYSTEM=sound +TAGS=:uaccess: +USEC_INITIALIZED=513625413826 + +UDEV [513625.419410] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 (usb) +ACTION=bind +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1 +DEVTYPE=usb_interface +DRIVER=snd-usb-audio +INTERFACE=1/1/0 +MODALIAS=usb:v2B73p0013d0103dc00dsc00dp00ic01isc01ip00in01 +PRODUCT=2b73/13/103 +SEQNUM=3000 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625410309 +adb_user=yes + +UDEV [513625.421091] bind /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 (usb) +ACTION=bind +BUSNUM=001 +DEVNAME=/dev/bus/usb/001/021 +DEVNUM=021 +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3 +DEVTYPE=usb_device +DRIVER=usb +ID_BUS=usb +ID_MODEL=DJM-450 +ID_MODEL_ENC=DJM-450 +ID_MODEL_ID=0013 +ID_REVISION=0103 +ID_SERIAL=Pioneer_DJ_Corporation_DJM-450_RAMP000902JP +ID_SERIAL_SHORT=RAMP000902JP +ID_USB_INTERFACES=:ff0000:010100:010300: +ID_VENDOR=Pioneer_DJ_Corporation +ID_VENDOR_ENC=Pioneer\x20DJ\x20Corporation +ID_VENDOR_ID=2b73 +MAJOR=189 +MINOR=20 +PRODUCT=2b73/13/103 +SEQNUM=3003 +SUBSYSTEM=usb +TYPE=0/0/0 +USEC_INITIALIZED=513625392472 + +UDEV [513625.422586] change /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 (sound) +ACTION=change +DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4.3/1-1.2.4.4.3:1.1/sound/card1 +ID_BUS=usb +ID_FOR_SEAT=sound-pci-0000_00_1a_0-usb-0_1_2_4_4_3_1_1 +ID_ID=usb-Pioneer_DJ_Corporation_DJM-450_RAMP000902JP-01 +ID_MODEL=DJM-450 +ID_MODEL_ENC=DJM-450 +ID_MODEL_ID=0013 +ID_PATH=pci-0000:00:1a.0-usb-0:1.2.4.4.3:1.1 +ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_4_4_3_1_1 +ID_REVISION=0103 +ID_SERIAL=Pioneer_DJ_Corporation_DJM-450_RAMP000902JP +ID_SERIAL_SHORT=RAMP000902JP +ID_TYPE=audio +ID_USB_DRIVER=snd-usb-audio +ID_USB_INTERFACES=:ff0000:010100:010300: +ID_USB_INTERFACE_NUM=01 +ID_VENDOR=Pioneer_DJ_Corporation +ID_VENDOR_ENC=Pioneer\x20DJ\x20Corporation +ID_VENDOR_ID=2b73 +SEQNUM=3004 +SOUND_INITIALIZED=1 +SUBSYSTEM=sound +SYNTH_UUID=0 +SYSTEMD_WANTS=sound.target +TAGS=:seat:systemd: +USEC_INITIALIZED=513625411843 +``` diff --git a/201806051543 minimal pythonのクロスビルド.md b/201806051543 minimal pythonのクロスビルド.md new file mode 100755 index 0000000..2e46c52 --- /dev/null +++ b/201806051543 minimal pythonのクロスビルド.md @@ -0,0 +1,49 @@ +# 201806051543 minimal pythonのクロスビルド +#python #programming #embedded #linux + +cross compileの方法 +config.siteっていうファイルをつくる + +中身 +ac_cv_file__dev_ptmx=no +ac_cv_file__dev_ptc=no + +```sh + CFLAGS='-Os' CONFIG_SITE=config.site ./configure --build=x86_64-linux-gnu --host=arm-unknown-linux-gnueabihf --disable-ipv6 prefix=`pwd`/build +``` + +とかやると小さめのができるが、stripはしてくれていないみたい。 + +んでmake; make install + +176MiBとかある + +pyc, `__pycache__`を削除 +62MB + +encodingsがないと困ってしまうみたい。ここサイズでかいな。 +などなど、必要なmoduleだけにしていったところ、 + +```shell + $ du -h . + 1.8M ./bin + 40K ./lib/python3.6/encodings + 288K ./lib/python3.6 + 292K ./lib + 2.1M . +``` + +こんくらいまでは減らせた。 + +そこから import socketができるようにした段階 + +```shell + 1.8M ./bin + 40K ./lib/python3.6/encodings + 368K ./lib/python3.6/lib-dynload + 56K ./lib/python3.6/collections + 908K ./lib/python3.6 + 912K ./lib + 2.7M . +``` + diff --git a/201812091402 slimeを動かしているとddskkの変換がうまくいかない.md b/201812091402 slimeを動かしているとddskkの変換がうまくいかない.md new file mode 100755 index 0000000..dd21bf2 --- /dev/null +++ b/201812091402 slimeを動かしているとddskkの変換がうまくいかない.md @@ -0,0 +1,88 @@ +# 201812091402 slimeを動かしているとddskkの変換がうまくいかない + +#slime #emacs #lisp + + +slimeの設定はこんな風にした。 + +```lisp + (require 'slime) + (setq inferior-lisp-program "sbcl") + (slime-setup '(slime-repl slime-fancy slime-banner slime-company)) + (add-hook 'lisp-mode-hook 'smartparens-mode) + (add-hook 'lisp-mode-hook + (lambda () + (set (make-local-variable lisp-indent-function) + 'common-lisp-indent-function))) + (add-to-list 'auto-mode-alist '("\\.lisp\\'" . lisp-mode)) +``` + +それで .lispファイルを開くと、漢字変換ができなくなる。 +M-x describe-key で スペース押すとこんな結果。 + +``` + SPC runs the command slime-autodoc-space (found in + slime-autodoc-mode-map), which is an interactive compiled Lisp + function in ‘slime-autodoc.el’. + + It is bound to SPC. + + (slime-autodoc-space N) + + Like ‘slime-space’ but nicer. +``` + +ということだったので、 + +```lisp + (define-key slime-autodoc-mode-map " " nil) +``` + +を追加。 + +まだだめで、この状態で M-x describe-key で スペース押すとこんな結果。 + +```lisp + SPC runs the command slime-space (found in slime-mode-indirect-map), + which is an interactive compiled Lisp function in ‘slime.el’. + + It is bound to SPC. + + (slime-space N) + + Insert a space and print some relevant information (function arglist). + Designed to be bound to the SPC key. Prefix argument can be used to insert + more than one space. +``` + +じゃあ、ということで + +```lisp + (define-key slime-mode-map " " nil) +``` + + +を追加。 + +・・・で日本語が打てるようになったが、この2つもddskk利用時以外は使いたい。 +とすると日本語変換以外の時は上記の関数を呼びたい。 + +この方のやつなどを参考にしてこうしてみた。 + +```lisp + (define-key slime-autodoc-mode-map " " nil) ; 下のadd-hookで上書きされるので不要 + (define-key slime-mode-map " " nil) + ``` + +```lisp + ;; ddskkが変換中は変換を優先する@slime + (defun slime-space/skk (n) + (interactive "p") + (if (and (boundp 'skk-henkan-mode) skk-henkan-mode) + (skk-insert n) + (slime-autodoc-space n))) + + (add-hook 'slime-autodoc-mode-hook + (lambda () + (define-key slime-autodoc-mode-map " " 'slime-space/skk))) +``` diff --git a/201901010002 ボリュームの金属部分をGNDにつなぐ.md b/201901010002 ボリュームの金属部分をGNDにつなぐ.md new file mode 100755 index 0000000..adaf366 --- /dev/null +++ b/201901010002 ボリュームの金属部分をGNDにつなぐ.md @@ -0,0 +1,7 @@ +# 201901010002 ボリュームの金属部分をGNDにつなぐ +#hard #potentiometer #electronics #noise + + + + +>  ボリュームのつまみの金属部分を「必ず GND へ接続してください!」。 つまみを触るとノイズがでたりしますし、ノイズの原因となります。(入力部分は敏感なのです!) \ No newline at end of file diff --git a/201907231138 定番の電子部品.md b/201907231138 定番の電子部品.md new file mode 100755 index 0000000..f4e9ed5 --- /dev/null +++ b/201907231138 定番の電子部品.md @@ -0,0 +1,47 @@ +# 201907231138 定番の電子部品 + +#hard #parts #electronics + +## オペアンプ + +### 秋月 +とりあえず使っとけ的な場合 LM358 + + +フルスイングしたい時 DIP NJU7043 + + +フルスイング かつ ハイスピードで動かしたい時 OPA2353UA GBW 44MHz + + +### 非秋月 +とりあえず使っとけ的な場合 LMV358 +[LMV358ARZ HTCSEMI | C2928823 - LCSC Electronics](https://www.lcsc.com/product-detail/Operational-Amplifier_HTCSEMI-LMV358ARZ_C2928823.html) +## Nch MOS FET + +2SK4017 + + +## ダイオード + +小信号用 1N4148 + + +## コネクタに対応した電線 + +XH + 適用電線範囲(AWG) 28~22 + +## ブレッドボードの配線 + +オヤイデ +BX-S 0.65mm(単線) + +IEV(インターホン)0.65mm 4芯~10芯 + + + + +## ミニスピーカー +ダイソー +https://jp.daisonet.com/products/4549131578874 diff --git a/202108161203 juce made with juce消すには.md b/202108161203 juce made with juce消すには.md new file mode 100755 index 0000000..22b079f --- /dev/null +++ b/202108161203 juce made with juce消すには.md @@ -0,0 +1,7 @@ +# 202108161203 juce made with juce消すには +#juce #programming + +- jucerでログインして +- JUCE_DISPLAY_SPLASH_SCREEN=0 + +ref: https://forum.juce.com/t/help-needed-i-have-an-indie-license-how-can-i-remove-the-made-with-juce-when-using-cmake/40450/2 \ No newline at end of file diff --git a/202109100000 pacmanでpgp ERRORとなる時.md b/202109100000 pacmanでpgp ERRORとなる時.md new file mode 100755 index 0000000..8457a7f --- /dev/null +++ b/202109100000 pacmanでpgp ERRORとなる時.md @@ -0,0 +1,9 @@ +# 202109100000 pacman/yaourt/yayでpgp ERRORになるとき +#archlinux + +``` +$ gpg --recv-keys +``` + +cf. https://qiita.com/hassiyu/items/041dfec87d87f0c914db + diff --git a/202109221816 シュミットトリガのシュミットさんは誰.md b/202109221816 シュミットトリガのシュミットさんは誰.md new file mode 100755 index 0000000..900aa8f --- /dev/null +++ b/202109221816 シュミットトリガのシュミットさんは誰.md @@ -0,0 +1,7 @@ +# 202109221816 シュミットトリガのシュミットさんは誰 + +#tech #hard #word #electronics + + +- オットー・シュミットさん 1913 - 1998 が発明した。 +- 詳しくは diff --git a/202203082220 zettelkasten ノートの種類について.md b/202203082220 zettelkasten ノートの種類について.md new file mode 100755 index 0000000..1d38277 --- /dev/null +++ b/202203082220 zettelkasten ノートの種類について.md @@ -0,0 +1,15 @@ +# 202203082221 zettelkasten ノートの種類について + +#zettelkasten + + +[[20240122231403 Fleeting Notes|Fleeting Notes]] + +[[20240122223312 Reference Notes|Reference Notes]] + +[[20240122231010 Literature Notes |Literature Notes]] + +[[20240122231152 Permanent Notes|Permanent Notes]] + + +cf. diff --git a/202203082225 zettelkasten のこされている疑問.md b/202203082225 zettelkasten のこされている疑問.md new file mode 100755 index 0000000..56c96ef --- /dev/null +++ b/202203082225 zettelkasten のこされている疑問.md @@ -0,0 +1,11 @@ +# 202203082225 zettelkasten のこされている疑問 + +#zettelkasten + +- literature notes を書いているときに疑問、要調査なことが浮かんでくると思うのだけど、それはイチイチpermanent notesに書くべきものなのだろうか。現状ではliterature noteに `感想` などとして書いている。もしかしたらpermanent notesに書く方がいいのかもしれない。それが何かのアイデアの出発点になるかもしれない。 + +- 技術書を読んだときに、どこまで reference/literatureの区別が必要なのかちょっと疑問。ほぼliterature noteだけでもいいような気がする。 + +- literature notesを1トピック1ノートにするべきか?これは1冊1つのノートにしたい気がする。後で引用したい時にこまるのだろうか? + +- reference noteって本当に必要?literature noteを書きおわったら消してもいいような気がする。 diff --git a/202203082335 zetetlkasten.md b/202203082335 zetetlkasten.md new file mode 100755 index 0000000..f2e408a --- /dev/null +++ b/202203082335 zetetlkasten.md @@ -0,0 +1,30 @@ +# 202203082335 zettelkasten + +202203時点でノートをとるときの基本としている概念がzettelkasten。 + + +[[202203082220 zettelkasten ノートの種類について]] + +[[202203082225 zettelkasten のこされている疑問]] + +## 参考にした文献 + +[[202201231125 TAKE NOTES]] + +## gotchas +[[202203082052 すべてをzettelkastenにする必要はない]] + +zettelkasten.de () + +日本語の説明 + + +Getting Started + + +関係あるような無いような? +[building second brain](https://www.buildingasecondbrain.com/) +値段たかっ + +このmarkdownはzettelkasten的では無いかも。 +もっと短かいやつをポコポコ作るイメージなのでは \ No newline at end of file diff --git a/202307291217 python モジュールを実行した場合に関数が呼べるようにする.md b/202307291217 python モジュールを実行した場合に関数が呼べるようにする.md new file mode 100755 index 0000000..e3fc2cb --- /dev/null +++ b/202307291217 python モジュールを実行した場合に関数が呼べるようにする.md @@ -0,0 +1,12 @@ +# pythonでモジュールファイルを単体で実行したい場合 + +#python + +```py +if __name__ == "__main__": + # ここにやりたいことを書く +``` + +cf. + +[6.1.1. モジュールをスクリプトとして実行する](https://docs.python.org/ja/3/tutorial/modules.html#executing-modules-as-scripts) diff --git a/202308182205 ESP32 Selection Guide.md b/202308182205 ESP32 Selection Guide.md new file mode 100755 index 0000000..603bbf5 --- /dev/null +++ b/202308182205 ESP32 Selection Guide.md @@ -0,0 +1,112 @@ +# 202308182205 ESP32 Selection Guide + + +#ESP32 #electronics #電子工作 + +[[202309031354 ESP32]] +## 202309115時点での結論 + +- WROOM, WROVERとも、末尾のアルファベットが後半の方が、リビジョンが上。チップバグなど修正されているので、そちらを採用。 +- 基本的には、 WROOM32Eを使う。 +- PSRAMが必要なら、 WROVERを使う。 +- RISC-V気になるが、Xtensa Coreを選ぶのが良さそう。 + +cf. + + + +## WROOM-32 WROOM-32D WROOM-32E + + +32, 32Dは NRND Not Recommended for New Designs +32Eを使おう + +32、32Dとの違い + +> 未接続になったピンはSDカードがつながる6つのピンで、すでに内部でSPI Flashがつながっているため、32の時から外部で何かに使うのが非推奨になっていました。 + +## WROOMとWROVERは何が違う? + +WROVERには[[20230915 PSRAM]](疑似SRAM)というものが乗っている。 + +## WROOVER-B WROOVER-E + + +E are newer with rev 3 chips + +## その他気になること + +USB-Serialのオプション + +- CH340C +- CP2102 + +## 秋月で買えそうなやつ + +### ESP32-DevKitC-32E ESP32-WROOM-32E開発ボード 4MB + +推奨。 32Eだし。 +いわゆるESP32、4MB Dual +![](2023-08-18-22-17-38.png) + + +MCU +• ESP32-D0WD-V3 embedded, Xtensa® dual-core 32-bit LX6 microprocessor, up to 240 MHz +• 448 KB ROM for booting and core functions +• 520 KB SRAM for data and instructions +• 16 KB SRAM in RT + +## ESP32-DevKitC-VE ESP32-WROVER-E開発ボード 8MB + +![](2023-08-18-22-16-31.png) + + +## ESP-WROOM-32D開発ボード + +![](2023-08-18-22-15-52.png) + +テクノよしださんはこれを使っているとのこと。 + +ESP32-WROOM-32とESP32-WROOM-32Dの違いを教えてください。 + + +> ESP32-WROOM-32[M-11647]とESP32-WROOM-32D[M-13318]では、 電気的、ソフトウェア的、ファームウェア的、無線プロファイル的な技術仕様に変更はありません。 変更点は、下記4点です。 +> +> ① SoC(ESP32チップ)のパッケージサイズが変更になりました。 +> ESP32-WROOM-32: QFN 6x6 +> ESP32-WROOM-32D: QFN 5x5 +> ② 面実装部品(抵抗とコンデンサ)のパッケージサイズが変更になりました。 +> ESP32-WROOM-32Dでは、小型サイズの部品が使用されています。 +> ③ アンテナパターンが変更されました。 +> ESP32-WROOM-32Dでは、パターンが太くなっています。 +> ④ 工事設計認証(技適)番号が変更になりました。 +> ESP32-WROOM-32: 211-161007 +> ESP32-WROOM-32D: 211-171102 + +ESP32-S3-DevKitC-1 +![](2023-08-18-22-15-01.png) + + +ESP32-C6-DevKitC-1。 +![](2023-08-18-22-14-24.png)![](2023-08-18-22-14-27.png) + +入手性はあまりよくなさそう。 + + +## Ali + +### 1個38ピンタイプ-cesp32 ESP-WROOM-32 cp2102開発ボード2.4ghzデュアルコア + +NRND(Not Recommended for New Designs) + + +## Platform IO + +wroom32の各リビジョン、wroover、どれでも下記でいけるのではないか?(要検証) + +```.ini +[env:esp32dev] +platform = espressif32 +board = esp32dev +framework = arduino +``` diff --git a/202309031354 ESP32.md b/202309031354 ESP32.md new file mode 100755 index 0000000..e4513f1 --- /dev/null +++ b/202309031354 ESP32.md @@ -0,0 +1,12 @@ +# 202309031354 ESP32 + +#ESP32 + + +[[202308182205 ESP32 Selection Guide |202308182205 ESP32 Selection Guide]] + +ssciのtracが役に立つ。どのピンがどのように使えるかなど + + +ADCについての説明 + diff --git a/202312061945 capture.md b/202312061945 capture.md new file mode 100755 index 0000000..98cc6a2 --- /dev/null +++ b/202312061945 capture.md @@ -0,0 +1,10 @@ +# 2023120619450000 capture +#capture + +## captureとは +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/20240121121237 pythonで制御工学の学習環境を作る.md b/20240121121237 pythonで制御工学の学習環境を作る.md new file mode 100755 index 0000000..e4f843f --- /dev/null +++ b/20240121121237 pythonで制御工学の学習環境を作る.md @@ -0,0 +1,45 @@ +# 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/20240121125457 venv.md b/20240121125457 venv.md new file mode 100755 index 0000000..f7111c4 --- /dev/null +++ b/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/20240122201309 全体的な書き方の方針.md b/20240122201309 全体的な書き方の方針.md new file mode 100755 index 0000000..2e988a9 --- /dev/null +++ b/20240122201309 全体的な書き方の方針.md @@ -0,0 +1,54 @@ +# 20240122201309 全体的な書き方の方針 +#meta + +### 内容 + +書いてある内容は、できれば10年後も情報に意味があるように注意。たとえば、URLなどをリンクするだけだと、そのサイトが消滅した場合に何もわからなくなってしまう。本の場合も捨てたり、紛失してしまうことがあるかもしれない。引用は最低限、コピペでよいのでテキストで有用と(少なくとも書いた時には)思ったことを明示するようにする。そのノート単体で読めば、内容が理解できるようになっているのが望ましい。 + +### フォルダ構成 + +完全フラット。階層は作らない。どのようにフォルダで分類しても完全では無いし、フォルダ内のアイテムを移動した場合、画像などのリソースが見つからなくなってしまうことなどがある。という苦労を20年くらいして、もう無理ということになった。私にはフラットにする以上に、スケールできる上、ロバストなものは作れなかった。 +cf. [[000000000010 フォルダとその使い方]] + +### ファイル形式 + +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/20240122223312 Reference Notes.md b/20240122223312 Reference Notes.md new file mode 100755 index 0000000..a04065a --- /dev/null +++ b/20240122223312 Reference Notes.md @@ -0,0 +1,4 @@ +# 20240122223312 Reference Notes +#zettelkasten + +文献やWEBサイトなどの内容のうち、気になったものをそのまま書きうつしたもの。使い捨てと思っていいと思う。捨てない方があとで参照/引用できるから残してるだけで、何かを勉強するときにこれをそのまま使うものではないことに注意。 \ No newline at end of file diff --git a/20240122225308 なんでもCaptureシステム.md b/20240122225308 なんでもCaptureシステム.md new file mode 100755 index 0000000..2d7cb6f --- /dev/null +++ b/20240122225308 なんでもCaptureシステム.md @@ -0,0 +1,8 @@ + +# 20240122225308 なんでもCaptureシステム +#capture + +## 概要 +discordに何か書くと、自動的にobsidianのvaultに新しい記事が作成される。とても便利。 + +![[なんでもcaptureシステムの図解.jpg]] \ No newline at end of file diff --git a/20240122231010 Literature Notes.md b/20240122231010 Literature Notes.md new file mode 100755 index 0000000..7bbf89b --- /dev/null +++ b/20240122231010 Literature Notes.md @@ -0,0 +1,4 @@ +# 20240122231010 Literature Notes +#zettelkasten + +これを作ることを勉強の基本とする。超重要。文献などで、何を説明しているかを、*自分の言葉* で書く。ここに至ってはコピペは完全に禁止されると思っていい。うまく書けなければ文献の理解が足りていない。 \ No newline at end of file diff --git a/20240122231152 Permanent Notes.md b/20240122231152 Permanent Notes.md new file mode 100755 index 0000000..7c0f260 --- /dev/null +++ b/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/20240122231403 Fleeting Notes.md b/20240122231403 Fleeting Notes.md new file mode 100755 index 0000000..ea68b66 --- /dev/null +++ b/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/20240123115736 wsl2からwindowsのvs codeが起動できない.md b/20240123115736 wsl2からwindowsのvs codeが起動できない.md new file mode 100755 index 0000000..a834bd4 --- /dev/null +++ b/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/20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる.md b/20240123120540 wsl2上でpipを実行すると、ものすごく時間がかかる.md new file mode 100755 index 0000000..33be9b2 --- /dev/null +++ b/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/20240201182238 ATMega系のArduinoでprintfする方法.md b/20240201182238 ATMega系のArduinoでprintfする方法.md new file mode 100755 index 0000000..f5328c8 --- /dev/null +++ b/20240201182238 ATMega系のArduinoでprintfする方法.md @@ -0,0 +1,35 @@ +# 20240201182238 ATMega系のArduinoでprintfする方法 +#tech #arduino #printf + +いつも忘れるのでメモ。 +この、`fdevopen`を使う方法は、この関数がAVR用のavr-libcでしか定義されていないため、 +ESP32やARMなど他のMCUがベースになっている場合には使えないので注意。 + +Aruino UNO3、 Arduino Nano、Pro Microなどでは使える。 + +```cpp +// 名前はなんでもよい +int my_putc( char c, FILE *t) { + return Serial.write( c ); +} + +void setup() +{ + Serial.begin(115200); + fdevopen( &my_putc, 0); + // 以降printfが使える。例↓ + print("Hello world! A0 = %d\n", analogRead(0)); +} + +void loop() +{ + +} +``` + +cf. + +- +- + + diff --git a/20240204180223 Carver Mead's OTA-C Lowpass Filter The Second-Order Section.md b/20240204180223 Carver Mead's OTA-C Lowpass Filter The Second-Order Section.md new file mode 100755 index 0000000..6ea3519 --- /dev/null +++ b/20240204180223 Carver Mead's OTA-C Lowpass Filter The Second-Order Section.md @@ -0,0 +1,4 @@ +# 20240204180223 Carver Mead's OTA-C Lowpass Filter The Second-Order Section +#electronics #OTA #op_amp #analog #filter #read_later #youtube + +[Carver Mead's OTA-C Lowpass Filter: The "Second-Order Section" (Operational Transconductance Amps) - YouTube](https://www.youtube.com/watch?v=AVFN6qCKiyg) diff --git a/20240204184839 Raspi4 家サーバー 作業ログ.md b/20240204184839 Raspi4 家サーバー 作業ログ.md new file mode 100755 index 0000000..1d95b13 --- /dev/null +++ b/20240204184839 Raspi4 家サーバー 作業ログ.md @@ -0,0 +1,48 @@ +# 20240204184839 Raspi4 家サーバー 作業ログ +#tech #raspi #server + + +## 買ったもの +- 【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品【RS・OKdo版】 https://amazon.co.jp/dp/B081YD3VL5 +- Smraza Raspberry Pi 4 USB-C (Type C)電源、5V 3A ラズベリーACアダプター RPi 4b Model B 1GB / 2GB / 4GB/ 8GB適用 https://amazon.co.jp/dp/B07DN5V3VN +- Flirc ラズベリーパイ4ケース シルバー https://amazon.co.jp/dp/B07WG4DW52 + +- Ediloca EN760 SSD ヒートシンク付き 1TB PCIe Gen4x4 NVMe M.2 2280 PS5動作確認済み 最大読込: 5000MB/s 最大書き:4500MB/s 3D NAND TLC 内蔵SSD ダイナミック SLC キャッシュ メーカー5年保証 https://amazon.co.jp/dp/B0C9TD1FM4 +- ORICO M.2 SSDケース USB-C to NVMe M-Key / B&M Key(Nvmeのみ)に対応 USB 3.1 Gen2 10Gbps 外付けケース ABS+アルミ材質 UASPサポート2230/2242/2260/2280 SSD対応 M.2 SSD 変換アダプタ エンクロージャ ケース 黑 M2PV-BK https://amazon.co.jp/dp/B08GC326LL + +## セットアップ色々 + +- [[20240204221756 raspberry Pi Imagerを使ってSDカードを作成|raspberry Pi Imagerを使ってSDカードを作成]] + +### ルーターの設定 +- DHCPスタティックIP設定 を追加。ポートフォワーディングで必要かなと思ったけど、cloudflareだと必要ないかも。sshは何も設定せずに使用できた。 + +### 起動 +microSDに必要なデータを書きこんだら、Raspi 4に挿して、LANケーブルなど繋いで起動。 +wsl2上のubuntuから、sshで接続確認。(名前とパスワード。後で無効化する) + +ここまでできたら、SSD bootの設定をする。 + +- [[20240204221948 raspberry piをSSD bootに設定|raspberry piをSSD bootに設定]] +- [[20240204222141 sshを公開鍵認証にする|sshを公開鍵認証にする]] +- [[20240211171220 sshのポートを変更する|sshのポートを変更する]] + + +### OSを最新に + +`$ sudo apt update` +してから、 +```sh +$ sudo apt full-upgrade +... +$ sudo reboot (最新にしたので再起動) +``` +### WEBサーバー +- [[20240205150537 Caddyをraspi4にインストール|Caddyをraspi4にインストール]] +### Raspi4 Cloudflareでトンネルを作る +- [[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]] +- [[20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する|Raspi4 Cloudflareでhttpsサーバーを公開する]] +- [[20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする|Raspi4 Cloudflareでsshアクセスできるようにする]] + + + diff --git a/20240204221756 raspberry Pi Imagerを使ってSDカードを作成.md b/20240204221756 raspberry Pi Imagerを使ってSDカードを作成.md new file mode 100755 index 0000000..4ec4958 --- /dev/null +++ b/20240204221756 raspberry Pi Imagerを使ってSDカードを作成.md @@ -0,0 +1,19 @@ +### 20240204221756 raspberry Pi Imagerを使ってSDカードを作成 +#raspi +[Install Raspberry Pi OS using Raspberry Pi Imager](https://www.raspberrypi.com/software/) のDownload for * で自分の環境用のRaspberry Pi Imagerをダウンロード、インストール + +起動したら、 +- Raspberry PIデバイス: RASPBERRY PI4 +- OS: Raspberry Pi OS(other) -> Raspberry Pi OS Lite(64-bit) +- ストレージ: マイクロSDカードをPCに接続して、それを選ぶ +`Would you like to apply OS customization settings?` +で「設定を編集する」ボタンを押す。 +- 一般 ホスト名、ユーザー名とパスワード、ロケールなど適切に設定 +- サービス SSHを有効にする をチェック パスワード認証を使う +- オプション 編集せず +で保存ボタンを押す。 +`Would you like to apply OS customization settings?` で、 「はい」を選んで書き込み。 + +SSDブートにしたい場合 +完全に同じことを、USBのSSDで実施する。 +microSDはブートの設定を変更する目的で作って、設定を変更してSSDからブートできるようになった後には使用しない。 \ No newline at end of file diff --git a/20240204221948 raspberry piをSSD bootに設定.md b/20240204221948 raspberry piをSSD bootに設定.md new file mode 100755 index 0000000..db5c7ab --- /dev/null +++ b/20240204221948 raspberry piをSSD bootに設定.md @@ -0,0 +1,88 @@ +# 20240204221948 raspberry piをSSD bootに設定 +#raspi #ssd +色々と情報を見たが、一番簡単で確実な方法は、 +- microSDにRaspberry Pi Imagerで必要なOSを書きこむ +- SSDをRaspberry Pi Imagerで必要なOSを書きこむ 20240204 時点ではraspi-cloneではうまくいかなかった。 +- microSDでブート、bootloaderを最新にする +- raspi-configで起動をSSDに設定 +という手順が確実そう。 + +#### SSDのフォーマット +SSDをUSBで接続。認識されると、こんな感じになる。 + +``` +$ dmesg +[ 2371.382886] sd 0:0:0:0: [sda] Attached SCSI disk +[ 2555.521771] usb 2-2: USB disconnect, device number 3 +[ 2555.565777] sd 0:0:0:0: [sda] Synchronizing SCSI cache +[ 2555.801704] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=0x07 driverbyte=DRIVER_OK +[ 2627.619831] usb 2-2: new SuperSpeed USB device number 4 using xhci_hcd +[ 2627.652398] usb 2-2: New USB device found, idVendor=0bda, idProduct=9210, bcdDevice=f0.01 +[ 2627.652420] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 +[ 2627.652433] usb 2-2: Product: RTL9210 +[ 2627.652442] usb 2-2: Manufacturer: Realtek +[ 2627.652451] usb 2-2: SerialNumber: 012345678905 +[ 2627.684644] usb 2-2: Enable of device-initiated U1 failed. +[ 2627.685583] usb 2-2: Enable of device-initiated U2 failed. +[ 2627.714973] usb 2-2: Enable of device-initiated U1 failed. +[ 2627.716024] usb 2-2: Enable of device-initiated U2 failed. +[ 2627.720692] scsi host0: uas +[ 2628.284123] scsi 0:0:0:0: Direct-Access Realtek RTL9210 NVME 1.00 PQ: 0 ANSI: 6 +[ 2628.302746] sd 0:0:0:0: Attached scsi generic sg0 type 0 +[ 2628.306857] sd 0:0:0:0: [sda] 500118192 512-byte logical blocks: (256 GB/238 GiB) +[ 2628.308244] sd 0:0:0:0: [sda] Write Protect is off +[ 2628.308260] sd 0:0:0:0: [sda] Mode Sense: 37 00 00 08 +[ 2628.310966] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA +[ 2628.312278] sd 0:0:0:0: [sda] Preferred minimum I/O size 512 bytes +[ 2628.312300] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes +[ 2628.324088] sda: sda1 sda2 +[ 2628.324372] sd 0:0:0:0: [sda] Attached SCSI disk +[ 2753.358307] sda: sda1 sda2 +``` + +fdiskで全部のパーティーションを削除。状況によって異なるので割愛。 +#### bootloaderのバージョン確認 +``` +$ vcgencmd bootloader_version +2023/01/11 17:40:52 +version 8ba17717fbcedd4c3b6d4bce7e50c7af4155cba9 (release) +timestamp 1673458852 +update-time 0 +capabilities 0x0000007f +``` + +`sudo raspi-config` + +A7 Boot ROM Versionを最新に。 +`E1 Latest Use the latest version boot ROM software` を選択して再起動。 + +``` +$ vcgencmd bootloader_version +2024/01/22 10:41:21 +version 51ed67b03b3dde4e76b345370f312d07aabf45b8 (release) +timestamp 1705920081 +update-time 1707048097 +capabilities 0x0000007f +``` + +ここまでできたら、USBブートにする。最初の手順で作ったSSDをraspi4に接続。microSDは外して起動。 + +どのくらい速度違うか、簡単に調べてみた。 +``` +$ sudo hdparm -tT /dev/mmcblk0 # マイクロSD + +/dev/mmcblk0: + Timing cached reads: 2048 MB in 2.00 seconds = 1024.23 MB/sec + Timing buffered disk reads: 132 MB in 3.02 seconds = 43.70 MB/sec + +$ sudo hdparm -tT /dev/sda # SSD +/dev/sda: + Timing cached reads: 2034 MB in 2.00 seconds = 1017.23 MB/sec + Timing buffered disk reads: 1020 MB in 3.06 seconds = 333.44 MB/sec +``` +約 7.6倍くらい高速になっている。素晴しい + +cf. +- [ラズパイ4をUSB接続のSSDから起動する方法(USBブート) | ラズパイダ](https://raspida.com/rpi4-ssd-usb-boot) +- [Raspberry PiのバックアップをCLIから作成する | Vogelbarsch](https://vogelbarsch.com/2020-08-27-140104/) +- [Rasberry Piでrpi-cloneを使ってバックアップ | TomoSoft](https://tomosoft.jp/design/?p=8721) \ No newline at end of file diff --git a/20240204222141 sshを公開鍵認証にする.md b/20240204222141 sshを公開鍵認証にする.md new file mode 100755 index 0000000..3903270 --- /dev/null +++ b/20240204222141 sshを公開鍵認証にする.md @@ -0,0 +1,86 @@ +# 20240204222141 sshを公開鍵認証にする +#raspberrypi #raspi #ssh #server + +以下はwsl2のubuntuでやる。 + +``` +$ ssh-keygen -t ed25519 +Generating public/private ed25519 key pair. +Enter file in which to save the key (/home/kazbo/.ssh/id_ed25519): +Enter passphrase (empty for no passphrase):(Enterを押す) +Enter same passphrase again:(Enterを押す) +Your identification has been saved in /home/kazbo/.ssh/id_ed25519 +Your public key has been saved in /home/kazbo/.ssh/id_ed25519.pub +The key fingerprint is: +SHA256: ... +The key's randomart image is: ++--[ED25519 256]--+ +... ++----[SHA256]-----+ + +``` + +.ssh/に +id_ed25519 id_ed25519.pub +の2つのファイルができている。 + +``` +$ cat .ssh/id_ed25519.pub +``` +とやって表示される文字列 +``` +ssh-ed25519 ... +``` +をコピーしておく。 + +raspi側で +``` +$ mkdir .ssh +$ touch .ssh/authorized_keys +$ cat >> .ssh/authorized_keys +ssh-ed25519 ... (をコピペしてEnterを押す) +[ctrl+d]を押す +$ chmod 700 .ssh +$ chmod 600 .ssh/authorized_keys +``` + +接続確認。wsl側で +``` +$ ssh -i .ssh/id_ed25519 saipi4(自分で設定したraspiのホスト名) +The authenticity of host 'saipi4 (192.168.1.100)' can't be established. +ECDSA key fingerprint is SHA256:UVgt3CY1o1JYPTf8CX5CLWV2UG6rtlvNHUQ4w6mLd8g. +Are you sure you want to continue connecting (yes/no/[fingerprint])? yes +Warning: Permanently added 'saipi4' (ECDSA) to the list of known hosts. + +Linux saipi4 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 + +The programs included with the Debian GNU/Linux system are free software; +the exact distribution terms for each program are described in the +individual files in /usr/share/doc/*/copyright. + +Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent +permitted by applicable law. +Last login: Sun Feb 4 18:47:22 2024 from 192.168.1.62 +``` +無事接続できた。 +公開鍵で認証できるようになったので、パスワードログインを無効にする。 +``` +$ sudo nano /etc/ssh/sshd_config +``` +` # PasswordAuthentication yes` +と書かれている所を、先頭の#を外して、 +`PasswordAuthentication no` +にする。 +`$ sudo service sshd restart` +でsshd再起動。 + +以降は +``` +ssh saipi4 +``` +で接続できるっぽい。最初からできたかも。. + +cf. +- [「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座(2) | さくらのナレッジ](https://knowledge.sakura.ad.jp/3543/) +- [SSH公開鍵認証で接続するまで #SSH - Qiita](https://qiita.com/kazokmr/items/754169cfa996b24fcbf5) +- [気付けばssh-keygen -t の後にrsaでなくed25519と打つことが推奨されていた | ABC DX Tech Blog](https://tech.asahi.co.jp/posts/20231005-bbf6) \ No newline at end of file diff --git a/20240205150537 Caddyをraspi4にインストール.md b/20240205150537 Caddyをraspi4にインストール.md new file mode 100755 index 0000000..e098fa4 --- /dev/null +++ b/20240205150537 Caddyをraspi4にインストール.md @@ -0,0 +1,126 @@ +# 20240205150537 Caddyをraspi4にインストール +#raspi #caddy #web_server + +### インストール + +[How to Setup a Raspberry Pi Caddy Web Server - Pi My Life Up](https://pimylifeup.com/raspberry-pi-caddy-web-server/) の方法が現在 20240205 は利用できない。 +``` +Err:4 https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version InRelease +The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABA1F9B8875A6661 +``` +このgpgエラーは、鍵が公開されていないのか、解決不能。 + +仕方ないのでソースからビルド。 + +まずgoが必要。 +[[20240205152229 raspi4にgoをインストールする|raspi4にgoをインストールする]] + +caddyをビルド。 +```sh +$ sudo apt install git (インストールしてなければ) +$ git clone --depth=1 https://github.com/caddyserver/caddy.git +$ cd caddy/cmd/caddy/ +$ go build +$ cd ../../.. +$ sudo mv caddy /usr/local +``` +`/usr/local/caddy/cmd/caddy` +にパスを通す。 /etc/profileに追加。 + +``` +$ sudo setcap cap_net_bind_service=+ep /usr/local/caddy/cmd/caddy/caddy +$ sudo visudo +``` + +`[username] ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap` を追加。 + +WEBサーバーのルートを作る +``` +$ sudo mkdir /var/www +$ sudo chmod a+rw /var/www +``` + +Caddyfileを /etc 以下に作成 +``` +$ sudo mkdir /etc/caddy/ +$ sudo touch /etc/caddy/Caddyfile +$ sudo chmod a+rw /etc/caddy/Caddyfile +``` + +Caddyfileを編集 +``` +localhost, 127.0.0.1 192.168.1.100(自分で決めたIPアドレス), saipi4.local(自分で決めたhostname), notes.kinoshita-lab.org(cludflareで設定したhostname) { + root * /var/www + file_server +} + +``` +/var/wwwにindex.htmlを作成 + +``` + + + + AYBABTU + + +

All your base are belong to us.

+ + +``` + +caddyを起動 +``` +caddy run --config /etc/caddy/Caddyfile +``` +証明書が無いなど、色々怒られるかもだけど、とりあえずネットワーク内から接続できる。 saipi4は私のraspi4のhostname。 + +![[Pasted image 20240205205804.png]] + +### サービス化 +[Keep Caddy Running — Caddy Documentation](https://caddyserver.com/docs/running#linux-service) + +上記を参考にしつつ、パスなどを自分の環境にあわせる。 + +``` +$ sudo groupadd --system caddy +``` + +caddy.serviceはこちらを使用 +[dist/init/caddy.service at master · caddyserver/dist · GitHub](https://github.com/caddyserver/dist/blob/master/init/caddy.service) + +変更点は下記2カ所 +``` +ExecStart=/usr/local/caddy/cmd/caddy/caddy run --environ --config /etc/caddy/Caddyfile +ExecReload=/usr/local/caddy/cmd/caddy/caddy reload --config /etc/caddy/Caddyfile --force +``` + +あとは書いてある通りに実行 +``` +$ sudo systemctl daemon-reload +$ sudo systemctl enable --now caddy +``` + +``` +$ systemctl status caddy +systemctl status caddy +● caddy.service - Caddy + Loaded: loaded (/etc/systemd/system/caddy.service; enabled; preset: enabled) + Active: active (running) since Sun 2024-02-11 18:09:01 JST; 14s ago + Docs: https://caddyserver.com/docs/ + Main PID: 3203 (caddy) + Tasks: 11 (limit: 3918) + CPU: 249ms + CGroup: /system.slice/caddy.service + └─3203 /usr/local/caddy/cmd/caddy/caddy run --environ --config /etc/caddy/Caddyfile +... +``` +動いてる。 + + + +## cf. +- [GitHub - caddyserver/caddy: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS](https://github.com/caddyserver/caddy?tab=readme-ov-file#build-from-source) +- [caddyで簡単にhttpsサイト #http2 - Qiita](https://qiita.com/mmotoi/items/1af28e2e62a4e344eb6c) + +- [Caddy:Caddyfileに\`localhost\`を指定すると、https://127.0.0.1/ ではアクセスできない](https://zenn.dev/yuji38kwmt/articles/5d3e729dc9a5c1) diff --git a/20240205152229 raspi4にgoをインストールする.md b/20240205152229 raspi4にgoをインストールする.md new file mode 100755 index 0000000..92e7719 --- /dev/null +++ b/20240205152229 raspi4にgoをインストールする.md @@ -0,0 +1,28 @@ +# 20240205152229 raspi4にgoをインストールする +#raspi #go + +[All releases - The Go Programming Language](https://go.dev/dl/) ここからバイナリをダウンロード。 raspi4の場合は、linux-arm64。 +``` +$ wget https://go.dev/dl/go1.21.6.linux-arm64.tar.gz +$ sudo tar -C /usr/local -xvf go1.21.6.linux-arm64.tar.gz +``` + +グローバルにパスを通しておく +``` +sudo nano /etc/profile +``` +で、 +`PATH="${PATH}:/usr/local/go/bin"` +を追加。`export PATH`の前 +![[Pasted image 20240205153644.png]] +再起動。 + +``` + $ go version +go version go1.21.6 linux/arm64 +``` +などと表示されればOK。 + +## cf. +[【備忘録】RaspberryPiにGoをインストールする #Go - Qiita](https://qiita.com/Noctiluca/items/eb8a6b879b988e5f3ed1) + diff --git a/20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround.md b/20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround.md new file mode 100755 index 0000000..9c3b8d1 --- /dev/null +++ b/20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround.md @@ -0,0 +1,13 @@ +# 20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround +#IAR #eww #workaround + +いったん終了し、以下フォルダを削除して再起動する。ウィンドウの表示、配置の設定などはすべてデフォルトに戻る。 +``` + - 出力フォルダ +    `プロジェクトオプション > 一般オプション > 出力 > 出力ディレクトリ` +    で指定されるフォルダ。デフォルトの場合Debugフォルダ。 +     + - .dep / .ewtファイル(存在する場合) +  + - settings フォルダ +``` diff --git a/20240211141946 Raspi4 Cloudflareでトンネルを作る.md b/20240211141946 Raspi4 Cloudflareでトンネルを作る.md new file mode 100755 index 0000000..1193e6e --- /dev/null +++ b/20240211141946 Raspi4 Cloudflareでトンネルを作る.md @@ -0,0 +1,82 @@ +# 20240211141946 Raspi4 Cloudflareでトンネルを作る +#raspi #cloudflare #server + +## 注意 +色々なサイトを参考にしたけど、変化が激しいので100%参考になることは無かった。おそらくこのメモもすぐに陳腐化すると思う。私はこの分野の専門ではないので、全然わからないで適当にやっている。 + +## トンネルとは +[トンネリングとは?| ネットワークにおけるトンネリング | Cloudflare](https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-tunneling/) + +## 前提 +- ドメインを持っている +- ネームサーバーをcloudflareに移管できる +- ブラウザでがんばってやろうとしたが挫折。 cliの方法を試す [Create a locally-managed tunnel (CLI) · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/) + +## cloudflareでアカウントを作る + +[Cloudflare | Web Performance & Security](https://dash.cloudflare.com/sign-up) +ここからサインアップしてアカウントを作る。 + +## cloudflaredをインストールする +raspi4にcloudflaredをインストールする。 + [Downloads · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/) から、 raspi4ならARM64をダウンロードしてインストール +``` +$ sudo dpkg -i coudflared-linux-amd64.deb +``` + +sshのproxycommandとして使うので、wsl2(のubuntu) amd64/x86-64をダウンロードしてそちらにもインストールした。 + +### 専用ユーザーを作成 +raspiで +``` +$ sudo groupadd --system cloudflare + +$ sudo useradd --system \ +--gid cloudflare \ +--create-home \ +--home-dir /var/lib/cloudflare \ +--comment "Cloudflaire" \ +cloudflare + +$ sudo passwd cloudflare +New password: +Retype new password: +passwd: password updated successfully + +$ sudo visudo + +cloudflare ALL=(ALL:ALL) ALL +を追加 + +kazbo@saipi4:~ $ su cloudflare +Password: +cloudflare@saipi4:/home/kazbo $ cd +cloudflare@saipi4:~ $ pwd +/var/lib/cloudflare + +``` +以降作業はこのユーザー(cloudflare)で実施 + +### ログイン +``` +cloudflare@saipi4:~ $ cloudflared login +Please open the following URL and log in with your Cloudflare account: + +https://dash.cloudflare.com/argotunnel?aud=&callback=https%3A%2F%2Flogin.cloudflareaccess.org%... + +Leave cloudflared running to download the cert automatically. +[URLをクリックして、使いたいドメインをクリック、承認を押す] +You have successfully logged in. +If you wish to copy your credentials to a server, they have been saved to: +/var/lib/cloudflare/.cloudflared/cert.pem +``` + +## トンネルの作成 +``` +cloudflare@saipi4:~ $ cloudflared tunnel create saipi4(ここは自分が設定したい名前) +Tunnel credentials written to /var/lib/cloudflare/.cloudflared/******.json. cloudflared chose this file based on where your origin certificate was found. Keep this file secret. To revoke these credentials, delete the tunnel. + +Created tunnel saipi4 with id ***** +``` +`*****` の所のtokenをメモしておく [[20240212183159 Cloudflare トンネルのtoken]] + diff --git a/20240211171220 sshのポートを変更する.md b/20240211171220 sshのポートを変更する.md new file mode 100755 index 0000000..de40b82 --- /dev/null +++ b/20240211171220 sshのポートを変更する.md @@ -0,0 +1,46 @@ +# 20240211171220 sshのポートを変更する +#ssh #server +## 変更する理由 +[[20240211171652 なぜsshをポート22で実行してはいけないのか|なぜsshを22で実行してはいけないのか]] + +## 変更の方法 +### サーバー側 +`/etc/ssh/sshd_config` を編集すればよい。 +`# Port 22` とコメントアウトされている所があるので、 \#を削除。 +22を別のポートに設定する。 + +sshdを再起動 +``` +$ sudo service ssh restart +$ service ssh status +● ssh.service - OpenBSD Secure Shell server + Loaded: loaded (/lib/systemd/system/ssh.service; enabled; preset: enabled) + Active: active (running) since Sun 2024-02-11 17:31:52 JST; 30s ago + Docs: man:sshd(8) + man:sshd_config(5) + Process: 1448 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) + Main PID: 1449 (sshd) + Tasks: 1 (limit: 3918) + CPU: 77ms + CGroup: /system.slice/ssh.service + └─1449 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups" + +Feb 11 17:31:51 saipi4 systemd[1]: Starting ssh.service - OpenBSD Secure Shell server... +Feb 11 17:31:52 saipi4 sshd[1449]: Server listening on 0.0.0.0 port *****. # (ここの数字が設定したポート番号になっているかを確認。22のままなら何かが変) +Feb 11 17:31:52 saipi4 sshd[1449]: Server listening on :: port *****. +Feb 11 17:31:52 saipi4 systemd[1]: Started ssh.service - OpenBSD Secure Shell server. +``` + +### クライアント側 +ポートを指定してアクセスして、うまくいくか確認。 +``` +$ ssh -p [上記の番号] +``` + +うまくいったら、毎回ポートを指定するのが面倒なので、 `.ssh/config` に、こんな感じで書いておく。 + +``` +Host + Port ***** + (...その他) +``` diff --git a/20240211171652 なぜsshをポート22で実行してはいけないのか.md b/20240211171652 なぜsshをポート22で実行してはいけないのか.md new file mode 100755 index 0000000..98c6f8d --- /dev/null +++ b/20240211171652 なぜsshをポート22で実行してはいけないのか.md @@ -0,0 +1,7 @@ +# 20240211171652 なぜsshをポート22で実行してはいけないのか +#ssh #server #security + +sshのデフォルトポートは22。攻撃しようとする場合、確実に狙われる。ポート番号をわからなくしておくことで、どのポートがsshか攻撃者に不明にすることができて、乗っ取りなどのリスクを下げられる。 +## cf. +- [公開サーバでsshをポート22で空けておいては駄目、というのは常識なのでしょうか?もちろん公開鍵認証オンリーにしていますが。 - Quora](https://jp.quora.com/%E5%85%AC%E9%96%8B%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A7ssh%E3%82%92%E3%83%9D%E3%83%BC%E3%83%8822%E3%81%A7%E7%A9%BA%E3%81%91%E3%81%A6%E3%81%8A%E3%81%84%E3%81%A6%E3%81%AF%E9%A7%84%E7%9B%AE-%E3%81%A8%E3%81%84%E3%81%86) +- [SSHは22番ポートで通信しちゃダメ!ポート変更してVPSサーバーの安全を守ろう! | L'7 Records](https://www.braveryk7.com/change-22-port/) \ No newline at end of file diff --git a/20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする.md b/20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする.md new file mode 100755 index 0000000..fad7abd --- /dev/null +++ b/20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする.md @@ -0,0 +1,54 @@ + +# 20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする +#raspi #cloudflare #ssh +## 注意 +[[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]] と同じ。設定方法がどんどん変わる上、私はその専門ではない + +## 前提 +- [[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]] の作業が完了している +- [[20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する|Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する]] の作業が完了している(ユーザー、サービスなどは作成してある) + + +## 手順 +### サーバー(raspi)側 +CNAME recordの追加 +``` +$ cloudflared tunnel route dns **** pi4.kinoshita-lab.org(ここは好きなやつにする) + +2024-02-12T11:33:59Z INF Added CNAME pi4.kinoshita-lab.org which will route to this tunnel tunnelID=**** +``` + +\**** は [[20240212183159 Cloudflare トンネルのtoken|cloudflare トンネルのtoken(private)]] を入れる。 + +systemで動いているcloudflaredにsshの設定を変更。 httpとsshをhostnameで分けるようにする。 + +``` +tunnel: **** +credentials-file: /var/lib/cloudflare/.cloudflared/****.json + +ingress: + - hostname: notes.kinoshita-lab.org + service: http:localhost + - hostname: pi4.kinoshita-lab.org + service: ssh://localhost:??(sshのポート名) + - service: http_status:404 +``` + +### クライアント(wsl2のubuntuなど)側 +.ssh/config に、 cloudflaredを使う設定にしたssh設定を追記。 + +``` +Host pi4.kinoshita-lab.org (cloudflareで作ったsshのtunnelのドメイン) + Port xxxxx (自分が設定したポート番号) + ProxyCommand cloudflared access ssh --hostname %h +``` + +``` +$ ssh pi4.kinoshita-lab.org +``` + +でログインできればOK。 + +## cf. +- [Cloudflare Tunnel を使って自宅サーバを公開する - hoge な blog](https://akkyorz.hatenablog.com/entry/2022/12/15/012728) +- [\[Cloudflare\] Cloudflare Tunnel の Ingress rules で複数サービスまとめて公開する - てくなべ (tekunabe)](https://tekunabe.hatenablog.jp/entry/2023/08/05/cloudflare_tunnel_ingress_rules) diff --git a/20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する.md b/20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する.md new file mode 100755 index 0000000..ec5c8d2 --- /dev/null +++ b/20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する.md @@ -0,0 +1,68 @@ +# 20240211202623 Raspi4 Cloudflare tunnel経由でhttpsサーバーを公開する +#raspi #cloudflare #server + +## 前提となる作業 +- [[20240211193602 Cloudflare Public Hostnameの設定|Cloudflare Public Hostnameの設定]] +- [[20240211195126 Cloudflare Applicationsの作成|Cloudflare Applicationsの作成]] +- [[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]] + +あたりかな。 + + +## WEBサーバーの設定 +raspiのwebサーバーは80番(http)で動かして、cloudflareでhttps化してる。 +- [[20240212183719 Raspi4でnginxを設定する|raspi4でnginxを設定する]] で、WEBサーバー(nginx)を動かしておく。 +- [[20240205150537 Caddyをraspi4にインストール|Caddyをraspi4にインストール]] で、Caddyを動かしてもよい。 + +## 作ったWEBサーバーをcloudflareのトンネルに登録 + +``` +cloudflare@saipi4$ vim ~/.cloudflared/config/yaml +``` +で、中身はこんな感じ。 + +``` +url: http://localhost +tunnel: ****** +credentials-file: /var/lib/cloudflare/.cloudflared/******.json +``` +\**** の所はトンネルを作ったときの token(or UUID or TunnelID). [[20240212183159 Cloudflare トンネルのtoken|cloudflare トンネルのtoken(private)]] + +``` +cloudflare@saipi4:~ $ cloudflared tunnel route dns ***** notes.kinoshita-lab.org +2024-02-12T10:20:56Z INF Added CNAME notes.kinoshita-lab.org which will route to this tunnel tunnelID=**** +``` +``` +cloudflare@saipi4:~ $ cloudflared tunnel --config ~/.cloudflared/config.yaml run +``` + +これでうまくいったら、 https://notes.kinoshita-lab.org にアクセスすると見える。 + +### service化 +うまくいっていたらserviceとして登録。 +``` +cloudflare@saipi4:~ $ vim sudo vim /etc/systemd/system/cloudflared.service\ +``` +中身は +``` +[Unit] +Description=cloudflared +After=network.target + +[Service] +TimeoutStartSec=0 +Type=notify +User=cloudflare +ExecStart=/usr/bin/cloudflared tunnel --config /var/lib/cloudflare/.cloudflared/config.yaml run +Restart=on-failure +RestartSec=5s + +[Install] +WantedBy=multi-user.target +``` + + + +## cf. + +- [Cloudflare Tunnel を使って自宅サーバを公開する - hoge な blog](https://akkyorz.hatenablog.com/entry/2022/12/15/012728) \ No newline at end of file diff --git a/assets/2023-08-18-22-14-24.png b/assets/2023-08-18-22-14-24.png new file mode 100755 index 0000000..945634d Binary files /dev/null and b/assets/2023-08-18-22-14-24.png differ diff --git a/assets/2023-08-18-22-14-27.png b/assets/2023-08-18-22-14-27.png new file mode 100755 index 0000000..945634d Binary files /dev/null and b/assets/2023-08-18-22-14-27.png differ diff --git a/assets/2023-08-18-22-15-01.png b/assets/2023-08-18-22-15-01.png new file mode 100755 index 0000000..dddab0f Binary files /dev/null and b/assets/2023-08-18-22-15-01.png differ diff --git a/assets/2023-08-18-22-15-52.png b/assets/2023-08-18-22-15-52.png new file mode 100755 index 0000000..e8ce2bd Binary files /dev/null and b/assets/2023-08-18-22-15-52.png differ diff --git a/assets/2023-08-18-22-16-31.png b/assets/2023-08-18-22-16-31.png new file mode 100755 index 0000000..dbdab61 Binary files /dev/null and b/assets/2023-08-18-22-16-31.png differ diff --git a/assets/2023-08-18-22-17-38.png b/assets/2023-08-18-22-17-38.png new file mode 100755 index 0000000..a352bbd Binary files /dev/null and b/assets/2023-08-18-22-17-38.png differ diff --git a/assets/2023-10-20-15-38-20.png b/assets/2023-10-20-15-38-20.png new file mode 100755 index 0000000..a2e96f0 Binary files /dev/null and b/assets/2023-10-20-15-38-20.png differ diff --git a/assets/Pasted image 20231227205803 1.png b/assets/Pasted image 20231227205803 1.png new file mode 100755 index 0000000..d12f043 Binary files /dev/null and b/assets/Pasted image 20231227205803 1.png differ diff --git a/assets/Pasted image 20231227205845 1.png b/assets/Pasted image 20231227205845 1.png new file mode 100755 index 0000000..1cc1a80 Binary files /dev/null and b/assets/Pasted image 20231227205845 1.png differ diff --git a/assets/Pasted image 20240104153016.png b/assets/Pasted image 20240104153016.png new file mode 100755 index 0000000..01af929 Binary files /dev/null and b/assets/Pasted image 20240104153016.png differ diff --git a/assets/Pasted image 20240107194755.png b/assets/Pasted image 20240107194755.png new file mode 100755 index 0000000..0228561 Binary files /dev/null and b/assets/Pasted image 20240107194755.png differ diff --git a/assets/Pasted image 20240107220208.png b/assets/Pasted image 20240107220208.png new file mode 100755 index 0000000..18fe8fe Binary files /dev/null and b/assets/Pasted image 20240107220208.png differ diff --git a/assets/Pasted image 20240107220307.png b/assets/Pasted image 20240107220307.png new file mode 100755 index 0000000..2267d5e Binary files /dev/null and b/assets/Pasted image 20240107220307.png differ diff --git a/assets/Pasted image 20240107221053.png b/assets/Pasted image 20240107221053.png new file mode 100755 index 0000000..a8bac15 Binary files /dev/null and b/assets/Pasted image 20240107221053.png differ diff --git a/assets/Pasted image 20240130170437.png b/assets/Pasted image 20240130170437.png new file mode 100755 index 0000000..f52cedb Binary files /dev/null and b/assets/Pasted image 20240130170437.png differ diff --git a/assets/Pasted image 20240205153644.png b/assets/Pasted image 20240205153644.png new file mode 100755 index 0000000..3928c21 Binary files /dev/null and b/assets/Pasted image 20240205153644.png differ diff --git a/assets/Pasted image 20240205205804.png b/assets/Pasted image 20240205205804.png new file mode 100755 index 0000000..649f8a9 Binary files /dev/null and b/assets/Pasted image 20240205205804.png differ diff --git a/assets/Pasted image 20240205211828.png b/assets/Pasted image 20240205211828.png new file mode 100755 index 0000000..d8133db Binary files /dev/null and b/assets/Pasted image 20240205211828.png differ diff --git a/assets/Pasted image 20240211191414.png b/assets/Pasted image 20240211191414.png new file mode 100755 index 0000000..c9d9571 Binary files /dev/null and b/assets/Pasted image 20240211191414.png differ diff --git a/assets/Pasted image 20240211193442.png b/assets/Pasted image 20240211193442.png new file mode 100755 index 0000000..de96c94 Binary files /dev/null and b/assets/Pasted image 20240211193442.png differ diff --git a/assets/Pasted image 20240211195107.png b/assets/Pasted image 20240211195107.png new file mode 100755 index 0000000..653439e Binary files /dev/null and b/assets/Pasted image 20240211195107.png differ diff --git a/assets/image20231228101217_0.png b/assets/image20231228101217_0.png new file mode 100755 index 0000000..992e1c2 Binary files /dev/null and b/assets/image20231228101217_0.png differ diff --git a/assets/image20240208114549_0.png b/assets/image20240208114549_0.png new file mode 100755 index 0000000..5ab2a0a Binary files /dev/null and b/assets/image20240208114549_0.png differ diff --git a/assets/なんでもcaptureシステムの図解.jpg b/assets/なんでもcaptureシステムの図解.jpg new file mode 100755 index 0000000..ed92cdf Binary files /dev/null and b/assets/なんでもcaptureシステムの図解.jpg differ diff --git a/index.md b/index.md new file mode 100755 index 0000000..355568c --- /dev/null +++ b/index.md @@ -0,0 +1,19 @@ + +# index(public) + +#index #root + +kazboのpublic notesにようこそ。 + +## これは何? + +kazboことKaz(uki) Saita/斉田一樹の書きちらかしたメモが堆積したものから、ある程度有用かもしれない内容を、publicに公開しようとしているものです。 + +### 方針のようなもの +- [[20240122201309 全体的な書き方の方針|全体的な書き方の方針]] +- [[000000000002 メモ ノートの書き方|メモ ノートの書き方]] + + + + +