投稿

2024の投稿を表示しています

CG2700XのHDR設定。「モニターと入力信号の設定が一致していません」

イメージ
Nikon Z6IIIの階調モードHLGを正しく表示できる環境を構築するためにEizo CG2700Xを買って設定しているときの覚書。 環境: Windows 11 Pro 23H2, NVIDIA GeForce RTX 3060(HDMI 2.1, DisplayPort 1.4a), ColorNavigator7 7.2.0.4 使用モニター一覧 EIZO ColorEdge CG2700X (2022/09/22発売, DisplayPort 1.4a?, 出力深度10bpc, 3840x2160, Adobe RGB/DCI-P3) EIZO ColorEdge CS2740 (2019/10/24発売, DisplayPort 1.3, 出力深度10bpc, 3840x2160, Adobe RGB) EIZO FlexScan EV2740X (2023/04/25発売,  DisplayPort 1.3, 出力深度8bpc, 3840x2160, sRGB) 公式サイトのスペック表にあるHDCPは著作権保護規格のこと。 DisplayPortの規格と混同しやすい。 結論からいうとCG2700Xのカラーモードを「5-PQ_DCI-P3」にする必要がある。 以下はいろいろ試しているときの詳細。 CG2700Xのファームウェアを最新にする 現在ファームウェアのバージョンはモニターのメニュー → インフォメーションから確認する。 購入したときのバージョン:10001-00108-10000 EIZO ColorEdge CG2700Xの最新ファームウェアを公式サイトで確認。 参考:  機種別情報 CG2700X | EIZO株式会社 更新後のバージョン:10004-00108-10003 グラフィックボードのHDR対応とドライバー更新 公式サイトでグラフィックボードの出力を確認。 参考:  MSI GeForce RTX 3060 VENTUS 2X 8G OC | Graphics Card | MSI Global HDR(HLG)を表示するためにDisplayPort 1.4以上、HDMI 2.0b以上が必要。 参考:  DisplayPort - Wikipedia (英語版の方が分かりやすい) 参考:  HDMI - Wikipedia 初期NV

GA4データをBigQueryで分析

Google Analytics(GA4)からBigQueryに保存したデータを分析しているときの覚書。 参考にしたサイト。 Query syntax  |  BigQuery  |  Google Cloud 集計関数 Aggregate functions  |  BigQuery  |  Google Cloud 分析関数(ウインドウ関数)をわかりやすく説明してみた #MySQL - Qiita 下記本の実例クエリを参考にしている。 できる逆引き Googleアナリティクス4 成果を生み出す分析・改善ワザ 192 できる逆引きシリーズ | 木田 和廣, できるシリーズ編集部 | 工学 | Kindleストア | Amazon まだ手探り状態。 【関連記事】 BigQuery ML(Machine Learning)のチュートリアルをやってみる Google Analytics(GA4)はデータ収集と処理、保存はBigQuery、可視化はLooker Studioの役目。

Nikon Z6IIIの機能を覚える:美肌効果、人物印象調整

Nikon Z6IIIの設定メニューを見ながら機能を理解しているときの覚書。 Z6III - 概要 | ミラーレスカメラ | ニコンイメージング Nikon | Download center | Z6III Z6III活用ガイド 美肌効果 RAWデータで撮影しておけば後でNX Studioで調整可能。 ※ 美肌効果を「しない」に設定した場合はNX Studioで調整できない。 参考:  ニコンプラザ東京 斎藤 勝則  「Z 8×NX Studio 〜新しい編集機能と使用方法のご紹介〜」 | ニコン - YouTube 人物印象調整 上記動画内に比較サンプルが分かりやすい。 ※ RAWデータで撮影しておけば後でNX Studioで調整可能。 【関連記事】 Nikon Z6IIIの機能を覚える:アクティブD-ライティング、ヴィネットコントロール、HDR合成、多重露出、オートブラケティング Nikon Z6IIIの機能を覚える:階調モードHLG Nikon Z6をZ6IIIにアップグレード

Nikon Z6IIIの機能を覚える:アクティブD-ライティング、ヴィネットコントロール、HDR合成、多重露出、オートブラケティング

Nikon Z6IIIの設定メニューを見ながら機能を理解しているときの覚書。 Z6III - 概要 | ミラーレスカメラ | ニコンイメージング Nikon | Download center | Z6III Z6III活用ガイド アクティブD-ライティング 黒い部分を持ち上げて見た目のコントラストに近い描写を得られる機能。 マルチパターン測光を推奨。 HDR(High Dynamic Range)に近づけるためのニコン独自の画像補正技術。 参考:  アクティブD-ライティング|Z6III活用ガイド この機能なしでもRAWから黒を持ち上げる処理をすれば同様の結果を得られる。 JPEG撮って出しでも見た目に近い階調を得られる便利機能。 ヴィネットコントロール レンズ中央と四隅との光量差を軽減する画像補正技術。 一般的にレンズ中央より端の方が光量が少なくなって、画像の四隅が暗くなる。 これを画像補正で修正する。 参考:  ヴィネットコントロール|Z6III活用ガイド 広角レンズで建物内観を撮影するときに試したい機能。 HDR合成 1回の撮影で露出が異なる画像を2コマ撮影して合成する機能。 アクティブD-ライティングと同じHDR(High Dynamic Range)に近づけるための機能。 参考:  HDR合成|Z6III活用ガイド この機能なしでもRAWから黒を持ち上げる処理をすれば同様の結果を得られる。 JPEG撮って出しでも見た目に近い階調を得られる便利機能。 多重露出 2枚以上の画像を重ねて写し込む写真技法。 Photoshopなしでカメラ単体で出来るのが利点。 参考:  カメラレッスン - Lesson18:アートな表現を楽しむ、多重露出の撮りかた | Enjoyニコン | ニコンイメージング オートブラケティング 明るさ(露出値)、ホワイトバランス、アクティブD‑ライティングの設定を自動的に変えながら撮影できる機能。 参考:  オートブラケティング|Z6III活用ガイド 【関連記事】 Nikon Z6IIIの機能を覚える:階調モードHLG Nikon Z6をZ6IIIにアップグレード

Nikon Z6IIIの機能を覚える:階調モードHLG

Nikon Z6IIIの設定メニューを見ながら機能を理解しているときの覚書。 Z6III - 概要 | ミラーレスカメラ | ニコンイメージング Nikon | Download center | Z6III Z6III活用ガイド 階調モード Z8からの新機能。 YouTubeの説明を見るのが分かりやすい。 参考:  ニコンプラザ東京 斎藤 勝則  「Z 8×NX Studio 〜新しい編集機能と使用方法のご紹介〜」 | ニコン - YouTube SDR(Standard Dynamic Range):  JPEG/標準の明るさの幅(ダイナミックレンジ)に対応した階調モード。 HLG( Hybrid Log Gamma ): HEIF/HDR(High Dynamic Range)に対応した階調モード。 色空間はBT.2100に固定。 アクティブD-ライティング/多重露出/HDR合成は設定できない。 プリキャプチャーできない。 参考:  階調モード|Z6III活用ガイド 参考:  Z 8 - 製品特長 | ミラーレスカメラ | ニコンイメージング 参考:  ハイブリッド・ログ=ガンマ - Wikipedia 参考:  よくわかる、HDR徹底解説! ガンマカーブの違い | EIZO株式会社 HLGの階調モードで撮影した画像を正しく表示するためにはHDR対応したディスプレイ+コーデックが必要。 EIZOだとCGシリーズのHDR表示対応が選択肢。 製品スペックのページにHDRガンマHLG方式と明記してある。 参考:  カラーマネージメントモニター ColorEdge CGシリーズ | EIZO株式会社 ColorEdge CG2700Xを衝動買いした。 363,000円。 iPad Pro 12.9(第6世代M2)はHLGのHDRに対応している。 参考:  iPad Pro の Liquid Retina XDR ディスプレイについて - Apple サポート (日本) WindowsのHLG環境の設定 公式サイトを参考に。 参考:  HLG静止画の環境設定ガイド 追記予定。 【関連記事】 Nikon Z6をZ6IIIにアップグレード AVIFとは。HEIFやWebPとの違い。 ミラーレス一眼カメラ「Nikon Z6」を購入。開封後の感想。

Nikon Z6をZ6IIIにアップグレード

5年振りにミラーレス一眼カメラをZ6からアップグレードしたときの覚書。 環境: 40代男性、人物と建物内観撮影で使用(写真撮影メイン)。 Z8と迷ってZ6IIIにした理由。 軽い。 仕事の現場で片手で持つことが多い。 Z8をニコンプラザで触ってみたけど私には重すぎる。 評判がいい。 新しい機能を試してみたい。 実際に使ってみた感想。 Z6の方が持ちやすい(慣れかもしれない)。 D5500で便利で使っていたファインダーを覗きながらモニターをこするとフォーカスポイントを移動できる機能が復活していた。 参考:  f4:タッチFn|Z6III活用ガイド Z8からの新機能「階調モードHLG(Hybrid Log Gamma)」に衝撃。 あとで更新予定。 【関連記事】 ミラーレス一眼カメラ「Nikon Z6」を購入。開封後の感想。

有料職業紹介事業は共同オフィスで行うことは可能か?

オフィスの引越しを検討していて、職業紹介の免許要件を確認しているときの覚書。 厚生労働省の公式サイトはこちら。 職業紹介事業パンフレット―許可・更新等マニュアル― |厚生労働省 「2 申請、届出の手続き等(18ページ目)」から抜粋 有料職業紹介事業許可基準 (3) 事業所に関する要件 有料職業紹介事業を行う事業所は、次のいずれにも該当し、その位置、構造、設備、面積からみて職業紹介事業を行うに適切であること。 イ 位置が適切であること 風営適正化法で規制する風俗営業や性風俗関連特殊営業等が密集するなど職業紹介事業の運営に好ましくない場所にないこと。 ロ 事業所として適切であること 次のいずれにも該当し、事業所として適切であること。 (イ) プライバシーを保護しつつ求人者又は求職者に対応することが可能であること。 具体的には、個室の設置、パーティション等での区分により、プライバシーを保護しつつ求人者又は求職者に対応することが可能である構造を有すること。 ただし、上記の構造を有することに代えて、以下の(a)又は(b)のいずれかによっても、この(イ)の要件を満たしているものと認めること。また、当分の間、以下の(c)によることも認めること。 (a) 予約制、近隣の貸部屋の確保 等により、他の求人者又は求職者等と同室にならずに対面の職業紹介を行うことができるような措置を講じること。この場合において、当該措置を講じない運営がなされた場合には、許可の取消し対象となる旨の許可条件を付するものとすること。 (b) 専らインターネットを利用すること等により、対面を伴わない職業紹介 を行うこと。 この場合において、対面を伴う職業紹介事業の運営がなされたときは、許可の取消し対象となる旨の許可条件を付するものとすること。 (c) 事業所の面積がおおむね 20 ㎡以上であること。 (ロ) 事業所名(愛称等も含む。)は、利用者にとって、職業安定機関その他公的機関であるとの誤認を生ずるものでないこと。 埼玉労働局へ電話して聞いてみた。 その場では「事業所として相応しくないと思われます」という曖昧な表現しかせず、話しが噛み合わないので後日回答ということになった。 レンタルオフィスは共同スペースを契約しようと思うが個室タイプではない(同じ空間に関係ない他社の人がいる)。 → 共同スペースはNG。会社内で

Bing検索結果の古いfaviconを最新にしたい

お客様から「検索結果のアイコンが古いままなので新しくしてほしい」と言われ調査しているときの覚書。 Bingの検索結果。 Googleの検索結果は新しいfaviconが表示されている。 環境: WordPress 6.5.5, Favicon by RealFaviconGenerator 1.3.30 1. Bing Webmaster ToolsでBingのインデックス状態を確認 Bingのインデックス状態を確認できるツールがある。 GoogleのSearch Console(旧名:Google Webmaster Tools)と同じツール。 Bing Webmaster Tools ログインしてGoogle Search Consoleから35件インポートしてみる。 サイトの追加に失敗しました Google 検索コンソール アカウントからデータを取得できませんでした。もう一度お試しください。 または 以下にサイトの URL を追加して、手動の確認方法を使用してください 失敗した。 サイト数が多いから? キャンセルして27件に絞ってインポートしてみる。 同じエラー。 再度やり直しボタンを押す。 同じエラー。 個別に追加することにしてキャンセルすると、画面が切り替わって登録されていた。 faviconを更新したいサイトへ移動。 トップページでURL検査を実行する。 一応「インデックス作成を要求」しておく。 サイトスキャンも試しに実行してみる。 Bing Webmaster Toolsへ登録して48時間経ってから確認。 2. サポートに問い合わせ 検索するとBingにfaviconが表示されないというのが多い。 Solved: How to make your Favicon be visible on Microsoft Bing Search results? - Shopify Community 問題の整理 運営している他のサイトはBingにfaviconが表示されている。 ただし会社ホームページは表示されていない。 お客様のホームページは古いfaviconになっている。 WordPress + Favicon by RealFaviconGeneratorを使っているのでコードの記述は全部同じ。 Bing Webmaster Toolsの右上の「?」ボタンか

ドラム洗濯乾燥機「Cuble NA-VG2800L-K」を購入

イメージ
縦型洗濯機からの初のドラム式洗濯機を購入したときの覚書。 購入したのはこちら。 ななめドラム洗濯乾燥機 NA-VG2800L 商品概要 | 洗濯機/衣類乾燥機 | Panasonic 特徴 真四角デザイン 洗剤自動投入 スマホアプリで操作 使ってみた感想 デザインがいい。 真上が平らなので取り出しながら畳むのにちょうどいい 洗剤自動投入が楽。洗剤容器がいらなくなった。 フィルターに埃がすぐ詰まるので毎回取る作業が必要。だけど縦型と違って取りやすいので問題ない。「こんなに埃が取れて綺麗になったのか」と気持ちがいい。 乾燥は3時間ぐらい掛かるので、帰るタイミングに合わせてアプリ予約するようになった。

PHPでExcelを扱うライブラリPhpSpreadsheetをインストール

ExcelのデータをPostgreSQLに取り込む処理を作っているときの覚書。 PHPを選んだのは慣れているしPythonより早いから。 環境: FreeBSD 14.1, PHP 8.3.6, PhpSpreadsheet 2.1.0 Composerのインストールは前の記事を参考に。 前の記事:  PHP composerをCentOS8にインストール PhpSpreadsheetをインストールしようとしたら下記エラー。 # composer require phpoffice/phpspreadsheet Cannot use phpoffice/phpspreadsheet's latest version 2.1.0 as it requires ext-ctype * which is missing from your platform.   Package phpoffice/phpspreadsheet has requirements incompatible with your PHP version, PHP extensions and Composer version:     - phpoffice/phpspreadsheet 2.1.0 requires ext-ctype * but it is not present.     - phpoffice/phpspreadsheet 2.1.0 requires ext-dom * but it is not present.     - phpoffice/phpspreadsheet 2.1.0 requires ext-fileinfo * but it is not present.     - phpoffice/phpspreadsheet 2.1.0 requires ext-iconv * but it is not present.     - phpoffice/phpspreadsheet 2.1.0 requires ext-simplexml * but it is not present.     - phpoffice/phpspreadsheet 2.1.0 requires ext-xmlreader * but it is not pre

VMware Fusion上のFreeBSD仮想マシンのディスク容量を増やす

開発用の仮想マシンのディスク容量が不足してきたので増やしたときの覚書。 環境: FreeBSD 14.1, ファイルシステム: ZFS 1. ZFSとは 物理ディスクの上に仮想の論理ボリュームを作成して、物理ディスクの制約を受けずに柔軟なストレージ構成を実現する仕組み。 LVM(Logical Volume Manager)の実装の一つ。 ファイルシステムとボリューム管理機能を統合しているのが特徴。 ディスクの読み取り書き込みを高速化するためにメモリを使用する。 頻繁にアクセスするデータは優先してメモリを使うため高速化が期待できる。 ZFS - Wikipedia (英語版を日本語訳した方が分かりやすい) 論理ボリュームマネージャ - Wikipedia ZFSを使ってみよう (基本編) Redisなどを使って明示的にキャッシュする構成にするより、ZFSを導入するだけで全てを横断的にキャッシュし高速化できるのは便利だと思う。 FreeBSDではtopコマンドでARC(Adaptive Replacement Cache)を表示できるので、ファイルシステムが使っているメモリ容量を確認できる。 2.ディスク容量を増やす VMWare Fusionの設定でディスク容量を増やして起動する。 パーティション確認。 # gpart show =>       40  167772087  da0  GPT  (80G)          40       1024    1  freebsd-boot  (512K)        1064        984       - free -  (492K)        2048    4194304    2  freebsd-swap  (2.0G)     4196352   37744640    3  freebsd-zfs  (18G)    41940992  125831135       - free -  (60G) 60Gのフリースペースが出来ている。 パーティション拡張。 デバイス名:da0、3番目パーティションを拡張する。 # gpart resize -i 3 da0 パーティション確認。 # gpart show =>       40  167772087  da0  GPT  (8

[CRON] /bin/sh: source: not found

CentOSからFreeBSDに乗り換えた後、cronジョブが失敗するので調査しているときの覚書。 環境: FreeBSD 14.1 cronのメール内容 /bin/sh: source: not found 普段は使い慣れたbashをインストールして使っているけど、FreeBSDはshがデフォルトなのでsourceコマンドがない。 再現するためshシェルに切り替える。 # sh sourceコマンドではなく「.」を使うらしい。 参考:  . (dot) - 現行環境でシェル・ファイルを実行する - IBM Documentation 試しに実行してみる。 # . /root/.bash_profile && /usr/local/bin/bash /home/software/wordpress-backup-google-cloud-storage/main.sh 無事実行できた。 .bash_profileを実行するのはgsutilのための環境変数を設定したいから。 cronを設定変更。 # less /etc/cron.d/wordpress-backup MAILTO="info@hoge.co.jp" 0 3 * * * root . /root/.bash_profile && /usr/local/bin/bash /home/software/wordpress-backup-google-cloud-storage/main.sh 【関連記事】 certbotでSSL化してあるサイトを別サーバーに移行(2024年6月) FreeBSDにgsutil(google-cloud-sdk)をインストール FreeBSD 14 + Nginx + PHP + MariaDB + Postfixの環境を構築(2024年版) WordPressを定期バックアップしてGoogle Cloud Storageに保存

certbotでSSL化してあるサイトを別サーバーに移行(2024年6月)

CentOS Stream 8からFreeBSD 14へサイトを移行したときの覚書。 移行元: CentOS Stream 8 移行先: FreeBSD 14.1 SSL証明書はcertbot(Let’s Encrypt)で管理している。 移行元でSSL証明書をアーカイブして移行先に全コピーする。 # cd /etc/letsencrypt/ # tar czvf ssl.tgz archive/ live/ # mv ssl.tgz ~/ ファイルのダウンロード/アップロードはFileZilla(SFTP接続)を使っている。 移行先で展開。 # cd /usr/local/etc/letsencrypt/ # mv ~/ssl.tgz ./ 移行先nginxを設定。 # cd ../nginx/conf.d/ # vim 01_hoge.conf 移行元のconfをそのままコピーする。 ただしsslのパスは「/usr/local」を先頭に付ける。 確認してnginx再読み込み。 # nginx -t # service nginx reload まずはhostsファイルに移行先のIPアドレスを確認する。 問題なければ、DNSを変更する。 (この機会にCNAMEを使って簡素化もする) drillコマンドDNSの反映確認。 # drill hoge.jp 問い合わせフォームの特にメールが送信できるか確認する。 コピーしてきた証明書は上書きしてくれないので、削除してから証明書を取得し直す。 # cd /usr/local/etc/letsencrypt/ # rm -rf archive/hoge.jp/ live/hoge.jp/ # certbot certonly --webroot -w /home/httpd/hoge.jp -d hoge.jp 削除してからでないと下記エラーが出る archive directory exists for hoge.jp この場合はrenewal/も削除して取得し直す。 # rm -rf archive/hoge.jp/ live/hoge.jp/ renewal/hoge.jp.conf # certbot certonly --webroot -w /home/httpd/hoge.jp -d hoge.jp 証明書の場

Postfixが外部に送信しない。CNAMEの設定には気を付けよう。

サーバーをCentOSからFreeBSDに移行しているときにPostfixが外部にメール送信しなくて調査しているときの覚書。 環境: FreeBSD 14.1, Postfix 3.9.0 Postfixのバージョンを確認。 # postconf mail_version mail_version = 3.9 メールログの確認。 # less /var/log/maillog Jun 30 08:20:41 conoha01 postfix/qmgr[893]: 55F0932063: from=<root@hoge.jp>, size=361, nrcpt=1 (queue active) Jun 30 08:20:41 conoha01 postfix/qmgr[893]: 1C31231C3F: from=<root@hoge.jp>, size=367, nrcpt=1 (queue active) Jun 30 08:20:41 conoha01 postfix/smtp[54106]: connect to hoge.jp[2400:8500:2002:3189:163:44:102:135]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54106]: connect to hoge.jp[1.2.3.4]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54107]: connect to hoge.jp[2400:8500:2002:3189:1:2:3:4]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54107]: connect to hoge.jp[1.2.3.4]:25: Connection refused Jun 30 08:20:41 conoha01 postfix/smtp[54106]: 55F0932063: to=<info@hoge.jp>, relay=none, delay=434, delays=434/0.01/0/0, dsn=4.4.1, statu

FreeBSDにgsutil(google-cloud-sdk)をインストール

CentOSからFreeBSDに変更して、Google Cloud Storageにアクセスするためにgsutilをインストールしようとしているときの覚書。 環境: FreeBSD 14.1 pkg経由で「google-cloud-sdk」をインストールすればgsutilが含まれている。 # pkg search google-cloud # pkg install google-cloud-sdk (bashrc) source /usr/local/google-cloud-sdk/completion.bash.inc (zshrc)  source /usr/local/google-cloud-sdk/completion.zsh.inc google-cloud-sdk-471.0.0がインストールされた。 bashrcに追記しろと表示されるが、bashrcは作ってないのでbash_profileに追記する。 # less .bash_profile source /usr/local/google-cloud-sdk/completion.bash.inc 読み込んでgsutilを実行してみる。 # source .bash_profile # gsutil --version エラー Traceback (most recent call last):   File "/usr/local/bin/../google-cloud-sdk/bin/bootstrapping/gsutil.py", line 15, in <module>     import bootstrapping   File "/usr/local/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 45, in <module>     from googlecloudsdk.core import config   File "/usr/local/google-cloud-sdk/lib/googlecloudsdk/core/config.py", line 25, in <module>     impor

さくらメールボックスのメーリングリストでsummaryがデコードされていない

さくらメールボックスのメーリングリストに投稿したメールが「届いていないよ?」と言われたので調査しているときの覚書。 環境: fml 4.0 STABLE (20040215/4.0.4_BETA)(←メールヘッダーに記載)。 状況整理 メーリングリストのメンバー外のメールアドレスから送信 添付ファイルあり 送信失敗の返信は(たぶん)なし 管理者メールにも送信失敗などのシステムからメールは届いていない 結局他のメンバーには届いているので、おそらく個別の問題だと思う。 以下はいろいろやっているときの覚書。 メーリングリストfmlの使い方 さくらのメーリングリストはfmlというソフトを使っている。 "fml" mailing list server/manager package ml@hoge.jpというメーリングリストを作ったらml-ctl@hoge.jpというコマンド用メールアドレスも自動で追加される。 コマンド用メールアドレスの使い方はhelpというコマンドを本文に書いておくれば、日本語で使い方の例がメールで送られてくる。 宛先: ml-ctl@hoge.jp 本文: help メールの一覧を取得するときはsummaryコマンドを送る。 送信日時と件名の一覧が送られてくる。 宛先: ml-ctl@hoge.jp 本文: summary しかしBASE64でエンコードされている生のデータで送られてきた。 日本語が文字化けしているような状態。 例えば次のような感じ。 24/04/08 08:48:52 [1:suganuma@webrec] =?UTF-8?B?44CQ5Yy744Kz44Oz5Z+8546J55yM5pSv6YOo44CR44Oh44O844Oq44Oz44Kw44Oq44K5?=  =?UTF-8?B?44OI6Kit5a6a5a6M5LqG5aCx5ZGK?= 日本語に変換する場合はBASE64でデコードする。 メールの件名なので「=?UTF-8?B?」部分以外をBASE64でデコードする。 「=?UTF-8?B?」付きでもデコードしてくれるサイトがあった。 参考:  メール件名 デコード | 黒川 仁のポートフォリオ BASE64とは? 64種類の英数字だけでエンコードする方式。 電子メールのMIMEに規定されている。 Ba

病院の施設基準を自動更新するには?

病院ホームページに掲載している施設基準を自動更新する仕組みにできないかと調べているときの覚書。 施設基準の届け出先は病院の所在地を管轄する地方厚生局(厚生労働省の地方支分部局)に提出する。 データは各地方厚生局のホームページからエクセル形式でダウンロード可能。 参考:  厚生労働省の地方厚生(支)局一覧 関東信越厚生局はzip形式でアーカイブされている。 参考:  保険医療機関・保険薬局の施設基準の届出受理状況及び保険外併用療養費医療機関一覧 フォーマットは各地方厚生局により違う。 データベースに取り込むためには各フォーマットに合わせてプログラミングする必要がある。 地方厚生局は全部で8つ。 データベースのカラムとエクセルの列番号を紐づける設定ファイルを用意する形にすれば、そこまで大変ではない気がする。 まずは毎月手動でエクセルファイルをダウンロードして取り込みプログラムを実行する。 そのうちダウンロードも自動化するようにしたい。 また医療DXで政府が医療情報をデータベース化して、外部からも参照できる仕組みを構想しているみたい。 参考:  医療DX推進本部|内閣官房ホームページ 【関連記事】 RESASのAPIを調査 ハローワークAPIで求人情報検索 人口メッシュ統計を作成するには

FreeBSDの環境にPython 3.11をインストール

バッチ処理が遅いなと思ったので、python3.11をインストールしてみたときの覚書。 環境: FreeBSD 14.1-RELEASE, Python 3.9.18 1. 現在のPythonの環境を確認。 Pythonのバージョン。 # python3.9 --version Python 3.9.18 Python 3.9向けにインストールされたパッケージ確認。 Python 3.9ではpipをインストールせずpkg経由で管理する方針だった。 # pkg info | grep py39 py39-aioquic-0.9.25           py39-anyio-4.3.0              py39-async_generator-1.10     py39-attrs-23.2.0             py39-certifi-2024.2.2         py39-cffi-1.16.0              py39-charset-normalizer-3.3.2 py39-clang-11.0               py39-cryptography-42.0.5_1,1  py39-dnspython-2.6.1,1        py39-exceptiongroup-1.2.0     py39-h11-0.14.0               py39-h2-4.1.0                 py39-hpack-4.0.0              py39-httpcore-1.0.5           py39-httpx-0.27.0_1           py39-hyperframe-6.0.0         py39-idna-3.7                 py39-importlib-metadata-7.1.0 py39-markdown-3.5.2           py39-openssl-23.2.0,1         py39-outcome-1.3.0_1          py39-packaging-23.2           py39-psutil-5.9.8             py39-psycopg-3.1.18           p

FreeBSDのディスク容量とパーティション確認。ConohaのOS選択で同一名称がある理由。

Conoha VPSを使っているときに「あれ?100Gあるはずなのにもう容量がいっぱいになったぞ?」と思ったときの覚書。 環境: Conoha VPS 8GBプラン, FreeBSD 14.1 ディスク容量確認。 # df -h Filesystem      Size    Used   Avail Capacity  Mounted on /dev/vtbd0p2     27G     22G    2.5G    90%    / devfs           1.0K      0B    1.0K     0%    /dev 27Gしかマウントされていない。 ファイルシステム確認。 # mount /dev/vtbd0p2 on / (ufs, local, soft-updates, journaled soft-updates) devfs on /dev (devfs) パーティション確認。 # gpart show =>      40  62914480  vtbd0  GPT  (100G) [CORRUPT]         40      1024      1  freebsd-boot  (512K)       1064  58719232      2  freebsd-ufs  (28G)   58720296   3145728      3  freebsd-swap  (1.5G)   61866024   1048496         - free -  (512M) CORRUPT(破損)と表示されている…。 FreeBSDを14.0から14.1にアップグレードしたからかもしれないと思い、サーバーを再構築してみた。 今度はファイルシステムをZFSにしてみた。 # gpart show =>      40  62914480  vtbd0  GPT  (100G) [CORRUPT]         40      1024      1  freebsd-boot  (512K)       1064       984         - free -  (492K)       2048   4194304      2  freebsd-swap  (2.0G)    4196352  587

FreeBSD14にPostgreSQL+pgAdmin4をインストール

開発環境のローカル仮想マシンにPostgreSQLをインストールしたときの覚書。 環境: FreeBSD 14.1, Python 3.9.18, PostgreSQL 15.6 1. PostgreSQL Serverをインストール pkgからインストールする。 最初はpostgresql16-serverをインストールしたけど、py39-psycopgをインストールしたときにpostgresql15へ置き換えようとするので、postgresql15-serverをインストールし直した。 # pkg search postgresql # pkg search -f postgresql15-server # pkg install postgresql15-server 画面に表示された通りに実行。 # sysrc postgresql_enable=yes # service postgresql initdb # service postgresql start データの置き場所などを起動スクリプトで確認。 # less /usr/local/etc/rc.d/postgresql postgresユーザーになって確認する。 # su - postgres # pwd /var/db/postgres ユーザー一覧とデータベース一覧表示。 $ psql postgres=# \du postgres=# \l 2. PostgreSQLの文字セット(エンコーディング)を設定 日本語を扱う場合は、ja_JPをを設定してあげないと正しく並び替えできない。 前の記事を参考にする。 参考:  PostgresSQLの言語設定(locale)をja_JPにする OSで提供している言語地域(ロケール)を確認。 # locale -a 「ja_JP.UTF-8」があるのを確認。 PostgreSQLの設定変更。 # su - postgres $ less data15/postgresql.conf lc_messages = 'C.UTF-8'                 # locale for system error message                                         # strings lc_mo

PHP8からMariaDBへUnix Socketで接続する設定

FreeBSDのMariaDBへphpからUnix socketで接続できるようにしたときの覚書。 環境: FreeBSD 14.0, MariaDB 15.1, PHP 8.3.6 (FreeBSDの)PHPで接続先を「localhost」に設定すると、Unix socketを参照しようとする。 「127.0.0.1」すればTCP経由で接続するけど、せっかくなのでTCPを無効にして、Unix socketだけで待ち受けするようにしてみた。 TCPを無効にするには公式サイトを参考に。 参考:  Configuring MariaDB for Remote Client Access - MariaDB Knowledge Base まずは待ち受け中のポート確認。 # netstat -an -p tcp MariaDBの設定ファイル編集。 「port」をコメントアウトする。 # cd /usr/local/etc/mysql/ # less my.cnf [client-server] #port   = 3306 socket  = /var/run/mysql/mysql.sock 「bind-address」をコメントアウトして、「skip-networking」「skip-bind-address」を追記する。 # less conf.d/server.cnf [mysqld] user                            = mysql # port                          = 3306 # inherited from /usr/local/etc/mysql/my.cnf # socket                        = /var/run/mysql/mysql.sock # inherited from /usr/local/etc/mysql/my.cnf #bind-address                   = 127.0.0.1 basedir                         = /usr/local datadir                         = /var/db/mysql net_retry_count               

FreeBSD14にApache+SubversionをインストールしてNginxからリバースプロキシ

Subversionの容量が増えてきたので、複数サーバーにSubversionをインストールしてリポジトリを分けようとしているときの覚書。 環境: FreeBSD 14.0, Apache 2.4.59, Subversion 1.14.3 1. Apacheをインストール pkg経由でインストール。 # pkg search apache # pkg install apache24 ビルドオプションを確認。 # apachectl -V Server version: Apache/2.4.59 (FreeBSD) Server built:   unknown Server's Module Magic Number: 20120211:131 Server loaded:  APR 1.7.3, APR-UTIL 1.6.3, PCRE 10.43 2024-02-16 Compiled using: APR 1.7.3, APR-UTIL 1.6.3, PCRE 10.43 2024-02-16 Architecture:   64-bit Server MPM:     prefork   threaded:     no     forked:     yes (variable process count) Server compiled with....  -D APR_HAS_SENDFILE  -D APR_HAS_MMAP  -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)  -D APR_USE_FLOCK_SERIALIZE  -D APR_USE_PTHREAD_SERIALIZE  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT  -D APR_HAS_OTHER_CHILD  -D AP_HAVE_RELIABLE_PIPED_LOGS  -D DYNAMIC_MODULE_LIMIT=256  -D HTTPD_ROOT="/usr/local"  -D SUEXEC_BIN="/usr/local/bin/suexec"  -D DEFAULT_PIDLOG="/var/run/httpd.pid

FreeBSD 14 + Nginx + PHP + MariaDB + Postfixの環境を構築(2024年版)

ConohaでFreeBSDの仮想マシンを設定しているときの覚書。 環境: Conoha VPS 8GBプラン, FreeBSD 14.0 目次 初期設定 Nginxをインストール php8.3をインストール MariaDBをインストール phpMyAdminをインストール SSL設定 Postfix + DKIM(送信ドメイン認証)をインストール 1.初期設定 keymapが日本語になっているので英語キーボードへ変更する。 管理画面のコンソールから設定する(keymap="jp"をコメントアウト)。 # less /etc/rc.conf #keymap="jp" あとはSSHでログイン。 FreeBSDのシステムアップデート。 # freebsd-update fetch # freebsd-update install パッケージマネージャをアップデート。 インストール済みパッケージを確認。 # pkg update # pkg upgrade # pkg info Timezone確認。 # date 時刻があってなければタイムゾーンを設定。 # bsdconfig シェルを確認してBashをインストール。 # echo $SHELL # pkg search bash # pkg install bash bash-completion 画面の指示通りにする。 ログインシェルなので.bashrcでなくて.bash_profileに記述する。 # vi .bash_profile bashに切り替えてデフォルトをBashにする。 # bash # chsh -s /usr/local/bin/bash vimをインストール。 # pkg install vim デフォルトのエディタをviからvimに変更する。 (lessからvで起動するための設定) # less .bash_profile export EDITOR="/usr/local/bin/vim" シェルの再読み込みして環境変数確認。 # source .bash_profile # printenv vimの設定ファイルvimrcの場所を確認。 # vim --version デフォルトで/usr/local/share/vim/vim