نحن في "بيثون جونيور بودكاست" - بودكاست لأولئك الذين يرغبون في فهم بيثون بشكل أفضل - نحاول المساهمة بكل طريقة في الرغبة في التعلم. نحن ندعو الخبراء ، ونطرح أسئلة صعبة ، ونحصل على نصائح حول ما وكيف نتعلمه لمطور بيثون للمبتدئين ، أو لغير مبتدئين ، أم لا بيثون - يمكن أن يحدث أي شيء.
نلفت انتباهكم اليوم إلى نسخة نصية من محادثتنا مع أرسيني جابدولين ، مطور مجلة Tinkoff ، حول موضوع تقريره المستقبلي حول
Moscow Python Conf ++ ، ولكن دون المفسدين.
على الرغم من أنني أقول دائمًا إن الناس يذهبون إلى المؤتمرات وليس للدراسة ، إلا أن هناك العديد من الفوائد لهم. كما هو الحال في بودكاست لدينا.
المحادثة المعنية:
- غريغوري بيتروف ، مبشر في موسكو بيثون ، رئيس لجنة برنامج موسكو بيثون كونف ++ ؛
- Arseny Gabdullin ، مطور مجلة Tinkoff ، متحدث في MoscowPython Conf ++ ؛
- زلاتا أوبوخوفسكايا ، قائد الفريق نفيديا ، المبشر MoscowPython ، عضو لجنة البرنامج في Moscow Python Conf ++ ؛
- فالنتين دومبروفسكي ، المنظم المشارك والمؤسس المشارك لـ MoscowPython ،
فالنتين دومبروفسكي: أرسني ،
تقريرك بدون مخربين - ماذا ستخبرنا في المؤتمر؟
كيف أصبح Arseny مطورًا في TJ
أرسني جابدولين: في الواقع ،
سنتحدث مع الشريك فاديم جونشاروف ، رئيس قسم
تطويرنا . إنه من جانب العمل ، وأنا من جانب التطوير. سوف نتحدث عن كيفية القيام بمشاريع إعلامية باستخدام Python ، وما الفوائد التي يقدمها هذا إلى الشركات والإعلام ، وكيف انتقلنا من WordPress إلى Django ، وما الذي نفعله الآن ، وما هي المشاكل والنجاح الذي حققناه ، وما هي خططنا للمستقبل.
فالنتين دومبروفسكي: دعنا ننتقل خطوة إلى الوراء. أخبرني ماذا تفعل ، وكيف انتهى بك المطاف في مثل هذه المنظمة الرائعة مثل تينكوف؟ ما الذي أتى بك هناك؟ طريقك المهني؟
أرسني جابدولين: عشت ودرست
كعالمة اجتماع في سان بطرسبرغ. كان لديّ اختصاصي غريب "المعلوماتية-الاجتماعية" - يبدو أنه باحث ، لكنني مرتبط بطريقة ما بالتطور وبأنظمة المعلومات الخاصة بالبحث الاجتماعي. لفترة من الوقت كنت أقوم بإنشاء قواعد البيانات وأنظمة المعلومات لدعم دراسات الحالة. في علم الاجتماع ، وغالبا ما يستخدم بيثون. في الوقت نفسه ، قمت بعمل جميع أنواع المواقع على وورد - حدث ما حدث.
وورد ذات الصلة الجماعية الخروج
غريغوري بيتروف: لا يوجد شيء نخجل منه. كل شيء يحدث في الحياة.
زلاتا أوبوخوفسكايا: نعم ، حدث كل شيء.
فالنتين دومبروفسكي: حسنًا ، الآن سيقولون مرة أخرى أننا نسمم متخصصي PHP.
زلاتا أوبوخوفسكايا: غريشا ، هل قمت بإنشاء مواقع ووردبريس؟
غريغوري بيتروف: بالطبع!
زلاتا أوبوخوفسكايا: لقد صنعت مواقع على ووردبريس.
فالنتين دومبروفسكي: وقد فعلت مواقع ووردبريس. لم أطور حتى في Python ، لكنني قمت بإنشاء مواقع ويب في WordPress.
أرسيني جابدولين: نعم ، كنت شابًا ، كنت بحاجة إلى المال. ثم في مرحلة ما ، تم استدعائي لفريق الاستعانة بمصادر خارجية الذي قام بـ TJ. ثم لم يكن لدينا مطورين في الدولة ، كان كل شيء بعيدًا. لقد بدأت مع بعض المهام الصغيرة ، ثم أصبحت أكثر وأكثر. ثم أخبروني في النهاية - هل تريد الانضمام إلى الفريق ، إلى الدولة ، إلى موسكو؟ فكرت وتاجرت بطرسبرغ في مجلة Tinkoff.
فالنتين دومبروفسكي: وبعد ذلك كان وورد؟
أرسيني جابدولين: نعم.
فالنتين دومبروفسكي: أي أن
هجرتك إلى بيثون حدثت مباشرة في عملية العمل؟
Arseny Gabdullin: كتبت من قبل في بيثون ، ولكن في الأساس كانت أنظمة اجتماعية للعلوم ، وكان التطور في WordPress.
في عام 2016 ، كان T - F مجرد موضوع وورد. كان لدينا عدد قليل من المقالات ، وكان حلا مناسبا تماما. حتى نقطة ما ، WordPress يكفي للعيون. بعد ذلك ، بحلول نهاية عام 2016 ، اقترحت محاولة الانتقال إلى جانغو ، لأن هناك عددًا من المشكلات التي تراكمت والتي يجب معالجتها.
تجربة مع مكبرات الصوت في أقرب موسكو بيثون كونف ++
غريغوري بيتروف: بالمناسبة ، هذا ليس من المعتاد القيام به ، يجب عليك أولاً عقد مؤتمر ، ثم بعد شهرين لجمع الملاحظات من المتحدثين. نوح لا يمكن أن يساعدها. في هذا المؤتمر ، نجري تجربة لأول مرة -
نحن نعد المتحدثين من نقطة الصفر . نحن لم ندعو فقط ارسيني مع فاديم. أولاً ، يشاركون لأول مرة في هذه التجربة. وستكون هذه هي المرة الأولى أثناء وجود نظامي ، عندما نتكيف مع قصة متحدثين في نفس الوقت.
هل تعرف كيف تبدو قصص متحدثين عادة؟ إنه لأمر محزن للغاية: شخص واحد يروي ، يروي ، يروي ، والثاني مع تعبير حزين على وجهه يقف في أول من وراء ظهره. ثم بالكاد يغيرون الأماكن.
كل شيء سيكون خطأ معنا. سينقل أرسني وفديم القصة بسلاسة من واحد إلى آخر. الآن أصبح كل شيء جاهزًا ، لقد قمنا نحن الثلاثة بالفعل بتشغيل الأداء. كان ممتعا.
Arseny ، شارك انطباعاتك الأولى عن ورشة العمل الخاصة بنا. إنهم ، على ما أعتقد ، أصبحوا مهمين بشكل خاص الآن ، لأنك و Vadim لم تقما بالأداء بعد. أنت في منتصف الرحلة ، لكن التقرير جاهز. كيف تحب الورشة؟ كم كان هذا الأمر مجنونًا ومعقدًا وغير اعتيادي - كيف يتناسب هذا مع تجربتك السابقة؟
أرسيني جابدولين: لقد استمتعنا بالفعل بالتحضير مع فاديم. في كل مرة أغلقنا الكمبيوتر المحمول ، كنا نظن: "كيف رائع!" نهج رائع جدا أنه في أجزاء صغيرة ، ولكن العادية. في كل مرة تدرك فيها أنك قد أحرزت بعض التقدم ، ولكن بشكل عام تم قطع شوط طويل بالفعل.
يعد النظام المثير للاهتمام مبدأ بسيطًا على ما يبدو في قلب الخطاب ، ولكن في نفس الوقت ، تفهم على الفور كيف يرتبط كل شيء وكيف سيعمل في المستقبل. بالطبع ، لم أقم بأداء مع شخص ما على خشبة المسرح. من المثير للاهتمام أن نحاول - لا أعرف ماذا سيحدث. آمل أن كل شيء يسير بسلاسة.
غريغوري بيتروف: سينتهي الأمر بشكل جيد ، النظام لا يفشل. جميل جدا لسماع ذلك. بالإضافة إلى Arseny و Vadim ، لدينا 11 تقريرًا آخر قيد الإعداد. معظم شهرين قبل اكتمال المؤتمر. هذا ما يعنيه
أنني معيد التأمين - قبل شهر من المؤتمر ، والتقارير جاهزة.فالنتين دومبروفسكي: حصلنا على نصف عام فقط بين المؤتمرات ، وكان
آخر اجتماع
لبايثون كونفو ++ في شهر أكتوبر.
غريغوري بيتروف: اليوم ، لدينا نوع من المحادثات الصغيرة مع متحدث لجمهورنا.
تم وضع بودكاست بيثون جونيور للمطورين المبتدئين ، على الرغم من أنني سأخبرك سرا أنه ليس فقط الصغار يستمعون إلينا.
أرسيني جابدولين: وفقًا للشائعات ، بدا غيدو فان روسوم أحيانًا.
فالنتين دومبروفسكي: الترجمة باللغة الإنجليزية تشمل - جيد جدًا!
هل Django مناسب كإطار عمل إلكتروني عبر الإنترنت في عام 2019
غريغوري بتروف: أخبرني ، أرسني ، من خبرتك - للمطورين المبتدئين - ما مدى رضاك عن جانغو. في الواقع ، من حيث المبدأ ، تم وضع جانغو في الأصل كإطار لعمل النشر ، أي المجلات. لكن ذلك كان منذ زمن طويل. لقد تغير الويب كثيرًا منذ ذلك الحين ، وبدأت مؤخرًا استخدام Django لـ Tinkoff Magazine. قل لي ، هل أنت بخيبة أمل؟ ما الذي أعجب به Django لأنظمة النشر في عام 2016 وما بعده؟ ما هو رأيك الشخصي؟
فالنتين دومبروفسكي: في الوقت نفسه ، دون المفسدين! حسنا ، إذا قليلا فقط.
Arseny Gabdullin: في العام الماضي ، عملنا على DevOps ، وكان لدينا فريق كبير من المهندسين الذين
يجعلوننا بنية تحتية فائقة مباشرة. هم عموما متشككون تماما من بيثون ، وخاصة ديجانجو. كان لدينا كرة الطاولة المستمرة.
زلاتا أوبوخوفسكايا: لم يكن عليهم أن يفعلوا المجلة بأنفسهم.
أرسيني جابدولين: نعم ، بالمناسبة. اعتادوا على القيام بخدمات المؤسسة ، والآن يفعلون كل شيء على Node.js. لقد اعتادوا فقط رفع كل شيء حتى Node.js ، لكنني أقنعت الكثيرين أنه يمكنك القيام بعمل جيد في كل من Python و Django. لكنني أؤكد أن هناك الكثير من الأفكار حول حظر الطلبات - بعد كل شيء ، هذه هي
الطبيعة المتزامنة لجانغو ، التي لم يعد من الممكن إعادة بنائها . هذا هو تسليط الضوء.
فيما يتعلق بالعمل مع ORM ، أعتقد أن هذا مخصص للمشاريع الكبيرة ، حيث توجد العديد من العلاقات ، حيث يتغير كل شيء وتحتاج إلى إطار عمل سيتم فيه تحديد مجال البيانات ، Django مناسب للغاية. ننتقل الآن إلى استخدام Django كواجهة برمجة تطبيقات ، وهو ما يهدف إليه ، أي لتوزيع البيانات.
كم من الوقت يعيش مشروع المحتوى بشكل جيد على إطار عمل جانغو ريست؟
زلاتا أوبوخوفسكايا: أنت تستخدم DRF ، فأنت بحاجة إلى الحديث عنه.
أرسيني جابدولين: نعم ،
DRF هو المعيار الواقعي . هناك نموذج Django ، على رأس DRF - السعادة (إلى حد ما).
زلاتا أوبوخوفسكايا: حتى أي نقطة؟
Arseny Gabdullin: حتى اللحظة التي تبدأ فيها العلاقات المتداخلة المعقدة. في مجلتنا ، نظام النشر معقد ولكنه خطي إلى حد ما. قدمنا خدمة أخرى للبنك في Django - Tinkoff Help ، والتي خرجت من المجلة. كل شيء أكثر تعقيدًا هناك ، لأن المصممين والمنتجات توصلوا إلى تسلسل هرمي معقد للغاية من المنتجات والأقسام. في مرحلة ما ، توصلنا إلى حقيقة أنه من الصعب تنفيذها في REST ، ومن الصعب إجراء تسلسل ومن الصعب ضمان الأداء. يمكنك ذلك ، ولكن عليك قضاء الكثير من الوقت والتوصل إلى خطوات غير واضحة للتحسين.
زلاتا أوبوخوفسكايا: هذا بمجرد بدء الربط المكون من ثلاث خطوات - حسنًا ، ليس ارتباط ثلاثي الخطوات ، لكن شيئًا أعمق ، ربما يكون الأمر صعبًا بالفعل.
ارسنى جابدولين: بالضبط.
زلاتا أوبوخوفسكايا: اتضح أن مساعدة مشروع Tinkoff سيكون من الأفضل إعادة كتابتها إلى تقنية أخرى. أي أفكار ما يمكن استخدامها؟ من وجهة نظرك الشخصية؟
فالنتين دومبروفسكي: قدم لنا قليلاً ، ما هي مساعدة تينكوف؟
أرسيني جابدولين: هذه خدمة مصرفية بحتة - معلومات عن منتجات البنك. ولكن لفترة طويلة عاش داخل مجلة. كان الأمر سخيفًا جدًا ، لأنه لا علاقة له بالمجلة. ولكن كان لدينا بالفعل منصة للنشر تعمل ، وأنشأت عمليات الإنتاج ، والقيام بخدمة منفصلة في ذلك الوقت كان في غير محله وقتها.
فالنتين دومبروفسكي: أي ، بحكم الأمر الواقع في تينكوف ، قاموا بدمج مشروع المحتوى: تحدثت المجلة والمساعدة على نفس المنصة.
أرسيني جابدولين: لقد كانت تجربة. ساعدنا تمامًا مثل قسم صغير في مجلة ، ثم نما ، وأصبح من الواضح أنه كان يعيش بالفعل في مجلة. ثم أخذناها إلى خدمة منفصلة.
فالنتين دومبروفسكي: وإلى منصة تقنية جديدة؟
إذا لم يكن جانغو ، فماذا
زلاتا أوبوخوفسكايا: لدي سؤال: إذا لم يكن جانغو - فماذا إذن؟ ما هي البدائل؟
أرسيني جابدولين: كلنا نحب Node.js ، لقد أقنعنا أن نفعل Node.js. رفضنا ، ليست هناك رغبة في العمل مع البيانات في Node.js. نعم ، بالطبع هناك أداء وتزامن وغير ذلك الكثير. ولكن دعونا لا نزال سنضع البيانات في النماذج.
زلاتا أوبوخوفسكايا: إذن بيثون غير المتزامن يظهر؟
أرسيني جابدولين: نعم ، إذا كنت تريد أن تكتب في بيثون ، أعتقد أن هذا الخلاص مباشرة.
فالنتين دومبروفسكي: السؤال هنا هو - Node.js مقابل بيثون - من سيفوز بمن. إذا كنا نتحدث عن عادات الناس ، فهذا شيء واحد ، ولكن لا يزال في حالة usecase ، أين يعمل ما هو أفضل؟ جريشا ، Node.js أو بيثون غير متزامن؟
غريغوري بيتروف: أنت فقط ...
زلاتا أوبوخوفسكايا: لقد فتحوا صندوق باندورا عملياً!
حول خلفية تطور متزامن وغير متزامن في بيثون
غريغوري بتروف: لقد قلت هذا عدة مرات وسأقول ذلك ، لأن هذه هي المبادئ الأساسية التي تعد جيدة جدًا للبث من البودكاست PythonJunior - مرحباً ، جونز وأي شخص آخر!
البرمجة غير المتزامنة بشكل عام - Event Loop في Python 3.7 و Node.js 11 - متشابهة جدًا.
ولكن هناك طبقات تاريخية. انتقل Node.js من JavaScript ، والتي انتقلت من المستعرض. من حيث المبدأ ، لا يستطيع المستعرض تحمل تكاليف عمليات الحظر في JS ، لأنه وإلا سيتم حظر الصفحة ، فلن يتم التمرير.
لا يمكننا السماح لجافا سكريبت بحظر تمرير صفحتنا التي يعرضها المتصفح. لذلك ، كان JavaScript في الأصل على عمليات الاسترجاعات. لم نتمكن من فعل شيء هناك على الفور ، على سبيل المثال ، فتح بعض التخزين المحلي أو قاعدة بيانات. يمكننا بدء العملية ، وتحديد رد اتصال ، وبعد فترة ، عندما ينفذ المتصفح العملية ، تم استدعاء رد الاتصال. لقد كان دائما كذلك.
عندما توصلوا إلى Node.js ، فإن هذا النموذج القائل بأن كل شيء غير متزامن يتحول بسلاسة إلى node.js ويتصرف بشكل جيد للغاية في النموذج غير المتزامن عندما يكون هناك مؤشر ترابط واحد ، وهناك العديد من الأشياء ذات المستوى المنخفض تحت غطاء محرك السيارة في ذلك الوقت من وقت لآخر عمليات الاسترجاعات إلى تقرير مؤشر الترابط هذا.
عندما وصل بعد عدة سنوات إلى JavaScript في انتظار ، كما حدث في Python ، حدث اللغز. الآن يبدو تطبيق Node.js وكأنه coroutine غير متزامن ، وداخله تنتظر ، تنتظر ، تنتظر كل ما تستطيع.
بيثون ذهب خطأ. لم تكن Python في الأصل لغة قابلة للتضمين ، ولكنها لغة تطبيقية تم فيها إنشاء أنظمة كاملة يديرها المستخدم: كسارات الأرقام والخوادم وما إلى ذلك. عندما أرادت جميع هذه الأنظمة فتح ملف ، كانت عملية حظر. بيثون تاريخيا بسبب GIL كانت مريحة للتكاثر وضرب الخيوط.
إذا أردنا في Python أن نفعل شيئًا على التوازي ، فقد أخذنا مجموعة من الخيوط وضربنا بخيوط - كانت هناك سعادة! ثم جاءت حلقة الأحداث.
ماذا تخلى بيثون عن نموذج الخيط لصالح حلقة الأحداث؟
لماذا بدأوا في التخلي عن نموذج التدفق نحو EventLoop؟
من الأسهل على أي مطور إخفاء كل آلات الحجب أسفل الغطاء وإدارة نتائج العمليات غير المتزامنة في خيط واحد فقط.
هذا مريح حقًا - ملائم أكثر بكثير من إطلاق ألف مؤشر ترابط وانتظارها في نفس الوقت. بالإضافة إلى ذلك ، لا تعد التدفقات نفسها مجانية ، حيث يعد تشغيلها والتبديل بينها لنظام التشغيل عبئًا.
عندما انتقلت Python من سلاسل الرسائل إلى Event Loop ، اتضح أن جميع المكتبات الموجودة تم حظرها. في Node.js ، جافا سكريبت ، كانت جميع المكتبات الموجودة في البداية غير محظورة ، بينما كانت في بيثون تحظر في البداية. لذلك ، فإن التزامن الرائع الموجود خارج الصندوق يمنح أساسين أساسيين يمكننا انتظارهما: عمليات الشبكة وأجهزة ضبط الوقت.
العمل مع الملفات وقواعد البيانات والأنابيب وسحق الأرقام و NumPy وتغيير حجم الصور - كل هذا في المكتبات القديمة المتزامنة. ومن أجل استخدامها ، نحتاج إلى جعل تجمع الخيوط بأنفسنا ، وبدء تشغيله بأنفسنا ، وجعل المستقبل ، ورميهم مرة أخرى إلى ساحة الأحداث باستخدام Event Loop - بشكل عام ، إنه أمر محزن. تحاول مكتبات جديدة جديدة ، مثل asyncpg ، بطريقة ما ، اختتام هذا.
بيثون غير متزامن لا يزال صغيرا جدا.
لم يكن لديه مثل هذا الميراث الناجح مثل Node.js ، وبالتالي لم ينضج بعد. ومع ذلك ، فإن اللغة نفسها قوية جدا. لذلك ، إذا كان هناك فريق من مطوري Python ، حتى إذا كان هناك قيود على شباب البرمجة غير المتزامنة في Python ، فإن مطور Python ذي الخبرة سيكون قادرًا بالفعل على تقديم حل مُنتج لن يكون أدنى من سرعة Node.js. ولكن في الوقت نفسه ، نظرًا لحقيقة أن Python تعرف أنه أفضل بكثير من Node.js ، سيكون الحل أفضل وتطور بشكل أسرع ، والكود أنظف ، والدعم أرخص.
هل من الصعب كتابة حلول غير متزامنة في بيثون من الصفر
زلاتا أوبوخوفسكايا: في الواقع ، لا أحد يحظر كتابة برنامج التشغيل الخاص بك غير المتزامن لأي مستودع جديد عصري.
غريغوري بيتروف: نعم لك.
زلاتا أوبوخوفسكايا: ومن الذي لا يفعل؟
غريغوري بتروف: أي مطورين أقل من كبار المطورين. الحلول غير المتزامنة يصعب حقًا كتابتها. فشلوا في أماكن غير متوقعة. زرنيخ ، قل أنه من الصعب القيام بهذه الأشياء.
أرسيني جابدولين: عدم التزامن ؟ غير عادي.
زلاتا أوبوخوفسكايا: هل تستخدم تزامن في مكان ما في تينكوف؟ ربما روى بعض الرجال في العشاء قصة حزينة أو ، على العكس ، قصة مضحكة حول استخدام عدم التزامن؟
Arseny Gabdullin: تعمل معظم خدماتنا بواسطة Node.js. هناك ، هو جزء لا يتجزأ من الحمض النووي في الحمض النووي. لدينا أيضًا ، على سبيل المثال ، خدمات صوتية ، يعمل الكثير منها في بيثون. بصراحة ، أنا لا أعرف بالضبط كيف يقومون بتنفيذ كل هذا ، لكنني أعتقد أن عدم التزامن يتحقق عبر تعدد مؤشرات الترابط. بشكل عام ، في واجهات برمجة التطبيقات التي تم تحميلها بشكل كبير ، لم تعد Node.js بعد الآن ، ولكن بعض Scala ، على الأقل. وهم يقومون بأعباء عمل عالية جدًا في C ++ ، ولكن مرة أخرى ، بالإضافة إلى خيوط متعددة.
حول أداة البرمجة المثالية
غريغوري بيتروف: هناك شيء واحد أود التحدث عنه. حكاية جميلة أن هناك أداة مثالية لحل المشكلة ، للأسف ، مجرد حكاية خرافية. على مر السنين ، باستخدام نفس اللغة ، والإطار ، يطور المطور العديد من الأنماط. تعمل هذه الأنماط على توسيع سلطته بشكل كبير كمطور ، إلى أي مدى يمكنه الاحتفاظ بالكائنات في التركيز. عندما يتعلم لاعب الشطرنج لعب الشطرنج على مر السنين ، يبدأ بعد سنوات عديدة في النظر إلى اللوحة على أنها مزيج من القطع المألوفة والمألوفة.
على سبيل المثال ، إذا كان مطور Python يعمل على برمجة في Python لمدة 5-10 سنوات ، فقد يكون مطورًا ذو خبرة ، على شكل حرف T ، يعرف Go ، Node.js ، إلخ. ولكن نظرًا لحقيقة أن لديه خبرة كبيرة في استخدام Python ، سيقوم هو وفريق Python الخاص به بكتابة خدمة أسرع وأسرع ، والتي ستكون أسهل في التطوير والصيانة من Node.js وحتى على Go. لمجرد أن الأداة المألوفة لسنوات عديدة تمنح مكافأة كبيرة لجميع جوانب كتابة التعليمات البرمجية.
بالطبع ، هناك حالات انحطاطية - بالطبع. ولكن في الحالة العامة ، بالنسبة لمعظم المهام هذا هو الحال. أم لا؟ يجادل معي.
زلاتا أوبوخوفسكايا: يمكن الجدال في هذا بالطبع ، لأنه إذا كان لدى المطور ساق طويلة من الحرف T ، فلا شيء يمنعه من كتابة رمز مشبع للغاية بميزات محددة للغة ، والتي لن يفهمها أحد لاحقًا. لكنه يفهم - إنه رائع!
غريغوري بيتروف: يقولون إن المطورين ذوي الخبرة ، على العكس من ذلك ، يكتبون رمزًا بسيطًا.زلاتا أوبوخوفسكايا: في المرة القادمة سوف نأتي بالعديد من المطورين ذوي الخبرة من مختلف التقنيات إلى الاستوديو ، ونمنحك سلاحًا ، ونتركه لمدة ساعة.
فالنتين دومبروفسكي: أقترح إعطاء كل منهم قراءة رمز الآخر ومعرفة ما يحدث. ستكون معركة!
زلاتا أوبوخوفسكايا: لننهي هذه الحجة الفلسفية ونعود إلى جانغو. أنا مهتم جدًا برأي أرسيني ، لكن ماذا لو لم يكن جانغو؟ حول أشياء عالية تحميل غير متزامن فهمنا قليلا. وبالنسبة لمهام مثل إنشاء مجلة ونشر أنظمة الوسائط ، فإن Django هو الحل الأفضل حقًا. لماذا لا قارورة؟
فالنتين دومبروفسكي: هل كان هذا هو الخيار الأفضل من وجهة نظرك ، أم هل يمكن أن يكون هناك شيء آخر؟
أرسيني جابدولين: أعتقد أن
جانغو هو الخيار الأفضل لوسائل الإعلام.فالنتين دومبروفسكي: ما هي الخيارات؟ ربما تم النظر في شيء آخر؟
Arseny Gabdullin: كان هناك خيار للقيام به على المكدس المصرفي ، أي استخدام أفضل الممارسات الموجودة في منطقة إدارة Tinkoff. كان هناك اختلاف في إطار عمل PHP لأنه كان لدينا PHP - للبقاء في نفس النموذج. لم تكن هناك خيارات أكثر تحديدا. لكننا أردنا الحفاظ على دائرتنا ، أي عدم ربطنا بدورة التطوير المصرفي ، حيث لا تزال هناك خصائصها الخاصة.
زلاتا أوبوخوفسكايا: هذا إذا كانت بيثون ووسائل الإعلام جانغو؟
أرسني جابدولين: أعتقد ذلك.
ORM يحل .
زلاتا أوبوخوفسكايا: ولكن هناك أيضا ORM وليس له علاقة بجانغو.
أرسيني جابدولين: يبدو الأمر نعم. SQLAlchemy ، على سبيل المثال.
فالنتين دومبروفسكي: بونيورم.
زلاتا أوبوخوفسكايا: ولكن لا يزال يستخدم peewee في الإنتاج.
أرسيني جابدولين: لكن مع ذلك ، تم تطوير جانغو في البداية ، يبدو لي ، بالنسبة لهذه المشاريع المنظمة المعقدة ، المرتبطة بالبيانات ، بالعلاقة بين البيانات ، وهذا ما يتم قراءته مباشرة في الحمض النووي لنموذجنا ، في بناء المنطق.
تفاصيل التنمية في البنك
غريغوري بيتروف: الباقي سنتعلمه من التقرير. أغتنم هذه الفرصة ، أريد أيضًا أن أطرح سؤالًا غير متعلق ببيثون.
في مجتمعنا ، هناك ميل لإضفاء الطابع الرومانسي على مثل هذه المؤسسات عالية التنظيم ، على سبيل المثال ، الحكومة ، الدواء ، البنك: "البنك؟" المال هناك! ربما توجد مدافع رشاشة عند المدخل ، ونظام وصول من أربعة مستويات ، وعين سورون مثبت على السطح "، إلخ. بالنسبة لك ، كمطور عمل سابقًا في أحد البنوك ثم بدأ العمل في أحد البنوك ، هل هناك أي خصوصية للعمل في أحد البنوك؟
هنا ، بالمناسبة ، من حسن الحظ أنك لا تعمل على الأساس المالي المنظم ، ولكن على خدمات البنية التحتية ذات الصلة. لذلك ، خارج التطوير الأساسي ، هل يحتوي العمل في البنك على أي تفاصيل مضحكة ، أم أنها مجرد شركة عادية لتكنولوجيا المعلومات ، ولكن بدلاً من الإعجابات على الشبكة الاجتماعية ، هل نعمل بأموال؟
: , - , IT- .
: vc.ru, , , , . , -, - .., . . .
IT- ?
: . , , . .
Moscow Python Conf ++
: , Moscow Python Conf ++ , , . ? ? ?
: — . , : « , , PostgreSQL 10 ».
— - -, , . , , .
: ? , - , - , ?
: , . , , .
: , Django — !
: Django.
: , , Django — . .
: , .
: , 24 , Python Core Developer, , - . , .
: Moscow Python Conf++.
: Python- 5 . . , , . تعال جنبا إلى جنب!