Websocket / Socket.IO

Websocket / Socket.IO

Websocket

Websocket是Html5的一種網路協定,用於前端瀏覽器(Client)與後端(Server)的溝通,協定只需要連線一次,除非有一方斷開連接,否則就會一直存在,不需重複請求,常用實作於聊天室、訊息推播、共同編輯上。

Read more
Typescript Note 2 - OOP / class / interface

Typescript Note 2 - OOP / class / interface

物件導向 OOP / class 設計圖

在物件導向的架構中,每個物件都具有接收訊息,處理資料以及發送訊息給其他物件的能力。

一個簡易的會員資料集

屬性:

  • name
  • age
  • address

    功能:

  • 新增資料
  • 更新資料
  • 刪除資料
Read more
Typescript Note - 安裝 / 型別 / 用法

Typescript Note - 安裝 / 型別 / 用法

Typescript 編譯安裝指令

  1. 全域安裝Typescriptnpm install -g typescript
  2. 專案資料夾 初始化 tsc --init 生成 tsconfig.json 配置檔
  3. Typescript compiler tsc hello.ts tsc 檔案名稱
  4. live watch tsc --watch
  5. 查看Typescript版本 tsc -v
Read more
[React] 一些比較容易忘記的筆記
[用JS來寫演算法和了解資料結構] Day15 動態規劃 Dynamic programming - Closure / Fibonacci numbers

[用JS來寫演算法和了解資料結構] Day15 動態規劃 Dynamic programming - Closure / Fibonacci numbers

動態規劃 Dynamic programming

  • using ‘Cache’ Memoization

動態規劃的基本思想是將「原始問題」分解成多個「子問題」,先求解並「儲存」這些子問題的解到 cache,然後通過這些子問題的解來提供給原問題。這樣做的目的是避免重複計算,從而提高算法的效率。

  • Dynamic Programming = Divide-and-Conquer + Memoization (Cache)
    與 分而治之 Divide-and-Conquer 很像,但最大的差別是子問題大多類似,並先儲存子問題的解到 cache,之後需要使用到時就不用重複計算
Read more
[用JS來寫演算法和了解資料結構] Day10 Algorithm - Searching / Traversal
[用JS來寫演算法和了解資料結構] Day12 Algorithm - Sorting 排序

[用JS來寫演算法和了解資料結構] Day12 Algorithm - Sorting 排序

Sorting 排序

  • 排序 Sorting:
    Comparison Sort
  1. 氣泡排序 Bubble Sort - Time O(n) or O(n^2) / Space - O(1)

  2. 選擇排序 Selection Sort - Time O(n^2) / Space - O(1)

  3. 插入排序 Insertion Sort - Time O(n) or O(n^2) / Space - O(1)

  4. 合併排序 Merge Sort - Time O(n log n) / Space - O(n)

  5. 快速排序 Quick Sort - Time O(n log n) / Space - O(log n)

  • 合併排序 Merge Sort 和 快速排序 Quick Sort 用 Divide and Conquer Recursion 方式

  • Heap Sort

Non-Comparison Sort

  • Counting Sort
  • Radix Sort
Read more
[用JS來寫演算法和了解資料結構] Day12 Algorithm - Recursion 遞迴 - Factorial / Fibonacci numbers
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×