リード·トゥ·ザ·リージェント
私たちが生きている時代に、ブログは珍しくなく、どこにでもあると言えます。初期のSohu、Sinaブログから、誰もが若者を記録しているQQスペース、そして現在のVlogとPlogまで、自分のブログを持つことは難しくないようです。しかし、ゼロから素晴らしいブログシステムを構築することは容易ではありません。技術に精通した小さな友人は、記事CRUDは単純に見えるが、それほど複雑ではないと言うかもしれない。しかし、それは本当ですか?その背後にはもっと多くの謎が隠されているかもしれない。私は11年間自分のブログを構築してきましたが、多くのプログラマーが自分のブログシステムを書くのを見てきましたが、仕様や標準に従って設計された完全に機能するブログはほとんどありません。この記事では、ブログシステムの設計で蓄積した経験を共有し、ブログを構築したい小さなパートナーが良いブログシステムを設計する方法をさらに理解するのを助けるいくつかのあまり知られていないブログ技術を紹介します。
目次目次
記事が長いため、この記事は以下の4つの記事に分かれています。
- “ブログ”の前世
- 私のブログストーリー。
- ブログの聴衆は誰ですか?
- ブログの基本機能設計のポイント
- 4.1ポスト(Post)
- 4.2コメントComment
- 4.3カテゴリ
- 4.4タグTag
- 4.5アーカイブArchive
- 4.6ページPage
- 4.7 Subscribe
- 4.8バージョン管理
- 4.9テーマと個性
- 4.10ユーザーと権限
- 4.11プラグイン
- 4.12写真と添付ファイルの処理
- 4.13汚い言葉のフィルタリングとコメントのレビュー
- 4.14スタティック化
- 4.15通知システム
- ブログのプロトコルまたは標準
- 5.1 RSS
- 5.2 ATOM
- 5.3 OPML
- 5.4 APML
- 5.5 FOAF
- 5.6 BlogML
- 5.7 Open Search
- 5.8 Pingback
- 5.9 Trackback
- 5.10 MetaWeblog
- 5.11 RSD
- 5.12 Reader Viewビュー
- ブログシステムの設計とは?
- 6.1タイムゾーンは本当にUTCですか?
- 6.2 HTMLとMarkdown
- 6.3 MVCまたはSPA
- 6.4安全性は
- 結びの言葉
“ブログ”の前世
ブログはブログではなくWeblogとして始まりましたが、多くの人が驚くかもしれませんが、Web 2.0の時代に生まれたのではなく、1997 年に生まれました。ブログは、初期のシングルユーザー(一人の著者)から、徐々にマルチユーザー(チーム)、ブログプラットフォームへと進化しました。Web 2.0の時代はブログにソーシャル属性を与え、読者がコメントしたり購読したり(RSS/ATOM)、ブロガー同士が互いに抱き合ったり(FOAF)、記事を引用したり(Pingback)、ブログが徐々に人気になってきた。
ブログシステムには、PHPにWord Press、. NETにBlogEngineがあります。最終的に、Word Pressは事実上のブログシステムの標準となり、CMSの機能も備えており、マイクロソフトの公式. NETチームのブログもWord Pressで構築されています。

ブログを読むユーザーは、ブラウザに加えてRSS/Atomリーダーも使用します。i Padが登場したばかりの時代、リーダーアプリは大流行しました。購読したブログに新しい記事があると、読者は自動的に収入を得るので、読者は毎日新しい記事をチェックする必要はありません。Microsoft 365 OutlookはRSSリーダーの機能を保持しています。
ブログは、自分を表現し、情報を広め、コミュニティと交流する最良の方法の1つであり続けていますが、マイクロブログの出現は、ブログを廃止することはできませんでした。したがって、ブログはインターネット上では、電子メールのように、“生姜はまだ古い辛い”、文化的キャリアとしてのブログは、長い間新しい、永続的な光を放射しています。
私のブログストーリー。
私のブログプロジェクトは2003 年にさかのぼります。中学生の頃、余暇にASPとAccessを独学で学び、ハッキング技術をテーマにした最初の個人的なウェブサイトを構築しました(若くてクールだと思った)。オリジナルと技術記事の転載に加えて、また、一般的に使用されるソフトウェアツールのダウンロードやその他のサービスを提供し、時には大学生がASPの卒業設計を完了するのを助けるふりをします(結局のところ、彼らは中学生だと言う誰も信じないでしょう)。2007 年に2年生になるまでこのシステムを維持していました。

大学入試の後、私はついに自分が知りたい技術を学ぶ時間がたくさんあり、親によく勉強していないと言われる心配はありません。私はASP.NET(VB)を独学で学び、個人的なウェブサイトの第二世代を構築し、テーマはもはやハッキング技術ではなく、従来のコンピュータ技術の共有、主にオリジナルの技術記事(ジャーナル)だけでなく、アルバム、ポッドキャストなどのSNS機能を開発し、2009 年にオンラインになり、2011 年まで維持されています。

2012 年に卒業した後、私はエンジニア(プログラム猿)になり、ソフトウェアのダウンロード、アルバム、ポッドキャストなどのコラムを維持するエネルギーがなかったので、技術的な記事だけを行うことにし、私のウェブサイトを大幅に改訂し、ブログの原型が出てきました。ブログを構築するために、私は同じ. NETのBlogEngineプロジェクトを参照しました。実際には、有名な. NETブログプラットフォームは、最初にBlogEngineプロジェクトを使用しており、当時はBoyiと呼ばれる中国語版もありました。しかし、他の人のプロジェクトを直接変更するのではなく、コードを理解して別の方法で実装することを選びました。この記事の後半で紹介することの多くは、この時期の学習から来ている。

毕业 7 年后,发现各项技术发展迅猛,.NET 技术与其他主流技术的竞争非常激烈,而长期在外企的我主要运用的还是 .NET 的技术。此时我下定决心,在业余时间里,用 .NET Core 重写我的博客系统,命名为 Moonglade,并开源到 GitHub(https://github.com/EdiWang/Moonglade)目前博客地址是 https://edi.wang。内容面向国外社区,部署在微软 Azure 的海外服务器上(国内访问可能较慢)。

2009 年から2020 年までの11年間、ASP.NET WebForm 2.0 VB.NET + Accessから現在のASP.NET MVC Core、C#8、Azure SQL Databaseまで、10年以上にわたる. NET開発プロセスにまたがるブログコードは、Azure App Service、Azure DNS、Azure DevOps、Azure Active Directory、Azure Blob、Azure AD、Azure CDNやApplication Insightsなどのテクノロジ。

ブログの聴衆は誰ですか?
ブログをデザインする前に、まず読者がどこから来たのかを明確にしましょう。これを理解することで、ユーザーが製品をどのように使用するかがわかります。それはまさにこの記事で紹介するブログのデザインとポイントです。
开发和运营博客 11 年的经验积累和数据统计告诉我,对于一个常规技术博客,95%以上的流量来自于搜索引擎,并且多数情况下读者只查看这一篇他们所需要的文章,固定读者或订阅用户占总流量的比例相当少。这是由于技术博客分享的内容多数为解决一个具体的技术问题。而技术人员遇到技术问题的第一反应就是去搜索引擎查找有没有人曾经遇到过并已经解决,有可能复制粘贴文章里的代码去解决自己项目里的问题后,就忘记了博主的存在。只有真正觉得博主的文章有一定水平,才会开始浏览博客里的其他内容。
不难发现,我们的用户入口几乎就是搜索引擎,所以一个优秀的博客系统,并不是只做好文字功夫,需要大量考虑SEO及其他针对机器和系统之间交互的博客协议,时刻考虑SEO也是贯穿本文的重点。
この記事では、コードの設計や技術実装を教えるのではなく、ブログシステムの設計アイデアやポイントを教えます。技術的には、有名なWord Press、古いブログengine.NET、そして私のMoongladeはすべてオープンソースであり、誰もがいつでも研究することができます。
** 次の記事では、ブログの基本機能について説明します **
ご心配ください。
