dotnet new install Microsoft.NET.Runtime.WebAssembly.Templates
2025/12/29 月曜日
2025/12/8 月曜日
ドライブ入れ替え
旧から新ドライブへデータをコピーをしてから
> robocopy <src> <dst> /E /MIR /COPYALL /DCOPY:T
旧ドライブを外して、新ドライブのドライブレターを合わせて完成
そんなにデータは多くないので手間も掛からなかった
2025/10/18 土曜日
VSCode拡張機能を移動
Windowsの起動直後ならロックされていなかった
どうやら、一度でもVSCodeを実行してしまうとVSCodeを終了しても掴みっぱなしになるようだ。シンボリックリンクで無事移動完了。
> Move-Item "%env:USERPROFILE\.vscode\extensions" "F:\VSCode" > New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.vscode\extensions" -Target "F:\VSCode\extensions"
リンクの削除は
> Remove-Item "$env:USERPROFILE\.vscode\extensions"
PowerShellだとだいぶコマンド違うな、ありがとう>CoPilot
2025/10/16 木曜日
nuget packages
少しでもドライブの空き領域を広げようと調べていると
結構な容量を食っていたのがNugetのパッケージだった。このリポジトリを移動させるにはユーザー環境変数に書き込めばいいらしい
NUGET_PACKAGES = path/to/nuget/packages
VSCodeの拡張機能も移動させたいのだが、フォルダーにLockが掛かってて外せない、、、
2025/2/21 金曜日
emscripten #2
ここを参考に、sshで直接コンテナに入れるように改良。vscodeにDWARF pluginを入れてリモートでコンテナに入りデバッグするとCのソースコードレベルでブレークポイントが効くようになった。
FROM ubuntu:24.04
RUN apt update \
&& apt -y upgrade \
&& apt clean && rm -rf /var/lib/apt/lists/*
RUN apt update \
&& apt -y install tzdata \
&& apt clean && rm -rf /var/lib/apt/lists/*
ENV TZ=Asia/Tokyo
RUN apt update \
&& apt -y install --no-install-recommends build-essential \
&& apt clean && rm -rf /var/lib/apt/lists/*
RUN apt update \
&& apt -y install git cmake wget python3 openssh-server vim \
&& apt clean && rm -rf /var/lib/apt/lists/*
# emscripten ##########################
ARG EMSDKDIR=/opt/emsdk
RUN git clone https://github.com/emscripten-core/emsdk.git ${EMSDKDIR}
RUN cd ${EMSDKDIR} \
&& ./emsdk install latest \
&& ./emsdk activate latest
RUN echo "source ${EMSDKDIR}/emsdk_env.sh" >> ~/.bash_profile
# sshd ################################
RUN mkdir -p /var/run/sshd
RUN echo 'root:password' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i 's/#PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
services:
emsdk:
build: ./
extra_hosts:
- "host.docker.internal:192.168.10.180"
working_dir: /root/src
tty: true
stdin_open: true
volumes:
- ./src:/root/src
ports:
- 8080:8080
- 2222:22
- 9223:9223
2025/2/20 木曜日
emscripten
wasmにソースのfull pathが入ってしまい、dockerでvolumeしてるlocalから拾ってくれない。javascriptはいけるんだが、コンテナ直にsshで入らないとダメか?
chromeの拡張機能に設定があるが効かない、、、
$ EMCC_DEBUG=1 emcc hello.c -o hello.html # default debug build $ emcc -O0 -g3 -gsource-map hello.c -o hello.html # manual debug build $ emcc -O0 -g -gsource-map -gseparate-dwarf=hello.debug.wasm -s \ SEPARATE_DWARF_URL="file://~/source/docker_emscripten/src/hello.debug.wasm" \ hello.c -o hello.html $ emrun --no_browser --port 8080 . # run http test server
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome",
"type": "chrome",
"request": "launch",
"url": "http://localhost:8080",
"port": 9223,
"runtimeArgs": [
"--new-window",
"--remote-debugging-port=9223"
],
"runtimeExecutable": "canary",
"webRoot": "${workspaceRoot}/src"
}
}
2025/2/16 日曜日
ブレークポイントで止まらない
随分悩む、、、同じ症状で悩む人のサイトを発見
xdebugが”host.docker.internal”を引き当てられないらしく、”extra_hosts”を指定すると動いた
FROM php:8.2-apache
RUN pecl install xdebug && \
docker-php-ext-enable xdebug
RUN touch /var/log/xdebug.log && chmod a+w /var/log/xdebug.log
services:
web:
build: ./
extra_hosts:
- "host.docker.internal:192.168.10.180"
volumes:
- ./php/php.ini:/usr/local/etc/php/php.ini
- ./src:/var/www/html
ports:
- 8080:80
[xdebug] xdebug.client_host = host.docker.internal xdebug.mode = debug xdebug.start_with_request = yes xdebug.discover_client_host = 0 xdebug.remote_handler = "dbgp" xdebug.client_port = 9003 xdebug.log="/var/log/xdebug.log"
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceRoot}/src"
}
},
dockerでsystemctlを使う方法
PID=1が”init”になるようにする
FROM php:8.2-apache
COPY src/ /var/www/html/
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y install \
init \
systemd \
git \
zip \
services:
app:
build:
context: "."
privileged: true
command: /sbin/init
ports:
- 8080:80
volumes:
- ./src:/var/www/html
- ./php/php.ini:/usr/local/etc/php/php.ini
2025/2/12 水曜日
2025/1/30 木曜日
raspbian11 hdmi soundの怪
Raspbian11で音が出ない、、、
$ aplay /usr/share/sounds/alsa/Front_Center.wav 再生中 WAVE 'Front_Center.wav' : Signed 16 bit Little Endian, レート 48000 Hz, モノラル aplay: set_params:1349: チャネル数が使用不可能
hdmiから音を出すのはvc4hcmi(MAI PCM i2s-hifi-0)だと思うのだが、raspbian10とドライバ名が異なる
$ cat /proc/asound/pcm
00-00: bcm2835 Headphones : bcm2835 Headphones : playback 8
01-00: MAI PCM i2s-hifi-0 : MAI PCM i2s-hifi-0 : playback 1
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: Headphones [bcm2835 Headphones], デバイス 0: bcm2835 Headphones [bcm2835 Headphones]
サブデバイス: 8/8
サブデバイス #0: subdevice #0
:
中略
:
サブデバイス #7: subdevice #7
カード 1: vc4hdmi [vc4-hdmi], デバイス 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
$ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default
output
hw:CARD=Headphones,DEV=0
:
中略
:
Hardware device with all software conversions
sysdefault:CARD=vc4hdmi
vc4-hdmi, MAI PCM i2s-hifi-0
Default Audio Device
hdmi:CARD=vc4hdmi,DEV=0
vc4-hdmi, MAI PCM i2s-hifi-0
HDMI Audio Output
dmix:CARD=vc4hdmi,DEV=0
vc4-hdmi, MAI PCM i2s-hifi-0
Direct sample mixing device
で、hdmiで鳴らしてもダメ
$ aplay -D hdmi:CARD=vc4hdmi,DEV=0 Front_Center.wav 再生中 WAVE 'Front_Center.wav' : Signed 16 bit Little Endian, レート 48000 Hz, モノラル aplay: set_params:1349: チャネル数が使用不可能
そしてsysdefaultだと鳴る
$ aplay -D sysdefault:CARD=vc4hdmi Front_Center.wav 再生中 WAVE 'Front_Center.wav' : Signed 16 bit Little Endian, レート 48000 Hz, モノラル