مقابلة مع Pornhub Web Developer



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

في الآونة الأخيرة ، كنت محظوظًا بما فيه الكفاية لإجراء مقابلة مع مطور الويب لأكبر موقع للبالغين في العالم - Pornhub.

الغرض: التعرف على التقنيات والابتكارات في مجال العمل مع واجهات برمجة التطبيقات على الويب ، وبالطبع ، كيف يتم تنفيذ كل هذا في إطار Pornhub. استمتع بها!

ملاحظة: تعتبر صناعة الأفلام بيئة تنافسية للغاية ، لذا لم أتمكن من الحصول على إجابة لبعض الأسئلة. أحترم الحاجة للمطورين لحماية أسرارهم المهنية.

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

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

- عندما يتعلق الأمر بالتيارات أو الإعلانات التي يضعها العملاء الخارجيون ، كيف يمكنك استخدام هذه الموارد الديناميكية المهمة بالنسبة لك؟

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

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

- حسنا ، نحن نستخدم عدة طرق القياس في وقت واحد.

  • يخبرنا مشغلنا بمقاييس أداء تشغيل الفيديو وتيرة الاستخدام الكلية.
  • يتتبع نظام RUM لجهة خارجية الأداء العام للموقع.
  • نستخدم مثيلات WebpageTest الخاصة لاختبار البرامج النصية في مراكز بيانات AWS. يتم ذلك بشكل رئيسي لمعرفة ما يمكن أن يحدث في لحظة معينة. كما يسمح لنا بتقييم "تدفق" البيانات التي "تسقط" علينا من نقاط مختلفة ومن الموردين.

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

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

- وكم عدد الأشخاص في فريق الفيديو الخاص؟ كم عدد الواجهات الأمامية لديك؟

- أود أن أقول - بالطبع ، بالنظر إلى حجم منتجاتنا - أن الفريق صغير.

- أثناء عملك على Pornhub ، ما هي التغييرات التي أجريتها على الواجهة؟ ما واجهات برمجة التطبيقات على شبكة الإنترنت التي جعلت حياتك أسهل؟

- أثناء عملي ، وجدت بالتأكيد العديد من التحسينات على كل جانب من جوانب واجهة الموقع.

  • لقد انتقلنا من مجرد CSS إلى ، أخيرًا ، LESS و Mixins ، وانتقلنا إلى نظام شبكي مرن مع استعلامات الوسائط وعلامات الصور ، مما يجعل من السهل التكيف مع دقة الشاشة المختلفة.
  • أصبحت jQuery و jQueryUI عتيقة الطراز ، لذلك نحن نعود إلى برمجة أكثر فعالية موجهة للكائنات في الفانيليا JS. أحيانا بعض الأطر تساعدنا كثيرا.
  • نحن نستمتع بالعمل مع IntersectionObserver API الجديد ، وهو أداة مفيدة للغاية وفعالة لتحميل الصور.
  • بدأنا أيضًا في الانغماس شيئًا فشيئًا مع واجهة برمجة تطبيقات Picture-in-Picture. نستخدمها لوضع مقاطع الفيديو العائمة على بعض الصفحات. لكننا نفعل ذلك الآن ، بشكل أساسي من أجل جمع تعليقات من الجمهور بشأن هذا المشروع.

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

- نود تغيير بعض واجهات برمجة التطبيقات. هذه هي منارة ، WebRTC ، خدمة العمال وإحضار. مزيد من النقاط.

  • منارة: هناك بعض المشاكل عند العمل مع iOS عندما لا يتعامل مع أحداث إخفاء الصفحة بشكل صحيح.
  • الجلب: لا يتم عرض تقدم التنزيل ولا يمكنك مقاطعة الطلب.
  • WebRTC: طبقات Simulcast لها قيود عند مشاركة الشاشة ، إذا لم تصل الدقة إلى حجم معين.
  • عمال الخدمة: لا يتم اعتراض Calling navigator.serviceWorker.register بواسطة معالجات الأحداث Fetch.

- في السنوات القليلة الماضية ، WebVR ينمو بسرعة. ما مدى فائدة ذلك في حالته الحالية وما مقدار الجهد الذي تبذله المواقع الإباحية لدعم محتوى الواقع الافتراضي؟ هل يدعم قسم WebVR محتوى Haptic؟ (على ما يبدو ، يعني مصطلح "haptic" محتوى إباحي لا يستخدم نظارات VR فحسب ، بل وأيضًا الأجهزة الخاصة التي تتزامن مع تسلسل الفيديو وتعزز تأثير التواجد - تقريبًا لكل. )

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

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

- ما رأيك هو أهم شيء في التطوير لكل من أجهزة الكمبيوتر والأجهزة المحمولة ، عندما يتعين عليك التعامل مع العديد من عناصر الوسائط المتعددة والمحتوى في كل صفحة؟

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

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

الدفق التكيفي في HLS مثال آخر. تتطلب كل من IE و Edge بشدة جودة تدفق HLS. لذلك ، يتعين علينا استبعاد أعلى إعدادات جودة الصورة بالنسبة لهم ، وإلا فإن الفيديو سوف يتعثر وينتشر باستمرار باستخدام القطع الأثرية.

- ما هو الحد الأدنى لفترة دعم المتصفح لمواقع البالغين التي تعمل عليها؟ (على ما يبدو ، لا يتعلق الأمر فقط بـ Pornhub نفسه ، ولكن أيضًا عن المواقع الأخرى التي لها عناوين مختلفة ، ولكنها تنتمي إلى مورد - تقريبًا. لكل ) . هل توقفت بالفعل عن دعم Internet Explorer؟

- لقد دعمنا IE لفترة طويلة جدًا ، لكننا توقفنا مؤخرًا عن دعم كل شيء أقدم من IE11 ، وبالتحديد توقفنا عن دعم Flash لمشغل الفيديو. نحن نركز بشكل أساسي على دعم Chrome و Firefox و Safari.

- هل يمكن أن تخبرنا المزيد عن كومة موقع الاباحية النموذجي؟ على سبيل المثال ، للظهر و / أو الجبهة. ما المكتبات التي تستخدمها؟

- تستخدم معظم مواقعنا التقنيات التالية:

  • إنجن إكس.
  • PHP.
  • الخلية.
  • Memcached و / أو Redis.

إذا لزم الأمر ، يتم استخدام شيء آخر ، على سبيل المثال ، الورنيش و ElasticSearch و NodeJS و Go و Vertica.

للعمل مع واجهات ، نستخدم بشكل أساسي vanilla Javascript ، ونتخلص تدريجياً من مسج ونجرب الأطر ، على سبيل المثال ، الآن في Vue.js.

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

- نبذل قصارى جهدنا لمنح كل علامة تجارية ميزاتها الفريدة الخاصة بها على مستويات مختلفة ؛ مكتبة المحتوى ، UX ومجموعات الميزات ، الاختلافات في الخوارزميات.

- قبل أن تتقدم بطلب لمقابلة مع صاحب العمل الحالي ، ما رأيك في إمكانية العمل في صناعة الإباحية؟ هل كان لديك أي شكوك؟ إذا كان الأمر كذلك ، كيف تعاملت معهم؟

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

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

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

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

- كمطور أمامي ، مع أي فرق تتفاعل عن كثب؟ ما هي قنواتك الرئيسية للتفاعل اليومي داخل الفريق؟

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

- أخيرًا ، هل هناك أي شيء تود مشاركته كبائع متقدم يعمل في مواقع للبالغين؟

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

نهاية المقابلة



من المؤلف:
أجد هذه المقابلة مفيدة حقا. لقد فوجئت قليلاً بأن الفريق لا يستخدم العناصر النائبة أثناء تطوير الميزات والتصميم. من الجيد أن تظل Pornhub في صدارة الإنترنت من حيث العمل مع WebXR و WebRTC و Intersection Observer. لقد سررت أيضًا لأنهم اعتبروا أن المجموعة الحالية من واجهات برمجة التطبيقات على الويب كافية لبدء رفض كامل لمجرد jQuery.

أردت حقًا الحصول على إجابات أكثر تحديدًا على الأسئلة الفنية وأي نصائح. على سبيل المثال ، من حيث تحسين الأداء وبعض الرقائق. أنا متأكد من أنه في أنواع Pornhub هناك كمية كبيرة من المعلومات المفيدة! ما هي الأسئلة التي سوف تسأل؟

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


All Articles