لماذا قررت تعلم بايثون
اسمي ماشا. عمري 28 عامًا ، قضيت 6 منها في قطاع الخدمات العادية ، و 5 أخرى في قطاع الخدمات مع التحيز الفني (بكلمات بسيطة - الدعم). وغني عن القول ، كم أنا متعب على مر السنين من رتابة المهام؟ وهكذا ، في إحدى اللحظات الجميلة ، اشتعلتُ بفكرة تغيير حياتي جذريًا ، والتي تم تحديد الهدف من أجلها - للتبديل إلى المختبرين باستخدام الأتمتة في بايثون.
سيكون من الممكن المماطلة لفترة طويلة وإجبار نفسي على التحرك نحو تغيير النشاط بخطوات صغيرة ، لكنني اخترت الخيار الصعب - لمحاولة العثور على وظيفة على الفور.
"ليس عليك أن تكون نفس الشخص الذي كنت عليه قبل عام أو شهر أو حتى يوم واحد. أنت هنا لتخلق نفسك باستمرار ". (ريتشارد فاينمان ، فيزيائي مشهور)
بالإضافة إلى الرغبة في تغيير مجال النشاط ، لا يزال لدي بعض الأمتعة المفيدة ، وهي: التعليم العالي في تخصص "علوم الكمبيوتر وهندسة الحاسبات" والخبرة السابقة كمهندس دعم فني ، حيث لم أقف مكتوفي الأيدي وحاولت التطوير. كانت لدي مجموعة قياسية من المعرفة حول HTTP و SQL و XML بالإضافة إلى القليل من الخبرة مع PHP و Kotlin بالاشتراك مع Selenium Webdriver. بالإضافة إلى ذلك ، قمت بدراسة الأسس النظرية للاختبار وحاولت تطبيقها في عملي ، لإكمال المهام الإضافية الصغيرة.
لذلك ، تم تحديد الهدف: تعلم بايثون بأكبر قدر ممكن من الكفاءة في أسبوعين.
من أين يبدأ الجميع عادة؟
عندما كنت طفلة في التسعينيات ، بدأت أسأل محرك بحث. بعد التمرير عبر كتلة الإعلانات (سأعود إليها بعد قليل) ، بدأت في دراسة العديد من المقالات مع مجموعة مختارة من الموارد لتعلم Python. كل مقال يتكون من 10-15 كحد أدنى من الموارد "المختارة والأفضل" التي يجب عليك بالتأكيد استخدامها. العديد من المقالات تسرد ببساطة روائع كلاسيكيات بايثون وقراءتها لسنوات لاحقة.
حاولت بصدق قراءة بعض من "أفضل" الكتب لمبتدئين في بايثون ، ولكن بعد عشرات الصفحات شعرت بالملل بصراحة. لم تكن المعلومات تريد أن تناسب رأسي على الإطلاق. أعترف أنه لم تتم قراءة أي من الكتب التي بدأتها حتى النهاية.
نصيحتي هي ألا تضيع الوقت في دراسة الكتب في البداية. لا يتم استيعاب الكم الهائل من المعلومات المقدمة فيها بدون ممارسة. من الملائم استخدام موارد عبر الإنترنت مثل python.org و pythonworld.ru وما شابه ذلك ككتب مرجعية ، حيث يمكنك العثور على المعلومات الضرورية في شكل منظم مع أمثلة للاستخدام.
الممارسات الجيدة
كانت خطوتي التالية هي دراسة الدورات عبر الإنترنت. من بين العديد من العروض للدورات التدريبية والموارد المجانية عبر الإنترنت ، اخترت القليل من العروض التي أريد مشاركتها معك. لن يكون هناك عشرات منهم ، كالعادة ، لكن سيكون هناك ثلاثة فقط. هذه هي الموارد التي جربتها شخصيًا على نفسي والتي أعطت أكثر النتائج فعالية. يمكن إتقانها في أسبوعين فقط ، إما أن تمر واحدة تلو الأخرى أو بالتوازي.
- praktikum.yandex.ru/data-analyst praktikum.yandex.ru/backend-developer – , .
, , . , .
, . , .
. . , . - checkio.org – . . -.
, « - ». , chekio.org , , , . - hackerrank.com – . – !
عند أخذ هذه الدورات ، أوصي بعدم تخطي المهام ، حتى إذا كانت المهمة تبدو أولية أو تمت دراسة شيء مشابه سابقًا. التكرار هو أم التعلم ، وإذا كانت لديك نفس ذاكرتي السيئة ، فسوف تسمح لك بتذكر اللحظات التي لم تتعلمها في المرة الأولى. أيضًا ، في دورات مختلفة ، قد تتم تغطية نفس الموضوع بطرق مختلفة. على سبيل المثال ، وصف أحد المؤلفين استخدام نصف طرق السلسلة والتخصيصات المناسبة المتطابقة ، بينما تتناول دورة أخرى مزيدًا من التفاصيل حول طرق السلسلة الأخرى.
أفضل طريقة
لذلك ، بعد أن أمضيت الكثير من الوقت في دورات مختلفة ، توصلت إلى نتيجة بسيطة ولكنها مهمة لنفسي. إذا كنت تريد تعلم بايثون - ابحث عن استخدام لها ، اكتب الكود كل يوم. إذا كان لعملك أي علاقة بمعالجة البيانات أو تكنولوجيا المعلومات ، فحاول العثور على مهمة روتينية يمكن حلها باستخدام Python. حتى إذا استغرق النص وقتًا أطول بكثير من التنفيذ الفعلي للإجراء ، فسيكون هذا بالفعل بمثابة فوز كبير. كما يقولون مازحين ، إذا استغرق الإجراء أكثر من 1.5 ثانية من وقتك ، فاكتب نصًا له.
على سبيل المثال ، في العمل واجهت بشكل دوري مهمة أحتاج فيها إلى ملء حقلين في نموذج ويب. باستخدام كمية صغيرة من البيانات ، في كل مرة بدا أن القيام بذلك يدويًا أسهل من البدء في أتمتة هذه العملية. ولكن عندما تجاوز العدد الإجمالي للحقول المملوءة العشرات ، قررت أن أكتب نصًا بلغة بايثون يأخذ البيانات من ملف csv ، وباستخدام طرق السيلينيوم ، املأ نموذج ويب لي. لقد نجحت في هذا الأمر الذي لاحظه رؤسائي بسرور.
سأعطي المثال الثاني من حياتي الشخصية. إلى جانب لغة البرمجة ، أحتاج إلى الحفاظ على مستوى في اللغة الإنجليزية. مشكلتي الشخصية هي أنني لا أتذكر الكلمات جيدًا. تمامًا مثلما فتحت الثلاجة وأغلقتها ونسيت محتوياتها على الفور ، كذلك - التقيت بكلمة ، بحثت عن معناها في القاموس ونسيت الترجمة بعد دقيقة.
قررت أن أجمع بين عيبتي - الحفظ السيئ للكلمات الإنجليزية والمعرفة الناقصة ببايثون - والحصول على ميزة إضافية منها. تمت كتابة نص يعرض كلمات عشوائية من قائمة معدة مسبقًا ويتحقق من الترجمة التي أدخلتها.
نصيحتي هي أن تختار لنفسك مهمة من العمل أو الحياة الشخصية التي يمكن أتمتتها من خلال Python الآن ، وبعد الانتهاء من قراءة المقالة مباشرة ، ابدأ في تنفيذها. بالمناسبة ، فإن وجود مثل هذه التطورات الخاصة في المحفظة موضع تقدير كبير من قبل صاحب العمل عند تقييم المرشحين.
الطريقة الثانية الرائعة للتعلم بأكبر قدر ممكن من الفعالية هي استخدام Python في العمل. سواء كان الأمر يتعلق بأخذ زمام المبادرة في الوظيفة الحالية والقيام بمهام جديدة أو تغيير منصب أو حتى البحث عن وظيفة جديدة.
ما بدا أقل فعالية
بقدر ما أكره الاعتراف بذلك ، فإن تعلم بايثون من الكتب ليس فكرة جيدة. أنا أحب القراءة ، فهي تتمتع بالعديد من المزايا ، لكنها ليست فعالة في المرحلة الأولى من تعلم اللغة. عادة ، تعطي الكتب قدرًا كبيرًا من المعرفة دون وضعها موضع التنفيذ. يمكنك قراءة مئات الصفحات التي تحتوي على أوصاف للأنواع وأمثلة التعليمات البرمجية وأفضل الممارسات ، ولكن بدون كتابة الكود بنفسك ، لا معنى لذلك. على سبيل المثال ، هل يمكن لأي شخص ، بعد قراءة الكتاب المرجعي التشريحي ، أن يصبح طبيبًا على الفور ويقوم بإجراء عملية جراحية بسيطة على الأقل؟
بعد قراءة الكتب ، خطرت لي فكرة في عصرنا الرقمي لاستخدام الأساليب المرئية لاستهلاك المعلومات ، والتي صعدت إليها على YouTube للعثور على مقطع فيديو أو قناة فيديو كانت مفيدة للغاية لتعلم Python. لسوء الحظ ، لم أجد مطلقًا القناة المثالية أو سلسلة مقاطع الفيديو. إذا كنت تبحث عن موضوع معين أو إجابة لسؤال ، يمكنك أن تجد شيئًا مفيدًا ، لكن مشاهدة مقاطع الفيديو التدريبية واحدة تلو الأخرى أدت في النهاية مرة أخرى إلى مشكلة كمية هائلة من المعلومات التي لا يتم تطبيقها عمليًا. عند مشاهدة مقطع فيديو ، يصبح من الكسول جدًا تكرار ما تراه بالفعل على الشاشة. وبعد محاربة الكسل ، تحتاج بالتأكيد إلى الاسترخاء وتضمين بعض مقاطع الفيديو حول موضوع مجرد. هذا كل شيء ، انزلقت عملية التعلم إلى الاسترخاء. ومع ذلك ، إذا كنت تعرف بعض مقاطع فيديو YouTube الرائعة حول Python ، فيرجى مشاركة الروابط.
الطريقة التالية ، التي جربتها واعتبرتها مضيعة للوقت ، هي درس تجريبي في شكل ندوة عبر الإنترنت من مدرسة معروفة على الإنترنت. لقد وعد الإعلان أنه في ثلاثة دروس فقط يمكنني أن أكتب رسولي الخاص. لمدة ساعة ونصف من الدرس الأول ، سكب الكثير من الماء علي لدرجة أنني كدت أن أغرق. لقد تعرفت على جميع مزايا المدرسة عبر الإنترنت ، وسهولة الدفع على أقساط ، واستمعت إلى القصص السعيدة لخريجي الدورة التدريبية ومقدمة نصية قياسية حول سبب جودة بايثون. لم نبدأ في البرمجة أو تحليل المعلومات المفيدة. كان من العار أن أضيع الكثير من الوقت ، لذلك لم أفكر حتى في العروض الأخرى من المدارس عبر الإنترنت.
رأيي في الدورات المدفوعة
عندما تبدأ في البحث عن معلومات حول Python ، تظهر إعلانات الدورات المدفوعة باستمرار في أماكن مختلفة. تتراوح تكلفتها من عدة آلاف إلى عدة عشرات الآلاف من الروبلات. تم التعهد بأنك عند الانتهاء من الدورة التدريبية ، ستصبح فورًا مبرمجًا متقدمًا في بايثون ، وستجد وظيفة أحلامها براتب مرتفع ، وبشكل عام سيتغير كل شيء في الحياة للأفضل.
لماذا لم أقم بتضمين الدورات المدفوعة كممارسة جيدة أو سيئة؟ لأنني لم أستخدمها. من يسعى سيجد دائمًا ، وللمرة الأولى ، يكفي فقط ما يمكن العثور عليه مجانًا. بالنسبة للدورات المدفوعة عبر الإنترنت ، فإن معظمها يقدم تعلم ما هو متاح بالفعل مجانًا.
في المرحلة الأولية ، لا أعتبر الدورات التدريبية المتقدمة عبر الإنترنت - من بينها قد يكون هناك مرشحون يستحقون المساعدة ليس فقط في اكتساب المعرفة ، ولكن أيضًا الشهادات التي يتم تقييمها في بيئة تكنولوجيا المعلومات. يدل وجود الإنجازات على أي حال على الاهتمام بالموضوع والقدرة على الدراسة الذاتية. أقترح في التعليقات مشاركة الروابط إلى الدورات التدريبية الموصى بها شخصيًا للمستوى التالي بعد المستوى الأول.
لم أفكر في الدورات التدريبية المدفوعة وجهًا لوجه ، على الرغم من أنني أفترض أنها يمكن أن تكون مفيدة للغاية. بعد سنوات ، واستذكرت تجربة مدرسة ومعهد التعليم العام ، أدركت أن الدراسات وجهًا لوجه ربما تكون أكثر أشكال التعليم فعالية. لكن في مرحلة البلوغ ، تظهر عوامل أخرى في المقدمة. السبب الشخصي هو أنني لم أتمكن من تخصيص وقت فراغ في جدولي لحضور الدروس وجهًا لوجه بانتظام.
يجب أن يكون التعلم ممتعًا
هذه هي النصيحة الرئيسية التي أود أن أقدمها. هذا فقط سيساعدني على عدم فقدان شغفي ، والذي بفضله تمكنت من تحقيق أقصى نتيجة في تعلم Python من الصفر في أسبوعين.
الآن ، حتى بعد أن حصلت على وظيفة جديدة تتعلق بأتمتة عملية الاختبار ، لا أتوقف عند هذا الحد وأواصل الغوص في Python ، خطوة بخطوة ، مع كل مهمة جديدة.
ومع ذلك ، بالنسبة للبيثونيين المستقبليين ، في الختام ، سأشارك بعض النصائح العملية ، لأن النظرية التي تمت دراستها أعلاه تكاد تكون عديمة الفائدة دون تطبيقها في الممارسة.
- №1
, -. ( sitengine.ru//smart-question-ru.html) . , , – . - №2
. , Python . , . , - . - №3
, . , . - №4
. , , , . : , . , , (if) (for, while). - №5
, . . . , . , , , , .
آمل أن تساعد هذه المقالة في توفير الوقت والموارد الأخرى للمبتدئين مثلي في الماضي.