鳥人計画

「鳥人計画」を読んだ。

鳥人計画 (角川文庫)
鳥人計画 (角川文庫)



犯人を探すストーリーや、最初から犯人は分かっていて経過を楽しむ作品というのは数多くあるけれど、この作品は、警察に犯人を密告した者を探すというストーリー。
なかなか斬新だ。
更に、東野圭吾らしく、密告した者が分かった後も、更にどんでん返しがある。楽しめました。(^^)

楽天SocialNewsに投稿!
0 0 0

array_unique() で小ハマリ

PHPの関数 array_unique() で小ハマリしたのでメモ。

array_unique() は、配列から重複する要素を削除する関数。

たとえば、こんなプログラム。

$list = array(‘A’, ‘B’, ‘A’, ‘C’);
$list = array_unique($list);
for ($cnt = 0; $cnt < count($list); $cnt++)
{
print($list[$cnt] . “\n”);
}

このプログラムは、「A」「B」「A」「C」という配列から、array_unique() によって、重複する「A」の余分な要素を取り除き、「A」「B」「C」という配列にするプログラムである。

このプログラムにおける、期待する実行結果は、こうである。

A
B
C

ところが、実際にプログラムを実行すると、この様に出力される。

A
B

最後の要素「C」が出力されない。
なぜだ。

実行結果だけを見ると、count($list) の値が「2」であるように見える。
確認してみよう。

$list = array(‘A’, ‘B’, ‘A’, ‘C’);
$list = array_unique($list);
print(sprintf(“===%d===\n”, count($list))); // ★追加★
for ($cnt = 0; $cnt < count($list); $cnt++)
{
print($list[$cnt] . “\n”);
}

実行してみると…

===3===
A
B

count($list) の値は「3」なのに、最後の要素が出力されない。
なぜだ。

var_dump() で配列の内容を一覧してみよう。
$list を初期化した後と、array_unique() を通した後に var_dump() を入れてみる。

$list = array(‘A’, ‘B’, ‘A’, ‘C’);
var_dump($list); // ★追加★
$list = array_unique($list);
var_dump($list); // ★追加★
for ($cnt = 0; $cnt < count($list); $cnt++)
{
print($list[$cnt] . “\n”);
}

実行してみると…

array(4) {
[0]=>
string(1) “A”
[1]=>
string(1) “B”
[2]=>
string(1) “A”
[3]=>
string(1) “C”

}
array(3) {
[0]=>
string(1) “A”
[1]=>
string(1) “B”
[3]=>
string(1) “C”

}
A
B

なるほど、array_unique() を通した後は、重複している要素番号[2]が抜けて、 [0][1][3] と飛んだ状態で格納されている。
要素数(つまり count($list))は「3」なので、for は [0][1][2] でループするのだけれど、最後の要素の添え字は [3] だから出力されないのか。
おそらく、[2] は null なのだな。

確認してみよう。

$list = array(‘A’, ‘B’, ‘A’, ‘C’);
$list = array_unique($list);
for ($cnt = 0; $cnt < count($list); $cnt++)
{
if ($list[$cnt] == null) // ★追加★
{
print(“NULL!\n”);
}
print($list[$cnt] . “\n”);

}

実行してみる。

A
B
NULL!

では、array_unique() を通した後の配列を正しくループさせるにはどうしたらいいのだろう。
sort() を通して配列を並べ替えたらどうだろうか。

$list = array(‘A’, ‘B’, ‘A’, ‘C’);
$list = array_unique($list);
sort($list); // ★追加★
for ($cnt = 0; $cnt < count($list); $cnt++)
{
print($list[$cnt] . “\n”);
}

できた!

A
B
C

しかし、これでは配列がソートされてしまう。ソートしたくない場合はどうしたらいいのだろうか。
array_系の関数をざっと見てみる… これか、array_merge() を使用して、1個の配列だけをマージしてみたらどうか。
やってみよう。

$list = array(‘A’, ‘B’, ‘A’, ‘C’);
$list = array_unique($list);
$list = array_merge($list); // ★追加★
for ($cnt = 0; $cnt < count($list); $cnt++)
{
print($list[$cnt] . “\n”);
}

できた!

A
B
C

もっといいやり方があるような気がするのだが、とりあえず、これでヨシとしよう。
なかなか奥が深い。

楽天SocialNewsに投稿!
0 0 0

WAKWAKの回線速度が異常に遅い

ずんべ は、インターネットに プロバイダ WAKWAK 経由で、「NTT西日本 フレッツ光ネクスト隼」で接続している。
しばらく前から、あきらかな回線速度の低下が感じられるようになった。
しばらく、「遅いな、遅いな」と思いながら使っていたのだけれど、オンデマンドでの配信はまともに視聴できないし、ソフトウェアのダウンロードも途中で止まるほどの状況になった。

これはいくらなんでもと思い、回線速度を計測してみた。

BNRスピードテスト

結果は…

回線速度計測(夜)

へ?

100Kbps ?

回線は「フレッツ光ネクスト隼」で、理論最大速度は1Gbpsだぞ。
なのに、回線速度がキロ?
理論最大速度の1万分の1だと?
なんだそれ?

とりあえず、LAN内を疑ってみる。

モデム、回線終端装置、ルーター、スイッチングハブを電源断し、再起動してみる。
効果なし。

LANケーブルを交換してみる。
効果なし。

パソコンから直接ルーターに接続するようにして、LAN内を最短経路にしてみる。
効果なし。

深夜~未明に回線速度を計測してみると、時間によっては悪くない速度が出ている。

回線速度計測(深夜~未明)

更に、一時的な現象ではない事を確認するために、数日間、同様に計測してみる。
結果は、常に同じパターンだ。

朝:1Mbps
昼:1Mbps
夜:100Kbps
深夜:80Mbps

深夜に80Mbpsの速度が出る事、毎日同じパターンである事から考えて、LAN内の設備の問題ではない。
プロバイダの問題か、NTT光回線網の問題か、のいずれかしか考えられない。

BNRスピードテストのサイトには、画面の左上に「TraceRoute」というボタンがあり、向こうからこちらにトレースルートをしてくれる機能があるので、試してみる。
結果は…。

トレースルート(100Kbps)

こちらに近づくにつれ、速度が低下していく。
xephion.ne.jp、wakwak.com、wakwak.ne.jp が遅く、特に最後の wakwak.ne.jp が異常に遅い。
ちなみに、xephion.ne.jp とは、おそらくこれ。

XePhion

wakwak.com、wakwak.ne.jp は、プロバイダのこれ。

WAKWAK

XePhionも、WAKWAKも、提供会社は NTT-ME である。
つまり、回線速度後遅い直接原因は NTT-ME の設備と考えられる。

ところで、50Mbps程度の速度が出ている状況の時に「TraceRoute」を実行してみると、次の様な結果になった。

トレースルート(50Mbps)

この結果によると、XePhion の部分は 100Kbps の時と大差ないが、最後の wakwak.ne.jp の部分が速くなっている事が分かる。
つまり、この最後の wakwak.ne.jp がボトルネックであると考えられる。
つまり、プロバイダの設備が原因としか考えられない。

WAKWAK のサポートに電話をし、上記の状況を説明する。

ここ数ヶ月、夜の時間帯の回線速度は激烈に遅い。100Kbps~200Kbpsしか出ていません。
LAN内の機材の電源断、再起動を試しました。
朝、昼、夜、深夜の各タイミングで回線速度の計測をしてみると、朝昼は1Mbps程度、夜は100Kbps程度、深夜から未明でないと80Mbpsが出ません。
これでは、使い物になりません。
調査をお願いできますか。
ここ数日間のNTT光回線網は問題ないようです。
しかし、あきらかに速度が遅い状況です。
先に説明した通りの状態ですので、LAN内の設備がおかしいという事は考えられません。
どう考えてもサービス提供側の問題だと思います。
NTT光回線網の問題ではないとすれば、WAKWAKの設備の問題という事ですか?
回線速度の計測はどこでされましたか?
BNRです。
そうですか…。
仰る通り、お客様の設備の問題ではないと思います。
先ほどの通り、NTT光回線網の問題はないと思います。
従いまして、弊社の設備の問題であると思われます。

WAKWAK が、自身の設備の問題であると認めた
WAKWAK の方から回線速度を計測したサイトを聞いてくるあたりや、何の調査をする事も無くすらすらと問題点を回答してくるあたり、いとも簡単に自社の設備の問題だと認めるあたりなどからして、既に相当数のクレームが入っているという事がうかがえる。
更に聞く。

私が回線速度を計測した段階で、既に速度が遅い状態が何ヶ月も経過していると考えられます。
インターネットで検索してみると、少なくとも半年以上前から速度が遅い状態になっていると考えられます。
100Kbpsという速度は、昔のピーヒョロヒョロと繋いでいたアナログ回線の速度に毛が生えた程度の速度でしかありません。
この状態は「サービスが提供できている状態」ではないと思いますが、いつ改善される予定ですか?
申し訳ございません。現時点では、いつ改善するという事は申し上げられません。
いや、もう、何ヶ月も遅い状態が続いているのですよね?
それなのに、改善される状況がわからないというのはどういうことですか?
100Kbpsですよ。1Mbpsにすら届いていないのですよ。公称速度の1万分の1ですよ。
いつ改善されるのですか?
申し訳ございません。現時点では、いつ改善するという事は申し上げられません。
よろしければ、他社プロバイダに乗り換えるとかをご検討いただけませんでしょうか。

「他社プロバイダに乗り換えろ」とは、WAKWAK は何をバカな事を言っているのだ。
サービス提供を放棄する気か。

—–
本題とは逸れるが、このフレーズ、どこかで聞いた事がある。
弁護士だ。
弁護士は、何か問題が発生すると「自分を解任してください」と言う。
アホか。「私が解任」じゃないだろ、「自分で辞任」しろ。
辞任して、責任を認め、ペナルティを受けて(お金を返して)、はじめて責任を逃れられるんだ。
解任させようとするのは、利用者に責任を押し付けて逃げようとする行為だ。
逃げたいのなら、辞任しろ。
—–

WAKWAK も同じことを言ってきたのだ。
私が「自ら他社プロバイダに乗り換える」という事は、WAKWAK から見たら「ずんべが勝手に乗り換えたのだから、私に責任はない」という発言だ。考えがミエミエである。ふざけるな。
この一言で、WAKWAK に対する信頼はがくっと落ちた。

残念な事に、ずんべ は固定IPアドレスを契約している。
固定IPアドレスを変更すると、ひじょうに大きなコストをかけて、様々のサーバの設定変更しなければならないので、そうおいそれとはプロバイダを変更できない。

仕方がないのでもう少し様子を見てみようとは思うが、はっきり言って半年も改善しないような状況で、今後改善されるとは思えない。
今しばらくだけ待ってみようと思うが、100Kbps程度の速度しか出ないようなら、お金を払う価値はないと思うので、固定IPアドレスを変更するコストをかけてでもプロバイダを変更しなければならないかもしれない。
そして、一旦 WAKWAK を離れる状況になったら、二度とWAKWAKと契約する事はない。


このブログを読んだ WAKWAK 会員の方は、回線速度を計測してみよう。

そして、回線速度が遅いのであれば、WAKWAK のサポートに電話をしてクレームを入れよう!
上記の通り、現状で WAKWAK から提供されているサービスは、品質が非常に悪い。我々ユーザは、異常に遅い回線を高い料金で買わされているのである。
我々ユーザが声を上げ、WAKWAK にわからせよう!


■2017/06/01追記

このエピソードを書いてから約2ヶ月半が経過したが、まったく改善される様子がない。
夕方以降は、現在でも 100Kpbs~200Kbps 程度しか速度が出ない。
利用者に対して、未だに何の報告もない。
最低だ。

楽天SocialNewsに投稿!
3 0 0

蛍の航跡: 軍医たちの黙示録

「蛍の航跡: 軍医たちの黙示録」を読んだ。

蛍の航跡: 軍医たちの黙示録 (新潮文庫)
蛍の航跡: 軍医たちの黙示録 (新潮文庫)



軍医に着目して小説化された作品。
日本軍の最前線においては、軍医自らが病気にかかる危険性に晒され、飢餓に晒され、そして、治療をしたくても医薬品の補給がない現実に晒され、敵とも、病気とも、過酷な環境とも戦い抜いた軍医の方々には頭が下がる。
過酷な状況下で多くの兵士を救ってくれた方々に感謝したい。

ただ、本題と外れるところで気になった点がある。
最前線の描写の中で「看護婦」が時折登場するのだが、最前線に看護婦がいるのだろうか。

楽天SocialNewsに投稿!
0 0 0

チア☆ダン

「チア☆ダン」を試写会で観た。

チア☆ダン
チア☆ダン



試写会に当選した。(^^)

試写状

主役の広瀬すずは、昨年に同じく試写会で観た「ちはやふる [上の句」でいい演技をしていて好きになった。
たくさん応募して、試写状をゲット!

かなり期待して観に行ったのだが…。
映画は、ごく普通の配役で、これと言って特別なサイド・ストーリーもなく、ごく普通に物語は進行し、アメリカの大会に進んで優勝する。
物語は3年間。しかし、2時間に圧縮した結果、物語の進行はあっと言う間で、1年生での散々な結果からアメリカの優勝まで、わずか3大会くらいで進んでしまう。仕方がないとは思うけど、駆け足過ぎて感動が薄い。
う~ん、決して悪くはないと思うのだけれど、私的にはイマイチ。60点かな。

この映画のキャストの中で、優等生 玉置綾乃 役の 中条あやみ が、とても気になった。

中条あやみ

かわいいなぁ。(^^)
ちょっと注目してみたいと思う。

楽天SocialNewsに投稿!
0 0 0

読書メーターのブログ・パーツ V2

このエピソードの続き。

読書メーターのブログ・パーツ

読書メーターのサイトがリニューアルされた。

読書メーター
読書メーター

このブログでは、ページの右下に読書メーターに登録した読んだ本の情報を表示しているのだが、読書メーターが提供しているブログ・パーツは不具合があって、更新内容が正しく反映されないので、自作のブログ・パーツで情報を表示している。
リニューアル後用のブログ・パーツがあればと思うのだが…リニューアル後のサイトでは、ブログ・パーツのダウンロード・ページなどが見当たらない。

そういう事で、自作のブログ・パーツをリニュアル後用に改修する事にした。
自作のブログ・パーツは、非ログインでも参照できるユーザのマイ・ページにアクセスしてHTMLをダウンロードし、「読んだ本」「読んだページ」「感想・レビュー」をHTMLから抽出している。

bookmeter-1

リニューアル前後で基本的な構造は同じようなので、アクセスするURLと、抽出するための正規表現を書き換えた。
ついでに、出力する値を3桁のカンマ区切りに変更。

ブログ・パーツ

とりあえず、これでOK。

楽天SocialNewsに投稿!
0 0 0

電球カバー

トイレの電球のカバーが失われていて、電球が裸の状態になっている。

裸の電球

別にこのままでも問題はないのだけれど、ちょっと寂しいので電球カバーを自作してみる事にした。
材料はこれ。1.5リットルのペットボトル。

ペットボトル

 このペットボトルから、2つのカバー(キャップ側でカバーを1個、底側でカバーを1個)を作ってみる。

まず、キャップ側。
キャップの部分を切り取る。電球のネジ部分が通るくらいのところ、つまり、電球の口金はE26なので、2.6センチの穴が空く部分で切り離す。
更に、電球の高さくらいのところでペットボトルの胴体を切り離す。

キャップ側を切り離す キャップ側を切り離す

仮に電球を通してみる。

仮に電球を通してみる

次に、底の部分を切り取る。更に、底に直径2.6センチの穴を開ける(写真撮り忘れた(^^;)。

底側を切り離す

仮に電球を通してみる。

仮に電球を通してみる

塗装する。
今回は黒で塗ったけど、ベージュとか、半透明の色の方がよかったかなぁ…。

塗装する 塗装する

取り付けてみる。

取り付けてみる(キャップ側) 取り付けてみる(底側)

ん~、2リットルのペットボトルにして、もう少し末広がりの方がよかったかな。
とりあえず、これで行こう。

楽天SocialNewsに投稿!
0 0 0

ダーウィン・メガネをはずしてみたら

「ダーウィン・メガネをはずしてみたら」を読んだ。

ダーウィン・メガネをはずしてみたら (Forest books)
ダーウィン・メガネをはずしてみたら (Forest books)



タイトルからして、「ダーウィンの進化論」の考え方をある意味否定する内容を期待したのだが…ぜんぜん違った。
前半は、著者自身のエッセイ。
後半は科学書と言うよりは哲学書に近いか。
生命も、いろいろなベクトルからの視点があるのだなと改めて思った。

楽天SocialNewsに投稿!
0 0 0

ミニカー(トレーラー)の扉を開閉可能に

100円ショップで、子どものミニカー(トレーラー)を購入した。

ミニカー(トレーラー)

なかなかカッコいい。
しかし、これを見て、子どもがひとこと。

トレーラーの扉が開かないね。

まぁ、100円ショップのおもちゃだからね。扉の開閉機構は付いてないね。

扉は固定されている

しかし、子どもがそう言うなら、トレーラーの扉が開閉するように改造してみるか(開閉機構のある高級なミニカーに買い換えようという発想はビンボー人 ずんべ には無いのだ。(^^;)。

とりあえず、トレーラーを分解する。

トレーラーを分解する

トレーラーのコンテナから扉を切り離し、紙やすりで切り面を整形する。

扉を切り離す 紙やすりで切り面を整形

開閉できるように扉に切り欠きを入れる。

扉に切り欠きを入れる

扉の軸を準備する。
大型のクリップ(∮1.5mm)を切る。
扉と軸の間のスペーサーは、ワッシャーを使う事にする。

大型のクリップ(∮1.5mm)を切る スペーサーは、ワッシャーを使う

エポキシ接着剤で、スペーサーと軸を接着して固定する。

エポキシ接着剤で、スペーサーと軸を接着して固定する

トレーラーのコンテナに軸を通す穴を空ける。

トレーラーのコンテナに穴を空ける

組み立てる。

組み立てる

開閉できるかな。

扉を開閉 扉を開閉

グッド!

楽天SocialNewsに投稿!
0 0 0

不発弾

「不発弾」を読んだ。

不発弾 (講談社文庫)
不発弾 (講談社文庫)



なんだこれ。オチがまったくわからない。

楽天SocialNewsに投稿!
0 0 0

広告

まとめページ

取得した資格
登った山

広告

サイト内検索

WordPress

広告

RSS

RSS 記事
RSS コメント
Server offered by
有限会社パテンティックソフトウェア
Profile for zunbe
zunbeの読書メーター
読んだ本
-
ページ数
-
書評投稿数
-