秀丸エディタのプログラミング向けフォント設定

プログラミング用のフォントは Myrica M を愛用していたのですが、久しぶりに見直してみることに。

個人的に、プログラミング用のフォントに求めるのは、「固定ピッチであること」「読みやすいこと」の2点だけなのですが、この2点を満たすフォントが、Windows の場合は、なかなか無いのです。

秀丸エディタの設定を見ていたら、ASCII文字とそれ以外で、フォントを使い分けることができることがわかりました。また、3Dグラフィックスアクセラレータで文字を描画することもできることもわかりました。この辺りを上手く使えば、もっと良い表示にできるのではないかと考えたのがきっかけです。

いろいろ試行錯誤した結果、落ち着いたのが、以下の設定です。

  • フォント:Source Code Pro
  • ASCII以外のフォント:游ゴシック Medium
  • フォントサイズ:12
  • 3Dグラフィックスアクセラレータによる文字の描画:オン
  • アンチエイリアスの方式:ClearType標準
  • コントラストの指定:100%
  • ClearTypeのレベル:100%
  • 行間 1/6

表示イメージはこちら

なかなか読みやすいと思うのですが、いかがでしょう?


常時SSL化 nginx でリダイレクト www ありに統一

前々からやらなければと思っていた、常時SSL化をやってみました。

当サイトは、nginx で、www 付きのURLに統一する設定をしました。

リダイレクトは説明不要として、ポイントは add_header Strict-Transport-Security です。これは HSTS と呼ばれるもので、このサイトは https でアクセスしてほしいということを、ブラウザに知らせることができるとのことです。


インストーラで Windows イベントログのソースを作成

初めて Windows サービスを作ってみたのですが、イベントログを出力しようとすると SecurityException とかが出て、うまく書き込めませんでした。

いろいろ調べてみて、以下のようなことがわかりました。

  • イベントソースを新規作成するには管理者権限が必要
  • イベントログに書き込むのに管理者権限は必要ない

私の場合、存在しないイベントソースを指定して書き込もうとしていたため、イベントソースを新規作成しようとして、権限が足りなくてエラーになっていたようです。

で、どうすれば良いかというと、イベントログに出力するアプリケーションの場合、インストール時にイベントログのソースを作成してしまうと良いとのことでした。

Visual Studio のセットアッププロジェクトを使ってみたところ、ノンコーディングで全部行うことができましたので、その手順を紹介します。

(さらに…)


MyBatis + Groovy でマッパーを実装

MyBatis は、SQLをアノテーションで書く方法と、XMLで書く方法の2つをサポートしています。どちらが良いかは好みが分かれるところでしょう。

ただ少なくとも、アノテーションは記述の自由度が低い(特に改行しにくい)ため、SQLが複雑になると悲惨なことになります。

Java アノテーション版

もうちょっと見やすくかければ…と考えていて、Groovy を思い出しました。

(さらに…)


Eclipse Installer (Windows版) を試してみた

Eclipse は zip でダウンロードして解凍して入れるのが普通なのですが、Eclipse Installer というインストーラが最近できたようです。ちょっと試してみました。

Eclipse Downloads (Eclipse Installer のページ)

上記ページから Windows(32bit or 64bit) をダウンロードします。私は64bit版でしたが、ダウンロードサイズは約45MBでした。通常の Eclipse と比べるとかなり小さいので、おそらくインストール中にダウンロードが行われるのでしょう。

(さらに…)


[TypeScript] noconflict モードの jQuery を $ で使用する

noconflict モードの場合、いちいち「jQuery」と書かなければなりませんが、自分のスコープ内で $ を定義すれば、$ として使うことができます。


[C#] char から int に変換

全く大した話ではないのですが、数字が入った char を、その数字を表す int にするお話。当然標準クラスのメソッドにあると思ったら、意外になかったというお話。

普通に思いつくのはこれ

1回 string にしちゃうのは面白くない。でも、Int32.Parse には char を取るオーバーロードはありません。

何かないかと思ってMSDNを眺めていたら、Char.GetNumericValue メソッドというそのまんまっぽいのを発見しましたが…

(さらに…)


[PHP] Google App Engine (PHP) でメール送信

Google App Engine (PHP) でメールを送信するときは、PHP標準の mail 関数は使えません。代わりに、GAEが用意するクラスを使う必要があります。以下のようなコードになります。

とてもシンプルでわかりやすいですね。日本語のメール送信というと、文字化けに悩まされることが多いイメージがありますが、このクラスに関しては、特別な処理をしなくても、普通に文字化けせずに送ることができました。ソースはUTF-8で書いています。

ただし、送信者メールアドレスに関しては、セキュリティ上の理由から、以下のような制限があるようです。(「Unauthorized sender」というメッセージの例外が発生します)

(さらに…)