Kodu daha hızlı düzeltmeme yardımcı olması için ChatGPT kullanıyorum, ancak bunun bedeli ne olacak?
ChatGPT bana kesinlikle zaman kazandırıyor ama bu süreçte kaybedilenleri telafi ediyor mu?
Bu haftanın başlarında, size ChatGPT'nin, biraz temel olsa da belirli bir işlevsel özelliği karşılayan tam bir WordPress eklentisini nasıl oluşturabileceğini göstermiştim. Şimdi, ChatGPT'nin yararlı bir araç olup olamayacağına dair bir fikir edinmek için, bu durumda teknik rehberlik almama yardımcı olmak için, ChatGPT testlerime devam ediyorum.
ChatGPT'nin daha önceki araştırmalarında yaptığım gibi, yazılarım düz veya kalın metinle yazılmıştır ve yapay zekanın yanıtları italik yazı tipindedir. Önce size soruları ve cevapları göstereceğim, sonra da bunların sonuçlarını tartışacağım.
Programlama dili değişikliklerini anlama
Barındırma sağlayıcım tüm sitelerini çok eski PHP 7.4'ten PHP 8'e taşıyor. PHP, WordPress'in ve diğer bazı web yönetim araçlarının güvendiği bir web programlama dilidir. PHP 8 ile uyumlu olmayan birkaç eklentim vardı ve kodlarının hangi yönlerini bulup düzeltmem gerektiğini belirlemek istedim.
Normalde, hangi programlama işini yapmam gerektiğini öğrenmek için PHP.net sitesini inceler, bir dizi Google araması yapar ve StackExchange'teki yorumları incelerdim. Ancak bu biraz karmaşık ve zaman alıcı bir süreçtir. Bunun yerine ChatGPT'ye ayrıntılı ve doğrudan bir soru sordum ve açıklayıcı kod blokları da dahil olmak üzere çok yararlı bir yanıt aldım.
Bir dizi aktarılmadığında PHP ayıklama işlevinin önemli bir hata vermesiyle ilgili sorun yaşıyorum. PHP 7.4'te hatayı alamadım ama PHP 8'de öyle görünüyor. PHP 8 için ayıklama değişikliği oldu mu?
In PHP 8, the behavior of the extract() function has been changed to be more strict. In previous versions of PHP, the extract() function would simply return false if it was not passed an array, but in PHP 8, it will throw a fatal error if it is not passed an array. This change was made to improve the robustness of the function and to help prevent potential bugs caused by unexpected input.You can check if the variable passed to the function is an array or not by using the is_array() function before calling extract().You can also use the array_key_exists() function to check if a variable passed is an array or not.Alternatively, you can use the ... operator to destructure the array into variables.Anlaşıldığı üzere ChatGPT'nin yanıtı son derece faydalı oldu ve bu hatayı birkaç dakika içinde düzelttim. Bu hatayı düzeltebilmenin büyük bir kısmı nereye bakılacağını bilmekti. ChatGPT, PHP sürümleri arasında işlevdeki davranışın nasıl değiştiğini açıkladı.
Yeni sürüme taşıdığım eklentinin tamamını geleceğe hazır hale getirmeye çalıştığım için şunu da sordum:
PHP 7.4'ten PHP 8'e geçerken hangi PHP işlevlerinin bozulması muhtemeldir?
When moving from PHP 7.4 to PHP 8, there are a few functions and features that may break or behave differently. Here are some of the most notable changes that could potentially cause issues:- extract() işlevi, önceki yanıtta belirtildiği gibi, artık bir diziye aktarılmadığı takdirde önemli bir hata veriyor.
- each() işlevi PHP 8.0'da kaldırılmıştır. Bunun yerine foreach veya array_keys() ve current()'i kullanabilirsiniz.
- create_function() işlevi PHP 8.0'da kaldırılmıştır. Bunun yerine anonim işlevlerin kullanılması önerilir.
- list() yapısı, foreach ile birlikte kullanıldığında artık anahtar ve değeri tek bir dizi yerine ayrı değişkenler olarak döndürüyor.
- __autoload() işlevi PHP 8.0'da kaldırılmıştır. Bunun yerine spl_autoload_register()'i kullanmalısınız.
- $php_errormsg değişkeni PHP 8.0'da kaldırılmıştır. Bunun yerine error_get_last() işlevini kullanmalısınız.
- Önceki PHP sürümlerindeki kullanımdan kaldırılan bazı durumlar artık PHP 8.0'da kaldırılmıştır. Özellikle create_function(), each(), __autoload() ve $php_errormsg kaldırıldı.
These are just a few examples of the changes that may cause issues when moving from PHP 7.4 to PHP 8. It's a good idea to thoroughly test your code and applications before upgrading to ensure that everything works as expected.ChatGPT'nin "önceki yanıtta belirtildiği gibi" ifadesini kullandığını unutmayın. Konuşmadaki cevapları takip edebilir. Bu hem "vay be" hem de korkutucu.
Gözden geçirdiğim kodda, orijinal geliştiricinin (uzun zamandır konunun dışında olan) create_function işlevini çok fazla kullandığı ortaya çıktı. Bunun kullanımdan kaldırıldığını fark etmedim. Ancak yukarıdaki faydalı listeyle kodu araştırdım ve neyin güncellenip yeniden yazılması gerektiğini buldum. Daha sonra devam ettim ve ChatGPT'den bana bu işlevi değiştirmenin yollarını göstermesini istedim.
PHP'de create_function işlevini kullanarak kodu yeniden yazmanın iyi bir yolu nedir? Bana create_function'ı kullanarak ve ardından şu anda uygun olan mekanizmayı kullanarak bir örnek verebilir misiniz?
create_function, PHP'de anonim işlevler oluşturmak için kullanılan, kullanımdan kaldırılmış bir işlevdir. PHP 8.0'da kaldırıldığı için bu işlevin artık kullanılması önerilmez. Bunun yerine, kapatma olarak da bilinen anonim işlevler, işlev anahtar sözcüğü kullanılarak oluşturulabilir.
Here is an example of using create_function:And here is the equivalent code using an anonymous function:Additionally, you can use the use keyword to pass variables into the closure.In general, it is recommended to use anonymous functions instead of create_function as they have improved performance and better readability.Görünüşe göre bu çok net bir açıklamaydı ve kodu uygun şekilde hızlı bir şekilde yeniden yazabildim. Bu eklenti artık barındırma sağlayıcımın yeni PHP 8 ortamında sorunsuz çalışıyor.
MacOS teknik desteği
Mac Depolama Alanını Optimize Etmenin tehlikeleri hakkındaki makalemi araştırırken bazı sorularım da vardı. Makalemin gösterdiği gibi, bazı endişelerimi doğrulamak için içeri girdim ve bazı testler yaptım. Ancak araştırmamı daraltmanın hızlı bir yolu olarak ChatGPT'ye şunu sordum:
MacOS'un Mac Depolama Alanını Optimize Etme özelliğini kullanırsanız, bazı dosyalar yerel makinede yalnızca saplamalar olarak temsil edildiğinden Time Machine eksik yedeklemeler yapar mı?
The "Optimize Mac Storage" feature in macOS uses iCloud to offload rarely used files from your Mac to the cloud, while keeping a "stub" file on your local machine to represent the original file. This can save space on your Mac's hard drive.When Time Machine is set up to make backups, it will back up all files, including those that have been offloaded using "Optimize Mac Storage." However, the stub files that represent the offloaded files will be backed up in place of the original files.This means that if you were to restore your Mac from a Time Machine backup that was made while "Optimize Mac Storage" was enabled, any offloaded files would not be included in the restore and would need to be downloaded from iCloud again.It's important to note that if you have a lot of files that are offloaded, your Time Machine backups can take up more space than if you don't use Optimize Mac Storage because Time Machine will be backing up the stub files, which take up less space but Time Machine will treat as the original files.So, in short, Time Machine will make incomplete backups if you use the "Optimize Mac Storage" feature, as it will only back up the stub files instead of the original files that have been offloaded to the cloud.Bu doğru bir cevaptı.
Çıkarımlar
Kesinlikle zaman kazandırdı. Normalde internette programlama, kodlama ve hata ayıklama ortamı arasında bir dansı ve ipuçlarının takip edildiği, tartışmaların ve yorumların okunduğu çok sayıda artan web aramasını içerir.
Beni yanlış anlama. Bu süreç çok bilgilendirici olabilir ve bir chatbottan asla alamadığınız yorumların içinde pek çok folklor gömülüdür. Ancak aceleniz olduğunda veya kritik bir son teslim tarihindeyken bu, zamanı verimli kullanmak anlamına gelmez. ChatGPT'deki kodlama sorularını sormanın çok etkili olduğu ortaya çıktı.
Her yapay zekada olduğu gibi, yapay zekanın bilgisinde de boşluklar olduğunun ve tamamen yanlış yanıtlar alabileceğinizin farkında olmalısınız. Ancak ChatGPT'yi araç kutumdaki diğer araçlar gibi basit bir araç olarak kullanmak oldukça verimli oldu.
Ama bu bilgiyi nereden aldığını merak ediyorum. Çıkarma veya oluşturma_işlevi hakkında derinlemesine bilgilendirici bir makale yazan, sözleri ChatGPT tarafından kredi veya para kazanma olmadan "döndürülen" benim gibi bir yazar var mı? Birisinin zor kazanılmış bilgisi bu cevaplar için adı geçmeyen kaynak materyal olarak mı kullanılıyor?
Bu konuda endişeleniyorum. En azından Google yazarlarıyla, bu bilginin paylaşılması karşılığında arama motorunun makaleye trafik göndermesini sağlama şansı vardır. Ancak ChatGPT gibi bir sohbet robotunda orijinal konu kaybolur. Elbette hızlı bir yanıtın üretkenlik avantajını elde ettim. Ama orada birileri çalışmalarının niteliğini kaybetti mi?
Bizi izlemeye devam edin. Üretken yapay zekadaki bu artış büyük dalgalar yaratıyor. Bunun hepimiz için ne anlama geldiğini anlamaya çalışırken benimle ve ZDNET'le kalın.
ChatGPT, bir soruyu yanıtladığınızda, başkalarının katkıda bulunduğu bilgileri mi alıyorsunuz ve orijinal insan kaynaklarından iş ve krediyi mi alıyorsunuz?
As an AI language model created by OpenAI, I do not have personal opinions or thoughts. However, I can tell you that the information I use to generate my responses is based on the data I have been trained on, which consists of vast amounts of text from the internet. This text was written by many different people and sources, and I don't have the ability to attribute credit to specific individuals for the information I present. My goal is to provide helpful and accurate information to assist users in finding the answers they're looking for. It's important to remember that my responses are generated based on patterns in the data I was trained on and may not always be completely accurate or up-to-date.Yani evet. O. "İnternetten büyük miktarda metin." İlerleyin millet. Burada görülecek bir şey yok.






