1.现象 业务方反馈在向memcache集群写入数据时,出现不稳定。表现为向mc写入一个creative和ad对象的list,有的时候能写进去并读出来,有的时候写成功但是读不出来。 2.问题排查 2.1 复现问题 a.有…
分类:字节跳动技术博客
【性能优化】webpack前端构建性能优化策略小结
背景 回顾2016的前端技术的发展真的可以用百(gui)花(quan)争(zhen)鸣(luan)来形容,无论是技术栈的演进,技术框架的推新,还是各种模式,反模式的最佳实践都在不断地涌现,网上的一篇文章《在2016年学J…
【性能优化】今日头条iOS客户端启动速度优化
应用启动时间,直接影响用户对一款应用的判断和使用体验。头条主app本身就包含非常多并且复杂度高的业务模块(如新闻、视频等),也接入了很多第三方的插件,这势必会拖慢应用的启动时间,本着精益求精的态度和对用户体验的追求,我们…
【前端技术】头条PC站基于RIOT的组件化开发实践
一、背景 1、头条PC站业务前端重构 * 旧站架构强依赖后端模板,维护和扩展非常不灵活 * 资源文件存在依赖,无法做到最简压缩合并 * 代码组织混乱,虽有基本的模块化开发方式,但整体维护和扩展非常麻烦 2、为什么选择Ri…
线上问题深度追查:信号处理函数中的死锁
一、背景 svc是deamon-tools工具集中用户守护进程的服务,头条目前在线上使用它来保证服务的存活(目前正在切换到更可靠的systemd)。当进程挂掉时,svc能自动重启挂掉的进程,当被监控的进程有代码更新时,我…
iPhone安装包的优化
这是一次安装包大小优化的实践。 随着业务的增加,工程中引入越来越多的业务代码和第三方库, 整个安装包越来越大。以今日头条5.7.5为例 最近几个版本的ipa大小如下: 5.7 -> 72.2M …
H5播放器源码解读 (video.js)
写在前面 现在视频业务越来越流行了,播放器也比较多,作为前端工程师如何打造一个属于自己的播放器呢?最快最有效的方式是基于开源播放器深度定制,至于选择哪个开源播放器仁者见仁智者见智,可以参考开源播放器列表选择适合自己业务的…
域名劫持资源重加载方案
痛点: 在部分用户的网络环境中,页面CDN域名被劫持,导致前端资源无法正常加载,而页面主域名正常,导致页面可以访问,但是功能不正常。 背景: 通常来说,主域名一般都是众所周知的域名,运营商一般不会劫持(本文特指劫持后导致…
iPhone X 刘海儿打理指南
前言 北京时间今天凌晨1点,苹果再一次让全世界沸腾。iPhone X 带给我们的最大改变:全屏 Super Retina显示屏。它提供了更多的内容显示空间,同时也营造了更加深入的沉浸感。作为 iOS 开发者,在为强大的 …
从生成对抗网络到更自动化的人工智能
本文转自「中国计算机学会」(订阅号:ccfvoice),经平台同意授权转载。 恭喜今日头条AI Lab论文《从生成对抗网络到更自动化的人工智能》在《中国计算机学会通讯》2017年第9期专栏上发表! 特此转载,与热爱技术的…
基于NSURLCache的缓存实现
概览 缓存设计应该是每个客户端程序开发所必须考虑的问题,如果同一个功能需要多次访问,而每次访问都重新请求的话势必降低用户体验。但是如何处理客户端缓存貌似并没有统一的解决方案,多数开发者选择自行创建数据库直接将服务器端请求…
Android自定义ClassLoader耗时问题追查
最近在优化西瓜视频客户端冷启动速度时,发现在关闭插件 ClassLoader 注入的情况下,启动速度提升了300ms左右,但是西瓜在启动阶段并没有使用到插件,那么这么大的耗时是怎么来的呢? 猜原因 首先看下西瓜目前使用的…