投稿

ラベル(技術ネタ)が付いた投稿を表示しています

AndroidスマホをPCのWEBカメラにする

Windows標準機能でAndroidをウェブカメラとして使えるらしいので試したときの覚書。 環境: Windows 11 Pro 24H2, Android 14 Windows 11には「スマートフォン連携」アプリをインストールして、Androidと連携できている。 設定方法は下記サイトを参考に。 ASCII.jp:WindowsでAndroidスマホをWebカメラにする機能を試した (1/2) Ability to use a mobile device’s camera as a webcam on your PC begins rolling out to Windows Insiders | Windows Insider Blog 試した感想 安いWEBカメラよりAndroidカメラを使った方が高画質。 遅延なくスムーズ。 Androidとケーブルで繋ぐ必要がないので応用が利きそう。 気合を入れるオンライン会議はカメラ用のアームをいくつか駆使してディスプレイの目の前にAndroidカメラが来るように設置するようにした。 ▼ 関連記事 Windows11をクリーンインストール(2022年12月)

libavifをソースからビルドしてavifencコマンドを実行

dnf経由でlibavif-toolsをインストールしてavifencを実行したけど、webpとファイルサイズが変わらなかったので、最新をビルドしてみたときの覚書。 前は失敗したので、GitHubのREADMEを参考にすることにした。 参考:  libavif-toolsをインストールしてJpegからAVIFへ一括変換。 環境: CentOS Stream 9, libavif v1.1.1 ビルドに必要なツールとライブラリをインストール。 # dnf install cmake zlib-devel libpng-devel libjpeg-devel libaom-devel # dnf install libstdc++-static glibc-static 既にgit clone済みなので最新をチェックアウトする。 # cd /opt/software/libavif/ # git checkout v1.1.1 ビルド実行。 DAVIF_LIBYUV=LOCALだとビルド失敗したのでOFFにした。 # cd ../ # cmake -S libavif -B libavif/build -DBUILD_SHARED_LIBS=OFF -DAVIF_CODEC_AOM=LOCAL -DAVIF_LIBYUV=OFF -DAVIF_LIBSHARPYUV=LOCAL -DAVIF_JPEG=LOCAL -DAVIF_ZLIBPNG=LOCAL -DAVIF_BUILD_APPS=ON -DCMAKE_C_FLAGS_RELEASE="-static" -DCMAKE_EXE_LINKER_FLAGS="-static" # cmake --build libavif/build --parallel 通った。 インストールする。 # cd libavif/build/ # make install [ 39%] Performing build step for 'libjpeg' [ 11%] Built target jpeg16-static [ 32%] Built target simd [ 53%] Built target jpeg12-static [100%] Built ...

SBOM(Software Bill of Materials)とは?

情報処理安全確保支援士の講習を受けているときにSBOMというのが出てきたので調べたときの覚書。 SBOMとは? Software Bill of Materialsの略。 日本語だとソフトウェア部品表。 ソフトウェアに含まれるコンポーネントやそれらの依存関係やライセンス情報のリスト。 複雑化するソフトウェアの脆弱性管理を効率化するため、近年導入が推奨されている。 参考 サイバー攻撃への備えを!「SBOM」(ソフトウェア部品構成表)を活用してソフトウェアの脆弱性を管理する具体的手法についての改訂手引(案)を公表します ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引Ver. 1.0   Google Developers Japan: SBOM in Action: 「ソフトウェア部品表」で脆弱性を見つける Package.jsonの違いは? Node.js プロジェクトの依存関係を管理するpackage.jsonに対して、SBOMは開発者だけでなく、ソフトウェアの利用者、運用者、セキュリティ担当者など、より幅広い関係者をターゲットにしている。 package.jsonは、レストランのメニューのようなもので、料理名(プロジェクト)と主な材料(直接の依存関係)が記載されている。 SBOMは、 食品の成分表示 のようなもので、料理に使われているすべての材料(すべてのコンポーネント)とその詳細(サプライヤー、産地、アレルギー情報など)が記載されている。 ▼ 関連記事 ウイルス対策ソフト「ESET」とセキュリティリスク サイバーセキュリティ対策のSIEM、UEBA、SOARとは?

Windows 11 24H2にアップデートしたらsamba共有フォルダにアクセスできない

Windows 11を24H2にアップデートしたら仮想マシン上の共有フォルダにアクセスできなくなったので調査したときの覚書。 環境: Windows 11 pro 24H2 Microsoft公式サイトで「Windows 11 バージョン 24H2 Enterprise、Pro、Education では、送信と受信の両方の SMB 署名が必要」とある。 参考:  SMB 署名動作の制御 | Microsoft Learn SMB署名の有効/無効の確認。 PS > Get-SmbClientConfiguration | FL RequireSecuritySignature RequireSecuritySignature : False 公式サイト通りにSMB署名を有効にする。 PowerShellを管理者権限で実行する。 送信接続のSMB署名を有効。 PS > Set-SmbClientConfiguration -RequireSecuritySignature $true 受信接続のSMB署名を有効。 PS > Set-SmbServerConfiguration -RequireSecuritySignature $true 再起動する必要なく、samba共有フォルダに接続できた。 ▼ 関連記事 FreeBSD13.1の仮想マシンをインストールして初期設定 Samba共有フォルダのゲストユーザーを無効にして認証するように変更

libavif-toolsをインストールしてJpegからAVIFへ一括変換。

AVIFを導入しているときの覚書。 AVIFがベースライン(すべての主要なブラウザ エンジンで安全に使用できる)になったのは2024年1月。 環境: CentOS Stream 9 今ならコマンドラインエンコーダavifencで簡単に変換できる。  AVIF を使用してサイト上の画像を圧縮する  |  Articles  |  web.dev GitHub - AOMediaCodec/libavif: libavif - Library for encoding and decoding .avif files 1.dnf経由でインストール dnf上にあったのでインストールする。 # dnf install libavif-tools ただしdnf上はv0.11.1だった。 # dnf info libavif Name         : libavif Version      : 0.11.1 Source       : libavif-0.11.1-5.el9.src.rpm From repo    : epel 実行してみる。 # avifenc key-visual.jpg key-visual.avif ファイルサイズを比較するとJpeg: 309KB, Webp: 76KB, Avif: 49KB 一括で変換するコマンドはこちら(Gemini 1.5 Proに教えてもらった) サブディレクトリのファイルも変換する。 # find . -name "*.jpg" -print0 | xargs -0 -I {} sh -c 'f="{}"; avifenc "$f" "${f%.*}.avif"' 2.ソースからビルド 最新ライブラリを使うとどうなるか試してみる。 dnf経由をアンインストール。 # dnf remove libavif-tools 記事通りにやってみる。 参考:  AVIF を使用してサイト上の画像を圧縮する  |  Articles  |  web.dev ビルド...

CentOS Stream 10を仮想マシンにインストールして初期設定

VMware FusionにCentOS Stream 10の仮想マシンを作成したときの覚書。 CentOS公式ページからCentOS Stream 10のISOファイルをダウンロードしておく。 環境: Mac mini(2018), Ventura 13.5.2, VMware Fusion 13.6.2 CentOS Stream 10 Release Notes - The CentOS Project VMware Fusionで仮想マシン作成 Other Linux 6.x 64-bit Legacy BIOS 仮想マシンの設定 Sharing: OFF CPU: 4 cores Memory: 4096GB Network Adapter: Bridged Networking - Autodetect Hard Disk: 80GB CD/DVD: (ダウンロードしたISOファイル) Sound Card: OFF USB & Bluetooth: OFF Printer: OFF OSインストール時の設定 Language: English(United States) Software Selection: Server Time & Date: Asia/Tokyo Root Password: Allow root SSH login with password 1.初期設定 インストール完了後に再起動してコンソールでログイン。 IPアドレス確認。 # ip a SSHでログインする。 PS:> ssh [email protected] アップデート確認 # dnf update ホスト名変更 # hostnamectl set-hostname vm-dev4.webrec.co.jp # hostnamectl status 言語設定確認。 # localectl status System Locale: LANG=en_US.UTF-8     VC Keymap: us    X11 Layout: us     X11 Model: pc105 言語設定一覧。 # locale -a ja_JPがないでインストール。 #...

Cloud Run Functionsでバッチ処理を動かす

PhpSpreadsheetでエクセルファイルを処理するバッチ処理が重いので、Cloud Run Functionsを利用すれば幸せになるかもしれないと調査しているときの覚書。 環境: Windows 11 Pro 23H2, Google Cloud SDK 503.0.0, Google AI Studio(Gemini 1.5 Pro) Cloud Run Functionsとは? Cloud Run Functionsは、Google Cloudが提供するサーバーレスサービスの一つ。 コードをイベントに応じて自動的に実行できる。 難しいサーバー管理は Google がやってくれる。 自動で処理能力が調整されて、使っていない場合は費用が発生しない。 2024年8月に、Google Cloud Functionsの第2世代がCloud Run Functionsに名称変更された。 Cloud Runと統合して機能強化された。 Cloud Run functions の概要  |  Cloud Run functions Documentation  |  Google Cloud Cloud Run functions の実行環境  |  Cloud Run functions Documentation  |  Google Cloud ちなみにGoogle CloudにはBatchという重い処理を定期実行するサービスがある。 参考:  バッチ: バッチ コンピューティングのシンプルさ | Google Cloud Cloud Run Functionsのチュートリアル 下記公式クイックスタートに従ってやってみる。 参考:  Google Cloud コンソールを使用して Cloud Run 関数を作成する  |  Cloud Run functions Documentation リージョンは「aria-northeast1(東京)」にした。 何となく雰囲気は分かった。 PHPのチュートリアル 公式ドキュメントを参考に。 Google Cloud CLI を使用して Cloud Run 関数を作成する  |  Cloud ...

Cloud Native Buildpacksとは?

Google Run FunctionsのチュートリアルをやっているときにBuildpackパックツールというのを知って調査しているときの覚書。 環境: Windows 11 Pro 23H2, pack 0.36.0, Google AI Studio(Gemini 1.5 Pro) Cloud Native Buildpacksとは? Cloud Native Buildpacks (CNBs) は、Dockerfileを記述することなく、ソースコード(package.jsonなど)からコンテナイメージを自動的に生成するためのツール。 Cloud Native Buildpacks · Cloud Native Buildpacks ビルドパックを再利用するため、ビルド時間を短縮できる。 Windowsにインストール scoop経由でインストール。 参考:  Pack · Cloud Native Buildpacks PS:> scoop install pack PS:> pack --version 0.36.0+git-92bc87b.build-6201 ▼ 関連記事 Windows11にDocker Desktopをインストール Windows11をクリーンインストール(2022年12月)

Windows11にDocker Desktopをインストール

Google Cloudで使うDockerfileの動作確認をしたくてDocker環境を作っているときの覚書。 環境: Windows 11 Pro 23H2, Docker Desktop 4.36.0 Docker Desktopをインストール scoop経由でインストールするか迷ったけど、まずは公式の案内通りにやる。 Hyper-Vの機能は有効化済み。 参考:  Windows で Hyper-V を有効にする | Microsoft Learn systeminfoコマンドで確認できる。 PS C:> systeminfo Hyper-V の要件:         ハイパーバイザーが検出されました。Hyper-V に必要な機能は表示されません。 公式サイトからインストーラーをダウンロードして実行。 参考:  Windows | Docker Docs デフォルトでWSL2のチェックが入っているのでそのままインストール。 Windowsの再起動が必要。 チュートリアル Docker Desktopに表示されたチュートリアルをやる。 What is container? How do I run a container? Run Docker Hub images Persist your data between containers Access your local folder from a container 【関連記事】 Windows11をクリーンインストール(2022年12月) Docker for Windowsをインストール

PHPのerror_logをsyslogに設定したら文字化け(FreeBSD固有の問題だった)

PHPでバッチ処理を書いているときの覚書。 環境: FreeBSD 14.1-RELEASE-p6, PHP 8.3.6 PHPエラーはシステムログに設定する。 # php --ini # less /usr/local/etc/php.ini error_log = syslog これで「/var/log/messages」に出力されるようになる。 PHPエラー時に確認してみると文字化けしている。 # less /var/log/messages 文字コードの確認。 # less /usr/local/etc/php.ini default_charset = "UTF-8" UTF-8になっている。 システムの言語設定を表示。 # locale LANG=C.UTF-8 LC_CTYPE="C.UTF-8" LC_COLLATE="C.UTF-8" LC_TIME="C.UTF-8" LC_NUMERIC="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_ALL= 各説明は下記サイトを参考に。 参考:  ロケール環境変数について - IBM Documentation これを日本語に設定すればいいのかな? 設定できるlocale一覧を表示。 # locale -a FreeBSDは/etc/login.confを編集する。 参考:  Chapter 25. Localization - i18n/L10n Usage and Setup | FreeBSD Documentation Portal # less /etc/login.conf default:\         ...         :charset=UTF-8:\         :lang=ja_JP.UTF-8: /etc/login.confを編集したときはcapability databaseを更新する必要があるみたい。 # cap_mkdb /etc/login.conf 一旦ログインしなおして確認。 # locale LANG=ja...

FreeBSDにXdebugをインストール

WordPressのwpdbのエラー時に呼び出し履歴(back trace)を表示してほしくて設定したときの覚書。 環境: FreeBSD 14.1-RELEASE-p6, PHP 8.3.6, xdebug 3.3.2 xdebugを検索してインストール。 # pkg search xdebug # pkg install php83-pecl-xdebug 読み込まれているか確認。 # php --ini インストールしただけで呼び出し履歴(back trace)できるようになる。 【関連記事】 WordPressがBlankだったりトップにリダイレクトするのをデバッグ XdebugをInstallしてError時の呼び出し履歴を表示

PHPのmysqlndとmysqliの違い

開発環境を構築するときにphp-mysqlndではなくphp-mysqliをインストールするようになって、「php-mysqlndをインストールしなくていいんだっけ?」と思って調査したときの覚書。 環境: FreeBSD 14.1-RELEASE-p6, PHP 8.3.6 mysqlndとは? PHPとMySQL(MariaDB)サーバーとの通信するためのライブラリ。 MySQL Native Driverが正式名称。 PHP5.3以前はMySQL Client Library(libmysql)が使われていたが、これはMySQL側が開発したものでありライセンスの問題があった。 そのためPHPプロジェクトで書き直されたものがMySQL Native Driver。 PHP5.4からデフォルトで有効。 参考:  PHP: Mysqlndの概要 - Manual 参考:  MySQL :: MySQL native driver for PHP - mysqlnd 参考:  MySQL Native Driver for PHP, mysqlnd mysqlndとphp-mysqliとの違い。 mysqlndはPHPのソースコードに組み込まれたライブラリ。 php-mysqliはPHP拡張モジュール。 MySQLサーバーに接続するプログラムはphp-mysqliが提供しているAPIで記述する。 php-mysqliは MySQL Native Driver(mysqlnd)と MySQL Client Library(libmysql)の どちらのライブラリを使うか選択できる。 MySQL Native Driver(mysqlnd)を使っているか確認。 どのライブラリを使うかはコンパイル時に決める。 参考:  PHP: どのライブラリを選ぶか - Manual PHPのビルドオプションを表示する。 見やすいように改行する。 # php-config --configure-options | sed -e 's/ --/\n--/g' ... --enable-mysqlnd ... mysqliが読み込まれているか確認。 # php --ini .... Loaded Configuration ...

phpのconfigureオプションを確認

phpのビルド(コンパイル)時の設定を確認しようとしたときの覚書。 環境: FreeBSD 14.1-RELEASE-p6, PHP 8.3.6 確認コマンド # php-config --configure-options 改行に置換して見やすくする。 # php-config --configure-options | sed -e 's/ --/\n--/g' --disable-all --program-prefix= --with-config-file-scan-dir=/usr/local/etc/php --with-layout=GNU --with-libxml --with-openssl --with-password-argon2=/usr/local --enable-dtrace --enable-embed --enable-fpm --with-fpm-group=www --with-fpm-user=www --enable-mysqlnd --with-external-pcre=/usr/local --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/share/man --infodir=/usr/local/share/info/ --build=amd64-portbld-freebsd14.0 build_alias=amd64-portbld-freebsd14.0 PKG_CONFIG=pkgconf PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/lang/php83/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig CFLAGS=-O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing LDFLAGS= -L/usr/lib -lcrypto -lssl -fstack-protector-strong CPP=cpp CXXFLAGS=-...

Windowsがブルースクリーン→メモリ診断→メモリ交換

Windowsがブルースクリーンになることが出てきたので原因を調べているときの覚書。 環境: Windows 11 Pro 23H2, メモリ32GB(8GBx4), WinDbg 2017/08/28, MemTest86 v11.1 1.原因を調査 ブルースクリーンになってイベントビューアーを見てみる。 このコンピューターはバグチェック後、再起動されました。バグチェック: 0x0000001a (0x0000000000041792, 0xfffff0810eb1fba8, 0x0000020000000000, 0x0000000000000000)。ダンプの保存先: C:\Windows\Minidump\111924-10890-01.dmp。レポート ID: d07f49ba-...-98cfaeb341c6。 検索してみると下記記事が参考になった。 参考:  WindowsのMinidump解析でChatGPT使ったら良かった #minidump - Qiita 手順 Microsoft StoreからWinDbgをインストール Geminiに聞く Windows PCが突然停止し、minidumpが生成されました。 このダンプファイルをWinDbgツールにかけたところ、以下の出力が得られました。 障害の原因を調べてください。 WinDbgのメッセージ: 物理メモリに問題があることが分かる。 2.メモリ診断 Windows メモリ診断を実行してみる。 実行中もメモリに問題があると表示され、再起動後のイベントビューアーにもエラーが検出されている。 Windows メモリ診断によりコンピューターのメモリがテストされ、ハードウェア エラーが検出されました。問題を確認して修復するには、コンピューターの製造元に問い合わせてください でもメモリ4枚のうち、どのスロットのメモリに問題があるか分からない。 前に使ったMemTest86を実行してみる。 参考:  メモリ診断ツール「MemTest86」 MemTest86でもどのスロットのエラーなのかは分からないので、テストするメモリだけにしてMemTest86を実行する。 4周テストするのに6時間掛かかるので、エラーが出たら停止する。 3.メモリ交換 Crucialの16GBx2のメモリを購入。 Cr...

ローマ数字の置き換え変換ルール

公表されている医療情報をPostgreSQLに取り込んで活用しようとしているときの覚書。 具体的には施設基準のデータベースを作ろうとしている。 困ったのが 全角ローマ字数字の「Ⅰ」(U+2160) が 全角英字「I」(U+FF29) となっていたりするのでデータベースに保存する前に統一処理したい。 (見た目では分からない) 変換方針 全角ローマ字数字に統一する。 全角英字→全角ローマ字数字の変換用連想配列を作る(Ⅰ~Ⅳ)。 「DX」など数字ではなく名称部分に使われていることがあるので気を付ける。 PHPでループしてstr_replaceで置き換える。 ちなみに政府のシステムでは置き換え規則があるらしい。 参考:  内閣府共通意見等登録システム - 内閣府 こちらは半角英字に統一している。 DXの場合、D10と区別できなくなくなるので数字は数字として変換した方がいいと思う。 【関連記事】 データベースの命名規則 病院の施設基準を自動更新するには?

wwwサブドメインのためだけにCertbotでSSLのワイルドカード証明書を取得するか?

Let's Encryptのワイルドカード証明書を取得しようとしたときの覚書。 環境: CentOS Stream 9, certbot 2.4.0 最近は無料で比較的簡単に実現可能。 参考 Welcome to the Certbot documentation! — Certbot 2.11.0 documentation Let’s Encryptの導入 (SAN証明書, ワイルドカード証明書) – Int Design LLC. 無料SSL「Let’s Encrypt」でワイルドカードを設定し、ValueDomainで自動更新する | 株式会社オルタ メリットとデメリット Let's Encryptのワイルドカード証明書を取得するにはDNSを使った認証方法にする必要がある。 参考:  チャレンジの種類 - Let's Encrypt - フリーな SSL/TLS 証明書 ワイルドカード証明書のメリット サブドメインでいちいち証明書を取得する必要がなくなる。 「www」サブドメインのありなしとか考えなくていい。 ワイルドカード証明書のデメリット 定期的にDNSのTXTレコードを書き換えないと証明書が失効する。 DNSをAPI経由で書き換えるバッチを定期実行するため、システムが複雑化する。 「www」を追加するだけならHTTP経由の認証方法で十分だと思う。 certbotの自動更新に対応しているDNSプロバイダは公式サイトからリンクされている。 参考:  DNS providers who easily integrate with Let's Encrypt DNS validation - Issuance Tech - Let's Encrypt Community Support certbotが標準で対応しているDNSプロバイダを利用するなら、ワイルドカード証明書を使うのはありだと思う。 【関連記事】 certbotでSSL化してあるサイトを別サーバーに移行(2024年6月) Let's Encryptで無料SSLをCentOS7に設定(certbot)

LUT(Lookup table)とは?

Nikon Z6IIIの階調モードHLGを勉強しているときに、LUTという聞きなれない言葉が出てきたので調査したときの覚書。 最初にLUTを知るきっかけになった動画はこちら。 参考:  【保存版!!】失敗しないHLGのカラコレ/カラグレ方法を解説します【α7iii, α7c, α6400等】 - YouTube LUTとは? Lookup tableの略。 「ラット」と呼ばれることが多い。 映像や画像処理において色やトーンを変換するための変換テーブル。 BT.2020の広い色域で撮影したものをBT.709の狭い色域へ変換するのに有用。 LUTを定義しておけば、同じ効果を素早く適用できるので動画編集で用いられる。 Nikon Z6IIIとLUT NikonはN-Log用LUTを公開している。 参考:  Nikon | Download center | N-Log 用 LUT 参考:  RED監修 N-Log用LUT紹介ムービー│ニコン - YouTube ニコンのフレキシブルカラーピクチャーコントロールはLUT+αの機能。 LUTの輝度、彩度、色相の他にシャープネス、明瞭度も適応できる。 【関連記事】 Nikon Z6IIIの階調モードHLGはiPad Proを外部モニター化すれば正しく表示できるか? Nikon Z6IIIの機能を覚える:階調モードHLG

Windows11にPHP8.3とComposerをscoop経由でインストール

バッチ処理もPHPで記述しようとWindowsにPhpをインストールしたときの覚書。 環境: Windows 11 Pro 23H2, Php 8.3.11 1. Php8.3とcomposerをインストール Scoopを使ってインストールする。 PS:> scoop search php PS:> scoop install php 確認。 PS:> php --version PHP 8.3.11 (cli) (built: Aug 27 2024 21:28:59) (ZTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.3.11, Copyright (c) Zend Technologies Composerもscoopにあったのでインストールする。 PS:> scoop search composer PS:> scoop install composer 確認。 PS:> composer --version Composer version 2.7.8 2024-08-22 15:28:36 PHP version 8.3.11 (C:\Users\suganuma\scoop\apps\php\current\php.exe) Run the "diagnose" command to get more detailed diagnostics output. 内部文字エンコーディングを確認。 PS:> php -r "echo mb_internal_encoding();" UTF-8でなければphp.iniの「default_charset」と「internal_encoding」を確認する。 default_charset = "UTF-8" ;internal_encoding = php.iniの場所を確認。 PS:> php --ini Configuration File (php.ini) Path: Loaded Configuration File:         (none) Scan for additional ....

データベースの命名規則

公表されている医療情報をPostgreSQLに取り込んで活用しようとしているときの覚書。 今後のためにデータベースの命名規則を考えてみた。 環境: PostgreSQL 15.6 WordPressのデータベースを参考にする。 参考:  Database Description « WordPress Codex チーム内で共有して開発しやすくすることが目的。 データベース名 小文字の英単語。 例)medical 単語はアンダースコアで分ける(スネークケース) テーブル名 イミュータブルデータモデルで設計する。 リソースとイベントに分けてテーブル設計する。 参考:  イミュータブルデータモデル(入門編) | PPT 接頭辞を付ける。リソースは「r_」。イベントは「e_」。 → 直感的でないのでやめた。 設計の考え方としてリソースとイベントに分けるがテーブル名は関係ない。 小文字の英単語。 単語はアンダースコアで分ける(スネークケース)。 metaも分ける(WordPressはmetaを分けてない) 例) hospital_meta 基本は複数形。 例)hospitals カラムを追加したくなったときはmetaテーブルで十分か検討する。 カラム名 公開情報をインポートするので、可読性を優先し日本語も許容する。 PostgreSQLの識別子はデフォルトで64バイトまで。 UTF8の日本語だと16文字まで。 参考:  PostgreSQL: Documentation: 16: 4.1. Lexical Structure idはテーブル名を付けて分かりやすくする。 例) hospital_id 公開情報をインポートするカラムは日本語(10文字以内)。 CREATE TBLE文にソース情報を残す。 システム用のカラム名は小文字の英単語。 単語はアンダースコアで分ける(スネークケース)。 作成日: inserted_date, 更新日: modified_dateは基本必須。 Laravelはcareted_at, updated_atらしいが_dateの方が分かりやすい。 is_deletedよりdeleted_dateを使う。 共通 日本人が直感的に分かるレベルの英単語を使う。 命名規則を変更する際は経緯を残す。 【関連記事】 FreeBSD...

拡張子.HIFファイルをPhotoshopで開く

Nikon Z6IIIで撮影した.HIFファイルをPhotoshopで編集しようとしたときの覚書。 .HIFを開こうとすると「対応していない」とエラーになる。 環境: Windows 11 Pro 23H2, Adobe Photoshop 25.11.0 公式サイトではHEIF画像拡張機能をインストールすれば対応するらしい。 Windows 11 22H2からデフォルトでバンドルされている。 参考:  Windows HEIF/HEVC コーデックのダウンロードとインストール それでも開けないので、 .HIFを.heifに名前変更 すると開けた。 参考:  High Efficiency Image File Format - Wikipedia 拡張子が大文字3文字なのは旧Windows時代の名残(FAT16)。 参考:  8.3形式 - Wikipedia おそらくニコンのカメラはTRONをベースにしたOS。 参考:  TRON PROJECT 30th Anniversary 後方互換のために8.3形式(ファイル名8文字/拡張子3文字)に今でもなっていると思う。 Photoshop側が対応すべきことなので、そのうち開けるようになっていると思う。 【関連記事】 Nikon Z6IIIの機能を覚える:階調モードHLG AVIFとは。HEIFやWebPとの違い。