打造工程师文化可以做的十件事
我作为面试官最喜欢问工程师的问题是要告诉我在他们以前的公司,他们喜欢和不喜欢的关于工程师文化的事。我采访了很多人 - 其中许多来自顶尖高科技公司,如 Facebook,谷歌,亚马逊,Pinterest- 随着时间的推移,这种面试问题也告诉我优秀工程师喜欢和尽量避免地方。根据采访答复和我个人经验,我总结了为建立一个良好的工程文化一个团队可以做的十件事情。1....
View ArticlePinterest的Feed架构与算法
Pinterest首页的Feed消息流,最早是按照用户的关注对象的Pin(类似微博)聚合后按时间进行排序(自然序,类似朋友圈),后来版本的feed系统放弃了自然序,而是根据一定规则及算法来设计,内部称之为Smart...
View Article使用Spark MLlib给豆瓣用户推荐电影
推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。 随着电子商务规模的不断扩大,商品数量和种类不断增长,用户对于检索和推荐提出了更高的要求。由于不同用户在兴趣爱好、关注领域、个人经历等方面的不同,以满足不同用户的不同推荐需求为目的、不同人可以获得不同推荐为重要特征的个性化推荐系统应运而生。...
View Article[转]消息队列的两种模式
Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 点对点与发布订阅最初是由JMS定义的。这两种模式主要区别或解决的问题就是发送到队列的消息能否重复消费(多订阅) 1、定义JMS规范目前支持两种消息模型:点对点(point to point,...
View Article[Elasticsearch] 分布式搜索
分布式搜索本文翻译自Elasticsearch官方指南的 Distributed Search Execution一章。在继续之前,我们将绕一段路来谈谈在分布式环境中,搜索是如何执行的。和在分布式文档存储(Distributed Document...
View Article获取股票实时交易数据的方法
调用sina专门的js服务器来获得数据,速度飞快:http://hq.sinajs.cn/list=sh600151,sz000830,s_sh000001,s_sz399001,s_sz399106,s_sz399107,s_sz399108var...
View Articlejava 类和对象的初始化
Java类的装载 在Java中,类装载器把java类装载到虚拟机中,经过装载,链接和初始化三个步骤来完成。其中链接中包括 校验、准备和解析。下面对这些概念进行解析:装载:查找和导入类或接口的二进制数据,常用的是根据类的路径加载,还有根据网络的地址加载。链接:执行校验、准备和解析步骤,其中解析步骤是可以选择的; 校验:检查导入类或接口的二进制数据的正确性;...
View ArticleDocker 监控- Prometheus VS Cloud Insight
如今,越来越多的公司开始使用 Docker 了,2 / 3 的公司在尝试了 Docker 后最终使用了它。为了能够更精确的分配每个容器能使用的资源,我们想要实时获取容器运行时使用资源的情况,怎样对 Docker 上的应用进行监控呢?Docker 的结构会不会加大监控难度?可是在没有专业运维团队来监控 Docker 的情况下,并且还想加快 Docker...
View Article浅说Flux开发
前段时间,写了篇关于React的文件: React:组件的生命周期,比较详细的说了下React组件的生命周期。说道 React,很容易可以联想到 Flux。今天以 React 介绍及实践教程一文中的demo为示例,简单说说 Flux 的开发方式。Flux是什么Flux 是 Facebook 用户建立客户端 Web 应用的前端架构, 它通过利用一个单向的数据流补充了 React...
View Article为豆瓣电影实现User-based协同过滤的推荐系统
协同过滤(Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐使用者感兴趣的信息,个人透过合作的机制给予信息相当程度的反馈(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,反馈不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要,比如浏览信息,收藏,分享,点击等。 在前一篇文章 使用Spark MLlib给豆瓣用户推荐电影...
View Article为豆瓣电影实现Item-based协同过滤的推荐系统
前面的两篇文章分别使用Spark mllib ALS实现了Model-based协同过滤推荐系统和使用Mahout实现了User-based的协同过滤推荐系统。 我们再来回顾一下item-base...
View ArticleApache负载均衡实战-session共享
Apache负载均衡实战 含Session共享 一准备工作 下载Apache、tomcat 2个或者多个tomcatF:\JavaProgram\apache-tomcat-7.0.64-8088F:\JavaProgram\apache-tomcat-7.0.64-80801个apacheF:\Apache24\bin 下载mod_jk.so...
View Article一个Date类型的ibatis查询走不上索引的问题
实际工作中,发现Date类型作为条件查询走不上索引的问题,由于问题完全和 http://blog.csdn.net/zldeng19840111/article/details/6721589一样,为简便起见,直接采用它的实例说明。 以下为简化后的场景:通过时间范围作一个邮件发送数量的统计java:import java.util.Date; public...
View Article七牛数据处理架构变迁
据统计,互联网数据量正以每三年翻一番的速度膨胀,其中, 95%以上都是非结构化数据,且这个比例仍在不断提升。如今,互联网已全面覆盖大家生活的方方面面,每个人的消费行为、娱乐行为和社交行为都将产生海量的图片、音视频、网络日志等非结构化数据。非结构化数据的持续在线及数据种类的多样对数据的处理提出了很高的要求。作为国内最专业的数据管理平台,七牛已覆盖国内...
View Article诊断Java中的内存泄露
每次我怀疑有内存泄漏时,我都要翻箱倒柜找这些命令。所以,这里总结一下以备后用:首先,我用下面的命令监视进程:while ( sleep 1 ) ; do ps -p $PID -o %cpu,%mem,rss ; done(如果有的话还有New Relic)如果你看到内存上升很快,可能是因为虚拟机设置。如果你没有明确指定JVM的内存设置,它将设置默认值给他们。要获得默认值,使用以下命令:java...
View Article关于启用 HTTPS 的一些经验分享
随着国内网络环境的持续恶化,各种篡改和劫持层出不穷,越来越多的网站选择了全站 HTTPS。HTTPS 通过 TLS 层和证书机制提供了内容加密、身份认证和数据完整性三大功能,可以有效防止数据被查看或篡改,以及防止中间人冒充。本文分享一些启用 HTTPS 过程中的经验,重点是如何与一些新出的安全规范配合使用。至于 HTTPS 的部署及优化,之前写过很多,本文不重复了。理解 Mixed...
View Article京东咚咚架构演进
咚咚是什么?咚咚之于京东相当于旺旺之于淘宝,它们都是服务于买家和卖家的沟通。 自从京东开始为第三方卖家提供入驻平台服务后,咚咚也就随之诞生了。 我们首先看看它诞生之初是什么样的。1.0 诞生(2010 - 2011)为了业务的快速上线,1.0 版本的技术架构实现是非常直接且简单粗暴的。 如何简单粗暴法?请看架构图,如下。 1.0 的功能十分简单,实现了一个 IM 的基本功能,接入、互通消息和状态。...
View ArticleJava 内存分配与垃圾回收机制
程序计数器:用于指示当前线程执行的指令行号,字节码解释器通过改变它的值选取下一条待执行的指令;分支、循环、跳转、异常处理、线程恢复都需要依赖它;它是线程私有的;栈:存储和方法执行相关的信息:栈帧(Stack Frame);栈帧包含:...
View Articleandroid 进程间通信方式
由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content...
View Article