2013年2月6日水曜日

自作PCのメンテナンス #3 (完結)

先月から実施していた自作PCのメンテナンスについて、やっと不具合が解決しました!原因はやはりメモリの相性だったようで、以前の1GB x 3に差し替えてからは一度も落ちず、その後購入したSanmax - Elpidaチップの4GB x 3でも安定して動作しています。やっと安定したので、一緒に購入したIntel 335にWindows 7を新規インストールして、徐々に環境を復旧しているところです。

それにしても、メモリに問題があればコールドブート後1度だけではなく、稼働中に不定期に落ちそうなもんなんですが…電圧が不安定な状態に弱いんでしょうか。勉強になりました。

2013年1月21日月曜日

自作PCのメンテナンス #2

休日に重い腰を上げてPCのメンテナンスを実施しました。まずは、土曜日にエアダスターと接点復活剤の買い出しへ。逆さから使っても大丈夫なタイプを購入しました。(実際使ってみたら勢いが弱く匂いもキツかったので、ちょっと失敗したかも…。)

作業内容は先日書いたエントリの通り。

  • PC内部の清掃と組み直し
    • 電源やファンの埃を取り、マザーボードに積もった埃もエアダスターで吹き飛ばして、メモリに接点復活剤を塗って組み直しました。
    • が…程なくしてブルースクリーン。効果は無かったようです。
  • 以前のメモリ (1GB x 3)に差し替え
    • 差し替え後、あまりコールドブートになっていないのでまだわかりませんが、今のところ一度も落ちていません。これで数日安定していれば、メモリの買い替えで解決できそうなんだけどな。
とりあえずメモリが原因であることを祈りつつ、仕事から帰宅したらPCの電源を投入しようと思います。

2013年1月17日木曜日

自作PCのメンテナンス #1

自宅のデスクトップは数年前に自作したWindowsPCなんですが、昨年からコールドブート後に1度だけBlueScreenが発生して、それ以降は問題なく使える不具合に悩まされています。騙し騙し使い続けてきましたが、子供の動画編集や自動処理などを安定してできるように、メンテナンスをして不具合を解決しようと作業を進めています。ということで、作業ログ代わりにエントリを書いてみました。

まずは自作PCのスペック
  • CPU : Core i7 920 (LGA1366)
  • MotherBoard : ASUS Rampage Extream II
  • Memory : G.Skill F3-10666CL9T-12GBRL
    • 4GB x 3, DDR3-1333を1066で動作
  • 電源 : ENERMAX (だったと思う…うろ覚え)
  • HDD
    • WD VelociRaptor : 150GB
    • Seagate? : 1TB
発生し始めたのは、今のマンションに引っ越してきた後だったので恐らく2011/12以降。引越しの移動でどこか接触が悪くなったか、電源が変わったことによる影響などが考えられます。

これまでの作業内容
  • MotherBoardのBIOS Update
  • memtest86+
  • メモリタイミングを1066から1333に手動で変更
    • 1333にしたら落ちまくる…。
これからの作業予定
  • PC内部の清掃と組み直し
  • OSの再インストールと最新ドライバに更新
  • 以前のメモリ (1GB x 3)に差し替え
  • 電源の交換
今は無駄な出費を控えたいので、できるだけ原因を特定してから交換などを行いたいと思います。

2013年1月11日金曜日

MacのSafariがJavaプラグインをブロックする件

昨年購入したMBP 13r、昨日までは順調に使えていたのですが、本日突然SafariでJavaのプラグインが実行できなくなる状況になってしまいました。Firefoxでは問題なく使えています。こんな感じの画面で、最新バージョンのJavaが認識できていないようです。


心当たりと言えば、今日ソフトウェアアップデートで出てきたHP Printer Drivers v.2.13 for OS Xを適用した事くらい…。念の為に、pkgutil --payload-filesでインストールしたファイルを確認してみましたが、特に怪しいファイルも見つかりません。

解決の為、Appleのサポートにも連絡をして以下のような事を試してみましたが、結果として未だ解決できていない状態です。面倒だけど、OSの再インストールをするしかないのかなぁ…。

試したこと
  • JRE/JDKの再インストール
  • Apple Java SE 6へのロールバック (ロールバックした状態では動作する)
  • セーフブート
  • 新規ユーザ作成してSafariの動作確認
  • Safariのplist削除 (/User/xxx/Library/Preferences/com.apple.Safari.plist)
  • ディスクのアクセス権修復
これからの選択肢
  • OSの再インストール (再発した時が怖い)
  • 昨日以前のTimeMachineからのリカバリ
  • 次バージョンのJavaがリリースされるまで待つ
18:40追記
解決しました!直接の原因は、
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist
のJavaAppletPluginのMinimumVersionが1.7.10.19になっていること(現在は1.7.10.18)でした。
おそらく、Java 7の脆弱性が見つかったためにAppleがSafariのJavaプラグインを無効にするよう設定ファイルを書き換えたのだと思います。
ゼロデイ攻撃の対応とはいえ、対応後は何らかの通知を出してくれればいいのですが…。
2013/1/14追記
アップルのサポートから、脆弱性の対応という公式な回答を頂きました。
そして、Java SE 7 Update 11がリリースされたようです。これでやっと解決かな。

2012年11月11日日曜日

Macで自宅Wi-FiのNAS自動マウント

先日、趣味&仕事用のマシンとしてMacBookPro Retina 13inchを購入しました。
そして環境構築をしている中で、自宅のWi-Fiに接続してログインした時にだけNASを自動マウントする処理をAppleScriptで書いてみたのでメモしておきます。

SSID取得とNASの自動マウントは、色々な人のブログに書かれていたものを参考にしながら書いてみました。自宅外のWi-Fiと繋ぐことが多い&移動時にはログアウトする事が多いので、これでだいぶ改善されるはず。
スリープから復帰した時にもSSIDをチェックしてマウントを制御してみたいけど、もう少し調べてみないとわからないので、必要になったら考えてみます。もしいい方法があったらコメントなどで教えてください!


set SSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --getinfo | sed -n 's/^[ ]*SSID: \\([^ ]*\\)[ ]*$/\\1/p'"
set HOME_SSID to "<自宅Wi-FiのSSID>"

if not SSID is HOME_SSID then
    return -- Not home Wi-Fi
end if

tell application "Finder"
    delay 5 -- Wait 5 seconds
    activate
    if not (exists disk "disk") then
        try
            mount volume "afp://<NASのIP>/<マウントするvolume名>"
        on error
            display dialog "NAS mount error."
        end try
    end if
end tell

2012年7月30日月曜日

PythonでJSTからUTCに変換

Blog移行でFC2からBloggerに移行を進めていますが、FC2でexportしたファイルは日時を変換しないとBloggerにimportできない模様。という事で、Pythonの勉強がてら変換Scriptを書いてみました。その中で少しハマった日時のJST⇒UTC変換について、メモを残しておきます。

import datetime
import dateutil.tz

// (中略)

native_date = datetime.datetime.strptime(datestr, '%m/%d/%Y %H:%M:%S')
utc_date = native_date.replace(tzinfo=dateutil.tz.gettz('Asia/Tokyo')).astimezone(dateutil.tz.tzutc())

Timezoneが設定されていないDatetimeがあるとは盲点でした。開発環境での変換は上手くいったようなので、使えそうであればGoogle App Engineで提供できるように、チュートリアルを進めてみます。

2012年7月10日火曜日

cassandra-jdbc + iBatisでやっとCQLが動いた話

CassandraのJDBC driver(cassandra-jdbc)を使って、iBatisからCQLを叩く実装を試しています。
iBatisといっても独自Frameworkのコンポーネントなので、設定ファイルがカスタマイズされていて、そこに嵌ったのもあるのですが…嵌ったポイントを忘れないようにメモ書きしてみます。
  • setAutoCommit(false)を呼び出すと、Exceptionになる。
    • Cassandraは常にauto-commitなので、falseを設定するとExceptionが発生します。iBatisのJDBC TransactionManagerは必ずsetAutoCommit(false)を呼び出すコーディングになっている為、TransactionManagerにEXTERNALを指定し、SetAutoCommitAllowedプロパティをfalseに設定する必要があります。
  • SELECT * FROM ~ だとresultClassとMappingできない。
    • これはcassandra-jdbc固有の症状かどうかわかりませんが、keyとcolumn nameを指定してSELECTすることで解決しました。
とりあえず、最初のsetAutoCommitで久しぶりにどっぷり嵌ってしまって、1日くらい時間を費やしちゃいましたが、なんとかデータを取るところまではできたのでOKです。ただ、resultのmappingがまだよくわかっていないので、もう少し調べてみないと…。
そしてcassandra-jdbcのドキュメントがどこにも見つから無いです。sourceを読めって事か?