Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
sudo - はてな匿名ダイアリー
[go: Go Back, main page]

「sudo」を含む日記 RSS

はてなキーワード: sudoとは

2025-07-04

[] WSL2 USBカメラ+他のUSB機器 2022年01月17日

[Deprecated] WSL2 USBカメラ+他のUSB機器 2022年01月17日

環境Windows11 + WSL2 5.10.60.1 + Ubuntu20.04

WSL2 Linux Kernel 5.10.60.1 からKernelモジュールUSBIP対応標準的に組み込まれ

2022年01月17日時点の最新カーネルは 5.10.74.3

以下すべての手順の Windows Terminal を使用する箇所は管理者権限で実行

WSLのカーネルアップデートusbipd-winインストール

Windows Terminalで実行

> wsl --update

> wsl --status

カーネル バージョン: 5.10.60.1

> winget install --interactive --exact dorssel.usbipd-win

WSLのディストリビューションを起動(WSL2起動用アイコンマウスクリックして起動してもよい)

> wsl --list

LinuxWindows サブシステム ディストリビューション:

Ubuntu-20.04 (既定)

> wsl -d Ubuntu-20.04

追加パッケージインストール sudo apt install linux-tools-5.4.0-77-generic hwdata

visudo で secure_path の先頭に /usr/lib/linux-tools/5.4.0-77-generic: を追記する。

visudo編集するファイルは、ダブルコーテーションの入力漏れコロンセミコロンに打ち間違えたりすると sudo必要コマンド類が一切使用できなくなるので慎重に実施する

私は深夜に寝ぼけてコロンセミコロンに打ち間違えて apt コマンドすら実行できなくなりました

参考

https://www.imdb.com/de/list/ls599665082/

https://www.imdb.com/de/list/ls599665082/copy/

https://www.imdb.com/de/list/ls599665597/

https://www.imdb.com/de/list/ls599665597/copy/

WSL2 USBカメラ+他のUSB機器 2022年09月06日版

WSL2 USBカメラ+他のUSB機器 2022年09月06日版

OSWindows11 21H2

OSビルド:22000.918

WSL2 5.10.102.1 + Ubuntu20.04

WSL2 Linux Kernel 5.10.60.1 からKernelモジュールUSBIP対応標準的に組み込まれたらしいが、Microsoft公式提供しているKernelや手順ををそのまま使用すると動作しない


2022年09月06日時点の最新カーネルは 5.15.62.1 だが、wsl --update で展開されるバージョンが 5.10.102.1 だったため 5.10.102.1 を使用する

以下すべての手順の Windows Terminal を使用する箇所は 管理者権限 で実行

以下、[WT] は Windows Terminal、[Ubuntu] は Ubuntu側のbashを表す

WSLのカーネルアップデートusbipd-winインストール

[WT] Windows Terminalで実行

> wsl --update

> wsl --status

カーネル バージョン: 5.10.102.1

> winget install --interactive --exact dorssel.usbipd-win

見つかりました usbipd-win [dorssel.usbipd-win] バージョン 2.3.0

このアプリケーションは所有者からライセンス供与されます

Microsoftサードパーティパッケージに対して責任を負わずライセンス付与しません。

Downloading https://github.com/dorssel/usbipd-win/releases/download/v2.3.0/usbipd-win_2.3.0.msi

██████████████████████████████ 10.4 MB / 10.4 MB

インストーラハッシュが正常に検証されました

パッケージインストールを開始しています...

インストール完了しました

[WT] Ubuntu 20.04 のインストール

> wsl --install --distribution Ubuntu-20.04

[WT] WSLのディストリビューションを起動(WSL2起動用アイコンマウスクリックして起動してもよい)

> wsl --list

LinuxWindows サブシステム ディストリビューション:

Ubuntu-20.04 (既定)

> wsl -d Ubuntu-20.04

[Ubuntu] 追加パッケージインストール

sudo apt update

sudo apt install -y linux-tools-5.4.0-77-generic hwdata

sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

[WT] WSLの再起動

> wsl --shutdown

> wsl -d Ubuntu-20.04

PCUSBカメラ接続する

[WT] USBカメラusbipd に認識されることを確認する (この記事では 2-7)

> usbipd wsl list

BUSID VID:PID DEVICE STATE

2-2 056e:00d9 USB 入力デバイス Not attached

2-3 1c4f:0027 USB 入力デバイス Not attached

2-7 1bcf:2284 Full HD webcam, USB microphone Not attached

2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached

2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached

[WT] USBカメラUbuntu側にアタッチする(アタッチ成功した場合は何も表示されない)

> usbipd wsl attach --busid 2-7

>

[WT] USBカメラが正常にアタッチされていることを確認する(Attached と表示されていれば成功

> usbipd wsl list

BUSID VID:PID DEVICE STATE

2-2 056e:00d9 USB 入力デバイス Not attached

2-3 1c4f:0027 USB 入力デバイス Not attached

2-7 1bcf:2284 Full HD webcam, USB microphone Attached - Ubuntu-20.04

2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached

2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached

[Ubuntu] Ubuntubashログオンした既定のユーザを video グループ所属させる。なお、WSLを起動した時点で既に追加されているメッセージが表示される。

$ sudo adduser $USER video

[Ubuntu] WSL2上の Ubuntu20.04 の中からUSBカメラ認識されていることを確認する。 lsusb コマンドを経由すると正常にUSBカメラ認識されているが、/dev/video* にはUSBカメラが列挙されない

$ lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 003: ID 1bcf:2284 Sunplus Innovation Technology Inc. Full HD webcam

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ ls -l /dev/video*

ls: cannot access '/dev/video*': No such file or directory

[Ubuntu] USB CameraがWSL内で認識されるようにLinuxカーネルカスタムビルドする。下記リポジトリの手順通りに実施すると、WSL Linuxカーネルカスタムビルドされたものに入れ替わる。注意点は、<windows username> の部分だけは各自環境Windowsユーザー名に手で書き換える必要が有ること。なお、.wslconfig は 絶対windows 側で編集してはならない。絶対に。

[WT] WSLをシャットダウンし、その後起動する

> wsl --shutdown

> wsl -d Ubuntu-20.04

[WT] USBカメラusbipd に認識されることを確認する (この記事では 2-7)

> usbipd wsl list

BUSID VID:PID DEVICE STATE

2-2 056e:00d9 USB 入力デバイス Not attached

2-3 1c4f:0027 USB 入力デバイス Not attached

2-7 1bcf:2284 Full HD webcam, USB microphone Not attached

2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached

2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached

[WT] USBカメラUbuntu側にアタッチする(アタッチ成功した場合は何も表示されない)

> usbipd wsl attach --busid 2-7

>

https://www.imdb.com/de/list/ls599665017/

https://www.imdb.com/de/list/ls599665017/copy/

[WT] USBカメラが正常にアタッチされていることを確認する(Attached と表示されていれば成功

> usbipd wsl list

BUSID VID:PID DEVICE STATE

2-2 056e:00d9 USB 入力デバイス Not attached

2-3 1c4f:0027 USB 入力デバイス Not attached

2-7 1bcf:2284 Full HD webcam, USB microphone Attached - Ubuntu-20.04

2-11 0495:3011 ESS USB DAC, USB 入力デバイス Not attached

2-14 8087:0029 インテル(R) ワイヤレス Bluetooth(R) Not attached

[Ubuntu] WSL2上の Ubuntu20.04 の中からUSBカメラ認識されていることを確認する

$ lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 003: ID 1bcf:2284 Sunplus Innovation Technology Inc. Full HD webcam

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ ls -l /dev/video*

crw------- 1 root root 81, 0 Sep 6 17:29 /dev/video0

crw------- 1 root root 81, 1 Sep 6 17:29 /dev/video1

[Ubuntu] USBカメラがWSL2の中から認識されることを確認するテストコード作成する

$ pip install opencv-contrib-python

$ cat << 'EOT' > ${HOME}/usbcam_test.py

import cv2

W=640

H=480

cap = cv2.VideoCapture(0)

cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G'))

#cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('Y','U','Y','V'))

cap.set(cv2.CAP_PROP_FRAME_WIDTH, W)

cap.set(cv2.CAP_PROP_FRAME_HEIGHT, H)

cap.set(cv2.CAP_PROP_FPS, 30)

https://www.imdb.com/de/list/ls599660855/

https://www.imdb.com/de/list/ls599660855/copy/

while True:

ret, frame

ONNX -> TFLite, TensorFlow, Keras, TFJS, CoreML 変換

ONNX -> TFLite, TensorFlow, Keras, TFJS, CoreML 変換

自作ツール onnx2tf

実装している機能が多すぎるので、この記事表現していない変換オプションはREADMEを参照。TransformerやSTTやTTSやその他もろもろの一発変換に対応したつもり。onnx-tensorflow より推論効率が高いモデルを生成できる。また、onnx-tensorflowよりも対応しているオペレーションの種類が多い。

コントリビューター

コード量(code = 行)

cloc .

419 text files.

414 unique files.

174 files ignored.

----------------------------------------

Language files blank comment code

----------------------------------------

Python 300 4820 6637 37182

JSON 27 109 0 3107

Markdown 5 343 0 2061

YAML 7 42 79 586

Dockerfile 1 6 3 38

----------------------------------------

SUM: 340 5320 6719 42974

----------------------------------------

2. 使用方法

onnx==1.13.1

onnxruntime==1.13.1

onnx-simplifier==0.4.17

onnx_graphsurgeon

simple_onnx_processing_tools

tensorflow==2.13.0rc0

2-1. インストールサンプルモデルダウンロード

docker

docker run --rm -it \

  • v `pwd`:/workdir \
  • w /workdir \

ghcr.io/pinto0309/onnx2tf:latest

pip

pip install onnx2tf -U

モデル

wget https://github.com/PINTO0309/onnx2tf/releases/download/0.0.2/resnet18-v1-7.onnx

2-2. 基本の「き」

TFLite を出力。

onnx2tf -i resnet18-v1-7.onnx

2-3. 基本の「ほ」

TFLite変換 + 完全体の saved_model を出力。

onnx2tf -i resnet18-v1-7.onnx -osd

2-4. 基本の「ん」

TFLite変換 + 全OPの精度チェック。

onnx2tf -i resnet18-v1-7.onnx -cotof

2-5. Keras

.h5 はイロイロと問題があるので、現状最新のフォーマット keras_v3 フォーマットで出力。

onnx2tf -i resnet18-v1-7.onnx -okv3

.h5 を生成するとき

https://www.imdb.com/es/list/ls599679681/

https://www.imdb.com/es/list/ls599679681/copy/

onnx2tf -i resnet18-v1-7.onnx -oh5

2-6. TFLite の入出力名を魔改造

# Custom flatc binary for Ubuntu 20.04+

# https://github.com/PINTO0309/onnx2tf/issues/196

wget https://github.com/PINTO0309/onnx2tf/releases/download/1.7.3/flatc.tar.gz \

&& tar -zxvf flatc.tar.gz \

&& sudo chmod +x flatc \

&& sudo mv flatc /usr/bin/

# Custom flatc binary for Windows

# Set the environment variable paths appropriately on your own.

# https://github.com/PINTO0309/onnx2tf/issues/196

https://github.com/PINTO0309/onnx2tf/releases/download/1.7.3/flatc.exe

onnx2tf -i resnet18-v1-7.onnx -coion

https://www.imdb.com/es/list/ls599679368/

https://www.imdb.com/es/list/ls599679368/copy/

TorchVision (MobileNetV3 Large) -> ONNX -> TFLite (シグネチ

TorchVision (MobileNetV3 Large) -> ONNX -> TFLite (シグネチ

環境

Intel Corei9 Gen.10

Ubuntu 22.04

TorchVision

ONNX

TensorFlow

パッケージインストール

sudo apt-get update \

&& sudo apt-get install -y flatbuffers-compiler

https://github.com/saiyaara-firmytt-hqq

pip install -U onnx==1.14.0 \

&& python -m pip install onnx_graphsurgeon \

--index-url https://pypi.ngc.nvidia.com \

&& pip install -U onnx-graphsurgeon \

&& pip install -U onnxruntime==1.15.1 \

&& pip install -U onnxsim==0.4.33 \

&& pip install -U simple_onnx_processing_tools \

&& pip install -U onnx2tf \

&& pip install -U h5py==3.7.0 \

&& pip install -U psutil==5.9.5 \

&& pip install -U tensorflow==2.13.0 \

&& pip install torch torchvision torchaudio \

--index-url https://download.pytorch.org/whl/cpu

https://github.com/ph-m-dien-anh-ut-lan-vitesu-moi

2025-06-24

ネガティブ発言が多いので、評価できません

で、エンジニアが切られていく現場って、終わってると思う。

1人2人じゃなく、何人もがプロジェクトの進行やばい、って声を上げてる状態なんだが。

今のやり方だとどう考えても期日に間に合いません。

こうしたらどうでしょう

作業順番的にここを先にやっておかないと、大量の手待ちが発生します。

いや、最初合意したスケジュール通りにドキュメントを整備してください。

う〜ん、手空き時間にこっちやっておくか……。

勝手作業はしないでください。

この機能、裏でこういう仕組みとこう言う仕組みが必要なんですが、先に作っておかないと実装できなくなりますよ。

最初合意したスケジュール通りにドキュメントを整備してください。

結果、タスクの大渋滞

大量の手待ち発生。

外で待たせている業務委託エンジニアに渡せる作業がない。

エンジニアの頭数だけが積み上がってる。

スケジュールどんどん押していく。

タスク消化率は悪くない?

そりゃ、消化しやすいやつから手をつけてるからそう見えるだけで、未決定なものとか難易度高いタスクがかなり後回しにされてるんだけど、タスク粒度バラバラででかいのが残ってるんだけど、それでもタスクの数で消化率出して大丈夫なんか? w

う〜ん、進行が遅いから、エンジニアを追加召喚

いや、そこじゃねぇだろ。

からから増えていく必要な仕組み。

いや、後から増えてるんじゃなく、もうだいぶ前に指摘してたよね?

miroちゃんと図、描いてたよね?

最初から見えてた要素だよね?

「そういうネガティブ発言は控えてください」

………………。

君さ、ガントひいてたよね?

今どれくらいのビハインドなん?

……、作業タスク化して……、上から順に人を割り当ててる?

依存関係とか整理してる?

一応してる?

なら手待ちとかそんな頻繁に発生するはずないんだけどな……。

え? 作業タスクは、画面から作った?

要件仕様書書いて、画面デザイン起こして、ER図書いて、API設計書まで書けば、あとは人海戦術実装すればOK

DDDSUDOモデリングで正しくやってる?

……あー、そう……。

SUDOモデリングの時点で、大間違いなんだが w

ほら、その手法取るから、後からから矛盾が溢れてくる。

裏で動く部分は考えた?

ありものフレームワーク使えばいける?

うん。フレームワーク種別で言えば、一致してはるけど、このサービス要求する仕様にはマッチしてる?

サンプル書いて、上手く使えそうだって検証はした?

その検証方法問題ないの?

え? ドキュメントちゃんとまとめてるから問題ない?

利用パターン抽出して、どのパターンでも対応できるって確認してるように見えないんだけど。

普通DDDでやることなんだが……。

え? 検証はしたんだからネガティブ発言はするな?

このサンプル、ドメインロジックフレームワークの要素ががっちり編み込まれて密結合になってるけど、大丈夫

え? フレームワークサンプル参考にしてるんだから、正しい?

ネガティブ発言はするな?

………………。

なんだろ?

YouTube犬小屋DIY動画見つつ、2世帯3階建ての家建ててる感が半端ない

流石にやばいだろ、って真っ当なエンジニアが声を上げてんのに、なんで「ネガティブ発言が多いので、評価できません」とか上から目線で言われるか、全然理解できねぇ。

君らにはどういう世界線が見えてんの?

真顔で言おう。

カスであると。

実際、スケジュールは最速でも4ヶ月遅れに見えるんだけど。

この規模、複雑度でこの開発プロセスだと、終盤にあちこちで衝突が起こって、その場しのぎの対応するしかできなくて、テスト網羅性を欠くので、全く品質担保できないんだが……。

これは楽観的というのではなく、無知に起因する無謀だよな。

まぁ、もう無関係の人になるので w

2025-06-11

ubuntu24 LTSで snapdとかいうアホなモジュールが原因で起動しない

これは再インストールかなあ。

まさか復旧にネットワーク必須というアホなモジュールubuntu採用するとは思わなかった。

開発者が薬とか飲みすぎて頭おかしくなかったんかな。

いかれてるよ。






いつものようにsambateratermubuntu24 LTSにアクセスして作業していたら突然の切断。

そして起動しない。

グラボをさしてディスプレイをつなげてみると、

mount /snap/core22/1908: special device /var/lib/snapd/snaps/core22_1908.snap does not exist.

can't look blockdev

みたいなエラーメッセージが出ていて、よくわからないけどネットワークブートをしたいのか1分カウントダウンをしていた。

そして、1分経つと非常モードlinuxが起動した。

ただし、NIC認識していないっぽくてネットワークには出れない。


しかないので、エラーメッセージを手で描き移すという原始人みたいなことをしながらchatgpt先生に聞いてみると、どうやらsnapdが壊れてしまったみたいだ。

このSSDを別のマシンに刺してみると、パーティションは生きているmountもできる。

とりあえずtarバックアップを取った。SSDデータは無事らしい。

さて復旧なんだけど・・・これができないんだよな。

/var/lib/snapd/snaps/core22_1908.snap がないならコピーすればいいじゃんということでコピーを試みるも、正常に動作するubuntu24マシンにはそんなファイルはない。

何よりsnapdがうごいていないっぽい。

同じUSBからインストールしたOSのはずなのに意味わからん

しかたないので、chrootしてsnap refresh coreを実行することにした。

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

# chroot内で
snap refresh core

chatgptがいうにはこうやると復旧できるらしいが、失敗!

error: cannot communicate with server: Post "http://localhost/v2/snaps/core": dial unix /run/snapd.socket: connect: no such file or directory

やはり、ちゃんと動く方のubuntu24には snapdはいないようだ。

このsnapdとかいゴミはどうなっているんだ。

意味わからん杉。

パーテーションちゃんと見えるのに、grubとかでkernelは起動しているのに、snapdとかゴミが正しく動作しないだけでOSの再インストールをしないといけなさそうだ。

余計な手間を増やすんじゃないよ。

ubuntuインストーラーのUSBをさして、nic認識させたらCtrl+F1..F6とかでインストーラから飛び降りてmountして復旧する作戦も試してみた。

nic認識したので通信もできる。

snap refresh coreを発行するとやはりエラー

もう知らん消すと apt purge snapd とやった。

そしたら起動時のエラーは消えたけどやはり緊急モードしか起動しない。

もういいよ。バックアップを取っているし、再インストールしよう。

あーあ、ゴミモジュールのためにOSインストールなんてwindowsよりひどいんだけど。

最近linuxはいったいどうしちまったんだ?

デカくて複雑なプロジェクトウォーターフォール

やるの、無理(やってやれないことないけど、厳密に計画してウォーターフォールを何回も回さないと無理で、それぞれの計画から要件定義からよほど知見がある人じゃないと無理。そこらへんの素人には無理、なので無理)って指摘したら、「『個人的経験をもとに』ネガティブ発言を繰り返す」扱いされて、マジ呆れた。

個人的経験じゃなく「工学的知見」やろ。

DDDTDDクリーンアーキテクチャマイクロサービス等々、何のために捻り出されたと思ってんだよ。

実際、指摘した通りの現象に陥ってるじゃねぇか。

したら、「陥らないように行動するのが仕事じゃないですか?」

とかわけわからんこと言ってくる。

工学的知見に基づいて、この規模、複雑度のプロジェクトを、画面駆動開発のウォーターフォールでやるのは無理だと言っているのに、ウォーターフォール解決しろって、お前、何言ってんだよ、と。

# ちなみに、ドメイン駆動開発 with Sudoモデリング採用していると主張している。いや、Sudoモデリングの時点でドメイン駆動じゃねーじゃねーか w

まだ実装フェーズじゃないので。

とか言って、依存関係考えてないから、どこがどうなるか確定した場所が少なすぎて、プロジェクトスタックし始める。

ちゃんと指摘して、アイディア出してあったよな?

基礎の組み方、配管の通し方から、同居予定のばあちゃんの1週間の着替えパターンまでを、同一ラインで扱って、全部確定するまで実作業をしないで家を建てるなんてアホウはそうそうおらんぞ。

そういう現場でもガントチャートがある不思議……。

見た目はびっしりしてるんだけどね。

けどね。

けど……。

昨日、離脱すると正式に決まって、今朝は久しぶりにちゃんと寝れた。

1ヶ月以上、考えすぎて寝れてなかったからな。

こういうのが「できるプロマネ」扱いされてて、絶望する。

2025-04-30

プロダクトが炎上する理由

まぁ、大体パターンはある。

いわゆる「勝ちに不思議の勝ちあり。負けに不思議の負けなし」ってやつ。

今の現場もそうで、どうしようかなー、ってなってるんだが。

「できるエンジニアはたくさんのサービスフリーライブラリを知っている」

的な浅薄思い込みから

設計カタログショッピングになっている」

ってのが、たぶんでかい

まずサービスとかライブラリ評価から始めるんだよね。

仕様に書き出されてる単語を並べてググったり、AI叩いたり。

これの何が良くないのかって言ったら、「そのプロダクトに必要なコンセプトを深掘りしない」ので、個々の小さい処理に引きづられて複雑な構成を前提にしてしまうということと、その複雑な構成をフルにカバーできるさらに複雑でリッチライブラリなりサービスを、業務経歴書に書けるって理由も大きく影響しつつ、選択して、プロダクトの必要な部分とその複雑な仕様の間を無理ぐり埋めることで、複雑な上に歪んだ、9割以上「間違えた」使い方を、プロダクトの基本部分の凸凹にピッタリと縫い付けてしまって、取り外しできなくしてしまうということの2点だ。

こいつは、DDDとは対極にある手法なんだが、なぜかDDD採用してますって組織でよくみられる光景だったりする。

まりDDDすら、プロダクトのコンセプトを深掘りしないで、カタログ捲って目について、「こいつは業務経歴書に書ける!」ってんで表面的に採用して、大した理解もできないままチームの技術力とのギャップを無理ぐり埋めて誤魔化して、にっちもさっちも行かなくなる。

しばらくしたら炎上始めるから逃げる。

ってパターンよな。

できるエンジニアはたくさんのサービスフリーライブラリを知った上で、そのプロダクトに必要なコンセプトを深掘りして、徹底的に抽象化簡素化して設計してるんです。

Sudoモデリングみたいな画面帳票駆動権化みたいなうんこ手法なんて、やりません。

そもそも「たくさんのサービスフリーライブラリを知った」ってのも、諸元表とか機能表とか「表」や提供者の広告記事を誦じてるんじゃなく、どういう経緯で設計実装されていて、裏でどういう処理がされていて、どういう癖があるかを把握している、っていう点で、多分別物だったりする。

この辺り、やってる連中は同じことをやってると思い込んでるみたいだけど、やってること、「全く違います」。

から炎上するんです。

2025-04-22

ChromebookDB Browser for SQLiteを使う

・設定でLinux環境有効

sudo apt-get install sqlitebrowser

Qt使ってるので、chrome://flags/で"Crostini IME support for Qt applications"をEnabledにして再起動

これだけで日本語普通に入力できてた(あとでnotoフォント入れておく

数年前のブログ記事を見てると、Mozc入れたり面倒くさかったっぽいな

2025-04-13

sudoモデリングは正しい、聖杯だぁぁっ! って人。別に止めない

困るの、おいらじゃないし w

DDDは帳票・画面駆動開発のアンチテーゼなのだからsudoモデリング矛盾じゃないか

今の現場で信奉されているんだが、おいおいおいおい、考える頭がねーな、AI駆逐されてぇのか? SIer仕草のままじゃねーか。

と呆れてものも言えん。

90年代の、箱庭的な単機能小規模完納プロダクトなら帳票・画面駆動開発で十分だったが、常に成長し続ける宿命を背負った多機能Webサービスでは、帳票や画面遷移、デザインから立ち上げたら、絶対に発生する手戻り、仕様変更についていけなくなるだろ? ってアンチテーゼとしてドメイン駆動開発が提案されたんだけどな。

手戻り、仕様変更ドメインのコンセプト、概念に沿って発生する。

というのが基本アイディアだ。

帳票・画面という具象はあえて捨象し、コンセプトという抽象昇華することが本質ということだ。

抽象思考不自由エンジニアが、すぐに具象に飛びつきたくなるのはわからんではないが、それによって以前の帳票・画面駆動開発のマイナスが消せてるか? w

画面、帳票のグルーピングをしてるだけじゃねーか w

本当のDDD観点からすれば、帳票・画面は、ドメインコンセプトの一断面での切り出しに過ぎない。

如何様にも切り出せる。

足りなきゃアトリビュートを追加すれば済む。

手戻り、仕様変更なんて、道端の犬糞の向きを変えるほどの手間ですらない。

一旦ドメインコンセプトを実装したら、他の機能ほとんどは、それをどう適用するか、パラメータレベルの違いしかない。

ドメインコンセプトレベル検証(テスト)すれば、いくら機能が増えようが、パラメータ検証だけで済む。

こちらがTDD、DevOpsに繋がる。

Do you understand ?

こちとら、オライリー本のつまみ食いとか三下が書くWeb記事をありがたがって鵜呑みしてやってるわけではない。

他のいろんなエンジニアが同じことに悩み始めていた20年以上前クライアントの先輩エンジニアにヒントをもらって始めた内容だ。

当時、上司設計交渉を続けていたが、毎度毎度仕様変更が入り、何かずれているんでしょうか? と聞いた。

「君は僕たちの業務理解できてない。僕たちにとって〇〇がどういうものか。僕が足りないと感じるのは、君がその要素を理解できていないからだ」

とヒントをくれて、気がついた。

「僕たちにとって〇〇がどういうものか」

まり、その業務(ドメイン)のコンセプトを無視したら、利用者が本当に欲しいものが実現できないし、手戻りが発生したら対応できないし、変更についていけない。

そりゃ当然だ。

そのドメインのコンセプトの集合体、「ドメイン世界」と一致してないから。

手戻り、仕様変更、いずれにおいても障害が生じるのは、そのねじれのせいだからだ。

コピペして無意味な消し忘れをしたジュニアエンジニアカーゴカルトプログラミングと笑う無能エンジニアをたくさん見てきたが、この手のWebの何の根拠もない言説を鵜呑みにして、検証することもなく、HowToの上っ面だけをなぞる猿こそ、何百倍も罪深いカーゴカルトエンジニアだと、自覚しろよ。

お前のことだよ。

お前の語るのはDDDじゃない?

じゃ、お前のやってるそれは、問題解決してるか? w

お前のDDDこそ、無意味なハリボテだ。

2025-02-22

WhipperによるCDリッピング入門

家にCDがあるんだけど、

100円でCD買ったんだけど、

そのままだとあんまり聞かないよね

という人にはリッピングという選択肢があるよ

リッピングとはCDの音声データを取り出すことだよ

音声データCDから取り出したあとは、

好きなデバイスで、好きな場所で聴けばいいよ



どうせ音声データを取り出すなら、いい音質で聴きたい

そういう人のために、

Linux だと、

Whipperという、高機能リッピング用のパッケージがあるよ

sudo apt install whipper

でWhipperはすぐにインストールできるよ(Debian系のディストリビューション場合


Whipper ではいろいろなことができるけど、

whipper cd info

whipper cd rip

を打ち込めば、とりあえずリッピング自動でできるよ

デフォルト設定だと、flacというファイル形式データを取り出すようになっているよ

Whipper はCDメタデータ自動的に読み込んで、

アルバム名、曲名アーティスト名とかのデータを付加したファイルを作ってくれるよ

あとはスマートフォンかに音声データを入れて聴くだけ🎧

珍しいCDとか古いCDだと、whipperがメタデータを見つけられないことがあるよ

その時はエラーメッセージが出て、MusicbrainzというサイトCD登録するようお勧めされるよ

MusicbrainzはフリーCDメタデータデータベースだよ

エラーメッセージの下の方に、だいたい、CDDBというデータベースから見つかった、正しい情報が載っているよ、でもこれはそのままでは使えない)

表示されているMusicbrainzのURLブラウザに貼り付けると、CD登録画面に行くよ

(初回は無料アカウント作成ログイン必要だよ)

Musicbrainz で検索すると、

膨大な情報の中から探しているCDをかなりの確度で探し出してくれるよ

そしたらCD登録するよ


登録が終わったら、もう一回

whipper cd rip

を実行するよ

そしたらメタデータがきれいに入った状態で音声データファイル作成できるよ

これだけ


Whipper は読み取りエラーを最小にして、

CDから忠実に音声データを取り出すことを優先して作られてるから

リッピングには時間がかかるよ

気長に待とう


メタデータがどうしても見つからない場合は、

いったん情報不明CDとしてリッピングをしてしまってから

ChatGPTとシェルスクリプトを使って、自分メタデータを一括入力する方法があるよ

それはまた別の機会に


それでは楽しいリッピングライフを!

私的使用のための複製範囲内でね

2024-12-04

anond:20241204180059

しゃーない、ワイがおすすめインプレス記事貼るゾンビになるやで

ASMR好き編集部員、4400円で“ASMRの魅力が味わえる”AZLA「AIM C」使ってみた - AV Watch[Sponsored]

イヤピだけで1500円くらいの価値あると思うからお得やで…いやこれ6ペアやん、もっと価値あるで

このシリーズ2ペアでも1000円ちょいしてたやつの改良版やねん

【特集】Windows 11最新版「24H2」にアップデートする価値はある?新機能まとめて紹介!Windows 10は選択の余地なし - PC Watch

ワイが使えそうと思った追加機能は、エクスプローラーのタブ右クリからの複製と、スマホやタブをPCカメラ代わりにする設定やな

あとsudoコマンドターミナルPowershellで使えるようになったんも、いちいち管理者で起動せんで済むからええな

2024-11-02

anond:20241102182705

はじめてPCsudoコマンド打ったときを思い出した

なんかそんな感じのメッセージ出るよな

2024-07-02

この方法クソ有効だよな

頭悪いバカ自分が捕まるのを覚悟勝手に拾いに来て拡散してくれるし

2024-06-20

sudoはすぐやる(sugu do)で覚えたんだけど、すぐドゥーってなんだ

しか別に何かをすぐやるためのコマンドでもないし(間接的にはあってるかもしれないが…)

なんでそれで覚えたのか、勉強したての頃の自分に聞きたい

でも覚えちゃったもんは覚えちゃったし、今更忘れられない

sudoを使うたびに過去自分ツッコミを入れている

2024-01-24

anond:20240124121801

はてなハイク「私がいたことを、そしてあなたたちが使わなかったことを、わすれないでください。あとはsudoハイク勝手にやってくれてるからそっちでどうぞ」

ちなみにツイッターで大暴れした元はてなハイクユーザーを元ハイカーさんとしてたまにウォッチしてるけど

やっぱりツイッターでも香ばしくて

どこでもやってることは同じです。

やっぱり人間かわらんね。

おまえらもたぶん元増田のままだとおもう。

2023-12-22

anond:20231222154420

ほんならとおもってみにいったら.artユーザー3000人だった…すくなすぎてはてなハイクsudoハイク)思い出した…まあピクブラより多いか

ログイン ユーザー登録
ようこそ ゲスト さん