読者です 読者をやめる 読者になる 読者になる

解き放たれしソフトウェア

GNU/LinuxなどFLOSSについて書いてみるつもり

static site generator のメリットとデメリット

インターネット

static site generator、 俗に「静的サイトジェネレーター」と訳されることが多いですが、つまりウェブサイトデータの完成版を生成するソフトウェアがあります。いわば、ウェブサイト生成器です。

有名なものには JekyllPelican などがあります。

ウェブサイトに載せたい文章や画像などはもちろん自力でつくりますが、 リンクやデザインは自動的に生成されます。

それと比べると、かつてHTMLを手書きするのが一般的な時代には、リンクやデザインなども自力で書き、共通のデザインにするために一枚一枚のHTMLファイルに同じコードをコピーペーストしていたものです。 そうした手間が省けて、「デザインをリニューアルしたのに更新し忘れのファイルがあった」ということも起こりません。

そうして生成されるデータは完成版で、それ自体がブラウザで読み出せる状態です。 管理者はアップロードするだけ。ウェブサーバは閲覧者にデータを送りつけるだけ。 MariaDB(MySQL)やPostgreSQLSQLiteのようなデータベースは使いません。 PHPのような、閲覧者からのリクエストを受けてオンデマンドリアルタイムにデータを生成する手法も用いません。 つまり、いまや一般的ないわゆる"CMS"*1、例えば MovableType(TypePad) や Wordpress などなど*2とは異なります。

手順としてみると、 1. 文章などを書く 2. プログラムの実行 3. アップロード です。

他方のCMSならば、 1. CMS のウェブサイトをブラウザで開く 2. フォームに記入する 3. 投稿完了処理 でしょう。

なぜこのようなソフトウェアが増えてきたのかというと、大きな理由は GitHub Pages (gh-pages。ドメインで言うと github.io ) の登場です。 github.io は、GitHub にウェブサイトのデータを push すると、そのデータをウェブ公開してくれるサービスです。 CMS の機能はありませんから、push するデータは完成形である必要があります。 しかし、とりわけ github.io で blog を公開したいと思った人にとっては、 blog のデータすべてを自力で書くのは面倒です。 そのため、投稿する文章自体を書けば、あとはリンクやデザインを生成してくれるソフトウェアが制作されたわけです。

GitHub Pages のウェブサイトでは真っ先に Jekyll が紹介されており、そのためまずは Jekyll を導入してしまう人が多いようです。

メリット

システムとしてはシンプル

ウェブサーバが要るだけです。 データベースサーバは要りません。 複数のサーバが連携するということもありません。

サーバの負担が少ない

データベースもなければ、コードを解釈する処理もありません。 言うまでもなく、HTMLやCSSなどは主にブラウザが解釈するものなので。

完成形のデータが手元にある

CMSと異なり、生成した完成形のデータが手元に保存されています。

CMSだと、CMSがアップグレードされたりするとデザインをそのまま引き継ぐのが難しくなることもありえます。 また、データベースをバックアップしていても、それは完成形のデータではなく、CMSに処理させる前の原材料の状態です。CMSが壊れたり、別のCMSに変えようとしたりしたときには、大概、困ります。

セキュリティバグが少ない

HTML や CSS、画像やせいぜい JavaScript を生成するくらいなので、セキュリティバグが生ずる余地はとても少ないです。 それに比べるとCMSはいわばウェブソフトウェアで、プログラム本体やデータベース処理部分にセキュリティバグがあることがよくあります。

コードをカスタマイズしやすい

プログラム自体のコードを改変しやすいです*3。 それに比べると CMS はソフトウェアとして肥大化し複雑なため、改変しにくいです。

デメリット

素人が管理するのは難しくなります。プログラミングや CLI の作業の能力がある人でないと厄介です。

それに比べ CMS だと、導入後は素人でも更新していけることが殆どで、導入・システム管理者と投稿者が異なっていてもなんとかなります。 もしも他人(特に素人)に提案するのであれば大概は、 Wordpress だとか*4、既存の CMS サービス*5を借りるとかいうことになってしまいますね。

直感的な制作が困難

ローカルにウェブサーバを立てる機能をもつものもありますが、それでも逐一プレビューしながら制作する作業は面倒です。

それに比べると CMS は、ソフトウェアとして完結しています。直感的だということは素人向きだということでもあります。ローカルマシン上のアプリケーションソフトウェアを操作するのと似たような感覚で作業可能です。

それで、制作が面倒くさいと、更新がおろそかになりがちです。

アップロード作業が要る

Git か SCP か FTP かはともかく、手元のマシンが即ウェブサーバであるということでなければ、アップロード作業を要します。 FTP でさえも往々にして、初心者には意味不明で手順の説明には苦慮されてきました。 ただ単にウェブサイトをつくりたいという目的があるだけの人にとっては、作業の習得は煩わしくて腹が立つでしょう。

作業工数が増えるということはまた面倒くさいので、やはり更新がおろそかになりがちな原因です。

ウェブサイトが動的でない、デザインが流行りのものでない

データが固定的なので、概ね動きのないウェブサイトになります。

また、WordpressMovableType 系のウェブサイトは掃いて棄てるほど存在していて、素人からすると「あんなサイトにしたい」という、まず結果ありきのことを希望していることが多いでしょう。そうした希望には応えられません。

見た目でしか価値を判断しない人、流行のものやどっかで見たのと同じのにして欲しいと思っている人には、全くもってアウトです。 つまり、自分で決裁して自己責任でやる自分のウェブサイトならいいんですが、他人(特に素人)に提案する状況ではまず通用しないでしょう。

(この記事は、静的サイトジェネレーター Advent Calendar 2016 - Qiitaの1日目に埋めました)

*1:Contents Management System

*2:MODX とか MediaWiki とか tDiary XOOPS, Drupal, baserCMS, PukiWiki など枚挙にいとまなし

*3:ちなみに、ライセンスも GPLBSD系が多いと思われます

*4:VPSとか借りて、そこに CMS を展開するという手法

*5:はてなブログもそうですし、アメブロとか。最近はLINEブログとかですか(いや、結果的にライブドアブログとおんなじ企業になっちまっているわけですが)

(私的雑記)対人関係は苦痛です

エッセイ ニュース インターネット

趣旨

何が言いたいかを先に言うと、私は他人と関わると萎縮して聴く側にしかまわれなくなる人なので、対人関係が楽しいことはほぼ皆無です。話すべきことを話さねばならない、話したいというときには、独りで書いて公開すればよいし、そうするしかありません

他人に絡まれずに書かねばならないという人がいるという認識が社会には無いのでしょうか?

私に絡んでこないでほしいし、絡まれないウェブサービスを私は求めているんです。 書いて公開する、成果物を出すことが目的であって、他人と仲良くすることは求めていないんです。 ところが Twitter はおろか GitHub にもそれが欠けています。だから私は、これらを使えない。


Advent Calendar が始まったが

December of this year has come. 例年と同様に主に2箇所で Advent Calender の投稿が始まっています。

続きを読む

「ドナルド・トランプ大統領」による深刻な悪影響

ニュース

ヒラリーが大統領になったほうがほぼ全ての人にとって幸せだったでしょう。

一国独善主義、男尊女卑のドナルド・トランプが大統領になるそうです(まだ信じられない)。

USAの独善を旨とする政策を進めるでしょうし、白人男性優位の社会を進めるでしょう。 その余の人々にとっては「おこぼれ」をくれてやる(トリクルダウンですね)という発想なのでしょうからね。

資本家で富豪で雇用者の立場で恵まれているエリートのドナルド・トランプです。 不利な出自からのし上がってきたバラク・オバマとは正反対の人物ですね。

当然ながら、トランプは私的財産権の礼賛でしょう。自国の大資本に有利な政策を進めるでしょう。

日本メディアは、TPPばかりに矮小化して日本に得か損かという発想で論じがちですね。 たしかにTPPは一例で、例えば著作権の扱いもUSAの制度を押し付けてくるでしょう。 もっともTPPというのが既に「終わった」政策なんですが、日本(特に自民党と省庁)はわざわざTPPを受け入れてアメリカの歓心を得ようとするのに躍起です。

これから、フリーソフトウェアにとっても不幸な時代になるでしょうね。

民族によらず分け隔てなく扱われることについても絶望的ですし、性差別もむしろ社会的に推進されるでしょう。 建前のうえでは「平等だ」と言うでしょうが、社会における差別を容認する世界になるでしょうね。 いまの日本と同じです。例えば「女性の活躍」と言うんですが実際には、女性に活躍させてやる、利用する、という魂胆が目に見えていますよね。 社会を変えないで、社会的地位を既に得ている人のトクになるようにして、そういう人たちが不利な立場の人たちにおこぼれを撒くという、たとえて言えば節分に寺社で行われる豆撒きみたいなもんです。

我々は、社会体制の奴隷ですね。 未だに主客が逆転したままです。