Grav - คำถามสัมภาษณ์

เรียนผู้อ่านเหล่านี้ Grav Interview Questions ได้รับการออกแบบมาเป็นพิเศษเพื่อให้คุณคุ้นเคยกับลักษณะของคำถามที่คุณอาจพบในระหว่างการสัมภาษณ์ในหัวข้อนั้น ๆ Grav. จากประสบการณ์ของฉันผู้สัมภาษณ์ที่ดีแทบจะไม่ได้วางแผนที่จะถามคำถามใด ๆ โดยเฉพาะในระหว่างการสัมภาษณ์ของคุณโดยปกติแล้วคำถามจะเริ่มต้นด้วยแนวคิดพื้นฐานบางอย่างของเรื่องและหลังจากนั้นพวกเขาจะดำเนินการต่อโดยพิจารณาจากการสนทนาเพิ่มเติมและสิ่งที่คุณตอบ -

Grav เป็นระบบจัดการเนื้อหาแบบไฟล์แบนซึ่งไม่ใช้ฐานข้อมูลในการจัดเก็บเนื้อหา แต่จะใช้ไฟล์ข้อความ (.txt) หรือไฟล์ markdown (.md) เพื่อจัดเก็บเนื้อหา

Grav เป็นระบบจัดการเนื้อหาไฟล์แบนที่เร็วที่สุดรูปแบบใหม่ซึ่งง่ายต่อการเผยแพร่และจัดการเนื้อหา ช่วยให้นักพัฒนาจัดการเนื้อหาได้อย่างง่ายดายโดยการจัดเก็บเนื้อหาในไฟล์ (เช่นไฟล์ข้อความหรือไฟล์มาร์กดาวน์) แทนที่จะอยู่ในฐานข้อมูล หากคุณต้องการสร้างไซต์ที่เรียบง่ายจัดการได้และรวดเร็วควรเลือก Grav flat-file CMS จะดีกว่า มีค่าใช้จ่ายน้อยกว่า CMS ที่ขับเคลื่อนด้วยฐานข้อมูลและมีประโยชน์กับ I / O สำหรับการจัดการไฟล์เมื่อคุณไม่มีทรัพยากรเพียงพอที่จะจัดการฐานข้อมูล

คุณสมบัติของ Grav คือ -

  • เป็นแพลตฟอร์มเว็บไฟล์แบนที่รวดเร็วง่ายและมีประสิทธิภาพ

  • ใช้ในการสร้างเว็บไซต์โดยไม่มีเครื่องมือพิเศษหรือความรู้ด้าน html

  • ใช้ไฟล์ข้อความหรือไฟล์ markdown เพื่อจัดเก็บเนื้อหา

  • ไม่ใช้ฐานข้อมูลดังนั้นจึงช่วยลดสาเหตุของปัญหาคอขวด

  • ใช้เทมเพลตที่ใช้ PHP จาก Twig ซึ่งแยกวิเคราะห์โดยตรงเป็น PHP ที่ทำให้รวดเร็ว

ข้อดีของ Grav คือ -

  • ไม่ได้ใช้ฐานข้อมูล CMS ดังนั้นจึงง่ายมากในการติดตั้งและจะพร้อมใช้งานเมื่อคุณอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์

  • ใช้ไฟล์ข้อความ Markdown เพื่อทำให้สิ่งต่างๆง่ายขึ้น เมื่อใช้สิ่งนี้เนื้อหาจะถูกแปลงเป็น HTML แบบไดนามิกและแสดงในเบราว์เซอร์

  • ในกรณีของความปลอดภัย Grav ไม่มีพื้นที่ผู้ดูแลระบบและฐานข้อมูล ดังนั้นจึงไม่มีโอกาสที่จะเจาะเข้าไปในบัญชีหรือในฐานข้อมูลเพื่อเข้าถึงข้อมูลสำคัญ

  • คุณสามารถสำรองไฟล์ทั้งหมดเพื่อเก็บสำเนาสำรองของเว็บไซต์ของคุณได้อย่างง่ายดายเนื่องจากไม่มีฐานข้อมูลให้สำรอง

  • เป็นซอฟต์แวร์ที่ไม่ต้องใช้เวลาเรียนรู้มากขึ้น

ข้อเสียของ Grav คือ -

  • บางครั้งผู้ใช้ที่ไม่ได้รับอนุญาตอาจเข้าถึงเนื้อหาของคุณจากไฟล์โดยตรงเนื่องจากไม่มีฐานข้อมูลสำหรับไฟล์

  • เป็นการยากที่จะสร้างเว็บไซต์ที่ซับซ้อนโดยใช้ Grav CMS

PHP 5.4 หรือสูงกว่า

เพจสามารถกำหนดเป็นแบบเอกสารสำเร็จรูปของไซต์ได้ หน้ารวมเนื้อหาและการนำทางซึ่งทำให้ง่ายแม้กระทั่งสำหรับผู้ใช้ที่ไม่มีประสบการณ์

# หรือแฮชไวยากรณ์ใน Markdown ระบุชื่อที่จะถูกแปลงเป็นส่วนหัว <h1> ใน HTML

** เครื่องหมายแสดงข้อความเป็นตัวหนาหรือ <b> ใน HTML

Grav Pages รองรับเพจ 3 ประเภท -

  • หน้ามาตรฐาน

  • หน้ารายการ

  • หน้าโมดูลาร์

ไวยากรณ์ Markdown หมายถึงการเขียนข้อความธรรมดาในรูปแบบที่อ่านง่ายและง่ายต่อการเขียนซึ่งจะถูกแปลงเป็นโค้ด HTML ในภายหลัง สัญลักษณ์เช่น (*) หรือ (') ถูกใช้ในไวยากรณ์ markdown สัญลักษณ์เหล่านี้ใช้เป็นตัวหนาสร้างส่วนหัวและจัดระเบียบเนื้อหาของคุณ

ประโยชน์ของการใช้ไวยากรณ์ Markdown คือ -

  • ง่ายต่อการเรียนรู้และมีอักขระขั้นต่ำ

  • เมื่อคุณใช้ markdown มีโอกาสน้อยมากที่จะเกิดข้อผิดพลาด

  • เอาต์พุต XHTML ที่ถูกต้อง

  • เนื้อหาและการแสดงภาพของคุณแยกจากกันเพื่อไม่ให้ส่งผลกระทบต่อรูปลักษณ์เว็บไซต์ของคุณ

  • คุณสามารถใช้โปรแกรมแก้ไขข้อความหรือโปรแกรม markdown ใดก็ได้

เน้นเป็นรูปแบบการเขียนในไวยากรณ์ markdown ที่ใช้เป็นตัวหนาตัวเอียงหรือขีดทับ

  • Bold - สามารถทำให้ข้อความเป็นตัวหนาได้โดยใช้เครื่องหมาย (**) สองอันที่ด้านใดด้านหนึ่งของข้อความ

  • Italics - ใช้เครื่องหมายขีดล่าง (_) ที่ด้านใดด้านหนึ่งของคำเพื่อทำให้ข้อความเป็นตัวเอียง

  • Strikethrough - ใช้ตัวหนอนสองตัว (~~) ที่ด้านใดด้านหนึ่งของคำเพื่อขีดฆ่าคำนั้น

ลิงค์ที่ใช้ในเนื้อหามี 4 ประเภทคือ -

  • กระสุนญาติ

  • ไดเร็กทอรีญาติ

  • Absolute

  • Remote

ลิงก์ระยะไกลช่วยให้คุณสามารถเชื่อมโยงโดยตรงไปยังไฟล์หรือเอกสารใด ๆ ผ่าน URL ไม่จำเป็นต้องรวมเนื้อหาของไซต์ของคุณเอง

ต่อไปนี้เป็นประเภทไฟล์มีเดียที่ Grav รองรับ -

  • Image - jpg, jpeg, png

  • Animated Image - gif.

  • Vectorized Image - svg

  • Video - mp4, mov, m4v, swf

  • Data/information - txt, doc, pdf, html, zip, gz

มีการเพิ่มฟิลเตอร์ Sepia เพื่อให้ภาพดูวินเทจ

Modular Pages ช่วยให้สามารถสร้างเพจเดียวจากเพจย่อย ใช้เพื่อตั้งค่าเป็นไม่สามารถกำหนดเส้นทางได้เนื่องจากไม่สามารถเข้าถึงได้โดยตรงผ่าน URL ซึ่งระบุโดย _ (ขีดล่าง) ก่อนชื่อโฟลเดอร์ เป็นคอลเลกชันของเพจที่แสดงขึ้นเหนือแต่ละเพจเพื่อให้ได้เพจเดียว

ตัวกรองใช้เพื่อจัดรูปแบบข้อมูลตามที่คุณต้องการและส่งออก มีการใช้ฟังก์ชันเพื่อสร้างเนื้อหา เทมเพลต Twig คือไฟล์ข้อความที่มีนิพจน์และตัวแปรที่ถูกแทนที่ด้วยค่า

Twig ใช้แท็กสามประเภท ได้แก่

  • แท็กเอาต์พุต

  • แท็กการดำเนินการ

  • แท็กความคิดเห็น

มีตัวเลือกน้อยในการส่งผ่านอาร์เรย์ของเนื้อหาสำหรับ CSS -

  • priority - ใช้ค่าจำนวนเต็มและค่าเริ่มต้นจะเป็น 100

  • pipeline- เมื่อสินทรัพย์ไม่รวมอยู่ในไปป์ไลน์จะตั้งค่าเป็นค่าเท็จ และค่าเริ่มต้นถูกตั้งค่าเป็นจริง

Grav ช่วยให้คุณสามารถลงทะเบียนคอลเล็กชันของเนื้อหา CSS และ JS ด้วยชื่อเพื่อให้คุณสามารถใช้เพิ่มเนื้อหาให้กับผู้จัดการสินทรัพย์โดยใช้ชื่อที่ลงทะเบียน สิ่งนี้สามารถทำได้ใน Grav โดยใช้คุณลักษณะที่เรียกว่าสินทรัพย์ที่มีชื่อ คอลเลกชันที่กำหนดเองเหล่านี้ถูกกำหนดไว้ใน system.yaml เพื่อให้สามารถใช้โดยธีมหรือปลั๊กอินใด ๆ

Grouped Assets ช่วยให้คุณสามารถส่งผ่านอ็อพชันอาร์เรย์ซึ่งประกอบด้วยกลุ่มทางเลือกในขณะที่เพิ่ม Assets ฟีเจอร์นี้มีประโยชน์มากเมื่อคุณต้องการไฟล์ JS หรืออินไลน์ JS ในส่วนใดส่วนหนึ่งของเพจ

scss --watch scss:css-compiled

การสืบทอดธีมเป็นวิธีที่ดีที่สุดในการแก้ไขหรือปรับแต่งธีมและสามารถทำได้ด้วยการตั้งค่าเพียงเล็กน้อย แนวคิดพื้นฐานคือธีมถูกกำหนดให้เป็นธีมพื้นฐานที่คุณกำลังสืบทอดมาและมีเพียงบิตบางส่วนเท่านั้นที่ได้รับอนุญาตให้แก้ไขและส่วนที่เหลือจะถูกจัดการโดยธีมพื้นฐาน ข้อดีของการใช้การสืบทอดธีมคือธีมที่สืบทอดแบบกำหนดเองจะไม่ได้รับผลกระทบโดยตรงเมื่อใดก็ตามที่มีการอัพเดตธีมพื้นฐาน

จุดสำคัญของปลั๊กอินแบบสุ่มคือ -

  • คุณสามารถใช้ปลั๊กอินนี้เพื่อแสดงเพจแบบสุ่มโดยใช้ URI เป็น /random.

  • สร้างตัวกรองเพื่อใช้การจัดหมวดหมู่ที่ระบุในหน้า คุณสามารถสร้างเป็นไฟล์category : blog.

  • คุณสามารถแสดงเพจแบบสุ่มโดยใช้ตัวเลือกตัวกรองและแจ้งให้ Grav ใช้เนื้อหาเดียวกันเพื่อแสดงในเพจแบบสุ่ม

ตะขอเกี่ยวกับเหตุการณ์มีความสัมพันธ์โดยตรงกับ Grav ตั้งแต่ต้นจนจบ คุณต้องตระหนักถึงลำดับที่เรียกตะขอและสิ่งที่ใช้งานได้ในช่วงเวลาของการโทรเหล่านี้

ปลั๊กอิน Problem ใช้สิ่งนี้เพื่อจัดการการแสดงรายการคำอธิบายทั้งหมดสำหรับสาเหตุที่ grav แสดงข้อผิดพลาดร้ายแรง

ในขั้นตอนนี้คุณจะเห็นเทมเพลตไซต์แบบเต็มตามลำดับอย่างชาญฉลาดด้วยวิธี Twig นอกจากนี้คุณสามารถเพิ่มตัวแปรใด ๆ ให้กับ Twig ได้ในระหว่างกระบวนการนี้

คุณสมบัติของปลั๊กอิน Grav Administration Panel ได้แก่ -

  • เปิดหรือปิดใช้งานปลั๊กอินที่มีอยู่ในรายการตัวจัดการปลั๊กอิน

  • ประกอบด้วยฟังก์ชันของการลืมรหัสผ่าน

  • ไฟล์มีเดียสามารถอัพโหลดได้โดยวิธีลาก n-drop

  • อนุญาตให้แก้ไขผ่าน yaml หรือแบบฟอร์มในโหมดปกติและโหมดผู้เชี่ยวชาญ

  • คุณลักษณะการเข้ารหัสรหัสผ่านอัตโนมัติมีให้ระหว่างการเข้าสู่ระบบของผู้ใช้

พิมพ์เขียวคือข้อมูลเมตาดาต้าเกี่ยวกับทรัพยากร (แหล่งที่มาของข้อมูล) มีวัตถุประสงค์สองประการ -

  • อันดับแรกคือเอกลักษณ์ของทรัพยากรเอง

  • ประการที่สองคือเกี่ยวกับแบบฟอร์ม

การแคชมี 5 ประเภท -

  • การกำหนดค่า YAML แคชลงใน PHP

  • การแคช Core Grav สำหรับวัตถุหน้า

  • Twig แคชไฟล์เทมเพลตเป็นคลาส PHP

  • การแคชรูปภาพสำหรับทรัพยากรสื่อ

  • การแคชสินทรัพย์ของ CSS และ jQuery ด้วย pipelining

CLI ย่อมาจากอินเตอร์เฟสบรรทัดคำสั่งที่เก็บไว้ใน bin / grav ทำงานบางอย่างเช่นการล้างแคชการสร้างสำเนาสำรองเป็นต้น

$ bin/grav composer

GPM ย่อมาจาก Grav Package Managerซึ่งใช้ในการติดตั้งอัพเดตถอนการติดตั้งและแสดงรายการปลั๊กอินที่มีอยู่ในที่เก็บ Grav GPM รันคำสั่งโดยใช้อินเตอร์เฟสบรรทัดคำสั่งเช่นเทอร์มินัลหรือ cmd

$ bin/gpm self-upgrade

โครงกระดูก Grav อธิบายไซต์ตัวอย่างซึ่งประกอบด้วย Grav Core, ปลั๊กอิน, หน้า, ธีมทั้งหมดเข้าด้วยกัน แนวคิดเริ่มต้นเบื้องหลัง Grav คือการสร้างไซต์ได้ง่ายมาก สิ่งที่จำเป็นสำหรับการพัฒนาไซต์ซึ่งทั้งหมดจะอยู่ในโฟลเดอร์ผู้ใช้ โครงกระดูกของ Grav มาพร้อมกับการอ้างอิงต่างๆเช่นปลั๊กอินธีมและอื่น ๆ และจัดเก็บไว้ในแพ็คเกจที่สามารถคลายซิปเพื่อเรียกใช้ตัวอย่างง่ายๆ

สี่ขั้นตอนหลักของวงจรชีวิต Grav คือ -

  • เวอร์ชัน PHP

  • คลาส Loader เริ่มต้นแล้ว

  • รับอินสแตนซ์ Grav

  • เรียกกระบวนการ Grav

YAML ย่อมาจาก YAML Ain't Markup Language ซึ่งรวมถึงเนื้อหาที่มนุษย์อ่านได้และมักใช้ในไฟล์การกำหนดค่าพิมพ์เขียว (ข้อมูลเมตาดาต้าเกี่ยวกับทรัพยากร) และการตั้งค่าเพจ

YAML รองรับข้อมูลพื้นฐานบางประเภทซึ่งสามารถใช้ได้กับภาษาโปรแกรมเช่น -

  • Scalars - สตริงหรือตัวเลข

  • Sequences - อาร์เรย์หรือรายการ

  • Mappings - แฮชหรือพจนานุกรม

Grav รองรับบริการโฮสติ้งดังต่อไปนี้ -

  • Rochen Web Hosting

  • WireNine

  • เว็บโฮสติ้งที่สำคัญ

  • Arvixe

  • SiteGround

  • Dreamhost

สาเหตุบางประการที่อาจทำให้เกิดข้อผิดพลาดของเซิร์ฟเวอร์คือ -

  • การกำหนดค่าที่ล้าสมัย

  • การอนุญาตไฟล์ไม่ถูกต้อง

  • ไฟล์คอนฟิกูเรชันที่จัดรูปแบบไม่ถูกต้อง

  • การเปลี่ยนแปลงในระบบไฟล์ที่ Grav ไม่รู้จัก

bin/grav clear-cache

รูปภาพที่ตอบสนองต่อบางประเภท ได้แก่ -

  • จอแสดงผลความหนาแน่นสูงขึ้น

  • ขนาดพร้อมแบบสอบถามสื่อ

เพิ่มคำต่อท้ายให้กับชื่อไฟล์และคุณสามารถเพิ่มภาพที่มีความหนาแน่นสูงลงในเพจได้

ช่องแบบฟอร์มพิเศษคือ -

  • Markdown

  • Frontmatter

  • Selectize

  • Taxonomy

  • Toggle

ใช้เพื่อแสดงเพจในรูปแบบดิบ

ระบุ URL ที่สามารถรายงานปัญหาหรือข้อบกพร่องได้

เหตุการณ์นี้ช่วยในการประมวลผลและจัดการแบบฟอร์ม

ขยายภาพตามต้องการโดยไม่คำนึงถึงอัตราส่วนดั้งเดิม