2020-10-08

気づけば間隔があいていた


保育園を見学してきた。保育料がすごく掛かる。毎月Ryzen 9のCPU買える。ひえ〜


るりまのレビュー会、PC着席だとハードル高いので最近はスマホで覗いてみて良さそうだったらマージする、みたいなのをやっている


bitclustにバグ埋め込んで自分で直すみたいなのを何度かやった気がする

r7kamuraさんの個人サイトの記事を読んで個人サイトを作りはじめた

github.com

ウェブログって響きなつかしい、名前、なんか決めるの面倒でついblogにしてしまった

実際、ほかの人の記事で、たとえばjokerさんのブログをスマホで見たら間違えて広告踏むのを何度かやって、みるのを諦めた、みたいな経験がある。 このはてなブログもそうされたらかなしいなあ。と思ってつくりはじめた。

例え誰にも読まれないとしても今後のにっきは強い意思でGitHubに書こうかしら


会社の日報はYWTによもやま話付け足した感じのフォーマットになっている

よもやま話ぶぶんをダンプしようかな、と思うので若干手を加えつつはる


昨日社内の取り組みで他部署の方々と話していて「OSS活動ってなに?」と聞かれてぱっと娑婆語が出なかった。

思想的には、OSSではなくて自由ソフトウェアと書いたほうがよいかもしれない。 建物に言い換えると建物の設計図が公開されていて誰もが4つの自由を持っている、みたいな感じです

  • どんな目的に対してもその建物を建てて良い
  • 建物の構造を研究して設計図を改造していい
  • 他の人にその設計図を配って良い
  • 改変した設計図を配布していい

自社製品の設計図は公開されていませんが自社製品を作るために使っている道具の設計図はほぼ全てが公開されています。 私はその中でもRubyという道具が好きで、この道具の使い方を日本語話者向けに記した文書の編集や、文書の執筆環境の整備などを行っています。 なぜ自由ソフトウェアをつくるのが好きかというと、設計図が公開されていない建物を使うと様々な不便があり - 設計図さえあれば便利に改造できたのに、うまくいかない - 建物を使うとき迷子になっちゃったけど道案内の人が見つからず目的が果たせない それをよしとしないのと、私がたまたま使用権を持っているからといって子どもがその建物を使えるとは限らない、それがいや。子に自由を保証したい。というのがあります。

具体的にどう会社で働きつつもやるのか。自社製品を開発すると、その製品を開発するために使う道具の使い方を覚えたり、道具自体を改良するはずで、使っている道具が公開されている道具だと、改良をフィードバックしやすいし、道具の使い方自体は公開しても問題ないことが多い。道具を改良したら自分以外の人も使えるようになるし、道具の使い方を広めて皆使えるようになればより嬉しい、この道具を使うことがなくても、この道具で作られたより便利な道具が作られ、それが使える用になってほしい。

みたいな気持ちがある(還元できているかというと、足りてないけど)

こういう感じの話が他部署の人と出来るというのはかなり居心地よく感じている

3、4に関してはやらなくて済むようにする方法を身につけつつあり、2に関しては3、4の量が減ればできる、が1に関しては投資をして2に持ってきたいですね、みたいな話をしていた

f:id:h6n:20201008232102p:plain

書き忘れたけどトイレの電気を消すは3でエアコンを切るも3だな、3に関しては頑張っている


goodcheckを入れたけど、typoをチェックするパターンを書くのは異常に難しいのでtypo checkのためのオプション、あるいは専用のソフトウェアが欲しい。


このあとは個人サイトを書く

2020-09-29

OSS、るりました。

先週出したPull Request、直したはずの場所がうまく直ってなかったので修正

github.com

3.0のNEWS見てWarning覗いたら2.7の対応が終わってなかったので対応

github.com

textlintの設定を試していた

{
  "name": "doctree",
  "version": "1.0.0",
  "description": "Rubyリファレンスマニュアル",
  "scripts": {
    "test": "textlint refm/doc"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/rurema/doctree.git"
  },
  "author": "",
  "license": "CC-BY-3.0",
  "bugs": {
    "url": "https://github.com/rurema/doctree/issues"
  },
  "homepage": "https://github.com/rurema/doctree#readme",
  "private": true,
  "devDependencies": {
    "@textlint/textlint-plugin-text": "^4.2.6",
    "textlint": "^11.7.6",
    "textlint-rule-preset-ja-technical-writing": "^4.0.1"
  }
}
{
  "filters": {},
  "plugins": {
    "@textlint/text": {
      "extensions": [".rd"]
    }
  },
  "rules": {
    "preset-ja-technical-writing": {
      "ja-no-mixed-period": false
    }
  }
}

辞書系の置換はやっていったほうが読みやすくなりそう

github.com

とはいえ2.7対応とか残ってそうだし12月もそろそろだから未翻訳とかを雑に追加していくのがいいのかなあ

雑にマージした

github.com github.com


Railsわからね

2020-09-28

ノボテルホテル(元みやこほてr)でスマホからコーヒーにプリントできるRippleってサービスがあったので注文してみた

便利〜


Okinawa.rb出た

バグを取った、protect_from_forgery を子のコントローラでも独自に設定するときに親のコントローラでつけてる with みたいなオプションを付け忘れていてデフォルト値の設定と違っていると、親のオプションが子にきいてない! なぜ?みたいになる。これはドキュメントにコントリビュートするチャンスですね。

だいたいの内容は話したと思う

twitter.com

色々と話しつつこのへんを読み直していた

speakerdeck.com

speakerdeck.com

Clean Architectureちゃんと読むか


スマホを交換するためバックアップや初期化をした


PayPalの住所を更新した

名前を変更するときは書類必要だったけど住所変更ならいらないよう

2020-09-26

前回を参考にディスクを設定していく

hanachin.hateblo.jp

バイス確認

# fdisk -l
ディスク /dev/nvme0n1: 931.51 GiB, 1000204886016 バイト, 1953525168 セクタ
ディスク型式: WDS100T3X0C-00SJG0
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


ディスク /dev/nvme1n1: 465.76 GiB, 500107862016 バイト, 976773168 セクタ
ディスク型式: Samsung SSD 970 EVO Plus 500GB
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 50FD9E2A-9AA9-43C1-B300-9EBBF3DD3DCB

デバイス       開始位置  終了位置    セクタ サイズ タイプ
/dev/nvme1n1p1     2048   1050623   1048576   512M EFI システム
/dev/nvme1n1p2  1050624 976773119 975722496 465.3G Linux ファイルシステム


ディスク /dev/sda: 3.64 TiB, 4000787030016 バイト, 7814037168 セクタ
ディスク型式: HGST HDN726040AL
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: D54536BE-5324-4B85-B55B-5032488218D8

デバイス   開始位置   終了位置     セクタ サイズ タイプ
/dev/sda1      2048 7814035455 7814033408   3.6T Linux ファイルシステム


ディスク /dev/mapper/main-root: 465.26 GiB, 499566772224 バイト, 975716352 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


ディスク /dev/mapper/root: 465.24 GiB, 499549995008 バイト, 975683584 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

パーティション切る

# parted /dev/nvme0n1
GNU Parted 3.3
/dev/nvme0n1 を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) mkpart primary 513MiB 100%
(parted) set 1 esp on
(parted) print
モデル: WDS100T3X0C-00SJG0 (nvme)
ディスク /dev/nvme0n1: 1000GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  538MB   537MB                     ESP      boot, esp
 2    538MB   1000GB  1000GB                    primary
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

確認

# fdisk -l
ディスク /dev/nvme0n1: 931.51 GiB, 1000204886016 バイト, 1953525168 セクタ
ディスク型式: WDS100T3X0C-00SJG0
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 7D95D507-93A3-456D-A74E-BBCD8D52C389

デバイス       開始位置   終了位置     セクタ サイズ タイプ
/dev/nvme0n1p1     2048    1050623    1048576   512M EFI システム
/dev/nvme0n1p2  1050624 1953523711 1952473088   931G Linux ファイルシステム


ディスク /dev/nvme1n1: 465.76 GiB, 500107862016 バイト, 976773168 セクタ
ディスク型式: Samsung SSD 970 EVO Plus 500GB
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 50FD9E2A-9AA9-43C1-B300-9EBBF3DD3DCB

デバイス       開始位置  終了位置    セクタ サイズ タイプ
/dev/nvme1n1p1     2048   1050623   1048576   512M EFI システム
/dev/nvme1n1p2  1050624 976773119 975722496 465.3G Linux ファイルシステム


ディスク /dev/sda: 3.64 TiB, 4000787030016 バイト, 7814037168 セクタ
ディスク型式: HGST HDN726040AL
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: D54536BE-5324-4B85-B55B-5032488218D8

デバイス   開始位置   終了位置     セクタ サイズ タイプ
/dev/sda1      2048 7814035455 7814033408   3.6T Linux ファイルシステム


ディスク /dev/mapper/main-root: 465.26 GiB, 499566772224 バイト, 975716352 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト


ディスク /dev/mapper/root: 465.24 GiB, 499549995008 バイト, 975683584 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

LVMの現状確認

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/nvme1n1p2
  VG Name               main
  PV Size               465.26 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              119106
  Free PE               0
  Allocated PE          119106
  PV UUID               kpbGuE-DlFM-rNr0-FVdr-pa2m-9MZb-XH1inp

設定していく

# dd if=/dev/nvme1n1p1 of=/dev/nvme0n1p1
1048576+0 レコード入力
1048576+0 レコード出力
536870912 bytes (537 MB, 512 MiB) copied, 3.13035 s, 172 MB/s
# pvcreate /dev/nvme0n1p2
  Physical volume "/dev/nvme0n1p2" successfully created.
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/nvme1n1p2
  VG Name               main
  PV Size               465.26 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              119106
  Free PE               0
  Allocated PE          119106
  PV UUID               kpbGuE-DlFM-rNr0-FVdr-pa2m-9MZb-XH1inp

  "/dev/nvme0n1p2" is a new physical volume of "931.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/nvme0n1p2
  VG Name
  PV Size               931.01 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Ww6x8C-b02G-X3IC-m2nK-L1Xl-CMfw-zFresp
# vgextend main /dev/nvme0n1p2
  Volume group "main" successfully extended
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/nvme1n1p2
  VG Name               main
  PV Size               465.26 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              119106
  Free PE               0
  Allocated PE          119106
  PV UUID               kpbGuE-DlFM-rNr0-FVdr-pa2m-9MZb-XH1inp

  --- Physical volume ---
  PV Name               /dev/nvme0n1p2
  VG Name               main
  PV Size               931.01 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              238338
  Free PE               238338
  Allocated PE          0
  PV UUID               Ww6x8C-b02G-X3IC-m2nK-L1Xl-CMfw-zFresp

# umount /dev/mapper/root
# pvmove /dev/nvme1n1p2 /dev/nvme0n1p2
  /dev/nvme1n1p2: Moved: 0.02%
  /dev/nvme1n1p2: Moved: 3.55%
  /dev/nvme1n1p2: Moved: 7.12%
  /dev/nvme1n1p2: Moved: 10.63%
  /dev/nvme1n1p2: Moved: 14.10%
  /dev/nvme1n1p2: Moved: 17.67%
  /dev/nvme1n1p2: Moved: 21.18%
  /dev/nvme1n1p2: Moved: 24.77%
  /dev/nvme1n1p2: Moved: 28.25%
  /dev/nvme1n1p2: Moved: 31.75%
  /dev/nvme1n1p2: Moved: 35.28%
  /dev/nvme1n1p2: Moved: 38.74%
  /dev/nvme1n1p2: Moved: 42.13%
  /dev/nvme1n1p2: Moved: 45.63%
  /dev/nvme1n1p2: Moved: 49.05%
  /dev/nvme1n1p2: Moved: 52.52%
  /dev/nvme1n1p2: Moved: 55.96%
  /dev/nvme1n1p2: Moved: 59.43%
  /dev/nvme1n1p2: Moved: 62.86%
  /dev/nvme1n1p2: Moved: 66.40%
  /dev/nvme1n1p2: Moved: 69.79%
  /dev/nvme1n1p2: Moved: 73.30%
  /dev/nvme1n1p2: Moved: 76.85%
  /dev/nvme1n1p2: Moved: 80.40%
  /dev/nvme1n1p2: Moved: 83.95%
  /dev/nvme1n1p2: Moved: 87.47%
  /dev/nvme1n1p2: Moved: 90.97%
  /dev/nvme1n1p2: Moved: 94.51%
  /dev/nvme1n1p2: Moved: 98.00%
  /dev/nvme1n1p2: Moved: 100.00%
#  vgreduce main /dev/nvme1n1p2
  Removed "/dev/nvme1n1p2" from volume group "main"
# pvremove /dev/nvme1n1p2
  Labels on physical volume "/dev/nvme1n1p2" successfully wiped.

/etc/mtools.conf に追記 drive d: file="/dev/nvme0n1p1"、ddでコピーしたからUUIDが同じなので変えちゃお

# mlabel -n d:
# blkid
/dev/nvme0n1p1: UUID="6841-5E97" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="ESP" PARTUUID="b19242f2-fafb-4dce-b877-85042fa0e87f"
/dev/nvme0n1p2: UUID="Ww6x8C-b02G-X3IC-m2nK-L1Xl-CMfw-zFresp" TYPE="LVM2_member" PARTLABEL="primary" PARTUUID="fc41c1d6-195b-46ce-9f34-be7abf88aebb"
/dev/nvme1n1p1: UUID="7CFC-551D" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="ESP" PARTUUID="d59d9d4e-1e55-489e-a2fd-6085f50be9f1"
/dev/sda1: LABEL="gems" UUID="2ffd4056-740f-4ab8-b023-ffb307404729" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="gem-codesearch" PARTUUID="13b0bbe5-ddd2-48e6-91dd-d8398183a498"
/dev/mapper/main-root: UUID="4ff47066-190e-4d5b-855e-fc2e49c47ce4" TYPE="crypto_LUKS"
/dev/mapper/root: LABEL="root" UUID="862e79ed-d5ed-4c86-89c5-ce33fe179abb" UUID_SUB="bb58edd3-0473-4a0a-939a-d0de3c5555ef" BLOCK_SIZE="4096" TYPE="btrfs"
/dev/loop0p1: BLOCK_SIZE="2048" UUID="2020-09-01-17-37-13-00" LABEL="ARCH_202009" TYPE="iso9660" PTUUID="2fbbe9fe" PTTYPE="dos" PARTUUID="2fbbe9fe-01"
/dev/loop0p2: SEC_TYPE="msdos" LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="72F4-9D10" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="2fbbe9fe-02"
/dev/sdb1: BLOCK_SIZE="2048" UUID="2020-09-01-17-37-13-00" LABEL="ARCH_202009" TYPE="iso9660" PTUUID="2fbbe9fe" PTTYPE="dos" PARTUUID="2fbbe9fe-01"
/dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="72F4-9D10" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="2fbbe9fe-02"
/dev/nvme1n1p2: PARTLABEL="primary" PARTUUID="69ba5c80-b0d3-43ba-b679-c8fee2e3ccea"

fstab書き換え

/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/root LABEL=root
UUID=862e79ed-d5ed-4c86-89c5-ce33fe179abb       /               btrfs           rw,relatime,ssd,space_cache,subvolid=5,subvol=/ 0 0

# /dev/nvme0n1p1
# UUID=7CFC-551D          /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro       0 2
UUID=6841-5E97          /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro       0 2

# /dev/sda1
UUID=2ffd4056-740f-4ab8-b023-ffb307404729       /mnt/gems       ext4    defaults        0       2

LVのリサイズ、アンマウントしないとできない、どうしよ...homeだけluksにしとけばよかった

wikiみて手順確認

Extending the logical volume

For the next step, the final allocation of the new diskspace, the logical volume to be extended has to be unmounted. It can be performed for the cryptdevice root partition, but in this case the procedure has to be performed from an Arch Install ISO.

In this example, it is assumed that the logical volume for /home (lv-name homevol) is going to be expanded with the fresh disk space:

# umount /home
# fsck /dev/mapper/home
# cryptsetup luksClose /dev/mapper/home
# lvextend -l +100%FREE MyStorage/homevol

Now the logical volume is extended and the LUKS container comes next:

# cryptsetup open /dev/MyStorage/homevol home
# umount /home      # as a safety, in case it was automatically remounted
# cryptsetup --verbose resize home

Finally, the filesystem itself is resized:

# e2fsck -f /dev/mapper/home
# resize2fs /dev/mapper/home

Done! If it went to plan, /home can be remounted and now includes the span to the new disk:

# mount /dev/mapper/home /home

Note that the cryptsetup resize action does not affect encryption keys, and these have not changed.

Archのイメージ落としてきてUSBに入れて再起動しこのへんやって無事大きくなった

2020-09-25

Hacktoberfest登録した

hacktoberfest.digitalocean.com


健康を診断したら4cm伸びてた 見えなかったスーパーの什器の上が見えるようになったのは勘違いではなく本当に伸びていた可能性がある それにしても4cmが信じられなくもう1度測りたい

なんで伸びたんだろう? 普通に成人後も伸びるっぽいのでそれだと思うんだけど


ケチって買った970 EVO Plusの500GBが埋まってきたので1TBのM.2買ってきて挿した btrfs on luks on lvmなんだけど1.5TBとして使うか、そのまま同じ構成のlvm作ってrsyncでコピーしてしまうか悩む rsyncしよかな


銀行の住所変更を済ませた あんまり使ってない口座が2つあるのでそれも変えなきゃなあ


スマホが割れたので新しい端末を申し込んだ U12+なんだけどそろそろ買い替えたい

2020-09-24

個人サイトの進捗は、ない


/etc/pacman.conf を編集

[multilib]
Include = /etc/pacman.d/mirrorlist

でもいれる容量なさそう、断念。まずストレージ買わねば。

% btrfs filesystem usage /
WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root
Overall:
    Device size:                 465.24GiB
    Device allocated:            465.24GiB
    Device unallocated:            1.00MiB
    Device missing:              465.24GiB
    Used:                        455.56GiB
    Free (estimated):              1.86GiB      (min: 1.86GiB)
    Data ratio:                       1.00
    Metadata ratio:                   1.00
    Global reserve:              512.00MiB      (used: 0.00B)
    Multiple profiles:                  no

Data,single: Size:427.01GiB, Used:425.14GiB (99.56%)

Metadata,single: Size:38.23GiB, Used:30.41GiB (79.55%)

System,single: Size:4.00MiB, Used:80.00KiB (1.95%)

株式口座の住所変更や勤務先の変更等の手続きを行った

銀行口座、ゆうちょ銀行は窓口に行く必要があるようなので行かねば...

JP BANKカードもゆうちょと一緒っぽいので窓口でやる

JP BANKカードの勤め先だけ変更しておいた


健康診断の申込みをした。明日受ける。超偉い。


ルンバe5を注文した。レンタルしてからならi7選んだかもしれないけど沖縄は対象外でつらい。

2020-09-23 個人サイトへの機運はあるがまずOSS

自分で壊して自分で直す...💪

github.com


doctreeのmasterブランチが壊れてないかどうか、diffが出てないかどうかを確認出来るようにしておいた

github.com


REST, RESTful, ROA, Railsの設計について一筆する、がその前に個人サイト...と思ってr7kamuraさんの個人サイトのGemfile読んでいた

github.com

hibanaなるほど

rubygems.org


今朝異常に早く目が冷めたので星を撮りに行った


国勢調査にはDevToolsがべんり。UA偽装して済ませた。


4連休でリビングの床面積がルンバブルになっていたのでルンバを検討していた。 レンタルのサービスは沖縄が対象外だった。 もしルンバでうまく行かなかったとき10万円+失うと痛いので半額ぐらいのe5を買うことにする。


会社の人にキッズラインの紹介クーポン貰ってキッズライン登録した


保育園の見学日程がきまりハッピー


無限に予約ができない健康診断の予約を済ませた

雇入れ時の健康診断、コロナの影響で真の締切伸びているけど落ち着いてるうちに済ませるにこしたことはない


ゆうちょからのLINE Payへのチャージができなくなってしまった

普段遣いのお金口座からすぐ落とされてほしいのでデビットカードぐらしにしようか悩む

いいなと思ったらKyashでお金を下さい
20191128011151
GitHubスポンサーも受け付けています
https://github.com/sponsors/hanachin/