خلف الكواليس. كيف يتم إنشاء الدورات؟

يأتي أحد المشاركين إلى دورة أو دورة مكثفة. ويرى صفوفًا منظمة من الدعم الفني، وكابلات طاقة موجهة بدقة، وتخطيطًا رقعة الشطرنج لقاعة المحاضرات، وصورًا مشرقة ومخططات شرائح. يقوم المتحدثون بالنكات والابتسامات بتقديم المعلومات بطريقة تتيح لك الوقت لفهمها. تم إعداد المدرجات، وتمرن على المهام بكل بساطة، إلا أنك في بعض الأحيان تحتاج إلى مساعدة الموظفين الفنيين. يدعم.

وأيضًا استراحات القهوة مع الأشخاص ذوي التفكير المماثل، وأجواء مرحة وحيوية، وتبادل الخبرات، والأسئلة الأكثر غير المتوقعة للمتحدثين. الإجابات والمعلومات التي لن تجدها في الأدلة، ولكن فقط في الممارسة العملية.

ما هو الوقت والجهد والأعصاب الذي تعتقد أن الأمر استغرقه لجعل الأمر يبدو هكذا تمامًا؟

خلف الكواليس. كيف يتم إنشاء الدورات؟

شكرًا لفولوديا جوريانوف، مدير Kubernetes المعتمد والمهندس/قائد الفريق في Southbridge، الذي شهد وشارك بنشاط في إنشاء العديد من دورات Slurm منذ البداية.

لقد رأى الجانب السفلي من الخلق بالطبع: التعقيدات والأفكار الشائكة والرؤى والحلول غير المتوقعة. ومكثفات Kubernetes المألوفة بالفعل، مثل Slurm Basic وSlurm Mega. ودورة جديدة منقحة إلى حد كبير Slurm DevOps: الأدوات والغش، الذي يقترب بلا هوادة وسيبدأ في 19 أغسطس.

خلف الكواليس. كيف يتم إنشاء الدورات؟

لكن ربما يكفينا ما يكفي من الكلمات، فلننتقل إلى القصة نفسها. كيف من اثنين من المواضيع المكثفة مكتفية ذاتيا تماما ومتعددة الأوجه دورة عامل الميناء. لذلك سأبدأ قصة كيفية إنشاء الدورات وتطويرها - تمامًا مثل "منذ زمن طويل في مجرة ​​بعيدة جدًا..."

ماذا وراء الكواليس؟

إذا سألت كيف نقوم بإعداد الدورات وأين يبدأ كل شيء، سأجيب ببساطة "كل شيء يبدأ بفكرة".

عادةً ما تأتي الفكرة من مكان ما - فنحن لا نجلس مكبلي الأيدي في الطابق السفلي حتى نتوصل إلى: "ما هو الموضوع الذي يجب أن نقيم فيه دورة تدريبية؟" الأفكار تأتي من مكان ما من تلقاء نفسها من مصادر خارجية. في بعض الأحيان يبدأ الناس في التساؤل بنشاط: "ماذا تعرف عن تقنية معينة كذا وكذا؟" أو كيف كان الأمر مع Docker أنه كان من المستحيل ملاءمته لتوقيت الدورة المكثفة - من الواضح أنه كان لا بد من اصطحابه إلى الخارج حتى يكون لديه الوقت ليقول شيئًا ما أثناء الدورة المكثفة.

خلف الكواليس. كيف يتم إنشاء الدورات؟

هكذا تظهر الفكرة.

بعد الإعلان عنه، في رأيي، تبدأ اللحظة الأكثر صعوبة - لفهم بشكل عام ما يجب تضمينه في هذه الدورة - وهذا مشابه جدًا لكيفية إعداد المتحدثين لأي مؤتمرات.

هناك ألم رئيسي واحد عندما يبدو أنك اخترت موضوعًا وتفكر: "ماذا يمكنني أن أقول عنه؟ هذا بسيط للغاية، وهذا واضح، والجميع يعرف ذلك أيضًا.

ولكن في الواقع هذا ليس هو الحال على الإطلاق. وأنا شخصيا أقول في العديد من الأماكن أن ما يبدو واضحا بالنسبة لك، لأولئك الذين يأتون للاستماع إليك أو أخذ دورة، ليس واضحا على الإطلاق. وهنا تنشأ طبقة كبيرة من العمل والصراع الداخلي حول ما يجب تضمينه في الدورة. ونتيجة لذلك، نحصل على قائمة من الفصول ذات الضربات الكبيرة الشاملة، حول موضوع الدورة.

وبعد ذلك يبدأ العمل الروتيني البسيط:

  • اختيار المواد
  • اقرأ الوثائق الخاصة بالإصدار الحالي بعناية، نظرًا لأن عالم تكنولوجيا المعلومات يتطور الآن بنوع من السرعة الكونية. حتى إذا كنت تعمل على شيء ما وأجريت دورة تدريبية حوله، فيجب عليك الذهاب إلى الوثائق ومعرفة ما هو جديد هناك، وما هو مثير للاهتمام للحديث عنه، وما قد يكون من المفيد ذكره بشكل خاص.
  • ويظهر هيكل عظمي معين للدورة، حيث تمت تغطية معظم المواضيع بشكل عام بالفعل ويبدو أن كل ما هو موجود - قم بتسجيل مقاطع الفيديو وتشغيلها في الإنتاج.
  • لكن في الحقيقة لا، إذًا يبدأ العمل الشاق، ولكن ليس لمؤلفي الدورة، بل لمن يختبرون. عادةً ما يكون مختبرو ألفا لدينا هم الدعم الفني، الذي يقوم أولاً بمراجعة الدورات التدريبية بحثًا عن أي أخطاء نحوية ونحوية. ثانيًا، يضربوننا بشدة بالعصي ويسبوننا عندما تكون هناك أماكن غير واضحة تمامًا وغير مفهومة. عندما تظهر في النصوص بعض الجمل الثانوية المعقدة التي تدوم بضع صفحات أو هراء واضح. لقد قرأوا كل شيء، وابحثوا عنه.
  • ثم تبدأ مرحلة اختبار التدريب العملي، حيث يتم أيضًا اكتشاف بعض الأشياء الواضحة التي لا تعمل وتظهر بعض اللحظات التي يمكن أن تكون أكثر صعوبة، حيث أنها تصبح غير مثيرة للاهتمام للغاية - مجرد الجلوس والنسخ - ويتم تحديد الأماكن التي يكون فيها الأمر صعبًا للغاية صعب ولدينا الكثير لنفعله ونريده من الأشخاص الذين سيأخذون هذه الدورة. ثم تأتي التوصيات: "يا شباب، اجعل الأمر أسهل هنا، سيكون من الأسهل إدراكه وسيكون هناك فائدة أكبر منه".
  • بعد الانتهاء من هذا القدر من العمل، تتم كتابة الجزء المتعلق بالفيديو، ويبدو أن كل شيء على ما يرام. ويمكنك بالفعل التبرع به للإنتاج والإعلان عن هذه الدورة. ولكن مرة أخرى، لا، لا يزال الوقت مبكرًا جدًا - لأننا توقفنا مؤخرًا عن الثقة في أنفسنا قليلاً، وبدأنا، من حيث المبدأ، في العمل بشكل أكبر مع التعليقات. يوجد شيء مثل الاختبار التجريبي - وهذا يحدث عندما تتم دعوة أشخاص من الغرباء، غير المرتبطين بشركتنا بأي شكل من الأشكال، وبالنسبة لبعض الأشياء الجيدة، يتم عرض جميع أجزاء الدورة التدريبية ومقاطع الفيديو والنصوص والمهام العملية، حتى يتمكنوا من ذلك تقييم جودة المواد، وإمكانية الوصول إليها وساعدنا في جعل الدورة جيدة قدر الإمكان.
  • وعندما تمر العديد من هذه التكرارات، يتم إجراء اختبار ألفا في شكل دعم فني واختبار بيتا وتحسينات. وبعد ذلك يبدأ كل شيء من جديد - الدعم الفني، واختبار النسخة التجريبية، والتحسينات.
  • وفي مرحلة معينة، يأتي الفهم إما أننا انتهينا من التعديلات، لأنه من غير الواقعي تمامًا التأكد من أن الجميع يحبها، أو يتم اتخاذ بعض القرارات الجذرية. عندما يكون هناك العديد من التعليقات المهمة على أماكن معينة، يمكنك إعادة إجرائها عالميًا، نظرًا لحدوث خطأ ما.
  • ثم يأتي الوقت لإجراء تعديلات طفيفة - في مكان ما لم يتم صياغة الجملة بشكل جيد للغاية، في مكان ما لا يحب شخص ما الخط، 14,5، ولكنه يرغب في 15,7.
  • عندما يبقى هذا النوع من التعليق، فهذا كل شيء، الدورة التدريبية أكثر أو أقل مفتوحة، تبدأ المبيعات الرسمية.

وللوهلة الأولى، يتبين أن المهمة القصيرة والبسيطة المتمثلة في إنشاء دورة تدريبية ليست بسيطة على الإطلاق وتستغرق وقتًا طويلاً بشكل لا يصدق.

وهناك نقطة أخرى مهمة وهي أن العمل بالدورة لا ينتهي عند إصدار الدورة. أولا، نقرأ بعناية التعليقات التي تركت على أجزاء معينة. وحتى على الرغم من كل الجهود التي بذلناها، لا يزال يتم تحديد بعض العيوب، ويجري تصحيح بعض الأخطاء وتحسينها على طول الطريق، في الوقت الفعلي، بحيث يتلقى كل مستخدم لاحق خدمة أفضل.

خلف الكواليس. كيف يتم إنشاء الدورات؟

كل دورة لها مالك المنتج الخاص بها، والذي، بالإضافة إلى تحديد المفهوم العام، يتحقق من المواعيد النهائية، ويدون ملاحظات على الهوامش أنه عندما يحين الوقت لإعادة كتابة الدورة بالكامل، سيأتي بالتأكيد، لأنه في غضون عامين، أو حتى بعد مرور عام، فإن بعض ما نقوله سيصبح غير ذي صلة لأنه ببساطة سيصبح باليا أخلاقيا. يقوم مالك المنتج بتدوين ملاحظات على الهوامش والتي غالبًا ما يسألها الناس عن النقاط غير الواضحة، وما هي المهام التي تبدو صعبة للغاية، والتي تبدو، على العكس من ذلك، بسيطة للغاية. ويتم أخذ كل هذا في الاعتبار عند إعادة تسجيل الدورة التدريبية، أثناء نوع من إعادة البناء، بحيث يصبح كل تكرار للدورة العالمية أفضل وأكثر ملاءمة وراحة.

هكذا تظهر الدورات.

كيف ولدت دورة Docker

هذا موضوع منفصل وحتى غير عادي بالنسبة لنا. لأنه من ناحية، لم نخطط للقيام بذلك، لأن العديد من المدارس عبر الإنترنت تقدم ذلك. من ناحية أخرى، طلب هو نفسه الحرية ووجد مكانا منطقيا في مفهومنا لتدريب متخصصي تكنولوجيا المعلومات في Kubernetes.

التحدث عالميًا للغاية، في البداية بدأ كل شيء بدورة تدريبية حول Kubernetes، عندما بدأ للتو، في رأيي، بعد أول Slurm. لقد جمعنا التعليقات ورأينا أن العديد من الأشخاص يرغبون في قراءة شيء إضافي حول Docker في مكان آخر، وبشكل عام يأتي الكثيرون إلى الدورة التدريبية الأساسية حول Kubernetes دون معرفة ما هي عامل في حوض السفن.

لذلك، بالنسبة لـ Slurm الثاني، قاموا بعمل دورة تدريبية - أو بالأحرى، ليست حتى دورة تدريبية، ولكنهم قاموا بعمل فصلين عن عمال الرصيف. حيث قالوا بعض الأشياء الأساسية، حتى لا يشعر الأشخاص الذين يأتون إلى المركز المكثف بالحرمان ويفهمون بشكل عام ما كان يحدث.

خلف الكواليس. كيف يتم إنشاء الدورات؟

وبعد ذلك تطورت الأحداث على هذا النحو تقريبًا. زادت كمية المادة وتوقفت عن التركيب خلال 3 أيام. وظهرت فكرة منطقية وواضحة: لماذا لا نحول ما نغطيه في Slurm Basic إلى نوع من الدورات التدريبية الصغيرة التي يمكنك إرسال الأشخاص الذين يرغبون في مشاهدة شيء ما حول Docker إليها قبل حضور دورة مكثفة حول Kubernetes.

Slurm Junior هو في الواقع مزيج من العديد من هذه الدورات الأساسية. ونتيجة لذلك، أصبحت دورة Docker جزءًا من Slurm Junior. أي أن هذه خطوة صفرية من قبل أساسي и ميجا. وبعد ذلك لم يكن هناك سوى تجريدات أساسية للغاية.

خلف الكواليس. كيف يتم إنشاء الدورات؟

في مرحلة ما، بدأ الناس يتساءلون: “يا شباب، كل هذا رائع، وهذا يكفي لفهم ما تتحدثون عنه في الدورات المكثفة. أين يمكنني أن أقرأ بمزيد من التفاصيل حول ما يمكن أن يفعله عامل الإرساء وكيفية العمل معه وما هو؟" لذلك جاءت فكرة جعل الأمر مستقيمًا دورة كاملة على دوكر، بحيث لا يزال من الممكن إرسال الأشخاص الذين يأتون إلى Slurm باستخدام Kubernetes إليه، ومن ناحية أخرى، لأولئك الذين ليسوا مهتمين حتى بـ Kubernetes في هذه المرحلة من التطوير. حتى يتمكن أحد متخصصي تكنولوجيا المعلومات من الحضور لمشاهدة الدورة التدريبية الخاصة بنا على Docker وبدء مساره التطوري ببساطة باستخدام Docker الخالص. بحيث يكون لدينا مثل هذه الدورة التدريبية الكاملة - وبعد ذلك، بعد أن شاهد الكثيرون هذه الدورة التدريبية، بعد أن عملوا لبعض الوقت مع Docker النقي، نما إلى المستوى الذي يحتاجون فيه إلى Kubernetes أو بعض أنظمة التنسيق الأخرى. وجاءوا إلينا على وجه الخصوص.

يُطرح السؤال أحيانًا: "أي نوع من الأشخاص قد لا يحتاج الآن إلى Kubernetes؟" لكن هذا السؤال ليس عن الأشخاص، بل هو سؤال عن الشركات. هنا عليك أن تفهم أن Kubernetes لديه حالات معينة يكون فيها مناسبًا تمامًا ومهام يحلها بشكل جيد، ولكن على العكس من ذلك، هناك بعض السيناريوهات لاستخدام Kubernetes عندما يسبب ألمًا إضافيًا ومعاناة إضافية. ولذلك، فإن الأمر لا يعتمد حتى على الأشخاص، بل على ما تقوم الشركات بتطويره وإلى متى.

على سبيل المثال، بعض متراصة Legacy الرهيبة - ربما لا ينبغي عليك دفعها إلى Kubernetes، لأنها ستسبب مشاكل أكثر من الفوائد. أو، على سبيل المثال، إذا كان هذا مشروعا صغيرا، فهو يحتوي على حمولة صغيرة أو، من حيث المبدأ، ليس الكثير من المال والموارد. ليس هناك فائدة من سحبه إلى Kubernetes.

وبشكل عام، ربما، بشكل عام، كما قال الكثير من الناس بالفعل، إذا كنت تطرح السؤال: "هل أحتاج إلى Kubernetes؟"، فمن المرجح أنك لا تحتاج إليه. لا أتذكر من ابتكرها لأول مرة، في رأيي، باشا سيليفانوف. وأنا أتفق مع هذا 100٪. وتحتاج إلى النمو حتى تصل إلى Kubernetes - وعندما يصبح من الواضح بالفعل أنني بحاجة إلى Kubernetes وأن شركتنا بحاجة إليه، وسوف يساعد في حل هذه المشكلات أو تلك، فمن المحتمل أن يكون من المنطقي أن نتعلم ونكتشف بالضبط كيفية الإعداد قم بمعالجته جيدًا، بحيث لا تكون عملية التحول إلى Kubernetes مؤلمة للغاية.

يمكن اكتشاف بعض أمراض الأطفال وبعض الأشياء البسيطة، وحتى غير البسيطة جدًا، منا بشكل خاص، وعدم الخضوع لأشعل النار والألم.

لقد اتبعت العديد من الشركات تمامًا الطريقة التي كانت بها في البداية مجرد نوع من البنية التحتية دون استخدام الحاويات. ثم وصلوا إلى النقطة التي أصبح من الصعب فيها إدارة كل شيء، تحولوا إلى Docker وفي مرحلة ما تطوروا إلى درجة أنها أصبحت ضيقة في إطار Docker وما تقدمه. وبدأوا في النظر إلى ما هو موجود حول الأنظمة التي تحل هذه المشكلات، وعلى وجه الخصوص Kubernetes - هذا أحد تلك الأنظمة التي تسمح لك بحل المشكلات عندما يصبح Docker النقي مزدحمًا ويفتقر إلى الوظائف، وهذه حالة جيدة حقًا عندما يكون الناس إنهم يتقدمون خطوة بخطوة من الأسفل إلى الأعلى، ويدركون أن هذه التكنولوجيا ليست كافية وينتقلون إلى المستوى التالي. لقد استخدموا شيئًا ما، وأصبح نادرًا مرة أخرى، ثم واصلوا حياتهم.

هذا اختيار واعٍ - وهو رائع جدًا.

بشكل عام، أرى أن نظامنا مبني بشكل جميل للغاية، على سبيل المثال، دورة عامل ميناء، حتى من خلال دورات الفيديو. ثم بعد عامل الإرساء يذهب كوبيرنتس الأساسيةإذن ميجا كوبرنيتيسإذن سيف. كل شيء يصطف بشكل منطقي - يمر الشخص وتظهر مهنة قوية.

من حيث المبدأ، تتيح لك مجموعة الدورات تغطية الكثير من الحالات، حتى الحديثة. لا تزال هناك مناطق تظل منطقة رمادية، وآمل أن نقوم قريبًا بإنشاء بعض الدورات التدريبية التي ستسمح لنا بإغلاق هذه المناطق الرمادية، وسنتوصل على وجه الخصوص إلى شيء يتعلق بالأمن. لأن هذا أصبح ذا أهمية كبيرة.

باختصار، لدينا بعض المناطق الرمادية التي سيكون من الجيد جدًا إغلاقها، بحيث تكون صورة كاملة وكاملة - ويمكن للناس أن يأتوا، ومثلما يشبه Kubernetes نفسه مُنشئ Lego، يمكنك إنشاء أشياء مختلفة من يتم جمعها، إذا لم يكن هناك ما يكفي - تكملة، نفس الشيء مع دوراتنا، حتى يتمكن الناس من فهم ما يحتاجون إليه من هذا؛ إنهم بحاجة إلى تجميع نوع من اللغز، وهو نوع من البناء الذي تم تعيينه من دوراتنا.

خلف الكواليس. كيف يتم إنشاء الدورات؟

إذا سألت نفسك سؤالًا صحيحًا وصادقًا بشكل عام: "من يمكنه استخدام دورة Docker النشطة الآن؟"، إذن:

  • للطلاب الذين بدأوا للتو في الدخول فيه.
  • موظفي قسم الاختبار.
  • في الواقع، هناك العديد من الشركات التي لا تزال لا تستخدم Docker فحسب، بل لم يسمع أحد عن هذه التكنولوجيا، ومن حيث المبدأ، لا يعرف كيفية استخدامها. وأنا أعرف العديد من الشركات الكبيرة في سانت بطرسبرغ، والتي تطورت لسنوات عديدة، واستخدمت بعض التقنيات القديمة، وهي تتحرك في هذا الاتجاه. على وجه الخصوص، بالنسبة لمثل هذه الشركات، للمهندسين في مثل هذه الشركات، يمكن أن تكون هذه الدورة مثيرة للاهتمام للغاية، لأنها، أولاً، ستسمح لك بالانغماس بسرعة في هذه التكنولوجيا، وثانيًا، بمجرد ظهور العديد من المهندسين الذين يفهمون كيف يحدث كل ذلك يمكنهم جلبها إلى الشركة وتطوير هذه الثقافة وهذه الاتجاهات داخل الشركة.
  • في رأيي، قد تظل هذه الدورة مفيدة لأولئك الذين عملوا بالفعل مع عامل الإرساء، ولكن القليل جدًا وأكثر بأسلوب "افعل مرة واحدة، افعل مرتين" - والآن سوف يتفاعلون بطريقة ما مع نفس Kubernetes، وهذا يفرض عليهم التزامات معينة، إذا كانت لديك معرفة سطحية جدًا بماهية عامل الإرساء وكيفية تشغيله، لكن في نفس الوقت لا تعرف كيف يعمل من الداخل، ولا تعرف ما هو الأفضل للقيام به هذا وما هو الأفضل عدم القيام به، فهذه الدورة مناسبة تمامًا لتنظيم المعرفة وتعميقها.

ولكن إذا كانت لديك معرفة على مستوى: "لا أعرف كيفية كتابة نفس ملفات Docker بشكل صحيح، يمكنني أن أتخيل ما هي مساحات الأسماء، وكيف تعمل الحاويات، وكيف يتم تنفيذها فعليًا على مستوى نظام التشغيل" - إذن هناك بالتأكيد لا فائدة من الذهاب إلينا، فلن تتعلم أي شيء جديد وستكون حزينًا بعض الشيء على المال والوقت الذي تقضيه.

إذا قمنا بصياغة المزايا التي تتمتع بها الدورة التدريبية لدينا، فعندئذ:

  • لقد حاولنا أن نجعل هذه الدورة تحتوي على عدد كافٍ من الحالات العملية التي ستسمح لك ليس فقط بفهم الجزء النظري الموجود، ولكن أيضًا بفهم سبب حاجتك إليه وكيف ستستخدمه في المستقبل؛
  • هناك العديد من الأقسام التي نادرًا ما توجد في أي مكان - وبشكل عام لا يوجد بها الكثير من المواد. إنها تتعلق بتفاعل Docker مع نظام التشغيل، حتى بشكل مختلف قليلاً. ما هي الآليات التي أخذها Docker من نظام التشغيل لتنفيذ نظام الحاويات - وهذا يعطي فهمًا أعمق لمسألة تشغيل الحاويات برمتها داخل نظام التشغيل Linux. كيف تعمل وكيف تتفاعل مع بعضها البعض داخل نظام التشغيل وخارجه وما إلى ذلك.

هذه نظرة عميقة حقا، والتي نادرا ما تحدث، وفي الوقت نفسه، في رأيي، من المهم للغاية. إذا كنت تريد فهم أي تقنية جيدًا وفهم ما يمكن توقعه منها، فأنت بحاجة على الأقل إلى الحصول على فكرة عامة عن كيفية عملها على مستوى منخفض.

توضح الدورة التدريبية الخاصة بنا وتخبرنا كيف يعمل هذا من وجهة نظر نظام التشغيل. فمن ناحية، تستخدم جميع أنظمة النقل بالحاويات نفس آليات نظام التشغيل. ومن ناحية أخرى، فإنهم يأخذون ما هو موجود في نظام التشغيل Linux، مثل عامل الإرساء. لم تأت أنظمة الحاويات الأخرى بأي شيء جديد - لقد أخذوا ما كان موجودًا بالفعل في Linux وكتبوا مجرد غلاف مناسب يسمح لك بالاتصال به بسرعة أو تشغيله أو التفاعل معه بطريقة ما. نفس Docker ليس طبقة كبيرة جدًا بين نظام التشغيل وسطر الأوامر، بل هو نوع من الأدوات المساعدة التي تسمح لك بعدم كتابة كيلوطن من الأوامر أو أي نوع من كود C لإنشاء حاوية، ولكن يمكنك القيام بذلك عن طريق الإدخال بضعة خطوط في المحطة.

وشيء آخر، إذا كنا نتحدث على وجه التحديد عن Docker، فإن ما جلبته Docker حقًا إلى عالم تكنولوجيا المعلومات هو المعايير. كيف يجب تشغيل التطبيق، وكيف يجب أن يعمل، وما هي متطلبات السجلات، وما هي متطلبات القياس، وتكوين التطبيق نفسه.

من نواحٍ عديدة، يتعلق عامل الإرساء بالمعايير.

تنتقل المعايير أيضًا إلى Kubernetes - وهناك نفس المعايير تمامًا؛ إذا كنت تعرف كيفية تشغيل تطبيقك بشكل جيد في Docker، فعندئذ سيعمل 99٪ من الوقت بشكل جيد داخل Kubernetes.

إذا وجدت نفسك مهتمًا ليس فقط بكيفية إنشاء دورة Docker، ولكن أيضًا بالدورات التدريبية الأخرى، ولكن أيضًا مهتمًا بالدورة نفسها من وجهة نظر عملية، إذن لا يزال هناك وقت لشرائه بخصم الطلب المسبق بقيمة 5000 روبل حتى 30 يوليو.

سنكون سعداء لرؤيتك!

المصدر: www.habr.com

إضافة تعليق