Minor Fixes & Chapter 3 splitting
This commit is contained in:
@@ -115,7 +115,7 @@ Linux การใช้ตัวฝังตัว โค้ด Flutter สา
|
||||
- ดำเนินการตามตรรกะทางธุรกิจ
|
||||
- นักพัฒนาแอปเป็นเจ้าของ
|
||||
- เฟรมเวิร์ก (Framework)
|
||||
- ให้ API ระดับสูงสำหรับการสร้างแอปคุณภาพสูง (ตัวอย่างเช่น วิดเจ็ต การทดสอบการกด
|
||||
- ให้ API ระดับสูงสำหรับการสร้างแอปคุณภาพสูง (ตัวอย่างเช่น วิดเจ็ต การทดสอบการกด#jb
|
||||
การตรวจจับท่าทาง การเข้าถึงได้ และการอินพุตข้อความ)
|
||||
- ประกอบต้นวิดเจ็ตของแอปพลิเคชันเป็นฉาก
|
||||
#pagebreak()
|
||||
|
||||
+2
-2
@@ -121,8 +121,8 @@ HTTP เริ่มต้นด้วย "http://" และใช้พอร
|
||||
|
||||
=== ชั้นเครือข่าย
|
||||
|
||||
#iiii HTTP ทำงานที่เลเยอร์สูงสุดของโมเดล TCP/IP นั่นคือเลเยอร์แอปพลิเคชัน
|
||||
เช่นเดียวกับโปรโตคอลความปลอดภัย TLS (ซึ่งทำงานเป็นเลเยอร์ย่อยที่ต่ำกว่าของเลเยอร์เดียวกัน)
|
||||
#iiii HTTP ทำงานที่เลเยอร์สูงสุดของโมเดล TCP/IP นั่นคือเลเยอร์แอปพลิเคชัน#jb
|
||||
เช่นเดียวกับโปรโตคอลความปลอดภัย TLS (ซึ่งทำงานเป็นเลเยอร์ย่อยที่ต่ำกว่าของเลเยอร์เดียวกัน)#jb
|
||||
ซึ่งเข้ารหัสข้อความ HTTP ก่อนส่ง และถอดรหัสเมื่อข้อความมาถึง โดยเคร่งครัดแล้ว HTTPS
|
||||
ไม่ใช่โปรโตคอลใหม่ที่แยกจากกัน แต่หมายถึงการใช้ HTTP ทั่วไปบนการเชื่อมต่อ SSL/TLS ที่เข้ารหัส
|
||||
(เป็นส่วนต่อขยายจาก HTTP อย่างที่กล่าวไปข้างต้น)
|
||||
|
||||
+3
-3
@@ -28,9 +28,9 @@ ISM ที่ไม่มีใบอนุญาต ซึ่งใช้กั
|
||||
|
||||
#iii โปรแกรมอนุญาตสิทธิ์สิทธิบัตรสำหรับ NFC กำลังอยู่ระหว่างการใช้งานโดย France Brevets
|
||||
ซึ่งเป็นกองทุนสิทธิบัตรที่จัดตั้งขึ้นในปี 2011 โปรแกรมนี้อยู่ระหว่างการพัฒนาโดย Via Licensing
|
||||
Corporation ซึ่งเป็นบริษัทสาขาอิสระของ Dolby Laboratories และยุติลงในเดือนพฤษภาคม 2012
|
||||
ไลบรารี NFC แบบโอเพนซอร์สและอิสระต่อแพลตฟอร์ม libnfc
|
||||
มีให้บริการภายใต้ใบอนุญาตสาธารณะทั่วไปแบบผ่อนปรนของ GNU
|
||||
Corporation ซึ่งเป็นบริษัทสาขาอิสระของ Dolby Laboratories และยุติลงในเดือน#jb พฤษภาคม
|
||||
2012 ไลบรารี NFC แบบโอเพนซอร์สและอิสระต่อแพลตฟอร์ม libnfc มีให้บริการภายใต้ใบอนุญาต GNU
|
||||
Lesser General Public License (LGPL)
|
||||
|
||||
#iii แอปพลิเคชันปัจจุบันและที่คาดว่าจะมีในอนาคต ได้แก่ ธุรกรรมแบบไร้สัมผัส การแลกเปลี่ยนข้อมูล
|
||||
และการตั้งค่าการสื่อสารที่ซับซ้อนมากขึ้น เช่น Wi-Fi ที่ง่าย
|
||||
|
||||
+2
-93
@@ -123,104 +123,13 @@
|
||||
|
||||
=== ผังการดำเนินงาน
|
||||
|
||||
#diagram(
|
||||
node-stroke: 1pt,
|
||||
spacing: 2em,
|
||||
node((0, 0), [เริ่มต้น], shape: pill),
|
||||
edge("-|>"),
|
||||
node((0, 1), shape: circle, radius: 1em),
|
||||
edge("-|>"),
|
||||
node((0, 2), [ศึกษาข้อมูลและทฤษฏีที่เกี่ยวข้อง], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 3), [ออกแบบและวางแผนการดําเนินงาน], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 4), [เครื่องยืนยันตัวตนด้วย NFC], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 5), [ทดสอบประสิทธิภาพ], shape: diamond),
|
||||
edge("r,u,u,u,u,l", "-|>", [ไม่ผ่าน]),
|
||||
edge("-|>", [ผ่าน]),
|
||||
node((0, 6), [จัดทำเอกสาร], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 7), [นำเสนอ], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 8), [สิ้นสุด], shape: pill),
|
||||
)
|
||||
#include "ProjectFlowchart.typ"
|
||||
|
||||
#pagebreak()
|
||||
|
||||
=== ผังการทำงาน
|
||||
|
||||
#diagram(
|
||||
node-stroke: 1pt,
|
||||
spacing: 2em,
|
||||
node([เริ่มต้น], shape: pill),
|
||||
edge("-|>"),
|
||||
node((1, 0), [ตั้งค่า LittleFS]),
|
||||
edge("-|>"),
|
||||
|
||||
node((1, 2), [มี Wi-Fi บันทึก\ ไว้อยู่หรือไม่], shape: diamond),
|
||||
edge("l", "-|>", [ไม่มี]),
|
||||
edge((1, 2), (1, 3), "-|>", [มี]),
|
||||
|
||||
node((0, 2), [รอรับรายละเอียดเครือข่าย\ (ESP-Touch)]),
|
||||
edge("d,r", "-|>"),
|
||||
node((1, 3), [เชื่อมต่อเครือข่าย]),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 4), [มีอุปกรณ์ควบคุม\ หลักแล้วหรือไม่], shape: diamond),
|
||||
edge("-|>", [ไม่มี]),
|
||||
edge("d", "-|>", [มี]),
|
||||
|
||||
node((1, 4), [สร้างโทเค็นสำหรับการยืนยัน\ อุปกรณ์ควบคุมหลัก]),
|
||||
edge("-|>"),
|
||||
|
||||
node((1, 5), [รออุปกรณ์ควบคุมหลัก\ แตะเซนเซอร์ NFC]),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 5), [ตั้งค่าเซิร์ฟเวอร์ HTTPS]),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 6), shape: circle, radius: 1em),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 7), [มีการแตะเซนเซอร์\ NFC ขาเข้าหรือไม่], shape: diamond),
|
||||
edge("-|>", [ไม่มี]),
|
||||
|
||||
node((0, 9), [มีคนผ่านเซนเซอร์ PIR\ โดยไม่ได้รับอนุญาตหรือไม่], shape: diamond),
|
||||
edge((0, 9), (0, 10), [ไม่มี]),
|
||||
edge((0, 7), (1, 6), "-|>", [มี]),
|
||||
|
||||
node((1, 6), [อยู่ในโหมดลงทะเบียน\ หรือไม่], shape: diamond),
|
||||
edge("-|>", [ใช่]),
|
||||
edge((1, 6), (2, 7), [ไม่]),
|
||||
|
||||
node((1, 7), [นำ ID อุปกรณ์เข้า\ สู่รายการทะเบียน]),
|
||||
edge((1, 7), (0.6, 7), (0, 9), "-|>"),
|
||||
|
||||
node((2, 7), [ID ของอุปกรณ์อยู่\ ในทะเบียนหรือไม่], shape: diamond),
|
||||
edge("-|>", [อยู่]),
|
||||
edge((2, 7), (1, 8), "-|>", [ไม่อยู่], label-sep: -5pt),
|
||||
|
||||
node((2, 8), [ส่งเสียงคอนเฟิร์ม]),
|
||||
edge((2, 8), (2, 8.5), (0.4, 8.5), (0, 9), "-|>"),
|
||||
|
||||
node((1, 8), [ส่งเสียงแสดงความผิดพลาด]),
|
||||
edge((1, 8), (0.5, 8), (0, 9), "-|>"),
|
||||
|
||||
node((1, 9), [แจ้งเตือนทางเสียง\ และแอปพลิเคชัน]),
|
||||
edge((1, 9), (0, 10), "-|>"),
|
||||
edge((0, 10), (1, 10), "-|>", [มี]),
|
||||
|
||||
node((0, 10), [มีคำขอ HTTPS\ ใหม่หรือไม่], shape: diamond),
|
||||
edge((0, 10), (-2, 10), "-|>", [ไม่มี], label-pos: 10%),
|
||||
edge((0, 9), (1, 9), "-|>", [มี], label-anchor: "center", label-sep: -8pt),
|
||||
|
||||
node((1, 10), [ประมวลผลคำขอ HTTPS]),
|
||||
edge((1, 10), (1, 11), (-2, 11), (-2, 10), "-|>"),
|
||||
|
||||
node((-2, 10), shape: circle, radius: 1em),
|
||||
edge((-2, 10), (-2, 6), (0, 6), "-|>"),
|
||||
)
|
||||
#include "ProductFlowchart.typ"
|
||||
|
||||
#pagebreak()
|
||||
#set par(leading: 1em)
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
#import "@preview/fletcher:0.5.8" as fletcher: diagram, edge, node
|
||||
#import fletcher.shapes: circle, diamond, pill
|
||||
|
||||
#diagram(
|
||||
node-stroke: 1pt,
|
||||
spacing: 2em,
|
||||
node([เริ่มต้น], shape: pill),
|
||||
edge("-|>"),
|
||||
node((1, 0), [ตั้งค่า LittleFS]),
|
||||
edge("-|>"),
|
||||
|
||||
node((1, 2), [มี Wi-Fi บันทึก\ ไว้อยู่หรือไม่], shape: diamond),
|
||||
edge("l", "-|>", [ไม่มี]),
|
||||
edge((1, 2), (1, 3), "-|>", [มี]),
|
||||
|
||||
node((0, 2), [รอรับรายละเอียดเครือข่าย\ (ESP-Touch)]),
|
||||
edge("d,r", "-|>"),
|
||||
node((1, 3), [เชื่อมต่อเครือข่าย]),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 4), [มีอุปกรณ์ควบคุม\ หลักแล้วหรือไม่], shape: diamond),
|
||||
edge("-|>", [ไม่มี]),
|
||||
edge("d", "-|>", [มี]),
|
||||
|
||||
node((1, 4), [สร้างโทเค็นสำหรับการยืนยัน\ อุปกรณ์ควบคุมหลัก]),
|
||||
edge("-|>"),
|
||||
|
||||
node((1, 5), [รออุปกรณ์ควบคุมหลัก\ แตะเซนเซอร์ NFC]),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 5), [ตั้งค่าเซิร์ฟเวอร์ HTTPS]),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 6), shape: circle, radius: 1em),
|
||||
edge("-|>"),
|
||||
|
||||
node((0, 7), [มีการแตะเซนเซอร์\ NFC ขาเข้าหรือไม่], shape: diamond),
|
||||
edge("-|>", [ไม่มี]),
|
||||
|
||||
node((0, 9), [มีคนผ่านเซนเซอร์ PIR\ โดยไม่ได้รับอนุญาตหรือไม่], shape: diamond),
|
||||
edge((0, 9), (0, 10), [ไม่มี]),
|
||||
edge((0, 7), (1, 6), "-|>", [มี]),
|
||||
|
||||
node((1, 6), [อยู่ในโหมดลงทะเบียน\ หรือไม่], shape: diamond),
|
||||
edge("-|>", [ใช่]),
|
||||
edge((1, 6), (2, 7), [ไม่]),
|
||||
|
||||
node((1, 7), [นำ ID อุปกรณ์เข้า\ สู่รายการทะเบียน]),
|
||||
edge((1, 7), (0.6, 7), (0, 9), "-|>"),
|
||||
|
||||
node((2, 7), [ID ของอุปกรณ์อยู่\ ในทะเบียนหรือไม่], shape: diamond),
|
||||
edge("-|>", [อยู่]),
|
||||
edge((2, 7), (1, 8), "-|>", [ไม่อยู่], label-sep: -5pt),
|
||||
|
||||
node((2, 8), [ส่งเสียงคอนเฟิร์ม]),
|
||||
edge((2, 8), (2, 8.5), (0.4, 8.5), (0, 9), "-|>"),
|
||||
|
||||
node((1, 8), [ส่งเสียงแสดงความผิดพลาด]),
|
||||
edge((1, 8), (0.5, 8), (0, 9), "-|>"),
|
||||
|
||||
node((1, 9), [แจ้งเตือนทางเสียง\ และแอปพลิเคชัน]),
|
||||
edge((1, 9), (0, 10), "-|>"),
|
||||
edge((0, 10), (1, 10), "-|>", [มี]),
|
||||
|
||||
node((0, 10), [มีคำขอ HTTPS\ ใหม่หรือไม่], shape: diamond),
|
||||
edge((0, 10), (-2, 10), "-|>", [ไม่มี], label-pos: 10%),
|
||||
edge((0, 9), (1, 9), "-|>", [มี], label-anchor: "center", label-sep: -8pt),
|
||||
|
||||
node((1, 10), [ประมวลผลคำขอ HTTPS]),
|
||||
edge((1, 10), (1, 11), (-2, 11), (-2, 10), "-|>"),
|
||||
|
||||
node((-2, 10), shape: circle, radius: 1em),
|
||||
edge((-2, 10), (-2, 6), (0, 6), "-|>"),
|
||||
)
|
||||
@@ -0,0 +1,25 @@
|
||||
#import "@preview/fletcher:0.5.8" as fletcher: diagram, edge, node
|
||||
#import fletcher.shapes: circle, diamond, pill
|
||||
|
||||
#diagram(
|
||||
node-stroke: 1pt,
|
||||
spacing: 2em,
|
||||
node((0, 0), [เริ่มต้น], shape: pill),
|
||||
edge("-|>"),
|
||||
node((0, 1), shape: circle, radius: 1em),
|
||||
edge("-|>"),
|
||||
node((0, 2), [ศึกษาข้อมูลและทฤษฏีที่เกี่ยวข้อง], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 3), [ออกแบบและวางแผนการดําเนินงาน], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 4), [เครื่องยืนยันตัวตนด้วย NFC], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 5), [ทดสอบประสิทธิภาพ], shape: diamond),
|
||||
edge("r,u,u,u,u,l", "-|>", [ไม่ผ่าน]),
|
||||
edge("-|>", [ผ่าน]),
|
||||
node((0, 6), [จัดทำเอกสาร], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 7), [นำเสนอ], width: 2.5in),
|
||||
edge("-|>"),
|
||||
node((0, 8), [สิ้นสุด], shape: pill),
|
||||
)
|
||||
+3
-1
@@ -336,7 +336,9 @@ ansiC:
|
||||
date: 1988
|
||||
serial-number:
|
||||
isbn: 0131101633
|
||||
url: https://archive.org/details/the-ansi-c-programming-language-by-brian-w.-kernighan-dennis-m.-ritchie.org
|
||||
url:
|
||||
date: 2025-12-11
|
||||
value: https://archive.org/details/the-ansi-c-programming-language-by-brian-w.-kernighan-dennis-m.-ritchie.org
|
||||
|
||||
ghEsp32Partition:
|
||||
type: Web
|
||||
|
||||
Reference in New Issue
Block a user