WSL環境におけるDNS解決失敗の改善
WSL2+Ubuntu 24.04環境で発生していた以下の問題に対応しなおしたのでメモ。 ksino.hatenablog.com
上記記事の対応は元に戻し、下記の対応を行った。
resolv.confの自動生成を止める
sudo vi /etc/wsl.conf
以下の内容を記載する。
[network] generateResolvConf = false
PowerShell等で下記コマンドを実行し、WSLを終了する。
> wsl --shutdown
nameserverの設定
WSLを再度起動し、以下のコマンドを実行する。
sudo rm /etc/resolv.conf sudo vi /etc/resolv.conf
以下の内容を記載する。
nameserver 8.8.8.8
再びWSLを再起動する。(これは不要かも?)
ついでに…
以下の記事の設定も元に戻してみたが、当時の事象は発生しなかった。 改善されたのかな? ありがたや。。 ksino.hatenablog.com
WSL上のClaude CodeでAPI Error (Request timed out.)
WSL上のClaude Codeに命令を与えると、以下のエラーが連続して全く動きませんでした。
API Error (Request timed out.) · Retrying in 1 seconds… (attempt 1/10)
私の環境ではIPv6を無効化すると解決できました。
/etc/sysctl.confに以下を追記します。
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
追記した設定を有効化します。
sudo sysctl -p
↓ですかね・・・? 改善されるといいな。。。
WSLでDNS解決が遅い
WSLからの名前解決が遅く、sdkmanがまともに動かなかったり、git cloneに失敗するという状況でした。
解決策はいくつかあるようですが、渡しの場合はdnsTunnelingで解決できました。
{USERHOME}\.wslconfig ファイルを作成し、下記の内容を保存します。
[wsl2] dnsTunneling=true
WSLを停止し、再起動します。
> wsl --shutdown
ポート3000で起動できない
遅ればせながらClaude Codeを触ってみようと、
とりあえずnode.jsで簡単なREST APIを作ってもらったのですが、、何やら権限エラー?とかで起動できない。
管理者権限で起動したPowerShellから実行しても同じ状況。
> npm start
> hello_node@1.0.0 start
> node index.js
Server running at http://localhost:3000
Server listen error: Error: listen EACCES: permission denied 0.0.0.0:3000
at Server.setupListenHandle [as _listen2] (node:net:1918:21)
at listenInCluster (node:net:1997:12)
at Server.listen (node:net:2102:7)
at Function.listen (C:\work\202507\hello_node\node_modules\express\lib\application.js:605:24)
at Object.<anonymous> (C:\work\202507\hello_node\index.js:15:20)
at Module._compile (node:internal/modules/cjs/loader:1730:14)
at Object..js (node:internal/modules/cjs/loader:1895:10)
at Module.load (node:internal/modules/cjs/loader:1465:32)
at Function._load (node:internal/modules/cjs/loader:1282:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14) {
code: 'EACCES',
errno: -4092,
syscall: 'listen',
address: '0.0.0.0',
port: 3000
}何故・・・?と調べたところ、権限ではなくポートが予約済みであったことが原因のようでした。
> netsh interface ipv4 show excludedportrange protocol=tcp
プロトコル tcp ポート除外範囲
開始ポート 終了ポート
---------- --------
2774 2873
2874 2973
2974 3073
3074 3173
3174 3273
3274 3373
50000 50059 *
* - 管理されている除外ポート。サーバの起動ポートを、上記で予約された範囲外(3374とか)に指定すれば解決しました。
↓このあたりが関連してそうですが深堀りしてません。
https://github.com/docker/for-win/issues/3171#issuecomment-554587817
↓こいつ無効化すれば解決するのかな・・・?(WSLに悪影響出そう)

Vision Studioのデモを使いたい
リソースを準備する必要があります。
その場でCreate a new resourceから作れる・・・?ようなのですが、私は何故か作れなかったので、ポータルからあらかじめ作りました。
Azure AI services multi-service accountは有償です。

Computer VisionはFree版も選択できます。

Heroes of Might and Magic (HoMM1)
ChatGPTが教えてくれたのでメモ。
初心者向け攻略ガイド (HoMM1)
1. 基本ルールと目標
- ターン制の戦略ゲームで、ヒーローを操作して軍隊を指揮
- マップ上の資源を集め、街を発展させて最強の軍を作る
- 最終目標は敵ヒーローを倒し、すべての城を支配すること
2. 勢力の選び方
HoMM1では4つの勢力があります。
| 勢力 | 特徴 | 初心者向け度 |
|---|---|---|
| Knight | バランス型 | ★★★★ (おすすめ) |
| Barbarian | 攻撃力特化 | ★★★ |
| Sorceress | 魔法特化 | ★★ |
| Warlock | 強力ユニット&魔法 | ★ (上級者向け) |
おすすめは Knight
理由: ユニットのコストが安く、防御力が高めで扱いやすい
3. 序盤の進め方 (最初の10ターン)
- 1ターン目: ヒーローを雇用し、近くの資源を回収
- 2ターン目: Town Hall を建設 (毎ターンのGold収入UP)
- 3〜5ターン目: 木材・鉱石を集めながらユニットの建物を建設
- 6〜10ターン目: 強いユニット (Cavalry, Minotaurなど) を雇い、近くの敵を倒す
4. ヒーローのスキル選び
| スキル | 効果 | 優先度 |
|---|---|---|
| Logistics | 移動距離UP | ★★★★★ |
| Leadership | モラルUP | ★★★★ |
| Wisdom | 高レベル魔法習得 | ★★★ |
| Ballistics | 城の攻撃力UP | ★★ |
| Scouting | 視野範囲UP | ★ |
初心者なら Logistics と Leadership を優先的に取ればOK!
5. おすすめユニット (Knightの場合)
| ユニット | コスト | 特徴 | 優先度 |
|---|---|---|---|
| Pikeman | 安い | 序盤の盾役 | ★★★ |
| Archer | 安い | 射撃ユニット | ★★★★ |
| Cavalry | 高い | 高速突撃ユニット | ★★★★★ |
| Paladin | 超高い | 回復スキル持ち | ★★★★★ |
6. 戦闘のコツ
- 敵の射撃ユニットは真っ先に倒す
- 射撃ユニットは後列に配置し、前列に盾役を置く
- 小さな戦闘は弱いユニットで戦って被害を抑える
- モラルが高いと2回行動できるので Leadership のスキルが超重要
7. 資源の優先順位
| 資源 | 優先度 | 使い道 |
|---|---|---|
| Gold | ★★★★★ | すべてのユニット |
| Wood | ★★★ | 建物の建設 |
| Ore | ★★★ | 建物の建設 |
| Crystal | ★★ | 強力ユニット (Paladin) |
| Gems | ★★ | 魔法ギルド |
8. 魔法の使い方 (初心者向けおすすめ魔法)
| 魔法 | 効果 | おすすめ度 |
|---|---|---|
| Haste | 味方の移動力UP | ★★★★★ |
| Slow | 敵の移動力DOWN | ★★★★★ |
| Lightning Bolt | 大ダメージ | ★★★★ |
| Cure | 味方回復 | ★★★ |
| Blind | 敵ユニットを行動不能 | ★★★★★ |
勝つための3つのコツ
- 敵の城は一気に落とす!長引かせると敵が強くなる
- ヒーローを複数使ってチェイン移動でアイテムをリレー形式に運ぶ
- 魔法の使い方で勝敗が決まるので、マナを無駄に使わない
おすすめの戦法
- Knight軍で序盤から大量のCavalryを作る
- Logisticsスキルで敵より先に移動
- Haste魔法で突撃して一気に倒す
まとめ
| 項目 | おすすめ |
|---|---|
| 勢力 | Knight |
| ヒーロー | Lord Kilburn |
| 魔法 | Haste, Cure |
| スキル | Logistics, Leadership |
| ユニット | Cavalry, Paladin |
テスト用のcsvファイルを生成する
import csv def main(): with open("bigdat.csv", "w", newline="", encoding="UTF-8") as f: writer = csv.writer(f, quoting=csv.QUOTE_ALL) for i in range(1_000_000): row = ["a", "b", "c"] writer.writerow(row) if __name__ == "__main__": main()