CommuniGateProのIPアドレスブロックの解除

■CommuniGateProのIPアドレスブロックの解除
 CommuniGate Proで意図しないIPアドレスブロックが発生した場合に、サービスの再起動をしないでIPアドレスブロックを解除する方法。PWDのアクセスがクローズされていないことが条件。「←」がついているところがユーザの入力部分。

1)PWDコマンドでアクセスする
[code]# telnet 127.0.0.1 106 ←
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.[/code]

2)管理者でログイン
[code]200 CommuniGate Pro PWD Server 5.4.x ready <1.1366768425@localhost.localdomain>
user postmaster ←
300 please send the PASS
pass userpassword ←
200 login OK, proceed[/code]

3)現在一時的にブロックされているIPアドレスを表示する(IPアドレスの後ろは残秒数)
[code]GETTEMPBLACKLISTEDIPS ←
200 data follow
“[192.168.1.1]-2669″[/code]

4)ブロック解除したいIPアドレスの時間(秒数)を書き換えで対処する
[code]SETTEMPBLACKLISTEDIPS “[192.168.1.1]-10″ ←
200 OK[/code]

5)秒数が書き換わったことを確認する
[code]GETTEMPBLACKLISTEDIPS ←
200 data follow
“[192.168.1.1]-6″[/code]

6)指定時間経過後リストから消えたことが確認できる
[code]GETTEMPBLACKLISTEDIPS ←
200 data follow
“”[/code]

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■FreeBSD 9.1にCommuniGateProを導入するメモ
 FreeBSD release 9.1 のサーバにCommuniGate Proを導入した時のメモ。CommuniGate ProのFreeBSD用パッケージは公式には8用までしか準備されていないが、8.4でも9.1でも同じ結果だったので、以下の手順で問題ないと思われる。パッケージのinstall scriptの最新化を期待。FreeBSDインストール時にはsshd + ntpd程度の設定としていた。

■インストール準備
[code]インストール及び動作確認のためのツールを入れておく
# pkg_add -r wget
# pkg_add -r lsof

sendmailを停止しておく
# /etc/rc.d/sendmail stop[/code]

■インストール
[code]# wget http://www.communigate.com/pub/CGatePro/5.4/CGatePro-FreeBSD8-Intel-5410.tgz
# pkg_add CGatePro-FreeBSD8-Intel-5410.tgz[/code]

■起動と停止
[code]# /usr/local/etc/rc.d/CommuniGate.sh start
# /usr/local/etc/rc.d/CommuniGate.sh stop
# killall -9 CGServer(stopで止まらない場合)[/code]

■初期作業
[code]# /usr/local/etc/rc.d/CommuniGate.sh start
初回起動時に説明が表示されるが内容が正しくなく、CGPが終了するので以下を実施
# vi /var/CommuniGate/Accounts/postmaster.macnt/account.settings
Password = mypassword; を2行目に追記(mypasswordは管理用パスワードに設定したい値にする)
そして再度起動する
# /usr/local/etc/rc.d/CommuniGate.sh start
# lsof -i (にて起動及び待ち受け状態を確認する)
http://hostname:8010/ にアクセスして指定したパスで管理画面に入る[/code]

■sendmailの起動停止設定
[code]以下のいずれかのrc.confを編集する

# vi /etc/rc.conf
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”

# vi /etc/defaults/rc.conf
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”[/code]

■ローカル配送を試験する
[code]# mail -v root@localhost
にてCGPで受信されることを確認[/code]

■CommuniGate Proの削除
[code]# pkg_delete CGatePro\*[/code]

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Debian v7 でCommuniGateProのdebパッケージを調べる
 CommuniGate Proのdebパッケージが非公式ながら作成されていたので、どんな構成になっているのか調べてみたメモ。ちなみにCommuniGate ProとしてはLinuxではrpmでパッケージされたものが公式ということらしい。

■パッケージ情報を取得
[code]# dpkg-deb –info cgatepro-linux_6.0-5a_i386.deb
新形式 debian パッケージ、バージョン 2.0。
サイズ 51972190 バイト: コントロールアーカイブ = 709 バイト。
24 バイト、 1 行 conffiles
293 バイト、 9 行 control
511 バイト、 22 行 * postinst #!/bin/sh
77 バイト、 5 行 * postrm #!/bin/sh
156 バイト、 7 行 * prerm #!/bin/sh
Package:cgatepro-linux
Version: 6.0-5a
Priority: optional
Architecture: i386
Depends:
Section: non-free/comm
Maintainer: CommuniGate Systems
Description: THE Integrated Communication Server.
SIP, XMPP, ESMTP, POP3, IMAP4, MAPI, List, Web Email, poppwd, LDAP, ACAP.[/code]

■パッケージ内のdata部分を表示
[code]# dpkg-deb -c cgatepro-linux_6.0-5a_i386.deb
drwxr-xr-x root/root 0 2013-04-05 21:54 ./
drwxr-xr-x root/root 0 2013-04-05 21:54 ./etc/
drwxr-xr-x root/root 0 2013-04-05 21:54 ./etc/init.d/
-rwxr-xr-x root/root 2806 2013-04-05 21:54 ./etc/init.d/CommuniGate
drwxr-xr-x root/root 0 2013-04-05 21:54 ./usr/
drwxr-xr-x root/root 0 2013-04-05 21:54 ./usr/share/
drwxr-xr-x root/root 0 2013-04-05 21:54 ./usr/share/doc/
drwxr-xr-x root/root 0 2013-04-05 21:54 ./usr/share/doc/cgatepro-linux/
-rw-r–r– root/root 2738 2013-04-05 21:54 ./usr/share/doc/cgatepro-linux/copyright
drwxr-xr-x root/root 0 2013-04-05 21:54 ./opt/
drwxr-xr-x root/root 0 2013-04-05 21:54 ./opt/CommuniGate/
…以下略[/code]

■パッケージのコントロール情報を展開して中身を確認する
[code]# dpkg-deb -e cgatepro-linux_6.0-5a_i386.deb
# cd DEBIAN (DEBIANというディレクトリが生成される)
# ls -al
合計 28
drwxr-xr-x 2 root root 4096 4月 5 21:54 .
drwx—— 5 root root 4096 5月 22 14:12 ..
-rw-r–r– 1 root root 24 4月 5 21:54 conffiles
-rw-r–r– 1 root root 293 4月 5 21:54 control
-rwxr-xr-x 1 root root 511 4月 5 21:54 postinst
-rwxr-xr-x 1 root root 77 4月 5 21:54 postrm
-rwxr-xr-x 1 root root 156 4月 5 21:54 prerm
# less でそれぞれ確認[/code]

■パッケージ内のdata部分を展開して確認する
[code]# mkdir test
# dpkg-deb –extract cgatepro-linux_6.0-5a_i386.deb test
# cd test
# ls -al (などして確認)[/code]

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Debian wheezy にCommuniGateProをインストールしたメモ
 Debian v7 wheezyでのCGPのインストール方法をチェック。6.xも手順は同様。rpmでもdeb化でも以下の手順で5.4.xが適切に動作することを確認。

■パッケージの入手
# wget http://www.communigate.com/pub/CGatePro/5.4/CGatePro-Linux_5.4-10.i386.rpm

■rpmでインストール場合
# apt-get install rpm
# rpm -ivh –nodeps CGatePro-Linux_5.4-10.i386.rpm

起動scriptを修正
# vi /etc/init.d/CommuniGate
・ulimit -u から始まる1行を削除する
・touch /var/lock/subsys/CommuniGate
  ↓
 mkdir /var/lock/subsys
 touch /var/lock/subsys/CommuniGate

起動
# /etc/init.d/CommuniGate start
停止
# /etc/init.d/CommuniGate stop
アンインストール
# rpm -e –nodeps CGAtePro-Linux

■debでインストールする場合(alienで変換する)
# apt-get install alien
# alien -d –scripts CGatePro-Linux_5.4-10.i386.rpm
# dpkg -i cgatepro-linux_5.4-11_i386.deb

起動scriptを修正
# vi /etc/init.d/CommuniGate
・ulimit -u から始まる1行を削除する
・touch /var/lock/subsys/CommuniGate
  ↓
 mkdir /var/lock/subsys
 touch /var/lock/subsys/CommuniGate

起動
# /etc/init.d/CommuniGate start
停止
# /etc/init.d/CommuniGate stop
アンインストール
# dpkg -r cgatepro-linux

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■Linuxで同時オープンされているファイルの数を確認する方法
OS全体で開いているファイルと特定プロセスが開いているファイルを確認する方法。負荷試験をやっている最中にパフォーマンスがでない時、確認すると意外とこれに引っかかっていることもあるので注意。OSのチューニングはちゃんとしようw

# cat /proc/sys/fs/file-nr
表示される3つの数字のうち一番左

■CommuniGate Proで同時オープンされているファイルの数を確認する方法
# ps aux | grep CGS
プロセス番号を確認
# ls /proc/プロセス番号/fd/ | wc -l
表示された数字

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■munin用CommuniGate Pro監視プラグインサンプル
 CommuniGate Proの各プロトコルの接続状況を確認できるプラグインのサンプル。net-snmpとCommuniGate Pro側のsnmpサーバ設定が必須。OS側のsnmp設定と重ならないようにするためにCGPのポート番号を変更している場合には ホストIP:ポート番号 で記述する。

■プラグインを作成する
# vi /etc/munin/plugins/cgp_active
以下
[code]
#!/bin/sh

if [ “$1” = “autoconf” ]; then
if [ -x /usr/bin/snmpwalk ]; then
echo yes
exit 0
else
echo no
exit 1
fi
fi

if [ “$1” = “config” ]; then

# ___WARNING=10000

echo ‘graph_title CGP Active Sessions’
echo “graph_args -l 0”
echo ‘graph_vlabel CGP Active Sessions’
echo ‘graph_info This graph shows CGP Active Sessions’
echo ‘graph_category CGP’

echo ‘sip_server.label SIP Server’
echo ‘sip_server.draw LINE2’
echo “sip_server.info SIP Server”

echo ‘sip_clients.label SIP Clients’
echo ‘sip_clients.draw LINE2’
echo “sip_clients.info SIP Clients”

echo ‘sip_act.label SIP Con’
echo ‘sip_act.draw LINE2’
echo “sip_act.info SIP Con”

echo ‘media_act.label Media Ch’
echo ‘media_act.draw LINE2’
echo “media_act.info Media Ch”

echo ‘media_leg.label Media Leg’
echo ‘media_leg.draw LINE2’
echo “media_leg.info Media Leg”

echo ‘prox_act.label Proxy’
echo ‘prox_act.draw LINE2’
echo “prox_act.info Proxy”

echo ‘ximss.label XIMSS’
echo ‘ximss.draw LINE2’
echo “ximss.info XIMSS”

echo ‘airsync.label AirSync’
echo ‘airsync.draw LINE2’
echo “airsync.info AirSync”

exit 0
fi

echo -n “sip_server.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.2.2.1 | awk ‘{ print $4 }’

echo -n “sip_clients.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.2.3.1 | awk ‘{ print $4 }’

echo -n “sip_act.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.2.1.41 | awk ‘{ print $4 }’

echo -n “media_act.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.15.1 | awk ‘{ print $4 }’

echo -n “media_leg.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.15.21 | awk ‘{ print $4 }’

echo -n “prox_act.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.7.1 | awk ‘{ print $4 }’

echo -n “ximss.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.10.1 | awk ‘{ print $4 }’

echo -n “airsync.value ”
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.15.1 | awk ‘{ print $4 }’
[/code]

■値が取得できることを確認する
# cd /etc/munin/plugins/
# munin-run cgp_active

, , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate Proの稼働状況をmuninで監視する
 CommuniGate Proの稼働状態をmuninで監視するためのメモ。前記事の続き。CommuniGate Proでのsnmp取得設定ができていることを前提とする。

■サーバ設定
 snmpwalkを使用可能にする
 # yum install net-snmp-utils
 CGPから値が取得できることを確認する
 # snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2

■script作成から設置まで
 サンプルとしてCGPのスレッド数を取得するscriptを作成する
 # cd /usr/share/munin/plugins/
 以下のscriptを作成
 # vi cgp_threads
[code]
#!/bin/sh

if [ “$1” = “autoconf” ]; then
if [ -x /usr/bin/snmpwalk ]; then
echo yes
exit 0
else
echo no
exit 1
fi
fi

if [ “$1” = “config” ]; then

# THREADWARNING=200

echo ‘graph_title CGP Active Threads’
echo “graph_args -l 0”
echo ‘graph_vlabel CGP Active Threads’
echo ‘graph_info This graph shows CGP Active Threads’
echo ‘graph_category CGP’

echo ‘threads.label CGP Active Threads’
echo ‘threads.draw LINE2’
echo “threads.warning $THREADWARNING”
echo “threads.info CGP Active Threads”

exit 0
fi

echo -n “threads.value ”
snmpwalk -v 2c -c password servername 1.3.6.1.4.1.5678.2.100.20 | awk ‘{ print $4 }’
[/code]
 実行権を付与する
 # chmod +x cgp_threads
 値が取得できるか確認する
 # munin-run -servicedir /usr/share/munin/plugins/ cgp_threads
 値が取得できれば実行できるよう設定する
 # cd /etc/munin/plugins/
 # ln -s /usr/share/munin/plugins/cgp_threads cgp_threads

これで後はグラフが更新されるのを待てばよい。

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate Proからsnmpで稼働状況取得
 CommuniGate Proの稼働状態をsnmpで取得するためのメモ。muninやzabbixなどの監視ツールで稼働状況を詳細に把握するためデータ取得を可能にする。

■サーバ設定
 CGPサーバ側でsnmpを有効にする(OSではなくCGPで)
 管理画面>設定>サービス>SNMP
 パスワードとトラップパスワードを設定する
 リスナーのリンクを開いてポートに161を指定する
 必要ならリモートIPアドレス制限に値を入力し制限をかける

■取得側設定
 CGPのsnmp出力はSNMPV2なので以下のコマンドで全パラメータが取得できる
 $ snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2

 MIB情報は以下より取得可能
 管理画面>モニター>統計>MIBのリンクをクリック

muninでグラフを作成するには、/usr/share/munin/plugins以下にあるsnmp関連のscriptを改造すればよいと思われる。

, , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■update後F-05Dのバッテリー耐久が向上したメモ
 2月末のF-05Dのアップデートでバッテリー消費が大幅に向上したことが確認されたのでメモ。1回目にF-05Dがあまりに酷い結果だったのでバッテリー持ち対策をして試し追検証をした際に多少の向上は見られたが、update後に試した今回はバッテリー耐久が大幅に改善されたことが確認された。アップデート後のファームバージョンはV16R24C。以下テスト条件と結果を簡単に。

 これまでの経緯
 iOS/Android/WP7.5のバッテリー耐久テストをしたメモ
 http://blog.isnext.net/issy/archives/1968
 iOS/Android/WP7.5のバッテリー耐久テストをしたメモ2
 http://blog.isnext.net/issy/archives/1976

■追検証機種とバッテリー容量
1)ARROWS X LTE F-05D Android 2.3.5(V16R24C) 1400mAh
2)NexusOne Android 2.3.6 1400mAh

■評価条件
・初期化(データリセット)を最初に行う
・同じWi-Fi設定を行う
・同じGmailアカウントをPush設定で作成する
・同じExchangeアカウント(CommuniGate Proを使用)をPush設定で作成する
・3Gの影響を受けないようフライトモードに設定し、Wi-Fiのみ有効にする
・マーケットを起動してBattery Mixをインストールする(自動更新アプリは更新される)
・設定後再起動して標準タスクのみが動作している状況にする
・バッテリー残量表示の出る画面を表示(設定アプリ内の端末の状態の画面)
・表示を確認したらすぐにスクリーンオフ
・途中何度かテストメールを送り受信状況を確認する
・準備ができたら端末をフル充電状態にしてスタート

※基本的には前回と同じように、update後のF-05Dを端末初期化後デフォルトホームをランチャーに変更するなど簡易的なバッテリー持ち対策をし、どちらにも今回はバッテリー使用状況を詳細に確認できるようBattery Mixを追加して評価した。

■バッテリー残量経過
スタート
 Update&対策済みF-05D/100% NexusOne/100%
3時間経過
 Update&対策済みF-05D/95% NexusOne/99%
8時間経過
 Update&対策済みF-05D/91% NexusOne/98%
15.5時間経過
 Update&対策済みF-05D/87% NexusOne/96%
24時間経過
 Update&対策済みF-05D/82% NexusOne/89%

■結果
消費度合い
 Update&対策済みF-05D/18% NexusOne/11%
一時間当りのバッテリ消費
 Update&対策済みF-05D/0.75% NexusOne/0.46%

■まとめ
 今回は24時間の測定を行った。途中でも十分改善されている様子が判断できそうだったが、一応初回と比較する意味で同じだけやってみることに。結果としてupdate+簡易バッテリー持ち対策を行ったことでF-05Dの1時間当りのバッテリー消費は何もしない場合の3%から0.75%へと1/3以下に抑えられていることが確認できた。実質的にバッテリーが3倍長持ちすることになる。Battery Mixでは電池消費の98%がAndroidシステムとなっており、そこに含まれているどのプロセスが一番消費しているのかはわからず。ただ、アイドル状態の消費は1%となっており、NexusOneがアイドル状態の消費が63%になっていることを考えると、改善されたとはいえまだまだプリインストールアプリが主にバッテリーを消費していることに間違いはないよう。NexusOneのバッテリー消費量が前回の0.22%から0.46%に増えているのはBattery Mixのインストールによるものと思われ、稼働プロセス表示で一番上にきておりCPUタスクの24%程度を占めていたことからもそのように推測できる。ちなみにF-05Dでは20%程度となっているがやはり一番上になっていた。

 簡易バッテリー持ち対策で行った内容は前回と全く同じなため、今回の改善効果のほとんどは2月末に行われたF-05Dのアップデートであると推測される。サーバへのアクセスログからもスリープ後すぐに通信がなくなっていることが確認でき、Wi-FiのOFF条件は変わっておらず通信そのものはバッテリー消費に大きな影響を与えていないことがわかる。正確な稼働プロセスを取得していなかったので、何が減ったかなどバッテリー改善に影響を与えた要素を特定することができないが、こうした改善は非常に歓迎できる。

 バッテリーが大きな課題だったF-05Dも今回の検証で大きく改善されたことが確認できた。あくまでもフライトモード+Wi-Fiに関してということだが、安定した検証環境と時間が用意できれば3Gも含めた確認をしてみたいと思う。(自宅検証環境はdocomoのアンテナが圏外になりまくりなので適さない…)

, , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■iOS/Android/WP7.5のバッテリー耐久テストをしたメモ2
 スマホのバッテリー消費がおよそ同条件でほんとはどれくらい違うのかを試してみたメモ。1回目にF-05Dがあまりに酷い結果だったのでバッテリー持ち対策をして試した追検証結果。以下テスト条件と結果を簡単に。

 最新の記事はこちら
 update後F-05Dのバッテリー耐久が向上したメモ
 http://blog.isnext.net/issy/archives/1990

■追検証機種とバッテリー容量
1)ARROWS X LTE F-05D Android 2.3.5 1400mAh
2)NexusOne Android 2.3.6 1400mAh

■評価条件
・初期化(データリセット)を最初に行う
・標準設定のまま追加アプリはインストールしない
・同じWi-Fi設定を行う
・同じGmailアカウントをPush設定で作成する
・同じExchangeアカウント(CommuniGate Proを使用)をPush設定で作成する
・3Gの影響を受けないようフライトモードに設定し、Wi-Fiのみ有効にする
・設定後再起動して標準タスクのみが動作している状況にする
・バッテリー残量表示の出る画面を表示(設定アプリ内の端末の状態の画面)
・表示を確認したらすぐにスクリーンオフ
・途中何度かテストメールを送り受信状況を確認する
・準備ができたら端末をフル充電状態にしてスタート

※基本的には前回と同じだが、F-05Dは端末初期化後デフォルトホームをランチャーに変更するなど簡易的なバッテリー持ち対策をして評価した。

■バッテリー残量経過
スタート
 対策済みF-05D/100% NexusOne/100%
4.5時間経過
 対策済みF-05D/89% NexusOne/99%
6.5時間経過
 対策済みF-05D/86% NexusOne/98%
8時間経過
 対策済みF-05D/83% NexusOne/98%
13.5時間経過
 対策済みF-05D/77% NexusOne/97%

■結果
消費度合い
 対策済みF-05D/23% NexusOne/3%
一時間当りのバッテリ消費
 対策済みF-05D/1.7% NexusOne/0.22%

■まとめ
 今回は仕事の都合で半分の時間での計測となったが、F-05Dのバッテリー持ち対策は一定の効果は見られたようで、前回の1時間当りバッテリー消費が3%から1.7%に減少していることが確認できた。それでも実用レベルとしては微妙なところ。ちょうど本日F-05Dのアップデートが行われたので、少し条件は変わるが念のため再計測してみたいと思う。

 今回メール受信件数とサーバ通信回数を省いたのは、Android2.3.x系は3Gが無効の場合、Wi-Fi接続では一定時間でスリープになることが両機でログから確認できたため。F-05DではスクリーンをOFFにした時点でWi-FiがOFFに、NexusOneではスクリーンOFFから15分後にスリープでWi-FiがOFFになる(それまでは2分おきに接続する)ようだ。実質的に通信量がバッテリーに与える影響は無視できると考えた。3Gを有効にすれば継続的な動作確認は可能になるが、検証のためにはキャリアとAPNを揃える必要があり、その条件を満たせないため3Gでの検証は見送り。いずれ条件が整えばまた試してみたい。

 残念ながら多少の改善は見られたものの、簡易的なバッテリー持ち対策では多くのアンインストールできないキャリア組込みの各種プロセスが動作してしまっているため、やはりF-05Dのバッテリーの耐久度合は他機に比べて著しく低いと言わざるを得ないようだ。バッテリー容量も等しくリファレンス端末であるNexusOneとの比較においてこれほどの差があることは、(プロセッサのコア数や世代等ハードが大きく違うとは言え)非常に残念なことだと思う。アップデート後の再計測で多少改善されていることを期待したい。

, , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...