自定义博客皮肤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)
  • 收藏
  • 关注

转载 货拉拉大数据对Bitmap的探索与实践(下)

bitmap 索引广泛应用于很多大数据OLAP引擎中,如Druid、Kylin、Doris等,是一种高效的索引技术。货拉拉大数据使用Apache Druid OLAP引擎支持罗盘、AB test等多个分析场景,所以本篇将介绍在Druid中如何构建bitmap索引实现高效查询。同时也介绍了如何利用bitmap的去重能力实现高效的精确去重功能,以及为了支撑更多场景我们做的一些改造优化。希望大家读后都能有所收获。

2023-02-05 18:04:30 251

转载 货拉拉大数据对BitMap的探索与实践(上)

本文首先通过对于BitMap的简单实现以及对于Java中BitSet源码的分析,提升读者对于其底层原理的理解,然后分析了BitMap的特点,并针对其存储优化的方案,讲解了RoaringBitmap技术的原理,最后列举了对于BitMap的常见实用场景。希望大家读后都能有所收获。货拉拉大数据对BitMap的探索与实践(上)

2023-02-05 17:32:44 373

转载 爱奇艺数据仓库平台和服务建设实践

首先介绍一下爱奇艺公司整体的业务情况以及数据仓库1.0的设计和出现的问题,针对数仓 1.0 的缺陷,是如何演进到数仓2.0架构以及数仓2.0需要解决的问题和需要达成的目标。

2023-02-04 21:38:00 602

转载 大数据分析常用去重算法分析之Bitmap

去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点。在 Apache Kylin Meetup 北京站上,我们邀请到 Kyligence 大数据研发工程师陶加涛为大家揭开了大数据分析常用去重算法的神秘面纱。Apache Kylin 作为目前唯一一个同时支持精确与非精确去重查询的 OLAP 引擎,非常好地覆盖了大数据上的去重需求。本次分享讲解了 Kylin 这两种去重方式背后用到的算法,希望能让大家从源头上理解为什么 Kylin 的去重查询有着如此优异的性能。

2023-02-04 16:39:48 316

原创 Hive 源码解读 Driver 语义分析器 SemanticAnalyzer

我们可以看到 AST 抽象语法树还是很抽象,不够结构化,并且也不携带表、字段相关的信息。为了方便翻译为 MapReduce 程序,AST 需要进一步的抽象和结构化转化为 QueryBlock,在这个过程中语义分析器 SemanticAnalyzer 起到了重要的作用。

2023-01-15 16:40:47 246

原创 Hive 如何实现钩子 Hooks

业界有许多开源的数据治理和元数据管理框架,可以在复杂的场景下满足元数据管理的需求。其中比较出名的 Apache Atlas 就是利用 Hive 的 Hooks 实现 Hive 的元数据管理。Hooks 是一种事件和消息机制,与插件机制比较类似,可以将事件绑定在 Hive 的执行流程中,而无需重新编译 Hive。根据不同的 Hook 类型,可以在不同的阶段触发运行。

2023-01-13 22:21:20 253

原创 Hive 源码解读 Driver 将 HQL 语句转换为 AST

Hive 使用 ANTLR3 实现 HQL 的词法和语法解析。ANTLR 是一种语言识别的工具,可以用来构造领域语言。这里不详细介绍 ANTLR,具体可以查阅ANTLR4 初识语法分析器生成工具 ANTLR。在这只需要了解使用 ANTLR 构造特定的语言只需要编写一个语法文件,定义词法和语法规则即可。ANTLR 通过词法分析器 (Lexer)、语法分析器 (Parser) 以及树分析器 (Tree Parser)等实现了词法分析、语法分析、语义分析、中间代码生成的过程。

2023-01-12 23:35:53 272

原创 Hive 源码解读 CliDriver HQL 命令处理

Hive 将 HQL 语句拆分为不同的 HQL 命令,最终交由 processCmd 方法来处理

2023-01-09 23:37:10 213

原创 Hive 源码解读 CliDriver HQL 语句拆分

Hive 版本:2.3.4

2023-01-08 23:29:11 161

原创 Java 解决 ERROR StatusLogger No log4j2 configuration file found 异常

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

2023-01-08 17:12:35 1385

翻译 ANTLR4 如何编写语法文件之语法解析器规则

有许多与动作action相关的语法元素与规则相关联。规则可以像编程语言中的函数一样使用,可以有参数、返回值以及局部变量(规则可以在规则元素中嵌入动作)。ANTLR 收集定义的所有变量并将它们存储在规则上下文对象中。这些变量通常称为属性。定义在[…]中的属性可以像其他变量一样使用。// 将参数值与 INT 词条对应值相加并返回结果args, locals 和 return 的[…]通常都是目标语言,但有一些限制。[…]字符串是一个逗号分隔的声明列表,其中包含前缀或后缀类型符号或无类型符合。

2023-01-07 17:56:55 688

翻译 ANTLR4 如何编写语法文件之语法结构

一份语法由一个语法声明和紧随其后的若干规则构成

2023-01-04 23:39:22 1027

翻译 ANTLR4 如何编写语法文件之语法词汇

ANTLR 中的词汇大多数程序员可能都熟悉,因为它遵循 C 语言及其派生语言的语法,此外还对语法进行了一些扩展。

2023-01-03 23:33:34 285

原创 ANTLR4 在 IDEA 中使用 ANTLR 与 Java 程序集成

将 ANTLR 自动生成的代码与 Java 程序进行集成

2023-01-02 15:20:39 971

转载 如何实现一个SQL解析器

在选择SQL解析器应用到我们实际的业务场景之前,我们先来了解一下SQL解析器的核心知识点。如何理解语法解析呢?语法解析我们可以这么来进行理解,在启动语法解析任务时,语法分析的任务会在词法分析的结果上将词条序列组合成不同语法短句,组成的语法短句将与相应的语法规则进行适配,若适配成功则生成对应的抽象语法树,否则报会抛出语法错误异常。比如如下SQL语句:SQL示例约定规则如下:上表中,红色的内容通常表示终结符,它们一般是大写的关键字或者符号等,小写的内容是非终结符,一般用作规则的命名,比如字段、表名等。

2022-12-31 15:25:04 1115 1

转载 关于 SQL 解析,为何编程语言解析器 ANTLR 更胜一筹?

ANTLR 是的简写,是一个用 Java 语言编写的识别器工具。它能够自动生成解析器,并将用户编写的 ANTLR 语法规则直接生成目标语言的解析器,它能够生成Java、Go、C等语言的解析器客户端。ANTLR 所生成的解析器客户端将输入的文本生成抽象语法树,并提供遍历树的接口,以访问文本的各个部分。ANTLR 的实现与前文所讲述的词法分析与语法分析是一致的。词法分析器根据语法规则做词法单元的拆分;语法分析器对词法单元做语义分析,并对规则进行优化以及消除左递归等操作。

2022-12-30 22:33:14 1095

原创 ANTLR4 初识语法分析器生成工具 ANTLR

Antlr 是一款强大的语法分析器生成工具,可用于读取、处理、执行以及翻译结构化的文本或二进制文件。被广泛应用于学术领域和工业生产实践,是众多语言、工具和框架的基石。Twitter 搜索使用 Antlr 进行语法分析,每天处理超过20亿次查询;Hadoop 生态系统中的 Hive、Pig、数据仓库和分析系统所使用的语言都用到了 Antlr;Lex Machina 将 Antlr 用于分析法律文本;Oracle 公司在 SQL 开发者 IDE 和迁移工具中使用了 Antlr;

2022-12-30 21:30:01 905

原创 Antlr4 Can‘t load Hello as lexer or parser

Can't load Hello as lexer or parser

2022-12-30 20:58:16 628

原创 Antlr4 xxx has been compiled by a more recent version of the Java Runtime

如果低版本的 Java 却安装高版本的 Antlr4 就会报错

2022-12-30 19:57:37 1999

转载 顺丰 基于 Hook 机制实现数据血缘系统

目前已经实现了对 Hive 和 DataX 的 Hook 模块开发,能够满足对基于 Hive 的离线数据计算任务和基于DataX 的离线数据集成任务进行血缘采集,基本满足了大多数场景下的离线任务血缘采集的需求。Hook 模块采取插件式开发模式,实现多种大数据执行引擎各自的 Hook 函数,对其任务配置参数进行解析,获取当前任务的集群信息、数据流向信息,操作规则等,并进行相应的血缘解析工作,生成TableLineageInfo 对象,最后通过 Http 请求的方式将结果发送到 Collector 端。

2022-12-29 23:54:48 1396

转载 搜狐 Hive SQL 血缘关系解析与应用

在数据仓库构建的过程中,SQL 血缘关系体现了各个数据表以及相关属性的依赖关系。SQL 血缘关系即是对业务流程涉及到的模型表进行梳理,包含了集群血缘关系、系统血缘关系、表级血缘关系和字段血缘关系,其指向数据的上游来源,向上游追根溯源。通过简单的 SQL 语句展现各个表之间的数据关系。

2022-12-29 10:39:30 1049

原创 Hive 源码解读 CliDriver HQL 读取与参数解析

Hive 源码解读 CLI 入口 CliDriver 初始化工作

2022-12-27 23:24:45 175

原创 Apache Common CLI 如何实现命令行解析

Apache Commons CLI 提供了一个解析传递给程序的命令行选项的 API 类库。此外它还能够打印帮助消息,详细说明命令行工具的可用选项。

2022-12-25 23:14:29 663

原创 Hive 源码解读 CLI 命令解读

Hive 变量内部是以 Java 字符串的方式存储的,用户可以在查询中引用变量。命令在 hivevar 命名空间自定义变量,两者是等价的,都可以让用户在命令行中自定义用户变量以便在 Hive 脚本中引用。变量和属性是在不同的上下文中使用的术语,但是在大多数情况下它们的功能是相同的。通过上面语句可以发现 dt 属性是定义在 hiveconf 命名空间下的,而不是定义在 hivevar 命名空间下。通过 SET 查看 dt 的值可以发现变量 dt 是定义在 hivevar 命名空间下的。

2022-12-23 20:21:50 664

原创 Hive 通过 Jdbc 连接 HiveServer2

如果想通过 JDBC 来访问 HiveServer2,需要开启 HiveServer2 服务

2022-12-21 21:12:40 839

原创 Hive 源码解读 准备篇 Debug 讲解

使用 Hive 执行 HQL 查询时遇到 bug,解决办法无非几种,explain HQL、查看日志、远程 Debug,本文就将详细讲解如何使用 Idea 远程 Debug。

2022-12-21 09:38:37 503 1

原创 Hive 3.1.3 编译出错 ldap-client-api:jar:0.1-SNAPSHOT 获取不到

顶层中存在一个 org.apache.directory.client.ldap:ldap-client-api,使用的是 0.1 版本,但 org.apache.directory.server:apacheds-server-integ 中也存在一个 org.apache.directory.client.ldap:ldap-client-api,版本为 0.1-SNAPSHOT,并且因为编译时找不到而失败。这个问题在 4.0.0-alpha-1 得到解决,具体可以查看。

2022-12-18 21:04:28 432

转载 Hive 3.1.2 编译出现 Unknown host snapshots.maven.codehaus.org

错误的原因是 codehaus 服务器关闭,网页 http://snapshots.maven.codehaus.org/maven2/ 打不开。Hive 可以编译了。

2022-12-18 10:39:36 228

转载 转转用户画像平台实践

用户画像是指根据用户的属性、用户偏好、生活习惯、用户行为等信息而抽象出来的标签化用户模型。通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算处理。简单说,就是对用户的某个维度特征的描述。对一群用户而言,我们为了能让业务做的更好,就想知道他们的很多特征。比如说,我现在有个10万块钱的活动预算,那这个钱应该集中花在哪里呢?

2022-12-16 11:36:12 347

转载 使用 Range-Encoded 实现 Bitmap 范围查询

在一些标签系统中,经常需要通过标签进行筛选,例如电商里的圈人,圈货都是根据预先打上的标签进行运算,得到最终的结果,由于用户和商品的量级往往非常大,常见的解决方案是使用bitmap存储,每个标签对应一个bitmap,通过对bitmap的压缩(数据往往非常稀疏)既可以降低存储压力,同时又能支持高效的标签运算。然而,在某些查询场景下,例如所有低于99元的男士T恤这样的圈货条件,使用bitmap处理起来就比较费劲,因为价格低于99是一个范围查询,bitmap如何支持呢?

2022-11-27 22:12:42 636 4

原创 深入理解 Hive UDAF

用户自定义聚合函数(UDAF)支持用户自行开发聚合函数完成业务逻辑。从实现上来看 Hive 有两种创建 UDAF 的方式,第一种是 Simple 方式,第二种是 Generic 方式。} }AbstractGenericUDAFResolver 提供了一种简单的方法将以前实现 GenericUDAFResolver 接口的 UDAF 迁移到 GenericUDAFResolver2 接口上。

2022-11-21 14:35:49 1332

原创 Roaring Bitmap 更好的位图压缩算法

Bitsets(也称为Bitmaps)通常用作快速数据结构。不幸的是,他们可能会占用太多内存。为了降低内存的使用,我们经常会使用压缩的位图。Roaring Bitmaps 是一种压缩的位图,要优于常规的压缩位图,例如 WAH,EWAH 或者 Concise。在某些情况下,可以比它们快几百倍,并且通常提供更好的压缩。几乎所有流行的编程语言(Java,C,C ++,Go,C#,Rust,Python …)都提供了 Roaring Bitmaps。

2022-11-13 16:08:28 1362

翻译 Flink 使用 Broadcast State 的4个注意事项

广播状态模式指的是将低吞吐量的事件流(例如,包含一组规则)广播到某个算子所有并发实例上的一种流应用程序,然后与来自另一条事件流的原始数据进行计算。动态规则:假如我们有这样一条规则,当交易值超过100万美元时需要发警报,并将这一规则广播到算子所有并发实例上。数据丰富:对只包含用户ID的交易数据流进行数据丰富,可以将广播数据与用户ID进行关联。为了实现这样的应用,广播状态是关键组件,我们将在下文详细描述。广播状态是 Flink 中支持的第三种类型的 Operator State。

2022-11-13 15:58:10 652

原创 Flink Broadcast State 实战指南

广播状态可以以某种方式组合处理两个事件流。第一个流的事件被广播到算子所有并行实例上,并存储在状态中。另一个流的事件不会被广播,但是会被发送到同一算子的各个实例上,并与广播流的事件一起处理。这种新的广播状态非常适合低吞吐量和高吞吐量流 Join 或需要动态更新处理逻辑的应用程序。我们将使用一个具体示例来演示如何使用广播状态,并展示具体的API。

2022-11-13 14:39:35 951

转载 Flink Unaligned Checkpoint 在 Shopee 的优化和实践

反压严重时,Aligned Checkpoint(下文简称 AC)超时主要在于 Barrier 在数据流中排队。反压严重时,数据流动很慢导致 Barrier 流动很慢,最终导致 AC 超时。UC 的核心思路是:当数据流动很慢时,Barrier 通过某些机制超越数据,从而使得 Barrier 可以快速地从 Source 一路超车到 Sink。

2022-11-12 22:50:09 848

翻译 深入了解 Flink 如何实现端到端的 Exactly-Once 处理语义

Flink 检查点是支持两阶段提交协议并提供端到端的 Exactly-Once 语义的基础。这个方案的一个优点是: Flink 不像其他一些系统那样,通过网络传输存储(materialize)数据 - 不需要像大多数批处理程序那样将计算的每个阶段写入磁盘。Flink 新的 TwoPhaseCommitSinkFunction 提取了两阶段提交协议的通用逻辑,并使构建端到端的 Exactly-Once 语义的应用程序(使用 Flink 和支持事务的外部系统)成为可能。

2022-11-12 15:01:36 607

原创 Flink 数据交换策略 Partitioner

我们可以看到所有的 Partitioner 都继承了 StreamPartitioner 类。StreamPartitioner 继承自 ChannelSelector 接口。这里的 Channel 概念与 Netty 不同,只是 Flink 对于数据写入实例的简单抽象,我们可以直接认为它就是下游算子的并发实例(即物理分区)。所有 StreamPartitioner 的子类都要实现 selectChannel() 方法,用来选择发送到哪个实例。

2022-11-12 10:18:37 1375

转载 Hive Count Distinct 优化

我们利用 Hive 对嵌套语句的支持,将原来一个 MapReduce 作业转换为两个作业,在第一阶段选出全部的非重复 id,在第二阶段再对这些已去重的 id 进行计数。本文我们就来分析一个简单语句的优化过程。我们看到作业运行时的 Reduce Task 个数为1,对于统计大数据量时,这会导致最终 Map 的全部输出由单个的 Reduce Task 处理。从上述优化过程我们可以看出,一个简单的统计需求,如果不理解 Hive 和 MapReduce 的工作原理,它可能会比优化后的执行过程多四、五倍的时间。

2022-11-11 22:33:14 1190

原创 Hive 分桶 Bucket

通常 Hive 中的分区功能提供了一种将 Hive 表数据分隔成多个文件/目录的方法。当只有有限个分区,分区大小差不多大情况下,分区会产生不错的效果。但在有些情况下并不能如我们所愿,比如,当我们根据国家对表进行分区时,一些较大的国家会有较大的分区(例如:4-5个国家就占总数据的70-80%),然而一些小国家分区会比较小(剩余的所有国家可能只占全部数据的20-30%)。Hive 中的分区提供了一个隔离数据和优化查询的便利方式,不过并非所有的数据都可形成合理的分区,例如,上面的情形。

2022-11-11 08:17:15 1072

转载 Bitmap用户分群方法在贝壳DMP的实践和应用

DMP数据管理平台是实现用户精细化运营和和全生命周期运营的的基础平台之一。贝壳找房从2018年5月开始建设自己的DMP平台,提供了用户分群、消息推送、人群洞察等能力。DMP平台在贝壳的实践和应用。目前,贝壳 DMP 数据覆盖了贝壳和链家的数亿用户,用户偏好和行为数据量达到数十亿,拥有上千维画像标签。在海量用户画像数据基础上实现用户分群,同时满足业务方越来越复杂的标签组合需求,提高人群包构建速度同时保证数据准确性,为此,我们对DMP平台进行了持续的迭代优化。

2022-11-08 08:36:30 972

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关注的人

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