博客 RSS 訂閱

陌路凡歌 - Nginx配置單頁應用

上一期我們講了如何在一個新服務器上用Nginx跑起一個前端項目,但是還有很多缺陷,比如我們想在這個Nginx下跑多個項目怎麼辦,spa單頁項目常見的刷新空白原因及處理等等,本篇將一一介紹。 同端口多項目配置 假設我們有兩個單頁項目,一個pc官網,一個mobile官網,我們都想跑在上期8082端口上,這時候發現我們上一期部署的文件夾是直接放在www目錄下的,這可不行,文件全放這下面都不能區分是哪個項

單頁面應用 , Nginx , spa , 前端

收藏 評論

註銷 - 將您的基於 Accelerator 的 SAP 電商雲 Storefront 遷移到 Spartacus Storefront

原文:Migrate Your Accelerator-based Storefront to Project Spartacus 如果您已閲讀過“遷移到 Spartacus javascript storefront 項目的五個原因”和“SAP Commerce Cloud Project Spartacus 入門”這兩篇文章,您可能想要遷移到基於無狀態高性能架構的 storefront, 並且

vue.js , sap , spa , 前端 , Javascript

收藏 評論

光頭顏 - UML之模型、包及包的版型(構造型)

包是UML模型的組織結構,也是UML項目的配置管理結構。包存在多個層級,除了頂層包,所有包隸屬於一個且僅隸屬於一個上層包。在項目不同階段實際推進與配置過程中,通常以不同層級的包為單位進行check-in、check-out、打標籤及建立基準。許多項目會在計劃的時間點進行正式的官方評審,例如系統需求評審(SRR)、系統設計評審(SDR)、初步設計評審(PDR)、關鍵設計評審(CDR)或測試準備評審(

面向對象

收藏 評論

註銷 - SAP Spartacus develop branch 的服務器端渲染啓動方式

(1) yarn build:libs 這個命令行是完成本地 library 的構建。需要將近10分鐘。 (2) 這個命令是完成 shell app 的構建。 yarn build --prod 命令行裏出現的 40.76 來自 .env-cmdrc 文件: 需要將近3分鐘。 (3) 使用如下命令進行服務器端 shell 應用的構建: yarn build:ssr 需要將近1分鐘。

angular , bootstrap , sap , spa , Javascript

收藏 評論

光頭顏 - UML之屬性與參數的多重性

在UML中,多重性是指一個條目潛在的數量範圍。多重性可被用於屬性、操作參數、關聯關係。UML元模型也使用多重性對元模型元素之間的關係進行約束。多重性總是包含基數值,它是相關條目在現實世界中的確切數量。本文將説明類屬性和類操作參數的多重性。 一、屬性的多重性 假設我們需要定義一個表示書的Book類,它包含有一系列的屬性。我們只選取其中的書名(title)、作者(author)、頁數(pa

面向對象

收藏 評論

光頭顏 - UML之集合類型

無論何時當我們要使用一個多值對象時,我們必須要清楚兩個問題,一是這些值的順序重要嗎?二是允許重複值的存在嗎?在編程語言中還會有其他的明確的信息,在UML中,只需明確這兩個問題的答案即可確定對應的集合類型。 1.Set Set是一個不允許存在重複值且未排序的集合。 例如一個騎行活動中,有許多騎手參加。每個騎手在一個騎行活動中只可能出現一次,即任一個特定的騎手在騎行活動中不可能重複出現;每個參與

面向對象

收藏 評論

光頭顏 - UML之關聯

關聯指兩個類之間的各種聯繫。UML使用各種單實線表示關聯,這個單實線可以是直線(垂直的、水平的或者傾斜的)、折線甚至曲線。 事實上,關聯也是展示類的屬性的另一外的一種形式。例如在下圖中,我們通過一條實線連接類Book和類Person,表示它們之間存在關聯。在關聯的末端,標出多重性[*]和關聯端名稱(通常稱為“角色名稱”)author。 從上圖中我們可以看到關聯端名稱(角色名稱)

面向對象

收藏 評論

光頭顏 - UML之組合與聚合

關聯和鏈接關係在很多情況下是對稱的,即被關聯的兩個類都有以自己為源端對方為目標端的角色存在,而且角色與源端類的屬性是等價的,即在關聯一端的關聯端(角色)等價於另外一端的屬性。例如,在下圖中,我們可以認為author:Person是類Book的一個屬性,而myBooks:Person是類Person的一個屬性。 關於關聯的詳細信息,可參閲《UML之關聯》一文。 如果希望表達一種非

面向對象

收藏 評論

光頭顏 - UML之泛化、特化和繼承

在UML(統一建模語言)中,泛化(Generalization)和特化(Specialization)是面向對象思想中繼承(Inheritance)關係的重要概念,它們描述類與類(或用例與用例、參與者與參與者等)之間的一般與特殊的關係。 泛化是一種表示類之間繼承關係的方式,它指定了子類如何特化超類(父類)的所有特徵和行為。在UML中,泛化關係通過帶空心三角箭頭的實線表示,箭頭指向超類。這種關

面向對象

收藏 評論

光頭顏 - UML之發現用例

用例是最簡單的UML元素,用例圖是最簡單的UML圖,但它也可能是UML中最有用的元素之一。儘管我們用包將工作分解為工作包、團隊任務或單項任務,也就是説包是組織UML中的各種圖及元素的工具。但是用例圖可以幫助我們確定任務,以及應當如何將它們分組並確定工作範圍。 每個用例都代表用户希望系統幫助實現的一個目的或目標。例如,對於銀行ATM機,客户希望使用它來取款、存款、轉賬或者修改密碼等,而銀行則希

面向對象

收藏 評論

SlackClimb - Servlet詳解

概念 Servlet是運行在服務端的小程序(Server Applet),可以處理客户端的請求並返回響應,主要用於構建動態的Web應用,是SpringMVC的基礎。 生命週期 加載和初始化 懶加載(默認在客户端第一次請求加載到容器中),通過反射實例化,並調用init(),且init()只能被調用一次,因此每個Servlet是單例的,需注意線程安全。 請求處理 Servlet 容器

面向對象

收藏 評論

CareySon - 對象命名為何需要避免'-er'和'-or'後綴

之前寫過兩篇關於軟件工程中對象命名的文章:開發中對象命名的一點思考與對象命名怎麼上手?從現實世界,但感覺還是沒有説透, 在軟件工程中,如果問我什麼最重要,我的答案是對象命名。良好的命名能夠反映系統的本質,使代碼更具可讀性和可維護性。本文通過具體例子,探討為何應該以對象本質而非功能來命名,以及不當命名可能帶來的長期問題。 一個例子 這個例子是我最近看到的一段代碼,用於解釋SOLID中的依賴

面向對象

收藏 評論

註銷 - SAP 電商雲 Spartacus UI 的響應式 UI 實現細節

在文件 projects\storefrontlib\layout\config\default-layout.config.ts 裏,定義了各個屏幕尺寸所對應的 breakpoint: export const defaultLayoutConfig: LayoutConfig = { breakpoints: { xs: 576, sm: 768, md: 992,

angular , bootstrap , sap , spa , typescript

收藏 評論

CareySon - 為什麼構造函數需要儘可能的簡單

最近在做一些代碼重構,涉及到Python中部分代碼重構後,單元測試實現較為麻煩甚至難以實現的場景,其中一個主要的原因是構造函數過於複雜。 因此,本篇文章藉此總結一下我們應該需要什麼樣的構造函數。本篇文章涉及的概念不僅限於Python。 構造函數是什麼 構造函數用於創建對象時觸發,如果不自定義構造函數,通常現代的編程語言在編譯時會自動加一個無參的構造函數,同時將類成員設置成默認值,

面向對象

收藏 評論

是銘不是明 - 行為型設計模式——觀察者模式

觀察者模式(Observer Pattern)是一種行為型設計模式,通過定義對象間一對多的依賴關係實現狀態變化的自動通知機制,廣泛應用於解耦事件發佈與訂閲場景 適用於 ①當一個抽象模型有兩個方面,其中一個方面依賴於另一個方面。將這兩者封裝在獨立地對象中以使它們可以各自獨立地改變和複用。 ②當對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變時。 ③當一個對象必須通知其他對象,而它

面向對象

收藏 評論

等時圓~ - NCHU OOP BLOG1--電梯調度程序

NCHU OOP BLOG1--電梯調度程序 目錄 1.前言 2.設計與分析 3.踩坑心得 4.改進建議 5.總結 正文 1.前言   這三次大作業主要圍繞的對電梯的調度來展開,調度算法為LOOK算法,實際上,比現實中的一些電梯所用算法更簡單。   其中,第一次作業難度最大,後面兩次作業進行迭代並不難;   考點主要是類和對象,以及類與類之間的關係,還包括jav

面向對象

收藏 評論

杭州程序員張張 - [譯]Vue.js + Astro 比 Vue SPA 更好嗎?

最近有很多開發者宣佈他們已經將網站遷移到Astro。這通常伴隨着一張接近完美的Lighthouse分數的截圖和一系列火箭表情符號。 像大多數人一樣,我發現無休止的新框架會讓人感到厭倦。但我對Astro做了一些研究,認為它真的值得一試。 在本文中,我將向您展示如何使用 Astro 構建基於 Vue 的應用程序,我們將瞭解其獨特的架構如何帶來比單頁應用程序 (SPA) 更好的性能。 SPA 架構回顧

astro , vue.js , spa , 前端

收藏 評論

Sereln - 題目集8~9總結性Blog

一、前言 對這兩次題目集的總結: 這兩次題目集相較於上次迭代作業來説,在題目量和難度上都做了下調。但要求我們在理解題目意思、設計好程序結構、掌握並運用知識這三方面有一定的要求。涉及到類的繼承與多態,抽象類的設計和抽象方法的靈活運用。以及面向對象的幾種程序設計的原則(單一職責原則、里氏代換原則、開閉原則、合成複用原則)。鍛鍊我們面向接口編程的能力。需要我們不斷規範自己的類設計、優化代碼結構、降

面向對象

收藏 評論

註銷 - SAP 電商雲 Spartacus UI 裏的 Content Security Policy

內容安全策略(Content Security Policy,簡稱 CSP)是一種工具,允許開發人員指定在通過 Web 瀏覽器訪問 Storefront 頁面時允許加載哪些位置和哪些類型的資源。 可以使用內容安全策略來鎖定店面應用程序,並降低內容注入漏洞的風險,例如跨站點腳本 (XSS)、代碼注入和點擊劫持攻擊(clickjacking),以及降低您的店面應用程序執行的權限。 Target Pol

node.js , sap , spa , 前端 , Javascript

收藏 評論

zhbhun - 現代前端原生路由:Navigation API

原文:https://github.com/zhbhun/blo... Navigation API 是 Chrome 提出的一套導航 API,提供了操作和攔截導航的能力,以及對應用程序的歷史導航記錄進行訪問。這為 window.history 和 window.location 提供了一個更有用的替代品,特別是 SPA 這種模式。目前該 API 只有 Chromium 內核的瀏覽器才支持。 W

history.js , navigator , spa , Javascript

收藏 評論

Sereln - 第三次Blog作業

一、前言 對整門課程的概要性總結,從工作量與難度兩大角度展開分析,總體説明學習體驗。 (一)工作量評估 學習任務 工作量星級 詳細説明 Blog 作業 ⭐⭐⭐ 工作量在可接受範圍。Blog作業主要是在每次的PTA迭代作業完成後,要求我們對這次迭代作業或者是對於課程的學習,完成一個總結型的文章,然後時間要求在一週時間內完成。考慮到需

面向對象

收藏 評論

beckyyyy - 單頁應用的優缺點

上月面試海康威視的一道面試題。 單頁應用,即常説的SPA,Single Page Application,從名稱上就可以看出它最大的特點,就是單頁面,即只有一個頁面;相對的就是多頁面,即MPA,Multi-Page Application。 在多頁面的情況下,我們在切換不同頁面時,需要向服務器發送多次請求來獲取不同頁面內容,在獲取到內容後,整個瀏覽器視口需要被重新渲染,而等待服務器的響應需要一定的

單頁應用 , 面試問題 , spa , 前端 , Javascript

收藏 評論

TANKING - 原生JavaScript實現的SPA單頁應用(hash路由)

什麼叫做SPA單頁應用 單頁Web應用 (single page web application,SPA) ,就是隻有一張Web頁面的應用,是加載單個HTML 頁面並在用户與應用程序交互時動態更新該頁面的Web應用程序。 單頁應用的説法是在JavaScript和AJAX技術比較成熟以後才出現的,指的是通過瀏覽器訪問一個網站時,只需要加載一個入口頁面,此後顯示的內容和數據都不會再刷新瀏覽器頁面。有了

vue.js , 單頁應用 , 路由 , spa , Javascript

收藏 評論

京東雲開發者 - 微前端框架single-spa子應用加載解析

作者:京東物流 寧衝 1 前言 什麼是微前端? 微前端是指存在於瀏覽器中的微服務。 本文主要通過對微前端框架single-spa的基座應用加載子應用的single-spa-vue函數庫進行分析,通過代碼維度分析讓大家瞭解在single-spa加載子應用的時候都做了哪些事情。如何通過優化single-spa-vue函數庫保持子應用的狀態。 由於是在代碼維度進行分析,要求讀者對single-sp

微前端 , 程序員 , spa , 前端 , Javascript

收藏 評論