2回目のリニューアルを行いました。
今回のコンセプトは以下になります。
・苦しんで覚えるC言語をベースとしつつも、自分のプロダクトのポータルサイトとする
・モダンなウェブデザイン
・より良好なスマホ対応
これまで、個人としてさまざまなアプリやサイトを作ってきましたが、
さまざまな場所に散失してしまっており、ポータルサイトとしてまとめ直す必要性を感じていました。
そこで、自分のプロダクトの中でもっとも有名な「苦C」を中心としつつも、
「MMGamesのポータルサイト」としてゼロからすべてをまとめ直しました。
また、前回のリニューアルでも残っていたちょっと古いデザインを払拭し、
モダンなデザインにしました。
おそらく初見で一番違いを感じるのは、背景色が薄茶色から白になったことでしょう。
ブラウン管が主流だったころは、白の背景はギラつくため、薄茶色の背景色を選択しました。
しかし、現在は完全に液晶に移行しており、ギラツキを気にする必要はなくなりました。
また、今回は完全なスマホ対応を前提としました。
前回はすべて手動で対応したため、一部に不自然な箇所が残ってしまいました。
今回はBootstrap5を採用し、最新のフレームワークによって、スマートなスマホ対応を行っています。
このリニューアルの背景として、ウェブデザインがほぼ統一されつつある現状があります。
前回のリニューアル時は、デザインにある程度の個性を残しておきたいと考えたため、
薄茶色の背景を始めとした、装飾性を残したデザインにしました。
しかし、現在では、多くのサイトがシンプルかつ共通化されたレイアウトを採用しており、
デザイン上の差異がほぼなくなっているにも関わらず、
ロゴやメインカラーなどのアクセント要素のみで、十分に差別化できているサイトが多くなりました。
であれば、当サイトもその流れに従うのが自然だと判断しました。
デザインはリニューアルしましたが、本文については、当時のものをそのまま採用しています。
C言語にはそれほど大きな動きがなく、初学者用としては、当時の内容が十分に通用するためです。
当サイトの特徴は、プログラミング初学者を対象としているにも関わらず、
コンピュータそのもの本質的なあり方についての解説に多くのページを割いていることです。
入門でありながら、文字コードに足し算をしたり、配列とポインタを交換したりしていますが、
これはC言語の本質のみならず、コンピュータの本質でもあり、何十年立っても変わりません。
量子コンピュータが実用化されてしまったらその限りではないかもしれませんが・・・
コンピュータとプログラミングをとりまく事情は加速し続けています。
現代では、驚くべき性能をそなえた小型コンピュータを、スマホとして誰もが持ち歩き、
ディープラーニングによって、写真に写っているものの判定まで行えるようになりました。
いずれも、私の予想を20年は上回るペースで進んでおり、本当に驚くべきことです。
しかし、それでもなお、コンピュータ、そしてプログラミングの本質は、
シンプルな計算と、シンプルな条件判断のみによって成り立っていることにはかわりなく、
本サイトは、いつまでも、その
本質をプログラミング初学者に伝えるサイトでありたいと思います。
2021 MMGames/森口将憲
内部的に使用している生成ツールも更新しました。
前回は、markdownからHTMLを生成するツールを自作して使用しましたが
markdownにこだわりすぎたせいで、表現力を落としている部分がありました。
今回は、あくまでHTMLをベースとしつつも、
テンプレートを一瞬で適用できるツールを自作しました。
HTMLベースのため、必要であればすべてHTMLで記述でき、表現力が飛躍的に向上しました。
スマホの台頭、ブラウザの進化などにより、作成当時とは大きくWeb環境が変わりました。
苦Cもそれに合わせて、デザインのリニューアルを行いました。
以前のデザインは、CRTディスプレイが依然として主流であったこと、
とくに、社内からのアクセスでは、支給されているディスプレイが安物のCRTであること、
を想定し、そういったディスプレイでもある程度の読みやすさを得ることを目的にデザインしました。
そういったディスプレイって、背景が白ですとすごくギラつくんですよね。
しかし現在ではほぼすべて液晶ディスプレイになっています。
そこで、文章メインのサイトで主流である、余計な装飾を排除した、なるべくシンプルなデザインにしました。
また、スマホでの読みやすさも重視しています。
以前のデザインでは、スマホではフォントサイズのバランスが取れておらず、
一見してチグハグな印象になっていましたので、正しく表示されるようにしています。
対応ブラウザはIE11以上となります。
色使いやフォントの変更機能はオミットしました。
現在のブラウザでは、ユーザースタイルシートや独自のフォント指定により、
そのようなことはユーザー側で実現できますので、不要と判断しました。
右上隅に表示されるページ移動メニューもオミットしました。
現在では格安のマウスであっても、スムーズに動作するスクロールホイールが搭載されており、
縦スクロールは非常に容易な操作となりましたので、不要と判断しました。
リニューアルにあたり、
Windows上でも日本語フォントをなるべく読みやすく表示すること、
スマホからのアクセスを想定し、なるべくファイルサイズを減らすことを重視しました。
JavaScriptを使わずにCSSのみで、Windows限定で、日本語Webフォントを適用できればもっと良かったのですが・・・*
読者の皆さんにはあまり関係のないことですが、
以前は独自のマークアップ言語で記述した文章を、独自のコンバーターでHTML化していましたが、
独自のマークアップ言語をMarkdownに変換し、それを独自のコンバーターでHTML化するようにしました。
いわゆる静的サイトジェネレーターも試したのですが、HTMLが大げさでムダが多くなってしまいがちなんですよね・・・
ソースコードは、下のように色分けして表示します。
#include <stdio.h>
static int i = 1;
int main(void)
{
/* 特に意味のないプログラム */
if (i == 1) printf("%d\n",sizeof(i));
}
また、実行結果は、下の様にして表示します。
そのほか、重要だと思われるキーワードは
【C言語】
一言で説明するなら、構造的アセンブラ?
このようにして表示します。また、ちょっとしたポイントは、
このサイトでは、ほとんどのページで、右上にミニメニューをつけていますので、
ページをスクロールさせなくても簡単に移動できます。
このようにして表示します。雑ネタなどのコラムは、
C言語は、Dennis Ritchie(デニス・リッチー)という人物が、
B言語を改良して作成したプログラミング言語である。
このようにして表示します。
使用するブラウザや紹介するC言語コンパイラは、Windowsを前提にしていますが、
同様の機能を持つブラウザとコンパイラであれば、Windows以外のOSでも利用可能です。