自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SmartSi

一起陪伴大数据成长

  • 博客(2357)
  • 资源 (69)
  • 问答 (17)
  • 收藏
  • 关注

转载 RoaringBitMap在B站大数据中的应用

本文阐述了RBM的基础原理和性能分析,比较了与原BitMap的异同点,与B站的一些大数据应用场景相结合来做方案改造,来达到降本增效、方便下游使用的目的。大数据方面还有很多方向可以做,比如通过RBM优化Redis中的bitmap,通过RBM来提高Flink存储和计算去重状态的性能,通过RBM用来做实时特征人群的存在判定等等,希望本文为大家提供解决类似问题的一种新思路,欢迎随时探讨。参考文章:348–365.RoaringBitMap在B站大数据中的应用。

2022-11-07 22:01:53 1381

翻译 ElasticSearch 动态更新索引

通过增加一个新的补充索引来反映最近的修改,而不是直接重写整个倒排索引。每一个倒排索引都会被轮流查询--从最旧的开始--再对各个索引的查询结果进行合并。

2022-11-05 16:39:15 1225

翻译 ElasticSearch 段合并

由于自动刷新过程每秒会创建一个新的段,这样会导致短时间内段数量暴增。段数目太多会带来比较大的麻烦。每一个段都会消耗文件句柄、内存和 CPU 运行周期。更重要的是,每个搜索请求都必须按顺序检查每个段。所以段越多,搜索也就越慢。Elasticsearch 通过在后台进行段合并来解决这个问题。小的段被合并成大的段,然后这些大的段会被合并成更大的段。段合并的时候将那些被标记为删除的旧文档从文件系统中删除。被标记删除的文档或者更新文档的旧版本文档不会被拷贝到新的更大的段中。

2022-11-05 15:53:51 881

翻译 ElasticSearch 分片

一个分片存在于单个节点,但一个节点可以拥有多个分片

2022-11-04 23:06:13 583

翻译 ElasticSearch Scroll 游标搜索

ElasticSearch版本:2.x。

2022-11-04 22:50:11 585

翻译 Hadoop 二次排序

事后看来,回顾我们应用于复合 key 的不同工具的效果,除了 “在多个字段上进行排序” 外,我们还可以给出二次排序的更一般而精确的定义:二次排序是一种技术,用于控制 Reducer 的输入对如何传递给 reduce 函数。上面的如何可以理解为以何种顺序()以及基于 key 的对值进行分组的方式()根据这个定义,使用,我们可以对Reducer内的数据进行全面控制,这就是输出文件内部始终排好序的原因。

2022-11-04 08:17:31 596

原创 ElasticSearch 索引

我们首先要做的是存储员工数据,每个文档代表一个员工。在 Elasticsearch 中存储数据的行为就叫做索引(indexing),不过在索引之前,我们需要明确数据应该存储在哪里。Elasticsearch 集群可以包含多个 index(数据库),每一个 index 可以包含多个 types(表),每一个 type 又可以包含多个 document(行),然后每个 document 包含多个 field(列)。默认情况下,文档中的所有字段都会被索引(拥有一个倒排索引),只有这样他们才是可被搜索的。

2022-11-03 23:10:10 559

翻译 Hadoop MapReduce 2.0 架构详解

比以前的版本有了很大的改进。以下是MapReduce的一些亮点;请注意,HDFS也有一些主要的改进,这些不在本文的讨论范围之内。(又名MRv2或YARN)。新的架构将JobTracker管理计算资源到应用程序的全局分配的(RM)。每个应用程序的(AM),用于管理应用程序的生命周期。每个节点上还有一个(NM),用于管理该节点上的用户进程。RM和NM构成集群的计算框架。该设计还允许在NM中运行长时间的辅助服务;这些都是特定于应用程序的服务,作为配置的一部分进行指定,并在启动期间由NM加载。对于YARN。

2022-11-03 22:29:39 863

原创 ElasticSearch 内部原理之分布式文档搜索

ElasticSearch 版本: 2.x这个要比基本的创建-读取-更新-删除(CRUD)请求要难一些。CRUD操作是处理的单个文档。这就意味着我们明确的知道集群中的哪个分片存储我们想要的文档。一个 CRUD 操作只对单个文档进行处理,文档有唯一的组合,由_index,_type, 和 路由值 (默认是该文档的_id)组成。这表示我们确切的知道此文档在集群中哪个分片中。搜索请求是更复杂的执行模型,因为我们不知道哪些文档会与查询匹配,它们可能存在在集群中的任意一个分片中。

2022-11-02 23:52:42 538

原创 Hadoop MapReduce 2.x 工作原理

对于节点数超出 4000 的大型集群,MapReduce 1 的系统开始面领着扩展性的瓶颈。在 2010 年雅虎的一个团队开始设计下一代 MapReduce。由此,YARN(Yet Another Resource Negotiator)应运而生。YARN 将 Jobtracker 的职能划分为多个独立的实体,从而改善了经典的 MapReduce 面临的扩展瓶颈问题。Jobtracker 负责作业调度和任务进度监视、追踪任务、重启失败或过慢的任务和进行任务登记,例如维护计数器总数。

2022-11-02 23:17:50 464

翻译 ElasticSearch 内部原理之分布式文档存储

之前的文章中,我们已经知道如何存储数据到索引中以及如何检索它。但是我们掩盖了数据存储到集群中以及从集群中获取数据的具体实现的技术细节。

2022-11-01 23:03:03 163

转载 易观数科代码埋点、全埋点、可视化埋点

讲埋点的文章那么多,我们为什么还要写它?首先,这不是一篇纯技术文章,而是从一个非技术人员的角度,希望通过浅显的语言描述,让运营同学能快速了解概念。此外,目前市面的埋点文章,要么没有进行系统性的知识梳理,要么不够客观存在偏向性。而我们则希望让大家透过表象,通过系统的讲解和梳理,了解埋点的真正含义。

2022-10-30 20:00:21 638

转载 有赞埋点实践

大数据应用一般会有采集、加工、存储、计算及可视化这几个环节。其中采集作为源头,在确保全面、准确、及时的前提下,最终加工出来的指标结果才是有价值的。而埋点作为一种重要的采集手段,可以将用户行为信息转化为数据资产,为产品分析、业务决策、广告推荐等提供可靠的流量数据支持。在业务需求少的情况下,可以运用一些简单的方法快速采集用户行为。但如果业务线、终端众多,数据需求多样,就需要设计好埋点模型和采集规范,工具化、平台化、流程化的管理来保证埋点的质量。

2022-10-30 09:20:46 486

转载 哔哩哔哩基于拉链表的全量表极限存储优化方案

对全量分区表进行拉链化,优化的技术方案不仅能降低存储,而且还能降低一定的计算资源。后续我们会和大家聊聊如何进行拉链表的幂等化,如何高效地对数据进行覆盖率和重复率测试,预估全量分区表拉链化的收益以及有选择性地优化全量分区表等内容。互联网场景下基于拉链表的全量表极限存储优化方案。

2022-10-27 20:57:02 233

转载 网易严选如何打造数仓规范和评价体系

指标定义规范,目的是统一开发 & 产品对指标的定义。通过对原子指标的命名规则、派生指标的命名规则和派生词的定义来完成。指标定义体系,是数据建设体系的基础和内核,为了杜绝产品经理命名引起的歧义,以及后续带来的使用和维护以及解释成本。

2022-10-27 08:19:28 391

转载 美团 OneData 建设探索之路:SaaS收银运营数仓建设

随着业务的发展,频繁迭代和跨部门的垂直业务单元变得越来越多。但由于缺乏前期规划,导致后期数仓出现了严重的数据质量问题,这给数据治理工作带来了很大的挑战。在数据仓库建设过程中,我们总结的问题包括如下几点:在现有大数据平台的基础上,借鉴业界成熟 OneData 方法论,构建合理的数据体系架构、数据规范、模型标准和开发模式,以保障数据快速支撑不断变化的业务并驱动业务的发展,最终形成我们自己的OneData 理论体系与实践体系。在数据建设方面,阿里巴巴提出了一种OneData标准,如下图所示:他山之石,可以攻玉。我

2022-10-25 22:58:31 1005

转载 Flink 原理与实现:架构和拓扑概览

要了解一个系统,一般都是从架构开始。我们关心的问题是:系统部署成功后各个节点都启动了哪些服务,各个服务之间又是怎么交互和协调的。下方是 Flink 集群启动后架构图。

2022-10-18 23:30:49 328

转载 Flink SQL 功能解密系列 —— 流式 TopN 挑战与实现

TopN 是统计报表和大屏非常常见的功能,主要用来实时计算排行榜。流式的 TopN 不同于批处理的 TopN,它的特点是持续的在内存中按照某个统计指标(如出现次数)计算 TopN 排行榜,然后当排行榜发生变化时,发出更新后的排行榜。本文主要讲解 Flink SQL 是如何从语法和实现上设计 TopN 的。流式 TopN 不仅在语法以及算法上会遇到很多挑战,在不同场景下的优化方案也是个非常有意思的话题。目前 Flink SQL 的 TopN 功能已经大量应用于彩票业务、阿里云的CDN项目、WAF项目等等。

2022-10-17 23:09:55 516

翻译 Flink 如何处理背压

像 Flink 这样的流处理系统需要能够从容地处理背压。背压是指系统在一个临时负载峰值期间接收数据的速率大于其处理速率的一种场景(可以理解为处理速度慢,接收速度快,系统处理不了接收的数据)。许多日常情况都会导致背压。例如,垃圾回收卡顿可能导致流入的数据堆积起来,或者数据源可能出现发送数据过快的峰值。如果处理不当,背压会导致资源耗尽,甚至导致数据丢失。让我们看一个简单的例子。

2022-10-16 23:16:01 494

转载 Flink 网络流控和反压剖析详解

网络流控是为了在上下游速度不匹配的情况下,防止下游出现过载。网络流控有静态限速和动态反压两种手段。Flink 1.5 之前是基于 TCP 流控 + bounded buffer 实现反压。Flink 1.5 之后实现了自己托管的 credit - based 流控机制,在应用层模拟 TCP 的流控机制。

2022-10-14 08:43:30 445

转载 实时数仓在有赞的实践

随着实时技术的不断发展和商家实时应用场景的不断丰富,有赞在实时数仓建设方面做了大量的尝试和实践。

2022-10-13 23:50:02 763

转载 贝壳 DMP 平台建设实践

其实 DMP 就是把用户各种各样的数据,包括结构化数据以及非结构化数据,进行整合计算然后标签化,通过标签来描述刻画用户,理解用户。比如,通过标签,我们解读到一个北京的用户,想看郑州的房子,喜欢400万的两居室。通过用户的标签,我们可以非常直观的了解用户。然后基于这些结构化的标签数据,我们也可以很方便地跟各个下游系统做对接,实现站外或者站内的精细化运营。接下来我们逐层看一下每层是怎么做的,以及遇到的问题和相应的解决方案。

2022-10-12 23:01:48 1235

原创 Spark Streaming Kafka 偏移量 Offset 管理

Spark Streaming 与 Kafka 的集成允许用户从 Kafka 单个 Topic 甚至多个 Topic 中读取消息。Kafka Topic 通过存储消息的分布式分区来接收消息。每个分区按顺序维护接收到的消息,并用偏移量 Offset 来标识。开发人员可以在 Spark Streaming 作业中通过偏移量 Offset 来控制数据读取的位置,但是这需要好的偏移量 Offset 管理机制。管理偏移量 Offset 对于保证流式应用程序在整个生命周期中数据的连贯性是非常有益的。

2022-10-12 22:42:41 1046

翻译 Spark Streaming 基于 Direct API 优化与 Kafka 集成

Apache Kafka 正在迅速成为最受欢迎的开源流处理平台之一。我们在 Spark Streaming 中也看到了同样的趋势。因此,在 Apache Spark 1.3 中,我们专注于对 Spark Streaming 与 Kafka 集成进行重大改进。在本文中,我们将更详细地讨论这些改进。

2022-10-10 16:37:18 185

翻译 Spark Streaming 容错改进与零数据丢失

实时流处理系统必须可以 7*24 小时工作,因此它需要具备从各种系统故障中恢复的能力。最开始,Spark Streaming 支持从 Driver 和 Worker 故障中恢复。然而,从有些数据源导入数据时可能存在故障恢复以后丢失数据的情况。在 Spark 1.2 版本中,我们已经在 Spark Streaming 中对预写日志作了初步支持,改进了恢复机制,使得更多数据源零数据丢失有了可靠的保证。本文将详细地描述这个特性的工作机制,以及开发者如何在 Spark Streaming 应用中使用这个机制。

2022-10-10 16:01:15 349

翻译 Spark Streaming 2.2.0 性能调优

Spark Streaming 应用程序要获得最佳性能需要做一些调整优化。这篇文章我们介绍可以提高你应用程序性能的参数以及配置。

2022-10-10 13:26:42 230

原创 Spark Streaming 第一个程序 WordCount

Spark Streaming 是 Spark Core API 的一个扩展,它对实时流式数据的处理具有可扩展性、高吞吐量、可容错性等特点。数据可以从诸如 Kafka,Flume,Kinesis 或 TCP 套接字等许多源中提取,并且可以使用由诸如 map,reduce,join 或者 window 等高级函数组成的复杂算法来处理。最后,处理后的数据可以推送到文件系统、数据库、实时仪表盘中。事实上,你可以将处理后的数据应用到 Spark 的机器学习算法、 图处理算法中去。内部工作原理如下图所示。

2022-10-09 18:34:20 334

原创 Flink SQL 使用 Datagen SequenceGenerator 出现 OutOfMemoryError: Java heap space 异常

从上面日志中可以看出是在序列化生成器 SequenceGenerator 初始化时抛出异常,具体与双端队列 ArrayDeque 相关。从上面代码中可以看出每个并发子任务在初始化序列化生成器时会创建一个双端队列 ArrayDeque 来存储。对此,你可以扩大 TaskManager 的堆内存大小。由于我们设置的区间比较大,所以导致双端队列再扩容时出现堆内存溢出。session_id 的生成区间从。

2022-10-08 23:25:16 761

转载 Flink SQL 核心解密 —— 提升吞吐的利器 MicroBatch

之前我们在 Flink SQL 中支持了 MiniBatch, 在支持高吞吐场景发挥了重要作用。今年我们在 Flink SQL 性能优化中一项重要的改进就是升级了微批模型,我们称之为 MicroBatch,也叫 MiniBatch2.0。之前我们在 Flink SQL 中支持了。

2022-10-08 16:01:31 796

原创 Flink SQL Size of the state is larger than the maximum permitted memory-backed state

错误日志提示已经很明显,状态大小超过 Checkpoint 持久化存储默认最大值。由于代码中没有指定 CheckpointStorage,因此默认使用 JobManagerCheckpointStorage 存储在内存中,默认大小为 5MB。日志中建议切换到 FileSystemCheckpointStorage 中。注意的是 Flink 1.13 版本将之前的 StateBackend 拆分成新的 StateBackend 和 CheckpointStorage 两个功能。

2022-10-08 09:46:04 1121

转载 Flink SQL 功能解密系列 解决热点问题的大杀器 MiniBatch

在 Blink 的流式任务中,State 相关的操作通常都会成为整个任务的性能瓶颈。实时计算部-查询和优化团队开发了 MiniBatch 功能,大幅降低了 State 操作的开销,在今年的双11中,几乎所有适用的任务都启用了 MiniBatch 功能。

2022-10-07 23:52:34 530

原创 Flink Table API & SQL DataGen Connector

DataGen Connector 是一个内置的 Source Connector,基于生成的内存数据来创建表。这在本地开发查询而不访问外部系统(如 Kafka)时很有用。random:随机生成器sequence:序列生成器随机生成器(random),是默认的生成器。可以指定随机生成的最大和最小值。char、varchar、string (类型)可以指定长度。随机生成器是一种无界的生成器,如果指定了总行数,从而变成了一个有界生成器。序列生成器(sequence),可以指定序列的起始和结束值。

2022-10-07 23:07:36 558

转载 深入分析 Flink SQL 工作机制

本文整理自 Flink Forward 2020 全球在线会议中文精华版,由 Apache Flink PMC 伍翀(云邪)分享,社区志愿者陈婧敏(清樾)整理。旨在帮助大家更好地理解 Flink SQL 引擎的工作原理。

2022-10-07 18:31:46 318

原创 Flink SQL Emit 输出策略

EMIT 输出策略是指在 Flink SQL 中,QUERY 根据不同场景选择不同的输出策略(例如最大延迟时长),从而达到控制延迟或提高数据准确性的效果。例如,1 小时的时间窗口,窗口触发之前希望每分钟都能看到最新的结果,窗口触发之后希望不丢失迟到一天内的数据。如果 1 小时窗口内的统计结果无变化,则不更新输出结果;如果1小时窗口内的统计结果有变化,则更新输出结果。需要注意的是添加了 EMIT 输出策略后会由原来输出 Append 流变成输出 Retract 流。

2022-10-07 17:09:58 880

转载 Flink SQL 在快手的扩展和实践

本文整理自快手实时计算团队技术专家张静、张芒在 Flink Forward Asia 2021 的分享。

2022-10-07 08:54:31 352

原创 Flink SQL 分组窗口函数 Group Window 实战

在 Flink 1.12 之前的版本中,Table API 和 SQL 提供了一组分组窗口 Group Window 函数,常用的时间窗口如滚动窗口、滑动窗口、会话窗口都有对应的实现,具体在 SQL 中调用 TUMBLE()、HOP()、SESSION() 分组窗口函数即可。分组窗口的功能比较有限,只支持窗口聚合,所以在 Flink 1.12 之后的版本中不再推荐使用 Group Window 函数。而是推荐使用功能更加强大以及更有效的 Window TVF,具体请查阅。

2022-10-05 23:49:23 861

原创 Flink Table API & SQL 如何定义时间属性

基于时间的操作,例如 Table API 和 SQL 查询中的窗口,需要知道时间相关的信息。因此,表需要提供逻辑时间属性以指明时间以及提供访问相应的时间戳。时间属性可以作为表 schema 的一部分,可以在用 CREATE TABLE DDL 语句创建表的时候指定、也可以在 DataStream 中指定、也可以在定义 TableSource 时指定。一旦定义了时间属性,就可以像普通字段一样使用,也可以在时间相关的操作中使用。

2022-10-05 15:47:20 502

转载 快手基于 Flink 构建实时数仓场景化实践

文整理自快手数据技术专家李天朔在 5 月 22 日北京站 Flink Meetup 分享的议题《快手基于 Flink 构建实时数仓场景化实践》

2022-10-04 19:34:05 194

原创 Flink SQL 窗口表值函数 Window TVF 实战

窗口 TVF 是 Flink 定义的多态表函数(缩写 PTF)。PTF 是 SQL 2016 标准的一部分,是一个特殊的表函数,可以将表作为参数。因为 PTF 在语义上像表一样使用,所以它们的调用发生在 SELECT 语句的 FROM 子句中。窗口 TVF 是传统 Grouped Window 函数的替代品。窗口 TVF 更符合 SQL 标准,也更强大,可以支持复杂的基于窗口的计算,例如 Window TopN, Window Join。但是,Grouped Window 函数只能支持窗口聚合。

2022-10-04 16:58:02 791

转载 网易严选 DMP 标签系统建设实践

如果说互联网的上半场是粗狂运营,因为有流量红利不需要考虑细节。那么在下半场,精细化运营将是长久的主题,有数据分析能力才能让用户得到更好的体验。当下比较典型的分析方式是构建用户标签系统,从而精准地生成用户画像,提升用户体验

2022-10-02 23:33:19 511

Java 1.7 中文帮助文档

Java 1.7 中文帮助文档.

2015-12-27

2015 搜狗校园招聘研发类笔试题

2015 搜狗校园招聘研发类笔试题

2015-12-22

Android应用开发揭秘

国内第一本基于Android 2.0的经典著作,5大专业社区联袂推荐,权威性毋庸置疑! 本书内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpenGL等高级知识,最重要的是还全面介绍了如何利用原生的C/C++(NDK)和Python、Lua等脚本语言(Android Scripting Environment)来开发Android应用;本书实战性强,书中的每个知识点都有配精心设计的示例,尤为值得一提的是,它还以迭代的方式重现了各种常用的Android应用和经典Android游戏的开发全过程,既可以以它们为范例进行实战演练,又可以将它们直接应用到实际开发中去。

2015-12-17

Android开发秘籍

作为google 开发的全新开源手机平台,android 发展如火如荼。本书通过大量代码秘诀全面详尽地讲述了android 开发技术。从activity 和intent 基础知识开始,到线程、服务、broadcast receiver 以及alert 警告框,再到用户界面布局、界面事件、多媒体技术、硬件接口、网络通信、数据存储方法、基于位置的服务、android 高级开发技术和调试,书中贯穿了经android 设备或者模拟器测试的可用范例,将功能丰富、结构复杂的android 应用程序清晰完美地展现给开发人员。 对于那些有志于android 应用开发的人员来说,本书是难得的参考读物。

2015-12-17

Android开发精要

如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!然而,Android系统太过于庞大,源代码实现复杂,学习的技术门槛和时间成本都很高。 有没有一种方法既能帮助开发者深入理解Android应用开发,又能不被底层大量的实现细节所羁绊,迅速掌握编写高质量Android应用所需的知识?本书针对这个问题给出了完美的答案!它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速地从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速地从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。[1] 本书共13章,在逻辑上分为4个部分。第一部分(1~2章):第1章系统介绍了Android的系统架构、核心模块和设计思想,旨在让读者真正理解它的设计理念;第2章讲解了Android源代码的获取、编译、阅读和编辑的方法。第二部分(3~6章):第3章深入阐述了Android组件机制的设计理念和重要特征,并详细介绍了4大组件的方法和原理;第4章讲解了Intent对象和Android的意图机制,阐明了Android是如何将来自不同应用、不同进程的组件整合在一起的;第5章解析了Android中各个组件的生命周期,包括组件的进程模型和线程模型;第6章从开发的角度详细阐述了组件间数据传输的解决方案,以及它们的优缺点和适用场景。第三部分(7~8章):第7章深入讲解了Android的控件框架,结合实际项目对重要控件的实现和使用逐一进行了分析,还包含Android 4.0界面开发的实践“精华”;第8章分析了Android的资源体系,剖析了Android底层对资源的处理。第四部分(9~13章):第9章讲解了Android的数据存储结构,以及不同数据存储模式的使用要点;第10章分析了Android的各种网络连接方式,涵盖NFC和基于WiFi的P2P连接等内容;第11章讲解了Android的定位服务、地址服务和地图服务的框架实现;第12章仔细分析了Android各种多媒体功能的实现机制;第13章对Android中比较有特色的一些模块的实现细节进行了分析。

2015-12-17

Android技术内幕.系统卷

《Android技术内幕:系统卷》是国内首本系统对Android的源代码进行深入分析的著作。全书将Android系统从构架上依次分为应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层等5个层次,旨在通过对Android系统源代码的全面分析来帮助开发者加深对Android系统架构设计和实现原理的认识,从而帮助他们解决开发中遇到的更加复杂的问题。《Android技术内幕:系统卷》分为两卷,系统卷主要分析了Linux内核层、硬件抽象层和系统运行库层的各个模块的底层原理和实现细节;应用卷主要分析了应用层和应用框架层的各个模块的底层原理和实现细节。 具体而言,系统卷第1章首先从宏观上介绍了Android系统的架构以及各个层次之间的关系,然后介绍了如何获取Android源代码并搭建Android源代码开发环境和阅读环境的方法;第2章有针对性地剖析了Android的内核机制和结构,以及Android对Linux内核的改动和增强;第3章分析了Binder的架构和工作机制,以及Binder驱动的实现原理;第4章分析了Android电源管理模块的机制与实现;第5章全面地剖析了Android硬件设备驱动(显示、视频、音频、MTD、Event、蓝牙、WLAN等)的工作原理和实现,掌握这部分内容即可修改和编写基于Android的设备驱动程序;第6章深刻阐述了Android原生库的原理及实现,涉及系统C库、功能库、扩展库和原生的Server等重要内容;第7章系统地讲解了硬件抽象层的原理与实现,掌握这部分内容即可编写适合特定硬件设备驱动的抽象层接口;第8章和第9章是对系统运行库层的分析,主要讲解了Dalvik虚拟机的架构、原理与实现,以及Android的核心库相关的知识,掌握这部分内容即可完成对Android运行库的移植和修改。

2015-12-17

Android高级编程

《Android高级编程》首先简要介绍Android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前Android 1.0 SDK编写定制移动程序所需的知识,还能灵活快捷地运用未来的增强功能构建最前沿的解决方案。 Android提供一个开放的开发环境,为针对移动设备编写创新应用程序带来了激动人心的新机遇。作为使用AndroidSDK构建这些应用程序的实用指南书籍,《Android高级编程》从始至终穿插了一系列示例项目,每个项目都引入Android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍Android的所有基本功能,并通过简明扼要的示例引导您使用高级功能。

2015-12-17

2015 腾讯校园招聘技术类研发笔试题

2015 腾讯校园招聘技术类研发笔试题

2015-12-17

2015 小米校园招聘笔试题

2015 小米校园招聘笔试题

2015-12-17

2015 新浪微博校园招聘笔试题

2015 新浪微博校园招聘笔试题

2015-12-17

2015 中体彩测试工程师笔试题

2015 中体彩测试工程师笔试题

2015-12-17

2016 恒生电子校园招聘笔试题

2016 恒生电子校园招聘笔试题

2015-12-17

JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发

《轻量级Java EE企业应用实战:Struts 2+Spring 3+Hibernate整合开发》是2008年电子工业出版社出版的图书,作者是李刚。《轻量级JavaEE企业应用实战》一书于2008年由电子工业出版社出版发行,该书是《轻量级J2EE企业应用实战》的第二版,同时还融合了《整合Struts+Hibernate+Spring应用开发详解》理论部分。实际上,该书凝结了前两本书的精华部分。该书介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.1.2,Spring升级到2.5.5,Hibernate升级到3.2.6。该书保留《轻量级J2EE企业应用实战》里关于Tomcat、 Jetty的介绍,新增了关于Ant、CVS的内容。

2015-12-17

Mahout算法解析与案例实战

本书是一本经典的Mahout著作,原理与实战并重。不仅全面分析了Mahout算法库中不同模块中的各个算法的原理及其Mahout实现流程,而且每个算法都辅之以实战案例。此外,还包括4个系统级案例,实战性非常强。全书共11章分为三个部分:第一部分为基础篇(第1~2章),首先介绍了Mahout的应用背景、Mahout算法库收录的算法、Mahout的应用实例,以及开发环境的搭建;第二部分为算法篇(第3~7章),分析了Mahout算法库中不同模块的各个算法的原理以及Mahout实现流程,同时在每章书末含有每个算法的实战,让读者可以自己运行程序,感受程序运行的各个流程;第三部分为实战篇(第8~11章),通过对4个不同系统案例的分析讲解,让读者了解一个完整的云平台系统的各个流程,从需求到系统框架到系统功能再到功能开发。

2015-12-16

LINUX内核设计与实现

《Linux内核设计与实现(原书第3版)》主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时《Linux内核设计与实现(原书第3版)》也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。《Linux内核设计与实现(原书第3版)》采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。《Linux内核设计与实现(原书第3版)》适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。

2015-12-14

重构-改善即有代码的设计

本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

2015-12-14

算法艺术和信息学竞赛

本书即为信息学界著名的两本“黑书”之一(另一本为吴文虎、王建德编著的实用算法的分析与程序设计,这本书现在已经在市场是接近绝版,但是在网上能找到电子书·如果想找到替代品的话可以找另外一本由吴文虎教授以及王建德先生编著的黑书《新编实用算法的分析与程序设计》,由北京邮电出版社2008年出版,此书与原版表面内容相差较大,但实质没有太大差别)。

2015-12-14

Eclipse Maven插件

eclipse-maven插件。官网并不提供 maven 插件的离线安装包,在网上搜一下maven 的离线安装即可。

2015-11-30

apache-mahout-distribution-0.11.1-src

Apache Mahout 项目旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 的创始者 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档集群、提出建议和组织内容。

2015-11-30

log4j-1.2.17

Apache log4j 1.2.17 is distributed under the Apache License, version 2.0. The link in the Mirrors column should display a list of available mirrors with a default selection based on your inferred location. If you do not see that page, try a different browser. The checksum and signature are links to the originals on the main distribution server.

2015-11-30

apache-maven-3.3.9-bin

Apache Maven 3.3.9 is the latest release and recommended version for all users. The currently selected download mirror is http://www.us.apache.org/dist/. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available. You may also consult the complete list of mirrors.

2015-11-30

【5】2015 网易游戏校园招聘笔试题游戏插件研发岗

第一部分2015 【5】2015 网易游戏校园招聘笔试题游戏插件研发岗

2015-11-27

【4】2015 网易游戏校园招聘运维开发岗笔试题

第一部分2015 【4】2015 网易游戏校园招聘运维开发岗笔试题

2015-11-27

【1】2015 浙江大华校园招聘算法、软件类笔试题

第一部分2015 【1】2015 浙江大华校园招聘算法、软件类笔试题

2015-11-27

Better bitmap performance with Roaring bitmaps

Better bitmap performance with Roaring bitmaps

2023-03-06

Encoded Bitmap Indexing for Data Warehouses

Encoded Bitmap Indexing for Data Warehouses

2023-03-04

数仓规范化-菜鸟数据模型管理实践

数仓规范化—菜鸟数据模型管理实践 PDF

2023-02-19

美团外卖离线数仓建设实践

美团外卖数据仓库主要是收集各种用户终端业务、行为数据,通过统一口径加工处理,通过多种数据服务支撑主题报表、数据分析等多种方式的应用。数据组作为数据基础部门,支持用户端、商家端、销售、广告、算法等各个团队的数据需求。本文主要介绍美团外卖离线数仓的历史发展历程,在发展过程中碰到的痛点问题,以及针对痛点做的一系列优化解决方案

2023-02-19

Redis 入门指南

《Redis入门指南》是2013年人民邮电出版社出版的图书,作者是李子骅。该书是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法。

2017-06-02

Apache Spark源码剖析

《Apache Spark源码剖析》以Spark 1.02版本源码为切入点,着力于探寻Spark所要解决的主要问题及其解决办法,通过一系列精心设计的小实验来分析每一步背后的处理逻辑。

2016-11-12

Shell脚本学习指南

《Shell脚本学习指南》将告诉你这些有关UNIX主流工具的知识。除此之外,《Shell脚本学习指南》还会帮助你解决UNIX命令与标准的差异。 作者熟知UNIx程序使用的基本技巧与操作上细微的差异。他们不但会告诉你如何构建一个绝佳的脚本,还会教你如何避免落入让你功亏一篑的陷阱。有了《Shell脚本学习指南》,你可以节省很多力气。 我们要学习的不只是如何写出有用的Shell脚本,你还得了解如何迅速、确实地定制Shell,让程序的可移植性达到最佳状态,脱离对特定系统的依赖。这些技巧对任何操作与维护UNIX及Linux系统的人而言都很重要。《Shell脚本学习指南》所提供的知识,将可以帮助你掌握基本的Shell脚本编写技巧。Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对uNIx的用户与系统管理者而言

2016-05-28

dubbo-admin-2.5.4

dubbo-admin

2016-04-26

AspectJ所需Jar包

AspectJ 1.8.8 版本 更新时间 2016/02/12

2016-02-12

精通Spring

本书深入剖析了当前流行的轻量级开发框架Spring技术。本书总共分成3部分。第一部分,重点阐述Spring的架构。这部分内容循序渐进带领开发者进入Spring中。主要在于阐述Spring IoC和Spring AOP。第二部分,重点阐述Spring的使用。这部分内容从简化Java/J2EE的角度出发,从J2EE平台各个技术层面分析、并给出大量的研究实例,对Spring提供的API进行阐述。主要在于阐述Spring对J2EE API提供的服务抽象。第三部分,重点阐述Spring高级专题。这部分内容重点对视图技术进行了研究,因为对于开发Web应用而言,前端界面的开发往往工作量很大。因此,使用合理的视图技术开发Web应用对于项目的成功与否很关键。

2016-02-07

Spring-Jar-4.2.4

Spring应用开发使用的全部jar包: Spring-core.jar Spring-context.jar Spring-expression.jar Spring-beans.jar commons-logging.jar

2016-01-28

mysql-connector-java-5.1.38

mysql驱动jar包 峰

2016-01-21

log4j所需jar包

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

2016-01-20

jdom-2.0.6.zip

JDOM是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包,。它的设计包含 Java 语言的语法乃至语义。

2016-01-03

Hadoop实战中文版

为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。  《Hadoop实战》适合需要处理大量离线数据的云计算程序员、架构师和项目经理阅读参考。

2015-12-25

大型网站技术核心原理与案例分析

本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。

2015-12-25

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

TA关注的人

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