Wordpressだけではありません

CMS市場は長い間、Wordpress、Joomla、Drupalがトップ3に入る場所でした。これらの素晴らしい時代はすでに徐々に過ぎ去っていますが、新しいサイトの出現のダイナミクスで減速しているWPはまだリードしています。当然のことながら、活発なコミュニティ、膨大な数のプラグイン。ただし、この記事では、コンテンツ管理システム市場の「注目株」(こんにちは、Laravelベースのソリューション)についてはまったく取り上げません。むしろ、私たちの注意の対象でさえ、やや脇にある「黒い物質」になります。つまり-ドラムロール..。
静的サイト
2k20で統計が必要なのは誰ですか?
合理的な質問!電話インターネットとWindows95の時代はすでに過ぎているように思われますが、htmlコードの静的生成の需要は再び勢いを増し始めています。もちろん、良い企業は責任を負います。 Google PageSpeedは非常に優れた強力なUrfiです...一般的に、このWebページのパフォーマンスメーターは、世界のインターネットの進歩とすべてのWeb開発者の悩みの両方の原動力になり、フリーランサーにとってはなおさらです。このツールの測定結果はGoogleの基準に基づいており、これらがランキングの基礎であることは広く知られています。そして客観的には、ページを3秒以上ロードすると、バウンスの数が自動的に増加します。したがって、staticsは、CMS、フレームワーク、または自己作成オプションの力によって、ページの動的アセンブリを置き換えるか、それに加えて、代替ソリューションの1つになります。
,
勤務中、私はパーサーを含む多くのプロジェクトのサービスに従事していますが、eコマースの分野でのソリューションも提供しています。私は人生について不平を言っていませんが、問題は「2年生、小学校」のカテゴリーからではありませんでした。私は、開発者として、そしてマネージャーとして(そして、ご存知のように、私の小さなビジネスを管理するには、この分野のスキルも必要です)、ポーランド語の「dostałemsiędomartwegokąta」(一言で言えば、遠隔地に入る)です。条件は次のとおりです。インストールが簡単で、静的ページをいくつでも提供できるソリューションを数日以内に作成する必要があります。さらに、管理者は、FTP / SFTP接続を介して、またはFTP / SFTPにアクセスできない場合でも、このようなソリューションをすばやく削除してプロジェクトに追加できる必要があります。一方、最小バージョンはPHP5であることが条件でした。6そしてそれはすべての新しいバージョンのようにかなりよくサポートされるはずです。
管理者は
- 管理パネルを使用してページを削除/追加/変更します。
- ページのコンテンツをグローバルかつ迅速に検索します(さまざまなエンコーディング、言語を考慮に入れます。
- ファイル名で検索します。
- 管理パネルからワンクリックですべてのページの必要な要素を削除/挿入/変更します。
- ソリューションは、インストールとアンインストールが簡単である必要があります。
セキュリティでは、SQLインジェクションの使用やその他の作業の妨害を許可しないでください。
追加の義務は、APIを介して管理パネルとそのすべての機能を使用する機能です。大まかに言えば、50以上のドメインにそのような管理パネルがある場合、リクエストを送信できるようにすることで、それらにリモートでアクセスできるはずです。
チェコ共和国、夕方、夏、コーヒー
ジャイアントマウンテンでの非常に穏やかな夜は、怠惰にのみ貢献します。しかし、古い
証明が言うように、誰が機能しないのか...このように、私の考えを集め、私の精神と決断力を高めたので、私はデザインを始めました。この場合、手続き型ソリューションの作成が可能な限り成功することはあり得ないことは非常に明白です。将来的にシステムをサポートする可能性があることは周知の事実ですが、同時に、すべてをあまり変更したくありません。
そして、はい、くそー、私はほとんどのフレームワークですでに確立されたアプローチを転送することにしました-OOPとMVCの概念を1つのファイルに転送します。
パフォーマンスの観点からは、手続き主義が最善の選択肢かもしれませんが、次の点に注意してください。
- 増大するクライアントのニーズの側面と、Webアプリケーションのインターフェイスに新しい機能を追加する並行したニーズを忘れないでください。
- — , , ;
- — , “ ” , - -, -.
必要性がないため、当面は拠点を放棄することになりました。したがって、上記のすべての「モデル」という用語は、私のアーキテクチャでは実現されていない概念です。SQLインジェクションは原則としてもはや不可能であるため、ここでの実装の欠如は良い仕事をしました。
構造化
ファイルが1つあり、メインルールが1つしかないという事実から、ファイルを1つだけ追加する必要があります。その後、追加したディレクトリをすぐに操作および保守できます。クラスでさえ、「悪魔の足」からあなたを救うことはできません。
解決策は何ですか?
直感的に:ファイルをビューの構造部分に分割します。基本システムクラスが一番上にあり、コントローラーが低く、ビューがさらに低くなっていますが、バレエ全体がルートによって閉じられています。しばらくしてここでそれを忘れないように、各部分は説明付きのコメントからヘッダーを受け取りました:
/*
* This is the part for routing
*Additional information...
*/
機能的な命名-クラスメソッドは、camelCaseの慣例に従って命名され、機能的な役割に対応します。たとえば、「checkAdminCredentials」は、メソッドの理解しやすい定式化です。
可能なことすべてを説明する試み-開発の最後までこの意図に対応したとは言いませんが、最終的にはコードの速度と読みやすさの間で操作しましたが、静的htmlを取得するために//のようなコメントを重要な決定に添えることができました。
ルーティングはどのように行われますか?
インターフェースを多かれ少なかれ明確に分離する必要性は、私が重要な必要性としてすぐに受け入れました。このコンポーネントは、適切に実装されていない場合、どのコントローラーがどのルートを呼び出しているかが混乱するため、アプリケーションの「スパイク」になる可能性があります。
上記の問題に基づいて、ルーティング用のクラスをかなり原始的ですが機能的にしました。ルーティングはGETリクエストを使用して機能します-もちろん、完全に見た目に美しいわけではありませんが、迅速な実装の当面の必要性は100%解決です。ルーターは、Webアプリケーション(つまり、管理パネル)の唯一のエントリポイントになりました。これは、開発を容易にするための理想的なソリューションであると私は考えています。このクラスでは、Webアプリケーションのフロントエンドとバックエンドがアセンブルされ、生成されたHTMLがreturnによって出力されます。
質問:私は自転車を書きましたか?
同様の解決策が過去にすでに書かれているのではないかと思う傾向がありますが、2020年7月の時点で、英語、ポーランド語、チェコ語、ロシア語、ウクライナ語のいずれも、自分のケースに価値があり適用できるものを見つけるのに役立ちませんでした。だからこそ、クリエーターは私の中で「オン」になり、私は心の底から緊急のビジネス問題の解決策を設計しました。結局のところ、問題が発生した場合は、可能な限り迅速かつ経済的に解決する必要があり、さらに品質を忘れてはなりません。
パフォーマンスの明確な例
非常によく知られているCMSの1つで、その名前は通常は呼ばれません。
私の解決策:
明らかに、最初のバイトを取得する速度は、ダウンロード速度に関連する他のすべてのインジケーターと同様に、わずかに高速です。従来のCMSおよびこのミニソリューション。
続編はありますか?
現在、システムはほとんど作成されており、いくつかの更新が行われています。近い将来、私は何らかの形で文書を作成する予定ですが、彼は毎日内部の問題を完全に解決していると言わなければなりませんが、このソリューションを公開航海でリリースする予定です。PHP機能をバイパスして実装されたhtmlファイルのファイル検索とコンテンツ検索のセクションから、さらに面白くて面白い瞬間がいくつかあります。これにより、これらの要求の実行がはるかに高速になりました。近い将来、これらのトピックについて書くことを約束します。