- 博客(213)
- 资源 (19)
- 收藏
- 关注
原创 域外探索编程大赛学习总结
简单背景智能营销,精准触达,相似用户挖掘。假设营销业务方需要基于一定数量(1万)的种子用户,从58备选用户集(1000万)中,扩展出一定数量(10万)的最相似用户人群,进行营销触达,用户可用的特征为256维。这里假设余弦相似度越高,营销响应效果越好,最终筛选出来的目标用户为备选用户集合与种子用户计算相似度后,取去重后相似度最高的10万用户(求相似度,全排序,取Top10万)。程序输入程序输入为种子用户ID数据集合,每一行包括用户ID和256维用户特征,用户特征数据类型为浮点型数据(存在部分数据用科学计
2021-01-24 22:51:31 348
原创 Hystrix and Sentinel技术选型分析
Hystrix and SentinelHystrix wiki:https://github.com/Netflix/Hystrix/wiki/How-it-WorksSentinel wiki:https://sentinelguard.io/zh-cn/docs/basic-api-resource-rule.html对比Hystrix 的关注点在于以隔离和熔断为主的容错机制,超时或被熔断的调用将会快速失败,并可以提供 fallback 机制。而Sentinel的侧重点在于:多样化的流量
2020-12-10 20:06:23 552
原创 n阶for循环代码实现
背景业务需求需要图片根据DMP多个类型动态词包内容生成n*n的所有组合图片,这就需要先组合出所有词包的可能,且词包类型数量不限制,总组合数可以控制。实现1: for循环递归通过递归方式,把n阶循环转变到2层for循环@Testpublic void recursionFor() { Map<Integer, Set<Long>> map = new HashMap<>(); Long[] l1 = {1L, 2L}; Long[] l2
2020-12-10 19:35:31 3214 1
原创 Linux定期文件压缩脚本
python脚本,服务器crontab定期执行即可:#!/usr/bin/python''' logZipUtil.py'''import osimport datetimeimport zipfileyear = datetime.datetime.now().yearmonth = datetime.datetime.now().monthroot = "/da...
2018-07-20 16:14:41 3584
转载 MySQL单表查询优化技巧汇总
csdn原文:http://blog.csdn.net/zhu19774279/article/details/46473981本文的原文地址在此:https://www.percona.com/blog/2015/04/27/indexing-101-optimizing-mysql-queries-on-a-single-table/,以下是译文。-----------------
2017-09-19 16:16:37 4245 3
原创 shell脚本定时kill超过1小时的指定命令
实践中,经常发现有些shell命令长期执行,于是整理一程序,crontab定时清理下:#!/bin/shp_name=phantomJswhile truedosleep 3#every 3s checkpid="$(ps -ef|grep $p_name|awk '{print $2}'|head -n1)"echo $pidptime="$(ps -eo pid,etim
2017-09-09 12:11:38 6063
原创 spark streaming程序因集群kafka版本不一致造成ZkUtils类无法更新offset解决方案
问题:因为CDH集群环境问题,我spark streaming程序的依赖就依照其版本来进行,但这就遇到一个问题,集群spark2支持的kafka版本是0.9.0,而我们程序操作zookeeper的ZkUtils类就不兼容了。解决方案:重新KafkaCluster类,兼容集群版本。原程序单个topic的zk更新offset的方法:val stream = createCu
2017-06-30 14:18:05 3349
原创 Sqoop2.0 mysql sql查询结果导入hdfs脚本
使用脚本原因使用脚本的原因是为了适配hue操作,因为hue上sqoop的命令--query查询分隔符和其自身命令分隔冲突,无法使用空格区分是sqoop命令还是--query下命令。 Sqoop支持将任意的查询结果集导入,不使用--table、--columns和--where,使用SQL语句--query参数执行自由查询导入,但是必须指定--target-dir目录,必须指定--split
2017-06-20 14:08:02 7887
原创 基于Spark Streaming和Spark MLlib实现文本情感分析
前言:文章主要是学习实验楼《使用Spark MLlib进行情感分析》课程后的总结,这里只简单说明,没有具体操作步骤。代码和操作步骤可去课程实践获得,也可在我的资源下载中找到(资源中除课程介绍的随机森林模型训练数据方法,我还加入了自己学习使用朴素贝叶斯模型训练数据的方法)。项目实际利用推特上的数据结合Spark MLlib实现人们对美国这两位总统的情感分析,查看在美国不同地方的网民们对于他们的看
2017-01-22 16:33:26 7294 1
原创 缓存穿透,缓存击穿,缓存雪崩解决方案分析
前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案
2017-01-06 11:12:50 223632 49
原创 分组Top N问题(三) - sql及Hive实现
前言:同上篇Hadoop MapReduce 实现分组Top n介绍一样,这次学习Hive实现分组Top n。案例:在数据处理中,经常会碰到这样一个场景,对表数据按照某一字段分组,然后找出各自组内最大的几条记录情形。针对这种分组Top N问题,我们利用Hive、MapReduce等多种工具实现一下。场景模拟:对类如下users表记录,取出不同grade下得分最多的两条记录i
2016-11-25 16:44:25 6174
原创 分组Top N问题(二) - Hadoop MapReduce实现
前言:在Hadoop中,排序是MapReduce的灵魂,MapTask和ReduceTask均会对数据按Key排序,这个操作是MR框架的默认行为,不管你的业务逻辑上是否需要这一操作。技术点:MapReduce框架中,用到的排序主要有两种:快速排序和基于堆实现的优先级队列(PriorityQueue)。Mapper阶段: 从map输出到环形缓冲区的数据会被排序(这是MR框架中改良
2016-11-25 16:23:07 5862 3
原创 分组Top N问题(一) - java实现Top n算法基础
前言:在分析MapReduce、Hive、Redis和Storm、Spark等工具实现分组Top n问题前,我们先看下java最原始实现Top的方法有哪些,为后面奠定些基础,这也是我要整理成一个系列的原因。对于Top n问题,这里根据数据特点用合并法、快排过程法、大小顶堆和PriorityQueue固定队列四种方式来实现。合并法:数据描述:这种方法适用于几个数组有序的情况,来求To
2016-11-25 14:58:46 12898 7
原创 hive常用UDF and UDTF函数介绍-lateral view explode()
前言:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。这里只大概说下Hive常用到的UDF函数,全面详细介绍推荐官网wiki:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF。定义:UDF(User-Defined-Function),用户自定义函数对数据进行处理。
2016-11-23 14:13:06 12517
原创 基于WebRTC实现页面浏览器视频通话-原理及实现demo
基于Chrome、Java、WebSocket、WebRTC实现浏览器视频通话,整个例子中Java+WebSocket起到的作用是负责客户端之间的通信,并不负责视频的传输,视频的传输依赖于WebRTC。
2016-10-20 10:47:07 18276 2
转载 分布式延迟消息队列实现分析与设计
延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢?很多时候我们会有延时处理一个任务的需求,比如说:2个小时后给用户发送短信。15分钟后关闭网络连接。2分钟后再次尝试回调。下面我们来分别探讨一下几种实现方案:Java中的DelayQueueJava中的DelayQueue位于java.util.concurrent包
2016-09-29 17:35:37 8623
原创 常用正则表达式规则例子整理
Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|
2016-09-22 17:31:28 11808 1
原创 解决Hash碰撞冲突方法总结
Hash碰撞冲突我们知道,对象Hash的前提是实现equals()和hashCode()两个方法,那么HashCode()的作用就是保证对象返回唯一hash值,但当两个对象计算值一样时,这就发生了碰撞冲突。如下将介绍如何处理冲突,当然其前提是一致性hash。1.开放地址法开放地执法有一个公式:Hi=(H(key)+di) MOD m i=1,2,…,k(k其中,m为哈希表的表长。d
2016-09-18 15:46:05 56882 4
原创 微服务要素-十二要素(The Twelve Factors)
如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或“软件即服务”(SaaS)。“十二要素应用程序”(12-Factor App)为构建如下的SaaS应用提供了方法论:将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发;这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。
2016-09-14 11:45:57 16649 3
原创 java实现一定规则下的时间段或单元数统计
前期统计根据一定规则来统计,目前规则是8点12点算一个单位,12点到次日8点算一个单位。和时间段内时间长短无关。演播室使用统计中加班时段为每天的00:00-8:00,12:00-14:30,18:00-24:00,以及周末节假日全天。如果任务单时间属于加班时间内,需要统计出加班时间。统计中正常使用时间和加班时间要分别统计。 比如一个节目单使用时间为7:00到9:00,则加班时间计1小时,正常时间计1小时
2016-08-25 17:38:20 7378
原创 实现页面跳转后,原页面弹窗且不让后页面失去焦点-javascript函数执行顺序问题
首先先看看这个javascript脚本,需要说的是,这个脚本在IE、火狐上执行顺序是没有问题,但在谷歌、360等浏览器上就不能按顺序走;在没做定时器前,页面无法跳转;做了定时后,页面跳转后,定时的弹窗让跳转页面失去焦点。
2016-08-19 15:32:25 4306
翻译 微服务应用-基于Spring Cloud和Reactor构建网上商店微服务(下)
上篇主要是讲解理论知识和项目架构要点,这篇将集中在微服务中使用Spring Boot、Spring Cloud和Project Reactor实现事件溯源的原始主题。文章中也会介绍项目实现一些技术细节,项目Git下载地址:https://github.com/kbastani/spring-cloud-event-sourcing-example,项目我自己已经运行了一遍,非常适合学习使用。下面是原文翻译内容:
2016-08-02 23:20:08 9154 9
翻译 微服务应用-基于Spring Cloud和Reactor构建网上商店微服务(上)
和之前的开源社区项目:基于Spring Cloud和Docker构建电影推荐微服务(spring-cloud-microservice-example)一样,这次翻译的是基于Spring Cloud和Reactor实现Event Sourcing事件溯源构建网上商店微服务(spring-cloud-event-sourcing-example)开源项目,翻译的文章是项目作者写的关于此示例的使用Spring Cloud和Reactor在微服务中实现Event Sourcing
2016-08-02 18:53:36 15481 1
翻译 微服务应用-基于Spring Cloud和Docker构建电影推荐微服务
最近为了扩展自己对云应用的理解,找了好多基于Spring Cloud的demo,下面推荐两个开源社区项目:spring-cloud-microservice-example(基于Spring Cloud和Docker构建电影推荐微服务)和spring-cloud-event-sourcing-example(基于Spring Cloud和Reactor实现Event Sourcing构建网上商店微服务)
2016-07-27 18:46:34 14010 1
原创 基于Spring Boot和Spring Cloud实现微服务架构学习(六)-Docker应用
基于Spring Boot和Spring Cloud框架开发的微服务架构学习(六)-Docker应用下面就介绍如何将之前的Spring Boot项目部署在Docker上,首先,在应用根目录下建立 Dockerfile 文件,以使用 Maven 构建为例,选用 maven:3.3.3 官方镜像,官方维护的 Maven 镜像依赖于 Java 镜像构建,所以我们不需要使用 Java 镜像,具体内容如下:
2016-07-24 23:11:19 11200 1
原创 基于Spring Boot和Spring Cloud实现微服务架构学习(五)-Docker总结
基于Spring Boot和Spring Cloud框架开发的微服务架构学习(五)-Docker总结介绍Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker在部署软件方面解决了最困难的问题,将应用程序代码开发和部署环境。在不同平台之间移植代码变得很简单,因为我们的应用程序代码是被包装在Docker环境中。Dock
2016-07-24 22:44:37 12611
原创 基于Spring Boot和Spring Cloud实现微服务架构学习(四)-Spring Cloud总结
基于Spring Boot和Spring Cloud框架开发的微服务架构学习(四)-Spring Cloud总结Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),之前在第一章节也介绍这些,比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Z
2016-07-24 00:48:50 109626 9
原创 Spring Boot异常:BeanCreationException:Injection of autowired dependencies failed;
问题描述:在使用spring boot框架实现事务控制demo时,启动项目报错如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'queryTypeController': Injection of autowired dependencies failed
2016-07-22 23:52:37 12417
原创 基于Spring Boot和Spring Cloud实现微服务架构学习(三)-Spring Boot应用
基于Spring Boot和Spring Cloud框架开发的微服务架构学习(三)我们知道Spring Boot 是 Spring 产品中一个新的子项目,致力于简便快捷地搭建基于 Spring 的独立可运行的应用。大多数的 Spring Boot 应用只需要非常少的 Spring 配置,并且这些都统一配置在application.yml中,极好的解决了各种配置文件的困扰。说到这里,如果你觉得看英文文档很吃力,推荐一本老师推荐的书《JavaEE开发的颠覆者:Spring Boot实战》,这本书先是介绍Sp
2016-07-21 22:32:29 19858 2
原创 基于Spring Boot和Spring Cloud实现微服务架构学习(二)-Spring Boot总结
基于Spring Boot和Spring Cloud框架开发的微服务架构学习(二)对于Git、Docker容器技术,其与Spring Boot的关联度非常的高,大部分的应用都是托管在GitHub上,然后,因为Spring Boot开发的应用大多服务与微服务架构,而这种架构通常依托与Docker实现快速部署和compose一键部署,所以了解和学习他们也变得非常有必要。至于后面要学习的Docker部署集群管理工具Mesos或者Kubernetes等,其实也是要掌握的,这里推荐coding(码市)网站,上面有很
2016-07-19 22:57:11 29789 6
原创 基于Spring Boot和Spring Cloud实现微服务架构学习(一)-Spring框架介绍
基于Spring Boot和Spring Cloud框架开发的微服务架构学习(一)-Spring框架介绍总结看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感悟。首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选
2016-07-18 21:07:00 84184 15
原创 Spring Security和Struts拦截器比较
虽然收集了好多资料,但依旧还不是很懂为什么有人要做Spring Security和struts的整合,在我看来,他们都做到了拦截,希望了解的评论告诉我谢谢。对比:Struts2 简单来说,就是一个拦截器栈 也就是一系列的拦截器。 处理用户的请求,OGNL的使用,表单验证 等都是默认的拦截器在起作用。而spring的拦截器,主要体现在AOP的事务管理方面,还有比如一些错误或者异常的日志的
2016-07-14 17:08:56 3086
原创 部署不同版本Tomcat引发的jstl java.lang.NoClassDefFoundError javaxelValueExpression问题
问题说明: 今天碰到一问题,家里新增测试功能没有问题,而放到现场部署,页面抛这个错:java.lang.NoClassDefFoundError: javax/el/ExpressionFactory后来对比才发现,现场使用的是Tomcat5.5的版本发布,而我使用的是6.0的版本,网上了解确实存在jstl支持的问题。 解决方案:更新javax.el.j
2016-07-12 17:22:36 2554
原创 Spring Boot 资源加载配置
静态资源加载路径:根据默认原则,脚本样式、图片等静态文件应该放置在src - main -resources-static下,诸如Bootstrap和jQuery的一些类库都可以放在这里面;至于我们前台要演示的页面通常默认是放置在src - main -resources-templates下,例如index.html等。那除了上面这么路径Spring boot还会加载哪些路径的文件那
2016-07-10 22:40:29 2032
原创 基于服务器XMLCRUD操作工具类
考虑减少不必要业务对数据库的影响,将不重要的通告展示交由xml存储,这就有了XMLUtil工具类:注意写入xml路径问题,单个java文件路径会在src下,这里指定文件路径在tomcat下;然后这个util针对Notice实体开发,可自行修改。package com.dayang.audit.utils;import java.io.FileOutputStream;import j
2016-07-06 17:50:20 926
原创 SVN和Git项目管理中-tag操作步骤
tag说明 所谓打tag,要从SVN官方推荐的目录结构说起了。SVN官方推荐在一个版本库的根目录下先建立trunk、branches、tags这三个文件夹,其中trunk是开发主干,存放日常开发的内容;branches存放各分支的内容,比如为不同客户定制的不同版本;tags存放某个版本状态的标签,比如验收测试版、1.0.3版等。branhces和tags本质没有区别,都是通过svn
2016-07-01 18:20:44 4806
原创 Mac OS X 命令行安装Maven,异常处理
Mac OS X 安装Maven:• 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3• 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile添加下列两行代码,之后保存并退出Vi:export M2_HOME=/Users/robbie/apache-maven
2016-06-18 21:29:13 2227
原创 剑指offer面试题-求整数二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制1的个数。例如2为0010,该函数输出1.输入:一个整数(不管正负)输出:该整数1的个数解题思路:最先想到的方法是该整数与一个整数1做于操作,每做一次,该整数左移一位,直到变成0,基于这样的思路不难写出代码一。但是这样的话,代码一会在输入负数的时候,会引起死循环,所以我们可以声明变量B(初始为1)与该整数
2016-06-13 17:34:23 990
原创 网页调用Activex实现,ocx封装成cab文件
说明 首先说下为什么要把ocx控件打包成cab文件,这是因为ocx控件,需要用户单独下载,然后自己通过resiger命令,在cmd中注册,这对于小白用户,显然不太显示,所以就需要打包成cab文件,由网页作为ActiveX控件自动的下载注册,这样用户使用起来就轻松了多。OCX打包CAB并过程(打包cab后可以在加入自定义签名)制作cab文件时需要将所有的相关文件都包含进去,
2016-06-13 15:50:53 6470
原创 MD4加密java算法
网上找了好久,太费劲,所以干脆记录下。package com.xinhua.util;public class MD4 { private static int A, B, C, D; private static int X[] = new int[16]; private static int F(int X, int Y, int Z) { return (X & Y
2016-06-07 17:31:26 4143 1
spring boot 异常处理方案
2017-08-28
The current branch is not configured for pull
2016-08-06
基于Spring Cloud和ES事件流构建的商城微服务
2016-07-27
上传插件afinal_0.5_bin.jar
2015-03-26
mysql主从配置文件
2015-03-22
WebSocket学习文档
2015-01-08
JPA、hibernate项目常用包
2015-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人