原创 帶團隊後的日常思考(十三)

一、日常問題 1)你爲什麼不連數據庫   最近遇到個站內信的需求,在頁面中有個發送賬號的選擇框,現在要新增兩個官方賬號。   於是我就根據需求,讓產品提供相關信息,然後產品說服務端也維護着一套官方賬號,爲什麼不連數據庫或不調他們的接口,而是

原创 活動上線前後的優化清單

一、上線前的準備 1)圖像 1. 頁面中所有圖像是否都已壓縮 2. 是否有條件將圖像修改成性能更優的 webp 等格式 3. 頁面中的圖像數量是否可減少,例如活動中的規則等文案用文字替換 4. 頁面中的圖像是否支持懶加載或預加載,避免降低頁

原创 Node.js精進(12)——ElasticSearch

  ElasticSearch(簡稱 ES)是一款基於 Lucene 的分佈式、可擴展、RESTful 風格的全文檢索和數據分析引擎,擅長實時處理 PB 級別的數據。 一、基本概念 1)Lucene   Lucene 是一款開源免費、成熟權

原创 8月Node服務的3場事故

  有句話叫每一起嚴重事故的背後,必然有 29 次輕微事故和 300 起未遂先兆以及 1000 起事故隱患。   而我最近更是碰到了 3 起比較嚴重的線上事故,都是大意惹的禍。 一、數據庫鎖死   第一起事故發生在凌晨 4 點到 6 點,我

原创 再再讀產品思維

最近在閱讀《從點子到產品:產品經理的價值觀與方法論》,特在此做記錄。 1)三類需求不記 沒說清楚原因的需求,例如你做個XXX出來,別管那麼多。 不說清邏輯的需求,例如這裏我也沒搞懂,你先看看。 不說實際遇到的需求,例如我覺得困難有人會這樣

原创 再讀產品思維

最近在研讀《從需求到產品:0歲產品經理進階之道》,特在此做些記錄。 一、產品需求 1)需求產生 產品經理關注日常生活裏那些讓大衆煩惱不堪,又不得不應付的事情。 正確的需求,不依賴創造,也不再來自調研,而是來自客觀的數據分析及驗證,需要透過現

原创 API安全技術

  自己在日常工作中會涉及到些安全的概念,但是沒有成體系,因此最近研讀了《API安全技術與實戰》一書,在此做些文章記錄。   API安全是從安全的角度關注API領域的安全問題和這些問題的解決方案,從技術和管理兩個層面提高API自身和API周

原创 從零開始搞基建(5)——代碼質量

一、AppWorks   AppWorks 是一款基於 VS Code 插件的前端研發工具集。 1)AppWorks Doctor   我試用了其中的代碼質量檢測插件,這款插件會依賴 package.json 文件。      所以當前項目

原创 Node.js躬行記(28)——Cypress自動化測試實踐

  最近在研究如何提升項目質量,提煉了許多個用於自測的測試用例,但是每次修改後,都手工測試,成本太高,於是就想到了自動化測試。   在一年前已將 Cypress 集成到管理後臺的項目中,不過沒有投入到實踐中。今天在實踐時發現,版本已經到

原创 Node.js躬行記(27)——接口管理

  在頁面發生線上問題時,你要做的事情就是去查接口,響應數據是否正確,查接口的方法有兩種:   第一種是在瀏覽器中打開地址,但是你必須得知道詳細的 URL,並且有些頁面還需要附帶參數。   第二種是打開編輯器,啓動本地項目,然後查看訪問的接

原创 帶團隊後的日常思考(十二)

一、日常問題 1)補充產品文檔   最近版本迭代,其中涉及一塊舉報流程的優化,其實會涉及管理後臺發送站內信。   剛開始,大家都沒怎麼在意這個需求,但是在執行時才發現有許多細節沒有考慮到。   管理後臺的舉報頁面是在 2018 年開發的,當

原创 ChatGPT 和 Midjourney 初體驗

  ChatGPT 和 Midjourney 這兩個系統這些天紅的發紫,自己也嘗試着註冊和使用了一下。 一、ChatGPT   我在上週纔剛剛註冊 OpenAI,註冊過程也比較麻煩。   國內的 IP 是無法訪問 OpenAI 主頁的,所以

原创 如何去推動自己團隊所提出的需求

  自己團隊所提出的需求是指性能優化、技術棧升級、架構調整等需求,偏向於技術範疇。   要推動這類需求,除了自己團隊的努力之外,還需要一些外在的輔助因素。 一、時機   對於我們自己團隊內部就能消化的需求,主要的問題就是人員,只要人員充足,

原创 前端性能精進(六)——網絡

  網絡也是前端性能優化的重要一環,網頁上的資源都要經過網絡來傳輸。   優化網絡性能除了緩存和壓縮之外,還有就是協議和 CDN。   HTTP 協議已經歷了多個版本,每個版本的出現其實就是爲了解決已知的性能問題。   目前市面上,有許多成

原创 前端性能精進之瀏覽器(五)——JavaScript

  JavaScript 是一種通過解釋執行的高級編程語言,同時也是一門動態、弱類型的直譯腳本語言,適合面向對象(基於原型)和函數式的編程風格。   直譯語言可以直接在解釋器中運行,而與直譯語言相對應的編譯語言(例如 C++),要先將代碼編