ฉันกำลังใช้ ChatGPT เพื่อช่วยฉันแก้ไขโค้ดได้อย่างรวดเร็ว แต่มีค่าใช้จ่ายอย่างไรบ้าง?

ภาพที่ 5.jpg

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

อีกอย่าง: ฉันขอ ChatGPT เขียนปลั๊กอิน WordPress แล้วมันทำให้ฉันภายใน 5 นาทีเท่านั้น

เหมือนที่ฉันได้ทำในการสำรวจ ChatGPT ครั้งก่อน ข้อความของฉันจะเป็นข้อความธรรมดาหรือตัวหนา และตอบกลับจาก AI จะเป็นตัวโค้งอักษร ก่อนอื่น ฉันจะแสดงคำถามและคำตอบให้คุณเห็น แล้วฉันจะพูดถึงผลกระทบ

เข้าใจการเปลี่ยนแปลงของภาษาโปรแกรม

ผู้ให้บริการโฮสติ้งของฉันกำลังย้ายเว็บไซต์ทั้งหมดจาก PHP 7.4 ที่ล้าสมัยมาเป็น PHP 8 ภาษาโปรแกรมเว็บที่ WordPress และเครื่องมือการจัดการเว็บอื่น ๆ พึงพอใจ ฉันมีปลั๊กอินสองตัวที่ไม่สามารถใช้งานได้กับ PHP 8 และฉันต้องการระบุว่าโค้ดบางส่วนของพวกเขาฉันต้องหาและแก้ไข

ตามปกติฉันจะค้นหาในเว็บไซต์ PHP.net หรือทำการค้นหาใน Google และดูความคิดเห็นใน StackExchange เพื่อหาข้อมูลเกี่ยวกับงานโปรแกรมที่ฉันต้องทำ แต่กระบวนการเหล่านี้ต้องใช้เวลาและเป็นกระบวนการที่ซับซ้อน แทนที่จะทำเช่นนั้น ฉันถาม ChatGPT ด้วยคำถามที่ละเอียดและตรงประเด็น แล้วฉันได้รับคำตอบที่มีประโยชน์มาก รวมถึงบล็อกของรหัสตัวอย่างด้วย

ฉันพบปัญหาเกี่ยวกับฟังก์ชั่น extract ของ PHP ที่จะให้ข้อผิดพลาดที่ร้ายแรงเมื่อไม่รับค่าเป็นอาร์เรย์ ใน PHP 7.4 ฉันไม่ได้รับข้อผิดพลาด แต่ดูเหมือนว่าจะเกิดใน PHP 8 ฟังก์ชั่น extract เปลี่ยนไปใน PHP 8 หรือยัง?

ใน PHP 8 พฤติกรรมของฟังก์ชัน extract() ถูกเปลี่ยนแปลงให้เข้มงวดมากขึ้น เวอร์ชันก่อนหน้าของ PHP ฟังก์ชัน extract() จะแสดงค่า false หากไม่ได้รับอาร์เรย์ แต่ใน PHP 8 ฟังก์ชันจะสร้างข้อผิดพลาดร้ายแรงหากไม่ได้รับอาร์เรย์ การเปลี่ยนนี้ถูกนำเข้ามาเพื่อเพิ่มความทนทานของฟังก์ชันและช่วยป้องกันข้อบกพร่องทุ่มเทในการรับข้อมูลที่ไม่คาดคิด

คุณสามารถตรวจสอบว่าตัวแปรที่ส่งผ่านไปยังฟังก์ชันเป็นอาร์เรย์หรือไม่ โดยใช้ฟังก์ชัน is_array () ก่อนเรียกใช้ extract ()

รูปภาพ3.jpg

คุณยังสามารถใช้ฟังก์ชัน array_key_exists() เพื่อตรวจสอบว่าตัวแปรที่ถูกส่งผ่านเป็นอาร์เรย์หรือไม่

รูปภาพ 6.jpg

หรืออาจใช้ตัวดำเนินการ ... เพื่อทำการแยกส่วนอาร์เรย์เป็นตัวแปร

รูปภาพที่ 7.jpg

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

โดยที่ฉันพยายามทำให้ปลั๊กอินทั้งหมดที่ฉันกำลังย้ายไปเวอร์ชันใหม่เป็นการรองรับอนาคตฉันยังถามว่า:

ฟังก์ชัน PHP ใดที่อาจเกิดข้อผิดพลาดเมื่อย้ายจาก PHP 7.4 เป็น PHP 8?

เมื่อย้ายจาก PHP 7.4 เป็น PHP 8, จะมีฟังก์ชันและคุณสมบัติบางอย่างที่อาจทำให้เกิดปัญหาหรือทำงานแตกต่างกันได้ นี่คือการเปลี่ยนแปลงที่สำคัญที่สุดที่อาจก่อให้เกิดปัญหาได้:

  • ฟังก์ชัน extract() ตามที่กล่าวไว้ในคำตอบก่อนหน้านี้ ตอนนี้จะส่งคืนข้อผิดพลาดร้ายแรงเมื่อไม่ได้รับอาร์เรย์
  • ฟังก์ชัน each() ถูกลบออกจาก PHP 8.0 คุณสามารถใช้ foreach หรือ array_keys() และ current() แทนได้
  • ฟังก์ชัน create_function() ถูกลบออกจาก PHP 8.0 แนะนำให้ใช้ฟังก์ชันอนานิมิตแทน
  • การสร้าง list() เมื่อใช้กับ foreach ตอนนี้จะส่งคืนคีย์และค่าเป็นตัวแปรแยกกัน ไม่ใช่อาร์เรย์เดียว
  • ฟังก์ชัน __autoload() ถูกลบออกจาก PHP 8.0 ควรใช้ spl_autoload_register() แทน
  • ตัวแปร $php_errormsg ถูกลบออกจาก PHP 8.0 ควรใช้ฟังก์ชัน error_get_last() แทน
  • บางส่วนของฟังก์ชันที่ไม่แนะนำให้ใช้ใน PHP เวอร์ชันก่อนหน้านี้ ถูกลบออกจาก PHP 8.0 โดยเฉพาะฟังก์ชัน create_function() each() __autoload() และ $php_errormsg

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

โปรดทราบว่า ChatGPT ใช้วลี "เช่นที่กล่าวไว้ในคำตอบก่อนหน้า" เพื่อติดตามคำตอบในการสนทนา นั่นเป็นสิ่งที่ "น่าประหลาดใจ" และน่ากลัวเช่นกัน

ในรหัสที่ฉันกำลังแก้ไข พบว่านักพัฒนาต้นฉบับ (ผู้ออกแบบที่ไม่มีอยู่แล้วนาน) ใช้ฟังก์ชัน create_function อย่างจำนวนมาก ฉันไม่เข้าใจว่าฟังก์ชันนี้ได้ถูกยกเลิกแล้ว แต่ด้วยรายการที่มีประโยชน์ข้างต้น ฉันเพิ่มค้นหาในรหัสและพบว่าต้องทำการอัปเดตและเขียนใหม่ฟังก์ชันดังกล่าว จากนั้นฉันก็ไปถาม ChatGPT เพื่อให้แสดงวิธีที่จะแทนที่ฟังก์ชันนี้

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

create_function เป็นฟังก์ชันที่ถูกยกเลิกใน PHP ซึ่งใช้สร้างฟังก์ชันที่ไม่มีชื่อ (anonymous functions) ในการใช้งาน แนะนำไม่ควรใช้ฟังก์ชันนี้ต่อไปเนื่องจากถูกนำออกจาก PHP 8.0 แทนที่จะใช้ฟังก์ชันที่ไม่มีชื่อ หรือที่เรียกว่าโคลเชอร์ สามารถสร้างได้โดยใช้คำสงวน function.

นี่คือตัวอย่างการใช้งาน create_function:

รูปภาพ2.jpg

และนี่คือรหัสเทียบเท่าโดยใช้ฟังก์ชันไม่ระบุชื่อ:

รูปภาพ8.jpg

เพิ่มเติมนี้ คุณสามารถใช้คำสั่ง use เพื่อส่งตัวแปรเข้าไปในรูปปิด (closure) ได้

รูปภาพ1.jpg

โดยทั่วไปแล้ว แนะนำให้ใช้ฟังก์ชันอานอนิมัยแทน create_function เนื่องจากมันมีประสิทธิภาพทำงานที่ดีขึ้นและค่าอ่านออกได้ดีกว่า

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

ฝ่ายสนับสนุนเทคโนโลยี MacOS

ขณะที่ฉันกำลังค้นคว้าเรื่องของอันตรายที่เกี่ยวกับการเพิ่มประสิทธิภาพการจัดเก็บข้อมูลของ Mac ฉันก็มีคำถามบางอย่าง ตามที่บทความของฉันแสดงให้เห็น ฉันได้ทำการทดสอบบางส่วนเพื่อยืนยันความกังวลของฉัน แต่เป็นวิธีที่รวดเร็วในการลดขอบเขตของการวิจัยของฉัน ฉันจึงถาม ChatGPT ดังนี้:

ในกรณีที่คุณใช้ฟีเจอร์ Optimize Mac Storage ของ MacOS Time Machine จะสร้างการสำรองข้อมูลไม่สมบูรณ์เพราะบางไฟล์จะถูกแทนที่ด้วยไฟล์ที่ย่อยบนเครื่อง

ฟีเจอร์ "Optimize Mac Storage" ใน macOS ใช้ iCloud เพื่อย้ายไฟล์ที่ใช้น้อยหรือไม่ได้ใช้บ่อยจากเครื่อง Mac ของคุณไปยังคลาวด์ ในขณะเดียวกันยังเก็บ "stub" file บนเครื่อง Mac ของคุณเพื่อแทนไฟล์เดิมได้ ซึ่งจะช่วยประหยัดพื้นที่บนฮาร์ดไดรฟ์ Mac ของคุณได้

เมื่อเราตั้งค่า Time Machine เพื่อสำรองข้อมูล มันจะสำรองข้อมูลทั้งหมด รวมถึงไฟล์ที่ถูกโอนย้ายอัตโนมัติไปใช้งานด้วย "Optimize Mac Storage" อย่างไรก็ตาม ไฟล์จุดอ้างอิงที่แทนที่ไฟล์ที่ถูกโอนย้ายจะถูกสำรองข้อมูลแทนที่ไฟล์ต้นฉบับ

นี้หมายความว่าถ้าคุณทำการกู้คืน Mac ของคุณจากการสำรองข้อมูลจาก Time Machine ที่ทำตอน "Optimize Mac Storage" เปิดใช้งาน, ไฟล์ที่ถูกพักไว้จะไม่สามารถรวมอยู่ในการกู้คืนและจะต้องดาวน์โหลดมาใหม่จาก iCloud อีกครั้ง

โปรดทราบว่าหากคุณมีไฟล์จำนวนมากที่ถูกโอนออก การสำรองข้อมูลของ Time Machine อาจใช้พื้นที่เก็บข้อมูลมากกว่าหากคุณไม่ใช้ Optimize Mac Storage เนื่องจาก Time Machine จะสำรองข้อมูลไฟล์ขนาดเล็กที่เรียกว่า stub files ซึ่งใช้พื้นที่น้อยกว่า แต่ Time Machine จะจัดการสำรองข้อมูลเหมือนกับไฟล์ต้นฉบับ

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

อย่างที่สังเกตได้ การเจริญเติบโตของ AI ในการสร้างสรรค์กำลังทำให้เกิดความผันผวนขนาดใหญ่ ติดตามข่าวสารกับฉันและ ZDNET เพื่อที่เราจะพยายามให้เข้าใจว่ามันหมายความว่าอย่างไรสำหรับเราทุกคน

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

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

ดังนั้นใช่ มันนั่นเอง "ปริมาณข้อความมากมายจากอินเทอร์เน็ต" อ่านผ่านไปเถอะค่ะ ไม่มีอะไรสำคัญที่นี่

ดังนั้นอย่างย่อเรื่องราว Time Machine จะทำการสำรองข้อมูลไม่ครบถ้วนหากคุณใช้คุณสมบัติ "Optimize Mac Storage" เนื่องจากมันจะทำการสำรองข้อมูลเฉพาะไฟล์ stub ในขณะที่ไฟล์ต้นฉบับได้ถูกย้ายออกไปยังคลาวด์

นั่นคือคำตอบที่ถูกต้อง

ผลกระทบ

เยี่ยมแน่นอนว่าประหยัดเวลามากเลย โดยปกติการเขียนโปรแกรมบนอินเทอร์เน็ตนั้นเป็นเรื่องการเต้นรำระหว่างสภาพแวดล้อมสร้างโค้ดและการจัดการข้อผิดพลาด นอกจากนี้ยังมีการค้นหาบนเว็บเพิ่มขึ้นที่ต้องติดตามตัวบอกทางและอ่านข้อมูลจากการพูดคุยและความคิดเห็น

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

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

ฉันก็อยากรู้ว่าข้อมูลนั้นได้มาจากที่ไหน แต่อยากถามว่ามีผู้เขียนคนใดเหมือนกับฉันเขียนบทความที่เป็นประโยชน์มากเกี่ยวกับ extract หรือ create_function ซึ่งคำพูดของเขาถูก "สปิน" เกิดขึ้นให้กับคำตอบโดย ChatGPT โดยไม่ได้รับเครดิตหรือมอนิเตอร์ไร้หนังสือเพิ่มเงิน? ความรู้ที่สร้างศักยภาพอย่างหนักแห่งคนหนึ่งกำลังถูกนำมาใช้เป็นวัสดุที่ไม่ได้รับเครดิตแห่งคำตอบเหล่านั้นหรือ?

บทความที่เกี่ยวข้อง

ดูเพิ่มเติม >>

ปลดล็อกพลังของ AI ด้วย HIX.AI!