-
Notifications
You must be signed in to change notification settings - Fork 6
/
14s-vocabulary.md.erb
87 lines (48 loc) · 11.2 KB
/
14s-vocabulary.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
---
title: Meteor Vocabulary
slug: meteor-vocabulary
date: 0014/01/02
number: 14.5
sidebar: true
contents: ทบทวนความหมายของศัพท์ที่ใช้กันบ่อยใน Meteor
paragraphs: 24
---
#### ไคลเอนต์ (Client)
เมื่อเราพูดถึงไคลเอนต์ เราหมายถึง โค้ดที่ทำงานใน *เว็บเบราว์เซอร์* ของผู้ใช้งาน ไม่ว่าจะเป็นเบราว์เซอร์แบบธรรมดา เช่น ไฟร์ฟ็อกซ์ หรือ ซาฟารี หรือ บางอย่างที่ซับซ้อน เช่น UIWebView ในแอปพลิเคชั่นของ iPhone
#### คอลเลกชั่น (Collection)
คอลเลกชั่นของ Meteor คือ ที่จัดเก็บข้อมูลซึ่งทำการซิงโครไนซ์ระหว่างไคลเอนต์กับเซิร์ฟเวอร์โดยอัตโนมัติ คอลเลกชั่นมีชื่อ (เช่น 'posts`) และโดยทั่วไปจะอยู่ทั้งบนไคลเอนต์และเซิร์ฟเวอร์ ถึงแม้ว่ามันจะทำงานแตกต่างกัน แต่พวกมันก็มี API ร่วมกัน โดยมีพื้นฐานมาจาก API ของ Mongo
#### ส่วนประมวลผล (Computation)
ส่วนประมวลผล คือ บล็อกของโค้ดที่ทำงานทุกครั้งเมื่อแหล่งข้อมูลแบบรีแอคทีฟที่มันเชื่อมโยงอยู่มีการเปลี่ยนแปลงอย่างน้อยหนึ่งตัว ซึ่งถ้าคุณมีแหล่งข้อมูลรีแอคทีฟ (เช่น ตัวแปรเซสชั่น) และต้องการให้ตอบสนองแบบรีแอคทีฟกับมัน คุณก็ต้องสร้างส่วนประมวลผลให้มัน
#### เคอร์เซอร์ (Cursor)
เคอร์เซอร์ คือ ผลลัพธ์จากการทำงานของการสอบถามข้อมูลกับคอลเลกชั่น Mongo โดยในฝั่งไคลเอนต์ เคอร์เซอร์ไม่ได้เป็นแค่อาร์เรย์ของผลลัพธ์เท่านั้น แต่ยังเป็นอ็อบเจกต์แบบ *รีแอกทีฟ* ซึ่งสามารถติดตามได้ว่า มีการเพิ่ม ลบ และอัพเดท อ็อบเจกต์ที่สัมพันธ์กับคอลเลกชั่นหรือไม่
#### DDP
DDP คือ โปรโตคอลการกระจายข้อมูล (Distributed Data Protocol) ของ Meteor เป็นโปรโตคอลเพื่อใช้ซิงโครไนซ์คอลเลกชั่น และเรียกใช้เมธอด ซึ่ง DDP ถูกวางตัวให้เป็นโปรโตคอลพื้นฐาน ใช้ทำงานแทน HTTP กับแอปพลิเคชันแบบเรียลไทม์ที่มีการใช้ข้อมูลมาก
#### Tracker
Tracker คือ ระบบรีแอคทีฟของ Meteor ซึ่ง Tracker ถูกใช้งานอยู่เบื้องหลัง เพื่อทำให้ HTML มีความสอดคล้องกับโมเดลข้อมูลข้างหลังอย่างอัตโนมัติ
#### เอกสาร (Document)
Mongo คือ ฐานข้อมูลแบบเอกสาร (document-based) ทำให้อ็อบเจกต์ที่ออกมาจากคอลเลกชั่นถูกเรียกว่า "เอกสาร" ซึ่ง ก็คือ อ็อบเจกต์จาวาสคริปต์พื้นฐาน (แม้ว่ามันจะไม่สามารถมีฟังก์ชันข้างในได้ก็ตาม) ที่มีค่าคุณสมบัติพิเศษ `_id` ซึ่ง Meteor ใช้ติดตามคุณสมบัติต่างๆของมันทาง DDP
#### ตัวช่วย (Helpers)
เมื่อเทมเพลทต้องการสร้างอะไรบางอย่างที่ซับซ้อนกว่าค่าคุณสมบัติของเอกสาร มันจะเรียกใช้ ตัวช่วย ที่เป็นฟังก์ชันซึ่งช่วยในการสร้างข้อมูล
#### การชดเชยความล่าช้า (Latency Compensation)
คือ เทคนิคที่ยอมให้มีการจำลองการเรียกใช้เมธอดบนไคลเอนต์ เพื่อหลีกเลี่ยงการเกิดความล่าช้า ในขณะที่รอคอยการตอบสนองจากเซิร์ฟเวอร์
#### Meteor Development Group (MDG)
บริษัทที่พัฒนา Meteor โดยไม่เกี่ยวข้องกับเฟรมเวิร์คที่ใช้
#### เมธอด (Method)
เมธอดของ Meteor คือ การเรียกใช้กระบวนงานแบบระยะไกล (remote procedure call) จากไคลเอนต์ไปที่เซิร์ฟเวอร์ ด้วยการใช้ตรรกะพิเศษบางอย่าง เพื่อเก็บค่าคอลเลกชั่นที่เปลี่ยนไป และยอมให้มีการชดเชยความล่าช้า
#### MiniMongo
คอลเลกชั่นฝั่งไคลเอนต์ที่เก็บข้อมูลลงหน่วยความจำ จะมี API คล้ายๆของ Mongo ซึ่งไลบรารี่ที่รองรับการทำงานนี้ถูกเรียกว่า "MiniMongo" เพื่อแสดงถึงเวอร์ชันย่อมๆของ Mongo ที่ทำงานอยู่บนหน่วยความจำอย่างเดียว
#### แพ็คเกจ (Package)
แพ็คเกจของ Meteor จะประกอบด้วย โค้ดจาวาสคริปต์ที่ทำงานบนเซิร์ฟเวอร์ โค้ดจาวาสคริปต์ที่ทำงานบนไคลเอนต์ วิธีการดำเนินการกับทรัพยากร (เช่น SASS หรือ CSS) และทรัพยากรที่นำมาใช้งาน <br/>แพ็คเกจจะเหมือนกับไลบราลี่แบบ super-powered โดย Meteor จะมาพร้อมชุดแพ็คเกจหลัก (core package) หลายตัว และยังหาเพิ่มได้จากที่ [Atmosphere](http://atmosphere.meteor.com)
ซึ่งมีคอลเลกชั้นของแพ็คเกจที่พัฒนาโดยชุมชนผู้ใช้
#### การเผยแพร่ (Publication)
การเผยแพร่ คือ ขื่อของชุดข้อมูลที่ถูกปรับแต่งให้กับผู้ใช้งานแต่ละคนที่บอกรับข้อมูลกับมัน คุณสามารถสร้างการเผยแพร่ไว้บนเซิร์ฟเวอร์
#### เซิร์ฟเวอร์ (Server)
เซิร์ฟเวอร์ Meteor เป็น เซิร์ฟเวอร์แบบ HTTP และ DDP ทำงานผ่าน Node.js มันประกอบด้วยไลบรารี่ทั้งหมดของ Meteor และโค้ดจาวาสคริปต์ฝั่งเซิร์ฟเวอร์ของคุณ เมื่อคุณเริ่มการทำงานของเซิร์ฟเวอร์คุณ มันจะเชื่อมต่อไปยังฐานข้อมูล Mongo (ที่มันจะสั่งให้เริ่มทำงานโดยอัตโนมัติในตอนพัฒนาแอพ)
#### เซสชั่่น (Session)
เซสชั่นใน Meteor จะอ้างถึงแหล่งข้อมูลรีแอคทีฟที่ฝั่งไคลเอนต์ ซึ่งถูกใช้โดยแอปพลิเคชั่นของคุณ เพื่อติดตามสถานะที่ผู้ใช้ทำงานอยู่
#### การบอกรับ (Subscription)
การบอกรับ คือ การติดต่อไปที่การเผยแพร่จากไคลเอนต์ การบอกรับเป็นโค้ดที่ทำงานในเบราว์เซอร์ ซึ่งคุยกับการเผยแพร่บนเซิร์ฟเวอร์ และคอยปรับปรุงข้อมูลให้ตรงกันอยู่เสมอ
#### เทมเพลท (Template)
เทมเพลท คือ วิธีการสร้าง HTML ใน จาวาสคริปต์ โดยปกติ Meteor รองรับ Spacebars ระบบเทมเพลทที่ไม่มีตรรกะ (logic-less) และมีแผนรองรับตัวอื่นๆมากขึ้นในอนาคต
#### ชุดข้อมูลย่อยในเทมเพลท (Template Data Context)
เมื่อเทมเพลทกำลังสร้างข้อมูล มันจะใช้อ็อบเจกต์จาวาสคริปต์เพื่อนำข้อมูลที่ระบุมาสร้าง โดยทั่วไปแล้ว อ็อบเจกต์พวกนี้เป็นได้ทั้ง อ็อบเจกต์จาวาสคริปต์แบบเดิมๆ (POJO) และบ่อยครั้งเป็นเอกสารจากคอลเลกชั่น ซึ่งมันอาจจะซับซ้อนมากขึ้น และมีฟังก์ชันให้ใช้งานติดมาด้วย