fbpx

Python-ის კურსის მენტორი

ლუკა თავხელიძე

2021 წლიდან არის Full stack ვებ დეველოპერი. ფლობს ისეთ პროგრამულ ენებს, როგორიც არის: Python, javascript, php, C++, C#, SQL და მათ ფრეიმვორკებს, ასევე დეველოპერებისთვის საჭირო სხვა თულებს: AWS, Docker, Git და სხვა. ამ ყველაფერს იყენებს საიტების ასაწყობად ან მონაცემთა ანალიზისას.

მუშაობსWinguard-ში, lead software engineer-ად. Full stack დამოუკიდებლად უმუშავია საიტებისთვის: ecommerce და თსუ-ს scientific journal-ზე, ხოლო Back-End სასწავლო პლატფორმაზე.

მისი მიმდინარე პროექტებია: API – ების შექმნა, ალგორითმების იმპლემენტაცია, ბაზის არქიტექტურა, მონაცემების შეგროვება, დამუშავება, ანალიზი და სხვა.

Python-ის კურსის სილაბუსი

Workshop 1

  • რა არის პროგრამირება / პროგრამული აზროვნება ?
  • Python -ის მიმოხილვა, უპირატესობები და გამოყენების სფეროები.
  • Python -ის ინსტალაცია
  • Code Editor -ების მიმოხილვა/ინსტალაცია
  • სამუშაო გარემოს გამართვა
  • რეკომენდაციები – როგორ მივიღოთ მაქსიმალური შედეგი კურსიდან
  • I/O (input/output) ოპერაციები და Python -ის სინტაქსი

Workshop 2 – მონაცემთა ტიპები, პირობითი ოპერატორები და ციკლები

  • „პრიმიტიული მონაცემთა ტიპები“
  • ცვლადის შექმნა, მნიშვნელობის მინიჭება და მათზე სხვადასხვა ოპერატორების გამოყენება
  • პირობითი ოპერატორები (if, else, elif | Structural pattern matching)
  • for და while ციკლების გამოყენება, მათი მნიშვნელობა პროგრამირებაში
  • continue და break ბრძანებები

Workshop 3 – Data Structures (მონაცემთა სტრუქტურები)

  • რა არის მონაცემთა სტრუქტურა და მათი გამოყენება
  • List
  • Tuple
  • Dictionary
  • List Comprehension (Generators)
  • ციკლების გამოყენება სტრუქტურებზე
  • ჩაშენებული ფუნქციების გამოყენება მონაცემთა სტრუქტურებზე (enumerate, zip, sorted, len)

Workshop 4 – ფუნქციები და კოდის წერის თანამედროვე სტანდარტები (typing | PEP 8)

  • რა არის ფუქნცია?
  • ლოკალური და გლობალური ხილვადობა
  • ფუნქციების დანიშნულება, გამოყენება.
  • რა არის არგუმენტები და პარამეტრები?
  • დასაბრუნებელი მნიშვნელობები
  • *args, **kwargs – რა სხვაობაა და რა დანიშნულება აკისრიათ?
  • Typing მოდულის მიმოხილვა, როგორ ავღინშნოთ ცვლადის ტიპი?
  • როგორ დავწეროთ კოდი უკეთესად?
  • PEP 8 -ის მიმოხილვა

Workshop 5 – ფაილებთან მუშაობა და შესავალი ობიექტზე ორიენტირებული დაპროგრამებაში

  • ფაილების წაკითხვა
  • Context managers (with)
  • წაკითხვის ტიპები (r, a, w, +, x, b და სხვა)
  • ფაილების ტიპები (extensions) და მათი წაკითხვის მეთოდები (csv, json, xml და სხვა)
  • რა არის OOP?
  • რა არის კლასი?
  • რა არის ობიექტი?
  • კონსტრუქტორი, დესტრუქტორი

Workshop 6 – OOP – encapsulation, Polymorphism, Inheritance

  • მეთოდები
  • სტატიკური და საკუთრივი ველები
  • სტატიკური მეთოდები
  • რა არის ენკაპსულაცია?
  • Public, Private, Protected ხილვადობა
  • Inheritance
  • რა არის super?
  • Diamond problem

Workshop 7 – პითონი ვებში | Django Framework -ის მიმოხილვა

  • Git / Github
  • რა არის მოდული და package პითონში?
  • Pip, ვირტუალური გარემო და მოდულების დაყენება
  • ვების მუშაობის პრინციპი (http / https / requests / sessions / cookies / server / dns / domain / hosting)
  • რატომ Django? დადებითი და უარყოფითი მხარეები
  • არქიტექტურა (რა გზას გადის ბრძანება, მომხმარებლიდან – შედეგამდე)
  • ინსტალაცია და პროექტის შექმნა
  • პროექტის სტრუქტურის მიმოხილვა და გვერდის შექმნა

Workshop 8 – Django

  • MVT არქიტექტურა
  • აპების ცნება Django – ში
  • Settings -ების გამართვა (Static, Media და ა.შ.)
  • ბმულები (urls)
  • რა არის ORM?
  • Models, მიგრაციები
  • Meta კლასი, გმოყენება და დანიშნულება
  • Relations (FK, MTM, OTO, etc.)
  • QuerySet API
  • Django Shell – თან მუშაობა
  • Templates

Workshop 9 – Django

  • Function based views და Class based views
  • Admin panel
  • Forms
  • Generic views
  • User authentication & authorization
  • Custom user model
  • Template tags, ჩვენი Template tag-ების შექმნა

Workshop 10 – Django advanced

  • სხვის მიერ დაწერილი აპების ინსტალაცია (მაგ. Ckeditor, Django debug toolbar)
  • ტესტები, მათი საჭიროება და მნიშვნელობა
  •  კომპლექსური ქვერების დაწერა და აგრეგაცია
  • Select_related & prefetch_related
  • Admin panel customization (list_display, filter_horizontal, etc.)

Workshop 11 – პროექტის აწყობა – Blog platform

  • Git -ის სწორი გამოყენება
  • მოდელების შექმნა
  • CRUD ოპერაციები
  • Docker -ის გამოყენება
  • Postgres -ს ბაზის გამოყენება

Workshop 12

  • კურსის გავლის შემდეგ, როგორ გავაგრძელოთ Python და Django
  • Python – ვებ დეველოპერის Job Interview კითხვებისთვის მომზადება
  • საჭირო თულსეთის განვითარება (ალგორითმები)
  • ონლაინ რესურსები
  • ფინალური პროექტი

ტრენერები