windows8標準の暗号化tool「BitLocker」を有効にした

windows8には、標準でHDD暗号化ツールがついています。
7までは、別途暗号化ソフトを買って、セキュリティを強化していたと思いますが、BitLockerを使うことで、費用をかけずにデータ暗号化が可能です。

windows8をインストールしたときに早速やってみようとしたのですが、システムボリューム(OSが入っているドライブ)にかけるのはおすすめしないという内容の記事を見て、後回しにしていました。

2月末に、システムボリュームでBitLockerを有効にする手順の記事を見つけ、Microsoftのサイトでもやり方が公表されていたので、もう大丈夫かなと思ってやってみました。

http://www.atmarkit.co.jp/ait/articles/1302/28/news114.html
http://windows.microsoft.com/ja-jp/windows-8/bitlocker#1TC=t1

使っているPCをがHDDをSSDに換装しているからか、3時間程度で暗号化完了。
処理速度も体感レベルでは低下していません。

PCを外に持ち出すことがある方は、やっておいて損はないと思います。

advanced custom fieldsプラグインでプレビューもやりたい

wordpressをカスタマイズするときに、よく使うプラグインが「advanced custom fields」です。
http://komodo.arrow.jp/wp/614

通常だと、タイトル・カテゴリ・タグ・本文・抜粋を入力するwordpressですが、
全部の投稿に画像を複数付けたいとか、画像と1行文をセットにするとか、
そんな要望がでてくることも多々あると思います。

そういうときに便利なのか「advanced custom fileds」です。
wordpressの記事入力画面の入力項目を好きなように作れます。

ただ、1つ不便だなと思うところがあります。
このプラグインは、wordpressのcustom filedを使って実現されているんですが、
custom filedに入力したデータは、プレビュー機能で見れないんですよね。
公開されている記事を編集する場合は、公開済の情報が表示されてしまいます。

せっかく、データを入力しやすいようにカスタマイズしても、プレビューでできないのは残念。
そこで、「advanced custom fields」で入力した情報を、プレビューできるようにしました。
テンプレートのfunctions.phpに以下を書けば、OKです。

// カスタムフィールドをプレビュー対象にする

// preview用に保存された下書き情報(post)のIDを取得する
function get_preview_id($postId)
{
    global $post;
    $previewId = 0;

    if (($post->ID == $postId) && $_GET['preview'] == true &&  ($postId == url_to_postid($_SERVER['REQUEST_URI']))) {
        // プレビュー表示の際に、自動保存されたpostの下書き情報を取得する
        $preview = wp_get_post_autosave($postId);
        if ($preview != false) { $previewId = $preview->ID; }
    }

    return $previewId;
}

function get_preview_postmeta($metaValue, $postId, $metaKey, $single)
{
    // プレビュー表示のときにmeta情報(custom fileds情報)を、
    // プレビュー用のmeta情報に置き換える
    if ($previewId = get_preview_id($postId)) {
        if ($postId != $previewId) {
            $metaValue = get_post_meta($previewId, $metaKey, $single);
        }
    }

    return $metaValue;
}
add_filter('get_post_metadata', 'get_preview_postmeta', 10, 4);


// 下書き情報を作成するときに、対応するcustom filed情報も作成する
// プレビューの際には、この時作ったcustom filed情報を読み出す
// (読み出しているのが、get_preview_postmetaの部分)
function save_preview_postmeta($postId)
{
    global $wpdb, $acf;  // $acfがadvanced custom filedsのglobal 変数

    if (wp_is_post_revision($postId)) {
        if (count($_POST['fields']) != 0) {
            foreach ($_POST['fields'] as $key => $value) {
                $field = $acf->get_acf_field($key);

                if (count(get_metadata('post', $postId, $field['name'], $value)) != 0) {
                    update_metadata('post', $postId, $field['name'], $value);
                    update_metadata('post', $postId, "_" . $field['name'], $field['key']);
                } else {
                    add_metadata('post', $postId, $field['name'], $value);
                    add_metadata('post', $postId, "_" . $field['name'], $field['key']);
                }
            }
        }
        do_action('save_preview_postmeta', $postId);
    }
}
add_action('wp_insert_post', 'save_preview_postmeta');

調べるのに時間かかったので、忘備録として。
このプログラムは、こちらの記事を参考に、advanced custom filedsに対応させて頂きました。
http://www.warna.info/archives/2502/

※追記(2013/7/16)
最新版のプラグインはプレビューに対応しています。
現在は、上記の対応は入れる必要はありません。

sendmailとpostfixの利用smtpサーバ指定方法

centos6から標準MTA(Mail Transport Agent)がsendmailからpostfixになっていることを知りました。
今使っているサーバは、メールを送信する際に特定のSMTPサーバを利用しないと、外部メールアドレス(携帯のメールアドレスとか)にメールが送信できない環境です。centos5を利用していた時のsendmail向けの設定変更手順は分かっていたのですが、postfix向けの設定がわからなかったので、ぐぐって解決。

sendmail用の設定( /etc/email/sendmail.mc を編集 )

dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
dnl define(`SMART_HOST', `smtp.your.provider')dnl
dnl #
dnl #
define(`SMART_HOST', `smtpサーバ名')dnl
MASQUERADE_AS(`メール送信元ドメイン名')dnl
FEATURE(`masquerade_envelope')dnl
dnl #

postfixの設定 ( /etc/postfix/mail.cf )

# INTERNET OR INTRANET

# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = smtpサーバ名

(中略)

# ADDRESS REWRITING
#
# The ADDRESS_REWRITING_README document gives information about
# address masquerading or other forms of address rewriting including
# username->Firstname.Lastname mapping.
masquerade_domains = メール送信元ドメイン名

この記事かくときに見つけた、MTA各種の説明がされているページ。よさそうなので、ご紹介。
http://www.criterion.sc/sub_notes/postfix.html

iPadを手に入れた

iPadが手元にやってきた、新しいiPad。iPadは、友人が持っているのを少し触らせてもらったことがあったけど、じっくり触るのはこれが初めて。あれ?結構重量感じるのねというのが最初の印象だった。でも、気になるような重さじゃない。普段、スマフォとノートPCばっかり触っているから、新鮮なレンジの重量だったんだと思う。

文字も綺麗に表示されるので、PDFの電子書籍を読むのには、ストレスはない。webサイトを見るのにも、リンクを指でクリックできることが、気持ちいい操作だった。スマフォでやっているはずなのに、画面が大きくて、意図しないところをクリックすることが少ないからか、本のサイズに近いからか、気持ちよさが高かった。

逆に、文字入力はストレスだった。キーボードはいつもとサイズが違うので、ブラインドタッチできるわけでもないし、フリック入力にしても、いつも使っているXperia arcのgoogle日本語入力よりも、反応が悪いと感じた。キーボードのどこに何があるかの感覚に慣れれば、気にならないのかもしれないけれど、別で、小さいキーボード用意してもいいのかも。いや、それも面倒か。

電子書籍のリーダーと、ソファでのwebサイト閲覧に役だってくれそうです。これで、アプリを動かす端末も手に入ったし、なんか遊んでみようかな。

powerpointで背景を編集する方法

テンプレートとして用意された背景で、消したい文字情報がある場合に、どうやって消すのかすぐわからなかったので、書いておきます。

上部メニューの「表示」⇒「マスタ」⇒「スライドマスタ」を選択すると、背景を修正できる画面に切り替わります。
これに気づくまでに、15分くらいかかりました。もったいない。

chromeのtumblr拡張Taberareloo

普段良く使うブラウザが、firefoxからchrome多めになってきたタイミングで、tumblrをやらなくなってきてました。代わりに、deliciousとevernoteの中身が増えていきました。でも、ふとtumblrも使いたいなと思ったので、機能拡張を探したところ、以下のページを見つけました。

http://d.hatena.ne.jp/gamella/20100306/1267850698
それでいれたのが、このtaberarelooというアドオン。ぼちぼちtumblrもやっていこうとおもいます。
https://chrome.google.com/webstore/detail/ldcnohnnlpgglecmkldelbmiokgmikno?utm_source=chrome-ntp-icon

初めて書いたVBA

問題管理をするのに、通番をチェックするのが面倒で、自動発行してくれる処理を書きました。
番号の形式は、”yyyymmdd-通番”にしています。
C列に問題管理番号、D列に登録日を自動入力する処理にし、通番はこれから採番しようとする番号の登録日と同じ登録日の個数を数えて+1しています。

またVBAを書くときのために、メモとして残しておきます。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim tmpAddress As String, tmpRow As String, cellcnt As Double
  
  tmpAddress = Target.Address(True, False)
  tmpRow = Left(tmpAddress, InStr(tmpAddress, "$") - 1)
  If tmpRow = "C" Then
    If Target.Value = "" Then
      If Range("C" & Int(Mid(tmpAddress, InStr(tmpAddress, "$") + 1) - 1)).Value <> "" Then
        cellcnt = WorksheetFunction.CountIf(Range("D:D"), Date)
        Target.Value = Format(Date, "yyyymmdd") & "-" & Format(cellcnt + 1, "000")
        Range("$D" & Mid(tmpAddress, InStr(tmpAddress, "$"))).Value = Date
      Else
        MsgBox "一番上の空欄をダブルクリックしてください"
      End If
    End If
  End If
End Sub

spモードメールはこまめにメールを削除しましょう

先日、DoCoMoショップに行ったときの話。
受付のお姉さんが、前回Xperia Arcの画面が割れた対応をしてくれた方で、交換後の調子を気にしてくれていた。時々、反応速度が遅くなることを伝えると、spモードメールのメール保存数をチェックしていた。

なんでだろう?と疑問に思って聞くと、spモードメールはアプリ自体が原因で、ストレージに余裕があっても、800通以上ためておくと、動作が不安定になる傾向があるということだった。受信メールから消しても、ゴミ箱に移動しているだけなので、ゴミ箱からも消さないと、メールはたまり続けていく一方になります。ここが見落とされがちらしいです。

spモードメールの調子が悪いと思ったら、いらないメールを消してみましょう。

redmineのメール設定で凡ミス

redmineをぼちぼち触っていっています。

チケット等を更新した際に、メールが送信されるように設定しようとしたところ、送信時に失敗します。なぜ!設定時に記述した内容は、以下です。

production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: “localhost”
port: 25
domain: “localhost”

検索してでてきた設定方法と上記を見比べても、悪いところはなかったので、他の原因を探ることに。getaddrinfo: Name or service not known”という発生したエラーで検索したら、出てきました、答えが。

“proction:”っていうパートが、設定ファイルの末尾にあって、上書きされているという結果でした。なんで、例でコメントアウトしてる行があるのに、更に何も書いてない”production:”の部分があるのか意図が読めないですが、これで解決。このサイトに助けられました。

http://www.lesstep.jp/wiki/index.php?Redmineでメール送信が失敗する

redmineを利用し始めました

会社で、好きなの入れていいから、チケット管理をできる環境を作りたいという話がでてきたので、rubyを勉強する口実にもなると考え、redmineを選びました。ちょうど、4/16に1.4系がリリースされたので、タイミングもよかったです。

インストールは、以下の記事の通りにやったら、すんなりいきました。
http://blog.redmine.jp/articles/redmine-1_4-installation_centos/

メールサーバ設定を行う、configuration.ymlでは、特に何も設定せずに、sampleをコピーしただけの状態です。最初は例に習って、sendmailを使う形にしていたのですが、うまくインストールできなくて、sampleと同じ内容にしました。

これから、プラグインの便利なものを見つけたり、使い方や機能でいいなと思うものがあったら、記事にしていきます。

今回は、redmineのインストールより、CentOSで固定IPを割り振る部分でつまづきました。
いつもは、VirtualBoxで、DHCPとホストオンリーネットワークの組み合わせでやっていたので、外部からも見れる固定IPを設定し、DNSの設定もしてというのが初めてだったので。
恥ずかしながら、”/etc/sysconfig/network-script/ifcfg-ethxx”に、DNSの情報を書いて、restartとすると、”/etc/resolve.conf”が生成されるということも今回初めてしりました。

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.x ←サーバのIP
NETMASK=255.255.255.0
TYPE=Ethernet
HWADDR=00:oo:3F:oo:1F:oo
GATEWAY=192.168.1.y
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=yes
DNS1=127.0.0.1
DNS2=192.168.1.1

IPアドレスとかは、適当に書き換えてますが、こんな感じで”/etc/sysconfig/network-scripts/ifcfg-eth0″を書きました。いくつかのサイトを見ながら、これに落ち着いたので、メモしておきます。

ネットワークの知識の浅さを改めて感じる作業でした。redmine楽しみです。