昔々、注目に値する開発者が1人いました。簡単にするために、彼をVasyaと呼びます。 Vasyaは順調に進んでおり、IT部門の責任者であり、当局が大きな期待を寄せていた大きなポータルを作成しました。
Vasyaは、彼のポータルに素晴らしいアーキテクチャを構築しました。
管理パネル、これはユーザーの利便性のためです。 WinFormsで作成されました。 すべてのユーザーが、このパネルで手でJava Scriptを編集する必要があると疑うわけではありませんが、大丈夫です、生き残ることができます。 すべてがカサカサ音を立て、すべてが機能し、データベースはジャバスクリプトと混合したテキストの木で活発に満たされ、誰もが幸せです。 クライアント側も別の問題です。 ブラウザで見ることができるようにする必要があります。 Vasyaは、負荷の高いシステムには多くの要求があり、静的なページは非常にすばやく読み込まれることを理解していました。 したがって、ユーザーに静的ページを正確に提供します。1つであっても問題ありませんが、高速です。 「従来の開発手法では高速なサイトを作成することは不可能であり、常にパフォーマンスの面でハードウェアを圧倒する」ため、彼は通常のサイトを望んでいませんでした(C)。 したがって、彼は別の方法で、ロジックをクライアント側に転送することはすべてであり、数百キロバイトのJSコードを作成しました。その機能には、サーバーからハンドラーを介してコンテンツを含むデータベースにあるJavascriptのコードの読み込み、処理メニュー項目などを押す なぜなら Javascriptはクライアント側で動作するため、全体として何を書くかは気にしません。そのため、
また、開発プロセスでは、為替レートや天気などの取得など、重要なタスクが発生します。 これらのタスクは迅速かつ簡単に解決され、新しいハンドラーが作成され、ページが毎分要求し、ヘグドラーは中央銀行のホームページを要求し、そこからキロメートル単位でコースを引き出し、JSでデータをフレーミングして、すぐにページに登録して返信できるようにします。 なぜなら モジュール性が優れているため、天気には毎分独自のハンドラーと独自の課題があります。 目的の言語へのローカライズはデータベースで正しく行われましたが、真実はわずか30%です。便宜上、残りをJavaScriptとCode-Behindに均等に分散させるため、これらはすべてスイッチを使用して著しく実装されています。
選択したコード:
htmlページマークアップの生成:(およそコードの5〜6ページなど)
document.body.style.margin = "0px";
document.title = sTitle;
document.body.style.backgroundColor = sColor0;
document.body.style.backgroundImage = "url(" + sImgUrl0 + ")";
document.body.style.backgroundRepeat = "repeat-x";
tableMain = document.body.appendChild(document.createElement("table"));
tableMain.style.fontFamily = "serif";
tableMain.style.fontSize = "10.5pt";
tableMain.style.fontWeight = "bold";
tableMain.id = "tableMain";
tableMain.style.width = "100%";
tableMain.style.borderCollapse = "collapse";
tableMain.cellPadding = "0px";
データベース内のデータ:
⌠var var oCell; // . var divAny; ⌡var ⌠ini oCell = document.getElementById("cellInfo"); ⌡ini ⌠one ₢₢₢InfoClear(); ⌡one // 0 ₢₢₢A2Add(oCell,"∃∃∃"); oCell.appendChild(document.createTextNode("\u00A0\u00A0\u00A0")); // 1 ₢₢₢A2Add(oCell,"∃∃∃"); oCell.appendChild(document.createTextNode("\u00A0\u00A0\u00A0")); // 2 ₢₢₢A2Add(oCell,"∃∃∃","1_2_76_22"); oCell.appendChild(document.createTextNode("\u00A0\u00A0\u00A0")); // 3 ₢₢₢A2Add(oCell,"∃∃∃"); ₢₢₢BrAdd(oCell); ₢₢₢BrAdd(oCell); // 4 ₢₢₢TextAddDivBlack(oCell,"∃∃∃",1); ₢₢₢BrAdd(oCell); divAny=₢₢₢div6Add(oCell); // 5 ₢₢₢TextAdd(divAny,"∃∃∃"); ₢₢₢TextAdd(divAny,"www.bolshoybiznes.ru"); // 6 ₢₢₢TextAdd(divAny,"∃∃∃"); // 7 ₢₢₢TextAddBrDivGray(oCell,"∃∃∃"); // 8 ₢₢₢TextAddDivGray(oCell,"∃∃∃"); // 9 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 10 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 11 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 12 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); // 13 ₢₢₢TextAddBrDivBlack(oCell,"∃∃∃"); ₢₢₢BrAdd(oCell); // 13+4=17 divAny=₢₢₢divList6Add(oCell,["∃∃∃","∃∃∃","∃∃∃","∃∃∃"]);
為替レートの取得:
sAnswer = System.Text.Encoding.UTF8.GetString(oWebClient.DownloadData("http://cbr.ru/"))
tDate1 = oRegExInDate1.Match(oRegExDate1.Match(sAnswer).Value).Value
tDate2 = oRegExInDate2.Match(oRegExDate2.Match(sAnswer).Value).Value
dD1 = oRegExInD1.Match(oRegExD1.Match(sAnswer).Value).Value
dD2 = oRegExInD2.Match(oRegExD2.Match(sAnswer).Value).Value
dE1 = oRegExInE1.Match(oRegExE1.Match(sAnswer).Value).Value
dE2 = oRegExInE2.Match(oRegExE2.Match(sAnswer).Value).Value
なぜこれをすべて書いたのですか? はい、沸騰しているだけです。
最も悲しいこと:ヘルプの試みは敵意を持って認識され、すべてがそのまま残ります。 すべてに満足している人もいれば、洗練、サポートなどの面で次に何が起こるかを理解している人もいますが、まだそこにあります。