المؤلف : لوه هاو
ملاحظة : منذ إطلاق المشروع وحتى الحصول على 8w+ نجوم، تلقينا ملاحظات تفيد بأن الجزء الأساسي (محتوى أول 15 يومًا) صعب على المبتدئين، ويوصى بوجود مقاطع فيديو داعمة لشرحه. في الآونة الأخيرة، تمت إعادة صياغة الجزء الأساسي من المحتوى في مشروع يسمى "Python-Core-50-Courses". تمت إعادة كتابة هذا الجزء من المحتوى بطريقة أبسط وأكثر شيوعًا ويأتي مع شرح بالفيديو يمكن للمبتدئين الحصول عليه انظر إلى مستودع هذا الجديد. إذا كان المستخدمون المحليون بطيئين في الوصول إلى GitHub، فيمكنهم متابعة حساب Zhihu الخاص بي Python-Jack . يعد العمود أعلاه "تعلم Python من الصفر" أكثر ملاءمة للمبتدئين، وأعمدة أخرى مثل "التفكير في البيانات والتفكير الإحصائي". " يتم أيضًا إنشاء وتحديث "تحليل البيانات" وما إلى ذلك بشكل مستمر. الجميع مدعوون للاهتمام والإعجاب والتعليق.
يمكن للأصدقاء الذين يرغبون في الحصول على مقاطع فيديو تعليمية مسح رمز الاستجابة السريعة أدناه للدخول إلى برنامج WeChat mini لمعرفة ما إذا كان هناك محتوى مناسب لك. محتوى التعلم الآلي الذي يفكر فيه الجميع يمكن العثور عليه في البرنامج المصغر الذي قمت بتسجيله أنا وزملائي للجميع.
إذا واجهت بعض المشكلات الصعبة أو كنت بحاجة إلى موارد تعليمية ذات صلة أثناء عملية التعلم، فيمكنك الانضمام إلى مجموعة اتصالات QQ التالية. يمكنك الانضمام إلى إحدى المجموعات الثلاث. يرجى عدم الانضمام إلى المجموعة بشكل متكرر، وعدم النشر في المجموعة. الإعلانات وغيرها من المحتويات الإباحية أو المبتذلة أو الحساسة. إذا كنت تفتقر إلى الانضباط الذاتي وتحتاج إلى الدفع مقابل التعلم، فيمكنك إضافة الدردشة الخاصة على WeChat (jackfrued) وتسجيل اسمك واحتياجاتك، وسأقدم لك بعض الإرشادات حول الخطط الدراسية والتخطيط الوظيفي .
يتم تحديث مقاطع الفيديو الداعمة بشكل مستمر على Douyin وBilibili. يمكن للأصدقاء المهتمين متابعة حسابي على Douyin أو Bilibili. لقد فتحت حسابي مؤخرًا.
لقد توقف "التعلم الآلي والتعلم العميق" الذي حث الجميع على تحديثه لأسباب شخصية وأسباب تتعلق بالشركة، وسيتم تحديث المحتوى ذي الصلة في المستقبل القريب، شكرًا لك على دعمك وتفهمك المستمر.
ببساطة، بايثون هي لغة برمجة "أنيقة" و"واضحة" و"بسيطة".
منحنى التعلم منخفض، حتى غير المحترفين يمكنهم البدء
نظام مفتوح المصدر مع نظام بيئي قوي
لغة مفسرة، وإمكانية نقل مثالية للمنصة
لغة مكتوبة ديناميكيًا تدعم البرمجة الموجهة للكائنات والوظيفية
الكود موحد للغاية وسهل القراءة
بايثون مفيدة في المجالات التالية.
تطوير الواجهة الخلفية - بايثون/جافا/Go/PHP
DevOps - بايثون/شيل/روبي
الحصول على البيانات - بيثون/C++/Java
التداول الكمي - بايثون/C++/R
علوم البيانات - بايثون/آر/جوليا/ماتلاب
التعلم الآلي - بايثون/R/C++/جوليا
الاختبار الآلي - بايثون/شيل
باعتبارك مطور لغة Python، هناك العديد من مجالات التوظيف التي يمكنك الاختيار من بينها بناءً على التفضيلات الشخصية والخطط المهنية.
مهندس تطوير الواجهة الخلفية لـ Python (الخادم، النظام الأساسي السحابي، واجهة البيانات)
مهندس تشغيل وصيانة بايثون (التشغيل والصيانة الآلية، SRE، DevOps)
محلل بيانات بايثون (تحليل البيانات، ذكاء الأعمال، العمليات الرقمية)
مهندس استخراج بيانات بايثون (التعلم الآلي، التعلم العميق، خبير الخوارزميات)
مهندس الزاحف بايثون
مهندس اختبار بايثون (الاختبار الآلي، تطوير الاختبار)
ملاحظة : في الوقت الحالي، يعد تحليل البيانات واستخراج البيانات من الاتجاهات الشائعة للغاية ، لأن كل من صناعة الإنترنت والصناعات التقليدية قد جمعت كمية كبيرة من البيانات، وبالتالي تحتاج جميع مناحي الحياة إلى محللي البيانات لاكتشاف المزيد من رؤى الأعمال من البيانات الموجودة توفير دعم البيانات لاتخاذ القرارات في الشركات، وهو ما يسمى باتخاذ القرارات المبنية على البيانات.
بعض الاقتراحات للمبتدئين:
اجعل اللغة الإنجليزية لغة عملك.
الممارسة تجعل من الكمال.
كل التجارب تأتي من الأخطاء.
فلا تكن من العلق.
إما المتميز أو الخارج (سواء المتميز أو الخارج).
مقدمة إلى بايثون - تاريخ بايثون/مزايا وعيوب بايثون/مجالات تطبيق بايثون
إنشاء بيئة برمجة - بيئة Windows/بيئة Linux/بيئة MacOS
قم بتشغيل برنامج Python من المحطة الطرفية - مرحبًا، العالم/وظيفة print
/برنامج التشغيل
استخدام IDLE - البيئة التفاعلية (REPL) / كتابة عدة أسطر من التعليمات البرمجية / تشغيل البرنامج / الخروج من IDLE
التعليقات - دور التعليقات/التعليقات ذات السطر الواحد/التعليقات متعددة الأسطر
البرامج والقاعدة - التعليمات والبرامج/آلة فون نيومان/الثنائي والعشري/الثماني والست عشري
المتغيرات والأنواع - تسمية المتغيرات/استخدام المتغيرات/وظائف input
/التحقق من أنواع المتغيرات/تحويل النوع
الأرقام والسلاسل - الأعداد الصحيحة/أرقام الفاصلة العائمة/الأرقام المركبة/السلاسل/عمليات السلسلة الأساسية/ترميز الأحرف
عوامل التشغيل - عوامل التشغيل الرياضية/عوامل التخصيص/عوامل المقارنة/عوامل التشغيل المنطقية/عوامل تشغيل الهوية/أسبقية عامل التشغيل
حالة التطبيق - تحويل درجة الحرارة فهرنهايت إلى درجة حرارة مئوية / أدخل نصف قطر الدائرة لحساب المحيط والمساحة / أدخل السنة لتحديد ما إذا كانت سنة كبيسة
سيناريوهات تطبيق هيكل الفرع - الشروط/المسافة البادئة/كتل التعليمات البرمجية/مخططات التدفق
عبارة if - بسيطة if
/ if
- بنية else
/ if
- elif
- بنية else
/متداخلة if
حالات التطبيق - مصادقة المستخدم/تبادل الوحدات الإمبراطورية والوحدات المترية/رمي النرد لتحديد ما يجب فعله/تحويل الدرجات المئوية إلى نظام درجات/تقييم الوظائف متعددة التعريف/إدخال أطوال الجوانب الثلاثة وحساب المحيط والمساحة إذا كان من الممكن إنشاء مثلث شكلت
سيناريوهات تطبيق هياكل الحلقة - الشروط/المسافة البادئة/كتل التعليمات البرمجية/مخططات التدفق
أثناء الحلقة - البنية الأساسية/بيان break
/بيان continue
حلقة for - البنية الأساسية/نوع range
/بنية الفرع في الحلقة/الحلقة المتداخلة/إنهاء البرنامج مبكرًا
الحالات التطبيقية - الجمع من 1 إلى 100 / تحديد الأعداد الأولية / ألعاب تخمين الأعداد / طباعة تسعة وتسعين جدولاً / طباعة أنماط المثلثات / القرد يأكل الخوخ / مئات العملات المعدنية ومئات الدجاج
الحالات الكلاسيكية: لعبة المقامرة رقم النرجس/مائة نقود ومائة دجاجة/كرابس
أسئلة التدريب: تسلسل فيبوناتشي/الأعداد المثالية/الأعداد الأولية
دور الوظائف - الرائحة الكريهة للكود/تغليف الوحدات الوظيفية بالوظائف
تحديد الوظيفة - def
الكلمة الأساسية/اسم الوظيفة/قائمة المعلمات/بيان return
/استدعاء الوظيفة المخصصة
وظائف الاتصال - وظائف بايثون المضمنة/استيراد الوحدات والوظائف
معلمات الوظيفة - المعلمات الافتراضية/المعلمات المتغيرة/معلمات الكلمات الرئيسية/معلمات الكلمات الرئيسية المسماة
القيمة المرجعة للدالة - لا توجد قيمة مُرجعة / تُرجع قيمة واحدة / تُرجع قيمًا متعددة
مشكلات النطاق - النطاق المحلي/النطاق المتداخل/النطاق العالمي/النطاق المدمج/الكلمات الرئيسية ذات الصلة بالنطاق
استخدام وظائف إدارة الوحدة - مفهوم الوحدات/استخدام وظائف إدارة الوحدة المخصصة/ماذا يحدث عندما يكون هناك تعارض في التسمية (نفس الوحدة ووحدات مختلفة)
استخدام السلاسل - حساب الطول/عملية المنخفض/التقطيع/الطرق الشائعة
الاستخدام الأساسي للقوائم - تحديد القوائم/استخدام الجدول التالي للوصول إلى العناصر/المنخفض خارج الحدود/إضافة عناصر/حذف العناصر/تعديل العناصر/الشريحة/اجتياز الحلقة
العمليات الشائعة على القوائم - الاتصال/النسخ (نسخ العناصر ومصفوفات النسخ)/الطول/الفرز/العكس/البحث
إنشاء قوائم - استخدم range
لإنشاء قوائم أرقام/إنشاء تعبيرات/مولدات
استخدام الصفوف - تحديد الصفوف/استخدام القيم في الصفوف/تعديل متغيرات الصف/تحويلات الصف والقائمة
الاستخدام الأساسي للمجموعات - الفرق بين المجموعات والقوائم/إنشاء مجموعة/إضافة عناصر/حذف العناصر/مسح
العمليات الشائعة على المجموعات - التقاطع/الاتحاد/الفرق/الفرق المتماثل/المجموعة الفرعية/المجموعة الشاملة
الاستخدام الأساسي للقاموس - خصائص القاموس/إنشاء قاموس/إضافة عنصر/حذف عنصر/الحصول على القيمة/مسح
عمليات القاموس الشائعة - طريقة keys
/ طريقة values
/ طريقة items
/ طريقة setdefault
التمارين الأساسية - تأثير الشاشة الاسمية/العثور على أكبر عنصر في القائمة/متوسط درجات درجات الاختبارات الإحصائية/تسلسل فيبوناتشي/مثلث يانغ هوي
حافظة شاملة - اختيار رقم الكرة مزدوج اللون/Tic-Tac-Toe
الفئات والكائنات - ما هي الفئة/ما هو الكائن/المفاهيم الأخرى ذات الصلة بالكائنات الموجهة
تحديد الفئة - البنية الأساسية/الخصائص والأساليب/المنشئ/المدمر/طريقة __str__
استخدام الكائنات - إنشاء كائنات/إرسال رسائل إلى الكائنات
الركائز الأربع للكائنات التوجه هي التجريد/التغليف/الميراث/تعدد الأشكال
التمارين الأساسية - تحديد فئة الطالب/تعريف فئة الساعة/تعريف فئة الرسومات/تعريف فئة السيارة
الخصائص - خصائص الفئة/خصائص المثيل/أدوات الوصول إلى الخاصية/معدِّلات الخاصية/أدوات حذف الخاصية/استخدام __slots__
الأساليب في الفئات - أساليب المثيل/أساليب الفئة/الأساليب الثابتة
التحميل الزائد للمشغل - __add__
/ __sub__
/ __or__
/ __getitem__
/ __setitem__
/ __len__
/ __gt__
/ __lt__
/ __le__
/ __ge__
/ __ge__ / __eq__
/ __ne__
__contains__
__repr__
العلاقة بين الفئات (الأشياء) - الارتباط/الميراث/التبعية
الميراث وتعدد الأشكال - ما هو الميراث/بناء جملة الميراث/استدعاء طريقة الفصل الأصلي/تجاوز الطريقة/تحديد النوع/الميراث المتعدد/الميراث الماسي (ميراث الماس) وخوارزمية C3
نظام تسوية حالة الراتب الشامل / نظام خصم الكتب التلقائي / فئة النتيجة المخصصة
تطوير برامج واجهة المستخدم الرسومية باستخدام tkinter
تطوير تطبيقات الألعاب باستخدام مكتبة pygame
التابعة لجهات خارجية
لعبة "الكرة الكبيرة تأكل الكرة الصغيرة".
قراءة الملف - قراءة الملف بأكمله / قراءة سطرًا بسطر / مسار الملف
كتابة الملف - الكتابة فوق/إلحاق/ملف نصي/ملف ثنائي
معالجة الاستثناء - أهمية آلية الاستثناء / try
- except
كتلة التعليمات البرمجية / كتلة التعليمات البرمجية else
/ finally
كتلة التعليمات البرمجية / نوع الاستثناء المدمج / مكدس الاستثناء / بيان raise
ثبات البيانات - نظرة عامة على ملف CSV/تطبيق وحدة csv
/تنسيق بيانات JSON/تطبيق وحدة json
العمليات المتقدمة على السلاسل - أحرف الهروب / السلاسل الأصلية / السلاسل متعددة الأسطر / in
عوامل التشغيل not in
/ طرق is_xxx
/ طرق join
split
/ الطرق ذات الصلة strip
/ وحدة pyperclip
/ السلاسل غير القابلة للتغيير والسلاسل المتغيرة / استخدام StringIO
مقدمة إلى التعبيرات العادية - دور التعبيرات العادية/الأحرف الوصفية/الهروب/محددات الكمية/التجميع/تأكيدات العرض الصفري/المطابقة الجشعة والمطابقة البطيئة/استخدام وحدة re
لتنفيذ عمليات التعبير العادية (المطابقة، البحث، الاستبدال، الالتقاط)
استخدام التعبيرات العادية - re
الوحدة / وظيفة compile
/ طريقة group
groups
/ طريقة match
/ طريقة search
/ طريقة findall
و finditer
/ طريقة sub
و subn
/ طريقة split
حالة التطبيق - استخدم التعبيرات العادية للتحقق من صحة سلاسل الإدخال
مفاهيم العمليات والخيوط - ما هي العملية / ما هو الخيط / سيناريوهات التطبيق متعدد الخيوط
استخدام العمليات - وظيفة fork
/وحدة multiprocessing
/تجمع العمليات/الاتصال بين العمليات
استخدام المواضيع - وحدة threading
/فئة Thread
/فئة RLock
/فئة Condition
/تجمع الخيوط
أساسيات شبكات الكمبيوتر - تاريخ تطوير شبكات الكمبيوتر/نموذج "TCP-IP"/عنوان IP/المنفذ/البروتوكول/المفاهيم الأخرى ذات الصلة
وضع تطبيق الشبكة - وضع "خادم العميل" / وضع "خادم المتصفح".
الوصول إلى موارد الشبكة بناءً على بروتوكول HTTP - نظرة عامة على واجهة برمجة تطبيقات الشبكة/عنوان URL للوصول/ requests
مكتبة الطرف الثالث/تحليل بيانات تنسيق JSON
برمجة شبكة بايثون - مفهوم المقابس / وحدة socket
/ وظيفة socket
/ إنشاء خادم TCP / إنشاء عميل TCP / إنشاء خادم UDP / إنشاء عميل UDP
البريد الإلكتروني-SMTP/POP3/IMAP/وحدة smtplib
/وحدة poplib
/وحدة imaplib
خدمة الرسائل القصيرة - اتصل ببوابة خدمة الرسائل القصيرة
استخدم الوسادة لمعالجة الصور - قراءة الصور وكتابتها/توليف الصور/التحويل الهندسي/تحويل الألوان/تأثيرات المرشح
قراءة وكتابة مستندات Word - معالجة محتوى النص/الفقرات/الرؤوس والتذييلات/معالجة الأنماط
قراءة وكتابة ملفات Excel - xlrd
/ xlwt
/ openpyxl
هياكل البيانات المشتركة
الاستخدام المتقدم للوظائف - "مواطنون من الدرجة الأولى" / وظائف عالية المستوى / وظائف لامدا / النطاق والإغلاقات / أدوات الديكور
معرفة متقدمة بالكائنات الموجهة - "الركائز الثلاثة" / العلاقة بين الفئات / جمع البيانات المهملة / الخصائص والأساليب السحرية / الخلط / Metaclass / مبادئ التصميم الموجهة للكائنات / نمط تصميم GoF
التكرارات والمولدات - الطرق السحرية ذات الصلة/طريقتان لإنشاء مولد/
البرمجة المتزامنة وغير المتزامنة - خيوط متعددة/متعددة العمليات/إدخال/إخراج غير متزامن/ async
awai
استخدم علامات HTML لنقل محتوى الصفحة
عرض الصفحة باستخدام CSS
التعامل مع السلوك التفاعلي باستخدام JavaScript
البدء باستخدام jQuery وتحسينه
الشروع في العمل مع Vue.js
استخدام العنصر
استخدام بوتستراب
تاريخ تطوير نظام التشغيل ونظرة عامة على Linux
أوامر لينكس الأساسية
المرافق في لينكس
نظام الملفات لينكس
تطبيق محرر فيم
متغيرات البيئة وبرمجة الصدفة
تثبيت البرامج وتكوين الخدمة
الوصول إلى الشبكة وإدارتها
محتوى آخر ذو صلة
نظرة عامة على قواعد البيانات العلائقية
مقدمة إلى MySQL
تثبيتMySQL
أوامر MySQL الأساسية
بناء قاعدة البيانات والجدول
حذف وتعديل الجداول
عملية إدراج
عملية الحذف
عملية التحديث
الإسقاطات والأسماء المستعارة
تصفية البيانات
معالجة القيمة الخالية
إزالة التكرارات
نوع
وظيفة مجمعة
الاستعلامات المتداخلة
مجموعة
الانضمام إلى الجدول
المنتج الديكارتي
الانضمام الداخلي
اتصال طبيعي
الانضمام الخارجي
وظيفة النافذة
تحديد النافذة
وظيفة الترتيب
وظيفة الوصول
إنشاء مستخدم
منح الأذونات
أذكر الأذونات
نوع جيسون
وظيفة النافذة
تعبير الجدول المشترك
منظر
سيناريوهات الاستخدام
إنشاء عرض
قيود الاستخدام
وظيفة
وظائف مدمجة
وظيفة محددة من قبل المستخدم (UDF)
عملية
عملية الخلق
عملية الاتصال
خطة التنفيذ
مبدأ الفهرسة
إنشاء فهرس
الفهرس العادي
مؤشر فريد
مؤشر البادئة
مؤشر مركب
أشياء يجب ملاحظتها
تثبيت مكتبات الطرف الثالث
إنشاء اتصال
الحصول على المؤشر
تنفيذ عبارة SQL
جلب البيانات عن طريق المؤشر
الالتزام بالمعاملة والتراجع عنها
الافراج عن الاتصال
اكتب نصوص ETL
النظام البيئي هادوب
نظرة عامة على الخلية
تحضير
نوع البيانات
عمليات DDL
عمليات DML
استعلام البيانات
آلية عمل تطبيقات الويب
طلبات واستجابات HTTP
نظرة عامة على إطار عمل جانغو
ابدأ بسرعة في 5 دقائق
تكوين قاعدة البيانات العلائقية
استخدم ORM لإكمال عمليات CRUD على النموذج
استخدام الخلفية الإدارية
أفضل ممارسات نموذج جانغو
مرجع تعريف النموذج
تحميل الموارد الثابتة
نظرة عامة على اياكس
تنفيذ وظيفة التصويت باستخدام اياكس
تنفيذ تتبع المستخدم
العلاقة بين ملفات تعريف الارتباط والجلسات
دعم إطار جانغو للجلسات
عمليات قراءة وكتابة ملفات تعريف الارتباط في وظائف العرض
تعديل رؤوس الاستجابة من خلال HttpResponse
استخدم StreamingHttpResponse
للتعامل مع الملفات الكبيرة
استخدم xlwt
لإنشاء تقارير Excel
استخدم reportlab
لإنشاء تقارير PDF
استخدم ECharts لإنشاء مخططات الواجهة الأمامية
سجل التكوين
قم بتكوين شريط أدوات Django-Debug
تحسين رمز ORM
ما هي البرمجيات الوسيطة
إطار جانغو المدمج في البرمجيات الوسيطة
البرمجيات الوسيطة المخصصة وسيناريوهات تطبيقها
إرجاع البيانات بتنسيق JSON
قم بعرض الصفحة باستخدام Vue.js
نظرة عامة على الراحة
الشروع في العمل مع مكتبة DRF
تطوير منفصل للواجهة الأمامية والخلفية
تطبيق JWT
استخدم CBV
ترحيل البيانات
تصفية البيانات
القانون الأول لتحسين موقع الويب
استخدام Redis لتوفير خدمات التخزين المؤقت في مشاريع Django
قراءة وكتابة ذاكرة التخزين المؤقت في وظيفة العرض
استخدام أدوات الديكور لتنفيذ التخزين المؤقت للصفحة
توفير خدمات التخزين المؤقت لواجهات البيانات
التحكم في نموذج تحميل الملف ومعاينة ملف الصورة
كيفية التعامل مع الملفات المرفوعة على جانب الخادم
القانون الثاني لتحسين موقع الويب
تكوين خدمة قائمة انتظار الرسائل
استخدم Celery لتنفيذ مزامنة المهام في المشروع
استخدم الكرفس لتنفيذ المهام المجدولة في المشروع
اختبار الوحدة في بايثون
دعم إطار جانغو لاختبار الوحدة
استخدم نظام التحكم في الإصدار
تكوين واستخدام uWSGI
الفصل الديناميكي والثابت وتكوين Nginx
تكوين HTTPS
تكوين تحليل اسم المجال
مفهوم زاحف الويب ومجالات تطبيقه
مناقشة حول شرعية برامج زحف الويب
الأدوات ذات الصلة لتطوير برامج زحف الويب
تكوين برنامج الزاحف
استخدم مكتبة requests
الطرف الثالث لتنفيذ التقاط البيانات
ثلاث طرق لتحليل الصفحات
تحليل التعبير العادي
تحليل XPath
تحليل محدد CSS
تعدد المواضيع
عملية متعددة
الإدخال/الإخراج غير المتزامن
تثبيت السيلينيوم
تحميل الصفحة
البحث عن العناصر ومحاكاة سلوك المستخدم
الانتظار الضمني والانتظار الصريح
تنفيذ كود جافا سكريبت
الكراك السيلينيوم المضاد للزحف
قم بإعداد متصفح بلا رأس
المكونات الأساسية Scrapy
سير العمل متقطع
تثبيت Scrapy وإنشاء المشروع
كتابة برنامج عنكبوت
كتابة البرامج الوسيطة وبرامج خطوط الأنابيب
سكري ملف التكوين
مسؤوليات محلل البيانات
مكدس مهارات محلل البيانات
المكتبات المتعلقة بتحليل البيانات
تثبيت واستخدام اناكوندا
أوامر كوندا ذات الصلة
تثبيت واستخدام jupyter-lab
التثبيت والبدء
استخدم النصائح
إنشاء كائن صفيف
خصائص كائن المصفوفة
عمليات الفهرسة على كائنات المصفوفة
الفهرس العادي
مؤشر يتوهم
مؤشر منطقي
مؤشر الشريحة
الحالة: استخدام المصفوفات لمعالجة الصور
الطرق ذات الصلة لكائنات المصفوفة
احصل على إحصائيات وصفية
طرق أخرى ذات صلة
عمليات المصفوفة
العمليات العددية والمصفوفات
المصفوفات وعمليات المصفوفة
وظيفة أحادية عالمية
دالة ثنائية عامة
آلية البث
وظائف مشتركة Numpy
ناقلات
محدد
مصفوفة
متعدد الحدود
إنشاء كائن Series
العمليات على كائنات Series
خصائص وأساليب كائنات Series
إنشاء كائن DataFrame
خصائص وأساليب كائن DataFrame
قراءة وكتابة البيانات في DataFrame
إعادة تشكيل البيانات
ربط البيانات
دمج البيانات
تنظيف البيانات
القيم المفقودة
القيم المكررة
القيم المتطرفة
المعالجة المسبقة
البيانات المحورية
احصل على إحصائيات وصفية
الفرز وقيم الرأس
تجميع المجموعة
الجداول المحورية والجداول الترافقية
عرض البيانات
حساب المقارنة السنوية
حساب النافذة
تحديد الصلة
استخدام الفهرس
مؤشر النطاق
مؤشر الفئة
مؤشر متعدد المستويات
مؤشر الفاصل الزمني
مؤشر التاريخ والوقت
تثبيت واستيراد matplotlib
إنشاء قماش
إنشاء نظام الإحداثيات
رسم المخططات
مخطط خطي
مؤامرة مبعثر
مخطط شريطي
مخطط دائري
الرسم البياني
com.boxplot
عرض وحفظ الرسوم البيانية
الرسوم البيانية المتقدمة
مخطط الفقاعة
مخطط المنطقة
مخطط الرادار
مخطط الوردة
الرسوم البيانية ثلاثية الأبعاد
سيبورن
بيتشارتس
نموذج عملية البرمجيات
تراكم المنتجات (قصص المستخدم، نماذج المنتج الأولية).
اجتماعات التخطيط (التقييم وإعداد الميزانية).
التطوير اليومي (الاجتماعات الاحتياطية، تقنية بومودورو، البرمجة الثنائية، الاختبار أولاً، إعادة هيكلة الكود...).
إصلاح الأخطاء (وصف المشكلة، خطوات الاستنساخ، المختبرين، المكلفين).
إصدار الإصدار.
اجتماع المراجعة (عرض، يحتاج المستخدمون إلى المشاركة).
اجتماع بأثر رجعي (قم بعمل ملخص لدورة التكرار الحالية).
الأفراد والتفاعلات على العمليات والأدوات
برنامج العمل على وثائق شاملة
التعاون مع العملاء له الأسبقية على التفاوض على العقد
الاستجابة للتغيير أفضل من اتباع الخطة
تحليل الجدوى (سواء إجراء البحث أم لا) وإخراج "تقرير تحليل الجدوى".
تحليل المتطلبات (بحث حول ما يجب القيام به)، وإخراج "مواصفات المتطلبات" ومخطط النموذج الأولي لواجهة المنتج.
التصميم التفصيلي والتصميم التفصيلي، ومخططات النماذج المفاهيمية للمخرجات (مخططات ER)، ومخططات النماذج الفيزيائية، ومخططات الفئات، ومخططات التسلسل، وما إلى ذلك.
الترميز/الاختبار.
الاتصال بالإنترنت/الصيانة.
نموذج العملية الكلاسيكية (نموذج الشلال)
أكبر عيب في نموذج الشلال هو أنه لا يمكنه استيعاب التغييرات في الطلب، ولا يمكن رؤية المنتج حتى اكتمال العملية بأكملها، مما يؤدي إلى انخفاض معنويات الفريق.
التطوير السريع (Scrum) - مالك المنتج، Scrum Master، المطورين - Sprint
الملحق: بيان لتطوير البرمجيات رشيقة
الدور: مالك المنتج (الشخص الذي يقرر ما يجب فعله ويمكنه اتخاذ القرارات بشأن المتطلبات)، قائد الفريق (يحل المشكلات المختلفة، ويركز على كيفية العمل بشكل أفضل، ويحمي التأثير الخارجي على فريق التطوير)، فريق التطوير (المدير التنفيذي للمشروع، على وجه التحديد المطورين والمختبرين).
الإعداد: دراسة الجدوى والتمويل، العقود، الرؤية، متطلبات المنتج الأولية، خطة الإصدار الأولية، أخذ حصص الأسهم، بناء الفريق.
تتكون الفرق الرشيقة عادةً من 8 إلى 10 أشخاص.
تقدير عبء العمل: تحديد مهام التطوير، بما في ذلك النماذج الأولية، وتصميم الشعار، وتصميم واجهة المستخدم، وتطوير الواجهة الأمامية، وما إلى ذلك، ومحاولة تحليل كل عمل إلى الحد الأدنى لمبلغ المهمة. الحد الأدنى لمعيار حجم المهمة هو أن وقت العمل لا يمكن أن يتجاوز يومين ثم قم بتقدير الوقت الإجمالي للمشروع. انشر كل مهمة على لوحة كانبان، والتي تنقسم إلى ثلاثة أجزاء: يجب القيام به (سيتم إكماله)، قيد التقدم (قيد التنفيذ)، وتم إنجازه (مكتمل).
تشكيل فريق المشروع
تعليقات التعليمات البرمجية قليلة جدًا أو لا تحتوي على أي تعليقات
يكسر الكود أفضل الممارسات اللغوية
البرمجة المضادة للنمط (كود السباغيتي، برمجة النسخ واللصق، برمجة الأنا،…)
تكوين الفريق والأدوار
ملاحظة: شكرًا للسيدة Fu Xiangying لمساعدتي في رسم المخطط التنظيمي الجميل التالي للشركة.
مواصفات البرمجة ومراجعة الكود ( flake8
، pylint
)
بعض "الاصطلاحات" في لغة بايثون (يرجى الرجوع إلى "اصطلاحات بايثون - كيفية كتابة كود بايثون")
الأسباب التي تؤثر على إمكانية قراءة التعليمات البرمجية:
مقدمة إلى أدوات تطوير الفريق
يرجى الرجوع إلى "المشاكل والحلول في تطوير مشروع الفريق".
التحكم في الإصدار: Git، Mercury
إدارة العيوب: Gitlab، Redmine
أدوات الحلقة المغلقة الرشيقة: ZenTao، JIRA
التكامل المستمر: جنكينز، ترافيس-CI
إعداد نطاق الموضوع
نظام إدارة المحتوى (العميل): موقع ويب لتجميع الأخبار، ومجتمع الأسئلة والأجوبة/المشاركة، وموقع مراجعة الأفلام/مراجعة الكتب، وما إلى ذلك.
MIS (جانب المستخدم + جانب الإدارة): KMS، نظام تقييم KPI، HRS، نظام CRM، نظام سلسلة التوريد، نظام إدارة المستودعات، إلخ.
الواجهة الخلفية للتطبيق (محطة الإدارة + واجهة البيانات): المعاملات المستعملة والصحف والمجلات والتجارة الإلكترونية المتخصصة والأخبار والمعلومات والسفر والشبكات الاجتماعية والقراءة وما إلى ذلك.
أنواع أخرى: خلفية صناعية خاصة وخبرة عمل، ومن السهل فهم الأعمال والتحكم فيها.
فهم المتطلبات وتقسيم الوحدة وتخصيص المهام
فهم المتطلبات: العصف الذهني وتحليل المنتجات التنافسية.
تقسيم الوحدة: ارسم خريطة ذهنية (XMind). كل وحدة هي عقدة فرعية، وكل وظيفة محددة هي عقدة ورقية (يتم التعبير عنها بالأفعال). من الضروري التأكد من أن كل عقدة ورقية لا يمكنها تجديد عقد جديدة وتحديد كل ورقة. الأهمية والأولوية وعبء العمل للعقد.
توزيع المهام: يقوم قائد المشروع بتعيين المهام لكل عضو في الفريق بناءً على المؤشرات المذكورة أعلاه.
تطوير الجدول الزمني للمشروع (يتم تحديثه يوميًا)
وحدة | وظيفة | الموظفين | ولاية | ينهي | ساعات العمل | تبدأ الخطة | البداية الفعلية | تنتهي الخطة | النهاية الفعلية | ملاحظة |
---|---|---|---|---|---|---|---|---|---|---|
تعليق | أضف تعليقا | وانغ داتشوي | مستمر | 50% | 4 | 2018/8/7 | 2018/8/7 | |||
حذف التعليق | وانغ داتشوي | انتظر | 0% | 2 | 2018/8/7 | 2018/8/7 | ||||
عرض التعليقات | باي يوانفانغ | مستمر | 20% | 4 | 2018/8/7 | 2018/8/7 | مراجعة الكود مطلوبة | |||
التصويت بالتعليق | باي يوانفانغ | انتظر | 0% | 4 | 2018/8/8 | 2018/8/8 |
OOAD وتصميم قاعدة البيانات
مخطط الفصل لـ UML (لغة النمذجة الموحدة)
إنشاء جدول من خلال النموذج (الهندسة الأمامية)، على سبيل المثال، في مشروع Django، يمكنك إنشاء جدول ثنائي الأبعاد من خلال الأمر التالي.
تطبيق بايثون Manage.py makemigrations بايثون Manage.py ترحيل
استخدم PowerDesigner لرسم مخططات النماذج المادية.
قم بإنشاء نموذج (الهندسة العكسية) من خلال جدول البيانات، على سبيل المثال، في مشروع Django، يمكنك إنشاء نموذج من خلال الأمر التالي.
بيثون Manage.py Inspecdb > app/models.py
مقدمة إلى دوكر
قم بتثبيت عامل الميناء
استخدم Docker لإنشاء حاويات (Nginx وMySQL وRedis وGitlab وJenkins)
إنشاء صورة Docker (كتابة ملف Dockerfile والتعليمات ذات الصلة)
تنسيق الحاوية (إنشاء عامل الميناء)
إدارة المجموعة (Kubernetes)
المبادئ الأساسية
محرك InnoDB
استخدام الفهرس والاحتياطات
قسم البيانات
تحسين SQL
تحسين التكوين
تحسين الهندسة المعمارية
مبادئ التصميم
الأسئلة الرئيسية
أسئلة أخرى
كتابة الوثيقة
تكوين قاعدة البيانات (قواعد بيانات متعددة، النسخ المتماثل للسيد والعبد، توجيه قاعدة البيانات)
تكوين ذاكرة التخزين المؤقت (ذاكرة التخزين المؤقت للقسم، إعدادات المفاتيح، إعدادات المهلة، النسخ المتماثل الرئيسي والتابع، استرداد الفشل (Sentinel))
تكوين السجل
التوصيف والتصحيح (Django-Debug-ToolBar)
وحدات Python المفيدة (حساب التاريخ، معالجة الصور، تشفير البيانات، واجهة برمجة تطبيقات الطرف الثالث)
هندسة معمارية مريحة
فهم الهندسة المعمارية المريحة
إرشادات تصميم واجهة برمجة تطبيقات RESTful
أفضل ممارسات RESTful API
كتابة وثائق واجهة API
راب2
يابي
تطبيق إطار عمل Django-REST
استخدم التخزين المؤقت لتخفيف ضغط قاعدة البيانات - Redis
استخدم قوائم انتظار الرسائل للفصل وقص الذروة - Celery + RabbitMQ
نوع الاختبار
كتابة اختبارات الوحدة ( unittest
, pytest
, nose2
, tox
, ddt
,...)
تغطية الاختبار ( coverage
)
التحضير قبل النشر
إعدادات المفاتيح (SECRET_KEY / DEBUG / ALLOWED_HOSTS / ذاكرة التخزين المؤقت / قاعدة البيانات)
HTTPS/CSRF_COOKIE_SECUR/SESSION_COOKIE_SECURE
سجل التكوين ذات الصلة
مراجعة أوامر Linux الشائعة
تثبيت وتكوين خدمات Linux الشائعة
استخدام uWSGI/Gunicorn وNginx
بالنسبة للتطبيقات البسيطة التي لا تتطلب الكثير من التخصيص، يعد Gunicorn خيارًا جيدًا. منحنى التعلم الخاص بـ uWSGI أكثر انحدارًا من Gunicorn، ويمكن بالفعل تكييف معلمات Gunicorn الافتراضية مع معظم التطبيقات.
يدعم uWSGI النشر غير المتجانس.
نظرًا لأن Nginx نفسه يدعم uWSGI، يتم نشر Nginx وuWSGI معًا عبر الإنترنت بشكل عام، وuWSGI عبارة عن برنامج وسيط WSGI يعمل بكامل طاقته ومخصص للغاية.
من حيث الأداء، فإن أداء Gunicorn وuWSGI جيد بنفس القدر.
مقارنة Gunicorn وuWSGI
نشر بيئة الاختبار وبيئة الإنتاج باستخدام تقنية المحاكاة الافتراضية (Docker)
استخدام AB
استخدام SQLslap
استخدام سيسبينش
الاختبار الآلي باستخدام Shell وPython
الاختبار الآلي باستخدام السيلينيوم
بيئة تطوير متكاملة للسيلينيوم
برنامج تشغيل الويب السيلينيوم
جهاز التحكم عن بعد السيلينيوم
مقدمة إلى أداة اختبار Robot Framework
نموذج العمل ونقاط المتطلبات
تصميم النموذج المادي
تسجيل الدخول لطرف ثالث
الاحماء ذاكرة التخزين المؤقت والتخزين المؤقت للاستعلام
تنفيذ عربة التسوق
تكامل وظيفة الدفع
مبيعات فلاش وقضايا ذروة البيع
إدارة الموارد الثابتة
حل البحث عن النص الكامل
ضبط قاعدة بيانات MySQL
تحسين أداء خادم الويب
تكوين موازنة التحميل Nginx
يحقق Keepalived توافرًا عاليًا
ضبط أداء الكود
تعدد المواضيع
عدم التزامن
تحسين الوصول إلى الموارد الثابتة
التخزين السحابي
CDN
أساسيات الكمبيوتر
أساسيات بايثون
إطار الويب ذات الصلة
القضايا المتعلقة بالزواحف
تحليل البيانات
المتعلقة بالمشروع