S SmartDocs

编程语言

Python、C、C++、Java、JavaScript、TypeScript、Go、R 与 Haskell 教程,从入门语法到高级技巧。

C++ 更新于 2026-06-15

Ch20:C++17 特性精選

掌握結構化綁定(structured bindings):從 pair/tuple/struct/array 解構,理解拷貝 vs 參考的差異 學會 if/switch 帶初始化語句,把變數作用域限制在分支內 理解 if constexpr 的編譯期分支,並用於樣板程式設計 熟練 std::optional(hasvalue/value/valueor 與 badoptionalaccess 陷阱) 熟練 std::variant(ho

阅读文章 →
C++ 更新于 2026-06-15

第二十一章:型別推導(Type Deduction)

1. 理解 auto 的三種推導情境(by value、auto&、auto&&)及其與 const、參考的交互 2. 看穿 auto 與大括號初始化(std::initializerlist)的陷阱 3. 掌握 decltype 的推導規則,並區分 decltypename 與 decltypeexpression 的關鍵差異 4. 學會使用 decltypeauto 進行回傳型別的完美轉發 5. 理解尾端回傳型別(trailing

阅读文章 →
C++ 更新于 2026-06-15

第二十二章:constexpr 與編譯期計算

1. 清楚區分 const(執行期常數)與 constexpr(編譯期常數) 2. 宣告並使用 constexpr 變數、函式與建構子(literal type) 3. 了解 C++11 → C++14 → C++17 對 constexpr 函式逐步放寬的限制 4. 判斷 constexpr 函式何時在編譯期執行、何時退化為執行期函式 5. 使用 if constexpr(C++17)做編譯期分支與死碼消除(dead code eli

阅读文章 →
C++ 更新于 2026-06-15

第二十三章:多執行緒程式設計(Multithreading)

1. 解釋並行(concurrency)與平行(parallelism)的差異,並判斷何時值得引入多執行緒 2. 使用 std::thread 以函式、lambda、成員函式、函式物件建立執行緒,並正確地 join / detach 3. 理解 joinable 狀態,避免「可 joinable 的執行緒被銷毀」導致 std::terminate 4. 正確地以值、std::ref、std::move 傳遞參數給執行緒 5. 說明資料競

阅读文章 →
C++ 更新于 2026-06-15

第二十四章:設計模式與最佳實踐

1. 解釋 SOLID 五大原則,並用 C++ 範例說明每一條如何改善設計 2. 區分創建型、結構型、行為型三大類設計模式 3. 實作執行緒安全的 Singleton(Meyers' Singleton),並說出它的批評與替代方案(依賴注入) 4. 實作 Observer 模式(push/pull、傳統繼承版與 std::function 現代版) 5. 實作 Strategy 模式(類別繼承版與 std::function 版),並判

阅读文章 →
C++ 更新于 2026-04-03

完整 C++ 教材 — 由淺到深

以 C++17 標準為主的繁體中文完整教材,從零基礎到進階主題。 每個章節包含 Markdown 概念說明 + 可直接編譯執行的 .cpp 範例程式。

阅读文章 →
Go 更新于 2026-04-18

Baasid backend project v1.1

用戶於登入系統請求成功後,Server 產生 JWT token 回傳給客戶端,且之後的CRUD Request 都需帶入 Token 取得 Response Data

阅读文章 →
Imperative Languages 更新于 2026-05-05

2nd Revision 2021 — 題目說明與詳解

課程:5CCS2PLD Programming Language Design Paradigms,King's College London 講者:Maribel Fernández & Odinaldo Rodrigues 題目來源:2ndrevision2021.pdf共 4 題 官方參考:2ndrevision2021answers.pdfsketch of sample solutions 本文件依題目 PDF 與官方 ske

阅读文章 →
Imperative Languages 更新于 2026-05-06

Imperative Languages — Formal Description using Abstract Machines

課程: 5CCS2PLD Programming Language Design Paradigms 學校: Department of Informatics, King's College London 主題: 以抽象機器(Abstract Machine)給予 SIMP 語言形式化的操作語義 本檔目的: 以 PDF 投影片內容為主幹,補完投影片未完整展開的推導、加入網路教材中常見的補充說明,並附高密度模擬考題與詳解。

阅读文章 →
Imperative Languages 更新于 2026-04-23

結構化操作語意學 Structural Operational Semantics, SOS

課程來源:King's College London — Imperative Languages, Maribel Fernández 核心教科書:Glynn Winskel, The Formal Semantics of Programming Languages Chapter 2 & 4 經典原始論文:Gordon D. Plotkin, A Structural Approach to Operational Semanti

阅读文章 →
Imperative Languages 更新于 2026-04-28

Week 5 Revision — 題目說明與詳解

課程: 5CCS2PLD Programming Language Design Paradigms(Maribel Fernández) 來源: Week 5 revision tasks(歷屆試題精選) 本文依題目 PDF 與參考答案 PDF 整理,並補上較完整的推導與概念說明。

阅读文章 →
Imperative Languages 更新于 2026-04-30

函數式程式設計:型別與語意 Types and Semantics

課程來源:5CCS2PLD — Programming Language Design Paradigms,King's College London 講者:Dr. Odinaldo Rodrigues / Prof. Maribel Fernández 對應講義:Week7TYPESANDSEMANTICS.pdf共 84 頁,4 小節:7.1–7.4 本份教材以「先理解、再形式化、再實作」的順序,把講義中的所有定義、規則、範例、練習

阅读文章 →
Imperative Languages 更新于 2026-05-06

Exam May 2024 — 題目說明與詳解

課程:5CCS2PLD Programming Language Design Paradigms,King's College London 講者:Maribel Fernández & Odinaldo Rodrigues 題目來源:exam2024.pdf共 2 大題、10+ 子題,本身附帶官方 sample answer 本文件依考題重新整理,補上完整概念複習、推導步驟、AST 圖、SLDtree 與計算過程,適合期末/期中考前

阅读文章 →
Imperative Languages 更新于 2026-05-06

Exam May 2025 — 題目說明與詳解

課程:5CCS2PLD Programming Language Design Paradigms,King's College London 講者:Maribel Fernández & Odinaldo Rodrigues 題目來源:exam2025.pdf共 2 大題、9 子題;附官方 sample answer 本文件依考題重新整理,補上完整概念複習、AST 圖、推導樹與 SLDtree、Prolog 追蹤過程,適合期末/期中考

阅读文章 →
Java 更新于 2026-04-07

Baasid後端面試題目v1.1

用戶於登入系統請求成功後,Server 產生 JWT token 回傳給客戶端,且之後的CRUD Request 都需帶入 Token 取得 Response Data

阅读文章 →
Java 更新于 2026-04-07

Baasid 後端面試專案 — 交付摘要

psql U postgres c "CREATE DATABASE baasid;"

阅读文章 →
Java 更新于 2026-04-09

Docker 與 Baasid 專案容器化說明

本文說明 Docker 是什麼、為何使用,以及如何在本專案(Spring Boot + PostgreSQL + Gradle)中 建置映像、執行容器,並逐項解釋相關指令與檔案。專案根目錄已提供:

阅读文章 →
Java 更新于 2026-04-07

Baasid 後端面試專案

Language: Java 21 Framework: Spring Boot 3.4 Database: PostgreSQL Security: JWT jjwt API Documentation: Swagger / OpenAPI 3 springdoc Build Tool: Gradle

阅读文章 →
Java 更新于 2026-04-07

Java 完整語法教材

本教材涵蓋 Java SE 的完整語法,從基礎到進階,適合初學者與有經驗的開發者參考。 範例基於 Java 17+(LTS),並涵蓋至 Java 21 的新特性。

阅读文章 →
C Programming Language EN 更新于 2026-02-03

Additional Advanced C Programming Topics Complete Summary

I have successfully created a complete library of advanced C programming topics as requested, covering all the sophisticated concepts you mentioned. This represents professionallevel C programming knowledge that goes wel

阅读文章 →
C Programming Language EN 更新于 2026-02-03

Assessment Tests and Projects

Time Limit: 60 minutes Total Points: 100

阅读文章 →
C Programming Language EN 更新于 2026-02-03

Comprehensive C Programming Curriculum

Example 1.1: Hello World c include <stdio.h

阅读文章 →
C Programming Language EN 更新于 2026-02-03

Complete Exercise Solutions

Solution 1.1: Personal Hello World c include <stdio.h

阅读文章 →
C Programming Language EN 更新于 2026-02-03

Intermediate Level Additions Advanced C Programming

I've significantly expanded the intermediate level with 5 new comprehensive C files focusing on pointers, structures, bit operations, and increment/decrement operators as requested.

阅读文章 →