原创 5分鐘入門 next13

上半年vercel 推出了nextjs13 這個大版本,剛好最近有個c端的項目,所以就用了這個框架來寫,技術體系基本也是文檔提到的 tailwindcss + ts + swr + ssr ,總的來開發體驗還可以,不管是打包速度、文檔、錯

原创 window 安裝多個低版本chrome測試

最近在用next13做一個簡單的項目,需要兼容chrome 60+以上版本,爲了方便測試,特意在公司的臺式機上安裝了低版本的chrome。 這裏簡單記錄下高版本覆蓋低版本的問題,這個方法不影響Windows系統內已安裝的Chrome。 下載

原创 tailwindcss -原子化 CSS 框架

原子化 CSS 框架 我記得很久之前有時候爲了少寫些css,我們通常會有如下的樣板代碼 .block { display: block; } .flex { display:flex } .flex-center { alig

原创 前端認識docker

Docker 是什麼 先看看百科的定義: Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的Linux或Windows操作系統的機器上,也可以實現虛擬化。容器是完全使

原创 M1 安裝redis 報錯問題 {assert {[r memory usage key] < 42000}} proc ::test)

mac m1 安裝redis基本步驟 官方下載安裝包 https://redis.io/download/ 然後解壓  進入目錄輸入測試命令: sudo make test 沒問題進行安裝:sudo make install 安裝成功

原创 nodejs 入門基本操作

操作fs模塊 const path = require("path"); const fs = require("fs"); /* 相對路徑是命令窗口執行的目錄 node 提供了path模塊來操作路徑相關的api, 其中__dirname

原创 nodejs 入門基本概念

nodejs 的誕生   Node.js 是2009的時候由大神 Ryan Dahl 開發的。Ryan 的本職工作是用 C++ 寫服務器,後來他總結出一個經驗,一個高性能服務器應該是滿足“事件驅動,非阻塞 I/O”模型的。C++ 開發起來

原创 學node 之前你要知道這些

初識nodejs   19年年底一個偶然的機會接到年會任務,有微信掃碼登錄、投票、彈幕等功能,於是決定用node 來寫幾個服務,結果也比較順利。   當時用看了下koa2的官方文檔,知道怎麼連接數據庫、怎麼映射表實體,怎麼處理http,怎

原创 基礎知識小結

爲什麼會存在這個   大概在2021年中左右,我決定未來5-8年還是在搞技術,所以我就在想我該如何完善自己的知識體系,要怎麼樣才能成爲一個合格的、專業的前端工程師,如果後面不止於前端,我要怎麼樣才能在這個行業走的更遠。所以就有了先提升基

原创 行爲型:迭代器模式

定義   迭代器模式提供一種方法按順序訪問一個聚合對象中的各個元素,而又不暴露該對象的內部表示。迭代器模式是目的性極強的模式,它主要是用來解決遍歷問題。 es6 中的迭代器   JS原生的集合類型數據結構,有Array(數組)和Obje

原创 行爲型:發佈訂閱模式

定義     發佈訂閱模式是基於一個事件(主題)通道,希望接收通知的對象Subscriber (訂閱者)通過自定義事件訂閱主題,被激活事件的對象 Publisher (發佈者)通過發佈主題事件的方式通知訂閱者 Subscriber (訂

原创 行爲型:觀察者模式

定義 觀察者模式屬於行爲型模式,它定義了對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都將得到通知,並自動更新。 一種一對多的關係中一稱爲被觀察者也叫目標對象Subject而多則稱爲觀察者對象Observer

原创 結構型:策略模式

定義   定義一系列的算法,將他們一個個封裝起來,使他們直接可以相互替換。   算法:就是寫的邏輯可以是你任何一個功能函數的邏輯 封裝:就是把某一功能點對應的邏輯給抽出來 可替換:建立在封裝的基礎上,這些獨立的算法可以很方便的替換

原创 結構型-代理模式

定義   代理是一個中間者的角色,如生活中的中介,出於種種考慮/限制,一個對象不能直接訪問另一個對象,需要一個第三者(中間代理)牽線搭橋從而間接達到訪問目的,這樣的就是代理模式。 es6 中的代理   es6 的 proxy

原创 結構型-裝飾器模式

定義   如果希望動態給某個類添加一些屬性或者方法,但是你又不希望這個類派生的對象受到影響,那麼裝飾器模式就可以給你帶來這樣的體驗。 它的定義就是在不改變原對象的基礎上,通過對其進行包裝拓展,使得原有對象可以動態具有更多功能,從而滿足用