ChatGPT საშინლად კარგია კოდის წერაში.
ყველას სმენია ChatGPT ამ სცენაზე. ეს არის AI-ზე მომუშავე ჩატბოტი, რომელიც იყენებს ბუნებრივი ენის დამუშავების მოდელებს რთულ კითხვებზე პასუხების მისაღებად. ეს პასუხები შეიძლება სულაც არ იყოს ყოველთვის ზუსტი, მაგრამ ისინი საკმარისად დეტალურია, რომ ფაქტობრივად გადაამოწმოთ ის პასუხები, რომლებსაც ის საკმაოდ მარტივად გაძლევთ. რა მოხდება, თუ თქვენ უნდა აიღოთ ChatGPT და შეეცადოთ დაწეროთ კოდი?
როგორც ირკვევა, ეს არის ის, რისი გაკეთებაც შეგიძლიათ წარმატების სხვადასხვა ხარისხით, იმისდა მიხედვით, თუ რომელი ენების გამოყენება გსურთ და რისი მიღწევა გსურთ მათთან ერთად. მე ჩავატარე ტესტი, რათა ვნახო, რამდენად კარგი იქნება სხვადასხვა პროგრამირების ენაზე სხვადასხვა ამოცანების შესრულება. მე ასევე არ ვაპირებ ცვლილებების შეტანას იმ კოდში, რომელსაც აწარმოებს ChatGPT, მე მივმართავ მას სამუშაო კოდის შესაქმნელად, თუ კოდი, რომელსაც ის ქმნის, არ მუშაობს.
მე გამოვიყენე სამი ენა, რომლებსაც უკვე ვიცნობ ChatGPT-ის შესამოწმებლად: Python, C და Java. შედეგები განსაკუთრებით გასაკვირი იყო, რადგან ის ცოტათი ებრძოდა პითონს იმის გამო, რომ აბსტრაქტული იყო, რასაც მე ვთხოვდი, მაგრამ ის მარტივად უმკლავდებოდა C-ს და ძირითად Java-ს. მეც მაქვს
შექმნა GitHub საცავი აქ ყველა კოდი ხელმისაწვდომია, ასე რომ თქვენ თავად შეგიძლიათ სცადოთ იგი.გვერდის ავტომატური შემოწმება პითონში
პითონი არის ჩემი საყვარელი პროგრამირების ენა, რომელზედაც ვმუშაობ და ეს განპირობებულია მასში არსებული ძალით და გამოყენების სიმარტივით. წარსულში დავწერე მრავალი ინსტრუმენტი პითონში ჩემი სამუშაო ნაკადის ნაწილების ავტომატიზაციისთვის და ჩემი საბაკალავრო დისერტაცია კომპიუტერულ მეცნიერებაში კი მთლიანად პითონის საშუალებით შესრულდა. მე ვთხოვე ChatGPT-ს დამეწერა პროგრამა, რომელსაც შეეძლო ვებგვერდის სკანირება ცვლილებებისთვის პერიოდულად, დროულად, და ეს ძირითადად შეასრულა.
ზემოაღნიშნული კოდის პრობლემა, რომელსაც ის მაძლევს, არის ის, რომ ის არ ახდენს რეალური ბრაუზერის სიმულაციას. ვებსაიტები ამოწმებენ თქვენს ბრაუზერში არსებულ პარამეტრს, რომელსაც ეწოდება „მომხმარებლის აგენტი“ და ეს განსაზღვრავს რა სახის ბრაუზერს იყენებთ ან ხართ თუ არა ბოტი. ბევრი ვებსაიტი არ მიიღებს კავშირებს, რომლებიც არ განსაზღვრავენ მომხმარებლის აგენტს, და მე შევხვდი ამას, როდესაც მივუთითე XDA-ზე. მე ვთხოვე მას დაემატებინა პერსონალური სათაურები მოთხოვნაზე რეალური ბრაუზერის სიმულაციისთვის და ის დაკმაყოფილდა.
ზემოთ მოცემული კოდი მუშაობს სტატიკური ვებსაიტებისთვის, მაგრამ პრობლემა ის არის, რომ კონტენტის დიდი ნაწილი, რომელსაც ონლაინ კითხულობთ, დინამიურია. თუ გვერდი აბრუნებს მიმდინარე დროს, მაგალითად, სადღაც გვერდზე, მაშინ ზემოთ მოცემული კოდი ყოველთვის იტყვის, რომ გვერდი იცვლება ყოველ ჯერზე, როცა ის განახლდება. როცა ეს ChatGPT-ს მივუთითე, ის დაიბნა და პრობლემის სრულიად არასწორი გადაწყვეტა მომცა.
ზემოთ მოყვანილი არასწორი ახსნაა, თუ როგორ მუშაობს ჰეშები. ჰეშის აზრი იმაში მდგომარეობს, რომ შეყვანის მცირე ცვლილება გამოიწვევს ჰეშის დიდ განსხვავებას, რადგან ორი ჰეში ძირითადად შეუდარებელია. როცა ვუთხარი, რომ არასწორი მტკიცება იყო იმის ვარაუდი, რომ ჰეშები იყო საუკეთესო საშუალება ცვლილებების შესადარებლად და სკანირებისთვის, მან მიპასუხა ბოდიშით და მომცა რაღაც. გააკეთა მუშაობა.
ერთადერთი პრობლემა, რაც მე აღმოვაჩინე ზემოთ მოცემულ კოდთან დაკავშირებით, არის ის, რომ უფრო დიდი ვებსაიტებისთვის, ეს ასეა გამოთვლებით ძვირია, რადგან ის იყენებს ბუნებრივი ენის დამუშავებას სხვაობის შესადარებლად და გამოსათვლელად მათ შორის. მიუხედავად ამისა, შეცვლილი შინაარსის 5% ბარიერი საკმარისად კარგია ვებსაიტების უმეტესობისთვის, თუ გსურთ განახლებების შემოწმება და საჭიროების შემთხვევაში შეგიძლიათ დაარეგულიროთ ბარიერი. ცოტა ხანი გავიდა, მაგრამ საბოლოოდ მიაღწია.
არსებობს მრავალი მიზეზი, რისთვისაც შეიძლება გსურდეთ ვებ-სკრეპერი, როგორიც ერთ-ერთი ასეთია, და მიუხედავად იმისა, რომ არსებობს ინსტრუმენტები, რომლებსაც ამის გაკეთება შეუძლიათ, მაგარია საკუთარი თავის შექმნა. თქვენ შეგიძლიათ გამოიყენოთ ისინი პაკეტების თვალყურის დევნებისთვის ან, ჩემს შემთხვევაში, ახალი ქონების სკანირებისთვის, რომლებიც ქირავდება ადგილობრივ უძრავი ქონების საიტებზე.
პაროლის გენერატორი C-ში
რამდენადაც უსაფრთხოება ბოლო დროს გავრცელდა, მნიშვნელოვანია, რომ გამოიყენოთ უსაფრთხო პაროლები და ასევე გამოიყენოთ ორფაქტორიანი ავთენტიფიკაცია. თუ თქვენ ებრძვით პაროლის უსაფრთხო ნაწილს, საკმაოდ მარტივია პაროლის გენერატორის დაწერა C-ში. ChatGPT საკმაოდ მარტივად გაუმკლავდა მას და ერთადერთი პრობლემა, რაც მე აღმოვაჩინე, იყო ის, რომ როდესაც მას ვთხოვე პაროლის გენერატორის შექმნა, მან არ მოახდინა String C ბიბლიოთეკის იმპორტი. მე ვუთხარი და იმპორტს თავიდანვე დაუმატა.
მე გავზარდე MAX_LENGTH გლობალური ცვლადი 32 სიმბოლომდე 16-ის ნაცვლად და მან შექმნა შემდეგი პაროლი: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. უსაფრთხოა იმის თქმა, რომ მუშაობს!
კალკულატორი ჯავაში
საკმაოდ ძირითადი პროგრამა, რომელიც ბევრ ადამიანს აქვს Java-ში გამოცდილება, არის კალკულატორის შექმნა. ეს არის ერთ-ერთი ყველაზე ადრეული გამოწვევა, რომელსაც კომპიუტერის მეცნიერები წააწყდებიან თავიანთი პროგრამირების კარიერაში, მიუხედავად იმისა, თუ რომელ ენას ფლობენ ისინი პირველ რიგში. მე ვთხოვე ChatGPT-ს დაეწერა კალკულატორი ჯავაში, რომელიც გამოიყენებდა მინიმუმ ორ კლასს და ის მშვენივრად მუშაობდა პირველ ცდაზე.
ეს არის კალკულატორის კლასი:
ეს არის მთავარი კლასი:
ამ ორივე კლასის შექმნა ჩემს IDE, IntelliJ-ში და ძირითადი კლასის შესრულება იწვევს სრულყოფილად მუშაობას კალკულატორის პროგრამა, რომელიც იღებს ორ რიცხვს და ოპერატორს შეკრების, გამოკლების, გამრავლებისთვის ან დაყოფა.
ChatGPT პროგრამირებაში ღირსეულია
მიუხედავად იმისა, რომ მე არ დავეყრდნობოდი ChatGPT-ს, რომ ყველაფერი გააკეთოს თქვენთვის, ცხადია, რომ მას შეუძლია საკმაოდ კარგი სამუშაოს შესრულება პროგრამების შექმნისას და კრიტიკის გათვალისწინება, როდესაც პრობლემებია. გამიკვირდა, როცა დავინახე, რომ ის გვთავაზობს ჰეშირების ალგორითმს, როგორც ვებგვერდზე მცირე ცვლილებების გარჩევის საშუალებას, მაგრამ ამის გარდა, ის არ ებრძოდა უფრო ძირითად ამოცანებს. პითონის პროგრამის შემთხვევაშიც მას თავიდანვე სწორი იდეა ჰქონდა და უფრო სტატიკურ გვერდებზეც იდეალურად იმუშავებდა.
რა თქმა უნდა, ChatGPT არ აპირებს მალე პროგრამისტებს ჩაანაცვლოს, მაგრამ ის გზაზეა გახდეს ძალიან კარგი ინსტრუმენტი სამუშაო ძალაში. GitHub-ის კოპილოტიმაგალითად, იყენებს GPT ტექნოლოგია, რომელიც ეხმარება ხალხს კოდის დაწერაში და დროთა განმავლობაში ის მხოლოდ უფრო განვითარდება. მაშინაც კი, თუ თქვენ ხართ დამწყები პროგრამისტი, ამ ტიპის ხელსაწყო პოტენციურად დაგეხმარებათ გაიგოთ, შეგიძლიათ თუ არა სრულად ენდოთ მას, მაგრამ ზოგჯერ ის უშვებს უცნაურ შეცდომებს, როგორც ვნახეთ.
რა თქმა უნდა, აქ მოყვანილი მაგალითები ძალიან საბაზისოა და პროგრამისტების უმეტესობას შეეძლება მათი დაწერა საკმაოდ მარტივად, მაგრამ ეს არ არის მთავარი. ის საშინლად კარგად აყალიბებს გადაწყვეტილებებს მარტივ ამოცანებზე და, როგორც ჩანს, უფრო რთულ ამოცანებსაც წესიერად უმკლავდება. ჩვენ აღფრთოვანებული ვართ, რომ ვნახოთ, სად წავა მსგავსი ხელსაწყოები მომავალში და ეხმარება ადამიანებს თავიანთი უნარების გაუმჯობესებაში.