SVNチェックアウトで E120104 エラーが発生したときの対処方法

先日 某社内ネットワークからインターネット上にある Subversion リポジトリのチェックアウトを試みたところ下記のエラーが発生してしまいました。サーバーは Subversion 1.9.5 クライアントは Subversion 1.12.2 でした

svn: E120104: ra_serf: An error occurred during decompression

エラーメッセージに含まれる ra_serf というのは Subversion で使われている HTTP クライアントライブラリです。この HTTP クライアントライブラリが Subversion サーバーから転送されてきた圧縮データを展開するときにエラーが発生したということです。

ウェブで ra_serf を検索してみると 上記のエラーのほか E120106: ra_serf: The server sent a truncated HTTP response body. が発生したという報告も多数見つかります。

JettyでFreeMarkerを使うとテンプレートが見つけられなくなる

FreeMarker テンプレートエンジンを使った Web アプリケーションを Jetty アプリケーションサーバーで数日稼働させていると以下の例外が発生することがありました。

freemarker.template.TemplateNotFoundException: Template not found for name "index.ftl".

なぜかテンプレート ファイルが見つけられなくなってしまうのです。その原因は Jetty Windows にありました。

ApacheでのLet's Encrypt運用が簡単になりました
2019-07-10 Web Windows

Let’s Encrypt は無料でサーバー証明書を発行してくれる認証局です。2016 年のサービス開始以来 急速に普及しています。

Let’s Encrypt の証明書発行には ACME プロトコルに対応したクライアントソフトウェアを使います。主要な ACME クライアントソフトウェアは ACME Client Implementations で紹介されています。Let’s Encrypt のサイトでは certbot というツールが推奨されているのですが このツールは Windows には対応していません。Windows 環境では win-acme 旧名 letsencrypt-win-simple というツールが良く使われているようです。

私も これまで win-acme を使ってきたのですが 先日 ふとしたことで mod_md という Apache モジュールの存在を知りました。mod_md win-acme よりもずっと簡単に使えます。ただし mod_md Apache モジュールであるため Apache 環境でしか使えません。IIS など他のウェブサーバーに Let’s Encrypt を導入するのであれば 引き続き win-acme が有力な選択肢になります。

Apache 2.4.30 以降で利用可能になった mod_md モジュールを使って Let’s Encrypt 証明書を導入する手順を紹介していきます。

Apache静的サイト高速化! mod_rewriteで圧縮コンテンツを返す
2019-06-27 Web

ウェブページの表示速度はとても重要です。ページの表示が遅ければ遅いほどサイトの閲覧を諦めてしまう訪問者は多くなります。

HTML や画像などのコンテンツを GZIP Brotli で圧縮すると ネットワーク転送時間が短くなり より早くウェブページが表示されるようになります。

今回は Apache で稼働している静的サイトを事前圧縮コンテンツを用意することで高速化する方法を紹介します。この方法は 近年 人気が高まっている静的サイトジェネレーターとの相性も良く レンタルサーバーを間借りしている環境でも適用しやすいです。サーバーの管理権限がないユーザーでも一般的な権限があれば高速化を実現できます。

JavaでBrotli(ブロートリ)を使う

Java Brotli 圧縮する方法を紹介します。

Brotli ブロートリ 2015 年に Google が発表した圧縮アルゴリズムおよびその実装です。zlib よりも 15~25%くらい圧縮率が高くなります。LZMA と比べてもわずかに圧縮率が高いです。

Brotli の展開には専用のデコーダーが必要になりますが すでに Chrome Firefox Edge Safari Opera など主要なブラウザーが Brotli をサポートしています。

JavaでZopfli(ツオップリ)を使う

Java Zopfli 圧縮する方法を紹介します。

Zopfli ツオップリ 2013 年に Google が発表した圧縮アルゴリズムおよびその実装です。zlib よりも 3~8%くらい圧縮率が高くなります。圧縮率だけで言えば Zopfli を上回るアルゴリズムはいくつもあります。Zopfli の最大の特徴は Deflate 互換であることです。つまり Zopfli で圧縮したデータは既存の Deflate デコーダーで展開することができます。

WindowsにSubversion 1.12サーバーを構築する

過去に Windows 用の Subversion 1.9 サーバー構築手順を紹介したとことがあります。その後 Apache Subversion のバイナリ配布形態に変化があり 以前の記事の手順通りでは Subversion 環境構築できなくなってしまいました。

本稿は Subversion サーバー構築手順のアップデート記事 2019 年版 です。Windows Subversion 1.12 サーバーを構築する手順を解説します。今回は手軽に環境構築できるオールインワン パッケージも用意しました。

JettyをEclipseと連携させる(リモートデバッグ編)

アプリケーション開発にデバッガ―は欠かせません。ソースコードにブレークポイントを設定してステップ実行したり 実行中の変数の中身を確認したり。デバッガ―を使えるようになれば バグを短時間で見つけて解決できるなどアプリケーションの品質向上に繋がります。

今回は Jetty で実行している Web アプリケーション WAR ファイル Eclipse からデバッグする方法を紹介します。