什麼是 Smart Content Dependency ManagementTM

[已驗證 ] 上次更新時間者: Joe Schaefer 上的 週日, 21 4月 2024    來源
 

摘要

  • 智慧內容相依性管理™* 是關於為 * 增量構建 * 提供支持和面向的想法的圓圈,同時對 ** 內容標準化原則保持真 ** — 該* 永久鏈結 *.

本文將 https://sunstarsys.com/ 網站呈現為示範最佳做法和相關圖表拓樸分析的案例研究。

洞穴

這只有在您需要每次在網頁上調整內容時,加權執行完整網站建置的費用才有意義。如果您的網站中有不到 1K 個來源檔案,relax,然後閱讀下列內容,以滿足未來的需求。您選擇使用我們的平台,該平台旨在與您一起擴展,而不是對您反對。對於大部分的頁面,以下材料是關於具有超過 1K 頁的網站的 * 稀疏內容相依性圖形 *。

例如,Apache https://www.OpenOffice.Org 網站能夠使用這個建置系統的原始 Apache 版本建置超過 40K 的檔案,並完全整合支援增量建置— 無任何已設定的相依性—

依照預設,我們的建置系統只會建置您變更的檔案,而不需考量檔案內部相依性 (除非您在其中指定這些檔案) %path::相依性 — 下面還有更多功能。如果您變更的檔案位於範本 / 或者程式庫 /

編織您的網站 * 相依性圖 *

數學、* 拓樸 * τ\tau 是空間之 open 子集的完整規格XX,用以表示 points 之間的鄰近關係xx 的空間XX繁體中文時間XX 是圖表,* 主題 * τ\tau 針對XX 用於指定將圖形頂點連接在一起之邊緣的量 (此處的頂點會視為下列項目的 points) XX,而連接邊則確定這些點的鄰域為拓樸的「基底開放集」()。 導向的圖表拓樸 * 基本上是相同的項目,但會包含以下項目的拓樸內嵌參照(X,τ)(X,\tau) 進入較大的拓樸空間(Y,σ)(Y,\sigma)

後者的概念是討論 * 相依性圖表 * 拓樸時將使用的概念τ\tau 與空間相關聯XX 您網站下方的來源檔案內容 / 子目錄 (此處) (Y,σ)(Y,\sigma)Rn\mathbb{R}^n 其度量拓樸n{2,3}n \in \{2,3\},以及其邊緣XX 不相交,直接連接約旦曲線連接檔案xXx \in X 至其所屬的檔案集xx 相依於 :{xXxx}\set{x^\prime \in X | x \rightarrow x^\prime}

具有清楚瞭解您網站的 * 相依性圖表 * 可確保您大規模地發揮建置技術的效能繁體中文我們會取得您提供的資訊%path::相依性 組建載入您網站的過程中程式庫 /path.pm 檔案,建構相依檔案的反向對映,並使用 *that 反向對映 * 來決定要為任何指定檔案建置的完整檔案核心svn 確認

請務必注意,來源檔案之間的相依性關係可以和應該由來源檔案完全擷取%path::相依性 組建系統啟動載入期間的雜湊程式庫 /path.pm 從您的來源樹狀結構,這是我們包含的內建檢視方式SunStarSys::查看 Perl 套件的運作方式。最新消息walk_content_tree, 已封存,和seed_file_deps 可匯入公用程式函數SunStarSys::公用程式 有用的輔助建構%path::相依性

這是我們生活中的那一部分程式庫 /path.pm.

our (%dependencies, @acl);

# entries computed below at build-time, or drawn from the .deps cache file

walk_content_tree {

  $File::Find::prune = 1, return if m#^/(images|css|editor\.md|js|fontawesome)\b#;

  return if -d "content/$_";

  seed_file_deps, seed_file_acl if /\.(?:md|ya?ml)[^\/]*$/;

  for my $lang (qw/en es de ru sv he zh-TW fr/) {

    if (/\.md\.$lang$/ or m!/index\.html\.$lang$! or m!/files/|/slides/|/bin/!) {
      push @{$dependencies{"/sitemap.html.$lang"}}, $_ if !archived;
    }

    if (s!/index\.html\.$lang$!!) {
      $dependencies{"$_/index.html.$lang"} = [
        grep s/^content// && !archived,
        glob("'content$_'/*.{md.$lang,pl,pm,pptx}"),
        glob("'content$_'/*/index.html.$lang")
      ];
      push @{$dependencies{"$_/index.html.$lang"}}, grep -f && s/^content// && !m!/index\.html\.$lang!,
        glob("'content$_'/*") if m!/files\b!;
    }
  }
}
  and do {

    while  (my ($k, $v) = each %{$facts->{dependencies}}) {
      push @{$dependencies{$k}}, grep $k ne $_, grep s/^content// && !archived, map glob("'content'$_"), ref $v ? @$v : split /[;,]?\s+/, $v;
    }

    open my $fh, "<:encoding(UTF-8)", "lib/acl.yml" or die "Can't open acl.yml: $!";
    push @acl, @{Load join "", <$fh>};
  };

請仔細閱讀該程式碼,以瞭解您希望 * 您的網站 * 如何運作。是,有一些合理的複雜性 (涉及 Perl 的正規表示式和 Perl 的 UNIX C-shell) 以非常精確的方式連接介面) 如何%path::相依性

項目位於何處%path::相依性 產生?如果他們不是來自呼叫,walk_content_tree { seed_file_deps ... }, (基本上會深入分析您的 Markdown 來源檔案的標頭和內容),然後它們就會被硬式編碼成程式庫 /path.pm

循環相依性圖表為標準

我們的網站目前由240 個來源檔案 英吋內容 /繁體中文以下是85 頂點 x 465 邊,可捲動的二維導向圖表,以顯示最近在 ** 我們的網站 ** 的英文頁面相依性快照 (使用 GraphViz .

英文語言相依性.

非常複雜,即使是小型網站,也一樣!進行時有許多邊緣交集n=2n=2 (在維度中可避免) n=3n=3). 特別注意的是,我們網站中非封存檔案中的密集、循環相依性核心集。/ 天數 / 目錄,位於圖表的右下角,這是好部落格網站的相依性圖表應該看起來。這些相依性會繪製於紅曲線

另請注意元素的內部、基本上是隔離的互連性/ 分類 /*/* 以及/archives/2022/11/*繁體中文唯一的外部相依性涉及非存檔的內容/ 天數 /*繁體中文這是根據設計— 封存的短文應該只改變 * 大概 *,也許僅用於調整它們類別 標頭。這些變更都不會對現有的內容造成重大影響,因此我們不會在其中追蹤%path::相依性

當然,我們的Orion Enterprise Wiki.

這不是關於超連結的?

** 否!** 事實上,您網站的 *link 拓樸 * 與來源樹狀結構的 * 相依性圖表 * 完全獨立。搜尋引擎會自然地延伸出 *link 拓樸 *,但不會深入解析 * 相依性圖表 *。

以下是240+ 頂點 x 3859 邊,英文的目前鳥瞰圖 * 連結拓樸 * 圖表 ** 我們的網站 ** (使用 GraphViz 雙眼.

您能看到紅邊

SSI 技術如何提供協助

Traditional 伺服器端包括.

  • ** 極佳 ** 可將網站的 * 相依性圖表 * 縮減為可管理大小,而且不會影響頁面傳遞延遲
  • ** 極佳 ** 可在大型確認訊息中減少樣板流失,以便對等複查並監督您建立的變更集

樣板 API

ssi 標記

語法:

{% ssi `/content_rooted/path/to/source_file` %}

  • 根目錄位於內容 來源目錄
  • 略過來源檔案的標頭部分ssi 包含
ssi 篩選

語法:

{{ 內容 |ssi }}

  • 遞迴評估ssi 要篩選的值中的標記
  • 可避免使用較大的值 (3+) quick_deps@path::樣式
  • 難以安全地支援的裸機檔案系統抽象概念<virtualhost> 來龍去脈
  • 與傳統同調ssi 於完整網頁
  • 我們的Orion Enterprise Wiki.

永久連結的建構工具

文件策劃

Orion 的建置系統已整合支援我們所稱的 Document Curation,這是根據您設定的方式重新定義內容及重組內容的程序。分類 以及封存 Markdown 來源檔案中的標頭。這些功能預設為停用,但可透過設定來啟用category_root (適用於類別支援) 或archive_root (適用於「存檔」支援) 在關聯的 hashref 引數中,到想要的@path::樣式

分類
  • 使用範本建構新內容ssi 移除標記時,指向永久連結位置的標記封存 建構來源頁面的標頭
  • 類別為嚴格加法 (亦即,從來源頁面的標頭移除類別並不會將其從即時網站的該類別中移除),
  • 按要求產生
已封存頁面

在我們的網站上,我們積極封存過時的短文,以保持新短文的建立時間,而不會破壞封存文件的永久連結。相對於 * 相依性圖表 * / 歸檔 /

  • 使用範本建構的內容ssi 移除標記時,指向永久連結位置的標記分類 以及封存 建構來源頁面的標頭
  • 內容於/ (工作日 | 客戶) / 永遠是永久連結,即使在歸檔後
Lede

內嵌於 LED 內容之 Markdown 形式界限中的 HTML 註解。我們使用 **{# 潛在客戶編號}

處理中 LED 是使用 範本篩選條件。將此項目與下列項目結合是很有用的:ssi

結論

從建置效能的觀點處理網站的 * 相依性圖表 * 時,尚有一些有趣的資料結構和關係,這比研究文獻上資料結構和相關問題 * 連結拓樸 * 1,2 更是感興趣的新領域。

純軟體開發專案的傳統增量建置仍是熱門主題。3,4 所涵蓋的研究發表於 2022 年 10 月,大約這個短文預計要完成的一個月。pluto 5 建置系統的功能與我們的功能相當類似 (建置本身可以動態重新產生和重建相依性)。

好消息是,我們已將您視為我們的客戶。我們將讓您瞭解此空間中的最佳實務和藝術狀態,因此您將從過去十年和未來所學到的經驗中獲益。

註腳

  1. 根據連結拓樸識別 Web 圖表中的叢集.

  2. 從連結拓樸推斷 Web 社群 第九屆 ACM 會議關於超文字和超媒體的訴訟:連結、物件、時間和空間— 超媒體系統中的結構:連結、物件、時間和空間—

  3. 增量建置軟體組態的優點與限制:探索式研究.

  4. 邁向軟體組態的增量建置.

  5. 具有動態相依性的聲音和最佳增量建置系統.

永久鏈結  #architecture   #builds   #generation   #graph   #incremental   #smart   #topology   #website   #wiki   #世代   #增量   #架構   #相依性  

 

     

註解  


附件 

連結 


索引

日星星級限定


2020 年 3 月 COVID-19

  • 指數成長與新冠肺炎 (COVID-19) — 使用 ** 數學 ** 區段節省您的時間— 成為受過教育且與當前疫情相關的統計資料消費者非常重要 … 週四, 06 3月 2025

 


Heyoka



NonFunctional 測試


 

  • 郵件群組 — 這些暫時地址是必要的ezmlm-idx 語言的訂閱和協調管制系統 … 週六, 27 4月 2024

 

  • 資訊安全入門 — 所有源自程式實際執行 UNIX ** 系統呼叫 ** 的資料都應視為 ** 保留 ** … 週六, 27 4月 2024

 

  • The Joy of DTrace — 測量兩次,切掉一次,再投入程式碼最佳化工作 … 週三, 17 4月 2024

 


 

  • 應用程式效能 — 許多開發人員陷入思考效能最佳化的困境,在於讓每一行程式碼儘可能有效率 … 週二, 23 4月 2024

 

  • 垃圾信問題 … — 單一最佳外掛程式qpsmtpd,雖然很難理解原因 … 週日, 29 1月 2023

雙曲蜂巢


刺青和羽毛


 

  • DevOps 移動 — 「移動」背後的大想法不只是為開發人員提供更多繩索 … 週五, 15 12月 2023

 

  • 玩 htop — 熱門 Unix 平台的進階 htop 功能 … 週四, 19 1月 2023

資訊架構

  • 資訊架構 — 與設計、簡報、關係和架構限制相關的整個技術,涵蓋您服務的每個 URL … 週一, 11 3月 2024