投稿

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

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...

Fleet ServerとElastic Agentのインストール(2回目)

前にElastic Agentをインストールして失敗したので、Elasticsearchを再インストールしてもう一度試したときの覚書。 環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3 1.Fleet Serverをインストール 公式サイトを参考に。 Install standalone Elastic Agents (advanced users) | Fleet and Elastic Agent Guide [8.11] | Elastic Elastic AgentはAPI Keyを利用するようなのでElasticsearchの設定で「xpack.security.authc.api_key.enabled」を有効にしておく。 参考:  Create a standalone Elastic Agent policy | Fleet and Elastic Agent Guide [8.11] | Elastic Kibanaにログインして Mangement | Fleet "Add Fleet Server" 事前に用意していたNginxからリバースプロキシするURLを入力 "Generate Fleet Server policy" "Linux Tar"タブのコマンドを実行。 # cd /opt/software/ # curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.11.3-linux-x86_64.tar.gz # tar xzvf elastic-agent-8.11.3-linux-x86_64.tar.gz # cd elastic-agent-8.11.3-linux-x86_64 insecureオプションを付けて実行する。 # ./elastic-agent install --fleet-server-es=https://search.elastic.webrec.jp:443 --fleet-server-service-token=AAEA...QQ --fleet-server-po...

Subversionの不要な履歴を削除して容量を削減

年末にやっているバックアップ作業。 Subversionの全体容量が大きくなってきたので、不要な履歴 (リビジョン)を削除してバックアップ容量を削減しようとしているときの覚書。 環境: CentOS Stream 8, Subversion 1.14.1 どのリポジトリが容量を食っているか調べる。 # cd /home/svn/repo/ # du -hx --max-depth=1 容量の大きいリポジトリに移動して、容量が大きい順に並び替えて先頭10件だけ表示。 # cd project # du -hxa --max-depth=4 ./db/revs/ | sort -hr | head -n 10 TortoiseSVNでどのリビジョンのコミットか調べる。 除外するパスを指定してdumpファイル生成。 (TortoiseSVNのPath部分をCtrl-Cでコピーできる) # cd /home/svn/repo/ # svnadmin dump project/ | svndumpfilter exclude /trunk/90.Maintenance/Backup > project_20231225.dump リポジトリを作り直してdumpファイルをインポート。 # mv project project.bak # svnadmin create project # svnadmin load project< project_20231225.dump # chown apache. -R project 使用容量確認。 # du -hx --max-depth=1 Apacheを再起動。 # systemctl restart httpd TortoiseSVNでcleanupしてupdateする。 大丈夫そうなのでdumpとバックアップを削除する。 # rm -rf project.bak/ project_20231225.dump 全リポジトリをアーカイブしてバックアップする。 # cd ../ # tar czvf repo_server02_20231225.tgz repo/ ダウンロードして外部ストレージとGo...

Elasticsearch + Kibana 8.11を再インストール

Elasticsearchを再インストールしたときの覚書。 環境: CentOS Stream 9, Elasticsearch 8.11.3, Kibana 8.11.3 1.Elasticsearchをインストール dnf用RPMレポジトリを公式サイトを参考に追加する。 参考:  Install Elasticsearch with RPM | Elasticsearch Guide [8.11] | Elastic enabled=1にしておく。 # less /etc/yum.repos.d/elastic.repo 別コンソールでログを確認しながら作業する。 # journalctl -f dnfでインストール。 # dnf install elasticsearch superuser"elastic"のパスワードがコンソールに表示されるので、shellの環境変数として保存する。 # less ~/.bash_profile export ELASTIC_PASSWORD="your_password" 再読み込みして環境変数一覧表示 # source ~/.bash_profile # printenv 設定変更。 NginxからリバースプロキシするからSSLは無効にする。 Elastic AgentのためにAPI Keyを有効にする。 # less /etc/elasticsearch/elasticsearch.yml xpack.security.authc.api_key.enabled: true xpack.security.http.ssl:   enabled: false #  keystore.path: certs/http.p12 メモリ使用量を2GBに設定。 # less /etc/elasticsearch/jvm.options -Xms2g -Xmx2g Elasticsearch起動して確認。 # systemctl start elasticsearch # systemctl status elasticsearch Elasticsearchにアクセスして確認。 # curl -u el...

ElasticsearchとKibanaをアンインストール

Elastic Agentをインストールしようとしてハマったので、一旦ElasticsearchとKibanaをアンインストールしたときの覚書。 環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3 Elasticsearchを利用しているparsedmarcサービスを止める。 # systemctl stop parsedmarc サービス確認 # systemctl list-unit-files -t service 1.Kibanaをアンインストール dnf経由でアンインストール。 # dnf remove kibana 公式サイトを参考に残っているファイルを削除する。 参考:  Install Kibana with RPM | Kibana Guide [8.11] | Elastic # rm -rf /usr/share/kibana/ /etc/kibana/ /var/lib/kibana/ 2.Elasticsearchをアンインストール dnf経由でアンインストール。 # dnf remove elasticsearch 公式サイトを参考に残っているファイルを削除する。 参考:  Install Elasticsearch with RPM | Elasticsearch Guide [8.11] | Elastic # rm -rf /usr/share/elasticsearch/ /etc/elasticsearch/ /var/lib/elasticsearch/ 3.Elastic Agentをアンインストール Elastic Agentをアンインストールする場合もメモ。 基本的にコマンド一発。 参考:  Uninstall Elastic Agents from edge hosts | Fleet and Elastic Agent Guide [8.11] | Elastic # /opt/Elastic/Agent/elastic-agent uninstall 公式サイトのインストール場所。 参考: Installation layout | Fleet and Ela...

ElasticsearchのデータをバックアップするSnapshot機能

Elasticsearchをアンインストールする前にデータをエクスポートする方法を調査しているときの覚書。 環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3 1.ElasticsearchのSnapshot機能を理解する。 ElasticsearchのデータをバックアップするにはSnapshotの機能を使う。 またコマンドラインで実行できるelasticdumpというツールがある。 GitHub - elasticsearch-dump/elasticsearch-dump: Import and export tools for elasticsearch & opensearch 今回はSnapshotの機能を使ってみる。 大人しく公式サイトのドキュメントを読む。 Snapshot and restore | Elasticsearch Guide [8.11] | Elastic Snapshotを作成するには2ステップ必要。 リポジトリを登録(Snapshotの保存場所を登録) Snapshotを作成 dataディレクトリごとコピーしてもバックアップにはならないと書いてある。 2.リポジトリを登録する。 バックアップする場所を作ってElasticsearchが書き込めるようにする。 # mkdir /home/backups # chown elasticsearch. /home/backups/ KibanaにログインしてDev Toolsからコマンド発行。 PUT _snapshot/test1 {   "type": "fs",   "settings": {     "location": "/home/backups/test1"   } } エラー。 {   "error": {     "root_cause": [       {         "type": "repository_exception",         "reason": "[test...

Fleet ServerとElastic Agentのインストール

Elasticsearchをいろいろ試しているときの覚書。 Elastic Agent周りが分からなくなったので、もう一度インストールからやってみた。 環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3 1.Fleet Serverをインストール(RPMで失敗編) 手順メモ KibanaメニューからManagement | Fleetを表示。 "Add Fleet Server" 今度はRPMでインストールしてみた。 画面に表示されているコマンドを実行。 # curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.11.3-x86_64.rpm # rpm -vi elastic-agent-8.11.3-x86_64.rpm # elastic-agent enroll  --fleet-server-es=https://es.hoge.jp  --fleet-server-service-token=AAE...w  --fleet-server-policy=fleet-server-policy --fleet-server-es-ca-trusted-fingerprint=544...601 --fleet-server-port=8220 「Error: fleet-server failed: context canceled」と表示されたけど無事インストールできたみたい。 サービス起動。 # systemctl enable elastic-agent # systemctl start elastic-agent 設定ファイルなど確認。 参考:  Installation layout | Fleet and Elastic Agent Guide [8.11] | Elastic ブラウザでKibanaの画面を更新してみる。 FleetのAgents一覧画面に出ていない。 インストール時に出てたエラーが原因かな? 一旦アンインストールする。 # elastic-agent unins...

Elasticsearch + Kibanaでシステムログ表示

前回はDMARCレポートを表示できるようにしたのに引き続き、今度はシステムログをElasticsearch + Kibanaでいい感じに表示しようとしているときの覚書。 環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3 Elasticsearchのバージョン確認。 # /usr/share/elasticsearch/bin/elasticsearch --version Version: 8.11.3, Build: rpm/64cf052f3b56b1fd4449f5454cb88aca7e739d9a/2023-12-08T11:33:53.634979452Z, JVM: 21.0.1 Kibanaのバージョンはログインして右上のタイヤっぽいアイコンをクリック。  1."System" IntegrationをKibanaからインストール 大人しく公式サイトを読みながら進める。 Get started with logs and metrics | Elastic Observability [8.11] | Elastic Kibanaの画面に表示された手順通りに行った。 手順 kibanaログイン後のトップにある"Add interrations" "system"で検索 "System"を選択して右上の"Add System" 設定変更 Windows event logはオフ 右下の"Save and continue" "Add Elastic Agent to your hosts" "Add Fleet Server" "Generate Fleet Server policy" Fleet Serverをインストール。 # cd /opt/software/ # curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.11.3-linux-x86_64.tar.gz # tar xzvf e...

ElasticsearchのSSLを無効化。

Elasticsearchをいろいろ試しているときの覚書。 環境: CentOS Stream 9, nginx 1.22.1, Elasticsearch 8.11.3, Kibana 8.11.3 他のサーバーにElastic AgentをインストールしてElasticsearchと通信するにあたって、Nginxからリバースプロキシすれば内部での通信はTLSでなくてもいいんじゃない?と思って設定してみた。 各サーバーにElasticsearchをインストールしてクラスタ構成にするのは、Elasticsearchが結構なメモリを使うのでやりたくない。 まずはKibanaを停止。 # systemctl stop kibana 別コンソールでログを確認しながら作業する。 # journalctl -f Elasticsearchの設定変更。 # less /etc/elasticsearch/elasticsearch.yml # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents xpack.security.http.ssl:   enabled: false #  keystore.path: certs/http.p12 # Enable encryption and mutual authentication between cluster nodes xpack.security.transport.ssl:   enabled: false #  verification_mode: certificate #  keystore.path: certs/transport.p12 #  truststore.path: certs/transport.p12 Elasticsearch再起動して確認。 # systemctl restart elasticsearch # systemctl status elasticsearch ローカルホストのElasticsearchにTLSなしで接続できるか確認。 # ...

parsedmarc + Elasticsearch + KibanaでDMARCレポートを視覚化

前に時間切れで進めてなかったDMARCレポートを再開しているときの覚書。 環境: CentOS Stream 9, Python 3.9.18, parsedmarc 8.6.4, Elasticsearch 8.11.2, Kibana 8.11.2 1. Elasticsearch + Kibanaをインストール parsedmarcより先にElasticsearch + Kibanaの環境を構築した方が分かりやすい。 Elasticsearchが初耳なら概要を知っておく。 前の記事を参考に。 Elasticsearch + KibanaをインストールしてNginxからリバースプロキシ 全文検索エンジン「Elasticsearch」とは?特徴と使いどころ 2.parsedmarcをサービス化+Elasticsearchとの連携設定 ここからが前回の続き。 インストールと動作確認のおおよその流れは前の記事を参考に。 DMARCレポートツール「parsedmarc」をインストール parsedmarcの設定ファイルを編集。 # vi /opt/parsedmarc/parsedmarc.ini # @see https://domainaware.github.io/parsedmarc/usage.html [general] save_aggregate = True save_forensic = True [imap] host = imap.mail.jp user = dmarc@hoge.com password = password [mailbox] watch = True delete = True [elasticsearch] hosts = https://elastic:password@127.0.0.1:9200 ssl = True cert_path = /etc/elasticsearch/certs/http_ca.crt 公式ドキュメントを参考にサービス化する。 参考:  Using parsedmarc — parsedmarc 8.6.4 documentation # vi /etc/systemd/system/parsedmarc.service [Unit] Description=...

Elasticsearch + KibanaをインストールしてNginxからリバースプロキシ

前に時間切れで進めてなかったDMARCレポートを再開しているときの覚書。 前回はローカルの仮想マシンで試したけど、今回は公開サーバー上でやってみる。 環境: CentOS Stream 9, nginx 1.22.1, Elasticsearch 8.11.2, Kibana 8.11.2 1. Elasticsearch + Kibanaをインストール 公式サイトはこちら。 全文検索エンジン/Elasticsearch 公式サイト:  Elasticsearch Platform — 答えをリアルタイムで大規模に検索 | Elastic ダッシュボード可視化ツール/Kibana 公式サイト:  Kibana Guide [8.11] | Elastic それぞれのインストール作業は前の記事を参考に。 参考:  DMARCレポートツール「parsedmarc」をインストール topコマンドで見るとElasticsearchがメモリを60%近く使っているので、メモリ使用量を2GBに設定する。 参考:  Elasticsearchのメモリーの管理とトラブルシューティング | Elastic Blog # less /etc/elasticsearch/jvm.options -Xms2g -Xmx2g Elasticsearch再起動。 # systemctl restart elasticsearch 確認。 # top 2.nginxからKibanaへリバースプロキシ設定 http経由で参照できるようにnginxのconf設定。 # cd /etc/nginx/conf.d/ # vi 12_kibana.conf server {     listen       80;    #listen       [::]:80;     server_name  analytics.hoge.com;     # Accept for Let's Encrypt(certbot)     loca...

無料グループウェアNextcloudをUbuntu22.04にインストール

2年前に試したNextcloudをまた試したくなったときの覚書。 グループウェアの選択肢として提案できるか見極めたい。 ちなみに格安のユーザー数無制限のオンラインストレージは年20万円。 参考:  オンラインストレージ構築パッケージ Proself (プロセルフ) / 株式会社ノースグリッド Nextcloudはカスタマイズできるので、やりようによってはシェアを取れると思う。 環境: Ubuntu 22.04.3, nginx 1.24.0, PHP 8.1.2, Nextcloud 27.1.4 1.システム要件を確認。必要なツールをインストール。 公式ドキュメントを確認する。 System requirements — Nextcloud latest Administration Manual latest documentation ImageMagickはインストールしておく。 # apt install imagemagick バージョン確認。 # convert --version Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org Copyright: (C) 1999-2021 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC Modules OpenMP(4.5) Delegates (built-in): bzlib djvu fftw fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib Redisはインストールしない。 本番運用するときには使うかも。 php-imagickもインストール。 # apt install php-imagick 2.NextCloudをインストール 公式ドキュメントを参考に。 Example installation on Ubuntu 22.04 LTS — Nextcloud ...

Ubuntu 22.04 + Nginx + PHP8.1 + MariaDB + Sambaをインストール

開発用仮想マシンにUbuntu 22.04をインストールしたときの覚書。 環境: Ubuntu 22.04.03, nginx 1.24.0, php 8.1.2 Ubuntuのバージョンを確認。 # less /etc/os-release インストールして初期設定は前の記事を参考に。 参考:  Ubuntu Server 22.04 を仮想マシンとしてインストール 1.nginxのインストール 公式サイトに従って最新版をapt経由でインストールできるようにする。 参考:  nginx: Linux packages 必要なツールをインストール。 # apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring 公式の認証用文字列から公開鍵暗号方式で認証キーを生成してバイナリ形式で保存。 teeコマンドはファイル出力と標準出力が同時にできるコマンド。 # curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor |  tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null 認証キーを検証。 # gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]       573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 uid                      nginx signing key <signing-key@nginx.com> stable(安定版)パッケージをaptリストに追加する。 #...

Windows TerminalのSSHからパスワードなしでログイン

TeraTermからWindows Terminalに移行して、開発環境(仮想マシン)へは毎回パスワードを入力していたけど、公開鍵認証を設定してパスワードなしでログインできるようにしたときの覚書。 環境: Windows 11 Pro 23H2, OpenSSH 8.6.0.1 OpenSSHのバージョンとパス確認 PS> gcm ssh-keygen CommandType     Name                                               Version    Source -----------     ----                                               -------    ------ Application     ssh-keygen.exe                                     8.6.0.1    C:\Windows\System32\OpenSSH\ssh-keygen.exe ssh-keygenで対話しながら秘密鍵と公開鍵を作れる。 参考:  Windows 用 OpenSSH でのキーベースの認証 | Microsoft Learn 鍵生成 PS:> ssh-keygen.exe ...

動画を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...

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

知人のと合わせて新幹線の席を予約して、その領収書を分けたときの覚書。 予約したのは、えきねっと。 えきねっと(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で登録しようとは思わないと思う。 セミナーや講演会だったら「ウェブで受付+メールでできるだけ事前決済のお願い」ぐらいが距離感はちょうどいいと思う。 【関連記事】 ホームページで年会費をオンライン決済するサービス比較