首页 > 编程知识 正文

社交媒体简史:从莎草纸到互联网(程序员喜欢聊什么话题)

时间:2023-05-05 23:42:01 阅读:84624 作者:3398

成人网站在推动网络发展中所起的作用无可辩驳。 从突破浏览器视频能力的限制,到利用网络插座推送广告(不被广告拦截者拦截),必须不断探索各种聪明的方法,使之处于网络技术创新的最前沿。

最近,我有幸采访了大型成人网站Pornhub的某网站开发工程师,了解到了相关的开发技术、网站API的改进,以及作为成人网站开发工程师是怎样的体验。

注意:因为成人网站这个行业竞争相当激烈,我有几个问题。 他们不能回答我。 这个我理解。

成人网站需要显示大量的图像内容。 开发过程中是否使用了大量的图像和视频占位符? 开发中的内容体验和最终产品差别大吗?

其实,开发这个网站的时候,我们没有使用占位符! 毕竟,代码和功能才是最重要的东西,关于接口等,到了这个时候我就很清楚了。 虽然一开始有点困难,但是很快就习惯了。

在开发过程中,您是如何模拟实时视频流和第三方广告脚本的? 那些都是很重要的资源。

播放器分为两个组件,基本组件实现了用于触发事件的核心功能。 开发是单独进行的,在进行集成时必须使用第三方脚本和广告。 这样可以尽早发现问题。 对于一些特殊情况,与广告主合作,手动引发随机事件。

一般页面至少有一个视频、几个GIF广告、几个实时预览和其他视频的缩略图。 你是怎么测量页面性能的? 并且,如何尽量提高页面的性能呢?

我们使用了一些评价系统。

播放器把视频播放的性能和用户的播放情况发给我们;

我们使用了第三方的RUM系统;

我们可以使用WebpageTest知道某个时间段发生了什么。

假设播放器是前端最重要和最复杂的功能。 您如何维持播放器的性能、功能和稳定性,包括在视频之前插入广告、标记视频的重要部分和改变播放速度?

有一支专门负责开发选手的队伍。 他们的首要任务是持续监控玩家的性能。 我们使用了所有可用的工具,包括浏览器性能工具、web页面测试和性能指标。 每次发布更新时,为了保证稳定性和质量,都要进行严格的QA。

视频团队有多少专职开发人员? 有多少前端开发人员?

从产品整体的规模来看,我们团队的规模只能说是中等。

在从事成人网站开发期间,你看到了前端领域取得了什么样的发展? 什么样的新网络API能给你带来很大的帮助?

我们看到前端技术在许多方面都取得了进步。

支持多种分辨率和屏幕大小,从使用纯CSS到使用LESS和Mixin,再到使用灵活的网格系统和图像标签。

jQuery和jQueryUI渐渐从我们的眼中消失,我们回到了更面向对象的纯JavaScript编程中。 一些框架在某些场景中起着非常有趣的作用;

我们非常喜欢新的IntersectionObserver API,用它加载图像非常有效率;

我们还使用画中画API,将视频呈现在页面上,但至今仍在获取用户对这个想法的反馈。

展望未来,你有想要改变、改善的Web API吗? 还是会出现新的网络API?

这些API希望能够进行Beacon、WebRTC、服务工作器、Fetch等的变更或改善。

Beacon:IOs有几个问题,对pageHide事件的支持不太好;

Fetch :没有下载进度,也没有提供拦截请求的方法

WebRTC :在实时情况下,分辨率不够会受到限制

呼叫serviceworker:navigator.service worker.register不会被service worker的Fetch事件处理器拦截。

WebVR在这几年有所改善。 目前,它的作用有多大? 成人网站将投入多少精力支持VR内容? Pornhub的WebVR中有触觉技术吗?

研究将WebXR应用于沉浸式空间场景的方法。 作为最大的内容分发平台,用户必须能够以自己的方式体验网站内容。 但是,我们正在探索在使用这些新媒体时,内容和平台应该变成什么样。

我们是支持VR、计算机视觉、虚拟播音员的主要平台,将继续推动新技术的发展。

虽然每个页面都有不同类型的媒体和内容,但是对于桌面版和移动版来说,最需要考虑的是什么?

我们主要考虑操作系统和浏览器功能方面的限制。 例如,iOS和安卓在访问权限和功能方面非常不同。

某些iOS设备无法在全屏模式下使用自定义播放器,因此必须强制使用本机快速播放程序。 安卓赋予了我们完全的控制权限,全屏时可以使用我们的播放器。

另一个例子是HLS视频流,IE和Edge对HLS视频流的质量非常挑剔,因此需要控制视频的质量。 否则,播放过程中会断断续续或出现重影。

目前,Pornhub支持的浏览器的最低版本是哪个? 你现在也支持IE吗?

我们长期支持IE

了,但最近不支持 IE 11 之前的版本。另外,我们也停止支持 Flash 播发器。我们现在主要支持 Chrome、Firefox 和 Safari。

可以分享一下 Pornhub 的技术栈吗?从服务器端到前端,你们使用了哪些库?

基本上,我们使用了这些东西:

Nginx;

PHP;

MySQL;

Memcached/Redis。

其他技术还包括 Varnish、ElasticSearch、NodeJS、Go 语言、Vertica。

前端方面,我们主要使用了纯 JavaScript。我们在逐步淘汰 jQuery,并开始使用框架,比如 Vue.js。

在外行看来,成人网站的网页上一般充斥着各种视频缩略图、视频、直播和广告。从开发者的角度来看,是什么东西让一个成人网站变得与众不同?

我们努力让每一个品牌都具备一定程度的独特性,不同的内容、界面体验和功能,还使用了很多不同的算法。

在面试 Pornhub 时,你是怎么想的?你有犹豫过吗?如果有,又是怎么消除这种情绪的?

我没有感到有什么不妥,毕竟这个挑战对我来说充满了吸引力。一想到有数百万人会用到我开发的东西,我就感到很兴奋。这个想法很快就得到了验证,当我开发的功能第一次上线时,我感到很自豪,我还叫我的朋友们也去看看!成人网站永远都不会消亡,它为我们提供了稳定的工作来源。

与开发一般的网站相比,开发成人网站可能会有所不同。nqddy告诉你的朋友、家人和熟人自己在开发成人网站,你会觉得这是一种耻辱吗?你会犹豫告诉他们这些吗?

我为自己开发的东西感到自豪,我身边的人都知道,也很喜欢它们。这也成了我们的茶余饭后的谈资,非常有意思。

你也在其他地方开发过其他网站,在 Pornhub 的工作氛围有什么不同吗?

这里的氛围非常轻松友好,我不觉得跟在其他地方有什么不同。

作为前端开发人员,你需要与哪些团队密切接触?你们平常常用哪些交流方式?

我们需要与后端开发人员、QA 和产品经理打交道。大部分时间我们会跑到各自的工位上讨论问题,其次是使用聊天工具(Microsoft Teams),然后是电子邮件。

最后,作为一名在成人网站工作的开发工程师,你还有什么想要分享的吗?

我非常高兴能够参与开发这个有如此大规模用户的产品。我们身处技术发展的最前沿,这让一切都变得有趣且颇具挑战性。

后记

这个采访很有启发性。我很惊讶他们在开发时居然没有使用图像。Pornhub 走在 Web 技术的最前沿——WebXR、WebRTC 和 Intersection Observer API。我也很高兴看到他们开始逐步淘汰 jQuery,因为现在的 Web API 很给力。

我很想从他那里挖到更过有关技术和性能的细节,我敢肯定他们的源代码里有很多值得一学的东西。换了是你,你会想问哪些问题?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。