"إذا كنت تريد إنشاء شيء رائع حقًا ، فأنت بحاجة إلى التعمق أكثر ومعرفة كيفية عمل الشفرة في النظام وعلى الجهاز"

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

الصورة

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

- ربما ، أولاً ، أريد أن أخبرك بما فعلت في DCA. انضممت إلى DCA (Data-Centric Alliance) بعد إكمال برنامج Big Data Specialist . في تلك اللحظة ، كنت مهتمًا بنشاط بموضوع البيانات الضخمة وأدركت أن هذا هو بالضبط المجال الذي أريد تطويره. بعد كل شيء ، حيث يوجد الكثير من البيانات ، هناك الكثير من المشاكل الهندسية المثيرة للاهتمام التي يجب حلها. ساعدني البرنامج في الانخراط بسرعة في النظام البيئي لعالم التمر الكبير ، حيث حصلت على المعرفة الأولية اللازمة حول Hadoop ، YARN ، Map-Reduce paradigm ، HBase ، Spark ، Flink ، وأكثر من ذلك بكثير ، وكيف يعمل تحت حمولة عالية.

دعيت لمقابلة من قبل الرجال من DCA. DCA هي مشارك رئيسي في سوق RTB ( Real Time Bidding هي تقنية إعلانية تسمح لك بتنظيم مزاد بين البائعين والمشترين للإعلان في الوقت الفعلي. هدف المزايدة في مزاد عبر الإنترنت هو الحق في عرض إعلان لمستخدم معين. يعتمد RTB على أقصى دقة لاختيار زائر مستهدف - تقريبا. ). كان لدى DCA تغطية عالية لمستخدمي Runet: حوالي 600 مليون ملف تعريف ارتباط ، ملف تعريف الارتباط لا يساوي المستخدم - يمكن لمستخدم واحد امتلاك العديد من ملفات تعريف الارتباط: متصفحات مختلفة ، أجهزة مختلفة. تلقينا عشرات تيرابايت من البيانات حول زيارات لصفحات الإنترنت يوميًا. تمت معالجة كل هذا وتم تمييز ملف تعريف الارتباط في مجموعة محددة من الأجزاء. وهكذا ، يمكننا تحديد ، على سبيل المثال ، محبي القطط من 20 إلى 25 عامًا الذين يعيشون في موسكو ، من أجل دعوتهم أيضًا لشراء الطعام لقطتهم المحبوبة بالقرب من المنزل. وهناك العديد من الأمثلة ، هناك أمثلة بسيطة للغاية ، وهناك أمثلة معقدة. تحت غطاء المحرك كان هناك الكثير من جافا وسكالا و C ++. جئت إلى الشركة كمطور ، وبعد ستة أشهر أصبحت قائد فريق.

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

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

- وما هي القرارات التي تم اختيارها في الغالب - "على الركبة" أو في أسبوعين؟

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

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

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

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

لماذا دايركتال. عندما كنت منسق برنامج مهندس البيانات ، جاء Artyom Marinov و Vasya Safronov من Directual للتحدث معنا. بالمناسبة ، أجرى أرتيوم مقابلة معي في DCA (مرة أخرى حول فوائد التشبيك) ، ودعاني الآن للتحدث. كانوا بحاجة إلى رجل روك ، لكنهم كانوا مستعدين للتفكير في javista الذي يفهم كيف يعمل jvm تحت غطاء المحرك. لذا انتهى بي الأمر هنا.

- ما هو الشيء المثير للاهتمام الذي عرضت عليك فعله في Directual؟ ما الذي جذبك؟

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

سأتحدث قليلا عن المشروع سواء من جانب المستخدم أو من الجانب الخلفي.

شعار Directual هو "دع الناس يبدعون!". هذه هي الفكرة الرئيسية بالضبط - لتمكين أي شخص ليس لديه معرفة وخبرة في كتابة التعليمات البرمجية للبرنامج في محررنا المرئي.

كيف يعمل: يمكن للمستخدم من خلال متصفح في نظامنا الأساسي "تدوير المكعبات" (قراءة - العقد الوظيفية للعملية) - أي جمع نص برمجي يعالج البيانات الواردة. يمكن أن تكون البيانات على الإطلاق. يمكن أن يكون لبيانات الإخراج التي تمت معالجتها فكرة مختلفة - من تقرير بتنسيق PDF إلى إرسال إشعار إلى العديد من المسؤولين. ببساطة ، يمكن برمجة أي عملية تجارية في دقائق ، دون أن تتمكن من كتابة التعليمات البرمجية. تعمل الشركة في اتجاهين - الحلول المعبأة لعملاء الشركات ، بالإضافة إلى خيار السحابة لمجموعة واسعة من المستخدمين.

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

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

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

- استمع ، ولكن هناك برمجيات لمزرعة خضراء ، على سبيل المثال ، لفترة طويلة. كيف حالك مختلفة؟

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

- وماذا تفعل بالضبط؟

- تنقسم الشركة إلى قسمين: تطوير جوهر نظامنا ومكتب المشروع ، وهو في الواقع عميلنا صفر ، إذا جاز لي أن أقول ذلك. أقوم بتطوير جوهر النظام.

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

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

تعتبر منصتنا مثالاً جيدًا لنظام موزع عالي التحميل ، ومهمتي هي كتابة كود جيد حتى يعمل كل شيء دون فشل. ونتيجة لذلك ، حصلت هنا على ما أردت: أعمل مع تلك الأدوات التي تهمني.

الصورة

- وكيف جئت إلى مجال العمل مع البيانات؟

- في مكان عملي الأول ، تعاملت بشكل أساسي مع نفس النوع من المهام في مقطع ضيق نوعًا ما (اقرأ - parsil xml :)) ، وسرعان ما أصابني بالملل. بدأت بالاستماع إلى البودكاست ، وأدركت حجم العالم المحيط به ، والعديد من التقنيات التي يتحدث عنها الجميع - Hadoop ، Big Data ، Kafka. ثم أدركت أنه كان علي أن أدرس ، وظهر برنامج " أخصائي البيانات الضخمة " في الوقت المناسب. كما اتضح ، لم أفشل: كانت الوحدة الأولى (معالجة وتحليل سجلات الويب: MapReduce ، Hadoop ، Machine Learning ، DMP systems - ملاحظة المؤلف) مفيدة جدًا بالنسبة لي ، أردت فقط تعلم ذلك ، ولكن الوحدة الثانية تدور حول أنظمة التوصيات فقط لم أكن أعرف أين أتقدم بطلب ، ولم أتطرق إليه أبدًا. ثم ذهبت إلى DCA للعمل مع ما يهمني بالفعل. هناك ، أخبرني زميل أنه بالإضافة إلى عالم البيانات ، هناك أيضًا مهندس بيانات في هذا المجال ، وأخبر من هو وكيف يمكن أن تكون الشركة مفيدة.

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

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

- لقد أحببت حقًا أداء Pavel Klemenkov في برنامج Big Data Specialist (كان يعمل في Rambler & Co في ذلك الوقت) ، وتحدث عن ML-Pipeline ومبرمجي الرياضيات المذكورين. لقد تحدث فقط عن المتخصصين العالميين الذين هم ، هناك القليل منهم ، وهم مكلفون للغاية. لذلك ، يحاول Rambler & Co تطويرها في المنزل ، للبحث عن رجال أقوياء. من الصعب حقًا العثور على هؤلاء المتخصصين.

أعتقد أنه إذا كان لديك بالفعل الكثير من البيانات وتحتاج إلى عمل شامل معهم (وليس مجرد توقع جنس الشخص وعمره أو زيادة احتمالية النقرة ، على سبيل المثال) ، فيجب أن يكون هذان شخصان مختلفان. تنطبق هنا قاعدة 20/80: عالم البيانات هو 80٪ علم بيانات ، 20٪ - يمكنه كتابة شيء ما ووضعه في المنتج ، ومهندس بيانات - 80٪ مهندس برامج و 20٪ يعرف ما هي النماذج ، وكيف تطبيق وكيفية العد ، دون الدخول في الرياضيات.

- أخبرنا عن أهم اكتشاف لك في علوم البيانات / هندسة البيانات؟ ربما أدى استخدام بعض الأدوات / الخوارزمية إلى تغيير أسلوبك في حل المشكلات بشكل جذري؟

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

- ما هو أكبر ملف عمل؟ ما الدرس الذي تعلمته من هذا؟

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

- ما هي أدوات هندسة البيانات التي تستخدمها كثيرًا ولماذا؟ ما هي أداتك المفضلة؟

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

- ما المؤتمرات التي تحضرها؟ ما هي أعمدة ملفات التعريف \ المدونات \ tg التي تقرأها؟

- كما قلت ، بدأ كل شيء مع البودكاست ، وبالتحديد مع استخلاص المعلومات - من رجال من عالم جافا.

هناك أيضًا https://radio-t.com - بودكاست رائع باللغة الروسية حول موضوعات عالية وتكنولوجيا المعلومات ، وهي واحدة من الأكثر شعبية (إذا لم أكن مخطئًا) في لغتنا.

أنا أتابع الأخبار من JUG.ru ، الرجال يعقدون مؤتمرات رائعة رائعة ، يرتبون الاجتماعات. أحاول أن أذهب إلى أولئك الموجودين في موسكو وفي سانت بطرسبرغ أيضًا. مؤتمر جافا الأعلى هو Jpoint في موسكو (الملقب بـ Joker in St. Petersburg) ، أذهب دائمًا إلى Jpoint أو أشاهد عبر الإنترنت.

ألقي نظرة على ما يفعله كونفلوانت - الرجال الذين يكسبون دعمًا مؤسسيًا للكافكا وهم المسؤولون الرئيسيون عن ذلك. كما يقومون بتطوير أدوات يدوية حول Apache Kafka في مصدر مفتوح. أحاول استخدام إصداراتهم.

تعد مدونة Netflix التكنولوجية على الوسيط موردًا رائعًا حول حلول واحدة من أكبر المنصات لتقديم محتوى الفيديو إلى المستخدم. حمولة عالية وأنظمة موزعة بأكثر "لا أريد")

قنوات Telegram: https://t.me/hadoopusers - مكان يمكنك من خلاله التواصل بلغتنا حول مواضيع هندسة البيانات ؛ https://t.me/jvmchat - أناس من عالم جافا ، يناقشون مشاكله ومشاكله والمزيد.

"ربما شيء آخر للروح؟"

- لقد نشأت على ألعاب الكمبيوتر ، وكنت ألعب بنشاط كبير ، والآن ليس لدي الكثير من الوقت لذلك. وعند نقطة ما فكرت: "بما أنني لا أستطيع ممارسة الألعاب ، فما الذي يمنعني من دراسة هذه المنطقة؟" وإذا حصلت فجأة على وقت فراغ ، فأنا أستخدم نوعًا من إطار العمل في جافا أو C # أو C ++ التي يمكنها كتابة الألعاب والقيام بشيء ما. نادرًا ما يصل كل هذا إلى المنتج النهائي ، لكنني أشعر بالسعادة. لذلك ، في قائمة ملفات البودكاست الخاصة بي ، هناك أيضًا موضوع يتحدث عن إنشاء الألعاب - " كيفية صنع الألعاب " - لا يتعلق البودكاست المحترف الجيد بكيفية "ترميز لعبتك الضخمة" ، أي حول عملية إنتاج اللعبة: كيف يعمل مهندس الصوت ، وما يفعله مصمم اللعبة ، وميزات عمل فناني 2D / 3D ، حول عملياتهم ، وأدواتهم ، وكيفية تطوير اللعبة ، وكيفية الترويج لها.في هذا الربيع كنت في مؤتمر لعبة للمرة الأولى ، كان الأمر رائعًا جدًا: ليس الأمر أنني شعرت بالراحة ، ولكن تبين لي أنه عالم مختلف تمامًا ، لقد أحببته. لقد أسعدني أن أعرف أنهم مهتمون بنشاط في عالم اللعبة في عالم اللعبة. في المحادثات حول هذه المواضيع ، شعرت بثقة كبيرة.

استطلاع Blitz:
- Java أو Python؟

- جافا بالطبع.

- علوم البيانات أو هندسة البيانات؟
- هندسة البيانات

- المقاول أو المدير؟
- يعتمد ذلك ، ولكن حتى الآن ، بالأحرى مؤدي.

- عائلة أم مهنة؟
- منذ فترة طويلة كانت هناك مهنة ، والآن الأسرة.

- طهي في المنزل أو الذهاب إلى مطعم؟
- أحب أكل الطعام اللذيذ. أعتقد أنني أطبخ جيدًا ، لكن هذا نادرًا ما يحدث. لذلك ، ربما اذهب إلى مطعم.

Source: https://habr.com/ru/post/ar424363/


All Articles