人员、任务、进度、工时、周期、依赖关系 一目了然。无论项目大小、简单复杂都能轻松管理
1.背景
页面停留时间(Time on Page)简称 Tp,是网站分析中很常见的一个指标,用于反映用户在某些页面上停留时间的长短,传统的Tp统计方法会存在一定的统计盲区,比如无法监控单页应用,没有考虑用户切换Tab、最小化窗口等操作场景。 基于上述背景,重新调研和实现了精确统计页面停留时长的方案,需要 兼容单页应用和多页应用,并且不耦合或入侵业务代码。
2.分析
我们可以把一个页面生命周期抽象为三个动作: 「进入」、「活跃状态切换」、「离开」
如下图,计算页面停留
本文主要讲解了自己在工作中,对图库里面的英文标签翻译成中文标签,所遇到的一些问题和解决方案。
一. 问题的背景及来源
业务背景
东方IC(现在是头条的子公司)是一家图片版权售卖网站,致力于保护与传播第三方或者个人优质的图片资源,快速展示并推荐给需求方,促进图片资源在网络上快速生产、传播与使用。东方IC版权资源有几千万的高品质的编辑类和创意类图片,现在不限于服务于像头条号、商业化、问答这些大的业务线,也欢迎其他的业务接入东方IC的资源库,获取海量高品质的图片,扩展业务的维
一、摘要
目前互联网知识问答社区正在蓬勃发展,例如国外的quora,国内的悟空问答、知乎。一般来说,在这些知识问答社区,答案排序算法会预测用户对于不同答案的偏好进行排序,其排序模型往往会考虑答案在一段时间内的点击率、点赞率、分享率、用户平均阅读时间等进行排序。大部分情况下,这样的排序算法是比较有效的,也能筛选出符合用户需求的答案。 但有时候这样的算法也会被一些内容迷惑,比如有一些答案放了一些比较博眼球的内涵图片,吸引了大量用户的点击和点赞,但是并没有提供更多有价值的信息,这
概述
今日头条目前大部分 Python 的 HTTP 服务都是用 uWSGI 托管 Python 多进程的 Django 或者 Flask 框架的 App。而多进程模型就会有进程间通信的问题,对此 uWSGI 提供了 spooler 功能用于让不同 worker 进程把数据通过共享内存传给单独进程以集中进行处理的功能。但是 uWSGI 的 Python C 扩展实现有 bug,对 Python tuple 对象的引用计数处理是错误的,会在多线程环境下有小概率导致进程崩溃,从
前言
自2016年8月至2017年10月,今日头条iOS端已经进行了3轮安装包大小优化。
2016.08-2016.10第一期优化78MB -> 42MB
(1)删除Swift代码,从混编改为纯OC编程
(2)无用资源文件清理
(3)工具类、工具方法合并
(4)编译选项优化
2017.05-2017.07 第二期优化 优化3MB
(1)无用资源文件清理
(2)无用类清理,无用第三方库清理
(3)C++ pb库改为light版本
(4)Today Extension改
前段时间要在项目中加上日志的上报,顺势了解了下怎么在node中完善错误信息的收集。
01 Error
JS 中的 Error 对象,包含了错误的具体信息,包括 name、message、错误堆栈 stack 等。可以以 new Error 方式创建实例抛出,或调用 Error.captureStackTrace 为已有对象添加 stack 错误堆栈信息 而后抛出。
02 错误抛出几种方式
Throw:Javascript 抛出的异常,是以 throw 方法抛出,
问题描述
测试cephfs内核客户端的吞吐性能,direct写时单个客户端性能有上限,只能接近150 mb/s:
查看网卡流量,并没有打满:
查看集群负载也很低,osd磁盘很空闲,验证多台机器同时并发测试,总吞吐可以上去,怀疑单个客户端的上限有瓶颈。
源码分析
集群没有打满,网络也不是瓶颈,那么只能从内核客户端cephfs的写IO入手,寻找问题的根源。 cephfs内核客户端写IO的代码在文件fs/ceph/file.c:
从代码实现看,主要流程是ne
IC图片目前的管理系统(搜索质量评估、电销、云平台、性能监控、账号体系、图片爬虫)都是基于node前后端全栈开发,数据存储也用到mongodb、mysql、redis,本文简单描述一下HTTP协议、cookie、session、以及node项目中如何引入redis做session持久化。
HTTP协议和TCP/IP协议组中其它协议相同,用于客户端和服务器端之间的通信,HTTP是一种无状态协议,及协议本身不保存客户端和服务端的通信状态,也就是说在HTTP这个级别,协议不会对请
1.前言
目前,HTTP协议是互联网上应用最为广泛的一种网络协议,也是前端er接触最多的一种协议。通过阅读http模块在nodejs中的实现,能够更深入的了解HTTP协议。HTTP协议是基于TCP协议之上的应用层协议,它的实现离不开TCP/IP协议族。而具体到代码实现,http模块依赖于net模块。
如下图所示:在nodejs中,http通过net模块传输数据,得到数据之后依靠HTTP_PARSER对数据进行解析。
2.源码
启动一个HTTP服务
nodejs
最近在优化西瓜视频客户端冷启动速度时,发现在关闭插件 ClassLoader 注入的情况下,启动速度提升了300ms左右,但是西瓜在启动阶段并没有使用到插件,那么这么大的耗时是怎么来的呢?
猜原因
首先看下西瓜目前使用的插件 ClassLoader 是怎么注入的,大致代码如下:
代码大致意思是在 PathClassLoader 和 BootClassLoader 之间插入了一个 DelegateClassLoader,而在 DelegateClassLoader 的