![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发
jiewuyou
爱编程不爱bug
展开
-
网站分享
现在有各种各样的插件,来使你的网页更个性化,其中就有一个专门来做分享的插件,其代码如下 效果(我在GOOGLE主页上加了上面一行代码)原创 2011-08-27 20:06:49 · 3189 阅读 · 0 评论 -
百亿级日志处理稳定性保证的一些技巧
为了给各个业务出报表,我们每天会处理几百亿条原始日志。例行任务用MR/Spark程序编写,为了保证各个业务线在上班前正常看到数据,对例行任务的稳定性提出了要求。由于我们会依赖很多中间层数据,集群偶尔异常、数据存在倾斜等问题,这对我们的例行任务带来了很大的挑战。针对遇到的问题,采用“兵来将挡,水来土掩”的方案,各个击破常见异常:依赖未生成当天任务依赖的数据,部分是前一天的数据,部分是当天其他任务的生成原创 2017-06-22 18:51:41 · 931 阅读 · 0 评论 -
scala代码格式化
开发工具intellij插件Scala、Scalafmt 配置文件( ~/.scalafmt ):--style defaultWithAlign --maxColumn 120--continuationIndentCallSite 2--continuationIndentDefnSite 2格式化快捷键Ctrl + Shift + L原创 2016-11-25 18:00:39 · 5905 阅读 · 1 评论 -
代码中的减法
“简单就是美”,这句谚语在软件领域也是非常适用的。比如MapReduce框架,非常简单的逻辑,采用分而治之的思想,引领了大数据开源社区的发展。也有经验丰富的程序告诉我们“负责人的工程师在离职前会删代码”也佐证了这一点。他们离职前往往会删除一些冗余没用的代码。 接手小米流量最大的一块业务后,随着公司对数据的需求越来越大,流量也在不断的增长,后端的性能也受到了极大地挑战,经常出现实时计算以及例原创 2016-10-18 20:31:20 · 2192 阅读 · 0 评论 -
公司软件架构
本文将介绍公司里面常用的开源软件架构版本管理工具Git:https://about.gitlab.com/codereview工具phabricator ,可以和git集成:http://phabricator.org/maven私服nexus:http://www.sonatype.org/nexus/开发者常用工具集成开发环境ideau:https://www.jetbrains.co原创 2015-04-20 10:06:37 · 1338 阅读 · 0 评论 -
git技巧
安装后第一步$ git config --global user.name "Some One"$ git config --global user.email "someone@gmail.com"从master分支获取某个文件$git checkout master session/service/DataAnalysis.py$git add session/service/Data原创 2015-08-28 10:15:38 · 941 阅读 · 0 评论 -
bloom filter
场景在做广告定向投放时,我们选出了一批用户,用设备ID来标识他们。如果我们定向出了1000万个用户。用户获取服务时,我们需要判断是否在该集合中,如果在的话,将广告一起返回。如何判断呢?存入数据库中,比如redis。优点是实现简单,缺点是内存占用大使用bloom filter算法。优点是使用较小的内存空间,就可以判断一个给定的值是否在一个大的集合中,缺点是有一定的误判率,可以将误判率优化到0.00原创 2016-04-28 21:41:06 · 558 阅读 · 0 评论 -
修改Hadoop源码的搜索技巧
以前在小米基础架构组实习时,修改过部分Hadoop的源码。其中一个很有用的技巧是根据要查找的点,搜索源码中所有和该点有关的代码 1. find . -name “*.java” | xargs grep main.py 搜索对象是java源文件, 搜索的关键字为main.py,这样会搜索出main.py在所有java代码中的位置 2. egrep main.py -r -I *从所有的非二原创 2015-11-23 22:05:04 · 1246 阅读 · 0 评论 -
git merge vs git rebase
背景开发过程,可能遇到这种情况 git merge效果git checkout featuregit merge mastergit rebase效果git checkout featuregit rebase master参考https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview原创 2015-07-28 11:08:57 · 892 阅读 · 0 评论 -
如何学习新技术
PtMind实习期间,花了一个多月的时间用Curator开发了一套分布式系统,我们用Curator实现了节点间通信、master主从切换等功能。下面是我根据该项目,整理的学习新知识的观点观点学习框架,一般先从官方文档(官方wiki)开始学习,不懂的地方可以搜索下Google、slideshare(有些产品会有很好的PPT并附有视频),建议了解以下几个方面: 该技术是用来解决什么问题的?很多框架都原创 2015-04-16 08:33:43 · 1066 阅读 · 1 评论 -
开发版本小计
版本类型snapshot版本:正在开发的版本α版本:内部测试的版本β版本:外部测试的版本正式版本:正式发布的版本版本号 很多项目的版本号采用X.Y.Z。其中X表示一个大版本的升级,其中往往包含架构的调整,Y表示一个小版本的升级,其中往往会包含若干个patch及部分bug的修复。Z表示更小的版本的升级,其中一般只包含较少的patch。 有些项目的版本在Z一层会做一些限制,如果为奇数原创 2015-03-03 12:50:33 · 1045 阅读 · 0 评论 -
Java SSH远程执行Shell脚本实现
本文将介绍如何远程执行ssh命令原创 2014-07-18 09:44:42 · 1564 阅读 · 0 评论 -
如何拥有产品sense?
作者:joe,腾讯移动电商高级产品经理。前言我们经常听到公司的领导、同事评价面试候选人时会说:“他很有产品sense”或“他缺乏产品sense”。对于非产品策划岗位的面试候选人来说,“有产品sense”往往是一个加分项;而对于产品策划岗位的面试候选人来说,“缺乏产品sense”就是一个致命伤了。 那么神秘的“产品sense”到底是什么?怎么才能拥有呢?作为一个曾转载 2013-08-30 20:06:26 · 1191 阅读 · 0 评论 -
打点系统优化HTTP请求
为更好的理解用户,互联网公司会将用户的行为收集上来进行分析,打点系统应运而生。但互联网公司的用户数都比较多,而且每个用户的行为也很多,这样服务器收到的打点请求就非常多,QPS非常高,对web服务器的要求也会非常之高。为提升整个打点系统的性能,可以采用以下几个方式。减少打点的次数常规的方案是将多个行为事件合并后上传,以减少单个客户端的上报次数,这会导致一个事件触发后,事件没有及时上传,从...原创 2018-03-15 00:06:35 · 3799 阅读 · 0 评论