查看详情

VeeR VR 长期招聘贴

About VeeR/关于我们 我们是全球增长最快的 VR 内容分享社区。2016年6月,获得顶级VC天使投资。10月,VeeR VR 正式上线,并于圣诞之际用户突破百万大关,跃居美国总榜前25,娱乐/视频榜前5。2017年初,VeeR创作者和原创内容数量覆盖160个国家地区,跃居全球同类第一,并完成A轮融资。VeeR VR是国内唯一获得Google Daydream, HTC Vive, Oculus Rift, App Store 首页推荐的 VR 类 App。 我们是一个由极客和艺术家组成的全球化创业团队,创始团队成员来自上海交大、北京大学、清华大学、Stanford University、UC Berkeley、CMU,Twitter、Facebook、Coursera和国内一线互联网公司, 我们期待你的到来,和我们一起在VR软硬件天时地利的中国共同创造第一家VR领域的独角兽公司! Position/在招职位 数据工程师 后端工程师 Unity工程师 Android实习生 招聘详情 Contact/联系方式 详情 »

查看详情

【译】Netflix 网页性能优化案例

原文地址: https://medium.com/dev-channel/a-netflix-web-performance-case-study-c0bcde26a9d9 由于自己最近一年半的事件都在做视频页面相关的,而且这次 Netflix 的技术栈也与我们相似,因此翻译这篇文章,希望大家一起学习。页面很多细节值得深入,但是整个分析下来其实给我们自己在做页面优化提供基本的思路。 Netflix 目前是全球非常非常出色的流媒体服务网站。自从 2016 年发布之后,Netflix 发现用户不仅会在移动端设注册,也会在 Web 上完成注册相关。 通过优化登出页面使用的 JavaScript 代码,以及 prefetching, 开发者给用户提供了更好的体验,以及多个方向的改善: 加载以及可交互时间 (Time-to-Interactive) 缩短了 50%; JS Bundle 的体积减小了 200 KB ,他们选择在客户端更为纯粹的 JS 库,但是服务端依旧选择 React 来渲染; 通过 Prefetching 一些 CSS 和 JS ,缩短了 30% 的可交互时间在跳转的其他页面的时候。 通过削减 详情 »

查看详情

Web 播放 H.265视频

本文主要从H.265 编码格式出发,介绍 H265 使用情况,以及对比 H.264的优势,随后分析如何在前端完成 H265 视频格式的播放。 H.265, HEVC 是当前非常火的视频压缩方式,相对于大家熟知的 H.264 ,平均可以带来接近于 50% 的宽度节省。这对于我们做视频的开发者而言,无疑我们可以在同等流量下拿到更多的 Buffer,无论是直播还是视频播放都是非常有收益的事情。 HEVC (H.265) Vs. AVC (H.264) H.265/HEVC的编码架构大致上和H.264/AVC的架构相似, 主要也包含,帧内预测(intra prediction)、帧间预测(inter prediction)、转换(transform)、量化(quantization)、去区块滤波器(deblocking filter)、熵编码(entropy coding)等模块。 详情 »

查看详情

Git 实用小命令收集

平时大家都习惯使用 Git 但是有的时候我们相对而言需要使用比较复杂一点的命令,如果大家记不住,可以收藏下,毕竟也不是算使用频率很高的命令。 修改 commit 我们经常会在提交的时候拼写错误或者填入一些错误的信息,我们可以使用: git commit --amend 如果你想修改已经提交的过的 commit 信息的话,你需要修改后: git commit --amend // ... edit you message git push --force example-branch 合并 commit 有的时候我们会经常性的提交,但是等到项目开发差不多得时候在发现 commit 信息很杂乱。你可以使用下面信息将所有的 message 合并 在一起: git reset --soft "HEAD~n" # (~n means ~1, ~2,...) git commit --amend 快速解决冲突 我们在 merge 的时候,有的时候我们如果可以很明确使用意向的话, 详情 »

查看详情

React-360 二次开发的一些心得

react-360 二次开发的一些心得 前面花了一些时间介绍 《React-360 源码阅读 - 一张图带你理解 React-360 结构》,有兴趣可以阅读下。但是 React-360 相对我们而言,目前也还不是足够稳定,以及有的需求点他们也并未实现,因此很有可能我们需要进行二次开发; 因此我们首先需要去他们 Github 上 fork 一份, https://facebook.github.io/react-360/ 我们 clone 到本地的时候,可以通过相对目录来实现我们项目对二次开发的 React-360 的引入了。 然后我们在本地项目里通过软连接来实现 node_module 的文件替换: cd node_modules && rm -rf react-360-web # 建立 react-360-web, 目录根据实际情况传入 ln -s ../../react-360/React360 react-360-web 初次之外,我们需要在 rn-cli.config. 详情 »

查看详情

H5 互动营销

提到 H5 ,可能大家最开始是从朋友圈的一些网页看到,随着 唤端和分享 SDK 的成熟,现在大促或者其他 Event 都有着非常成熟的结构思路,本文主要分享 H5 在我们平常的活动中扮演的角色以及如何进行联动。 本周周五分享了过去一年关于《H5 互动营销》的一些总结。下文是一个比较缩略的内容纪要; 不知道大家对下面,视频通话,红包雨以及集卡等活动有印象,其实在这背后,都借助了 H5 的力量,提升了观众的关注度,给活动带来了非常可贵的流量。 整个活动中,我们其实需要关注三个点, 链路分析 我们需要在坑位埋入我们的 H5 页面,然后用户触发分享到社交媒体,随后产生自我裂变或者唤端回流到我们的 APP 活动页; 常见的坑位有下面几种: PopLayer, 比如常见的红包挂角,弹出浮层等; 二楼,用户下滑列表后产生的空白位,常见的比如淘宝二楼: Tab 位,固定在某个 Tab 下的 Webview 页面 运营配置的 bannar 位也比较常见; 详尽的来看我们的活动链路就是: 其中常见用户激励方式有: 详情 »

查看详情

Nginx 升级 HTTP / 2 指引

引言 HTTP/2 目前已经逐渐推广开来,很多站点都开始迁移至 HTTP/2 ,比如 https://v.qq.com/ 或者 https://www.google.com.hk/ 都启用了 HTTP/2; 我们可以先看下浏览器的支持情况: HTTP/2 相对 HTTP1 带来了诸多特性; 多路复用 (Multiplexing) 头部压缩 服务端推送 HTTP/2 采用二进制格式而非文本格式 这些好处无疑对提升 Web 性能有很大的帮助,不过还是建议详细阅读 HTTP/2:新的机遇与挑战 了解这背后究竟发生了什么;本文不详细讨论 HTTP/2 的具体特性和实现,更多提供升级实践。 升级 Nginx 机器环境,亚马逊的 EC2 和 ubuntu 系统; 确保你的 详情 »

查看详情

React-360 源码阅读【6】- Video 分析

前面我先看了 React-360 源码阅读【5】- 核心 Compositor 里的内容,其中里面涉及了 video 作为背景的内容,今天分析一下 video 目录里面的内容;实际上我们如果要设置全景视频,可以直接通过调用; // Creating a Video Player const player = r360.compositor.createVideoPlayer('myplayer'); // Set the video to be played, and its format player.setSource('path/to/video.mp4', '2D'); 当然,这里我们主要分析 video 目录下的文件都做了什么事情。 getSupportedFormats.js const FORMATS = { ogg: 'video/ogg; codecs="theora, 详情 »

查看详情

React-360 源码阅读【5】

今天我们看下 compositor。顾名思义,compositor 应该是你第一个接触到的 访问属性,我们不妨回顾下官方代码 Client 里面的内容: function init(bundle, parent, options = {}) { const r360 = new ReactInstance(bundle, parent, { // Add custom options here fullScreen: true, ...options, }); // Render your app content to the default cylinder surface r360.renderToSurface( r360.createRoot('hello_360', { /* initial props */ }), r360.getDefaultSurface() ); // Load the initial environment r360.compositor.setBackground(r360.getAssetURL('360_ 详情 »

查看详情

React-360 源码阅读【4】- 初试 React-360-Web

react-360-web 顾名思义,就是在 web 端 运行的 react-360 的 SDK. 就像文档里面描述的; react-360-web 是 React 360 的环境运行时,它可以完成应用在 Web 端的渲染;它通过 Canvas 以及 WebVR API 来实现在 头显设备和浏览器的运行。 接下来直接看 React360.js // 用于定位 react vr 打包后的 bundle 地址 import bundleFromLocation from './js/bundleFromLocation'; import createRootView from './js/createRootView'; // 用于坐标的变换 import Location from './js/Compositor/Location'; // 一些常用的数学类库封装 import 详情 »