さてさて、今までブログをがんがん書いてきた感じなので、ここいらで一旦まとめて、いままで書いたブログを振り返ります。
その上で、最後のほうにもう少し、WEBシステムとはなにか、みたいなとか、ネットワークでの情報流通ってなんだろう、みたいな話も書こうと思います。
ブログを書き始める前に考えたこと
まず、最初に書いたのがこのブログですね。1990年代のWEBというものの始まりから、その後の進展を駆け足で見ながら、今後についても考えていくみたいな内容でした。ここでは、NFTとかWeb3みたいな話も結構肯定的に考えていたんですが、どうも、ブログを書いているうちに、いろいろネガティブになってきた感じです。いずれにせよ、検索エンジンは、今後ますます使い難くなるでしょうから、時代は、超SNSみたいな方向かもしれませんね。
システム全体像を決めるCGIについて
こちらでは、WEBサーバで動いているCGIについて、結構詳細に書きました。初の有料ブログにさせていただきました。ここでご紹介した、CGIは、実は、ほとんど何もしないもので、ブラウザからのデータを、そのままデータベースサーバに丸投げして、さらに、データベースサーバから返ってきたデータをそのままブラウザに丸送りする、というものです。普通、WordPressとか使った場合は、CGIがかなりキモで、PHPなどを動かしていたりするんですが、それをやると、セキュリティが難しいので、そのあたり、こちらは、丸投げな分セキュリティはしっかり対策できてます。C言語だからこそできる、みたいな。
データベースサーバの設計
そして、CGIから、データを丸投げされたデータベースサーバの基本設計なんですが、これは結構凄いデータベースになっています。マルチスレッドのデーモンとして動作するわけで、しかも、データベースの内容を書き換えない場合は、同時に複数のスレッドがデータベースにアクセスできる設計だし、もしかしたら、この仕組み、世の中にあんまりないかもしれません、とか。
ネットワークプログラミング
で、こちらが、ソケット通信のワナということで、CGIからマルチスレッドのデータベースサーバにソケット通信でアクセスする際、データベースサーバ側のスレッド生成部分に、ネットワークプログラミングの教科書ですら、間違えている、ワナがあって、その部分の解決方法を、なんと大胆にも有料部分に書き込む、ということをやっています。
この解決方法、ググった段階で英語のページが出て来て、対策したんですが、日本では出てこないので、まあ、有料にしても良いかな、とおもったんですが、その分受けが悪いですね。
メモリー管理
データベースサーバでのメモリー管理についての話です。malloc()関数の利用を最小限にして、高速動作が可能にすると同時に、使い終わったメモリー領域を解放することなどを書いていますが、実際、入出力用のメモリー管理と、スレッドのメモリー管理を別にしたことが、プログラミングを面倒にしている部分があって、今後、変更するなら、この部分をちゃんと作り直したいですね。
ブロックチェーンというべきか chainmailの実装
これは、弊社独自のブロックチェーンというか、多次元拡張ブロックチェーンである chaimailの仕組みと、実装について書いたものです。
通常、仮想通貨(暗号資産)や、それに乗っかっているNFTに関するブロックチェーンは、仮想通貨一種類について、一本しかないわけで、その一本のコピーが多数存在しているわけですが、chainmail は、ブロックというよりも、取引に関わる伝票がハッシュ値で繋がっていて、しかも、注文伝票のチェーン、約定伝票のチェーン、取引伝票のチェーンというのが互いに横方向に繋がっているので、多次元化されている、というものです。セキュリティ的には、非常に高度だと思いますし、しかも、マイニングの必要がないので、処理は軽いです。また、この次のブログから書いたCMSと同じデータベースサーバ上にchainmailの実体の一部があるんで、管理が厳格にでき、ブロックチェーンを解読して、NFTの本体のURLをアクセスするとかいう不法行為は無理な仕組みが提供できます。その意味では、御一読を。
CMSを書く
ここからは、CMSについて書いています。
1)最初は、HTMLの問題点についてですね。この問題がなければ、CMSがすごく簡単なんですけどね。根本的な設計ミスみたいな気がしますよ。将来的に、HTML7とか8とか出てきたら、そのあたりが抜本的に解決されるべきだと思いますけど。
2)これは、chaimail こみこみのCMSにおけるデータ構造について、構造体を示しながら書きました。かなりざっくりしているので、あまり参考になっていないかもしれませんが。まあ、一般的なSNSとかブログサイトでもほぼほぼこういう仕組みに近いかもしれません。
3)分散型のWEBサーバでのCMSでは、おそらく必要なマクロ展開の仕組みを書きました。ここも実装のプログラムはざっくりご紹介しかしてません。
4)SNSとかブログサイトで重要なのは、書いている記事が、他の記事と道繋がっているか、という点です。たとえば、今書いているこのブログと、いままで書いたブログとの関係ですね。Wikipediaとかも、関連する記事とのリンクが重要です。そういうのを簡単に実現するのが、このハッシュタグとサーチエンジンの組み合わせですね。記事の題名から簡単に関連記事がひっぱれるとか、文中にいれたハッシュタグから、関連投稿が検索できるとかですね。一応、それを実現しているので、その部分を書いています。
5) さて、multipart/form-dataの処理というのは、実は、CMSとして最初に書いておくべきことでした。PHPあたりでは自動でやってくれると思いますが、C言語で書いているので、すべてしっかり書き込んでいます。こういうところは、案外最近では、教科書などもすくなくなっているので、内容はそれなりに、貴重かと、、思います。
6)HTMLの生成は当然ですが、CSSも、投稿する記事や、ユーザごとにいろいろ変更したり、いじれたりすると、ブログシステムとしては面白いと思います。しかも、それがSNS投稿と同じくらい簡単にできれば、とも思うわけです。そういう仕組みもここで書きました。
7) ここで紹介しているCMSは、打倒WordPressを意識しているんで、WordPressではパソコンでないと記事の変更や投稿はできない、っていう部分を、スマホからでも簡単にできるようにしてますよ、という話です。ほかにもいろいろ書いています。一応、ここまで書いたところで、CMSについては、ほぼご紹介できたので、今回、まとめを投稿する、ってことになりました。
番外篇 NFTのこれから
NFTプラットフォームの実装、しかも、一般的なNFTプラットフォームではなく、独自で特殊なものなんで、弊社のシステムを持ち上げるためにも、現行のNFTプラットフォームの問題をいろいろつついてみたりしました。
ぜんぜん無関係なブログ
エアコンの水漏れ修理の顛末です。WEBやNFTとは無関係な内容です。だから、ブログのサムネイルも違います。GIMPで書いたら、かなりヤバめな絵になりました。
WEBシステムの今後についての考察
で、番外篇:NFTはどうなるのか?を書いたあとで分かったのは、現在、SNSやブログなどで大量の情報が発信されているので、基本的には、情報過多で、経済学的には、供給過剰だから、その中で、情報発信をマネタイズするのは、難しいな、ということです。まず、必要な情報を検索エンジンで探すのも大変で、なかなか思ったものにはヒットしません。でようやく探し当てられても、似たような情報がたくさんあるので、それが一番良い情報かどうかを調べるわけにもいかない。となると、良いか悪いか分からない情報を、買うとかいうのもなんだかな、という状況。
新聞社が記事を有料配信できるのは、新聞社が過去数十年にわたって、それなりに築いてきたブランドがあるからで、あの新聞社の書いた記事なら間違いなかろう、みたいな理由があるし、また、ネット上でブランドを築いているのは、インフルエンサーで、インフルエンサーのいうことなら、まあ間違いなかろう、みたいなことで、そういう人が、noteで有料のブログを書いたら、それなりに売れるとかです。
でも、一般人はそうはいかなくて、SNSは無料で記事が流れてくるから、それを読む気になるかもしれない。それで情報発信過多だと、供給超過だから、結局は情報はタダで流通するしかない、という話になります。
で、NFTが、ちょっとだけ(あくまでもちょっとだけ)注目されているのは、基本的に一品モノとして流通させるからで、みんなに拡散するわけではないから、見つけた人が買ったら、独り占めできる、という理由で、供給超過でなくすことができますよね。だから、NFTマーケットプレースでは入札型で取引されて、ときには物凄い高値がついたりする、ってことです。まあ、それも一部のインフルエンサー的なアーティストだけが稼げるわけで。
となると、現在のネットワークの枠組みで、広くみんなに届けたい情報は、基本無料か、あるいはYouTubeやカクヨムなどのように、サブスクとか広告収入のキャッシュバックみたいな形で、制作者に多少のお金が入る、みたいな方向。それでも、アクセスあたり1円とかそういう値段でも、万単位の人がアクセスするバズるコンテンツなら、数万円ぐらいになるから、そういうのをコンスタントに書いているインフルエンサーなら、かなりの収入が得られるかも、なわけです。
で、インフルエンサーになるのも、だんだん難しくなっていて、もとから有名な芸能人とかなら別だけど、普通の人が、インフルエンサーになるには、だんだん大変になってくる。SNSでも、投稿した記事やコンテンツの拡散はだいたいフォロワーの数と相関するから、フォロワーを増やす努力をしないと、なかなか拡散しませんしね。案外、マイナーなSNSとかだと、始めた瞬間にたくさんフォロワーがついたりして、すぐにインフルエンサーになったように思っても、実際には、マイナーなSNSではユーザ数が限られている、っていうのもある。
とすれば、情報をうまく拡散して、それでマネタイズもして、というなら、自分の制作したコンテンツ同士を、相互にリンクなどして、一個の記事が発見されたら、芋ずる式に、どんどんみんなが見てくれるような、そういう仕組みを考えて、かつ、知り合いなどとも協力して、投稿記事のクラスターを作っていく、みたいなことが重要になりそうです。
でも、それって、最初のブログで言ったように、検査エンジンがなかったころのWEBページとにてくる感じでもあります。WEBがWEBとよばれ、HTMLのHTがハイパーテキストなのは、テキストとテキスト(ページとページ)がリンクされて網の目のようになっているイメージだからで、とにかく、自分からもリンクを張り、他の人からもリンクを張ってもらい、それで、いろいろなページが芋ずる式にどんどん出て来る仕組みが必要で、そのうちのいくつかが、有料コンテンツだと、多くの人が有料コンテンツをみたくなって、買ってもらえるみたいな。
で、この今書いているこのブログが、過去のブログのリンク集になっているのもそういう意味があります。また、ココナラブログが、ブログ内にココナラのサービスやブログ以外のリンクを禁止しているのもそういう意味があります。いわば囲い込み。
そのあたりでいくと、SNSは一般に、一つの投稿記事は、せいぜい一つの記事しかリンクできないわけで、記事と記事を網の目のように、というのは、面倒です。
となると、今後のWEBサイトというものは、部分的にはリンク集で、互いに連携してリンクしまくって、網を広げて、多くの人を囲い込むような戦略が、案外SEO対策よりも有効になっていくのではないか、と思うわけです。それは、WEBサイトをつくったらできるだけ、お仲間を増やして、相互にリンクするようにする、という形。それと、自分のWEBサイトを更新したら、それをSNSでどんどん発信していくのも重要でしょう。
で、手前味噌になるけれど、このシリーズのブログでご紹介してきた、AWExion HOTPortというNFTプラットフォームは、リンクはりまくりとか、いろいろできるし、また、売れれば売れるほど値上がりするダイナミックプライシングで、投稿されたタイトル(記事やコンテンツのこと)が変動相場になって投機対象になりえるし、また、タイトルは、あとからいくらでも更新可能で、育っていくし、一つ一つのタイトルには掲示板もあって、それでさらに、いろいろな人が意見をだしあって、コンテンツを育てていくこともできるし、便利だと思うんですけど。
以上です。
弊社提供のサービスについて
現在、ココナラにおいて弊社は以下の二つのサービスを御提供しております。
こちらのブログをご覧になって、プログラムのソースコードが欲しい、とか、あるいは、システム丸ごと欲しい!という方には、結構リーズナブルな価格で提供できると思います。
つぎに、
なにかありましたら、御気軽に、御声をおかけください。