加载中
redis 缓存常见设计

前言 缓存是日常开发常用的技巧,可以有效的加速应用的读写速度,同时也可以降低后端的负载。而加入缓存之后同时也会带来一些其他问题,本文主要交流一下面对这些问题的常用做法。 缓存的基本...

2020/08/01 17:13
159
开发常用算法-哈希算法

前言 程序员对哈希算法应该都不陌生,比如业界著名的MD5、SHA、CRC等等;在日常开发中我们经常用一个Map来装载一些具有(key,value)结构的数据,利用哈希算法O(1)的时间复杂度提高程序处理效率...

如何构建技术影响力

构建自己技术影响力的建议 承担责任:重大的技术决策可能会带来重大的技术风险,要有勇气(和能力)承担风险,并以此赢得他人的尊重。 帮助他人:团队成员遇到技术问题的时候,即使不是自己的...

2020/02/22 23:33
256
软件设计笔记:开闭原则

开闭原则 软件实体(模块、类、函数等)应该对扩展是开发的,对修改是关闭的。 通俗的讲就是:软件功能是可以扩展的,但是软件实体是不可以被修改的。 当我们在代码中看到else 或者 switch/c...

2020/02/11 00:00
150
软件设计笔记:接口隔离原则

接口隔离原则 不应该强迫用户依赖他们不需要的方法。 使用接口隔离原则,就是定义多个接口,不同的调用者依赖不用的接口,只看到自己需要的方法。而实现类则通过实现这些接口,通过多个接口将...

2020/02/10 23:36
132
软件设计笔记:单一职责原则

单一职责原则 一个类,应该只有一个引起它变化的原因。 软件设计有两个基本准则:高内聚和低耦合。 (内聚性主要研究组成一个模块或者类的内部元素的功能相关性)

2020/02/10 22:52
122
软件设计笔记:里氏替换原则

里氏替换原则 通俗的讲就是:子类型必须能够替换掉它们的基类型。 继承是否合理我们需要用里氏替换原则来判断。是否合理并不是从继承的设计本身看,而是从应用场景的角度看。如果在应用场景中...

2020/02/09 18:04
85
软件设计笔记:依赖倒置原则

依赖倒置原则 高层模块不应该依赖底层模块,二者都应该依赖抽象。 抽象不应该依赖具体实现,具体实现应该依赖抽象。 例如:JDBC 我们在java开发中访问数据库,代码并不直接依赖数据库驱动,而...

2020/02/09 15:12
206
软件建模笔记

需求阶段 主要是通过用例图来描述系统的功能与使用场景; 对于关键的业务流程可以通过活动图描述; 如果在需求阶段就提出要和现有的某些子系统整合,那么可以通过时序图描述新系统和原来的子...

2020/02/08 15:20
238
是时候改变你数仓的增量同步方案了

经过一段时间的演化,spark-binlog,delta-plus慢慢进入正轨。spark-binlog可以将MySQL binlog作为标准的Spark数据源来使用,目前支持insert/update/delete 三种事件的捕捉。 delta-plus则是...

Appache Griffin 扩展Mysql数据源

概述 Apache Griffin定位为大数据的数据质量监控工具,支持批处理数据源hive、text文件、avro文件和实时数据源kafka,而一些以关系型数据库如mysql、oracle为存储的项目也同样需要可配置化的...

数据质量监控工具-Apache Griffin

[TOC] 一、概述 随着业务发展和数据量的增加,大数据应用开发已成为部门应用开发常用的开发方式,由于部门业务特点的关系,spark和hive应用开发在部门内部较为常见。当处理的数据量达到一定量...

2019/01/07 23:25
2W
spark 自定义partitioner分区 java版

在遍历spark dataset的时候,通常会使用 forpartition 在每个分区内进行遍历,而在默认分区(由生成dataset时的分区决定)可能因数据分布原因导致datasetc处理时的数据倾斜,造成整个dataset...

spark on yarn 多Context实验

前言 目前我们的业务需要多个spark job串行一起执行,每个spark job所需的参数配置各不相同;之所以分开多个spark job,是我们想保留每个任务独立执行的能力,提供独立的服务能力,又想在任务...

2018/07/11 14:35
1.2K
spark sql 在mysql的应用实践

前言 目前spark sql 主要应用在structure streaming、etl 和 machine learning 的场景上, 它能对结构化的数据进行存储和操作,结构化的数据可以来自HIve、JSON、Parquet、JDBC/ODBC等数据源...

2018/01/10 21:00
1.7K
JAVA 内存分析 MAT 常用功能

Histogram -> 可以列出内存中的对象,对象的个数以及大小。 Dominator Tree -> 可以列出那个线程,以及线程下面的那些对象占用的空间。 Top consumers -> 通过图形列出最大的object。 Leak S...

2017/11/12 15:13
339
关于团队协作

团队协作、代码风格、接口对接这些在工作中遇到的问题和解决方式

2015/07/26 18:17
165
2015.7.4 阿里移动技术峰会 分享

2015 阿里巴巴 移动技术峰会 收获 分享

算法学习笔记:链表(下),如何写链表代码

如何写链表代码 写链表代码是最考验逻辑思维能力的,因为链表代码到处都是指针操作、边界条件的处理,稍有不慎就容易产生bug。链表代码写的好坏,可以看出一个人写代码是否够细心,考虑问题是...

2020/04/12 13:06
40

没有更多内容

加载失败,请刷新页面

返回顶部
顶部