悠希 のすべての投稿

wordpressでhighlight.jsを利用する方法

この記事は2014/9に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

このサイトは技術系の記事を書くことが多いため、コードハイライトを行う必要があるなと思い、「highlight.js」を導入しました。

highlight.jsの導入はJavaScriptとCSSを読み込み、スクリプトの起動を行うだけでよしなにやってくれるのでお気に入りです。

続きを読む wordpressでhighlight.jsを利用する方法

ブログの調整をした。

この記事は2014/9に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

お久しぶりです。

しばらく忙しい日が続いた結果、blogを書くのが億劫になってしまっていましたが、そろそろアウトプットを行いたいのでブログの調整を行いました。

あまりにも古すぎたりして、技術的に現行と合わなくなった記事などを非公開にしたり、カテゴリ・タグの整理を行いました。

テーマも自身でのアップデートが面倒というだけで標準テーマの子テーマにしました。自作テーマを作るのは楽しいんですが、アップデート追従が大変ですし。

サブディスプレイを複数機器のディスプレイにした

この記事は2012/2に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

昔に使っていたディスプレイ「RDT176M」をWin-PCのサブディスプレイにしていましたが、MacBook等のノートや過去資産も使いやすいように複数機器用のディスプレイにしました。

接続はD-SUB、DVI-Dが利用可能なのでDVIセレクタを買おうかと思ったのですが、微妙に高かったので、DVI-D → HDMI → HDMIセレクタ → HDMI → DVI-Dという変則的な接続にしてみました。

DVIはHDMIとの信号互換があるので劣化もほぼ無しです。

セレクタはPLANEXのHDMI-SW0401を使用しました。

安かったのとHDCP対応で必要があればTV周辺のセレクタとして流用可能であろうという事です。

また、Win-PC、MacBook共にDVI出力の為、ケーブルはHDMI-DVI変換ケーブルの「PL-HDDV02」「PL-HDDV01」を利用。

あわせて¥5,386成り。

1/17の記憶

この記事は2012/1に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

意識では忘れていた1月17日。例年の事だが16日〜17日には体調を崩してしまう。それは今年も同じだった。17年前の1月17日、小学生の頃だ。普段は起きても来ない早朝に大きな揺れが襲ってきた。

阪神淡路大震災と呼ばれるようになる大地震、兵庫県南部地震

幸いにも家族の中には人的被害は無かったのだが、意識がはっきりするにつれて恐怖を感じた覚えがある。

20インチ後半のブラウン管TVが両親の近くに落下し、その上に大きなタンスが倒れこむ。運良くテレビとタンスの間になり怪我も無かった両親の寝室や、兄弟同部屋にあった小さなタンスが倒れてガラスが散乱していたり、外壁の一部が床と離れて数センチの隙間があき、3階から地面を見える形になっていたり。

タンスとテレビを戻してつけたTVには横倒しになった高速道路の映像が流され、次々と死傷者の数が増えて行くのを目の当たりにした。

当時通っていた学校での被害者は一人と、神戸市灘区などの被害が大きかった地域に比べればマシという状況ではあったが、同じ学年の子が亡くなったというのも衝撃だった。特に仲が良いという訳でもなかったが、記憶に残っている。

その後、ライフラインの復旧の目処も立たず、震災後の対応で忙しい父親を残して母親の実家へと避難をしていた。

一時転校という形で避難先の小学校にお世話になりつつ数ヶ月の間の避難の後に西宮に戻ったが、ライフラインは復旧しつつもあちこちに爪痕が残る状態だった。

その後は大きな地震も無く、徐々にではあったが街並みが変わっていく様子を見ながら生活を送っていった。

そして去年あたりに完全復興の宣言が出されて一区切りがついた所である。

この経験があるからか、毎年1月17日頃には体調を崩してしまう。昨年までは「あぁ、そろそろ17日か」という意識もあるせいで体調を崩しているのかと考えていたが、今年に限っては東日本大震災の記憶が新しく失念していた。

しかし、例年のように体調を崩してしまった。記憶が薄くとも身体は覚えているということだろうか。

2007年。Twitterを知って始めたころ、ちょうど地震の研究を行う研究所に派遣で働いていた(事業仕分けで働いていた場所が本家に統合されて無くなってしまったのが少しばかり悲しい所)。

そこではまだ緊急地震速報が一般運用が本格的にされる前だったが、一台のモニタに日本地図が描かれており、そこに地震発生時に震源が表示されていた。それに感化されたと共にTwitterの速報性やAPIに可能性を見た私は@earthquake_jpの開発を始めた。

これも元々被災者という事と、その際に情報がTV・ラジオのみしか情報源がない事に不安を感じていたからであって、この経験が無ければ@earthquake_jpを作っていなかったかもしれない。

そして東日本大震災をきっかけに自宅にシステムを置いておくことに不安を感じ、外部のサーバに配置するようにした。これは東海地震が発生し、被災した場合の事を考えての事ですね。

これから先もできる限り続けていきたいと思う、今日この頃でした。

Scientific Linux 6.1からさくらのメールボックスへメールを転送させる

この記事は2011/11に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

cronやシステム管理メールを自分のメールアドレスへ転送する方法をよく忘れてしまうので
メモをとっておきます。

SL6をほぼ最小構成にてインストールした場合、mailコマンドが入っていない場合があるようです。
そこでまずはメールを送信できる状態にします。

yum install mailx cyrus-sasl cyrus-sasl-plain cyrus-sasl-lib

SL6のメールコマンドはmailxパッケージを使用するようです。実態はmailxにシンボリックリンクが張られています。

ls -al /bin/ | grep mail
lrwxrwxrwx   1 root root    5 11月  9 08:45 2011 mail -> mailx
-rwxr-xr-x   1 root root 370K 11月 24 03:53 2010 mailx

また、cyrus-saslパッケージはメール転送時のSMTP認証に使用するので同時にインストールしておきました。

そしてCentOS5系からの違いとしてMTAがpostfixになっているようですので、postfixの設定を変更していきます。
まずは転送先の設定から。

cd /etc/postfix
vi authinfo

<~>を各自の情報で書き換えます。

[<メールサーバアドレス>]:587 <ユーザ名([email protected])>:<パスワード>

認証情報を書いた後はDB化を行っておきます。

postmap authinfo

postfixの設定ファイルを書き換えてローカルのメールをさくらのメールボックスへ転送するようにします。

vi main.cf
myhostname = <ホスト名>
mydomain = <ドメイン名>
myorigin = $myhostname
mydestination = $myhostname, localhost.localdomain, localhost.$mydomain, localhost
relayhost = [<メールサーバアドレス>]:587

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt

設定が終わったらpostfixに設定を再読込させます。

service postfix reload

次にローカルのメールを個人のメールアドレスに転送する為にaliasesを編集します。

自分のサーバではrootを個人アカウントに転送した後、個人のメールアドレスに転送させています。

vi /etc/aliases
root:       <ユーザ名>
<ユーザ名>: <転送先メールアドレス>

編集が終わったら適応させるためにnewaliasコマンドを発行しておきます。

newaliases

最後にテストとしてメールを送信させて、受信できることを確認します。

echo test | mail root
echo test | mail <ユーザ名>

WindowsのGoogle Chrome(Dev Channel)で一部フォント描画が崩れる件

この記事は2011/9に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

自分が調べた限りではfont-familyにarialが指定されているサイトで発生しているように感じている。
arialという事はフォントリンクでMS Pゴシックあたり?を参照しているかと思われるので実験してみた。

MS UIゴシック

MS UIゴシックで表示した場合

MS 明朝

MS明朝で表示した場合

メイリオ

メイリオで表示した場合

MS~系フォントだと崩れる感じ。
とりあえず見れるようにするためにChrome Stylistで全サイトにユーザCSSを適応させてリセットすることによって対応できた。

* { font-family:sans-serif !important; }
pre,code,kbd,samp,tt { font-family:monospace !important; }

もちろん、ブラウザのフォント設定はMSゴシック系以外で。
これで暫定的にフォント描画崩れが無い状態で見ることができる。

Chromeがちゃんとしてくれれば一番良いんですけどね。

追記

Issueを確認しているとCJKフォントで発生しているようで、次回のDev channel更新では修正されているかもしれません。

Issue 98155 – chromium – Bad rendering of CJK characters

地震予測についてのヒトコト言っておくか。

この記事は2011/8に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

普段は誰がいつ地震が起きると言っていても個人アカウントだったのでスルーしていましたが、仮にも地震botを名乗るアカウント「@eq_tokyo」が予測情報を投稿したのでイライラしていた。
もちろん、情報元のサイトが研究所等のサイトではないのではないかという苦言は他の方からも行っていたのでその点についてはあまり大きな反応をせずに@earthquakeで信頼性が低い情報という旨を投稿した。

しかし、本日(2011/08/31)になっても公式RTで予測情報を流していたので思わずカッとなって書くことにした。 ※自分は地震の専門家でもないし気象庁等の政府機関などと関係はありません。2007年から地震情報を流していただけの人です※ 続きを読む 地震予測についてのヒトコト言っておくか。

他のWebサーバを使いつつ「さくらのメールボックス」でメールを管理する方法

この記事は2011/6に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

現在、使用しているWebサーバをCoreServerからさくらのVPSへ変更する為に細々と作業をやっているのですが、メールサーバの管理は面倒かつ踏み台の危険性等を考慮するとあまり自分で管理したくありません。
そこで年間1000円のメールボックスサービスであるさくらのメールボックスを使用することにしました。

続きを読む 他のWebサーバを使いつつ「さくらのメールボックス」でメールを管理する方法

gitにpushしたwebサイトを自動的に同期させる

この記事は2011/4に掲載されたものです。
記事の内容が古くなっている為、現状と異なる可能性があります。

earthquake_jpに関連して作業したので備考録としてメモ。

前提

gitのリモートリポジトリとHTTPサーバが同一のサーバに存在している状態です。

別サーバで行う場合はgit cloneを行う際にパス無し秘密鍵でcloneして
おかないと上手く動作しないと思われます。

処理の流れ

開発者 → コミット → プッシュ → post-receive → Web API → git pull

失敗

  • 最初はpost-receiveでpullを発行しようとしたが、HTTPサーバとgitosisの権限が異なる。
  • sudoを発行してみたが、エラーが発生して処理が行えない。

結果

  • post-receiveはWeb APIへとアクセスする。
  • Web APIはHTTPサーバの権限で動作する。
  • Web APIではシェルスクリプトを実行する。
  • HTTPサーバの権限でpullが行われる。

リポジトリ.git/hooks/post-receive

#!/bin/sh
wget -q -O - http://APIのURL

API(update.php)

<?php
$cmd = dirname(__FILE__) . '/update.sh';
$res = system($cmd);
if (false === $res) {
    echo "NG\n";
} else {
    echo "OK:{$res}\n";
}

シェルスクリプト(update.sh)

#!/bin/sh
cd /var/www/html/
/usr/bin/git --git-dir=/var/www/html/.git pull

post-receive、update.shは実行権限を付加するのを忘れずに。update.phpはweb上から実行可能であれば問題ない。

念の為、127.0.0.1か自身のグローバルIPでのみアクセス可能にしている。