自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(934)
  • 资源 (1)
  • 收藏
  • 关注

转载 云时代架构系列经典技术书籍

云时代架构系列经典技术书籍包括:1. 《分布式服务架构:原理、设计与实战》2. 《可伸缩服务架构:框架与中间件》3. 《互联网轻量级框架SSM源码解密》4. 《支付平台架构》5. 《程序猿面试攻略:从技术到技巧》6. 《从程序员到架构师的转型》7. 《Java核心要点和最佳实践》8. 《白话阿里巴巴Java研发手册》

2018-01-17 08:29:50 4184 2

转载 java @interface 注解详解

一、认识注解  注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性JDK1.5之后内部提供的三个注解       @Depreca

2018-01-16 08:46:06 403

原创 could not find gradle 3.0.0-alpha4

a few days ago i have installed android studio 3.0 (preview) and after that in stable version (studio 2.3.3) when i try to import project it give me an error. In preview everything works fine. this is

2018-01-03 09:34:47 1471

转载 使用Gradle生成一个App的不同版本,且可以同时安装在一个手机上

目录:背景解决方案修改debug版的包名修正资源文件里的包名定制APK的应用名称修改ContentProvider Authority参考链接背景开发一个App一般会生成内测版和正式版,甚至还会有不同渠道的版本,不同版本的配置可能会不一样,比如内测版会需要记录完整的日志。Android手机对于同样的Application Id的App只能安装一个版本,如果我们需要同时安装内测版和正式版,就必须修改

2018-01-03 09:28:48 2101

转载 小米架构师:亿级大数据实时分析与工具选型

刚毕业时我有幸去了Oracle公司做企业软件数据库,成为Oracle中国第一批研发员工。后来做了几年,觉得还是想做互联网软件,就去了微软,工作了十年左右。在那做两个项目,一个是搜索,一个是广告平台。去年一月份加入小米公司,现在主要负责搭建广告平台和大数据平台。所以今天我会结合我在小米、微软的一些大数据实践,给大家谈谈我对大数据的理解,并介绍一些好用的工具。本次演讲的内容大致分为以下

2017-12-27 07:24:34 2634

原创 领域驱动开发

2017-12-20 08:22:31 396

原创 BeeHome从2.3迁移到3.0需要修改的地方

52down votefavorite6After upgrading from 2.2 to 2.3 I see this warningand when I try to compile the project I see this compilation errorHow can i solve this issue w

2017-12-19 12:17:46 562

转载 webrtc中rtcp反馈与码率控制模块分析

webrtc中rtcp反馈与码率控制模块分析0. 参考文档1 google congestion control1. 简介webrtc的带宽估计分为两部分,一部分为发送端根据rtcp反馈信息进行反馈,另一部分为接收端根据收到的rtp数据进行相应的码率估计[1]。 本文先分析发送端根据rtcp反馈信息进行码率调整的部分代码。具体计算公式: 

2017-12-14 16:42:59 1797

转载 WebRtc学习资料整理

很久没有写了,尤其是技术文章,总感觉很难受。这里总结一下最近的学习内容。官网永远是最重要,但同时也是最容易忽略的学习途径。So you should look official websites firtsly.。先看一看基础概念的解释WebRTC 相關縮寫名詞簡介推荐一种方式,打开官方给的例子,然后通过浏览器调试,定位到控制到就能够看到这个流程了。We

2017-12-13 19:16:36 1161

转载 WebRTC的拥塞控制技术(Congestion Control)

1. 概述对于共享网络资源的各类应用来说,拥塞控制技术的使用有利于提高带宽利用率,同时也使得终端用户在使用网络时能够获得更好的体验。在协议层面上拥塞控制是TCP的一个总要的组成部分;但是对于非面向链接的传输层协议,如UDP,其在协议层面上并没有对拥塞控制进行强制性的要求,这样做保证了最优的传输性能,且在拥塞控制的设计上也保留了更大的灵活性。WebRTC为我们提供了强大的音视频媒体引擎,前端开发

2017-12-13 16:38:03 2217

转载 大数据

最近有不少质疑大数据的声音,这些质疑有一定的道理,但结论有些以偏概全,应该具体问题具体分析。对大数据的疑问和抗拒往往是因为对其不了解,需要真正了解之后才能得出比较客观的结论。大数据是一个比较宽泛的概念,它包含大数据存储和大数据计算,其中大数据计算可大致分为计算逻辑相对简单的大数据统计,以及计算逻辑相对复杂的大数据预测。下面分别就以上三个领域简要分析一下:第一,大数据存储解决

2017-12-07 21:43:08 427

原创 代码review总结

Code Review应该是软件工程最最有价值的一个活动,之前,本站发表过《简单实用的Code Review工具》,那些工具主要是用来帮助更有效地进行这个活动,这里的这篇文章,我们主要想和大家分享一下Code Review代码审查的一些心得。首先,我们先来看看Code Reivew的用处:Code reviews 中,可以通过大家的建议增进代码的质量。Code reviews  是一个传递知识的手...

2017-11-28 09:26:41 19839 3

转载 Facebook开源LogDevice:一种用于日志的分布式数据存储系统

日志是记下有序序列的不可变记录,并将记录可靠存储起来的最简单方法。如果你构建数据密集型分布式服务,很可能在某处需要一两个日志。我们Facebook构建许多庞大的分布式服务来存储和处理数据。想要连接数据处理管道的两个阶段,又不必担心数据流控制或数据丢失?让一个阶段写入日志,另一个阶段从日志读取。在维护大型分布式数据库上的索引?让索引服务读取更新日志,以适当的顺序应用所有更改。有一系列一周后要以特定顺

2017-11-25 10:13:37 1374

原创 大规模分布式存储系统原理解析与架构实战

后几张是讲一些具体产品的内容,对于每一个产品,都需要确实的使用和经验,以后需要的时候再研究不迟,技术永远在使用中进步更大。以前对存储尤其是分布式存储的整体知识体系不是太清楚,只是片段式的知道一些理论,通过此书的学习,对分布式存储的原理将豁然开朗,不管是理论的还是后面几章讲述的具体产品,都能做到知其然知其所以然。另外,书中对Paxos协议也进行了深入介绍,理解此协议对时下流行的去中心化将有“

2017-11-25 00:37:12 8296

原创 TCP Keepalive && Heartbeat

在默认情况下,在建立TCP连接之后,空闲时刻客户端和服务端不会互相发送数据包确认连接。假如有一端发生异常而掉线(如死机、防火墙拦截包、服务器爆炸),另一端若不进行连接确认,则会一直消耗资源。为了保证连接的有效性,可以检测到对方端非正常的断开,我们通常利用两种机制来实现:利用TCP协议的Keepalive在应用层实现心跳检测(Heart Beat)TCP KeepaliveTCP Keepalive

2017-11-12 22:40:13 656

转载 互联网利器 Redis内存数据库性能评测

Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append)

2017-11-12 21:43:36 515

转载 深入浅出 Redis client/server交互流程

综述最近笔者阅读并研究redis源码,在redis客户端与服务器端交互这个内容点上,需要参考网上一些文章,但是遗憾的是发现大部分文章都断断续续的非系统性的,不能给读者此交互流程的整体把握。所以这里我尝试,站在源码的角度,将redis client/server 交互流程尽可能简单地展现给大家,同时也站在DBA的角度给出一些日常工作中注意事项。Redis client/server

2017-11-12 21:27:10 3718

转载 豆瓣的基础架构

架构        豆瓣整个基础架构可以粗略的分为在线和离线两大块。在线的部分和大部分网站类似:前面用LVS做HA,用Nginx做反向代理,形成负载均衡的 一层;应用层主要是做运算,将运算结果返回给前面的用户,DAE平台是这两年建起来的,现在大部分豆瓣的应用基本都跑在DAE上面了;应用后面的基础服务 也跟其他网站差不多,MySQL、memcached、redis、beanstalk

2017-11-08 18:02:29 1824

转载 在Window环境下,使用CodeBlocks+GNUStep 配置Objective-C开发环境

需要的软件和工具:1.  codeblocks-13.12-setup.exe2.  gnustep-msys-system-0.25.1-setup.exehttp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/gnustep-msys-system-0.25.1-setup.exe3. gnuste

2017-11-07 14:22:19 582

原创 iPhone X的简单适配

App 页面适配适配前问题:App 未全屏显示解决办法LaunchImage 中添加一个和 iPhone X 相关的启动图片 * 图片尺寸:1125 * 2436 * Contents.json 中代码如下{ "extent" : "full-screen", "idiom" : "iphone", "subtyp

2017-11-06 17:31:18 769

转载 Accumulo入门手册

1。介绍Apache Accumulo的是一个高度可扩展的结构化存储,基于谷歌的BigTable。Accumulo是用Java编写的,并在Hadoop分布式文件系统 (HDFS),这是流行的Apache Hadoop项目的一部分工作。Accumulo支持高效存储和检索的结构化数据,包括查询范围,并提供支持使用Accumulo表作为输入和输出的 MapReduce作业。Accumul

2017-11-06 15:25:56 5168

转载 搜索引擎选择: Elasticsearch与Solr

搜索引擎选择: Elasticsearch与Solr搜索引擎选型调研文档Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜

2017-11-05 15:44:23 286

转载 Android 禁止屏幕休眠和锁屏的方法

Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想继续看的话还要去解锁,这样好麻烦,不是我们想要 的,那我们该怎么做呢,其实很简单,我这里只讲其中的两种

2017-10-31 11:27:28 6442

转载 iOS 性能监控方案 Wedjat

image.png为什么写这篇文章?随着移动互联网向纵深发展,用户变得越来越关心应用的体验,开发者必须关注应用性能所带来的用户流失问题。据统计,有十种应用性能问题危害最大,分别为:连接超时、闪退、卡顿、崩溃、黑白屏、网络劫持、交互性能差、CPU 使用率问题、内存泄露、不良接口。开发者难以兼顾所有的性能问题,而在传统的开发流程中,我们解决性能问题的方式通常是在得到线上用户的反馈后,再由开发人员

2017-10-27 14:29:43 1093

转载 SparkInternal阅读笔记

这段时间一直在阅读SparkInternal(https://github.com/JerryLead/SparkInternals)这篇文档,里面很详细的分析了spark的工作原理,但又不是单纯的代码走读,加入了许多作者的理解以及注释,值得刚接触spark的朋友阅读。一、spark部署概览:一个典型的spark工作集群图如下:集群分为Master和Wo

2017-10-26 21:02:12 686

转载 Android源代码(AOSP)调试 - Java部分

经过前面漫长的环境搭建、源码同步、编译之后,终于可以真正做点有意思的事情了 — AOSP源码调试。AOSP源码导入IDE内存优化因为源码非常多,所以导入时IDEA/AS会需要大量内存。所以我们需要编辑IDE的VM选项。配置文件为IDEA的是IDEA_HOME/bin/idea.vmoptionsAS的是AS_HOME/bin/studio.vmoptions

2017-10-26 16:04:16 908

转载 socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据.在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send向网络发送缓存中不能容

2017-10-25 18:31:43 2143

转载 升级到XCode9(BaseSDK:iOS11)的各种坑 持续更新中

XCode9和iOS11 beta了不知多少版本了,正式版本还没有正式发布。我也终于忍不了了,还是都做了升级。设备版本分别为: XCode:Version 9.0 beta 6 (9M214v) 10月13日更新GM版 iPhone:11.0(15A5370a)下面的问题都是在iOS11之前的版本运行完好,但是升级后出现的问题: 1,定位相关 问题描述:无法定位,而且程序在

2017-10-25 11:16:59 1389

转载 大数据搜索选开源还是商业软件?ElasticSearch对比Splunk

本文将在架构、功能、产品线、概念等方面,对ElasticSearch和Splunk做一个全方位的对比,希望能够为大家在制定大数据搜索方案的时候有所帮助。简介ElasticSearch是一个基于Lucene的开源搜索服务。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache

2017-10-25 08:24:55 872

原创 架构师图谱

今天在技术大海中游啊游游啊游,哇啊哈哈 ^_^发现了一份非常有用的超级技术图谱诶! 强烈推荐啊!!本文原作者是易宝支付技术经理/架构师李艳鹏,这是鹏哥多年来积累和收集的技术知识技能图谱,有的是鹏哥原创总结的最佳实践,有的是小伙伴们的分享。其实,每个秘籍图谱里面的内容都是互联网高并发架构师应该了解和掌握的知识。鹏哥索性就把这些图谱都收集在一起,并且进行了归类,便于大家查找和学习。图谱也暗含...

2017-10-24 19:00:39 3827 1

原创 LOGSTASH+ELASTICSEARCH+KIBANA处理OSS访问日志

Logstash+ElasticSearch+Kibana处理nginx访问日志 logstash shipper -> redis" style="color:rgb(54,115,165); line-height:inherit">1. nginx日志 -> logstash shipper -> redis logstash indexer -> elasticsearch"

2017-10-23 00:44:16 2852

转载 讯飞语音的使用及常遇到的问题

讯飞语音是科大讯飞推出的以语音交互技术为核心的人工智能开放平台,为开发者免费提供语音识别、语音合成等语音技术SDK,人脸识别、声纹识别等。  最常遇到问题:     一、错误码21001,没有安装语音组件(在最下方有全部的错误码和解决方案)     解决方案:     1、有没有使用SpeechUtility.createUtility()设置appid。 

2017-10-21 23:04:43 21552

转载 构建高并发高可用的电商平台架构实践

一、 设计理念  1.      空间换时间1)      多级缓存,静态化客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)

2017-10-15 00:58:59 401

原创 消息队列对比

队列库优点缺点kafka  RabbitMQ  activiteMq

2017-10-15 00:51:53 361

原创 常见分布式系统数据分布解析

数据库优点缺点mongodb  hdfs  mysql  lustre  moosefs  glusterfs

2017-10-14 23:06:18 6484

转载 zookeeper介绍

一 ZooKeeper 组成员管理应用1 ZooKeeper 中的组成员关系2 ZooKeeper 提供的操作二 ZooKeeper 服务1 数据模型11 短暂的znode12 顺序号13 观察2 操作21 集合更新 Multiupdate22 关于 API23 观察触发器24 ACL 列表3 实现4 一致性5 会话6 时间7 状态三 生产环境中的

2017-10-14 13:22:59 386

转载 语音专题第一讲,麦克风阵列的语音信号处理技术

前言随着人工智能与人们的生活越来越近,语音技术的发展也备受关注。传统的近场语音已经无法满足人们的需求,人们希望可以在更远的距离,更复杂的环境中语音控制智能设备。因此,阵列技术成为远场语音技术的核心。阵列麦克风对人工智能的意义:空间选择性:通过电扫阵列等空间定位技术可以获取声源的有效位置,智能设备在获取精准的声源位置信息,让我们的语音更加智能,通过算法获取高品质的语音信号质量

2017-10-12 21:54:23 4517 1

转载 Android兼容性测试CTS --环境搭建、测试执行、结果分析

为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体验,在每个版本发布之时,Android提供了一套兼容性测试用例集合(Compatibility Test Suite, CTS)来认证运行Android系统的设备是否完全兼容Android规范,并附带有相关的兼容性标准文档(Compatibility Definition Document, CDD

2017-09-24 00:11:43 9125 1

转载 java Hotspot 内存管理白皮书

1引言一个健壮的 Java™2平台,Standard Edition (J2SE™)拥有一个自动内存管理机制,它为开发者们屏蔽了复杂的内存管理步骤。本文提供了一个关于java Hotspot 虚拟机中内存管理机制的简单概述,它描述了一个可用于垃圾回收的内存管理器,并且提供了关于选择和配置一个回收器以及设置内存区域大小的回收操作。它同样可以作为一个参考书,本文列举了与垃圾回收器行为相

2017-09-10 00:42:56 436

转载 HotSpot C2编译器

可以先看看前同事Vladimir Ivanov讲解JIT编译器: JIT-compiler in JVM seen by a Java developer, Vladimir Ivanov, JavaOne 2013 Moscow, 2013Charles Nutter的系列演讲也OK: JVM JIT for Dummies, JavaOne 2012, 2012

2017-09-03 19:51:43 4958 1

谢晓枫-组件化实践中的冷启动优化-终稿.pdf

android 组件化实践中的冷启动优化,用于指导android架构经典实践

2019-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除