投稿

さくらのメールボックスのIMAP上限同時接続数は50前後?

さくらのメールボックスを使っているところから「メールが利用できない」と連絡があって調査したときの覚書。 メールクライアントが下記エラー。 IMAPサーバーへの接続ができませんでした。 このサーバーへの同時接続数の限度を超えている可能性があります。 サポートセンターに問い合わせてみると下記回答があった。 さくらのメールボックスではIMAPの同時接続は設けているが具体的な数値は非公開。 同時接続数はサーバー単位での設定 アカウント数から推測すると多分50ぐらいが同時接続数の上限。 先方にはPOP3で接続するようにと案内した。 (Mozilla ThunderbirdがデフォルトでIMAPを利用するのでみんなIMAPになった) POP3で接続しても1週間分(設定で変更可能)のメールはサーバーに残ったままになるので、スマホでも参照できる。 もしくはGmailに転送すれば過去メールも検索できて便利かもしれない。 【関連記事】 さくらのメールボックスで使われている迷惑メールフィルタ「SpamAssassin」とは? さくらのメールボックスのメールをGmailで送受信

RESASのAPIを調査

医療圏分析をしようとデータを集めているときの覚書。 RESAS-API - 地域経済分析システム(RESAS)のAPI提供情報 データ出典一覧 - RESAS 地域経済分析システム 概要 RESAS(読み:リーサス)。 国が公開している統計データを統一仕様のAPIで提供。 内閣府 地方創生推進室が主導。 利用登録が必要。 商用利用可能。 国の方針から推察すると、数年で利用停止にはならない気がする。 データの更新日を見ると結構頑張っていると思う。 参考:  RESAS-API - APIデータ更新一覧 利用規約要約 「出典:RESAS(地域経済分析システム)」の表記。 Creative Commons License 4.0に従うことでも利用できる。 参考:  クリエイティブ・コモンズ・ライセンス - Wikipedia 今後AIをファインチューニング(新しいデータによる再学習)したりするのに使えそう。 【関連記事】 人口メッシュ統計を作成するには e-StatのAPIを利用してデータ分析【API利用準備編】

Elasticsearchのインデックス一覧を取得

Elasticsearchに保存している生データを確認したくて調査しているときの覚書。 環境: CentOS Stream 9, Elasticsearch 8.11.3, Kibana 8.11.3 1. Kibanaのインデックス管理画面 Kibanaがインストール済みならばインデックス一覧画面を開いた方が分かりやすい。 左メニューを開いて、 Management | Stack Management -> Data | Index Management 一覧からインデックスを選択して、右上のDiscoverをクリックするとデータ一覧まで表示できるので便利。 2. API経由で取得 コマンドライン用のcat indices APIを使う。 参考:  cat indices API | Elasticsearch Guide [8.12] | Elastic KibanaのDev Toolsには入力補完があって使いやすい。 GET _cat/indices?v&s=index vはヘッダー付き、sは並び替えるオプション。 【関連記事】 ElasticsearchのデータをバックアップするSnapshot機能 Elasticsearch + KibanaをインストールしてNginxからリバースプロキシ

Microsoft Clarityで無料ヒートマップ表示

Microsoft Clarityを試しているときの覚書。 Microsoft Clarityとは? 2020年10月開始したMicrosoft提供の無料ヒートマップツール。 Microsoft Clarity - Free Heatmaps & Session Recordings 主な特徴 制限なしで無料 ヒートマップでウェブサイト上のユーザーの行動を視覚化 マウスの動きとスクロールを記録するレコーディング機能 Googleタグマネージャー/Googleアナリティクスと簡単に連携可能(許可するだけ)。 特定のIPアドレスを計測から除外可能 使ってみた感想 リンクだと思われてテキストをクリックされているようなデザインミスが分かった。 ブラウザで見たまんまをPDFで保存する機能がほしい。 アクセス解析して仮説を立てる参考になる。 今後に期待。 【関連記事】 GA4のga_session_idをJavaScriptで取得 Google Analytics4(GA4)の特徴と今までとの違い

SSHクライアントとしてのCloud Shell

GCPのCloud Shellを試したときに「これ緊急用でスマホやiPadからサーバーを保守するターミナルに使えるんじゃない?」と思ったときの覚書。 1.Cloud Shellとは? ブラウザベースのターミナルツール。 公式サイト:  Cloud Shell  |  Google Cloud GCPを利用していれば無料 スマホやiPadでは「Google Cloud」アプリから起動可 5GBまでのストレージ容量 週50時間の使用制限 120日間アクセスしていないと$HOMEが初期化される (初期化する前にメール通知される) 参考:  割り当てと上限  |  Cloud Shell  |  Google Cloud AzureやAWSにもCloud Shellがある。 2.Cloud ShellからLinuxへのSSH接続 外部のLinuxサーバーへSSH接続できる。 bashが使えるので使いやすい。 $ mkdir .ssh $ vi .ssh/private-key.pem $ chmod 600 .ssh/private-key.pem $ ssh -i .ssh/private-key.pem root@hoge.jp Google CloudアプリのCloud Shellもスマホで操作しやすい。 ブラウザさえあれば、どこからでも 今すぐ サーバー保守できるようになるのは便利だと思う。 今までは念のため各スマホにTerminusというアプリを入れて、外出先からでもSSH接続できるようにしていたけど、これからはCloud Shell一本で十分かも。 2024/12/12追記 緊急保守するときはスマホのGoogle CloudアプリからCloud Shell起動できるので便利。 Terminusアプリは削除した。 3.git cloneもできる git cloneができて、5GBまでストレージが使えるので開発環境も構築できそう。 Cloud Shell EditorはブラウザでVisual Studio Codeのように使えるみたい。 【関連記事】 Windows TerminalのSSHからパスワードなしでログイン SSHクライアントをTeraTermからWindows Termina...

Windows11にcURLをインストールしてPowerShellから使う

Ajax通信をデバッグ(主に例外処理)するのにcURLを使いたくなりインストールしたときの覚書。 環境: Windows 11 Pro 23H2, PowerShell 7.4.0, cURL 8.5.0 PowerShellのバージョン確認。 PS> $PSVersionTable Name                           Value ----                           ----- PSVersion                      7.4.0 PSEdition                      Core GitCommitId                    7.4.0 OS                             Microsoft Windows 10.0.22631 Platform                       Win32NT PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion      2.3...

CentOS Stream 9にPostgreSQL 16をdnf経由でインストール

PostgreSQL Serverを開発サーバーにインストールしたときの覚書。 環境: CentOS Stream 9, PostgreSQL 16.0 1. PostgreSQL Serverをインストール 公式サイトを参考に。 参考:  PostgreSQL: Linux downloads (Red Hat family) リポジトリを検索。 # dnf search postgresql # dnf info postgresql-server v13.11だった。 モジュールリストにあるか確認。 # dnf module list postgresql CentOS Stream 9 - AppStream Name                       Stream                Profiles                          Summary postgresql                 15                    client, server [d]                PostgreSQL server and client module postgresql                 16                    client, server [d]...

pgAdmin4を6.19から8.1にアップグレード

pgAdmin4を最新にアップグレードしたときの覚書。 環境: CentOS Stream 8, Python 3.9.17 Pythonのvenvでインストール+サービス化したときの記事はこちら。 pgAdmin4をCentOS8にvenvでインストール pgAdmin4をサービス化して自動起動設定 一応サービスは止めておく。 # systemctl stop pgadmin4 pipをアップグレードする。 # python -m pip install --upgrade pip 仮想環境のPythonをアップグレードする。 # python -m venv /opt/software/python-venv/pgadmin4/ --upgrade pgAdmin4のvenvに入る。 # source /opt/software/python-venv/pgadmin4/bin/activate pipのパッケージでアップデート可能な一覧を表示。 (pgadmin4)# pip list -o 仮想環境のpipをアップグレード。 (pgadmin4)# pip install --upgrade pip pgAdmin4をアップデート。 (pgadmin4)# pip install -U pgadmin4 無事成功したっぽい。 パッケージ一覧確認。 (pgadmin4)# pip list  pgAdmin4のvenvから出る。 (pgadmin4) # deactivate pgAdmin4起動して確認。 # systemctl start pgadmin4 # systemctl status pgadmin4 ブラウザで確認。 思ったより簡単だった。 【関連記事】 pgAdmin4をサービス化して自動起動設定 pgAdmin4をCentOS8にvenvでインストール CentOS8にPostgreSQLをインストール。Windows10からDBeaverで接続

Nginx [warn] protocol options redefined for 0.0.0.0:443

NginxのWarningが出たので調査したときの覚書。 環境: CentOS Stream 8, nginx 1.24.0 下記エラーが表示された。 # nginx -t nginx: [warn] protocol options redefined for 0.0.0.0:443 in /etc/nginx/conf.d/01_hoge.conf:72 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful listenにhttp2の記述がないとダメらしい。 参考:  nginx: [warn] protocol options redefined - Server Fault confファイルを検索してみる。 grepオプションの意味はhelpで確認。 # grep --help # grep -rnw '/etc/nginx/conf.d/' -e '443 ssl;' /etc/nginx/conf.d/00_default.conf:18:    listen       443 ssl; /etc/nginx/conf.d/00_default.conf:67:    listen       443 ssl; いくつかあった。 「443 ssl;」を「443 ssl http2;」に修正してnginx再起動。 # nginx -t # systemctl restart nginx 【関連記事】 CentOS Stream 8 + Nginx + PHP + MariaDB + Postfixの環境を構築(2021年版) 静的WordPress向けNginxのfastcgi_cache設定

GA4のga_session_idをJavaScriptで取得

GA4のga_session_idをキーに登録データとGA4のデータを紐づけたいと調査しているときの覚書。 Googleタグマネージャー経由でGA4を設定している。 Nginxのcache設定を使っているのでサーバー(PHP)側のセッションに頼る仕組みにはしたくない。 公式サイトを見るとJavaScriptでできそう。 Google タグ API リファレンス  |  Google タグ(gtag.js)  |  Google for Developers データレイヤー  |  タグ マネージャー  |  Google for Developers 実装例 dataLayer変数とgtag関数をグローバルの環境に定義して、Googleタグマネージャーを設定する。 <script>   window.dataLayer = window.dataLayer || [];   function gtag(){dataLayer.push(arguments)}; </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':       new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],     j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=     'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);   })(window,document,'script','dataLayer','GTM-XXXXXX');</script> <!-- End Google Tag Manag...