おうちネットワーク遊び
やりたかったこと
- MAP−E の v6 プラスで接続したい
- v6 プラス固定オプションを使用してサーバを公開したい
- サーバのネットワークと、メインのネットワークを分離したい(DMZ?用語わからん)
- ゲストネットワークを用意したい
作業開始
Day0
構成としては、
- RTX 830 で MAP-E トンネルを張る
- Fortigate 50E で IPIP トンネルを張る
- RTX 830 の LAN を Fortigate 50E の WAN に繋ぐ
の状態だった。
Day1
実現しようとした構成
- RTX 830 で MAP-E トンネルを張る
- Fortigate 50E で IPIP トンネルを張る
- RTX 830 の LAN を Fortigate 50E の WAN に繋ぐ
- Fortigate 50E のルーティング情報に、「デフォルトゲートウェイを MAP-E トンネルとする」「src がサーバのネットワークなら IPIP トンネルをゲートウェイとする」を追加する ←New✨
OpenWRT の Luci 上から静的経路設定をしても ip route コマンドから設定を確認出来ず、設定が悪いか OpenWRT が悪いかの2択に絞り込む。
iptables なら簡単に出来るのに…
Day2
Fortigate 50E の IPIP トンネルのインターフェースを削除して再度作成しようとしたら、IPIP トンネルがうまく張れない状態になる。 バックアップを取り忘れていた。
設定をこねくり回しても接続出来ないため、一旦諦める。
教訓 設定を変更するときは、バックアップはちゃんと取ろう!
Day3
設定をこねくり回す。
WAN インターフェースの ifaceid が設定出来ていないために、正しくパケットが返ってきていない状態だったことに気付く。 IPIP トンネルを確実に張ることが出来るようになる。
しかし、ルーティング情報が反映されないので色々調べていたら、ポリシーベースルーティングとやらにたどり着く。
ip rule というコマンドがあることを知った。
色々設定してみても、思ったとおりには動かなかった。
Day4
ソフトウェアの常識「1つのコンポーネントに複数の役割を持たせない」を用いることで、設定の破壊を防ごうと考える。 そこで考えた構成が以下の通り
- RTX 830 で IPIP トンネルを張る ←New✨
- 別のルータで MAP-E トンネルを張る ←New✨
- Fortigate 50E の WAN にそれぞれの LAN をつないで、ルーティングを行う ←New✨
RTX 830 で IPIP トンネルを張ることには成功した。
急遽、稼働していない WX6000HP を拾いにいき、MAP-E をコイツに任せることにした。
起動して WAN を接続すると、「回線タイプを判別しています。しばらくお待ちください」のまま何分たっても返ってこない。微妙すぎる。 諦めて WAN の接続を外すことで回線タイプの判別をスキップ。管理画面に入ってから WAN を接続することでいい感じに操作が出来る状態になった。
IPIP トンネルと MAP-E トンネルが張れたので、Fortigate 50E の設定をする。 しかし、思ったとおりのルーティング情報が反映されない。
この Fortigate 50E が悪いのか?と考え始める。
Day5
この Fortigate 50E が悪い可能性を考え、別の Fortigate 50E を用意するために友人宅へ向かう。 2つの Fortigate 50E を入手したので、動作確認をする。
やはり設定が反映されないので、機体ではなく OpenWRT か設定が悪い状態へ絞り込めた。
「YAMAHA に乗っかることで全てが解決する!」と思い込んだ私は、WAN が2つある Fortigate 50E の代わりを探すことにした。
WAN が2つあってヤフオクに転がっていていい感じの値段で買えるのは、RTX 1210 か RTX 3500 のどちらかであった。 「うーーーんデカい方が強い!」ということで、RTX 3500 を落札。
届くのを待つことにした。
Day6
RTX3500 が届いた。
組もうとした構成は以下
- RTX 830 で MAP-E トンネルを張る
- Fortigate 50E で IPIP トンネルを張る
- RTX 3500 の WAN とそれぞれの LAN をつなぎ、ルーティングを行う ←New✨
RTX 3500 を起動したが、ファンの音があまりにもうるさすぎる。 作業部屋に置けるものではないが、仕方ないので置いたまま生活することになりそうだ。
RTX 3500 の設定を詰められず、疲れて1日が終わる
Day7
RTX 3500 の設定を詰める。
デフォルトゲートウェイと filter の設定がうまく反映されない。
諦める。
Day8
一旦状況の整理をするため、ホワイトボードに実装したい構成を書き出した。
友人に見てもらったところ、「どうしてそんなにルータが必要なの…?」「ソフトウェアの常識はハードウェアに通じないよ」などと言われる。
「じゃあどうするねんな」と言ったところ、MAP-E トンネルを張るルータと IPIP トンネルを張るルータで別のネットワークを作成すれば良い とのこと。
「お互いの LAN に接続したら DHCP のアドレス配布が混線するじゃろ…」と思ったが、ポートごとにネットワークを区切れば良いことに気付く。
RTX 830 の LAN 分割機能を用いて lan1.5 をルータ用ネットワークの IP アドレスに設定し、Fortigate 50E の eth5 をルータ用ネットワークの IP アドレスに設定する。 お互いのルータに静的経路設定を行い、反映されていることを確認した。
成功である。 こんなに簡単な話だったのか…
感想
ネットワーク構成は脳内で完結させるのではなく、書き出して他の人にレビューしてもらうことが大切だと感じた。
RTX 3500 が余ったので、有効活用する方法について考えている。
ネットワークは難しい。
JetBrains IDEでREADME.mdを開くとクラッシュする
環境
Ubuntu 24.04
6.6.0-14-generic
IntelliJ IDEA Ultimate 2023.3.3
原因を調査する
ディスプレイサーバのプロトコルを変更する
- Wayland: 発現した
- X: 発現した
IntelliJ IDEA のバージョンを変更する
- IntelliJ IDEA Ultimate 2024.1 EAP: 発現した
- 2023.3.4 Release Candidate: 発現した
- 2023.3.3: 発現した
- 2023.2.5: 発現した
- 2023.1.5: 発現した
- 2022.3.3: 発現しなかった
- 2022.2.5: 発現しなかった
別の JetBrains IDE を使用する
- GoLand 2023.3.3: 発現した
プラグインのクラッシュを疑う
ターミナルから起動する
FATAL:credentials.cc(127)] Check failed: . : Permission denied (13)
と出てきたので Google で検索すると、 https://youtrack.jetbrains.com/issue/IDEA-319751 が見つかる
調査結果
対処方法
Kaede Higuchi Live 2021 "AIM" に行った
この記事は、オタクのお気持ち表明のような物です。
要点まとめ
- チケット消えて、開演5分前まで会場前で待ち
- オール着席・コール禁止ライブは面白くない
- ライブの内容は良かった
チケットが消えた件
今回のライブは、イープラスアプリ内でのスマチケ(スマートチケットかな?)というシステムでチケットが発券されました。
「機種変更などは済ませてからチケットをダウンロードしてください」的なことが注意書きにあったので、前日夜にチケットをダウンロードしました。多分1回きりしかダウンロード出来ないんだろうな~ということを勝手に想像しました。
チケットをダウンロードしようとイープラスアプリを開くと、更新を求められました。
更新をしてアプリを開いたら、謎のエラーダイアログが出て起動しません。何かがクラッシュしてるようです。
仕方がないので、アプリを再インストールしてチケットをダウンロードします。インストール直後にうまく動いたので、アップデートで何かが失敗したのかな?と思っていました。会場に着いてから、同じエラーダイアログが出て起動できなくなるとも知らずに。
チケットをダウンロードしたら、席番がわかるようになります。偶然、友人に Discord 上で席の番号を伝えていました。この行動が運命を左右します。
当日会場に着いて、イープラスアプリを開いてチケットの確認をしようとしたら、昨日の夜に見たエラーダイアログが出てきます。
「あ、起動しないしこれは終わった。しかし再インストールすれば開ける。」ということで、イープラスアプリの再インストールを行います。
アプリを再インストールしたにも関わらず、エラーダイアログが出続けます。「あれ?これ死んだのでは?」と思い、会場前でアナウンス等を行っているスタッフに話をしに行きました。
イープラスアプリがクラッシュして死んだ
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
チケット吹き飛んだ
起きた問題は、
- チケットを確認しようとしたら、アプリがクラッシュして開けない
- 別のスマホで確認したら、チケットが一度きりしかダウンロード出来ない
の2点です。
これらを伝えたら、スタッフさんは中に確認へ行ってくれました。「別の者が来る」ということで、寒さの中待っていました。
会場整理をしているスタッフの方とは違う見た目の方が来ました。少し権限を持ってる人だったのでしょうか。
先程と同じ内容の話をしたら、「開演5分前に席が空いていることを確認出来次第ご案内します。」という回答が得られました。
開場16時半・開演17時半で、私が会場に到着したのは16時40分でした。
開演5分前まで待機するように頼まれたのは16時54分なので、30分入場できず会場前で待ちぼうけをする事になりました。
イープラスアプリのバグのせいでチケットが消え、寒い中30分無意味に会場前で時間を潰す人になってしまったのです。
酷すぎだろ pic.twitter.com/Hq2ruU8i43
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
アプリのバグのせいでチケット消えたので、現時点で入場不可になってる
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
さむいしぬ pic.twitter.com/Uv7lPKiWn0
何が楽しくて会場前でニコ生見てんだ??? pic.twitter.com/60uwzlSaeY
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
開演50分前に会場に着いたのにも関わらず、開演5分前に入場した弊害
前説が聞けない
通常ライブの前説では、ライブ中の禁止行為等を説明することが多いです。禁止行為の説明等が聞けないので、何をしたら駄目なのかわかりません。
公式サイトには、ライブ中の禁止行為等の説明が書かれていませんでした。「新型コロナの拡大対策をします」しか書かれていませんでした。
会場内に入りライブが始まり、周囲のオタクの行動を眺めていたところ、2つのレギュレーションが見えてきました。
- オール着席
- コール禁止
コロナ対策ということでやっているのでしょうか。「楽しめないレギュレーションだな」と感じました。
レギュレーションに対して感じたことは、下でもう少し掘り下げます。
怒りの感情でライブが楽しめない
自分の失敗で入場出来なくなったわけではないので、怒りというものが湧いてきます。
怒りの矛先はイープラスです。イープラスアプリを開発した人間でしょうか。
「こんなバグがあるアプリをリリースして、お金やチケットを扱うなんて酷すぎる!」とキレ散らかしていました。
ライブ前は、"推しのライブなので楽しみたい" という気持ちを持って会場に向かいます。
入場しようとしたら入場が出来るかわからない状態になり、かなり寒い中で待たされたら、楽しみたい気持ちはかき消されてしまいます。
入場しても場の盛り上がりにはついて行けず、一人イライラしながらライブを見る事になり、純粋に楽しむことが出来ませんでした。
オール着席・コール禁止というレギュレーション
コロナ禍で感染を広げないためには仕方がないレギュレーションだと思います。ライブ開催が原因で感染が広がったら、演者や運営も大迷惑です。
感染を広げないよう対策するのは良いのですが、楽しいか楽しくないかという問題は全く別です。
楽しくなかったです。
会場にいるオタクの大半が棒振り地蔵になっていました。キモい。
ライブでは、動いて声を出すことで体のリソースをたくさん使います。これによってライブに参加している気持ちが高まります。一体感とかいう奴かもしれません。
オール着席でコール禁止の場合すべてのリソースが余った状態になり、ライブを聞いているだけになります。
リソースが余った結果、Twitter を一生見てました。
なんか臨場感のある歌枠みたいですね??
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
一言も声を発せないオタク、おもろい
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
これ、声出せるネチケ勢の方が楽しいし強いよ
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
オール着席のデメリット
曲に合わせて動くことが困難
座っていると足先でリズムを取ることしかできません。
私はリズムに合わせて体を動かすタイプなので、足先でリズムを取るのは物足りない感じがしました。頭も振りづらかったです。
家でネチケ買って、パソコンの前で暴れてた方がまだ楽しいよ
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
周囲のオタクの振動が伝わってくる
ライブが行われるホールは、基本1列席が繋がっています。
人間が動くと椅子が振動します。周囲のオタクの振動がめちゃめちゃ自分に伝わってきて気持ち悪かったです。
自分が動くことによって発生する振動が他人に伝わってると思うと、なんか気持ち悪いです。
着席ライブ、他人の揺れが伝わってくる
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
ゴミ
コール禁止のデメリット
もどかしい
コール曲は楽しい感じの曲が多いです。アルバムを初めて聴いた時、「コールするとしたらここだな~」など色々考えていました。
声を出したいのに出せない状況は、非常にもどかしく感じました。
ライブ内容について
ここからは、ただ語彙力が死んだオタクの感想です。
めちゃめちゃ良かったです。
しっかりストーリーがあって、それに合わせた曲順で歌われていました。
野球部監督、カエデ、22歳の樋口楓 と3つの世界が、現実の樋口楓に反映されていくような感じ、良かったです。
ファンメイド曲や響鳴など、ランティスと関係ない曲もやってくれて、激アツでした。
響鳴は KANA-DERO を思い出しました。
いそっち…好き……… KANA-DERO パーカー着てたのヤバい…
いそっち出てきた瞬間にテンション上がった
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
最後に
ライブ前に色々問題が発生しましたが、樋口楓のライブはやはり良かったです。
個人的には KANA-DERO のほうが良かったと感じています。
KANA-DERO オルスタ最前と、AIM 着席2階後ろ、比較したらどう考えても KANA-DERO の方が楽しい
— ちゅん🍮💎 (@frozen_chun) 2021年2月19日
コロナ騒動が収まったら、再演をやってほしいと強く願います。
この記事を読んだオタクは AIM を見てください。3月始めまでネットチケット購入すれば無料で無限回見れます。
終わり
【あつ森】南半球でお金を稼ぐ方法【タランチュラ超え】
初めに
3月に北半球ではタランチュラが出るので日本人の8割くらいがタランチュラでお金を稼ごうと方法を編み出していました。
南半球を選択した私はタランチュラが出ない代わりにサソリで代用しようと思いましたが、蚊とスズムシとコオロギが走っても逃げないので諦めました。
離島ツアーの回数を重ねていたら、タランチュラ島と同じくらい稼げる島を見つけたので紹介します。

環境
- 南半球
- 3月
離島の詳細
- 木は針葉樹のみ
- 池や川は無し
- ヤシの木が4本(右2本・左2本)
- ニジイロクワガタ、ヨナグニサンが木に止まっている
- 地上にはオオセンチコガネのみ
手順
- 叶式の要領で湧きを固定させる 参考動画
- 花を取る
- 木を切る(ヤシの木は残す)
- 見やすくするために雑草を刈る
- 取らない虫を走って蹴散らす
- ゴライアスオオツノハナムグリがヤシの木に止まっていたら捕らえる
- 気が済むまで2と3を繰り返す
利点
- 失敗しても島の最初に戻されない
- サソリやタランチュラを捕まえるは難しいが木に止まっている虫を捕るのは比較的簡単
- 同時に2匹出ることも

詳細
ヨナグニサンは1月, 2月, 3月, 10月, 11月, 12月に発生
オオセンチコガネは1月, 2月, 3月に発生
ニジイロクワガタは1月, 2月, 3月, 12月に発生
ゴライアスオオツノハナムグリは1月, 2月, 3月, 12月に発生
ゴライアスオオツノハナムグリはヤシの木のみに発生するため針葉樹を切っても問題なくスポーンする。
最後に
時間変更はしていないため1月と2月と12月の検証はしていないのですが、南半球の3月のお金稼ぎ方法を見つけられたので北半球の人たちにも負けずにお金が稼げて良かった。
macOSでPythonのmysqlclientをインストールする方法
mysqlclientがインストール出来ない
pip install mysqlclientと入力してもエラーが出てインストール出来ない。
赤文字でずらーっとエラーが出ますが2種類です。(私が確認した限りでは)
1つ目がmysql_configが見つからない。(エラー文は消えました)
2つ目が
ld: library not found for -lssl
Failed to build mysqlclientと書いてある行のいくつか上を確認するとどちらかのエラーが出ます。
対処法
mysql_configエラー
brewが使える環境で
brew install mysql
と入力してmysqlをインストールし、mysql_configコマンドが打てることを確認出来れば解決です。
ldエラー
brewが使える環境で
brew install openssl
opensslがインストール済みの方は
brew reinstall openssl
と入力し、インストールか再インストールをすると
For compilers to find openssl@1.1 you may need to set: export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
コンパイラがopenssl使うには環境変数を設定してね(意訳)
と言ってきてるのでLDFLAGSとCPPFLAGSの環境変数を設定すれば解決です。
おわりに
pythonでmysqlを使うにはどのOSでもmysqlclientインストール時にコケるのでどうにかならないかなぁ〜と思っています。
ここに書いてないエラーが出た場合は環境とエラー文をコメントに記入してもらえば出来るだけ対処します。
pipenvでmysqlclientをインストールしようとしたらコケた話
環境
OS: macOS 10.14.6
Python: 3.7.5
pipenv: 2018.11.26
状況
homebrewでmysql-clientは入っている状態
virtualenvではないPythonにはmysqlclientは入っている状態
症状
忘れた
後で確認して書く
解決方法
pipenv install mysqlclient
ではなく、virtualenvをactivateした状態で
pip install mysqlclient
Pipfileに記述されないのはデメリットの塊だが動作はするようになった。
pymysqlはDjangoが使えなかったのでmysqlclientしか選択肢がなかった。
おわりに
mysqlclient入れると必ずといっていいほどコケるのでどうにかしてほしい
PythonistaがRustを学ぶ
この記事は随時更新されます。
教材
The Rust Programming Language (https://doc.rust-jp.rs/book/second-edition/)
Rustの文法をPythonに置き換えて理解する
ここには正しいことしか書かない
関数定義
Rust:
fn main() { }
def main():
標準出力
Rust:
println!("Hello, world!");
print("Hello, world!")
インデント
共通: スペース4つ
パッケージマネージャ
Rust: Cargo
Python: pip
ライブラリのインポート
Rust:
use std::io;
extern crate rand;
FIXME: 現時点で詳細や違いはわかっていない
import os
変数定義
Rust:
let foo = 5;
foo = 5
文字列のフォーマット
Rust:
println!("{}", 変数名);
print("{}".format(変数名)) print(f"{変数名}")
数字にキャスト
Rust:
let mut guess = "10\n"; let guess: u32 = guess.trim().parse() .expect("Please type a number!");
guess = "10\n" guess = int(guess)
無限ループ
Rust:
loop {
}
while True:
ループからの脱出
共通: break
間違っていたこと
ここに間違えていたことをまとめる
Pythonにはない概念のメモ
マクロ
実行するときは
マクロ名!(引数)関数を叩くのと同じ感じで実行出来る
関数のオーバーライドみたいな感じで自分で好きに出来る
コンパイル
rustc ファイル名でコンパイル./ファイル名で実行
行末
- セミコロンで終了
プロジェクト自動作成・管理
cargo new プロジェクト名 --binでプロジェクト作成cargo runでコンパイルした全てのバイナリを実行cargo checkでコンパイルが出来るかをチェック(実行ファイルは作成しない)
変数
基本immutable
let mutで定義するとmutable
変数の参照
&変数名で参照出来る