投稿

iptables 設定メモ

-P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -i br0 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -d 192.168.1.0/24 -j ACCEPT -A FORWARD -i br0 -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

Lenovo SettingsがLenovo Companionに統合された

Lenovo SettingsがLenovo Companionに統合されました。 また、今までLenovoアカウントにログインするためにはLenovoアカウントポータルというアプリも必要でしたが、これも不要になりました。 今後はLenovo Companion 1つだけあれば良さそうです。

Windowsのスタートメニューショートカットの場所

ユーザーごと %APPDATA%\Microsoft\Windows\Start Menu\Programs 全ユーザー %ALLUSERSPROFILE% \Microsoft\Windows\Start Menu\Programs

PMMPサーバの構築 (Linux)

1. 適当なPMMPサーバ用のディレクトリを作成     ~$ mkdir pmmp 2. pharファイルのダウンロード      https://jenkins.pmmp.io/job/PocketMine-MP/     PocketMine-MP_*_*_API-*.pharをダウンロード。     PocketMine-MP.pharにリネームしてPMMPサーバディレクトリにコピー。     $ cd /tmp     /tmp$ wget https://jenkins.pmmp.io/job/PocketMine-MP/132/artifact/PocketMine-MP_1.7dev-132_b54f256f_API-3.0.0-ALPHA9.phar     /tmp$ cp PocketMine-MP_1.7dev-132_b54f256f_API-3.0.0-ALPHA9.phar ~/pmmp/PocketMine-MP.phar 3. PHPバイナリのダウンロード      https://jenkins.pmmp.io/     pharファイルの要求するPHPのバージョンを選択。     PHP_Linux-x86_64.tar.gzをダウンロード。     解凍して、binフォルダをPMMPサーバディレクトリにコピー。     $ cd /tmp     /tmp$ wget https://jenkins.pmmp.io/job/PHP-7.2-Linux-x86_64/lastSuccessfulBuild/artifact/PHP_Linux-x86_64.tar.gz     /tmp$ tar xf PHP_Linux-x86_64.tar.gz     /tmp$ cp -R bin ~/pmmp/ 4. 起動用スクリプトの作成   ...

PMMPサーバの構築 (Windows)

1. 適当なPMMPサーバ用のフォルダを作成 2. pharファイルのダウンロード      https://jenkins.pmmp.io/job/PocketMine-MP/     PocketMine-MP_*_*_API-*.pharをダウンロード。     PocketMine-MP.pharにリネームしてPMMPサーバフォルダにコピー。 3. PHPバイナリのダウンロード      https://ci.appveyor.com/project/pmmp/php-build-scripts/history     pharファイルの要求するPHPのバージョンを選択。     ARTIFACTSからphp-*-vc*-x64.zipをダウンロード。     解凍して、binフォルダをPMMPサーバフォルダにコピー。 4. VC++ランタイムをインストール      https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads     PHPバイナリの要求するバージョンのVC++ランタイムをインストールする。     php-7.2.0RC3-vc15-x64.zipならvc15の部分がバージョン。 5. 起動用スクリプトの作成      https://github.com/pmmp/PocketMine-MP/blob/master/start.cmd     Rawをクリックしてstart.cmdをダウンロードし、PMMPサーバフォルダにコピー。     PowerShellがいいならこっち      https://github.com/pmmp/PocketMine-MP/blob/master/start.ps1 6. 起動用スクリプトを実行   ...

C++ 継承の使い方

一部だけ処理が異なるような複数のクラスを用意する際、継承を利用することで楽になる。 // Base.h class Base { public:     int a_, b_;     int ans_;     Base(int a, int b) {         a_ = a;         b_ = b;     }     virtual void Calc() = 0;     int Ans() {         return ans_;     } } // Add.h #include "Base.h" class Add : public Base { public:     Add(int a, int b) : Base(a, b) {     }     virtual void Calc() {         ans_ = a_ + b_;     } } // Sub.h #include "Base.h" class Sub : public Base { public:     Sub(int a, int b) : Base(a, b) {     }     virtual void Calc() {         ans_ = a_ - b_;     } } 上記のように、基底クラスを作成し、変更したい関数を仮想関数にする。そのクラスを継承した派生クラスを作成、仮想関数を上書きすることで新しいクラスを作成することができる。 以下のように普通のクラスと同様にインスタンス生成が可能。 Add * add = new Add(2,...

C++ int型の範囲

int8_t : -128 ~ 127 uint8_t : 0 ~ 255 int16_t : -32768 ~ 32767 uint16_t : 0 ~ 65535 int32_t : -2147483648 ~ 2147483647 uint32_t : 0 ~ 4294967295 int63_t : –9223372036854775808 ~ 9223372036854775807 uint64_t : 0 ~ 18446744073709551615