iT邦幫忙

javascript相關文章
共有 5912 則文章
鐵人賽 JavaScript DAY 28

技術 Day 28|同一份 build、兩個部署目標、三種 404

模組六|測試、效能與上線(Day 26–30) 昨天講完效能預算訂了沒量。今天講部署,而且要先撤回一個標題。 這一天原本要叫「GitHub Pages 的...

鐵人賽 JavaScript DAY 10

技術 Bun File I/O:讀寫檔案與 AWS s3 完美整合

前言 作為一名 AWS 的忠實用戶,使用 s3 存放檔案是日常常見的事情以往如果要用 nodejs 就要用 aws-sdk 去實現相關行為,bun 基本上有內...

鐵人賽 JavaScript DAY 27

技術 Day 27|效能預算:我訂了十二列,一列都沒量過

模組六|測試、效能與上線(Day 26–30) 昨天講完測試的分工,也講了 CI 只跑四個命令。今天講一張比測試更早存在的東西:效能預算表。 這個專案在寫任...

鐵人賽 JavaScript DAY 9

技術 Bun File I/O:讀寫檔案比 Node.js fs 更直覺

前言 每個程式語言都有他與檔案處理和溝通的方式,當然 nodejs 也不例外,當然在 bun 這方面也是非常厲害,甚至比想像中多不少東西,今天我們會一一介紹一...

鐵人賽 JavaScript DAY 21

技術 Day 20|每一步都選最好,為什麼最後可能不是最好?

上一篇,我們用找零錢的問題認識了 Greedy。假設要找 67 元,可以使用 50、10、5、1 的面額。當我們每一步都選擇: 不超過剩餘金額的最大面額 會...

鐵人賽 JavaScript DAY 20

技術 Day 19|找零錢為什麼很自然會想到 Greedy?

前幾篇,我們一路從 dependency、propagation 談到 Graph 本身也可能隨著系統執行而改變。到這裡,我們已經不只是在描述資料結構,也開始面...

鐵人賽 JavaScript DAY 19

技術 Day 18|當 Graph 本身也會改變,問題有什麼不同?

上一篇,我們談到 dependency 不只可以描述: 誰必須先完成? 也可以幫助我們回答: 當某個東西改變時,哪些地方可能需要跟著重新計算? 例如:...

鐵人賽 JavaScript DAY 18

技術 Day 17|改一個東西,為什麼會影響很多地方?

上一篇,我們把 npm 專案看成了一張 Dependency Graph。當一個 package 依賴另一個 package 時,我們可以把關係畫成 A → B...

鐵人賽 JavaScript DAY 17

技術 Day 16|你的 npm 專案其實是一張 Dependency Graph

前幾篇,我們已經從「事情的先後順序」一路談到有向圖、Cycle、DAG 與拓樸排序。例如: A → B → C 代表: B 依賴 A,C 又依賴 B 這種...

鐵人賽 JavaScript DAY 16

技術 Day 15|如果大家都有先後關係,要怎麼排順序?

上一篇我們看到,Dependency Graph 最麻煩的情況之一,就是出現循環。例如: A → B → C → A 如果箭頭代表: 前面的工作必須先完成,...

鐵人賽 JavaScript DAY 15

技術 Day 14|A 等 B,B 又等 A:Cycle 為什麼麻煩?

上一篇我們開始把「事情必須按照先後順序完成」畫成有向圖。例如: 買食材 → 備料 → 烹煮 → 上桌 箭頭代表 dependency: A → B 可以理解...

鐵人賽 JavaScript DAY 14

技術 Day 13|為什麼有些事情一定要先做完?

前幾天我們一直用 Graph 描述「東西之間怎麼連在一起」。例如捷運路網: 我們在意的是: 從 A 能不能走到 F?哪條路比較短?哪條路花的時間比較少? 但...

鐵人賽 JavaScript DAY 13

技術 Day 12|導航為什麼不能只靠 BFS?

上一篇我們討論 BFS 時,用了一個很適合它的問題: 從 A 到 F,最少要經過幾個站? 只要每經過一個站,都把它看成相同的一步,BFS 就能一層一層往外搜...

鐵人賽 JavaScript DAY 12

技術 Day 11|DFS 和 BFS 到底哪個比較好?

前兩篇,我們分別看過了兩種很常見的 Graph 搜尋方式: Graph + Stack → DFS Graph + Queue → BFS DFS 選擇先沿著...

鐵人賽 JavaScript DAY 11

技術 Day 10|捷運最少經過幾站:為什麼 BFS 很適合?

上一篇談到 DFS 時,我們做了一個很明確的選擇: 先沿著一條路一路走到底 這是一種搜尋策略。但如果今天問題換方向了呢? 假設我們面前不是迷宮,而是一張捷運...

鐵人賽 JavaScript DAY 10

技術 Day 9|在迷宮裡一路走到底:DFS 在做什麼?

昨天我們終於把 Graph 從紙上的線條,變成程式真的能保存的資料。例如一張簡化的路網: 我們可以用 Adjacency List 表示: const grap...

鐵人賽 JavaScript DAY 9

技術 Day 8|Graph 在程式裡到底長什麼樣子?

上一篇我們用捷運路網理解 Graph。例如有幾個站點: 如果把它看成 Graph: 每個車站是一個 node 站與站之間的連接是一條 edge 畫出來很直...

鐵人賽 JavaScript DAY 8

技術 Day 7|捷運路網為什麼不是一棵 Tree?

上一篇我們從資料夾開始認識 Tree。像這樣: Documents ├─ Work │ ├─ report.pdf │ └─ meeting.md │ └─...

鐵人賽 JavaScript DAY 7

技術 Day 6|資料夾為什麼看起來像一棵 Tree?

前幾篇我們一直在問一個很類似的問題: 資料要怎麼拿? Queue 說:最早進來的先拿 Stack 說:最後進來的先拿 Priority Queue 說:最...

鐵人賽 JavaScript DAY 6

技術 Day 5|通訊錄為什麼不用從第一個人開始找?

前面幾篇,我們其實一直在討論同一類操作需求: 下一個要拿哪一筆資料? Queue 的答案是最早進來的那一筆。 Priority Queue 的答案是現在最...

鐵人賽 JavaScript DAY 26

技術 Day 26|測什麼、不測什麼:我規劃了三層測試,中間那層一個檔案都沒有

模組六|測試、效能與上線(Day 26–30) 昨天講完存檔:九條通往「當作全新存檔」的路徑,每一條都有測試。今天把鏡頭拉遠,看整個專案的測試長什麼樣。 先...

鐵人賽 JavaScript DAY 5

技術 Day 4|為什麼「復原」要從最後一步開始?

上一篇談 Priority Queue 時,我們看到了一件很重要的事: 資料不一定按照進來的時間被處理,「誰先被拿出來」本身就是問題的一部分。 Queue...

鐵人賽 JavaScript DAY 4

技術 Day 3|急診室為什麼不能只用 Queue?

上一篇我們從超商結帳、客服電話與列印工作認識了 Queue。簡單複習一下 Queue,例如四個人依序進入隊伍: A → B → C → D 那麼處理順序自然就...

鐵人賽 JavaScript DAY 3

技術 Day 2|排隊為什麼需要 Queue?

你走進超商,前面已經有三個人在排隊。你站到隊伍最後面,等待前面的人依序結帳。我甚至不用特別講,你也能腦補這個機制: 第一個來的人先結帳 第二個來的人接著結帳...

鐵人賽 JavaScript DAY 30

技術 Day 30|鐵人賽結束,屬於我的下一個挑戰開始!

今天的故事 真的寫到 Day 30 了。 如果現在要我說這 30 天最大的感受,我第一個想到的,其實跟剛開始做 PawPal 的時候很像。 就是: 我根本沒有...

鐵人賽 JavaScript DAY 8

技術 Bun.serve():打造高效能 HTTP Server,一行程式碼搞定

前言 以前老 nodejs 玩家肯定知道 express, koa Fastify 等相關框架可以快速啟動 web services在 nodejs 的世界裡...

鐵人賽 JavaScript DAY 25

技術 Day 25|版本號我第一天就加了,它只買到偵測,沒買到遷移

模組五|關卡、UI 與資料(Day 21–25) 昨天的素材是我準備好放進 repo 的。今天這份資料不是——它是玩家自己產生的,存在他的瀏覽器裡,我改不到...

鐵人賽 JavaScript DAY 29

技術 Day 29|這 30 天,我從一個新手變成了什麼樣的人?

今天的故事 寫到 Day 29,我開始回頭想一個問題: 「這 30 天,我到底變成了什麼樣的人?」 如果只看技術,我不敢說自己突然會了很多。 有些東西我現在還是...

鐵人賽 JavaScript DAY 7

技術 Bun 的 Bundler:內建打包,in-memory bundling(下篇-特別篇)

前言 In-memory bundling(虛擬檔案),這算是比較冷門的部分,不過因為他可以跑在記憶體上面的特性,因此主要普遍多用來進行測試,這樣反而低估它本...

鐵人賽 JavaScript DAY 24

技術 Day 24|素材載入:SVG 變成 Texture 之後,就不是向量了

模組五|關卡、UI 與資料(Day 21–25) 昨天講場景切換要清乾淨自己配置的東西。今天往前推一步:這些東西是怎麼進到記憶體裡的。 先攤開數字。這個專案...