Thinking in Python — ბრიუს ეკელის უფასო წიგნი ტიპებსა და დიზაინზე
ბრიუს ეკელმა გამოაქვეყნა Thinking in Python — უფასო, საშუალო და მაღალი დონის წიგნი ხუთ ნაწილად და 47 თავად, Python 3.15-ისთვის, PDF და EPUB ვერსიებით GitHub-ზე.
ბრიუს ეკელმა, Thinking in Java-სა და მსგავსი „Thinking in…“ წიგნების ავტორმა, გამოაქვეყნა „Thinking in Python: Fluency, Types, and Design“. სრული ტექსტი თავისუფლად იკითხება thinkinginpython.com-ზე, სადაც, საიტის მტკიცებით, ყოველთვის მიმდინარე ვერსიაა; PDF და EPUB ვერსიები GitHub-ის რელიზიდან ჩამოიტვირთება, ხოლო მაგალითები და სავარჯიშოების ამონახსნები იმავე რეპოზიტორიაშია.
რას მოიცავს წიგნი
წიგნი ხუთ ნაწილსა და 47 დანომრილ თავს მოიცავს, დანართებით ეფექტების თვალთვალისა და ეფექტების შემმოწმებლის შესახებ. ნაწილი I, „საფუძვლები“, ენის სწრაფი ტურია: კონტეინერები, კონტროლის ნაკადი, ფუნქციები, მოდულები და პაკეტები, კლასები, სტატიკური ტიპები, კლასის ატრიბუტები და რესურსების გათავისუფლება. ნაწილი II, „ტექნიკები“, მოიცავს ტესტირებას, მონაცემთა კლასებს როგორც ტიპებს, პატერნ-მეტჩინგს, დეკორატორებს, კონტექსტის მენეჯერებს, კომპრეჰენშენებსა და მეტაპროგრამირებას, და სრულდება წარმადობითა და კონკურენტულობით. ნაწილი III, „პატერნები“, კლასიკურ დიზაინის პატერნებს გადის და თითოეულს Python-ისთვის გადააზრებს. ნაწილი IV, „ფუნქციური პროგრამირება“, ეხება სუფთა ფუნქციებს, functools და itertools ხელსაწყოებს, შეცდომებს როგორც მნიშვნელობებს და გარანტიების სპექტრს, რომელიც მანქანურად დამოწმებულ მტკიცებულებამდე აღწევს. ნაწილი V, „ეფექტები“, მიმოიხილავს ენებს, რომლებიც ეფექტებს ფუნქციის ტიპში აღრიცხავენ, ავითარებს გენერატორის პროტოკოლს და იდეას პრაქტიკაში ამოწმებს ბიბლიოთეკა stateless-ით.
ვისთვისაა განკუთვნილი
ეკელი წერს პროგრამისტებისთვის, რომლებმაც უკვე იციან პროგრამირება — სხვა ენაზე ან Python-ზე — და წიგნი საშუალო და მაღალ დონეზეა გათვლილი: იდეები ერთმანეთის მიყოლებით არ შემოჰყავს და თემებს ირჩევს არა დამწყების ბილიკის მიხედვით, არამედ იმით, საინტერესოა თუ არა. ვარაუდობენ ფუნქციებთან, კლასებთან, ობიექტებთან, მემკვიდრეობასთან და ჩვეულ კონტეინერებთან თავისუფალ ფლობას. თავების უმეტესობა დამოუკიდებელია, ამიტომ წიგნის თავიდან ბოლომდე კითხვაც და ნებისმიერი თავიდან დაწყებაც შეიძლება. ნაწილი I შეიძლება გამოტოვოთ, თუ Python უკვე იცით, ერთი გამონაკლისით — სტატიკური ტიპების თავი, ვინაიდან შემდეგი თავები მაგალითებს ანოტაციებით მოჰყავს. ტექსტი Python 3.15-ზეა ორიენტირებული, ხოლო შესავალი აღნიშნავს, რომ თავების ნაწილი პრეზენტაციებად დაიწყო, უმეტესად PyCon-ზე.
კამათი პატერნებზე
წიგნი ისეთივე კამათია, როგორც ცნობარი. მისი მიზანია განსჯის უნარი, აირჩიო ყველაზე მცირე ის, რაც მუშაობს — ამას კი იდეები, იდიომები და პატერნები აყალიბებს. წიგნი თავად დიზაინის პატერნებსაც აყენებს კითხვის ნიშნის ქვეშ: მათი უმეტესობა, მისი არგუმენტით, სტატიკური, მემკვიდრეობაზე დამყარებული ენების შეზღუდვების გვერდის ავლისთვის შეიქმნა, Python-ში კი ბევრი მათგანი სუსტდება ან საერთოდ ქრება — სინგლტონი მოდულია, ვიზიტორი კი ფუნქცია, რომელიც ტიპის მიხედვით ანაწილებს. ნებისმიერი იდიომის ან პატერნის გამოყენებამდე წიგნი კითხულობს, ხომ არ ხსნის პრობლემას ენა თავად, და სირთულეს მხოლოდ მაშინ ამატებს, როცა პასუხი უარყოფითია.
ლიცენზია და მხარდაჭერა
ტექსტი CC BY-NC-ND 4.0 ლიცენზიით ვრცელდება და უფასოდ იკითხება. ეკელი მკითხველს, რომელთაც წიგნი გამოადგებათ, სთხოვს მუშაობის მხარდაჭერას GitHub Sponsors-ის ან Ko-fi-ის მეშვეობით, და ამატებს, რომ ვალდებულება არ არსებობს და მხარდამჭერებიც იმავეს იღებენ. ყდაზე გამოსახულია პითონი, უსასრულობის ნიშნად დახვეული.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.