nginx のインストールと設定 - koba::blog で nginx を導入した目的は、WebSocketを使用したWebアプリを提供することであった。なので今回は実際に socket.io を使用した 簡単なWebアプリ にリバースプロキシからアクセスしてみた。
続きを読むnginx のインストールと設定
kobalab.net ではWebサーバに Apache を使用していましたが、今後WebSocketを使用したアプリを配置する可能性があることを考慮して、nginx に乗り換えました。Apacheで配信していたコンテンツは
に分類できます。1 はnginxで直接配信、2 はnginxをリバースプロキシにしてApacheに連携*3、3 はnginxをリバースプロキシにして直接連携 としました。
*1:アクセスカウンタや新着情報はCGIの出力をSSIで取り込んでいる
*2:mod_perl で動作
*3:可能であればnginxで直接動作させたいが、気軽に雑なCGIが動かせる環境は残しておきたい
npm モジュールのセキュリティアップデート(2)
GitHubに脆弱性警告が通知されていた。pug-code-gen を 2.0.2 → 2.0.3、pug を 2.0.2 → 3.0.1 にアップデートせよとのお達しである。
pug を 2.0.2 → 3.0.1 にアップデートすれば pug-code-gen も 3.0.x にアップデートされるようなので、pug だけアップデートすればよさそうなのだが、この2つのモジュールを使っている pug-cli がアップデートされていない*1。こういうときは npm audit fix を使って package-lock.json を直すが定番だが、さすがにメジャーバージョンのアップデートは対応できない。
以前、npm モジュールのセキュリティアップデート - koba::blog のやり方で修復したことがあるのだが、これはどうやらたまたまうまくいっただけのようである。そこでネットを調べると package.json の resolutions を使って依存パッケージのバージョンを指定する - 30歳からのプログラミング というページを発見したので、これを参考にバージョンアップを試みた。
*1:1.0.0-alpha6 というなんともやる気のないバージョンのまま
牌の危険度計算アルゴリズム(1)
天鳳鳳凰卓の牌の危険度表 - koba::blog で天鳳鳳凰卓での牌の危険度と待ちの形の出現度を集計したが、その結果を 電脳麻将 の押し引きに反映する。
まず前回の2つの表の条件を掛け合わせて集計し直した。
続きを読む押し引きアルゴリズムの改善(3)
押し引きアルゴリズムの改善(2) - koba::blog で1シャンテンまでの押し引きを改善したので、今回はテンパイ時の押し引きを改善する。
- ポンテン・チーテンをとる条件を変更
- 超愚形ならオリるよう修正
- 好形でないならリーチせず無スジは切らないよう修正
の3つが改善候補。
続きを読む押し引きアルゴリズムの改善(2)
押し引きアルゴリズムの改善(1) - koba::blog で全ての打牌について1つ1つ押し引きを判断できるようになったので、押し引き表の牌姿は評価値何点? - koba::blog で言及した「評価値を基準とした押し引き判断」を実装する。
続きを読む押し引きアルゴリズムの改善(1)
先制リーチを受けた場合、電脳麻将 は ベタオリのアルゴリズム - koba::blog で「仮実装」したアルゴリズムにしたがい打牌を選択しているが、今回これを改善したい。
まず最初に改善目標を明確にするために、2019年の天鳳鳳凰卓の牌譜から先制リーチを受けた局の最終結果と局収支を集計してみた。
続きを読む