პითონის პროგრამირების ენა დამწყებთათვის. შექმენით განვითარებისა და სამუშაო გარემო

მთავარი / ბრაუზერები

პითონის პროგრამისტიიყენებს მაღალი დონის პროგრამირების ენას კლიენტ-სერვერის აპლიკაციების, სხვადასხვა ტიპის თამაშების, მიკროსერვისების, დიდი და პატარა ვებსაიტების, ბოტების შესაქმნელად. სოციალური ქსელები. დაკავებულია არა მხოლოდ პროგრამული უზრუნველყოფის შექმნით, არამედ ტექნიკური მხარდაჭერა, ინტეგრაცია, ოპტიმიზაცია, ამზადებს კომპანიის პერსონალს პროგრამებთან და სერვისებთან მუშაობისთვის. პროფესია განკუთვნილია მათთვის, ვინც დაინტერესებულია კომპიუტერული მეცნიერებით (იხ. პროფესიის არჩევა სასკოლო საგნებისადმი ინტერესიდან გამომდინარე).

მოკლე აღწერა

გასული საუკუნის 90-იანი წლების დასაწყისში ჰოლანდიელმა დეველოპერმა შექმნა Python, რომელიც აერთიანებდა ფუნქციებს სხვადასხვა ენებზეპროგრამირება. განსახილველი მაღალი დონის ენა მე-4 ადგილზეა მსოფლიო რეიტინგში, რომელსაც იყენებენ და მხარს უჭერენ Mail, Pinterest, Youtube და დიდი საძიებო სისტემების შემქმნელები.

პითონის გამოცდილი პროგრამისტები ხაზს უსვამენ შემდეგს: ძლიერი მხარეებიენა და მასთან მუშაობის უპირატესობები:

  • ენის გაფართოება, C/C++-თან ინტეგრაცია;
  • გამარტივებული სინტაქსი, Unicode მხარდაჭერა;
  • კროს-პლატფორმა;
  • დინამიური აკრეფა;
  • ყველაზე რთული კოდის სწრაფად შექმნის შესაძლებლობა;
  • განვითარების გარემოს დიდი რაოდენობა;
  • შეიძლება გამოყენებულ იქნას ყველა სახის პროგრამული პროდუქტის დასაწერად;
  • შექმნილი პროგრამული უზრუნველყოფის გამარტივებული მოვლა;
  • უფასო ლიცენზია;
  • კომპეტენტური პროგრამისტების დიდი საზოგადოება.

პითონის უარყოფითი მხარე მოიცავს მის ნელა და იმ ფაქტს, რომ მოცემული ენა საკმაოდ სპეციფიკურია. ყველაზე ხშირად, პროგრამისტებს, რომლებიც სწავლობენ ამ ენას, სურთ თავიანთი ჰორიზონტის გაფართოება და უნარების გაუმჯობესება. ქსელი შეიცავს უამრავ საინტერესო მასალას პითონის შესახებ: სასარგებლო წიგნები და სახელმძღვანელოები, ვიდეოები, რუსულენოვანი თემები, თარგმნილი ინსტრუქციები.

პითონის პროგრამისტის პროფესიის მახასიათებლები

გამოცდილი პროგრამისტები მუდმივად სწავლობენ, რადგან თუ ისინი არ მიიღებენ ახალ ცოდნას, დეველოპერი სწრაფად დაკარგავს როგორც კვალიფიკაციას, ასევე ღირებულებას შრომის ბაზარზე. Python არის ზოგადი დანიშნულების პროგრამირების ენა, რომელიც სასურველია დეველოპერმა იცოდეს. ყველაზე ხშირად ამისთვის პითონის სწავლადაქირავებულნი არიან პროგრამისტები, რომლებსაც უკვე აქვთ C++ ან Java-ს კარგი გამოცდილება. ფაქტია, რომ ობიექტზე ორიენტირებულ პროგრამირებასთან მუშაობის უნარები საშუალებას გაძლევთ მოკლე დროში დაეუფლოთ პითონს.

ბევრი დეველოპერი მიიჩნევს, რომ პითონის ენა მოძველებულია და ძალიან ნელია, ამიტომ სათანადო ყურადღებას არ აქცევენ მის შესწავლას. მაგრამ მსხვილი ტექნოლოგიური კომპანიები აქტიურად იყენებენ ამ პროგრამირების ენას ის მრავალი წელია რეიტინგის სათავეშია, რის წყალობითაც შეიძლება ჩაითვალოს პერსპექტიულად.

Python-ის დეველოპერი ჩართულია მის მიერ შემუშავებული ან განახლებული პროგრამული უზრუნველყოფის შენარჩუნებაში, თანამშრომლების მომზადებაში, ინსტრუქციებისა და დოკუმენტაციის მომზადებაში.

პროფესიის დადებითი და უარყოფითი მხარეები

დადებითი

  1. დამოუკიდებლად სწავლის უნარი, რაც მოსახერხებელია იმ ადამიანებისთვის, რომლებიც გადაწყვეტენ დაშორდნენ კომპლექსურ პროგრამირებას.
  2. სწრაფი სწავლა.
  3. რუსულენოვანი პროგრამისტების დიდი საზოგადოება.
  4. ლამაზი და მარტივი ენობრივი კოდი, რომელიც მნიშვნელოვნად აჩქარებს განვითარების პროცესს.
  5. არა დიდი რაოდენობაპროგრამისტები, რომლებიც თავისუფლად ფლობენ პითონს.
  6. დიდი მოთხოვნაა, ამიტომ სამუშაოც ბევრი იქნება.

მინუსები

  1. Python ნაკლებად პოპულარულია ვიდრე Java და C/C++, რაც მნიშვნელოვან გავლენას ახდენს ხელფასებზე.
  2. განსახილველი პროგრამირების ენა შეიძლება იყოს მეორე ენა, მაგრამ არა პირველი ენა.
  3. პითონის პროგრამისტები მოთხოვნადია მოსკოვში, სანკტ-პეტერბურგსა და სხვა დიდ ქალაქებში დაფუძნებულ ცნობილ კომპანიებში. ამიტომ, დეველოპერს, რომელიც საუბრობს მხოლოდ ერთ პროგრამირების ენაზე, შეიძლება ჰქონდეს პრობლემები შორეულ რეგიონებში სამუშაოს პოვნაში.
  4. მსხვილ კომპანიაში დასასაქმებლად უნდა გქონდეთ Java, C/C++ 2-3 წლიანი გამოცდილება.

მნიშვნელოვანი პიროვნული თვისებები

  1. მოთმინება.
  2. მძიმე სამუშაო.
  3. განსაზღვრა.
  4. ინიციატივა.
  5. განსაზღვრა.
  6. თავდაჯერებულობა.
  7. ყურადღება.
  8. თვითკონტროლი.

პითონის პროგრამისტის ტრენინგი

ნებისმიერს, ვისაც აქვს უმაღლესი ტექნიკური ან IT განათლება, შეუძლია დაეუფლოს Python-ს. უმაღლესი განათლების მიღება რეზიუმეს კიდევ ერთი პლუსია, რადგან დამსაქმებლები, რომლებიც ეძებენ პითონის პროგრამისტს, უპირატესობას ანიჭებენ დეველოპერებს, რომლებსაც აქვთ უმაღლესი განათლება.

ენის სწავლა 2-6 თვეში შეგიძლიათ Python-ის პროგრამირების კურსებით, რომელიც შეიძლება იყოს ფასიანი ან უფასო. თქვენ შეგიძლიათ ისწავლოთ პითონი დამოუკიდებლად ვიდეოების, ბლოგებისა და სახელმძღვანელოების გამოყენებით. კიდევ ერთი კარგი ვარიანტია იპოვოთ პრაქტიკოსი პროგრამისტი, რომელიც მზად არის მიიღოს შეგირდი.

კარგად . თქვენ მიიღებთ ცოდნას და უნარებს, რომლებიც საშუალებას მოგცემთ განახორციელოთ პროექტები სხვადასხვა დონეზესირთულე, დაწყებული მცირე ვებ აპლიკაციებიდან, მარტივი სკრიპტებით და პროგრამებით დამთავრებული პროგრამული უზრუნველყოფაკოსმოსური ხომალდისთვის და ხელოვნური ინტელექტისთვის. ტრენინგი მიმდინარეობს მოსახერხებელ და ეფექტურ ფორმატში ეტაპობრივი გაკვეთილების სახით საშინაო დავალების ინდივიდუალური ანალიზით.

სამუდამოდ გჭირდებათ სამუშაო ინფორმაციის შეგროვება, მაგრამ აღარ გაქვთ საკმარისი ენთუზიაზმი წარმატებული ბიზნეს იდეების შესაქმნელად? თქვენ დაწერთ თქვენს პირველ კოდს Python-ში, ისწავლით როგორ იმუშაოთ ფაილებთან, რომლებიც შეიცავს მილიონობით ხაზს, ამოიღოთ მონაცემები ვებ გვერდებიდან ბრაუზერში გახსნის გარეშეც კი, დააკონფიგურიროთ ავტომატური დაწყებასკრიპტები.

სამუშაო ადგილი

პითონის დეველოპერი შეძლებს ღირსეული სამუშაოს პოვნას მხოლოდ იმ შემთხვევაში, თუ მას აქვს პროგრამირების გამოცდილება. ნიჭი, კრეატიულობა, სწავლის სურვილი, სწრაფი რეაგირება, დეტალებისადმი ყურადღება - ეს არის დამატებითი მოთხოვნებიგანმცხადებლებს. უნივერსიტეტების, სავაჭრო და IT კომპანიების, სახელმწიფო საწარმოების, ეკონომიკური ინსტიტუტების, მედიაჰოლდინგების და ა.შ კარი გაიხსნება დეველოპერისთვის, რომელიც აკმაყოფილებს ამ მოთხოვნებს.

პითონის პროგრამისტის ხელფასი

ხელფასი დამოკიდებულია პითონის დეველოპერის გამოცდილებაზე, უმაღლეს განათლებაზე, წინა დამსაქმებლების მიმოხილვებზე და ტექნიკური მომზადების დონეზე. ყველაზე მაღალ ხელფასს იღებს პითონის პროგრამისტი 2-3 წლიანი სამუშაო გამოცდილებით, რომელიც მუშაობს მოსკოვის რეგიონსა და სანქტ-პეტერბურგში დაფუძნებულ კომპანიებში.

ხელფასი 2019 წლის 17 სექტემბრის მდგომარეობით

რუსეთი 50000-200000 ₽

მოსკოვი 80000-200000 ₽

სწავლება

  1. პითონის პროგრამირების საფუძვლების ცოდნა, მინიმუმ 1 წლიანი გამოცდილება.
  2. უფასო Django ჩარჩო.
  3. სასურველია Java, JavaScript, C/C++-თან მუშაობის პრაქტიკული უნარები.
  4. REST, HTML, CSS, AJAX, Canvas, Web Sockets ცოდნა.
  5. ვერსიის კონტროლის სისტემა.
  6. მონაცემთა ბაზის მართვის სისტემები, გვერდის განლაგება.
  7. ინგლისური, რომელიც აუცილებელია ტექნიკური დოკუმენტების წასაკითხად და დასაწერად. დოკუმენტაცია.

პითონი არის ერთ-ერთი ყველაზე პოპულარული "არაკლასიკური" პროგრამირების ენა. იდეალურია „შესავალი“ ან მეორე ენის როლისთვის (მაგალითად, უფრო რთული C++ ან ჯავის შემდეგ). მისი სიმარტივის (ან თუნდაც მინიმალიზმის) წყალობით, ის სწრაფად შეიწოვება. პითონის გამარტივებული სინტაქსი საშუალებას გაძლევთ გადაიტანოთ დიდი რაოდენობით ინფორმაცია წყაროს კოდის მინიმალური რაოდენობით.

გარდა ამისა, Python შეიძლება გამოყენებულ იქნას პროგრამული უზრუნველყოფის განვითარების თითქმის ნებისმიერ სფეროში (დამოუკიდებელი აპლიკაციები, კლიენტ-სერვერები, ვებ აპლიკაციები) და ნებისმიერ თემაზე. ის ადვილად ინტეგრირდება სხვა კომპონენტებთან, რაც საშუალებას გაძლევთ ჩართოთ Python უკვე დაწერილ აპლიკაციებში. ამ ენაზე დაწერილ პროექტებს აქვთ კროს-პლატფორმულის თვისება, ანუ საჭიროების შემთხვევაში მათი სწრაფად და უმტკივნეულოდ გადატანა შესაძლებელია ერთი ოპერაციული სისტემიდან მეორეზე.

პითონის საცნობარო იმპლემენტაცია არის CPython, რომელიც მხარს უჭერს ყველაზე აქტიურად გამოყენებულ პლატფორმებს და ნაწილდება უფასო ლიცენზიით, რაც საშუალებას აძლევს მას გამოიყენოს შეზღუდვების გარეშე ნებისმიერ აპლიკაციაში, მათ შორის საკუთრებაში.

Python-ის ახალი ვერსიები (დამატებული/შეცვლილი ენის თვისებებით) გამოდის დაახლოებით ორწელნახევარში ერთხელ.

პასუხისმგებლობები

დიზაინი და განვითარება

პითონის პროგრამისტის მთავარი ამოცანაა შექმნას აპლიკაციები და სერვისები ამავე სახელწოდების ენის გამოყენებით. ამავდროულად, პროგრამისტს უნდა შეეძლოს ტექნიკური მახასიათებლების (TOR) შედგენა და სპეციალური ტერმინოლოგიის გაგება.

ტესტირება და განხორციელება

C++ პროგრამისტის ამოცანები ასევე მოიცავს პროექტის მხარდაჭერას აპლიკაციებისა და სერვისების შესაქმნელად: მათი ტესტირება, მათი გამართვა (შეცდომების აღმოჩენის შემთხვევაში) და ბოლოს, განხორციელება - ამოქმედება.

ესკორტი

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

რაც უნდა იცოდე და შეგეძლოს

    პიროვნული თვისებები
  • ანალიტიკური გონება;
  • ყურადღება დეტალებზე;
  • სტრუქტურული აზროვნება;
  • თვითსწავლის უნარი;
  • პასუხისმგებლობა.
    ძირითადი უნარები
  • პითონში განვითარების ცოდნა და გამოცდილება;
  • HTML, CSS, JavaScript-ის ცოდნა და გამოცდილება;
  • MySQL, PgSQL-ის ცოდნა;
  • აპლიკაციების/სერვისების შემუშავების გამოცდილება;
  • ტექნიკური მახასიათებლების შედგენისა და წაკითხვის უნარი;
  • სხვა ადამიანების კოდის გაგების უნარი;
  • დიდი მოცულობის ინფორმაციასთან მუშაობის უნარები.
გაკვეთილი 1: შესავალი

გაკვეთილის შედეგი: მორგებული გარემო, ბიბლიოთეკა სინტაქსისა და მონაცემთა ტიპების საფუძვლებით, რომლებსაც მომავალში შეგიძლიათ დაეყრდნოთ.

  • "პითონის" ზოგადი გაცნობა, მისი ისტორია და პერსპექტივები
  • ზოგადი გაცნობა `პითონის~ ვერსიების 2.7 და 3
  • `Python` 2.7 და 3-ის კონფიგურაცია და ინსტალაცია ადგილობრივ მანქანებზე
  • ინსტალაცია `SublimeText` (ტექსტური რედაქტორი)
  • `git`-ის კონფიგურაცია და ინსტალაცია, რეგისტრაცია github-ზე
  • `დაბეჭდეთ "Hello Pythonic World!", ჯერ ჩაიდინეთ და გადადით github-ზე
  • დეტალური ანალიზი იმისა, რაც მოხდა ზემოთ მოცემულ პარაგრაფში
  • ძირითადი სინტაქსის შესავალი, მონაცემთა ძირითადი ტიპები
  • რა არის ცვლადი? როგორ გამოვაცხადოთ და სად შეიძლება მისი ნახვა?
  • ენის სტრუქტურების შესავალი: განშტოებები, მარყუჟები, პირობები
  • Stackoverflow-ზე ორიენტირებული განვითარება, განყოფილება, თუ როგორ უნდა იპოვოთ პასუხები თქვენს კითხვებზე
გაკვეთილი 2: პირველი განაცხადი

გაკვეთილის შედეგი: აპლიკაცია-თამაში კონსოლში „tic-tac-toe“.

  • ბრძანების ხაზის გაცნობა
  • დამოკიდებულების მართვა, `pip`, პირველი გარე პაკეტების დაყენება
  • `virtualenv~-ის გაცნობა, გარემოს შექმნა
  • ინსტალაცია `PyCharm` (IDE)
  • მონაცემთა ტიპების გაცნობის გაგრძელება `Python~-ში, პრინციპი "დავალება არასოდეს აკოპირებს მონაცემებს": მასივები, ლექსიკონები, ტოპები.
  • რა არის ფუნქცია? ფუნქციური პროგრამირების შესავალი
  • გამონაკლისის მართვა
  • აპლიკაციის გამართვა
  • ფუნქციონალურ სტილში ტიკ-ტაკ-ტოს თამაშის დაწერა
გაკვეთილი 3: ობიექტზე ორიენტირებული პროგრამირება

გაკვეთილის შედეგი: აპლიკაცია „სამუშაო და საყიდლების სია“.

  • რა არის ობიექტი? შესავალი OOP-ში
  • OOP პრინციპები: აბსტრაქცია, მემკვიდრეობა, ინკაფსულაცია, პოლიმორფიზმი
  • მაგიური მეთოდები და მუდმივები: `__init__()`, `__str__()` და `__dict__`
  • `პითონის` `სუპერ()`, `mro()`, ახალი და ძველი კლასები
  • `@staticmethod` და `@classmethod`, კლასის ცვლადები
  • დიზაინის პრინციპები: მემკვიდრეობა, აგრეგაცია და შემადგენლობა
  • "პითონის" ენის უწყვეტი გაცნობა: დეკორატორები, თვისებები, გენერატორები, "ლამბდა", "სიის გააზრება".
  • პითონის ზენი
  • To-Do და Shopping List აპლიკაციის დაწერა Object Style-ში
გაკვეთილი 4: პითონის ვერსიები, ჯვარედინი ვერსიის კოდი
  • რა არის ძირითადი განსხვავებები პითონ 2-სა და 3-ს შორის?
  • `str` და `unicode`
  • სხვა მნიშვნელოვანი ცვლილებები
  • რომელი თარჯიმანი უნდა ავირჩიო ახალი პროექტისთვის?
  • როგორ დავწეროთ კოდი პითონის ორივე ვერსიისთვის? შესავალი `ექვსამდე~, `2-დან 3-მდე~, `3-დან 2-მდე~
  • მომავალი მომავალი: რა არის ახალი `Python` 3.5-ში?
  • შემიძლია გავაუმჯობესო "პითონი"? ან რა არის `PEP`
გაკვეთილი 5: პროგრამების გართულება

გაკვეთილის შედეგი: აპლიკაცია-თამაში „საზღვაო ბრძოლა“ AI-ით.

  • პროგრამული უზრუნველყოფის განვითარების პრინციპები: DRY, KISS, YAGNI, SOLID
  • გავრცელებული შეცდომებიკოდის დაწერისას
  • ფაილებთან მუშაობა
  • ტექსტის ფორმატებიმონაცემთა გაცვლა: `.json`, `.csv` და როგორ ვიმუშაოთ მათთან
  • განაცხადის შეწყვეტის რა გზები არსებობს?
  • თამაშის დაწერა "ზღვის ბრძოლა" AI-ით თამაშის შენახვით, ობიექტის სტილში
გაკვეთილი 6: ვებ ობობის შექმნა

გაკვეთილის შედეგი: აპლიკაცია, რომელიც გადავიდოდა სოციალური ქსელის გვერდზე და იქიდან იღებდა ყველა სტატუსს და/ან ფოტოს.

  • როგორ მუშაობს ინტერნეტი? "TCP/IP", "DNS" და კლიენტ-სერვერის არქიტექტურის შესავალი
  • რატომ გვჭირდება `http` მისამართის წინ? `HTTP` პროტოკოლის გაცნობა `urllib` მოდულით
  • რა არის რეგულარული გამოხატულება? მოდული `რე`
  • რა არის ვებ გვერდი? `HTML` მარკირების საფუძვლები, შესავალი `HTML5` ტეგებში
  • "Scrapy"-ზე დაფუძნებული ვებ ობობის დაწერა, რომელიც მიიღებს სტატუსებს სოციალური ქსელის გვერდიდან და შედეგებს შეინახავს ფაილში
გაკვეთილი 7: პირველი ვებ პროექტი, ბექენდი

გაკვეთილის შედეგი: ბლოგის აპლიკაცია მონაცემთა ბაზის გარეშე, სტილისა და სკრიპტების გარეშე.

  • რა არის backend და frontend?
  • როგორ მუშაობს სერვერი `Flask`-ის მაგალითის გამოყენებით?
  • რა გზას გადის მოთხოვნა და რა ტიპის მოთხოვნები არსებობს?
  • შესავალი `MVC` და `MTV`
  • როგორ ხდება მარშრუტიზაცია?
  • რა არის შაბლონი? და როგორ ვიმუშაოთ `Jinja2`-თან?
  • რატომ გვჭირდება ფორმები და როგორ ვიმუშაოთ მათთან?
  • თქვენი პირველი ვებ აპლიკაციის დაწერა

მეორე ბლოკი. 8-14 გაკვეთილები.

გაკვეთილი 8: მონაცემთა ბაზის საფუძვლები

გაკვეთილის შედეგი: ბლოგის აპლიკაცია მონაცემთა ბაზითა და ქეშით, სტატიების გვერდი-გვერდ ჩვენება, სტილის და სკრიპტების გარეშე.

  • რა ტიპის მონაცემთა ბაზები არსებობს? "MySQL", "PostgresSQL", "SQLite" და "Redis"-ის შესავალი
  • RDBMS საფუძვლები: ცხრილები და მათ შორის ურთიერთობები (OneToOne, OneToMany, ManyToMany)
  • "SQL"-ის შესავალი
  • მონაცემთა ბაზის დიზაინი, ნორმალური ფორმები
  • ტრანზაქციები, ინდექსები
  • შესავალი `NoSQL`: `key-value` საცავი, ინსტალაცია `Redis`
  • `ORM`-ის შესავალი `SQLAlchemy` (SQLite-სთვის) და `redis-py`-ის მაგალითის გამოყენებით
  • ბლოგის მოდელების დაწერა, ქეშის შექმნა `Redis`-ში, გვერდის ხედის დამატება
გაკვეთილი 9: პირველი ვებ პროექტი, წინა ნაწილი: CSS

გაკვეთილის შედეგი: ბლოგის აპლიკაცია, თან css სტილები

გაკვეთილი 10: შესავალი JS

გაკვეთილის შედეგი: მცირე პროექტი ჯ.ს

  • რა მსგავსება და განსხვავებებია `javascript~ და `Python~-ს შორის?
  • რა სახის `ჯავასკრიპტი` არსებობს?
  • მონაცემთა ტიპები
  • ენის სტრუქტურები
  • ცვლადი ფარგლები
  • ფუნქციები და რა არის `ეს`?
  • "ფანჯარა" და "დოკუმენტი" ობიექტები
  • რა არის `პოლიფილი~?
  • როგორ გავასწოროთ `js` აპლიკაცია?
  • დაწერეთ თქვენი საკუთარი მცირე ფრონტენდის პროექტი
გაკვეთილი 11: პირველი ვებ პროექტი, წინა ნაწილი: jQuery

გაკვეთილის შედეგი: წინასწარი წინა ნაწილი თქვენი განაცხადისთვის

  • რა არის `jQuery` ბიბლიოთეკა?
  • როდის არის საჭირო, როდის შეიძლება მის გარეშე და როდის არის არასასურველი?
  • კოდის ორგანიზაციის მეთოდოლოგიები ან "როგორ მოვამზადოთ ლაფშა"
  • ბრაუზერის მოვლენის მოდელი
  • წარმოგიდგენთ `$.ajax()` და `CORS`
  • `DOM` მანიპულაცია
  • კოდის მუშაობის გაუმჯობესება
  • ფრონტენდის დაწერა თქვენი პროექტისთვის
გაკვეთილი 12: რუტინული ამოცანების ავტომატიზაცია Grunt-თან ერთად

გაკვეთილის შედეგები: მზადაა თქვენი განაცხადისთვის

  • რატომ გჭირდებათ დავალების ავტომატიზაცია?
  • რა განსხვავებაა `` შორის
  • გააუმჯობესე `CSS` `ავტოფიქსირებით`
  • "PostCSS"-ის შესავალი და რამდენიმე სიტყვა პრეპროცესორების შესახებ
  • შემცირება ტექსტური ფაილებიდა სურათები
  • მოდულური სისტემა `js`-ისთვის, რომელიც იყენებს `browserify` როგორც მაგალითად
  • გვერდის მყისიერად შეცვლა `liveserver`-ით
  • რატომ გვჭირდება ვერსიის სისტემა სტატიკური ფაილებისთვის?
  • შექმენით `Gruntfile.js`, ჯერ შექმენით ფრონტენდი
გაკვეთილი 13: ჯანგო

გაკვეთილის შედეგი: დაიწერა მომავალი Django აპლიკაციის ჩონჩხი

  • რა არის "ჯანგო"? და როგორ მუშაობს ეს ჩარჩო?
  • რა გზას გადის მოთხოვნა განაცხადის სასიცოცხლო ციკლში?
  • შესავალი Middleware
  • url-routing, `include()` და `reverse()`
  • `Django's MVT, შესავალი `Django-Templates~
  • `ნახვები` და `კლასზე დაფუძნებული ხედები`
  • მარტივი ფორმები, ფორმის ვალიდაცია
  • სტატიკური ფაილები
  • აპლიკაციის პარამეტრების ორგანიზება
  • მომავალი პროექტის ჩონჩხის დაწერა
გაკვეთილი 14: Django ORM

გაკვეთილის შედეგი: აპლიკაციისთვის მოდელების წერა

  • გაიცანით მოდელები
  • `PostgreSQL`-ის ინსტალაცია და კონფიგურაცია
  • ურთიერთობები მოდელებს შორის: `OneToOne`, `ManyToMany` და `ForeingKey`
  • როგორ დავწეროთ მოთხოვნა?
  • როგორ დავწეროთ რთული შეკითხვა? `annotate()`, `aggregate()`
  • სიგნალები
  • მიგრაციები, ისტორიული `სამხრეთის~ და ამჟამინდელი `ჯანგო-მიგრაციების~ მიმოხილვა
  • აპლიკაციის მოდელების წერა

მესამე ბლოკი გაკვეთილები 15-21.

გაკვეთილი 15: მოდელებთან მუშაობა ჯანგოში

გაკვეთილის შედეგი: მოდელების დასრულება, ოპტიმიზაცია და გამართვა

  • როგორ გავამარტივოთ რთული შეკითხვა? `select_related()`, `მნიშვნელობები()`
  • მოთხოვნის მონიტორინგი `django-debug-toolbar`-ის გამოყენებით
  • `ModelForm`-ის შექმნა და დადასტურება
  • მუშაობა `FileField` და `ImageField`, მორგებული მედია ფაილების შენახვა
  • მოდელის მემკვიდრეობა, აბსტრაქტული მოდელები და მიქსინები
  • მენეჯერები
  • `დაუმუშავებელი მოთხოვნები`: დადებითი და უარყოფითი მხარეები
  • თქვენი განაცხადის დახვეწა
გაკვეთილი 16: ჯანგოს აპლიკაციის ადმინისტრირება

გაკვეთილის შედეგი: განაცხადის წერილობითი ადმინისტრაციული ნაწილი

  • როგორ მუშაობს ადმინისტრატორის პანელი?
  • როგორ განვახორციელოთ განაცხადი?
  • მომხმარებლის ავტორიზაცია, ჯგუფები და წვდომის უფლებები
  • საკუთარი `admin-view` შექმნა
  • წარმოგიდგენთ `django-admin-tools`
  • `Django Management Commands`, საკუთარი ბრძანებების შექმნა
  • როგორ შევინარჩუნოთ ჟურნალები სწორად?
გაკვეთილი 17: პითონის აპლიკაციის ტესტირება

გაკვეთილის შედეგი: შევსებული ბლოგის აპლიკაცია მონაცემთა ბაზით, დიზაინით და ტესტებით.

  • რა არის ტესტი და რატომ შეამოწმეთ აპლიკაცია?
  • რა ტესტები არსებობს? რა განსხვავებაა ერთეულის ტესტებსა და ინტეგრაციის ტესტებს შორის?
  • `unittest` მოდული `Python`-ში
  • რა არის "იზოლაცია"? წარმოგიდგენთ `იმიტირებულ` მოდულს
  • ტესტები `პითონის~ რამდენიმე ვერსიისთვის `ტოქსით~
  • ინტეგრაციის ტესტები `სელენთან~
  • რამდენ კოდს მოიცავს ტესტები? `დაფარვის~ შესავალი
  • თქვენი პროექტისთვის ტესტების წერა, 70-80% დაფარვის მიღწევა
გაკვეთილი 18: Javascript აპლიკაციის ტესტირება

გაკვეთილის შედეგი: ტესტების დაწერა თქვენი განაცხადისთვის

  • რატომ აქვს `js`-ს ამდენი ტესტირების ჩარჩო?
  • ტესტირება `მოკა~, `ჩაი~ და `სინონით~
  • იზოლაცია: დაცინვა, ჯაშუშები და ზურგის დარტყმები
  • ტესტირება სურათებით, ან როგორ მუშაობს `ტყუპები`
  • როგორ ჩავატაროთ ყველა ტესტი ერთდროულად? შესავალი `პოლიტესტერი~
  • ავტომატური ტესტირება ადგილობრივად "Grunt"-ის მაგალითის გამოყენებით და დისტანციურად Travis CI-ის მაგალითის გამოყენებით
გაკვეთილი 19: შესავალი TDD-სა და BDD-ში

გაკვეთილის შედეგი: მოდულის დაწერა TDD სტილში, BDD ტესტების შექმნა

  • რა არის "ტესტი ორიენტირებული განვითარება"?
  • ასეთი ლაშქრობის დადებითი და უარყოფითი მხარეები
  • `Django` აპლიკაციის ტესტირება `LiveServerTestCase` და `StaticLiveServerTestCase` გამოყენებით
  • რატომ არის ხშირად შედარება TDD და BDD?
  • როგორ აღვწეროთ განაცხადის ქცევა? შესავალი `გერკინის~ ფსევდოენაში
  • BDD ჩარჩოების შედარება `Python`-ისთვის
  • BDD ტესტების გაშვება
  • როდის არის ასეთი მიდგომები აუცილებელი, გამოსაყენებელი და უკუნაჩვენები? და როდის დავწერო რა ტესტები?
გაკვეთილი 20: ნიახური

გაკვეთილის შედეგი: ასინქრონული ამოცანების დაწერა თქვენი პროექტისთვის

  • `Celery with Redis`-ის კონფიგურაცია და ინსტალაცია
  • ასინქრონული ამოცანების შესავალი
  • პერიოდული დავალებები `Celery Beat`-ით
  • დავალების შესრულების მონიტორინგი `Celerycam`-ით
  • `რედისის~ მონიტორინგი
  • როგორ გავასწოროთ `ნიახური~?
  • ასინქრონული ამოცანების წერა
გაკვეთილი 21: უპირატესობები Django დეველოპერებისთვის

გაკვეთილის შედეგი:

  • მოკლე შესავალი პოპულარული ბიბლიოთეკების შესახებ
  • `პითონ-სოციალურ-ავტი~
  • `django-rest-framework`
  • `django-cms`
  • `ელასტიური ძიება~
  • `Sentry` და `Raven` (+ `raven.js`)

მეოთხე ბლოკი. 22-26 გაკვეთილები.

გაკვეთილი 22: უსაფრთხოება

გაკვეთილის შედეგი: სკრიპტები ამისთვის XSS შეტევებიპროექტს უსაფრთხოების დამატებითი პარამეტრების დამატება

  • რა სახის შეტევები არსებობს?
  • რა ინსტრუმენტებს გვთავაზობს `Django` პოტენციური თავდასხმების თავიდან ასაცილებლად?
  • კონტენტის უსაფრთხოების პოლიტიკა
  • ვწერთ ჩვენს საკუთარ XSS-ს
  • HTTPS პროტოკოლი
  • საიტის უსაფრთხოების აუდიტი
გაკვეთილი 23: დოკუმენტაცია

გაკვეთილის შედეგი: თქვენი განაცხადების დოკუმენტირება, დოკუმენტაციის გენერირება

  • როგორ დავაკონკრეტოთ "პითონის" აპლიკაცია?
  • ჭკვიანი `doc-string`, შესავალი `სფინქსი~
  • ტესტები დოკუმენტაციაში
  • როგორ დავწეროთ `CSS` და რატომ? `KSS`-ის გაცნობა
  • შექმენით თქვენი საკუთარი `სტილის სახელმძღვანელო` ორი დაწკაპუნებით
  • `js`-ის დოკუმენტირება
  • საპროექტო დოკუმენტაციის გენერირება
გაკვეთილი 24: მათემატიკა პითონში
  • რა არის "ანაკონდა"?
  • ჩარჩო `პანდაები`
  • წარმოგიდგენთ `numpy`-ს
  • `iPython Notebook`
  • `matplotlib`
გაკვეთილი 25: განლაგება UNIX სერვერზე

გაკვეთილის შედეგი: განათავსეთ თქვენი აპლიკაცია სერვერზე, შექმენით კონფიგურაციის შაბლონები

  • განსხვავებები წარმოების სერვერსა და განვითარების სერვერს შორის
  • გარემოს შექმნა
  • `gunicorn` vs `uwsgi`
  • სერვისების შექმნა `ზედამხედველში~
  • `nginx`-ის ინსტალაცია და კონფიგურაცია
  • დამატებითი სერვისების დაყენება
  • მიმდინარეობს `pydevd`-ის ინსტალაცია და დისტანციური გამართვა
გაკვეთილი 26: რეალური ცხოვრების აპლიკაცია
  • რა უნდა გააკეთოს, როცა ყველაფერი არასწორედ მიდის
  • როგორ დაუჭიროთ მხარი თქვენს აპლიკაციას?
  • როგორ დავუჭიროთ მხარი სხვის აპლიკაციას?
  • მეტრიკა (CTR, კონვერტაცია), AB ტესტირება
  • სად უნდა გაიზარდოს და რა უნდა გააკეთოს?

როგორც პროფესიის სახელწოდებიდან ირკვევა, მთავარია პითონის ენის გამოყენება. ეს არის მაღალი დონის ენა ზოგადი დანიშნულება, რომელიც გამოირჩევა მინიმალიზმით. ამის წყალობით, პითონის სწავლა შეიძლება სწრაფად, განსაკუთრებით მეორე ადგილზეა უფრო რთული C++-ისა და ჯავის შემდეგ.

პითონი გამოიყენება პროგრამული უზრუნველყოფის განვითარების თითქმის ყველა სფეროში, განსაკუთრებით ელექტრონული კომერციის, ონლაინ მარკეტინგისა და ონლაინ ბანკინგის მოთხოვნაში. სწორედ ამიტომ, მასზე მომუშავე პროგრამისტები შეძლებენ საკუთარი თავის პოვნას IT სფეროში.

პითონის დეველოპერებს შეუძლიათ გააცნობიერონ საკუთარი თავი როგორც ნულიდან პროგრამული უზრუნველყოფის შექმნაში, ასევე უკვე მზა პროდუქტების დახვეწაში. პითონში დაწერილი კოდი შეიძლება განხორციელდეს არსებულ აპლიკაციებში. გარდა ამისა, მასზე შექმნილი პროექტები კროს-პლატფორმულია, რაც საჭიროების შემთხვევაში მათი ერთი სისტემიდან მეორეზე გადატანის საშუალებას იძლევა.

პითონის პროგრამისტი: პასუხისმგებლობები

პითონის პროგრამისტის პასუხისმგებლობა დიდად არ განსხვავდება სხვა ენებზე მომუშავე სპეციალისტებისგან. მთავარი ამოცანაა პითონში სერვისებისა და აპლიკაციების შემუშავება. ასევე საჭიროა ტექნიკური მახასიათებლების შედგენისა და წაკითხვის უნარი და სპეციალური ტერმინოლოგიის ცოდნა.

დამოკიდებულია იმაზე, მუშაობს თუ არა პითონის დეველოპერი მარტო თუ გუნდში, ასევე იცვლება შესრულებული დავალებების სია. ასე რომ, მარტო მუშაობისას, პროგრამისტი იღებს სრულ პასუხისმგებლობას არა მხოლოდ კოდის დაწერაზე, არამედ მზა პროდუქტის ტესტირებისა და დანერგვის ეტაპებზე, ასევე მომხმარებლისთვის ინსტრუქციების დაწერაზე. თუ სპეციალისტთა მთელი გუნდი მუშაობს პროექტზე, დავალებები ხშირად ნაწილდება ყველა წევრზე.

როგორ გავხდეთ პითონის დეველოპერი

პროფესია „პითონის პროგრამისტი“ მოთხოვნადი და აქტუალურია. ონლაინ სკოლები და უნივერსიტეტები გვთავაზობენ პითონის განვითარების კურსებს როგორც დამწყებთათვის, ასევე გამოცდილი პროფესიონალებისთვის. თუ თქვენ აპირებთ სერიოზულად მოეკიდოთ პროგრამირებას, მაშინ ყურადღება უნდა მიაქციოთ სასწავლო პროგრამებს ნულიდან. თუ უკვე იცნობთ პროგრამირების ზოგიერთ ენას, მაშინ პითონის გაფართოებული კურსები თქვენთვის შესაფერისია.

პროგრამა არის ალგორითმების ნაკრები, რომელიც უზრუნველყოფს საჭირო მოქმედებების შესრულებას. პირობითად, ჩვეულებრივი ადამიანის დაპროგრამება შესაძლებელია ზუსტად ისე, რომ დაწეროს ზუსტი ბრძანებები, მაგალითად, ჩაის მოამზადოს. თუ ეს უკანასკნელი ვარიანტი იყენებს ბუნებრივ მეტყველებას (რუსული, უკრაინული, ინგლისური, კორეული და ა.შ.), მაშინ კომპიუტერს დასჭირდება სპეციალური პროგრამირების ენა. პითონი ერთ-ერთი მათგანია. პროგრამირების გარემო შემდგომში თარგმნის ბრძანებებს და შესრულდება ადამიანის მიზანი, რომლისთვისაც შეიქმნა ალგორითმი. პითონს აქვს საკუთარი სინტაქსი, რომელიც ქვემოთ იქნება განხილული.

ენის ისტორია

განვითარება დაიწყო 1980-იან წლებში და დასრულდა 1991 წელს. პითონის ენა შეიქმნა გვიდო ვან როსუმმა. მიუხედავად იმისა, რომ პითონის მთავარი სიმბოლო გველია, მას სახელი ამერიკული კომედი შოუს მიხედვით დაერქვა.

ენის შექმნისას დეველოპერმა გამოიყენა არსებული პასკალიდან, C და C++-დან ნასესხები ბრძანებები. ჯერ ონლაინში შესვლის შემდეგ ოფიციალური ვერსიაპროგრამისტების მთელი ჯგუფი შეუერთდა მის დახვეწასა და გაუმჯობესებას.

ერთ-ერთი ფაქტორი, რამაც საშუალება მისცა პითონს საკმაოდ ცნობილი გამხდარიყო, არის მისი დიზაინი. მას მრავალი უაღრესად წარმატებული სპეციალისტი აღიარებს, როგორც ერთ-ერთ საუკეთესოს.

პითონის მახასიათებლები

პითონის პროგრამირების ენა შესანიშნავი მასწავლებელი იქნება დამწყებთათვის. მას აქვს საკმაოდ მარტივი სინტაქსი. კოდის გაგება ადვილი იქნება, რადგან ის არ შეიცავს ბევრ დამხმარე ელემენტს და ენის სპეციალური სტრუქტურა გასწავლით თუ როგორ უნდა გააკეთოთ შეწევა. რა თქმა უნდა, კარგად შემუშავებული პროგრამა, ბრძანებების მცირე რაოდენობით, მაშინვე გასაგები იქნება.

მრავალი სინტაქსური სისტემა შეიქმნა ობიექტზე ორიენტირებული პროგრამირების გამოყენებით. გამონაკლისი არც პითონია. ზუსტად რატომ დაიბადა? ეს გაუადვილებს დამწყებთათვის სწავლას და დაეხმარება უკვე კვალიფიციურ თანამშრომლებს დაიმახსოვრონ ზოგიერთი ელემენტი.

ენის სინტაქსი

როგორც უკვე აღვნიშნეთ, კოდი საკმაოდ მარტივი და მარტივი წასაკითხია. პითონს აქვს თანმიმდევრული ბრძანებები, რომლებიც ზუსტია შესრულებაში. პრინციპში, გამოყენებული ოპერატორები დამწყებთათვისაც კი არ გამოიყურება რთული. სწორედ ეს განასხვავებს პითონს. მისი სინტაქსი მარტივი და მარტივია.

ტრადიციული ოპერატორები:

  • პირობის დაყენებისას უნდა გამოიყენოთ if-else კონსტრუქცია. თუ ძალიან ბევრი ასეთი ხაზია, შეგიძლიათ შეიყვანოთ elif ბრძანება.
  • კლასი არის კლასის გასაგებად.
  • ერთ-ერთი მარტივი ოპერატორი არის pass. არაფერს აკეთებს, უხდება ცარიელ ბლოკებს.
  • ციკლური ბრძანებები არის while და for.
  • ფუნქცია, მეთოდი და გენერატორი განისაზღვრება def-ის წყალობით.

ცალკეული სიტყვების გარდა, პითონის პროგრამირების ენა საშუალებას გაძლევთ გამოიყენოთ გამონათქვამები ოპერატორებად. სიმებიანი ჯაჭვების გამოყენებით, შეგიძლიათ შეამციროთ ცალკეული ბრძანებების და ფრჩხილების რაოდენობა. ასევე გამოიყენება ეგრეთ წოდებული ზარმაცი გამოთვლები, ანუ ის, რაც კეთდება მხოლოდ მაშინ, როცა ამას მოითხოვს მდგომარეობა. ეს მოიცავს და და ან.

პროგრამის დაწერის პროცესი

თარჯიმანი მუშაობს ერთ მექანიზმზე: როდესაც წერთ სტრიქონს (რის შემდეგაც აყენებთ "Enter"), ის მაშინვე სრულდება და ადამიანს უკვე შეუძლია ნახოს გარკვეული შედეგი. ეს სასარგებლო და საკმაოდ მოსახერხებელი იქნება დამწყებთათვის ან მათთვის, ვისაც სურს პატარა კოდის გამოცდა. კომპილირებული გარემოში, თქვენ ჯერ უნდა დაწეროთ მთელი პროგრამა, მხოლოდ ამის შემდეგ გაუშვათ და შეამოწმოთ შეცდომები.

პითონის პროგრამირების ენა (დამწყებთათვის, როგორც უკვე გაირკვა, იდეალურია) საოპერაციო ოთახში Linux სისტემასაშუალებას გაძლევთ იმუშაოთ უშუალოდ კონსოლში. უნდა ეწეროს ბრძანების ხაზიპითონის კოდის სახელი ინგლისური. არ იქნება რთული თქვენი პირველი პროგრამის შექმნა. უპირველეს ყოვლისა, გასათვალისწინებელია, რომ თარჯიმანი აქ შეიძლება გამოყენებულ იქნას როგორც კალკულატორი. ვინაიდან ახალგაზრდა და დამწყები სპეციალისტები ხშირად არ გრძნობენ თავს სინტაქსით, შეგიძლიათ დაწეროთ ალგორითმი ამ გზით:

ყოველი ხაზის შემდეგ თქვენ უნდა დააყენოთ "Enter". პასუხი გამოჩნდება მასზე დაჭერისთანავე.

პითონის მიერ გამოყენებული მონაცემები

მონაცემები, რომლებსაც კომპიუტერები (და პროგრამირების ენები) იყენებენ, რამდენიმე ტიპისაა და ეს აშკარაა. რიცხვები შეიძლება იყოს წილადი, მთელი, შეიძლება შედგებოდეს მრავალი ციფრისგან, ან შეიძლება იყოს საკმაოდ მასიური წილადი ნაწილის გამო. იმისათვის, რომ თარჯიმანს გაუადვილოს მათთან მუშაობა და გაიგოს რასთან აქვს საქმე, უნდა განისაზღვროს კონკრეტული ტიპი. უფრო მეტიც, აუცილებელია, რომ რიცხვები მოთავსდეს გამოყოფილ მეხსიერების უჯრედში.

პითონის პროგრამირების ენის მიერ გამოყენებული მონაცემთა ყველაზე გავრცელებული ტიპებია:

  • მთელი რიცხვი. საუბარია მთელ რიცხვებზე, რომლებსაც აქვთ როგორც უარყოფითი, ასევე დადებითი მნიშვნელობები. ნული ასევე შედის ამ ტიპში.
  • იმისათვის, რომ თარჯიმანმა გაიგოს, რომ ის მუშაობს წილად ნაწილებთან, ტიპი უნდა იყოს float point. როგორც წესი, იგი გამოიყენება სხვადასხვა წერტილის მქონე რიცხვების გამოყენებისას. უნდა გვახსოვდეს, რომ პროგრამის დაწერისას, თქვენ უნდა მიჰყვეთ აღნიშვნას "3.25" და არ გამოიყენოთ მძიმით "3.25".
  • სტრიქონების დამატების შემთხვევაში, პითონის პროგრამირების ენა საშუალებას გაძლევთ დაამატოთ სტრიქონის ტიპი. ხშირად სიტყვები ან ფრაზები ერთვის ან

ნაკლოვანებები და უპირატესობები

ბოლო რამდენიმე ათწლეულის განმავლობაში ადამიანებს უფრო მეტად აინტერესებთ მეტი დრო დახარჯონ მონაცემების ათვისებაზე და ნაკლები დრო კომპიუტერის მიერ მათი დამუშავებით. ენა, რომლის შესახებაც მხოლოდ დადებითი რამ არის, უმაღლესი კოდია.

პითონს პრაქტიკულად არანაირი მინუსი არ აქვს. ერთადერთი სერიოზული მინუსი არის ალგორითმის შესრულების შენელება. დიახ, თუ მას შევადარებთ "C" ან "Java", ეს, გულწრფელად რომ ვთქვათ, კუა. ეს აიხსნება იმით, რომ ამ

დეველოპერი დარწმუნდა, რომ დაემატა საუკეთესო რამ პითონში. ამიტომ მისი გამოყენებისას შეამჩნევთ რომ შეიწოვება საუკეთესო თვისებებისხვა უმაღლესი პროგრამირების ენები.

იმ შემთხვევაში, თუ იდეა, რომელსაც ახორციელებს თარჯიმანი, არ არის შთამბეჭდავი, მაშინ ამის გაგება შესაძლებელი იქნება თითქმის დაუყოვნებლივ, რამდენიმე ათეული სტრიქონის დაწერის შემდეგ. თუ პროგრამა ღირებულია, მაშინ კრიტიკული განყოფილება ნებისმიერ დროს შეიძლება გაუმჯობესდეს.

ამჟამად, პროგრამისტების ერთზე მეტი ჯგუფი მუშაობს პითონის გაუმჯობესებაზე, ასე რომ, ფაქტი არ არის, რომ C++-ში დაწერილი კოდი უკეთესი იქნება ვიდრე პითონის გამოყენებით შექმნილი.

რომელ ვერსიასთან ჯობია მუშაობა?

დღესდღეობით, ფართოდ გამოიყენება ისეთი სინტაქსური სისტემის ორი ვერსია, როგორიცაა პითონის ენა. დამწყებთათვის, მათ შორის არჩევანი საკმაოდ რთული იქნება. უნდა აღინიშნოს, რომ 3.x ჯერ კიდევ დამუშავების პროცესშია (თუმცა ფართო მასებისთვისაა გამოშვებული), ხოლო 2.x არის სრულად დასრულებული ვერსია. ბევრი გვირჩევს 2.7.8-ის გამოყენებას, რადგან ის პრაქტიკულად არ ჩამორჩება და არ იშლება. 3.x ვერსიაში რადიკალური ცვლილებები არ არის, ასე რომ თქვენ შეგიძლიათ ნებისმიერ დროს გადაიტანოთ თქვენი კოდი პროგრამირების გარემოში განახლებით. ჩამოსატვირთად საჭირო პროგრამა, უნდა გადახვიდეთ ოფიციალურ ვებსაიტზე, აირჩიოთ თქვენი ოპერაციული სისტემადა დაელოდეთ ჩამოტვირთვის დასრულებას.

© 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი