雑記」カテゴリーアーカイブ

適当に書く日常。

YAMWiMAXの長期継続特典(U-NEXTの無料試用)は電話で解約

平日の11:20にフリーダイヤル番号(0120-313-220)から電話が掛かってきたので「セールス電話だろうな」と思いつつ出てみると、「YAMADA Air Mobile WiMAXの長期継続利用特典でU-NEXTの1ヶ月無料試用が可能です」という内容でした。U-NEXTとは、簡単に言うと会員制の動画配信サービスです。国内において、同様なサービスと比較して、配信数は最大級だということです。

使ってみた感想

モノは試しと、電話越しに簡単な応答をすることで契約を交わしました。(合計5分半ほどの通話時間)見てみると、確かに配信数そのものは多かったのですが、現在地上波で放送中の比較的鮮度が高いコンテンツについては殆どがPPV(ペイ・パー・ビュー:会員費とは別に1視聴に対して課金が必要)でした。200円/話くらいでしょうか。BD/DVDと比較すれば当然安いですが、割高感はありますね。それに、画質も良くありませんでした。

ただし、鮮度の低いコンテンツについては殆ど会員費の範囲内であり、PPVではない印象です。例えば、2期を地上波で見て気になっていた蟲師1期はPPV対象外だったので見れました。そういう使い方をする人には向いているように思います。一方、住んでいるところが田舎で、深夜アニメが殆ど放送されないからネットで、という人には向かないでしょう。

解約で手間取る

ある程度試してみたところで忘れないうちに解約しようとしたのですが、なかなか解約メニューが見つからないという小賢しい手段を使ってきます。某SNSで、Q&Aの「退会するには?」からしかリンクが貼られていないという過去例もあったので色々調べてみても見つからない。というか、退会メニューが有るはずの場所に存在しない。(Q&Aのスクリーンショットではあるべきところにない。)そのため、ウェブでの退会は諦め、電話で申込することにしました。

向こうから掛かってきた電話番号(0120-313-220)に電話すると「このフリーダイヤル番号は11:00〜のみ受付ております」とのこと。んなアホな……と思いつつ調べてみると、YAMWiMAXのウェブページに書かれていた電話番号(0120-810-666)を見つけました。こちらは10:00〜対応しているようです。YAから始まる会員番号と、WiMAXの長期継続特典で案内されたU-NEXTを解約したい旨を伝えると、本人確認(姓名と生年月日)をされ、無事2分ほどで解約出来ました。

NHK-BSを契約しているのに未視聴の場合は申告すると返金してくれる

先日、NHK-BSの契約をしているにも関わらず1度も見ていなかったので、勿体無いなと思い電話でNHKに申告してみたところ、払いはじめた時期に遡って返金する対応をしてもらえたので状況をメモしておきます。

時系列の状況

例のごとく、今の家に引っ越してくるとNHKの人がすかさず来ました。うちはBSと地デジでコンセント(?)の区別がなく、分配器を噛ませてテレビの地デジ/BS端子に挿せば、両方見れる状態でした。そのため、NHKの人が「分配器さえ用意すれば見れるのでBSも契約しておきましょう」とかいう口車に乗ってBSも契約していました。

それから時は流れて、料金は払い続けてるものの、分配器は買わず見れないままでした。そのため、契約変更しようとNHKに電話(0570-077-077)しました。そうすると、「営業日に担当者から折り返させます」という説明をされ、こちらの電話番号と電話対応できる日時を教えました。(こちらから電話したのも営業日だったのですが、なぜか折り返しという話になりました。)

こちらが指定した日に折り返しの電話がかかってきました。まず、謝られました。そして、払いはじめた時期まで遡って返金する旨の説明を受けました。しばらくすると、NHKから口座に振込がありました。

NHKは傲慢だの盗っ人猛々しいだのネットでは散々言われてますが、話せばわかるのだなあと妙に感心しました。(もともとの評価が最低だと、普通レベルの対応をされても感動してしまう罠。)

「”1年前の今日”に投入されたデータを処理」する仕組みの閏日考慮

閏日を処理する過程で不具合を生み出しかねない実装に思い当たったので、思考整理を兼ねてメモしておきます。

きっかけ

何気なくWikipediaを見ていて下記の記述を見つけ「なるほどなぁ」と思ったことをtwitterに投稿したところ、「システム化するときに頭が痛い」というreplyをいただきました。(仕様と処理が複雑になり、コード等の保守性が下がる。)

2月29日生まれの者の誕生日は閏年に限り到来し、平年に誕生日は存在しない。日本の法律では、誕生日を基準とした行政手続に限り「みなし誕生日」を2月28日としている。

閏年(Wikipedia)−誕生日

その瞬間は「確かに」とだけreplyしようとしたのですが、よく考えてみると、当てはまる事例が他にもあるのではと思いました。

不具合の例

例えば、記事のタイトルにもしている『「”1年前の今日”に投入されたデータを処理」する夜間バッチ』があったとします。この夜間バッチは毎日1:00になるとcronで1度だけキックされます。仕様書通り素直にコーディングすると、下記のSQLが製造されます。

SELECT date_sub(current_date(), INTERVAL 1 year);

更に、バッチの処理対象を取得する処理において、上記SQLは下記のような使われ方をされることでしょう。(createdはデータが投入された日付を表現するとします。)

SELECT * FROM HOGE_DATA WHERE created = date_sub(current_date(), INTERVAL 1 year);

このような実装をした場合、閏日(2/29)に投入されたデータの処理が抜け落ちます

どう整理すべきか

いろいろと解法はあるように思いますが、私はまず仕様がまずいと考えます。上流工程の段階で、顧客とは『「”1年前の今日”以前に投入された、未処理のデータを処理」する夜間バッチ』と合意すべきでした。

仕様整理により、2012-02-29のデータは、2013-03-01のバッチで正常に処理対象とされます。また、元の仕様に立ち返ると、ひとつのデータが2度処理されることは有り得ないため、その要件を満たすように処理未済フラグ等のカラム(タプル)をテーブルに追加して、検索条件に付与します。但し、業務上は処理日時を各データに持たせることが多いため、フラグとして新たに定義する必要はない場面が多いと思います。(processedはデータが処理された日付を表現するとします。バッチの処理対象となったデータは必ず日付でupdateされる仕様です。)

SELECT * FROM HOGE_DATA WHERE created <= date_sub(current_date(), INTERVAL 1 year) and processed IS NULL;

indexを考慮した設計にする必要は別途ありますが。

以上、雑多な思考整理でした。日付関連の仕様を整理するときは、閏日閏年を頭の片隅に置いておいたほうがいいですね……。

テーマをいじっています

ただいま、テーマファイルをいじっています。表示を確認しつつテストも兼ねているので、数分ほど壊れた表示が続いたりしています。システムコアファイルをいじる必要もスキルもないので、テストによってセキュリティホールを生み出したり、サーバに負担をかけるようなスクリプトの暴走は起こりそうにないのが嬉しいですね。本当に、WordPressは面白いです。

続きを読む

5日間ほど障害で落ちてました

原因不明の障害で5日間ほど、このブログが落ちていました。障害を見つけたのは発生して2日目でしたが、「放っとけば直るだろう」という根拠のない自信で放っておいたらいつまで経っても直らなかったので仕方なく原因を究明しました。とりあえず原因がわかったのでメモ。

続きを読む