इंजीनियरों के लिए पायथन - पाठ्यक्रम 65,000 रूबल। स्लम से, प्रशिक्षण 3 माह, दिनांक 15 जनवरी 2024।
अनेक वस्तुओं का संग्रह / / November 27, 2023
टेकलीड, स्काईेंग में डेटा इंजीनियर / पूर्व स्लम, आईएसपीसिस्टम, ग्रिड डायनेमिक्स
सीनियर टेस्ट में सॉफ्टवेयर इंजीनियर, ऑरिगा, पूर्व आईएसपीसिस्टम
#1: मूल पायथन सिंटैक्स और संरचनाएँ
क्यों: पायथन प्रोग्राम के तर्क को समझना सीखना, साथ ही सरल प्रोग्राम लिखना, सबसे महत्वपूर्ण कार्य है। यदि आप पायथन सिंटैक्स से परिचित नहीं हैं तो "बढ़िया"।
- डेटा प्रकार और चर, परिवर्तनीय/अपरिवर्तनीय और सरल/मिश्रित डेटा प्रकार, डिबगिंग तकनीक।
- सशर्त कथन - तार्किक ऑपरेटर, सरल स्थितियाँ, नेस्टेड स्थितियाँ और स्विच स्टेटमेंट प्रतिस्थापन।
- मूल लूप - जबकि और लूप के लिए, इटरेटर, लूप इंटरप्ट।
- कार्य, स्ट्रिंग्स के तरीके, सूचियाँ और शब्दकोश।
- अपवाद उत्पन्न करना और संभालना।
अभ्यास: प्रत्येक पाठ के लिए छोटे सूक्ष्म कार्यों का एक सेट।
#2: बेहतर पायथन दक्षता: अनुकूलन और ओओपी
क्यों: आइए पायथन की विशेषताओं में महारत हासिल करें - उन्हीं के कारण यह इतना सरल और व्यावहारिक है। हम अकादमिक सिद्धांत के बिना और स्पष्ट उद्देश्य के साथ उन तीन अक्षरों (हम ओओपी के बारे में बात कर रहे हैं) का अर्थ भी प्रकट करेंगे
- लूप्स के साथ उन्नत कार्य - यील्ड स्टेटमेंट और जेनरेटर, पायथन में लूप्स के बारे में अंतर्दृष्टि, लूप में अन्यथा स्टेटमेंट, कॉम्प्रिहेंशन लूप्स का अनुकूलन, आदि।
- विशेष प्रकार की संरचनाएँ: फ्रोज़ेडिक्ट, डिफॉल्टडिक्ट, आदि।
- मूल OOP अवधारणाएँ: वर्ग, वर्ग उदाहरण, एनकैप्सुलेशन, वंशानुक्रम और बहुरूपता।
- अपने प्रकारों के लिए संदर्भ प्रबंधक बनाना: निर्माण के साथ।
अभ्यास: प्रत्येक पाठ के लिए छोटे सूक्ष्म कार्यों का एक सेट।
उन्नत अभ्यास: सेवा उपयोग लेखापरीक्षा।
सीटीओ को संदेह होने लगा कि कुछ सेवाओं का अब टीमों द्वारा उपयोग नहीं किया जा रहा है। समस्या यह है कि प्रयुक्त सेवाओं की निगरानी के लिए मॉड्यूल को पिछले दस वर्षों से अद्यतन नहीं किया गया है: ऐसा नहीं है एकत्रित डेटा अपलोड कर सकते हैं, और लौटाए गए मानों का प्रारूप आम तौर पर स्वीकृत मानों के अनुरूप नहीं होता है मानक. आपको कैप्चर किए गए मेट्रिक्स को निकालने, उन्हें प्रकार और टीम के आधार पर एकत्रित करने और समस्या के दायरे के प्रारंभिक मूल्यांकन के लिए सीटीओ को यह जानकारी प्रदान करने के लिए चुना गया है।
#3: नेटवर्क कनेक्शन
क्यों: लगभग हर सेवा में कुछ नेटवर्क प्रोटोकॉल के माध्यम से जुड़ने के लिए एक इंटरफ़ेस होता है। और बिना संबंध के, अंतःक्रिया असंभव है। सौभाग्य से, पायथन पारिस्थितिकी तंत्र में लगभग किसी भी प्रोटोकॉल के लिए क्लाइंट मॉड्यूल हैं।
- पिप पैकेज और तृतीय पक्ष मॉड्यूल स्थापित करना।
- एसएसएच के माध्यम से कमांड निष्पादित करने के लिए पैरामिको मॉड्यूल।
- HTTP अनुरोध करने के लिए अनुरोध मॉड्यूल।
- डेटाबेस और संदेश दलालों के साथ काम करने के लिए मॉड्यूल का अवलोकन।
अभ्यास। विकास टीम एक नई कार्यप्रणाली पेश कर रही है: यदि आप अलर्ट होने की अनुमति देते हैं, तो आपको एक कार्य प्राप्त होगा। विश्लेषणात्मक उपप्रणाली केवल चयनित त्रुटियों की तलाश करती है और उनके बारे में काफ्का संदेश दलाल को संदेश भेजती है। आपका काम डेवलपर्स को बग लौटाने के चक्र को पूरा करना है: आपके उपभोक्ता को ट्रेलो में आवश्यक विवरण और प्राथमिकता के साथ स्वचालित रूप से कार्य बनाना चाहिए।
क्रमांक 4: विभिन्न प्रारूपों में पाठ के साथ कार्य करना
क्यों: सेवा से जुड़ना केवल आधी लड़ाई है। दूसरा भाग सूचना साझा करना है। और जानकारी अक्सर एक निश्चित प्रारूप में पाठ वर्णों का एक सेट होती है। मॉड्यूल आपको डिकोड और एनकोड करने में मदद करेंगे। सारी जानकारी की आवश्यकता नहीं है? नियमित अभिव्यक्ति से आपको जो महत्वपूर्ण है उसे निकालने और बाकी को त्यागने में मदद मिलेगी।
- पुन: मॉड्यूल और नियमित अभिव्यक्ति।
- विभिन्न स्वरूपों में डेटा के साथ काम करने के लिए मॉड्यूल: अलग किए गए मान, json, yaml, xml।
- कमांड लाइन तर्कों का उपयोग करना: argparse मॉड्यूल।
अभ्यास: सेवा उपयोग डेटा का एक स्रोत बनाना।
सेवाओं के उपयोग के ऑडिट के दौरान, आपने व्यवसाय के लिए महत्वपूर्ण जानकारी की पहचान की, यहां तक कि सीईओ भी इसमें रुचि लेने लगे। खोए हुए धन का विश्लेषण करने और ऐसी स्थिति दोबारा न होने देने का निर्णय लिया गया। ऐसा करने के लिए, आपको विश्लेषकों को एक डेटा अधिग्रहण उपकरण देना होगा ताकि वे रिपोर्ट तैयार कर सकें। समस्या यह है कि मॉनिटरिंग मॉड्यूल yaml प्रारूपों में एक अलग अनुरोध के लिए सेवा सीमाएँ लौटाता है, और सेवाओं की कीमतें बिलिंग प्रणाली द्वारा xml प्रारूप में लौटाई जाती हैं। वर्तमान लोड पर डेटा को सीमा और कीमतों के साथ जोड़ना आवश्यक है। विश्लेषण विभाग ने समय अंतराल और एकत्रीकरण चरण निर्दिष्ट करने की क्षमता के साथ JSON प्रारूप में एकत्रित जानकारी का अनुरोध किया।
नंबर 5: ऑपरेटिंग सिस्टम के साथ इंटरेक्शन
क्यों: ऑपरेटिंग सिस्टम के साथ इंटरैक्ट करने के महत्व को और अधिक समझाने की आवश्यकता नहीं है। इसे Python से कैसे जोड़ा जाए, यह इस पाठ में है।
- फ़ाइलें पढ़ना और लिखना.
- ओएस मॉड्यूल - पर्यावरण चर पढ़ना, निर्देशिकाओं और अधिकारों के साथ काम करना, प्रक्रियाओं के साथ काम करना।
- प्रक्रियाओं के साथ इंटरैक्टिव इंटरैक्शन के लिए उपप्रोसेस मॉड्यूल।
अभ्यास: सर्वर तक पहुंच का स्वचालित प्रावधान।
अप्रयुक्त सेवाओं को त्यागने के अभियान के दौरान, एक विचित्र स्थिति उत्पन्न हुई: एक किराना सर्वर टीमें बंद हो गईं, लेकिन इंफ्रास्ट्रक्चर टीम ने समय-समय पर इसे मेजबान के रूप में इस्तेमाल किया मंचन. यह पता चला कि उत्पाद टीम ने इसका उपयोग नहीं किया क्योंकि समय-समय पर कोई व्यक्ति उनकी सेटिंग्स को अपनी सेटिंग्स से अधिलेखित कर देता था। यह निर्णय लिया गया कि अब संसाधन केवल एक टीम के सदस्यों को सौंपा जाएगा, और स्वचालन से गलतियों से बचने में मदद मिलेगी। इस गड़बड़ी को शुरू करने वाले व्यक्ति के रूप में, आपको एक एजेंट लिखना होगा जो समय-समय पर अधिकार प्रबंधन प्रणाली का सर्वेक्षण करेगा स्थापित सेवाओं के भीतर अधिकारों के कॉन्फ़िगरेशन में परिवर्तन करें और यदि आवश्यक हो, तो सेवाओं को फिर से पढ़ने का आदेश दें विन्यास.
नंबर 6: पायथन में K8S ऑपरेटर (लाइव-कोडिंग स्ट्रीम)
13 अक्टूबर 19:00 बजे
क्यों: आइए आपके कार्यों के अनुरूप K8S की क्षमताओं का विस्तार करें।
नंबर 7: एन्सिबल के लिए अपना स्वयं का मॉड्यूल लिखना
क्यों: Ansible एक शक्तिशाली कॉन्फ़िगरेशन प्रबंधन प्रणाली है, और अपने स्वयं के मॉड्यूल के साथ विस्तार योग्य भी है। क्या संयोग है कि यह स्वयं और अधिकांश मॉड्यूल पायथन में लिखे गए हैं।
- Ansible के लिए अपने स्वयं के मॉड्यूल लिखना।
अभ्यास: अधिकार प्रबंधन मॉड्यूल लिखना।
बहुत समय पहले, बहुत दूर एक आकाशगंगा में, आपने पहले से ही कुछ सेवाओं के अधिकार जारी करने के लिए एक एजेंट को लिखा था। अब खींच को धक्का में बदलने का समय आ गया है और ऐंसिबल इसमें मदद करेगा। आपको बस एक मॉड्यूल की आवश्यकता है।
नंबर 8: आपके एपीआई का निर्माण और उपयोग के मामले
क्यों: परिनियोजन के लिए कोड तैयार करना सबसे महत्वपूर्ण कार्यों में से एक है। स्टेज पाइपलाइनों के लिए हमारी अपनी स्क्रिप्ट इस प्रक्रिया को अधिक लचीला और सुविधाजनक बनाने में मदद करती हैं।
- फ्लास्क में एक REST API बनाना।
- प्रोमेथियस पायथन क्लाइंट और फ्लास्क के साथ अपना स्वयं का प्रोमेथियस निर्यातक बनाना।
अभ्यास: तृतीय-पक्ष निगरानी प्रणाली पर डेटा अपलोड करना।
अप्रयुक्त उपकरणों की लागत निराशावादी पूर्वानुमानों से भी अधिक हो गई। अब इंजीनियरिंग टीम के पास जिम्मेदारी का एक और क्षेत्र है - अप्रयुक्त सेवाओं की निगरानी करना। ऐसा करने के लिए, आपको समय-समय पर अपनी स्क्रिप्ट के माध्यम से बिलिंग सिस्टम का सर्वेक्षण करना होगा और डेटा को प्रोमेथियस को पास करना होगा। प्राप्त डेटा का प्रारूप अभी भी उपयुक्त नहीं है. आपको एक कनेक्टर लागू करने की आवश्यकता है. और साथ ही एक समापन बिंदु लिखें ताकि विश्लेषण विभाग के पास हमेशा JSON प्रारूप में नवीनतम जानकारी उपलब्ध रहे।
एएमए सत्र + पाठ्यक्रम वक्ताओं के साथ अनौपचारिक बैठक
28 अक्टूबर 19:00 बजे
हम पाठ्यक्रम प्रतिभागियों की चिंताओं पर चर्चा करने के लिए मिलते हैं।
#9: अपने एप्लिकेशन के एपीआई का परीक्षण करना
क्यों: कभी-कभी अस्थिर कोड की तुलना में कोई कोड न रखना बेहतर होता है। अपना कोड तोड़ने से न डरने के लिए, आपको परीक्षण लिखने की आवश्यकता है।
- परीक्षणों के प्रकार: इकाई, एकीकरण और एंड-टू-एंड।
- पायहैमक्रेस्ट मॉड्यूल और उसके मिलानकर्ताओं का अवलोकन।
- पाइटेस्ट की वास्तुकला और क्षमताएं।
- यूनिट परीक्षण लिखने के लिए पाइटेस्ट और पायहैमक्रेस्ट का उपयोग करना।
अभ्यास: अपने एपीआई के लिए पाइस्टेस्ट और पाइहैमक्रेस्ट का उपयोग करके परीक्षण लिखना।
नंबर 10: सीवीएस और डेवऑप्स सिस्टम के साथ इंटरेक्शन
- Gitlab पाइपलाइनों में एकीकरण के उदाहरण का उपयोग करके तृतीय-पक्ष मॉड्यूल का उपयोग करना।
- कोड परिवर्तनों के बारे में जानकारी प्राप्त करने के लिए pygit का उपयोग करना।
अभ्यास: कमिट से परिवर्तन लॉग तैयार करना।
इंजीनियरिंग टीम को आपके समाधान इतने पसंद आए कि वे उनसे प्रेरित हुए और अपना स्वयं का समाधान लिखना शुरू कर दिया। लेकिन लोग हमेशा रिलीज़ के लिए विवरण लिखना भूल जाते हैं। इसे प्राप्त करने के लिए, टीम ने प्रतिबद्ध सम्मेलनों को लागू करने और सीधे प्रतिबद्धताओं से चेंजलॉग उत्पन्न करने का निर्णय लिया देव शाखा को रिलीज एक के साथ विलय करना, और यदि कमिट का नाम प्रतिबद्ध सम्मेलनों का अनुपालन नहीं करता है, तब तक मर्ज-अनुरोध की अनुमति न दें विलय.
#11: पायथन में एरबॉट के साथ चैटॉप्स
क्यों: मुख्य व्यावसायिक समस्याएँ अनुप्रयोग प्रदर्शन या कोड में होने वाली त्रुटियाँ भी नहीं हैं। सबसे गंभीर समस्याएँ तब उत्पन्न होती हैं जब कर्मचारी संचार अप्रभावी होता है। चैटॉप्स इस समस्या को हल करने का एक तरीका है।
- चैटॉप्स अवधारणा: चैटॉप्स किन समस्याओं का समाधान करता है?
- इरबॉट फ्रेमवर्क: इंस्टॉलेशन, एक बुनियादी प्लगइन टेम्पलेट का निर्माण, कॉन्फ़िगरेशन और लॉन्च।
- इरबॉट फ्रेमवर्क: संदेशों को संसाधित करने के लिए विभिन्न विकल्पों के साथ चैटॉप्स के लिए अपना स्वयं का प्लगइन बनाना।
अंतिम परियोजना
रुचि रखने वालों के लिए समय सीमा की समीक्षा और सुरक्षा
कोर्स के बाद, आपके पास Git पर एक प्रोजेक्ट होगा: आप अपने कार्य को स्वचालित कर सकते हैं या प्रस्तावित विकल्पों में से एक कर सकते हैं।
तैयार प्रोजेक्ट को पोर्टफोलियो केस के रूप में इस्तेमाल किया जा सकता है और नौकरी के लिए आवेदन करते समय दिखाया जा सकता है।