IT-misc

年・月別アーカイブ

最近のエントリー


AWS化とMTバージョンアップ

18年目に突入したこのブログ、開設当時はMovableTypeの2.6xに日本語化パッチ(なつかしい)を当てて使っていたのだが、このたび

  • サーバーの引っ越し(多分4回目)
  • MTのメジャーバージョンアップ(同じく4回目だと思う)なんとバージョン7ですよ。しみじみ。
  • 常時https化
を行った。

17年もやっているといろいろ手練手管を身に着けるもので、たとえば以前に似たよーなことをやった時に苦しんだURLの置換とかもmod_rewriteをちょこちょこっとやって解決。次もMovableTypeを使うかはわからないけれど、しばらくはこれでいこう。

今日の辻占」をAWS移行するとともにhttps接続(いわゆる「常時SSL」)対応。
AWS移行とかhttps化とか、まんま仕事でやっているようなことなのに、趣味でやるとすごーく楽しい。
『そうかGoogle+はなくなっちゃったんだよねー、じゃあLINEのシェアボタンつけておこうか』
『Custom Search APIもQuotaが厳しいから単なるDB検索にしちゃおう』
『AmazonのPA-APIも必要最小限のアクセスで。ぜーんぶDBに書いちゃえばいいよ本のタイトルなんてそうそう変わらないから』
行き当たりばったりにやるのがコツか。

iTunesに貯めこんだ音源を聴くのに、長らくiPod Classic+CBX-Z20という組み合わせを使ってきた。楽天の購入履歴を確認したら、かれこれ10年以上。


スロットイン式のCDがなかなか出てこなかったり、本体の音量調節ボタンが効かなくなったりとガタが出てきたのでBluetooth機能のついたラジカセに買い替えた。

そして、昔使っていたiPad miniを脇に置いて新環境の完成。もうOSのアップデートもできなくなった型落ちのものでも、iPadが一つあるだけで
  • iTunesライブラリのスピーカー再生
  • YouTube動画のTV画面での再生(Fire TV Stick経由)
  • 高音質でのラジオ再生
てなことが全部できてうれしい。
※このiPadのポジションにいわゆるスマートスピーカーが来るのだろうなあと思いつつ。


jQuery事始め

| コメント(0) | トラックバック(0)

ほぼ読書記録と化している当ブログ、書影を含む書籍情報は、Amazonの商品情報API(もともとAmazon Web Serviceといえば商品情報APIだったのだが、いまAWSといえばクラウドサービスしか思い浮かばなくなってしまった)から取得している。
各記事にphpの関数(+引数としてamazonの商品コード)を記述して、
各ページ
 |
各記事(アーカイブページでは複数)
 |
phpの関数(0~複数)

のような構造にしている。
この関数が「引数に基づいてサーバーキャッシュを探して、存在すればそれを表示、存在しなければ商品情報APIから情報を引っ張ってHTML断片を生成して表示(ついでにキャッシュに保存)」を都度おこなっているため、月別の読書記録アーカイブの表示が非常に遅い(時として途中で切れてしまう
)という問題があった。
最近、思うところがあってHTMLとかJavaScriptとかjQueryとかを勉強しているので、実戦訓練としてこれをjQueryに書き換えてみた。
基本的な作戦は以下の通り。

  • 各記事に書き込まれている関数の記述は変えない
  • 関数の処理内容を「Amazon商品コードをクラス名に持ったdivタグと、商品コードを配列に追加するJavaScriptを出力」に変更
  • 「Amazon商品コードを引数として受け取って、キャッシュをナニしてAPIをナニしてHTML断片を出力」するphp(=自前API)を準備しておく
  • 各ページの最後にjQueryのコードを組み込み、配列から商品コードを読みだして自前APIにアクセス、得られたHTML断片を各記事内のdivタグに打ち込む
やはりというか、最後のjQueryコードで苦労させられた。単純に.loadだと処理が集中して自前APIがサーバーエラーを返すので.ajaxで失敗したら1秒待ってリトライ、とかちゃんとやろうとするといろいろ面倒くさい。
が、その面倒くささを超えたところにはやはり大きなメリットが待っていることを実感できた。

自分の稼ぎでPCを買うようになってかれこれ20年、自宅のメインマシンは常にデスクトップ型にしている。3年~5年でHDDが死ぬのを機に買い替えるということを続けてきたが、今回はちょっと違う経緯で7代目のデスクトップPC(ちなみにノート型は一昨年買った4代目が稼働中)を導入することとなった。
遠因になったのは2年前にHDDをSSDに交換したこと。


おかげで劣悪な(埃っぽい・暑い)環境での酷使にもかかわらずディスクは無事だったが、代わりにビデオカードand/orマザーボードが死亡。カバーを開けてみるとCPUとビデオカードの冷却ファンに埃が詰まっていた。ビデオカードを何枚か取り換えてみたが(!!)状況は改善せず、本体を買い替えることにした。

この20年で初めて選ぶ富士通機。余計なアプリがプリインストールされていることは懸念されたが、価格性能比で決めた。
そこからがいろいろ大変だった。
まず、HDMIケーブルが入らないのがケチのつき始め。今回のPCはインターフェースとして「DisplayPort」が用意されていたが、これを一般名詞と勘違いしたのが原因。既存のディスプレイ(一昨年買い替えたがまだ3代目)はそんなハイカラな規格には対応していない。結局DisplayPort~HDMIの変換ケーブルを購入して対応することに。

しかし、映らない。BIOS設定をいじればなんとかなるのではと思ったのだが、映らない。最後には押し入れの奥底から引っ張り出してきたDVIケーブルで接続して解決した。この「BIOS設定画面がDisplayPort~HDMIに出力されない(らしい)」という仕様(?)には後でもう一度苦しめられることになる。
さて、画面が映るようになり、先代PCからのデータ移行(取り外したSSDを新PCに増設してコピー。楽ちん)も無事に完了した矢先、今度はマウスの調子がおかしくなった。
使っていたマウスはLogicoolのワイヤレスキーボード/マウスのセット。

キーボードは兄がプレゼントしてくれたものだが、同じ規格のマウスと組み合わせるとレシーバー1つでキーボードとマウス両方を面倒見てくれるので気に入っていた(USB端子の少ない小型ノートには特に適していると思う)。が、このマウスの反応が、悪い。クリックしても3回に1回くらいしか反応しない。普通ならば「カチッ…カチッ…」になるところが「ばん!バンバンバン!」。文明人とは思えない操作音。
調べてみると、USB3.0からワイヤレスマウスと同じくらいの周波数のノイズが出ているため動作が不安定になるとのこと。これを防ぐにはレシーバーとUSB3.0端子の間に距離を開けるべきだが、あいにく新PC、USB2.0端子の間に3.0端子が挟み込まれるようなレイアウトになっている。そしてLogitechの提示する解決策がいけてない。
それじゃあ、というので購入したのがBluetooth接続のキーボードとマウス(この辺りからだいぶ頭がおかしくなっている)。

…起動しない。本体の電源を入れるとビープ音が鳴るだけで画面は真っ暗なまま。またしても半泣きになりながらいろいろ調べまわって、BIOSがキーボードを検出できずに起動を中止しているらしいということまでは突き止めた。しかし、画面は出ない。ここで先述の「BIOS設定画面がDisplayPort~HDMIに出力されない(らしい)」が効いてくる。すでに押し入れの奥底に帰還していたDVIケーブル、そして取り外していたワイヤレスキーボードに再登場いただき、BIOS設定画面から「エラー検出時に停止
する」を「全てのデバイス」から「キーボード以外」に変更
。ただ、そもそもBluetoothのペアリングはOSで管理されているので、BIOS設定に使うことはできないらしい。ということは、万一の場合を想定してDVIケーブルとUSB接続のキーボードはとっておかなければならないということか(しかし、WindowsXP以前はUSB接続のキーボードだってBIOS設定には使えなかったはず。歴史は繰り返す)。
やれやれこれでやっと新しいPCを使える、と思ったら今度は無線LANだ。
とにかく遅い。つながらない。ルーターにpingを打つと70%くらいが届かない。タスクマネージャーからWi-Fiのパフォーマンスを見ると56kbpsという昔懐かしい数値が(懐かしがっている場合ではない)。
このPCに内蔵されている無線LANカードは「intel ac7260」。無線LANとBluetoothを大きめの切手くらいのサイズのカード1枚で引き受ける優れもの。だが、Bluetoothは2.5GHz帯の電波で通信するため、IEEE801.11bや11gとは干渉するという。ひいひい言いながらドライバをアップデートしたりいろいろ試したが、改善せず。そもそも我が家の無線LANルーターは「WZR-HP-G301NH」。IEEE802.11nに対応している。11nは2.4GHz帯と5GHz帯両方を使えるのでBluetoothと干渉はしない…はず…。

あっ!11n/g/b対応のルーターは5GHz帯の11nでの通信はできないんだ!
この流れ、もう誰にも止められない。まるで星新一の短編「趣味」のよう。

苦闘3か月、ようやく平安が訪れた。ずいぶん散財してしまったが、妻は「あなたがイライラせずに済むなら安いもの」と優しいことを言ってくれる。ありがたいことだ。

まとめ。
  • PCは機械的に動作する個所から壊れる。HDD→SSDへの換装は一つの解決策だが冷却ファンは今後もついて回る。
  • DisplayPortは一般名詞ではなく固有の規格名。
  • 2.4GHz帯で通信するワイヤレスマウス・キーボードはUSB3.0から出るノイズに弱い。
  • Bluetooth接続のキーボードではBIOS設定画面の呼び出しや操作はできない。
  • Bluetoothと11b/g/n系の2.5GHz帯を使う無線LANの相性は悪い。
  • 古い規格の接続ケーブルや周辺機器も馬鹿にせず、とっておくと助かる場合がある。
  • 心の平安は金では買えない。家庭の平安もまた然り。

自作のFacebookアプリ「今日の辻占」が数日前から認証エラーを吐くようになった。
エラーメッセージで検索をかけたところ、回避策を発見。配布されているSDKをいじって認証ファイルの検証を行わないようにする、というものだったが、本番の仕組みでは止めたほうがよさそう。
結局、SDK同梱の認証ファイルを新しいものに差し替えて解決。

ふと思い立って、あるサイトの管理に使っているCMS、MOD-Xをバージョンアップした。

…思い立たなければよかった。


RSS衰退?

| コメント(0) | トラックバック(0)

Google Readerの廃止以外にも、FeedburnerのTwitterアカウント更新停止などもあり、GoogleのRSS離れは顕著な傾向のようだ。Google以外でも、TwitterがそもそもRSSを配信しなくなったりしている。直接RestベースのAPIを叩けるように開放しているから問題ない、という意見もあるだろうが、サイト/サービスをまたぐ共通の規格の存在、という意義は大きいのではないだろうか。

Atom?Atomも一緒に衰退しそうな気が…。

先日TwitterfeedからFeedburnerに乗り換えたばかりだが、どうもブログのRSS→Twitterの連携がうまくいかない。そこで、比較的新しいサービスであるIFTTTに乗り換えてみることにした。「〈RSSフィード〉が〈新しい記事を追加〉したら〈Twitter〉を〈投稿〉」のような“レシピ”を登録し、定期的に起動することでWebサービス間の連携をしてくれるもののようだ。使い方しだいでいろいろできそう。

せっかくこのブログにあげた読書記録が1000冊を突破したというのに、こんなときに限ってTwitterとの連携がうまくいかない。連携サービス(TwitterFeed)に久しぶりにログインしてみたら、複数あったはずの設定がすべて消失していた。復旧させる気力も失せ、併用していたFeedBurnerに移行。

アーカイブ

Link