カテゴリー別アーカイブ: 雑記

適当に書く日常。

Nintendo3DSをオンライン修理受付で修理に出してみた

Nintendo3DSの電源が入らなくなり、任天堂のオンライン修理受付を使用してみたのでメモしておきます。オンライン修理受付~修理完了品到着まで約12日有しました。

流れメモ

  1. 任天堂ウェブページからオンライン修理受付を行います。(ページ後半に分かり易いフローチャートが載っています。)
  2. 故障したNintendo3DSを梱包します。手元に手頃なサイズの段ボールが無かったため、ヤマト運輸の宅配便コンパクトを使用しました。セブンイレブンのレジで言えば60円程で段ボール(今回は専用BOX(薄型じゃない方)を使用)を購入できます。更に、ポスティングされている不要な広告をぐしゃぐしゃに丸め緩衝材として使用しました。
  3. 「修理品が到着しました」メールが届きます。(約3日)
  4. 「修理完了&発送」メールが届きます。(約7日)
  5. 修理完了品が修理費用(今回:7695円)の代金引換で到着します。(約2日)
到着したダンボールの全景

到着したダンボールの全景

箱を開いた姿

箱を開いた姿

世界樹の迷宮Ⅴの発売直前にお亡くなりになったので……

世界樹の迷宮Ⅴの発売直前にお亡くなりになったので……

KindleUnlimitedで気になったコミックタイトル

Amazonで400ページほど存在している、KindleUnlimitedで対象となったコミックについて、エロ本に塗れながらも、ページを捲っていて気になったタイトルをメモしておきます。(折角設定したAmazonアフィリエイトを試してみたかったのが本音。)

ちなみに、1カ月無料期間終了後はそのまま有料サービスに移行してしまう、いつものAmazonのやり方ですので注意が必要です。キャンセルはこちらのページから可能です。(いつから課金されるかも書かれている。)

アニメが面白かったのでピックアップ。序盤を読んだだけで引き込まれた。個人的にはアニメより原作の方が好き。名言が連発されている。「だし巻きのこと、細胞レベルで好きなんだ」等。

深夜アニメのCMで良く見かけるためピックアップ。低評価なAmazonレビューが目立つ。確かに、主人公をはじめとしたキャラクタの気持ち悪い面が際立ってしまっている。飯の作画が全て。

以下、気になったタイトルだけをずらずら続けます。(未読)気になるタイトルは「双葉社」「一迅社」「芳文社」あたりに固まっているので、出版社でフィルタリングした方が効率的な気がしてきました。






AmazonJSでアフィリエイトを始める

全く興味ありませんでしたが、知識として興味があったので試してみました。色々と大変でした。

AWSアカウントの準備

まずはamazon.comのアカウントを取得します。商品を購入するamazon.co.jpのアカウントではありません。襷に長し感は有りますが、ここで取得するアカウントはAWSのアカウントです。AWSで提供されるサービスが多すぎて意味が分からなくなります。

ルートユーザ(今取得したアカウント)でアフィリエイト用キーを発行しても良いのですが、「ルートユーザから払出した子ユーザから発行したアフィリエイト用キーを使うのが最近の流行りだよ!」とAmazonから勧められるので大人しく従います。サービスメニュー(サービスが山ほどあるので頑張って見つけてください)から「IAM(正式にはアイアムと発音)」を選択します。サイドメニュー(ダッシュボード)より「ユーザ」を選択します。新規ユーザを払出して、アクセスキーとシークレットキーを取得します。シークレットキーは後では2度と確認出来ないのでメモっておきましょう。

次に、払出した子ユーザに対して権限を付与します。ユーザ詳細ページの「アクセス許可」タブから、「ポリシーのアタッチ」をして、「AdministratorAccess」を付与します。(何の権限が最低限必要なのか、最後まで不明でした。色々組み合わせて試したのですが分からず。全権限付与しちゃうと、子ユーザを払出する意味は無いのかも。)権限が足りない場合は、後で実施するAmazonJSの使用中に下記エラーが発生します。後で分かったのですが「Amazon EC2 Container Service」権限さえあれば良いと思います。

Amazon Product Advertising APIのエラー
UnauthorizedOperation
Your AccessKeyId is not authorized to perform this operation. Please check IAM policies for the Access Key.

アソシエイトアカウントの準備

支払先等を設定するためのアカウントも個別に取得する必要があります。淡々とアカウント登録を進め、トラッキングID(日本アカウントの場合は、末尾が「-22」となります)を取得して完了です。ちなみに、銀行振替の設定だと面倒そうで、Amazonギフトとして受け取る設定だとワンクリックで設定完了しました。アカウントが正常に設定できていないと、後で実施するAmazonJSの使用中に下記エラーが発生します。

Amazon Product Advertising APIのエラー
AWS.MissingParameters
リクエストには、必要なパラメータが含まれていません。必要なパラメータには、AssociateTagなどがあります。

AmazonJSの準備

AmazonJSをインストールして設定ページで、アクセスキー、シークレットキー、アソシエイトタグを入力します。

記事の執筆画面のメニューにAmazonマークが現れており、URL入力等で簡単に記事へアフィリエイトリンクを挿入できてしまいます。折角なので、最後に最近読んで面白かった漫画のアフィリエイトを貼っておきます。

スマートフォンのタッチパネルが全く反応しない場合の対処(Android)

落としたり踏んづけたりしてタッチパネルが全くきかず、反応がなくなった場合にどう対処したかメモしておきます。結論は「PC用マウスをスマートフォンに接続して操作する」です。

具体的には、USB変換アダプタを用いてUSB接続のマウスをスマートフォンに直接接続するか、もしくは、Bluetoothでワイヤレス接続するかだと思います。ただし「タップに全く反応しない」前提条件があるので、ペアリングという事前作業が必要な後者の選択肢は自ずと落ちます……。

上記以外にも、PCからリモート接続で操作をする等の選択肢もあるかのように見えますが、大概スマホ側でリモート接続を「承認(タップ)」する必要があるので、やはり落ちます。

そして最後に残るのが、前述した「USB変換アダプタを使ってUSB接続でマウス操作する」です。変換アダプタは500円程で購入できます。代替スマートフォンを買いに行く足でついでに調達してしまいましょう。

また、次の相棒はASUS製の「Zenfone2Laser」にしました。ASUSはZenbookでもお世話になっているので、元々の印象から良いです。購入後に数時間初期設定で触ってみましたが、初期IME(ATOK?)に癖がある程度で、目につく挙動や作りの悪さは見えてきませんでした。

Zenfone2Laser

Zenfone2Laser

ただし、背面パネルが開けにくすぎです。不要なカード等を隙間にねじ込んでこじ開けるしかありませんでした。加えて、デュアルSIMが可能な設計となっているため、SIM/SIM/MicroSDで差し込む場所に迷います。実際、MicroSDを誤ってSIM側に挿してハマりかけました。マニュアルは事前にキチンと読んだほうが良いですね。(書いてありました……。)

マニュアル

マニュアル

LINEで友だちを擬似グループ管理する

今やインフラと言って差し支えない程に普及したLINEですが、未だに友だちのグループ管理機能は実装されません。管理・整理整頓魔として大変気持ち悪いので、擬似的にグループ管理するアイデアを記しておきます。

ポイントは「表示名」にあります。スマートフォン版LINEでは、「友だち」タブから対象をタップして、名前の横にある小さな「ペン」をタップすると変更可能です。一方、PC版LINEでは、「友だち」タブから対象を右クリックして「表示名の変更」から呼び出せます。

「表示名」の命名規約は「[擬似グループ名]_[本名]([渾名/HN])」です。例えば、ABC社2015年度入社の後輩である渡辺太郎君の渾名が「なべさん」だった場合は、「ABC2015_渡辺太郎(なべ)」とします。

これを全ての友だちに実施します。友だちは表示名でソートされますので、めでたく擬似的にグループ管理できました。

また、副産物としては、プロフィールの「名前」に渾名を設定している人も少なくないので、「誰だったっけ?」も防止できます。擬似グループの命名センス次第で便利さは増すかと思います。

「〜を考えた人すごい」と過去に思ったものを思い出した

世の中のすごい人が考えだしたことに感動して、ついツイートしてしまったモノをtwilogから引っ張り出してきました。誰の役にも立たない記事ですが、もし良ければお付き合いください。キーワードは「考えた人」です。

コンビニおにびりのフィルム

このツイート以降にフィルムを特集した番組がありました。(がっちりマンデーだっけかなあ)現在の形に辿り着くまで数々の試行錯誤があったということが紹介されていました。

かわいいは正義

多くは語るまい。

フリック入力

前後のツイートを追いかけると、スマートフォン未所持の時代にテレビでフリック入力の紹介を見たときの感想らしいです。ちなみに、年寄りほどフルキーボード入力している印象があります。

Memory-Mapped I/O

恐らく卒業研究中の発言だと思われます。当時は割とガッツリとH8マイコン向けにC言語でプログラミングをしていました。

プログラムから、装置を意識せずに入出力を操作できる仕組みを考えた人はすごいですよね。

><

数ある日本のマンガ表現でも、十分上位に食い込み得る発明だと個人的には思います。

アンカーの転用

これは少し毛色が違いますね。URLのシャープ以降をアンカーと言うらしく、従来は同ページ内のname属性を持つタグの位置にジャンプする仕組みを提供するために実装されたはずです。それが、「アンカーの変化では画面遷移が発生しない」ことを活かして、JavaScript等のクライアントサイドスクリプトの状態を記憶する方法として使用されていますね。最初に考えついた人はすごいと思います。

エディタの矩形選択

Windowsではサクラエディタ派です。Altを押しながらマウスで文字列をドラッグすると、矩形に選択にすることが可能です。恐らく他のエディタにも実装されていると思います。プライペートでは利用シーンがありませんが、仕事で死ぬほどよく使います。便利すぎます。

ああ〜 心がぴょんぴょんするんじゃ〜

正式には「あぁ^〜心がぴょんぴょんするんじゃぁ^〜」と表記するようです。まともな精神状態からこんな言葉が生まれるとは思えません。それはそうと、ED曲はいつiTunes配信してくれるのでしょうか。正座待機しているのですが。

〜のファッション化

今回の記事を執筆する動機となったツイートです。大学生に多くみられる大衆迎合な風土、また、それの対象となるコンテンツを表現するために使用されるそうです。

「オタクのファッション化」「Jロックのファッション化」等々、用途はたくさんありそうです

Firefoxで使用しているアドオンメモ

OperaからFirefoxに乗り換えて9ヶ月経ちました。暇だったので、私がFirefoxで使用しているアドオンの一部とその使い方を紹介しておきます。

Default FullZoom Level

ツールバーにズーム率を指定するパネルを追加できます。また、ページごとにズーム率を記憶してくれます。

1ページに通常よりたくさんの情報を表示したい場合や、(今となってはオワコンの)ネットブック等の解像度が低い環境でブラウジングする際に便利です。私の場合は、GoogleCalendarに90%の指定をしています。

Download statusbar

ファイルのダウンロード状況をわかりやすく表示してくれる有名なアドオンです。

FEBE

Firefoxの環境を定期的に丸ごとバックアップできる、もしものときに安心なアドオンです。アドオンや設定含め、(FEBEの設定次第で)すべてをバックアップ可能なため、カスタマイズした使いやすいFirefoxを、PCの故障によって失うことがありません。私は、バックアップ先をDropboxのフォルダに指定しています。

FireFTP

以前は静的なウェブページ制作を趣味にしていたのでFFFTPを使っていました。が、ブログに移行して、静的なウェブページ制作の機会が減ったため、殆どFFFTPを使わなくなっていたことに気づきました。上記FEBEで接続先のバックアップも取れるし、ということで、PC初期化をきっかけにFFFTPからFireFTPに乗り換えました。使用感は劣りますが、たまに使う分には問題ありません。

Remembet Password

Firefoxにデフォルトで備わっているログインマネージャ機能で、ユーザIDとパスワードを記憶してくれます。ただし、フォームにautocomplete=offが設定されていた場合は、記憶対象外になってしまいます。主に銀行等のセキュリティが重要視されるウェブページで設定されていることが多いようですが、そもそも端末を他人に貸すことがないのであれば問題ありません。その場合も記憶してくれるようになります。

X-notifier

Twitter、LINE、Skype等のSNSを主に使うため、メーラも使わなくなりました。Gmailはブラウザで十分ですし、docomoメールもブラウザから閲覧可能になったので、新着メールを通知してくれる機能だけで十分です。過去に紹介しています。

Tab Mix Plus

タブの機能を拡張します。非常に細かく設定できます。私は主にタブ幅を固定するために使用しています。

Private Tab

Firefox標準のプライベートブラウジングは別ウィンドウとして開いてしまいます。このアドオンを導入すると、特定のタブだけをブライベートブラウジングとして使用できます。twitterの開発用別アカウントにログインする場合や、他人にブラウザを一時的に貸す場合などでとても便利です。

消音

Firefoxだけ1ボタンでミュートにするアドオンです。OSのボリュームミキサーで同じことができますが、ワンボタンでミュートON/OFFを切り替えられるのが地味に便利です。主に、音楽を聴きながら艦これをやるとき、艦これをミュートにするために使用しています。

以上です。他にも使っているアドオンはありますが。

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を考慮した設計にする必要は別途ありますが。

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