投稿

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

動画を2台のプロジェクターに同期表示する方法

イベント会場で2台のプロジェクターに動画を同期してループ表示させたいと調査しているときの覚書。 そもそも大きな会場ならシステムが導入されているので、そんな会場を借りた方が早い。 今回はレンタルした2台のプロジェクターで何とかする方法。 ノートPC+Chromecastでプロジェクター2台に出力 いろいろ試した結果、多分これが一番簡単だと思う。 機材一覧 ノートPC:Let's note CF-S9L(CF-S9LY9BDP) Windows 10 Pro Chromecast with Google TV(4K) GZRNL model:  Googleストア LAN環境: iPad Pro 12.9(第6世代M2)でインターネット共有       スマホでもいいが高性能なものにした方がいいと思う。 手順 iPad Proのインターネット共有をオンにして、ノートPCとChromecastを同じWi-Fiに接続。 片方のプロジェクターにノートPCを接続して、もう片方にChromecastを接続。 ChromecastはUSB給電が必要なので注意。 ノートPC上でGoogle Chromeを起動して、PC画面をchromecastへ出力する。 詳細はこちらのサイトを参考に:  Chromecastで簡単デジタルサイネージ | 病院ウェブリク ノートPCに直接接続しているプロジェクターは画面ミラーリングで出力。 ノートPC上で動画を再生(Windows Media Player)して全画面表示+リピート再生。 少しだけChromecast側が遅れるが問題ないレベル。 イベント当日の反省など 講演会が終わって交流会が始まるときにChromecastがiPad Proのインターネット共有が見つからず時間が掛かった。 人数が多かったため(電波が多い)、iPad ProをChromecastの近くに持っていき無事接続。 そもそも交流会中は見てないため同期して表示させる必要がなさそう。 iPad Pro+Chromecastを調査(結論できない) iPad Proのインターネット共有+Chromecastだけで出来たらノートPCを会場で持っていかなくて済むので、出来るかどうか調査。 結論、できないことが分かったけど一応残しておく。 機材一覧 iPad Pro 12.9(第6

えきねっとで複数席予約した新幹線の領収書を分けたい

知人のと合わせて新幹線の席を予約して、その領収書を分けたときの覚書。 予約したのは、えきねっと。 えきねっと(JR東日本)|トップ:新幹線・JR特急列車の予約 東日本のツアー 駅レンタカー申込 えきねっとで席を並びで予約して支払いを済ませた。 領収書を分ける方法は、予約したクレジットカードで駅の券売機で発券して、その券を持って「みどりの窓口」で「領収書を2つに分けてください」と言えばやってくれる。 最初、発券せずに「みどりの窓口」で発券と領収書を同時にやってもらおうと思ったが、えきねっとの会員番号が分からず(窓口の人もどこに表示されているか分からない)、結局券売機で発券して窓口の人に対応してもらった。 あとで調べたらスマホでえきねっとにログインして下記で確認できた。 会員番号はマイページの右上:例)001234567 スマホだとえきねっとロゴでトップに行ってマイページをタップ。 (「ログイン中」メニューからだと会員番号が記載されているページに行けない) 予約番号はマイページから少しスライドして予約した日付の上に記載:例)E01234 その他 発券するには「えきねっと」対応の指定券売機でないと発券できない。 (京都駅では八条口の指定券売機でしか対応してなかった) みどりの窓口は大きい駅にしかない。 川口駅はいつの間にかなくなっていた。 川口周辺は赤羽駅、浦和駅、大宮駅

正規分布とは?標準偏差と分散の違い。

イメージ
多変量解析を勉強しているときの覚書。 ※この記事は主にGoogle検索と生成AIによる要約を元に記述されています。  正規分布とは? 連続的な変数に関する確率分布の一つ。 データのばらつきを表した分布図または式。 平均値を中心にして、山なりの曲線を描く。 参考:  正規分布 - Wikipedia 平均をμ(ミクロン)、分散をσ²(シグマの2乗)とすると1次元正規分布はN(μ, σ²)と表記される。 標準偏差と分散の違い。 両方ともデータの散らばり具合(ばらつき)を表す指標。 標準偏差: 平均値からの散らばり具合の指標。       σ(シグマ)と表記される。 分散: 標準偏差を2乗した値。     標準偏差の面積。     σ²(シグマの2乗)と表記される。 平均値からの差は正と負の値があるため、2乗して正の値とし、まず分散を求める。 それを平方根して標準偏差とする。 標準偏差はデータと同じ単位なので分散で表記するより直感的に評価しやすい。 【関連記事】 最小2乗法とは?誤差がある世界での平均値。

最小2乗法とは?誤差がある世界での平均値。

多変量解析を勉強しているときの覚書。 ※この記事は主にGoogle検索と生成AIによる要約を元に記述されています。 最小2乗法とは? 全ての測定データの誤差を最小にした関係式を求める方法。 測定データの誤差を2乗した和が最小となる代表値を求める式。 2乗する理由は測定値が負の値のとき、正の値と打ち消し合って誤差がなくなってしまうため、2乗して代表値からの誤差を距離として計測する。 異常値があると関係式の品質が低くなる。 逆に全ての測定データが信頼できるものであれば、最小2乗法は最も品質が高くなる。 平均値と最小2乗法 平均値=最小2乗法の関係式の変数に代入して算出した値。 ちなみに誤差を2乗せず絶対値で計算すると中央値になるらしい。 データ解析の分野での平均値は最小2乗法の式から。 算術の分野で平均値はデータを全部足して総数で割った値。 誤差がない世界ではデータ解析と算術の平均値は一致する。 プログラミングで最小2乗法を計算するとき。 エクセルにはLINESTという関数が用意されている。 参考:  LINEST 関数 - Microsoft サポート ここで疑問が…。 平均値=最小2乗法ならばAVERAGEでないのか? LINEST関数は配列を返す。 AVERAGE関数は値を返す。 【関連記事】 多変量解析とは?統計学との違い

多変量解析とは?統計学との違い

多変量解析を勉強しているときの覚書。 ※この記事は主にGoogle検索と生成AIによる要約を元に記述されています。 多変量解析とは? 多変量解析はデータの関連性を調べ、関係式を導き出すデータ解析技法。 多変量解析は特定の分析方法を指すわけではなく、多くの変数が関与する複雑な問題を解決する一連の技術。 一変量解析と二変量解析を充分に行うことが重要。 手順通りに行えば正しい結果が得られるものではない。 データの特性を理解する経験とノウハウおよび対象分野の専門知識が必要。 データ解析と統計学の違い。 共通点 データの関連性を調べること。 違う点 統計学: 構造や傾向を把握する。      手順通りに行えば正しい結果を得られる。 データ解析: 課題解決に向けたデータを元にしたアプローチ。        データを精査し適切な変数を発見する道のり。 データ分析とデータ解析の違い。 データ分析 目的を持って表現された文字や符号、数値などを収集し、分類、整理、成型、取捨選択したうえで解釈して、価値のある意味を見出す。 現在のデータから「売上10%アップ」など意味のある結果を導く作業。 データ解析 データを収集し分析した結果から普遍的な構造や体系、法則に照らし合わせて調べる。 「売上10%アップしたのは晴れが多かったため」と仮説を立てて、原因を追究する作業。 データ解析するためにデータ分析が必須。 【関連記事】 機械学習プロジェクトの進め方:CRISP-DM e-StatのAPIを利用してデータ分析【API利用準備編】

Node.js v18からv20へdnfでアップグレード

Node.jsをアップグレードしたときの覚書。 環境: CentOS Stream 9 dnfモジュールリスト表示 # dnf module list nodejs Globalにインストールされているnpmパッケージ一覧 # npm list -g リセットしてインストール。 # dnf module reset nodejs # dnf module enable nodejs:20/common # dnf module install nodejs:20/common 確認 # dnf module list nodejs # node --version v20.5.1 インストールされている場所確認 # whereis node node: /usr/bin/node /usr/share/node /usr/share/man/man1/node.1.gz Globalにインストールされているnpmパッケージを再インストールする必要はないが、依存関係で動作するかは分からない。 (その時は戻せばいい) 【関連記事】 CentOS Stream 8のPHPを7.4から8.0にアップグレード CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ

オンライン決済Squareでセミナー参加費を事前決済

団体のイベントでセミナー参加費を事前決済して当日の負担を少なくできるかと調査しているときの覚書。 Squareはアメリカの公開会社。 スターバックスと提携している。 参考: Square, Inc. - Wikipedia 1.Squareの決済リンク ウェブで受付してもらったユーザーに決済リンクをメール送信して対応してもらう方法。 決済リンクですべてが完了 | Square オンラインチェックアウト オンラインレッスンのやり方や最適な3つの決済方法 決済リンクは マイページの左メニュー → 支払い → オンラインチェックアウト からリンクを作成して利用する。 決済ごとに3.6%の手数料。 Squareリーダー(4,980円)で当日SuicaやPayPayなどのタッチ決済もできる。 参考:  クレジットカードリーダー | タッチ決済もおまかせ | Square(スクエア) 2.Squareにアカウントを作成して試す 試しているときの覚書 複数店舗を追加するときは同事業・同業種が条件。 自社アカウントで別業種の団体イベントの決済はできない。 別途アカウントを新規作成する必要がある。 参考:  1つのアカウントで複数店舗を管理する | Squareヘルプセンター - JP 銀行口座の認証に1週間ほど掛かる(決済自体は登録後すぐできる)。 参考:  Squareの振込スケジュール | Squareヘルプセンター - JP JCBクレジットカードの審査に1週間ほど掛かる。 3.その他の決済方法 検討してみた決済方法 Stripeも同様に決済リンクを提供している(手数料3.6%)。 オンラインだけならStripeの方がいいという情報あり。 参考:  開発不要のオンライン決済ページ | Stripe Checkout 銀行振込: 参加名簿と振込名の照合が手間 あと「LINEで友達登録させたい」という声もあったが、まだ信用度が高まっていない団体をLINEで登録しようとは思わないと思う。 セミナーや講演会だったら「ウェブで受付+メールでできるだけ事前決済のお願い」ぐらいが距離感はちょうどいいと思う。 【関連記事】 ホームページで年会費をオンライン決済するサービス比較

所持しているゴルフクラブ一覧

たまに調べるので覚書しておく。 アイアン ピン(PING) G430 アイアン(6本セット) Fujikura Speeder NX 45 カーボンシャフト 2023 公式ページ:  G430アイアン│CLUB PING【PINGオフィシャルサイト】 シャフト: Fujikura Speeder NX 45 カーボンシャフト シャフトスペック: 重量41g、キックポイント:先中調子 6: ロフト25.5度、長さ37.63インチ、重量332g 7: ロフト29度、長さ37インチ、重量341g 8: ロフト33度、長さ36.5インチ、重量347g 9: ロフト37度、長さ36インチ、重量354g PW: ロフト41度、長さ35.5インチ、重量363g 45: ロフト45度、長さ35.5インチ、重量353g ユーティリティ ピン(PING)  G430 HL ハイブリッドユーティリティ SPEEDER NX 45 公式ページ:  G430 HLハイブリッド│CLUB PING【PINGオフィシャルサイト】 シャフト: SPEEDER NX 45 シャフトスペック: 重量41g、キックポイント:先中調子 3H: ロフト19度、長さ40.25インチ、重量313g キング F9 SPEEDBACK ワンレングスハイブリッドユーティリティ Speeder Evolution for Cobra シャフト: Speeder Evolution for Cobra フレックスR シャフトスペック: 重量60g、キックポイント:中調子 4H: ロフト21度、長さ37.75インチ、重量357g ドライバー YAMAHA(ヤマハ) 22 RMX VD59ドライバー Diamana YR 2022年モデル 公式ページ:  RMX VD59 ドライバー Diamana YR | ヤマハ ゴルフオンラインストア シャフト: Sフレックス ロフト:10.5度 長さ: 45.5インチ 国産+赤で衝動買いしたけど意外に良かった。 【関連記事】 法人でタイムズカーシェアを利用する

全文検索エンジン「Elasticsearch」とは?特徴と使いどころ

前にparsedmarcをインストールしたときに登場したElasticsearch。 その時はとりあえずインストールしてみたけど、改めて調査したときの覚書。 1.Elasticsearchとは? Elastic社が開発しているJava製の全文検索エンジン。 独自ライセンス。 配布パッケージ(yumやdnf経由)を利用する場合は無料で利用できる。 ソースコードを改変する場合は公式サイトをよく読む必要がある。 参考:  2021年のライセンス変更に関するFAQ | Elastic 検索エンジンでは一番人気らしい。 Elastic社はデータを可視化するソリューションを提供している。 またElasticsearchの商用サポートを提供している。 Elasticsearch Platform — 答えをリアルタイムで大規模に検索 | Elastic Elasticsearch - Wikipedia 有料のElastic Cloudでサーバー保守管理をElastic社に任せて、最新のElasticsearchを利用できる。 2.Elasticsearchの特徴 検索が高速 データのインデックス化と検索がほぼリアルタイム クラスタ化してデータを分散して保持可能 データの格納や検索クエリはJSON形式 プラグインで拡張可能 3.Elasticsearchの使いどころ 用途 ホームページ(WordPress)のサイト内検索 WordPressであれば公式プラグインがある。 参考:  Elastic Site Search:Wordpress検索プラグイン | Elastic Blog DMARCレポート情報の表示 Logstashを用いたサーバーのアクセスログの分析 SIEM(Security Information and Event Management)などのセキュリティログの分析 大規模データのデータ分析 Elastic Cloudを使いたいけれど月額95ドル(14,000円)は結構高い。 参考:  オフィシャルのElasticsearch料金:Elastic Cloud、マネージドのElasticsearch | Elastic まずは無料のパッケージ版を自サーバーにインストールして試すのが良さそう。 【関連記事】 DMARCレポートツール「parsedmarc」をインス

DMARCレポートツール「parsedmarc」をインストール

前に試したオープンソースのツールはうまくインストールできなかったので、他にいいツールはないものかと検索し、parsedmarcをインストールしたときの覚書。 環境: CentOS Stream 9, Python 3.9.17 1.parsedmarcとは? オープンソースのDMARC解析ツール。 IMAPやAPI経由でDMARCレポートのメールを解析して、他のシステムが使いやすい形式で出力する。 Python製。 オープンソースの全文検索エンジン「Elasticsearch 」とダッシュボード可視化ツール「Kibana」と組み合わせることで、グラフ形式で分かりやすく可視化することが可能。 公式サイト parsedmarc documentation - Open source DMARC report analyzer and visualizer — parsedmarc 8.6.1 documentation GitHub | domainaware/parsedmarc: A Python package and CLI for parsing aggregate and forensic DMARC reports parsedmarc · PyPI ここで 「GoogleのLooker StudioでDMARCレポートを表示できる方法があるのでは?」 と思って調べたけど、今はないみたい。 2.parsedmarcをインストール 公式サイトに従ってPythonの環境を整える。 # dnf install python39 python3-virtualenv python3-setuptools python3-devel libxml2-devel libxslt-devel parsedmarcユーザーを追加する。 # useradd parsedmarc -r -s /bin/false -m -b /opt parsedmarcユーザー権限でPython仮想環境を作る # sudo -u parsedmarc virtualenv /opt/parsedmarc/venv Python仮想環境に入る。 # source /opt/parsedmarc/venv/bin/activate parsedmarcユーザー権限でparsedmarcをインス

Open DMARC Analyzer + Open Report ParserをCentOSにインストール→諦めた

毎日送られてくるDMARCレポートを可視化したいと調査しているときの覚書。 環境: CentOS Stream 9, Nginx 1.22.1, PHP 8.1.14, MariaDB Server 10.5.16 オープンソースのOpen DMARC Analyzerをインストールしてみた。 1.Open DMARC Analyzerをインストール GitHubの公式Readmeを参考に。 userjack6880/Open-DMARC-Analyzer: Open DMARC Analyzer is an Open Source DMARC Report Analyzer to be used with DMARC reports that have been parsed by John Levine's rrdmarc script or techsneeze's dmarcts-report-parser. 適当な場所にcloneする。 # cd /home/httpd/httpdocs/ # git clone https://github.com/userjack6880/Open-DMARC-Analyzer.git # cd Open-DMARC-Analyzer/ config.phpを設定する。 # cp config.php.pub config.php # less config.php phpMyAdminで接続用ユーザーを作成して設定する。 これでブラウザからinstall.phpにアクセスしてみる。 http://vm-dev1/Open-DMARC-Analyzer/install.php エラー connecting to database... success opening file... success → CREATE VIEW IF NOT EXISTS report_stats AS ( → SELECT → report.serial, domain, rcount, disposition, reason, → policy_p, policy_pct, dkimdomain, dkimresult, dkim_align, → spfdomain, spfresult, spf_align, mi

事前確定届出給与とは?メリットと申請方法

事前確定届出給与というのがあるのを知って調査したときの覚書。 環境: 株式会社、一人社長 1.事前確定届出給与とは?そのメリット 社長(役員)向け賞与。 事前に税務署に届け出をすることで損金に算入できる。 メリット 健康保険は賞与573万円を超えると保険料が掛からなくなる。 厚生年金は賞与150万円を超えると保険料が掛からなくなる。 高額医療費の自己負担上限額が低くなる。 (高額医療費は月額給与で計算されるから) 必要なら会社から前借りして賞与で相殺すれば決算書に載らないという方法もある。 つまり、月額給与を低くして事前確定届出給与を多めにすると社会保険料を抑えることができる。 ただし、その分所得税は増える。 結局、税金対策として事前確定届出給与を考えるなら法人税+所得税+社会保険料で計算するので、税理士に相談して決めた方がいい。 2.事前確定届出給与の申請方法 e-Taxで電子申告できる。 参考:  申請・届出手続(法人税関係) | 【e-Tax】国税電子申告・納税システム(イータックス) 提出期限: 株主総会の1ヶ月後 or 会計年度開始から4ヶ月後。 株式会社は株主総会の開催が法的義務。 株主総会は決算後3ヶ月以内の開催が法的義務。 その他注意点 役員報酬の変更は会計年度開始から3ヶ月以内。 原則、期中の変更不可。 賞与を実際に支払った際に被保険者賞与支払届の提出が必要。 届出を無視して毎月支払うと給与とみなされる。 3.実際活用するかどうか 今回調べてみて、月額報酬8万円して事前確定届出給与を〇百万円にすることはしない。 一般的な月額報酬のまま、経常利益が増えてきたら、その分を自分へのボーナス(事前確定届出給与)として支払おうと思った。 実際どれくらい手間なのか知りたいので来期やってみる予定。 【関連記事】 【2021年版】一人社長の年末調整 一人社長の給与(役員報酬)を変更

Azure OpenAIのAPIをPostmanで確認してPHPで実装する。

イメージ
前の記事でAzure OpenAI Serviceを利用する目途が立ったので、API経由でリクエストを投げてみたときの覚書。 参考サイト Azure OpenAI Service の REST API リファレンス - Azure OpenAI | Microsoft Learn 1.PostmanからAPIを叩く APIを試すならPostmanが便利。 Azure OpenAI Studio → Chat → View code → curl で分かる。 パラメータに関しては公式のREST APIリファレンスを参考に。 2.PHPからAPIを利用する 下記ライブラリがGitHubで公開されている。 GitHub - openai-php/client: ⚡️ OpenAI PHP is a supercharged community-maintained PHP API client that allows you to interact with OpenAI API. API Keyがあればリクエストを送信できるので、個人的にライブラリを使うまでもないと思う。 WordPressのプラグインとして実装するなら、API用のクラス内でwp_remote_postした方が保守しやすくなると思う。 wp_remote_post() | Function | WordPress Developer Resources timeoutはデフォルトで5秒なので設定するのを忘れずに。 APIからのレスポンスが10秒くらい掛かるのでWp-cronを使って非同期処理する。 Cron | Plugin Developer Handbook | WordPress Developer Resources 【関連記事】 Azure OpenAI Serviceの調査と利用申請してデプロイ(配備) Microsoft Graph API + PostmanでOneDriveにファイルアップロード

Azure OpenAI Serviceの調査と利用申請してデプロイ(配備)

ChatGPTをPHPから利用する方法を調査しているときの覚書。調査編。 1.ChatGPT EnterpriseとAzure OpenAI Service 2023年8月28日に企業向けChatGPTがアナウンスされた。 参考: Introducing ChatGPT Enterprise ChatGPT Enterpriseは企業向けに制限緩和やレスポンス速度が改善されている。 ChatGPTのAPIは 平均37秒 。 Azure OpenAIは 平均12秒 。 参考:  ChatGPT API の速度をシュッと比較してみる|bbz Azure OpenAIは企業向けにセキュリティなどカスタマイズ性が高い 参考:  What is Azure OpenAI Service? - Azure AI services | Microsoft Learn まずはAzure OpenAIで試すことにした。 2.料金/費用 トークン数というテキスト構成単位で課金される。 文字数に近い。日本語だと文字数よりトークン数が大きくなる。 例えば「おはようございます。」は文字数10、トークン数14。 公式サイトのツールでトークン数が分かる。 参考: Tokenizer | OpenAI Platform GPT-4はGPT-3.5の価格の20倍。 参考:  Azure OpenAI Service - 価格 | Microsoft Azure GPT-3.5で1000文字入力して、1000文字の答えが返ってきたらおおよそ1円掛かるイメージ。 3.Azure OpenAI Serviceの利用申請してデプロイ(配備) 現在Azure OpenAI Serviceは利用申請する必要がある。 使える言語モデルはGPT-3.5。 GPT-4を利用するには別途Azure OpenAI GPT-4 Waitlistで申請する必要がある。 手順メモ Azure ポータルにアクセス Azure AI services multi-service accountを選択 「Azure の無料試用版から開始する」から従量制を契約サインアップする。 テクニカルサポートはなし 「お探しのページが見つかりません」になった。 Azure ポータルへ移動 Azure AI services multi-servi

Google Nest Wifiを初期化して設定

Google Nest Wifiルーター+Google Nest Wifi 拡張ポイントの中古品を購入して設定したときの覚書。 Google公式サイトはこちら。 Nest Wifi Tech Specs - Google Store 初期化(工場出荷状態にリセット)する方法 中古品なので初期化したい。 Google Nest WifiルーターとGoogle Nest Wifi 拡張ポイントの裏面の小さいなボタンを長押しする(5秒以上?)。 参考:  Factory reset your Wifi device - Google Nest ヘルプ Google Nest Wifiルーターはインジケーターが点滅する。 Google Nest Wifi 拡張ポイントは「初期化しようとしています」と音声が流れる。 リセットまで数分かかるので慌てずに待つ。 Google Nest Wifi 拡張ポイントは再起動が音声が流れるのでそれまで待つ。 ネットワーク設定など 初期化後はスマホにHomeアプリをインストールして指示に従って設定する。 参考になりそうな公式ヘルプ PPPoEの設定方法|WAN 設定 - Google Nest ヘルプ

PowerShellでファイル名を一括で変更(連番で桁埋め)

連番の付いたファイル名にしたくて調査しているときの覚書。 専用ソフトとか使わずにPowerShellで出来るだろうとやってみた。 環境: Windows 11 Pro 参考サイト Powershellでファイル名に連番を振ってリネームする – Helve Tech Blog 実行したPowerShellコマンド。 PS > ls | sort Name | % {$i = 1} {mv $_.Name ("{0:000}.jpg" -f $i++)} 一覧取得 > 名前でソート > 数値3桁で桁埋めしたjpgファイルに名前を変更。 ただしパワーポイントで出力した場合、ファイル名が「スライド1、スライド10...スライド2」のようにズレてしまうので、その際は更新順で並び替える。 PS > ls | sort LastWriteTime | % {$i = 1} {mv $_.Name ("{0:000}.jpg" -f $i++)} またGhatGPTに聞いてみたのが下記。 PowerShellで連番の付いたファイル名に一括変更するコマンドを教えてください。 $files = Get-ChildItem "C:\TestFolder" -Filter *.txt $i = 1 foreach ($file in $files) {     $newName = "{0}_{1}.txt" -f $i, $file.BaseName     Rename-Item -Path $file.FullName -NewName $newName     $i++ } また「一行で実行できる形式で教えてください。」と言えば教えてくれる。 桁埋めの指示を含めれば、{0:D3}を含めて出力してくれる。 【関連記事】 SSHクライアントをTeraTermからWindows Terminalへ

WordPressの「Favicon by RealFaviconGenerator」エラー対応

WordPressのプラグイン「Favicon by RealFaviconGenerator」がfavicon生成時にエラーになるようになったので調査しているときの覚書。 環境: CentOS Stream 8, PHP 8.0.20, WordPress 6.2.2, Favicon by RealFaviconGenerator 1.3.27 エラー内容 2023/08/04 09:37:36 [error] 1826#1826: *51 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught TypeError: ftp_pwd(): Argument #1 ($ftp) must be of type resource, null given in /home/httpd/saitama-nougeka/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php:232 Stack trace: #0 /home/httpd/saitama-nougeka/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php(232): ftp_pwd() #1 /home/httpd/saitama-nougeka/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php(459): WP_Filesystem_FTPext->cwd() #2 /home/httpd/saitama-nougeka/wordpress/wp-admin/includes/file.php(1569): WP_Filesystem_FTPext->is_dir() #3 /home/httpd/saitama-nougeka/wordpress/wp-content/plugins/favicon-by-realfavicongenerator/admin/class-favicon-by-realfavicongenerator-api-response.php(203): unzip_file() #4 /ho

録音して議事録を作成する。Wordトランスクリプト機能

議事録は録音してChatGPTとかにまとめさせればいいと思って調査したときの覚書。 録音デバイス: iPad Pro 12.9(第6世代M2) Microsoft 365: Business Standard iOSのボイスメモで録音した。 Wordトランスクリプト機能 Microsoft365の文字起こし機能。 2023年2月1日からWindowsのWordで利用可能になった。 参考: Transcribe comes to Word for Windows(英語) 下記公式サイトの動画が分かりやすい。 録音を文字起こしする - Microsoft サポート 主な特徴 音声ファイルから文字起こし可能。 話者別に文字起こし。 ただし別人の声が同一と判断されることがある。 時刻をクリックすると音声を確認できて使いやすい。 文字起こしできるのは1ヵ月300分まで。 Microsoft365を契約してないと使えない? 上記サイトの動画が分かりやすい。 話者別に文字起こししてくれるので、会議や打ち合わせの議事録として使いやすい。 ただし似ている声質は同じ話者になりやすい。 【関連記事】 Microsoft 365 FamilyからMicrosoft 365 Business Standardへ移行

Let's Encryptに登録したメールアドレスを確認して変更する

Let's Encrypt Expiry Botからのメールが旧メールアドレスに送られてきたので更新したときの覚書。 環境: CentOS Stream 8, certbot 2.5.0 公式サイトを参考に。 Expiration Emails - Let's Encrypt まずは登録されているメールアドレスを確認する。 # certbot show_account メールアドレスを変更する。 # certbot update_account --email yourname+1@example.com 関連記事 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ Let's Encryptで無料SSLをCentOS7に設定(certbot)

Ubuntu Server 22.04 を仮想マシンとしてインストール

Ubuntu Serverを試したくなってインストールしたときの覚書。 環境: VMware Fusion 13.0.2 LinuxディストリビューションのシェアはUbuntuが31.8% Historical trends in the usage statistics of Linux subcategories, May 2023 1.仮想マシンとしてインストール 公式サイトからisoファイルをダウンロードする。 参考:  Ubuntuを入手する | Ubuntu | Ubuntu VMware Fusionの仮想マシンとしてインストールする。 OSインストール時に選択した項目 Ubuntu Server (minimized) Featured Server Snapsは何も選択しない 2.初期設定 OSインストール時に設定したユーザー名でログインする。 IPアドレスの確認 $ ip a WindowsからSSHでアクセスする。 C:> ssh hoge@192.168.0.2 rootになる。 $ sudo su - パッケージを最新にする。 # apt update # apt list --upgradable # apt upgrade ホスト名の確認 # hostnamectl status タイムゾーンの変更して確認。 # dpkg-reconfigure tzdata # date 稼働しているサービスの一覧 # service --status-all CentOSで慣れているsystemctlも使える。 # systemctl list-unit-files -t service 3.ソフトウェアのバージョンを確認 カーネルのバージョンを確認 # uname -a Linux vm-dev4 5.15.0-71-generic #78-Ubuntu SMP Tue Apr 18 09:00:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux 以下、気になっていたソフトウェアのバージョンをチェック。 # apt show nginx Version: 1.18.0-6ubuntu14.3 Depends: nginx-core (<< 1.18.0-6ubuntu14.3.1~) | ngi

マザーボードの電源が入らない

自作PCのマザーボードの電源が入らなくて原因を切り分けているときの覚書。 環境: ASUS TUF GAMING B550-PLUS, Ryzen 7 5700X BOX 確認すること マザーボード+CPU+電源ケーブルのみで起動するか。 (PCケースに固定しない状態) CPUなしだと起動しない。 (一部の高級マザーボードはCPUなしでも起動できるのがあるらしい) マザーボートのパワースイッチ(PWR_SW)はマイナスドライバーで短絡させることで電源ONに可能。 (PCケースの電源ケーブルが故障している可能性) ちなみに私の場合は、CPUソケットの横棒を上げずにCPUファンごとマザーボードに装着したため電源が入らなかった。 CPUグリスがなくなったので、CPUファンを取りたくなかった。。。 【関連記事】 自作PCのパーツ一覧(2023年3月) 自作PCのパーツ一覧(2022年12月)

BigQuery ML(Machine Learning)のチュートリアルをやってみる

Google Analytics 4(GA4)のデータを機械学習で活用したいと調査しているときの覚書。 1.機械学習とは? 機械学習とは、過去のデータから自動的にパターンやルールを学習することで何らかのタスクをこなす技術。 実世界の複雑に絡み合う事象から法則を見つけ、予測や課題解決につなげることができる。 Googleデジタルワークショップの教材が分かりやすい。 参考:  機械学習の基礎 - Google Digital Workshop (デジタルワークショップ) 2.GA4のデータをBigQueryへエクスポート GA4のデータは14ヵ月しか保存されない。 参考:  データの保持 - アナリティクス ヘルプ 過去のデータをBigQueryに簡単に保存する仕組みはないので、データ分析として利用する場合はBigQueryにエクスポートしておく必要がある。 (API経由でプログラムを組めば多分出来る) 前の記事を参考に:  Google Analytics4とBigQueryを接続して生データを確認する 3.BigQuery MLとは? BigQueryのデータを用いて簡単に機械学習(Machine Learning)モデルを作成し、実行できるサービス。 プログラミングの必要なくSQL言語だけで実行できる。 BigQuery ML とは  |  Google Cloud 4.BigQuery MLのチュートリアル まずは大人しく公式サイトのクイックスタートをやってみる。 クイックスタート: BigQuery ML で機械学習モデルを作成する  |  Google Cloud サンプルがGoogleアナリティクスのデータなのでちょうどよさそう。 注意事項など ロケーションタイプはマルチリージョン sample_modelを生成するのに3分 16秒掛かった。 分類子とか意味不明。 とりあえずチュートリアルを終わっても分かった気がしない。 ページ下部のリンクにあった機械学習集中講座をやってみることにした。 Machine Learning  |  Google Developers 【関連記事】 Google Analytics(GA4)はデータ保存、可視化するのはLooker Studioの役目。 Google Analytics4とBigQueryを接続して生データを確

NginxのKernel TLS(kTLS)

KernelでTLSの暗号化と複合化を行うことでNginxのパフォーマンスを向上させる記事を読んだときの覚書。 環境: CentOS Stream 9, nginx 1.22.1, OpenSSL 3.0.7 Kernel TLSとSSL_sendfile()によるNGINXのパフォーマンス向上 - NGINX 1.Kernel TLS(kTLS)とは? TLSをカーネルで実装して処理を高速化する仕組み。 Linuxカーネル4.17 + OpenSSL 3.0.0以上が必要。 RHEL9(CentOS Stream 9)から使える。 2.Kernel TLS(kTLS)が使えるか確認 カーネルのバージョンを確認。 # uname -a Linux vm-dev1.hoge.co.jp 5.14.0-285.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 7 17:32:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux 現在ロードされているカーネルモジュールの一覧。 参考:  第31章 カーネルモジュールの使用 Red Hat Enterprise Linux 6 | Red Hat Customer Portal # lsmod tlsカーネルモジュール情報の情報。 # modinfo tls nginxのビルドオプションを確認。 # nginx -V nginx version: nginx/1.22.1 built by gcc 11.3.1 20221121 (Red Hat 11.3.1-4) (GCC) built with OpenSSL 3.0.7 1 Nov 2022 TLS SNI support enabled configure arguments: (略) --with-openssl-opt=enable-ktls (略) appstreamリポジトリからインストールしたNginx。 OpenSSLが対応しているスイートの一覧。 # openssl ciphers -v OpenSSLの設定は「/etc/pki/tls/openssl.cnf」。 OpenSSLのバージョン確認。 # openssl version OpenSSL 3.0.7 1 Nov 2022 (L

FreeBSD13.1にImageMagick7をインストール

FreeBSDにImageMagickをインストールしてAVIF(AV1 Image File Format)への変換を試したときの覚書。 環境: FreeBSD 13.1, ImageMagick 7.1.0-50 FreeBSDのバージョン確認。 # uname -a FreeBSD vm-dev2 13.1-RELEASE-p6 FreeBSD 13.1-RELEASE-p6 GENERIC amd64 pkg経由でImageMagickインストールする。 まずは依存関係を知りたかったのでpkg経由でインストールしてみた。 # pkg search ImageMagick # pkg install ImageMagick7 New packages to be INSTALLED:         ImageMagick7: 7.1.0.50         Imath: 3.1.6         aom: 3.5.0         brotli: 1.0.9,1         cairo: 1.17.4_2,3         cups: 2.4.2         dav1d: 1.1.0         dejavu: 2.37_1         encodings: 1.0.5,1         fftw3: 3.3.10_2         font-bh-ttf: 1.0.3_4         font-misc-ethiopic: 1.0.4         font-misc-meltho: 1.0.3_4         fontconfig: 2.14.0,1         freetype2: 2.12.1_2         fribidi: 1.0.12         gdk-pixbuf2: 2.42.10         ghostscript9-agpl-base: 9.56.1_7         ghostscript9-agpl-x11: 9.56.1         giflib: 5.2.1         graphite2: 1.3.14         gsfonts: 8.11_8         harfbuzz: 7.0.1         highway: 1.0.2         j

FreeBSD13.1の仮想マシンをインストールして初期設定

FreeBSDを試したくなってインストールしてみたときの覚書。 環境: VMware Fusion 13.0.1 1.FreeBSD13.1をインストール 公式サイトから「FreeBSD-13.1-RELEASE-amd64-disc1.iso」をダウンロードして、VMware Fusionで仮想マシンを作成。 FreeBSD プロジェクト ネットワークをBridgeにして仮想マシン起動。 インストールする機能でportsを選択。 インストール後、IPアドレス確認。 # ifconfig sshからrootでログインできるようにsshdの設定変更 # less /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes sshdを再起動。 # /etc/rc.d/sshd restart Windowsからログインする。 # ssh root@192.168.10.100 FreeBSDをアップデート。 # freebsd-update fetch # freebsd-update install パッケージマネージャをアップデート。 # pkg update # pkg upgrade 2.Bashをインストール デフォルトのcshが使いにくいので慣れているbashをインストールする。 # pkg search bash # pkg install bash bash-completion 画面の指示通りにする。 # vi .bashrc [[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \         source /usr/local/share/bash-completion/bash_completion.sh bashに切り替え。 # bash デフォルトをBashにする。 # chsh -s /usr/local/bin/bash 別コンソールでログインして確認。 3.gitをインストール よく使うgitはインストールしておく。 # pkg search git # pkg install git python39もインストールされた。バージョン確認

Google Workspaceを解約

Google WorkspaceからMicrosoft 365へ移行したときの覚書。 環境: Google Workspace Business Starter 1.事前準備 別記事にした。 参考: Google Workspaceのデータを個人アカウントへ移行 2.コアサービスをオフ Google Workspaceの管理画面で アプリ > Google Workspace > サービス のステータスの全部選択してオフにする。 これで運用してみて問題ないか確認する。 3.Google Workspace解約 Gmail > 設定 > この組織の管理 > お支払い > Google Workspace Business Starter 年契約だったので契約満了日は2024年1月。 更新設定の変更 > サブスクリプション を解約する 解約したら追記予定。 【関連記事】 Google Workspaceのデータを個人アカウントへ移行 Google WorkspaceからMicrosoft 365への移行を検討

自作PCのパーツ一覧(2023年3月)

3ヵ月前に刷新した仕事用PCの調子が悪くなってマザーボードとCPUを交換。 現在のPCパーツ構成 Intel Core i5 13500(Raptor Lake) BOX 14Core 2.5GHz LGA1700 /35,676円 ASUS TUF GAMING B660M-PLUS D4 /17,904円 MSI GeForce RTX 3060 VENTUS 2X 8G OC /52,442円 Team DDR4 3200Mhz PC4-25600 8GBx2枚/6,480円 Crucial DDR4 3200Mhz PC4-25600 8GBx2枚/5,780円 合計金額: 118,282円 PCケースと電源は変えてない。 【関連記事】 自作PCのパーツ一覧(2022年12月) Windows11をクリーンインストール(2022年12月)

NginxでSemrushBotをアクセス拒否

SemrushBotから短時間に大量のアクセスがあるので拒否する設定にしたときの覚書。 環境: CentOS Stream 8, Nginx 1.22.1 アクセスログ確認。 # less /var/log/nginx/access.log  185.191.171.12 - - [08/Mar/2023:04:29:33 +0900] "GET /dr.htm/page/6/page/7/page/4/page/13/page/9/page/2/page/9/page/3/ HTTP/1.1" 301 169 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)" "-" nginxの設定ファイルでユーザーエージェントにマッチしたらコネクションを閉じる(return 444)。 参考:  NGINX to block bad bots. (add Twenga|TwengaBot if you want to exclude them too) # cd /etc/nginx/conf.d/global/ # less wordpress_restrictions.conf # # Block bots # if ($http_user_agent ~* (SemrushBot|MJ12bot) ) {     return 444; } テストしてnginxリロード # nginx -t # systemctl reload nginx 全サーバーで共有するのでコミットを忘れずに。 # git add --all # git commit -m 'Update block bot list' # git push origin master お行儀がいいbotは何もしない。 botの一覧と簡単な説明。 2023年1月更新!迷惑なbotをアクセス拒否・除外する設定方法まとめ(Nginx・Apache・.htaccess) 【関連記事】 nginxで国単位のIPアドレス制限 WordPressの「/?author=1」をブロックする

Minidumpフォルダのdmpファイルを読み込む

突然Windowsの電源が落ちたのでdmpファイルを解析してみたときの覚書。 環境: Windows 11 Pro 22H2, GeForce Game Ready ドライバー v531.18 イベントビューアーを開いてみると下記エラー このコンピューターはバグチェック後、再起動されました。バグチェック: 0x00000119 (0x0000000000000002, 0xffffffffc000000d, 0xfffff58965e7f860, 0xffff8006a39afcc0)。ダンプの保存先: C:\Windows\Minidump\030623-11046-01.dmp。レポート ID: f4b00ede-78f6-49ce-8a0b-85193a5f4c46。 この保存されたdmpファイルを開くためにはWinDbh Previewというソフトを使うらしい。 ミニ ダンプ ファイルを読み取る方法 | Dell 日本 書いてある通りにインストールして「!analyze -v」してみる。 VIDEO_SCHEDULER_INTERNAL_ERROR (119) The video scheduler has detected that fatal violation has occurred. This resulted in a condition that video scheduler can no longer progress. Any other values after parameter 1 must be individually examined according to the subtype. Arguments: Arg1: 0000000000000002, The driver failed upon the submission of a command. SYMBOL_NAME:  dxgmms2!VidSchiSendToExecutionQueue+19fb2 MODULE_NAME: dxgmms2 要は「モジュール名”dxgmms2”というWindowsのグラフィックドライバーがコマンドの送信時に失敗しました。」ということみたい。 nVidiaのGeForceドライバーは最新のv531.18。 頻繁に起こるわけではな

メモリ診断ツール「MemTest86」

Windowsが突然再起動するようになったのでメモリの原因かなと思って調査したときの覚書。 環境: Windows 11 Pro 22H2,  Windows標準の「Windows メモリ診断」より定評のあるフリーのメモリ診断ツールを使ってみる。 MemTest86 - Download now! 6時間ぐらい掛かり問題なくPASSした。 メモリの故障ではないらしい。 診断結果logはUSBメモリに保存しておく。 2023-02-27 10:24:36 - Attempting to retrieve the root directory of the data partition. 2023-02-27 10:24:36 - Found 6 handles that supported SimpleFileSystem 2023-02-27 10:24:36 - Checking handle 0 (C7028F98) 2023-02-27 10:24:36 - Handle is own partition 2023-02-27 10:24:36 - Checking handle 1 (C7019018) 2023-02-27 10:24:36 - HD node found: MBR type(2), Signature type(2), Part #(2), Start LBA(524288), Num Sectors(524288) 2023-02-27 10:24:36 - Self node: MBR type(2), Signature type(2), Part #(1), Start LBA(2048), Num Sectors(522240) 2023-02-27 10:24:36 - Checking handle 2 (C8D8E298) 2023-02-27 10:24:36 - Checking handle 3 (C8D8DD18) 2023-02-27 10:24:36 - Checking handle 4 (C8D8DA98) 2023-02-27 10:24:36 - Checking handle 5 (C71F4598) 2023-02-27 10:24:36 - Found 13 handles that suppor

MacのショートカットキーをWindowsっぽく設定

メインのWindows PCが故障して、新しい PCが届くまでにMac miniで作業している時の覚書。 環境: Mac mini(2018) Ventura 13.2.1 1.キーボードショートカット設定 MacはデフォルトでEmac風のキーバインドになっているのでキータイピングは快適。 ウィンドウの操作はWindowsに慣れているので下記のように変更。 System Settings > Keyboard > Keyboard Shortcuts... Mission Control > Mission Control: Alt + up Mission Control > Application Windows: Alt + down Mission Control > Mission Control > Move left a space: Alt + left Mission Control > Mission Control > Move right a space: Alt + right App Shortcuts > Google Chrome.app: Reload This Page: F5 App Shortcuts > Google Chrome.app: New Tab: Ctrl + T App Shortcuts > Google Chrome.app: Close Tab: Ctrl + W App Shortcuts > Finder.app: Rename: F2 App Shortcuts > Finder.app: Move to Trash: Ctrl + D Function Keys > User F1, F2, etc. ....: On 2.AltTabをインストール Alt + Tabでアプリケーションを切り替えたい。 Command + Tabは押しにくいから嫌。 オープンソースで公開されているのでGitHubからダウンロードする。 参考:  lwouis/alt-tab-macos: Windows alt-tab on macOS 3.その他 忘れそうなのを覚書 Finderで隠しファイルを表示する: Command + S

GeForce RTX 3060 VENTUS 2X 8G OCを急遽購入

Windowsがブルースクリーンになって再起動を繰り返すようになって、原因はQuadro P1000かな?と思って急遽ビデオカードを購入した時の覚書。 環境: Windows 11 Pro 購入したのはこちら。 MSI GeForce RTX 3060 VENTUS 2X 8G OC | Graphics Card | MSI Global 価格.com - MSI GeForce RTX 3060 VENTUS 2X 8G OC [PCIExp 8GB] 価格比較 Amazonで52,442円。 GeForce RTXは10bit colorに対応している。 Adobe IllustratorのGPUパフォーマンス機能を有効にするにはOpenGL 4.0以上をサポートしている必要がある。 参考:  Adobe Illustrator の必要システム構成 もっと落ち着いてどれを買うか吟味したかった。 【関連記事】 自作PCのパーツ一覧(2022年12月) NVIDIA Quadro P1000を購入。SW271+10bitカラー設定

SCEP証明書登録の初期化が失敗しました。

突然Windowsが落ちた後、それが繰り返されるようになったので調査したときの覚書。 環境: Windows 11 Pro 22H2, Ryzen 7 5700X, ASUS TUF GAMING B550-PLUS, NVIDIA Quadro P1000 イベントビューアーを見てみるとそれらしいエラー https://AMD-KeyId-1234.microsoftaik.azure.net/templates/Aik/scep を経由した WORKGROUP\MY-WIN$ のSCEP証明書登録の初期化が失敗しました。 GetCACaps GetCACaps: Not Found {"Message":"The authority \"amd-keyid-1234.microsoftaik.azure.net\" does not exist."} HTTP/1.1 404 Not Found Date: Sat, 25 Feb 2023 01:35:25 GMT Content-Length: 121 Content-Type: application/json; charset=utf-8 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000;includeSubDomains x-ms-request-id: 91a4477d-1059-4295-92d5-abed7b44f569 やったこと マザーボードのBIOSをv2803からv2806へアップデート。 NVIDIA Quadro P1000ドライバーv527.27からv528.49へアップデート。 BIOSのSecurity Device Supportを無効に。 → ログイン時のPINが無効になり、再設定も出来なくなったので元に戻した。 Google Chromeを最新版に更新。 ディスククリーンアップを起動 > システムファイルのクリーンアップ でCドライブとDドライブ両方を実行。 BIOSでSVM Modeを有効化。 「ハイパーバイザーの起動に失敗しました。SVM が存在しないか、BIOS で有効になっていません。」とイベントビューアー

Google Workspaceのデータを個人アカウントへ移行

Google WorkspaceからMicrosoft 365へ移行するので、Google Workspaceのデータを個人Googleアカウントへコピーしているときの覚書。 環境: Google Workspace Business Starter メールは元々個人Gmailへ転送していたので何もする必要はない。 1.Googleドライブ Google Takeoutを使う。 Googleアカウントを管理 > データとプライバシー > (一番下にスクロール)アプリとサービス > ドライブ のダウンロード。 スプレッドシートはxlsx形式でダウンロードされる。 2.Googleカレンダー Google Takeoutを使う。 Googleアカウントを管理 > データとプライバシー > (一番下にスクロール)アプリとサービス > カレンダー のダウンロード。 ics形式でダウンロードできる。 Googleカレンダー 設定 > カレンダーを追加 > 新しいカレンダーを作成 作成後、左メニューのインポート/エクスポートを選択。 ダウンロードしたicsファイルとさっき作成したカレンダーを選択しインポート。 必要な数だけ繰り返す。 【関連記事】 Google WorkspaceからMicrosoft 365への移行を検討 【G Suite】ドメインエイリアスをプライマリドメインに。無償版から有償版に切り替え