chrome://settings/searchEngines
を開き、追加をクリック
1年以内
・名前:google.co.jp
・ショートカット:1
・URL:https://www.google.co.jp/search?q=%s&tbs=qdr:y
ニュース+1週間+日付順
・ショートカット:n
・URL:https://www.google.co.jp/search?q=%s&tbm=nws&tbs=sbd:1,qdr:w
自分用のメモです。内容が間違っていたり、作りかけで動作しないコードなどあるのでご注意ください。
chrome://settings/searchEngines
を開き、追加をクリック
1年以内
・名前:google.co.jp
・ショートカット:1
・URL:https://www.google.co.jp/search?q=%s&tbs=qdr:y
ニュース+1週間+日付順
・ショートカット:n
・URL:https://www.google.co.jp/search?q=%s&tbm=nws&tbs=sbd:1,qdr:w
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
chrome.action.onClicked.addListener((tab) => { if (tab.url.startsWith("chrome")) return; //chrome.scripting.executeScriptを使用時、 //これがないと"Cannot access a chrome:// URL"になる場合あり let tabTitles = ""; chrome.tabs.query({currentWindow: true }, (tabs) => { for (let i = 0; i < tabs.length; i++) { tabTitles += tabs[i].title + "," + tabs[i].url; } //chrome.tabs.queryは非同期なので、chrome.tabs.query //のコールバック外だとtabTitlesが空のまま //alertはchrome.scripting.executeScriptが必要 chrome.scripting.executeScript({ target: { tabId: tab.id }, func: (titles) => { alert(titles); }, args: [tabTitles] }); }); }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "manifest_version": 3, "name": "TabsToWindow", "version": "1.0", "background": { "service_worker": "script.js" }, "permissions": [ "tabs", "windows" ], "commands": { "cmd": { "suggested_key": { "default": "Alt+Shift+G" }, "description": "TabsToWindow" } } } |
1 2 3 4 5 6 7 8 9 10 11 12 |
chrome.commands.onCommand.addListener(function (command) { if (command === 'cmd') { chrome.tabs.query({highlighted: true, currentWindow: true}, tabs => { const tabIds = tabs.map(tab => tab.id); chrome.windows.create({tabId: tabIds[0], type: 'normal'}, newWindow => { if (tabIds.length > 1) { chrome.tabs.move(tabIds.slice(1), {windowId: newWindow.id, index: -1}); } }); }); } }); |
小規模な工場に安価なネットワークカメラを導入する。
価格優先なのでカメラはTP-Link VIGI C330I、給電用にTP-Link TL-SG1005LPを採用。
録画など不要で、リアルタイムで見れればいいので、設定用にVIGI Config Toolと、iPhone用にTP-Link VIGIだけ利用。
iPhoneにTP-Link VIGIをインストールしてサインアップする。
ローカルネットワーク内にVIGIを接続したら、VIGI Config ToolからInitializeでパスワードなどを設定する。Settings>Go to bindから、TP-LinkIDとバインドする。
これで、ブラウザから直接IPアドレスを開けば映像を確認でき、TP-Link VIGIからも映像が確認できる。
iPhoneにOpenVPNアプリをインストール
(オレンジ色の丸のようなアイコン)
client.ovpnをファイル共有系(Dropboxなど)のアプリに入れて、
iPhone>Dropbox>デバイスに保存>OpenVPNを選択してインポートする。
OpenVPN>Upload File>ADDを実行
ユーザーIDとパスワードを入力する。
OpenVPNからVPN接続をオン・オフできる。
他のシートに特定の値があった場合、両方に色を付ける
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
Sub auto_open() Call CellsCondition End Sub Sub CellsCondition() On Error GoTo ex For Each ws In ThisWorkbook.Sheets If ws.Name <> "xxx" And ws.Name <> "xxx" Then ws.Columns("A").FormatConditions.Delete For r = 5 To 125 For c = 1 To 1 Set f = ws.Cells(r, c).FormatConditions.Add(xlExpression, xlEqual, CreateFormatConditionsString(r)) f.Interior.Color = RGB(255, 0, 0) f.StopIfTrue = False Next c Next r End If Next Exit Sub ex: MsgBox "条件付書式の設定に失敗しました。" End Sub Function CreateFormatConditionsString(r) For Each ws In Sheets If ws.Name <> "xxx" And ws.Name <> "xxx" Then tmp = tmp + "COUNTIF(" & ws.Name & "!C5:C125,C" & r & ")+" End If Next tmp = Left(tmp, Len(tmp) - 1) ' 最後の+を削除 CreateFormatConditionsString = "=AND((" & tmp & ")>1,C" & r & "<>""xxx"",C" & r & "<>""xxx"",C" & r & "<>""xxx"")" End Function |
条件だけ抜き出すと、
=AND((
COUNTIF(シート名!C5:C125,C20)+
COUNTIF(シート名!C5:C125,C20)
)>1,C20<>”比較除外”,C20<>”比較除外”,C20<>”比較除外”)
となっている。
先日、本ブログをXserverからAzure AppServiceに移行したが、予想よりコストがかかってしまうので、残念だけどXserverに戻すことにした。
今回はドメインがそのままなので簡単。
●Azure AppService WP
WPvivid Backupでバックアップを作成。
●Xserverのサーバーパネル(appbay.orgドメインを選択)
PHP Ver.切替から、PHPバージョンを最新にする。
SSL設定から、オンにする。
DNSレコード設定から、appbay.orgドメインのAレコードをXserverのIPアドレスにする。
WordPress簡単インストールを実行する。
しばらく待って、SSL、DNSが反映されたらWPvivi Backupをインストールし、復元すれば完了。
●PCのログインアカウントを個人用からEntraIDへ変更。
Entra管理センター>ユーザー>すべてのユーザー>新しいユーザー>新しいユーザーの作成
必要な情報を入力し、割り当てで、グローバル管理者を選択する。
一旦、ログアウトし、作成したアカウントでログインすると、
・パスワードの再設定
・Microsoft Authenticatorの設定
・電話番号の確認
が必要。
とりあえず、このアカウントをPCに登録すればログインできるようになる。
登録は、
設定>アカウント>職場または学校へのアクセス>接続>このデバイスをMicrosoftEntraIDに参加させる
これでユーザーの切り替えが表示されログインできる。
ユーザープロファイルが新しく作成される。
●Windows Hello for Business無効化
Entraに参加すると自動でHello Businessが有効になってしまうので、
gpedit.msc>管理用テンプレート>Windowsコンポネート>Windows Hello for Business
Windows Hello for Businessの使用→無効
・コマンドプロンプトから
1 |
certutil -deletehellocontainer |
を実行し再起動。
※PINを登録した後にgpedit.mscで無効にしてもPINは無効化できない。
※コマンドだけ実行しても再起動時にPINの登録を求められる。(Shift+F10でも回避できない)
●ログイン画面にユーザー切り替えが表示されない場合。
secpol.msc>@ローカルポリシー>セキュリティオプション
・対話型ログオン:最後にサインインしたユーザーを表示しない
有効に変更
など設定してみる。
※個人用で他のユーザーを表示したい場合は有効する。逆にEntraで有効にすると他のユーザが選べなくなってしまう?
●Officeライセンス付与
Microsoft 365 管理センター
ホーム>サブスクリプション>その他の製品の追加
Microsoft 365 Business Premium
詳細をクリック
Teams無しの試用で登録。
Microsoft 365 管理センター
ユーザー>アクティブなユーザー>該当のユーザー>ライセンスとアプリ
Microsoft 365 Business Premium
のライセンスを付与する。
PCからOfficeを起動すればOK。
●Intune
AzurePortal>EntraID>モビリティ (MDM および WIP)
からMDM探索URLを確認しておく。
・デバイスを登録
今回はすでにEntraIDに接続していたので、
アカウント>職場または学校にアクセスする>デバイス管理のみに登録する
アカウント>職場または学校にアクセスする
にMDMに接続済みと表示されればOK。
SQLServerは、MDFファイルを直接操作したり色々やってみたが、一括バックアップツールを使うのが一番簡単。
スタートメニュー>弥生シリーズ>弥生一括バックアップツール
(もし一括バックアップツールが無い場合、弥生製品のインストーラーから追加)
現状のデータをバックアップし、SQLServer更新して、復元すればOK。
https://support.yayoi-kk.co.jp/faq_Subcontents.html?page_id=25326
正しい方法ではないけど、SQLServerの前のバージョンをアンインストールしなくても、新規のインスタンス名を変更すればインストールできる。弥生バックアップツールはインスタンス名を指定することができる。
●いくつかつまずいた点。
・弥生会計はDocker上のSQLServerでも接続できたが、一括バックアップツールはDocker上のSQLServerに復元できなかった。弥生一括バックアップツールは起動時にSQLServerのインスタンスが一つもないと、自動終了してしまう。MDFファイルを一つずつアタッチしていくなら、Docker上でも問題なかった。
・弥生一括バックアップツールの復元で止まってしまう。
バックアップファイルが入っているフォルダにアクセス権がなかった。
とりあえずEveryoneのフルアクセス付与。
・旧バージョンの弥生会計ファイルのコンバート失敗(エラーコード250)
今回の実験では、
SQLServer(2014→2022)と同時に弥生会計(23→24)も更新。
24で23のデータをコンバートしようとするとエラーになるので、インスタンス名を揃えたり色々やったが、結果的にSQLServerインストール時に、
SQL Server データベース エンジンのアカウント名を
NT AUTHORITY\SYSTEM
にするのを漏らしていたことが原因。
●Docker
・docker-compose.yamlを作成
version: ‘3’
services:
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: yayoi-mssql
ports:
– 49153:1433
environment:
– ACCEPT_EULA=Y
– MSSQL_SA_PASSWORD=passw0rd!
– MSSQL_PID=Express
– MSSQL_LCID=1041
– MSSQL_COLLATION=Japanese_CI_AS
volumes:
– ./db/DATA:/var/opt/mssql/data
– ./db/LOG:/var/opt/mssql/log
– ./db/secrets:/var/opt/mssql/sec
– ./home:/home
.はdocker-compose.yamlのある場所
・起動
docker-compose up -d
・接続
SSMSも弥生会計も、
・localhost,49153
・sa
・passw0rd!
と指定すれば接続できる。
・SSMSからSQLServerに接続したとき、
信頼されていない機関によって証明書チェーンが発行されました
と表示される場合、
オプション>接続プロパティ>暗号化接続
のチェックを外す。
●SSMSで直接ファイルの場所を確認する場合
SSMSでDBに接続し
右クリック>プロパティ>ファイル
これでファイルの場所を確認できる。
実験のため本ブログWordPressを、
・ドメイン変更(Xserver→MuuMuu)
・ホスティング変更(Xserver→AzureAppService)
AzureはVMもあるが、今回は簡単なAppServiceを使ってみる。
●Azure/Entra ID
WordPressとは関係ないが、今までMSは個人用アカウントだったので、EntraIDに移行。ドメインも揃えてしまう。
AzurePortal>EntraID>カスタムドメイン>カスタムドメインの追加
所有しているドメインを入力し、ドメインの追加をクリック。
AzurePortalで、TXTレコードの情報を確認する。ドメインはMuuMuuドメイン取得+DNSはXserverを指定していたので、XserverのサーバーパネルのDNSレコード設定から、
・ホスト名:空白(そのまま)
・種別:TXT
・内容:Azure記載通り
・TTL:Azure記載通り
・優先度:0(そのまま)
で入力し、AzurePortalで、確認を実行。これで登録される。
●Azure/VM
今回の移行では利用しないが一応作成してみる。
AzurePortal>Virtual Machines>作成>Azure仮想マシン
・サブスクリプション、リソースグループ:以前作成したものを指定する。
・仮想マシン名:Machine-01
・地域:(US) East US
・可用性オプション:可用性ゾーン
・可用性ゾーン:ゾーン1
・セキュリティの種類:トラステッド起動の仮想マシン
・VMアーキテクチャ:x64
・サイズ:Standard_B1s
・管理者アカウント:SSH公開キー
・ユーザー名:適当
・SSH公開キーソース:そのまま
・キーの組名:そのまま
・受信ポート:選択したポートを許可する(80,443,22にチェックする)
作成を実行。
秘密キーダウンロードのダイアログが表示される。
少したつと展開が成功しましたと表示され完成。
これでIPアドレスとダウンロードしたpemファイルでSSHがつながる。
●Azure/AppService
AzurePortal>AppService>作成>WordPress on AppService
・サブスクリプション、リソースグループ:以前作成したものを指定する。
・基本:地域:Japan East
・アドオン:Azure CDN:チェックを外す。
にして、その他はそのまま、WordPressの必要事項を設定し、作成を実行。
・デプロイ後
初回、遅くて使い物にならず。通常の処理でタイムアウトするような状態になってしまった。(Azure CDNのチェックを外してみたりした)少し時間が経つと安定してきて気がついたけどDNS浸透が原因。
●AzureDNS
今回は利用しないが、余っているドメイン1つをMuuMuuから引っ越しておいてみる。
AzurePortal>DNSゾーン
・サブスクリプション、リソースグループ:以前作成したものを指定する。
・名前:ドメイン名を入力しておく。
その他はそのままで、作成。
デプロイが完了したら、リソースに移動。
表示されるネームサーバー4つをドメインを取得したサイトで設定する。
●Azure/AppServiceに独自ドメイン設定
MuuMuuからXserverのNSを指定しており、メールサーバーはXserverを利用する。
AzurePortal>AppService>カスタムドメイン>カスタムドメインの追加
・ドメインプロバイダー:その他のすべてのドメインサービス
・TLSまたはSSL証明書:AppServiceマネージド証明書
・TLS/SSLの種類:SNI SSL
ドメインを入力し検証をクリック。
表示されるレコードをXserverで入力。
●Azure/AppServiceのWordPressファイルにアクセスする場合
AppService>デプロイセンター>FTPS資格情報
●WordPressの引越
・新WordPressのインデックス停止
設定>表示設定>検索エンジンでの表示
インデックスしないようにしておく。
(結局WPvividでチェックは外れるので、長時間放置しないのなら不要)
・WPvivid
新旧WordPressにWPvividを入れる。
旧WordPress>WPvividで、
データベース + ファイル (WordPress ファイル)
バックアップをローカルに保存する
を選択(初期値)しバックアップ、ダウンロード。
新WordPress>WPvividで、
ダウンロードしたzipをアップロード、復元。
・注意点
ユーザー、プラグインやテーマなども旧WordPressが引き継がれる。
・転送処理
旧WordPressの.htaccessに以下を追記
1 2 3 |
RewriteEngine On RewriteCond %{REQUEST_URI} !(/xxx/) RewriteRule ^(.*) https://appbay.org/$1 [R=301,L] |
※xxxの部分は転送を除外するURLがある場合
●WordPressプラグイン
Crayon Syntax Highlighter
が動かなかったので、
Urvanov Syntax Highlighter
というものに乗り換え。
・SiteGuard WP Plugin
今回から導入。
NGINXなのでログインURLを変更すると不具合が発生するので、
ログインロック、XMLRPC防御だけ有効にしておく。