一応バックアップ

sudo parted -l
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 107GB
Sector size (logical/physical): 512B/512B                                                                                                                                                                                                                                     Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name              Flags                                                                                                                                                                                                        1      1049kB  51.5GB  51.5GB  ext4            Linux filesystem
 2      51.5GB  53.7GB  2145MB  linux-swap(v1)  Linux swap
 3      53.7GB  107GB   53.7GB  ext4            Linux filesystem


Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  982M     0  982M   0% /dev
tmpfs          tmpfs     200M   24M  177M  12% /run
/dev/vda1      ext4       48G   18G   28G  40% /
tmpfs          tmpfs    1000M     0 1000M   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs    1000M     0 1000M   0% /sys/fs/cgroup
/dev/vda3      ext4       50G   17G   31G  36% /data
tmpfs          tmpfs     200M     0  200M   0% /run/user/1000

cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/vda1 during installation
UUID=bec2c6ce-a9f5-4ebf-a264-065bcd55f2d4 /               ext4    errors=remount-ro 0       1
# swap was on /dev/vda5 during installation
UUID=8efef618-8831-4075-aae1-1d95730b25e8 none            swap    sw              0       0
UUID=f1304b76-c52f-41c5-9770-f8fadcf2f2d8 /data  ext4  defaults 0 2


 swapon -s
Filename                                Type            Size    Used    Priority
/dev/vda2                               partition       2095100 2094876 -1


sudo blkid
/dev/vda3: UUID="f1304b76-c52f-41c5-9770-f8fadcf2f2d8" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="0b483f43-b168-4a48-bc64-13428db0f42b"
/dev/vda2: UUID="8efef618-8831-4075-aae1-1d95730b25e8" TYPE="swap" PARTLABEL="Linux swap" PARTUUID="707f15c7-5c40-4501-949c-218fd115e7d9"
/dev/vda1: UUID="bec2c6ce-a9f5-4ebf-a264-065bcd55f2d4" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="dae9a827-082d-4aad-9438-f2da8cc6f62c"
ssh cho45@stfuawsc.com -C -t 'sudo dump -0u -f - /dev/vda1' > sakura-dev-vda1.dump
ssh cho45@stfuawsc.com -C -t 'sudo dump -0u -f - /dev/vda3' > sakura-dev-vda3.dump

upgrade後

h2o の再ビルド再インストール (libc の更新による)
perl 関係

  • DBD::mysql
  • cpanm install Crypt::OpenSSL::Random

rabitmq-server
mqtt proxy として使ってるが、再インストールして設定しなおした。

  1. トップ
  2. tech
  3. Ubuntu LTS 16 → 18 → 20

こうする

async function loadAsImage(svg) {
	return new Promise((resolve, reject) => {
		const svgXml = new XMLSerializer().serializeToString(svg);

		const blob = new Blob([svgXml], { type: 'image/svg+xml' });
		const url = URL.createObjectURL(blob);

		const img = new Image();
		img.onload = () => {
			URL.revokeObjectURL(url);
			resolve(img);
		};
		img.onerror = (e) => {
			URL.revokeObjectURL(url);
			reject(e);
		};
		img.src = url;
		console.log(url);
	});
}

const img = await loadAsImage(svg);
ctx.drawImage(img, 0, 0);

ポイント

XMLSerializer を使っているところ。svg.outerHTML だと HTML 的に解釈された svg なので、xmlns が入らず、単体の SVG としては正しくないものになっている。

ただ、ブラウザ自体は HTML の svg が xmlns を持っていることは知っているため、XMLSerializer を使うことで正しい svg にできる。

  1. トップ
  2. tech
  3. HTML5 の svg 要素 を canvas に描く方法


今まではスプールの外周で支えるタイプを使っていたけど以下の点で問題があった

  • スプールが歪んでいるとスムーズにおくれない
    • 最近は紙製のスプールが多く、割と歪みやすい
  • スプールが軽くなってくると台から外れてしまう
  • そもそもあまりスムーズではなく吐出量が安定しにくい

ということで、スプールホルダを一新することにした。

スプールを固定するボルトとナットを作り、そこに固定軸を貫通させるようにした。

TR30x6 という台形ねじにした。早くねじこみたいと思うとピッチを広くしたくなるが、Fusion360 だとピッチが広いねじだと台形ねじになるようだった。デフォルトだと3Dプリントしたときキツいので、ねじの面をメス側で0.2mmオフセットさせている。


ところで Fusion360 だとねじの面取りがあまり直感的ではなく、先に穴に対して面取りをかけてからねじを作成し、面取りのフィーチャをねじの作成後に移動するという手順を踏まないといけない。

メス側を完全に貫通にすることで、ボルトをつけたままスプールホルダだけつけはずしできる。

ボルトをハメるだけの簡単な構造。

ボックス的にギリギリ3つのスプールが収められる感じなので、軸が干渉しないように工夫してある。軸の位置を、上下に若干ずらし斜めにすべらせて設定する構造に。


アスベル キッチンボックス 17L 「ウィル」 NF-45 - アスベル

アスベル

5.0 / 5.0

  1. トップ
  2. tech
  3. 3D プリンタのスプールホルダーを一新