เรื่องราวแบบแบ่งส่วนเกี่ยวกับเส้นทางการเรียนรู้ GraphQL ของฉัน
การโต้ตอบครั้งแรก
ลิงก์ GraphQL หน้าแรก "เริ่มต้นใช้งาน" จะนำไปสู่ "หน้าการเรียนรู้" ฉันกำลังเรียนรู้ GraphQL เป็นครั้งแรกและรู้สึกหลงทาง หลังจากอ่านหัวข้อในหน้าการเรียนรู้แล้ว ฉันสงสัยว่าจะใช้ GraphQL อย่างไร เพจนี้พยายามจะสอนอะไรฉัน? ส่วนใดของ GraphQL อยู่ในหน้านี้ มีเครื่องมือ GraphQL เพิ่มเติมหรือไม่ ฉันควรใช้เครื่องมือ GraphQL ใด ฉันมีคำถามมากมายและไม่มีคำตอบ
เวลาที่ใช้: ~2 ชั่วโมง
ปฏิสัมพันธ์ครั้งที่สอง
การวิเคราะห์ปัญหาการเรียนรู้มีลักษณะดังนี้:
- GraphQL เป็นเครื่องมือไคลเอนต์เซิร์ฟเวอร์
- ลูกค้า GraphQL ต้องการเซิร์ฟเวอร์ GraphQL
- ฉันไม่สามารถใช้ไคลเอนต์ได้หากไม่มีเซิร์ฟเวอร์ ดังนั้นฉันควรเริ่มต้นด้วยเซิร์ฟเวอร์
- เอกสาร GraphQL มีรายการเครื่องมือหรือไม่ พวกเขาทำมีประโยชน์
- อืม เซิร์ฟเวอร์ GraphQL Apollo น่าจะเป็นการเริ่มต้นที่ดี
- เอกสารเซิร์ฟเวอร์ Apollo ดูดี ฉันจะเริ่มดำเนินการเร็วๆ นี้
- หลังจากหน้าแรก ฉันมีเซิร์ฟเวอร์ GraphQL ที่ทำงานอยู่
บางสิ่งที่ฉันลอง:
- แก้ไขแบบสอบถาม
- เพิ่มตัวแปร
- อ่านเกี่ยวกับการแคช
- การกลายพันธุ์
- …
เวลาที่ใช้: 2 วัน
วันที่ 1: ~1 ชั่วโมง
วันที่ 2: ~10 ชั่วโมง (รวมช่วงพักและกิจกรรมอื่นๆ)
บทสรุปจากรอบที่สอง:
- รองรับหลายภาษาสำหรับ GraphQL
- หัวข้อหลายชั้นและเส้นโค้งการเรียนรู้ที่ค่อนข้างสูงชัน
- ง่ายต่อการเข้าถึง แต่ยากที่จะเชี่ยวชาญ
ปฏิสัมพันธ์ที่สาม
สถานการณ์เริ่มร้อนขึ้น ฉันต้องการใช้ typescript ดังนั้นฉันจึงตั้งค่า nodemon และ ts-node ผ่านไปห้านาที เซิร์ฟเวอร์ typescript ก็ทำงาน ผ่านไปสิบห้านาที ฉันกำลังดูประกาศประเภทอยู่ มีฟีเจอร์คืบคลานเข้ามา และฉันต้องการใช้สคีมา คุณลักษณะแรกคืบคลานคือ typescript สคีมาใช้งานไม่ได้ และฉันกำลังอ่านเอกสารอพอลโล ผ่านไปสี่สิบห้านาที ไม่มีอะไรทำงาน ฉันกำลังเสียเวลา เซิร์ฟเวอร์จาวาสคริปต์กำลังทำงานอยู่ และฉันไม่ต้องการ typescript หรือสคีมา คืนค่าการตั้งค่าเป็น javascript และให้เซิร์ฟเวอร์ทำงานอีกครั้ง ฉันสัญญาว่าจะสร้างผลิตภัณฑ์ที่มีประสิทธิภาพน้อยที่สุด การต่อสู้กับฟีเจอร์ครีพยังคงดำเนินต่อไป
ฉันกำลังพยายามสร้างสคีมา GQL สำหรับ Apollo ใช้งานไม่ได้ เปิดเอกสาร Apollo แต่ไม่ได้เกี่ยวกับสคีมามากนัก TypeDefs และ Resolvers มีอยู่ทุกหนทุกแห่ง แต่จะเป็นไปได้หรือไม่?
ฉันเปิดเอกสาร GQL เพื่อดูวิธีสร้างสคีมา ไม่มีโชค. เดี๋ยวก่อนมันแปลก เอกสารสำหรับการสร้างสคีมาไม่ใช่เอกสารที่ฉันใช้ครั้งแรก อืม เหตุใดจึงมีเอกสารมากกว่าหนึ่งฉบับ ความแตกต่างของพวกเขาคืออะไร? ฉันเปิดเอกสารเก่า และใช้เซิร์ฟเวอร์ด่วน GraphQL เอกสารมากกว่าหนึ่งฉบับเกี่ยวกับสิ่งเดียวกัน เอกสารเหล่านี้เกี่ยวกับสิ่งเดียวกันหรือไม่ พวกเขาอธิบายมันแตกต่างออกไป และฉันก็คิดออก สิ่งที่มีหลายชั้น:
- สคีมา GraphQL
- รีโซลเวอร์
- เราสามารถเขียนสคีมาในไฟล์ที่มีนามสกุล .gql
โอ้พระเจ้า…
หัวข้อเดียวที่ฉันมีปัญหาเพิ่มเติมคือ C ++ เมื่อวานฉันพยายามคิดว่าการสืบทอดคลาส C++ ทำงานอย่างไร เหตุใดจึงมีคำหลักสาธารณะอยู่หน้าชั้นเรียนหลัก โหมดการสืบทอดคลาสมีสามโหมด: การสืบทอดแบบส่วนตัว, แบบมีการป้องกัน และแบบสาธารณะ การสืบทอดคลาสจะเป็นแบบส่วนตัวตามค่าเริ่มต้น แต่จำเป็นต้องมีสาธารณะ ฉันใช้เวลาครึ่งชั่วโมงในการค้นคว้าเพื่อหาคำตอบ
หน้าที่ฉันเรียนรู้เกี่ยวกับการสืบทอด C++ จาก: https://www.section.io/engineering-education/extending-classes/
คำปิด
ฉันสามารถเขียนแอป GraphQL ระดับเริ่มต้นได้อย่างสะดวกสบาย การเดินทางทดลองเป็นเรื่องสนุก เมื่อฉันอยู่ในอารมณ์ ฉันจะดู GraphQL มากขึ้น แนวคิดนี้ให้ความรู้สึกน่าตื่นเต้น
พื้นที่เก็บข้อมูล
ในขณะที่เขียนงาน GraphQL อยู่ระหว่างดำเนินการ หากมีสาขาชื่อ Graphql-checkout ให้เปิดสาขานั้น ในไดเร็กทอรีการทดลองคือโฟลเดอร์ graphql-checkout
งานของฉันอยู่ในพื้นที่เก็บข้อมูล "นี้"