iT邦幫忙

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

技術 Day 08|哪些 Iterator Helpers 真的會消費 Iterator?

摘要 一句摘要:map()、filter()、take() 只建立 lazy pipeline;直到 toArray()、reduce()、some() 等 c...

鐵人賽 JavaScript

技術 Day 30|從生活問題回到軟體:為什麼 Reactive System 也是一張 Graph?

這 30 天,我們談過很多看起來完全不同的問題。排隊時,我們用了 Queue。復原操作時,我們看到了 Stack。找資料時,我們談 Hash Map。捷運路線讓...

鐵人賽 JavaScript DAY 30

技術 Day 29|為什麼工程師常常接受「夠好的答案」?

上一篇,我們看到一個很現實的問題: 理論上存在答案,不代表我們能在現實時間內找到答案 像 Knapsack、Scheduling、Routing 這些問題,...

鐵人賽 JavaScript DAY 29

技術 Day 28|為什麼有些問題知道怎麼算,卻還是算不完?

前幾篇,我們遇到了很多看起來不太一樣的問題。 例如: Knapsack:行李只能帶 20 公斤,哪些東西最值得帶? Scheduling:一天只有有限時間,工...

鐵人賽 JavaScript DAY 28

技術 Day 27|推薦系統真的只是在找你最喜歡的東西嗎?

上一篇,我們談到實驗課排程時,先把注意力放在一件很重要的事情上: 先找到一個符合所有條件的可行解 例如實驗課表必須滿足: 同一間實驗室不能重複借用 實驗室...

鐵人賽 JavaScript DAY 27

技術 Day 26|實驗課都要借實驗室,課表怎麼排?

上一篇,我們看了外送平台怎麼決定誰來送一張訂單。 乍看之下,好像只是 找距離最近的外送員,但真正的問題裡,可能同時存在: 路線距離 等待時間 外送員工作量 手...

鐵人賽 JavaScript DAY 26

技術 Day 25|外送平台怎麼決定誰來送你的餐?

上一篇,我們把「人與工作之間的分配」畫成了一張 Graph。例如: 問題變成: 哪一個人應該被分配到哪一件工作? 這就是匹配想處理的問題。但如果真的打開一個...

鐵人賽 JavaScript DAY 25

技術 Day 24|人多工作也多,到底誰該做哪一件?

上一篇,我們談的是排程 Scheduling。 當一天只有有限的時間,而每件工作都有自己的: 持續時間 開始 / 結束 期限 優先級 我們真正要解決的是:...

鐵人賽 JavaScript DAY 24

技術 Day 23|一天只有八小時,工作到底怎麼排?

上一篇,我們談了 Bin Packing。假設每台貨車的容量有限: capacity = 10 而所有箱子都必須送走,我們要思考的是: 怎麼把這些箱子分配到...

鐵人賽 JavaScript DAY 17

技術 Elysia + Eden:端到端型別安全,不再手刻 API 型別

前言 這裏更近一步講 Elysia 的部分,在 Elysia 的世界有一個值得提及的部分就是 Eden Treaty 有一段時間 trpc 在 nodejs...

鐵人賽 JavaScript DAY 7

技術 Day 07|Iterator Helpers:Lazy Pipeline 如何逐筆處理資料?

摘要 一句摘要:Iterator Helpers 會先接成處理管線;直到 consumer 要一筆資料,請求才會一路往上游 pull,值再逐步回到 cons...

鐵人賽 JavaScript DAY 23

技術 Day 22|所有箱子都要送走,最少需要幾台貨車?

上一篇,我們談了 Knapsack Problem。假設行李箱只能裝 20 公斤,而每件物品都有: 重量 價值 我們真正想解的是: 在有限容量裡,應該選哪...

鐵人賽 JavaScript DAY 22

技術 Day 21|行李只能帶 20 公斤,你要放什麼?

上一篇,我們透過找零錢問題看到,Greedy 每一步都選擇眼前看起來最好的選項,最後卻不一定能得到整體最佳解。我們也利用動態規劃,從較小金額的答案逐步推導,找出...

鐵人賽 JavaScript DAY 16

技術 Elysia.js 入門:為 Bun 設計的 Type-safe 後端框架

前言 隨著 Bun 的崛起,最具代表性的後端框架為 Elysia 在 bun beta 版的時候就有聽聞 Elysia 這個框架,在那時候開始 Hono 以及...

鐵人賽 JavaScript DAY 6

技術 Day 06|Iterator 也有 map / filter 了:ES2025 Iterator Helpers

摘要 一句摘要:ES2025 為既有的 Iterator 補上可串接的標準資料轉換 API。 前置知識:知道資料由 consumer 逐筆要求;需要時才處...

鐵人賽 JavaScript DAY 15

技術 Bun Macros:編譯時執行程式碼的黑魔法(下篇- 實戰例子篇)

前言 上一回我們講到 Macro 的基本操作,今天我們要講 Macro 比較進階的部分可能有人在上一篇比較多理論和基本觀念的部分,對於實戰派的朋友,可能雲裡霧...

鐵人賽 JavaScript DAY 5

技術 Day 05|資料何時才真的被產生?Iterator 的 pull 與 lazy 模式

摘要 一句摘要:Iterator 用 next() 讓 consumer 逐筆要求資料; 程式碼流程把工作延後到這個要求資料時才做時,才是真正的 lazy。 前...

鐵人賽 JavaScript DAY 4

技術 Day 04|Generator 的雙重身分:它同時是 Iterator 也是 Iterable

摘要 一句摘要:Generator 把手寫 iterator 的狀態管理改成順序程式碼;呼叫後得到的 generator 同時可 .next(),也可交給...

鐵人賽 JavaScript DAY 14

技術 Bun Macros:編譯時執行程式碼的黑魔法(上篇- 基礎篇)

前言 如果你曾經寫過一段 build script,專門用來讀取 package.json 版本號、抓取 Git commit hash,或是把某個 JSON...

鐵人賽 JavaScript DAY 3

技術 Day 03|for...of 怎麼拿資料?next()、break 與提前離開時的收尾

摘要 一句摘要:for...of 從 Day 02 的 iterable 取得 iterator 後,會一次呼叫一次 next(); 如果我們用 break...

鐵人賽 JavaScript DAY 2

技術 Day 02|為什麼 for...of 看得懂不同資料結構?

摘要 一句摘要:for...of 不需要認識 Array、Set 或字串的內部結構;它只找共同的 Symbol.iterator 入口。 前置知識:會使用...

鐵人賽 JavaScript DAY 1

技術 Day 01|為什麼想重新學一次 JavaScript?

為什麼寫這個系列 兩年前剛轉職進入前端,大部分時間都在追進度。 Vue、Pinia、TypeScript、Nx monorepo、React Native、Re...

鐵人賽 JavaScript DAY 13

技術 Bun Test:內建測試框架,Jest 相容的快速測試體驗

前言 在 ts/js 的專案中,測試框架會直接影響開發體驗還有 CI 的執行效率在遠古時代,普遍大家都用 Jest 作為業界的預設選項,(雖然我在業界普遍都是...

鐵人賽 JavaScript DAY 1

技術 Day01|寫下第一行 JavaScript,順便學會用 QA 的方式除錯

我,一名軟體測試工程師(QA)。這是我第一次參加 IT 邦幫忙鐵人賽,主題是:用 30 天從零學會 JavaScript,並做出一個能玩的小型戰鬥遊戲《勇者 v...

鐵人賽 JavaScript DAY 12

技術 Bun Shell:用 JS 寫 Shell Script,跨平台不頭痛

前言 不知道各位有沒有寫過,清空 build 目錄,跑幾個 cli 指令般檔案,壓縮輸出,在 mac 或是 linux 一行 bash 指令就可以搞定 如果...

鐵人賽 JavaScript DAY 30

技術 Day 30|三十天後:一款能玩的小遊戲,和幾件我會重做的事

模組六|測試、效能與上線(Day 26–30) 昨天列了一張「有檢查/沒檢查」的四格表。今天把整個專案的數字重跑一次收在一張表上,然後花更長的篇幅講另一張表...

鐵人賽 Modern Web DAY 19

技術 Day 19:我的表單焦點跳對了,畫面上卻沒有一個字說明原因

Day 19 · W3 · 無障礙線 · 難度 ★★★☆☆ 本系列由 AI 協作撰寫。 內容、技術判斷、程式碼由 light-design 數位顧問團隊與 C...

鐵人賽 JavaScript DAY 11

技術 Bun SQLite:內建資料庫支援,不需要額外安裝

前言 bun 從 v0.6 版之後就內建了 bun:sqlite 的模組不需要額外安裝依賴(像是 better-sqlite3)這個功能可以做非常多不錯的操作...

鐵人賽 Software Development DAY 4

技術 Day 04:案例——AI 生成的測試全綠,卻沒測到任何有意義的行為

前言:測試都通過了,為什麼還要懷疑? 「AI 幫這個方法寫了三個測試,全部綠燈,這樣應該可以放心合併了吧?」 這句話聽起來很合理——測試通過本來就是我們判斷「這...

鐵人賽 JavaScript DAY 29

技術 Day 29|合約寫了 27 條規則,只有 21 條有程式在執行

模組六|測試、效能與上線(Day 26–30) 昨天那三個 404 裡,第二個藏在 index.html 第 5 行——一條寫死的 favicon 路徑。同...