ისწავლეთ WSGI და მოდით პითონი ოფლი პატარა ნივთებს

გამჟღავნება: თქვენი მხარდაჭერა ხელს უწყობს საიტის მუშაობას! ჩვენ ვიღებთ რეფერალის გადასახადს ზოგიერთი სერვისის შესახებ, რომელსაც გირჩევთ ამ გვერდზე.


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

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

რა თქმა უნდა, პითონი არ არის ერთადერთი პროგრამირების ენა, რომელსაც აქვს სტანდარტული ინტერფეისის სპეციფიკაცია. მრავალი თანამედროვე პროგრამირების ენა იყენებს იგივე მიდგომას, ასე რომ, მაგალითად, Ruby იყენებს საკუთარ Rack სერვერის ინტერფეისს, JavaScript ეყრდნობა თავის JSGI კარიბჭის ინტერფეისს, ხოლო პერლი იყენებს PSGI.

Მოკლე ისტორია

WSGI სპეციფიკაცია თავდაპირველად დაინერგა Python Enhancement Proposal 333 (PEP 333) წინადადებაში, რომელიც ფილიპ ჯ ებიმ დაწერა და გამოქვეყნდა 2003 წლის დეკემბერში. WSGI– ის ამ სპეციფიკურმა პროექტმა განსაზღვრა WSGI– ის ძირითადი პრინციპები და მიზნები – მისი განხორციელება მარტივი უნდა ყოფილიყო. , მარტივი და უნივერსალური, და ხელი უნდა შეუწყოს არსებული სერვერების და ჩარჩოების ადვილად ურთიერთკავშირს.

WSGI სწრაფად იქნა მიღებული Python სერვერისა და ჩარჩოს ავტორების და დეველოპერების მიერ და გახდა დე-ფაქტო სტანდარტი Python– ის ვებ პროგრამების შემუშავებისთვის. WSGI დაზუსტების უახლესი ვერსიაა V1.0.1, გამოქვეყნებულია PEP 3333– ში, 2010 წლის 26 სექტემბერს.

WSGI სპეციფიკაციის მიმოხილვა

WSGI სპეციფიკაცია აცხადებს სამ სპეციფიკურ როლს: სერვერის მხარე, პროგრამის მხარე და Middleware კომპონენტი, რომელიც ახორციელებს სერვერის და ინტერფეისის პროგრამის მხარეებს.

განაცხადის მხარე

WSGI– ს განაცხადის მხარე არის მარტივი ობიექტი, რომელიც იღებს ორ არგუმენტს და შეიძლება დარეკვა კოდურიდან. ამ მაგალითში ნაჩვენებია მარტივი WSGI პროგრამა, რომელიც უბრუნებს სტატიკურ “Hello world!” გვერდი:

def Simple_app (გარემო, start_response):
სტატუსი = ‘200 კარგი’
საპასუხოდ_headers = [(‘შინაარსის ტიპი’, ‘ტექსტი / უბრალო’)]
start_response (სტატუსი, გამოხმაურება)
დაბრუნება [‘გამარჯობა სამყარო! n’]

განაცხადის გვერდითი საგნების მრავალჯერ გამოყენებაზე შესაძლებელია, რადგან ყველა სერვერი ასეთ განმეორებით თხოვნებს აკეთებს.

სერვერის მხარე

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

Middleware კომპონენტი

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

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

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

კლასის ზედა პროგრამა:
def __init __ (საკუთარი, აპი):
self.wrapped_app = აპლიკაცია

დეფ __ ყველა __ (საკუთარი თავი, გარემო, დაწყება_პასუხი):
მონაცემებისთვის self.wrapped_app– ში (გარემო, start_response):
მონაცემების დაბრუნება .upper ()

WSGI გამოყენებით

WSGI მიიღება როგორც პითონის ვებ პროგრამის შემუშავების სტანდარტი. პითონის ვერსიის 2.5 და შემდგომ გამოცემაში გამოსახულია WSGI მხარდაჭერა. პითონის ვერსიებში 2.4 და უფრო ადრე, WSGI მხარდაჭერა შეიძლება ცალკე დაინსტალიროთ. WPG 3333-ში სპეციფიკირებული WSGI განახლებული ვერსია ხელმისაწვდომია პითონის 3-ისთვის.

თუ თქვენ იყენებთ ვებ – პროგრამებს პითონში, უბრალოდ გამოიყენეთ ინდუსტრიის დამტკიცებული სტანდარტი, მაგალითად, Django, Flask, ან Bottle Python, ჩარჩოების ან სხვა მიმდინარე პითონის ჩარჩოები. არ არის აუცილებელი ბევრი რამ გაეცნოთ WSGI სპეციფიკაციის შესახებ, რომ შექმნათ პროგრამები. უბრალოდ გამოიყენეთ ნებისმიერი მიმდინარე თაობის ვებ აპლიკაციის ჩარჩო და დარწმუნებული უნდა იყოთ, რადგან ისინი ყველა მხარს უჭერენ WSGI- ს.

თავის მხრივ, თუ თქვენ თავად შეიმუშავებთ ვებ – პროგრამების ახალ ჩარჩოს, მაშინ აუცილებლად უნდა გაითვალისწინოთ WSGI– ის სპეციფიკაცია და შეამოწმოთ WSGI– სთვის სწავლის რამდენიმე რესურსი..

WSGI რესურსები

თუ გსურთ გაეცნოთ WSGI- ს შესახებ, გთავაზობთ გადახედოთ შემდეგ ონლაინ რესურსებს:

  • WSGI საზოგადოების საიტი აშკარად პირველი ადგილია, რომელიც ეწვევა. შეგიძლიათ იპოვოთ ბევრი სასარგებლო რესურსი, ასევე არის ლამაზი Learn About WSGI განყოფილება. ამ საიტზე ასევე ჩამოთვლილია ჩარჩოები და სერვერები, რომლებიც მხარს უჭერენ WSGI.
  • დამატებითი ინფორმაციისთვის შეგიძლიათ წაიკითხოთ მთელი პითონის გაძლიერების წინადადება 333 და პითონის გაძლიერების წინადადება 3333.
  • Pylons Web Development Framework Online Documentation- ს აქვს ძალიან ლამაზი და დეტალური სექცია WSGI- ს შესახებ.
  • Codepoint’s WSGI Tutorial აჩვენებს სამუშაოზე WSGI სპეციფიკაციას რამდენიმე მარტივი მაგალითის გამოყენებით..

WSGI წიგნები

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

  • პითონის ქსელის პროგრამირების საფუძვლები: პითონის ქსელის პპლიკაციების აგების ყოვლისმომცველი სახელმძღვანელო Goerzen- ის, Bower- ის და Rhodes- ის მიერ: ვებ – პროგრამირების პროგრამის თავი მოიცავს როგორც WSGI სტანდარტს კომპონენტის ურთიერთთანამშრომლობისთვის, ასევე თანამედროვე ვებ – ჩარჩოებისთვის, როგორიცაა Django.

დასკვნა

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

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

ეს აშკარად (ძალიან) მჭიდრო ნიშაა, მაგრამ ეს არ ნიშნავს იმას, რომ WSGI– ს განვითარება შეჩერებულია. ეს ნიშნავს რომ საზოგადოება დიდი არ არის, მაგრამ იქ არის.

შემდგომი კითხვა და რესურსები

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

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

რა კოდი უნდა ვისწავლო?

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

რა კოდი უნდა ვისწავლო?
რა კოდი უნდა ვისწავლო?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map