自定义博客皮肤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

一起陪伴大数据成长

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

原创 Hive 系统性学习笔记

Hive系统学习笔记

2022-11-20 15:59:49 401 2

原创 Flink 源码解读

Flink 源码解读系列

2022-09-18 22:29:14 190

原创 那些年我们踩过的 Flink 坑系列

那些年我们踩过的 Flink 坑系列

2022-07-31 17:40:19 168

原创 Spark 系统性学习笔记系列

Spark 系统性学习笔记系列

2022-07-31 17:36:50 265

原创 Flink 系统性学习笔记

Flink 学习笔记

2022-07-31 17:30:55 454

原创 Hadoop 系统性学习笔记系列

Hadoop 系统性学习笔记系列

2022-07-24 08:38:48 263

转载 如何使用 Bitmap 支持范围查询

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

2022-11-27 22:12:42 40

原创 深入理解 Hive UDAF

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

2022-11-21 14:35:49 547

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

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

2022-11-13 16:08:28 584

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

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

2022-11-13 15:58:10 113

原创 Flink Broadcast State 实战指南

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

2022-11-13 14:39:35 424

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

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

2022-11-12 22:50:09 129

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

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

2022-11-12 15:01:36 112

原创 Flink 数据交换策略 Partitioner

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

2022-11-12 10:18:37 686

转载 Hive Count Distinct 优化

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

2022-11-11 22:33:14 128

原创 Hive 分桶 Bucket

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

2022-11-11 08:17:15 405

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

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

2022-11-08 08:36:30 131

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

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

2022-11-07 22:01:53 361

翻译 ElasticSearch 动态更新索引

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

2022-11-05 16:39:15 162

翻译 ElasticSearch 段合并

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

2022-11-05 15:53:51 134

翻译 ElasticSearch 分片

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

2022-11-04 23:06:13 118

翻译 ElasticSearch Scroll 游标搜索

ElasticSearch版本:2.x。

2022-11-04 22:50:11 118

翻译 Hadoop 二次排序

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

2022-11-04 08:17:31 119

原创 ElasticSearch 索引

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

2022-11-03 23:10:10 118

翻译 Hadoop MapReduce 2.0 架构详解

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

2022-11-03 22:29:39 130

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

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

2022-11-02 23:52:42 105

原创 Hadoop MapReduce 2.x 工作原理

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

2022-11-02 23:17:50 353

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

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

2022-11-01 23:03:03 46

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

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

2022-10-30 20:00:21 60

转载 有赞埋点实践

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

2022-10-30 09:20:46 76

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

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

2022-10-27 20:57:02 46

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

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

2022-10-27 08:19:28 60

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

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

2022-10-25 22:58:31 86

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

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

2022-10-18 23:30:49 68

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

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

2022-10-17 23:09:55 84

翻译 Flink 如何处理背压

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

2022-10-16 23:16:01 97

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

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

2022-10-14 08:43:30 73

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

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

2022-10-13 23:50:02 419

转载 贝壳 DMP 平台建设实践

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

2022-10-12 23:01:48 481

翻译 Spark Streaming Kafka 偏移量 Offset 管理

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

2022-10-12 22:42:41 291

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

Redis 入门指南

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

2017-06-02

Apache Sqoop Cookbook

Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

2016-11-14

Apache Spark源码剖析

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

2016-11-12

Elasticsearch.The.Definitive.Guide

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的

2016-10-21

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

Java Persistence with MyBatis 3

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

2016-02-06

Java Persistence with MyBatis 3(中文版)

Java Persistence with MyBatis 3(中文版)

2016-02-06

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

大规模分布式系统架构与设计实战

《大规模分布式系统架构与设计实战》是作者从程序员到首席架构师十多年职业生涯的实战经验总结,系统讲解构建人规模分布式系统的核心技术与实现方法,包含作者开源的Fourinone系统的设计与实现过程,手把手教你掌握分布式技术。通过学习这个系统的实现方法与相关的理论,读者可快速掌握分布式系统的理论并设计自己的分布式系统。 《大规模分布式系统架构与设计实战》从分布式计算的基本概念开始,解剖了众多流行概念的本质,深入讲解分布式系统的基本原理与实现方式。包括master—slave结构、消息中枢模式、网状直接交互模式、并行结合串行模式等,以及Fourinone系统的架构、实现分布式功能的示例。接下来详细介绍分布式协调、分布式缓存、消息队列、分布式文件系统、分布式作业调度平台的设计与实现方法,不仅包括详细的架构原理、算法,还给出了实现步骤、核心API、实现代码。随书附带的光盘包括书中示例代码以及Fourinone系统源代码。

2015-12-25

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

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

2015-12-25

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

TA关注的人

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