เรื่องราวแบบแบ่งส่วนเกี่ยวกับเส้นทางการเรียนรู้ GraphQL ของฉัน

การโต้ตอบครั้งแรก

ลิงก์ GraphQL หน้าแรก "เริ่มต้นใช้งาน" จะนำไปสู่ ​​"หน้าการเรียนรู้" ฉันกำลังเรียนรู้ GraphQL เป็นครั้งแรกและรู้สึกหลงทาง หลังจากอ่านหัวข้อในหน้าการเรียนรู้แล้ว ฉันสงสัยว่าจะใช้ GraphQL อย่างไร เพจนี้พยายามจะสอนอะไรฉัน? ส่วนใดของ GraphQL อยู่ในหน้านี้ มีเครื่องมือ GraphQL เพิ่มเติมหรือไม่ ฉันควรใช้เครื่องมือ GraphQL ใด ฉันมีคำถามมากมายและไม่มีคำตอบ

เวลาที่ใช้: ~2 ชั่วโมง

ปฏิสัมพันธ์ครั้งที่สอง

การวิเคราะห์ปัญหาการเรียนรู้มีลักษณะดังนี้:

  1. GraphQL เป็นเครื่องมือไคลเอนต์เซิร์ฟเวอร์
  2. ลูกค้า GraphQL ต้องการเซิร์ฟเวอร์ GraphQL
  3. ฉันไม่สามารถใช้ไคลเอนต์ได้หากไม่มีเซิร์ฟเวอร์ ดังนั้นฉันควรเริ่มต้นด้วยเซิร์ฟเวอร์
  4. เอกสาร GraphQL มีรายการเครื่องมือหรือไม่ พวกเขาทำมีประโยชน์
  5. อืม เซิร์ฟเวอร์ GraphQL Apollo น่าจะเป็นการเริ่มต้นที่ดี
  6. เอกสารเซิร์ฟเวอร์ Apollo ดูดี ฉันจะเริ่มดำเนินการเร็วๆ นี้
  7. หลังจากหน้าแรก ฉันมีเซิร์ฟเวอร์ 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

งานของฉันอยู่ในพื้นที่เก็บข้อมูล "นี้"