自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

转载 T-SQL RIGHT JOIN

  RIGHT JOIN外联接与LEFT JOIN相似。取得右表所有记录,并按过滤条件ON去取得左表的记录,取得这些记录,如遇上没有匹配的列使用NULL填充。  演示数据来源,两张表来自http://www.cnblogs.com/insus/articles/1977561.html这里的[Machine]表和[Job]表。  例子,取得所有工作单,你将会到这些工作的分配给哪些机器加工和...

2019-01-29 17:33:35 222

转载 SQLite 插入大量数据慢的解决方法

  sqlite 插入数据很慢的原因:sqlite在没有显式使用事务的时候会为每条insert都使用事务操作,而sqlite数据库是以文件的形式存在磁盘中,就相当于每次访问时都要打开一次文件,如果对数据进行大量的操作,时间都耗费在I/O操作上,所以很慢。  解决方法是显式使用事务的形式提交:因为我们开始事务后,进行的大量操作的语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也...

2019-01-29 17:30:44 2376

转载 反爬虫系列-JS参数篇

  之前写了《抓取QQ音乐周杰伦专辑与歌词》这篇文章,其中有些参数,如果不查看其 JS 代码,是无法知道它是怎么来的。说到这里,我们来看看啥是反爬虫?某度如是说:  他们根据ip访问频率,浏览网页速度,账户登录,输入验证码,flash封装,ajax混淆,js加密,图片,css混淆等五花八门的技术,来对反网络爬虫。  这篇文章还不涉及加密,只是查看一些参数的所以然,所以说还是比较基础的,后...

2019-01-29 17:28:15 305

转载 技术分享:HBase架构

Zookeeper,作为分布式的协调。RegionServer也会把自己的信息写到ZooKeeper中。 HDFS是Hbase运行的底层文件系统 RegionServer,理解为数据节点,存储数据的。 Master RegionServer要实时的向Master报告信息。Master知道全局的RegionServer运行情况,可以控制RegionServer的...

2019-01-29 17:26:00 134

转载 ES使用中遇到的多种坑,以及解决方案

  1.查询不到导致404报错  在使用get或者search进行查询获取文档的时候,如果没有结果会抛出404的异常。     我们当然不希望抛出异常,这时候就要使用ignore这个参数来忽略报错,ignore可以忽略异常,其值是需要忽略的异常对应的返回码,常见的有400表示索引已存在,404表示索引没找到。  $params = [  'index' = 'test_...

2019-01-28 17:40:07 5559

转载 MyBatis使用自定义TypeHandler转换类型

  MyBatis虽然有很好的SQL执行性能,但毕竟不是完整的ORM框架,不同的数据库之间SQL执行还是有差异。  笔者最近在升级 Oracle 驱动至 ojdbc 7 ,就发现了处理DATE类型存在问题。还好MyBatis提供了使用自定义TypeHandler转换类型的功能。  本文介绍如下使用 TypeHandler 实现日期类型的转换。  问题背景  项目中有如下的字段,...

2019-01-28 17:37:32 191

转载 详解Django自定义过滤器

  django过滤器的本质是函数,但函数太多了,为了显示自己的与众不同,设计者们想了个名字过滤器...  django有一些内置的过滤器,但和新手赛车不多(把字母转成小写,求数组长度,从数组中取一个随机值),功能很基础(不够强大)...  抱着一种研究琢磨的心态,试着自己动手写一个过滤器:功能很简单,求一个数组中的最大值(今天太晚了,偷个懒哈~)  功能是很简单的:   ...

2019-01-28 17:33:36 154

转载 SpringBoot使用Nacos配置中心

  1.Nacos简介  Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计。它可以帮助您轻松构建云本机应用程序和微服务平台。  Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务,Spring Cloud RESTFul服务或Kubernetes服务。  尤其是使用Eureka注册中心的,并且担心Eureka闭源的开发者们...

2019-01-28 17:30:57 3207

转载 大数据时代的微服务之路

  J大数据是什么,大数据如同少年谈性,都好像很明白的样子,但是谁都不怎么明白。  有人说大数据就是大量海量数据处理。是吗?我说这样理解可能有点片面。  在此我举两个小例子,希望有助于对于这个概念能做一定的阐述。  例 1:  当你有一天在树林里面运送一块大木桩,你想一次性运回农场,你牵一头牛来,这头牛来运输这块木头,拉的动吗,可以  当你有一天有10块大木桩,你还牵头牛来...

2019-01-28 17:27:56 724

转载 大小写敏感的问题

  utf8_general_ci --不区分大小写  utf8_bin--区分大小写  二、 MySQL在windows下是不区分大小写的,将script文件导入MySQL后表名也会自动转化为小写,结果再 想要将数据库导出放到linux服务器中使用时就出错了。因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改MySQL的设置使其也不区分大小写,但是有没有办法...

2019-01-24 15:14:40 639

转载 论Spark高手是怎样炼成的

  SPARK  J大数据的处理怎么能变快一点,答案是请用spark,因为它是基于内存的,可以有效减少数据的落地次数。Spark性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。  Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定...

2019-01-24 15:11:55 188

转载 数据结构与算法概论

  J数据结构与算法概论  一、基本概念  数据:描述客观事物的数、字符以及能输入计算机中并被计算机处理的符号集合  数据元素:是数据的基本单位。有时一个数据元素可由若干个数据项(也称为字段、域、属性)组成。  数据对象:是具有相同性质的数据元素的集合,是数据的一个子集。  数据项:是具有独立含义的最小标识单位  数据结构:带有结构的数据元素的集合。结构指的是数据元素之间的...

2019-01-24 15:08:58 174

转载 四种大数据分析方法与大家分享

     本文主要讲述数据挖掘分析领域中,最常用的四种数据分析方法:描述型分析、诊断型分析、预测型分析和指令型分析。  当刚涉足数据挖掘分析领域的分析师被问及,数据挖掘分析人员最重要的能力是什么时,他们给出了五花八门的答案。  其实我想告诉他们的是,数据挖掘分析领域最重要的能力是:能够将数据转化为非专业人士也能够清楚理解的有意义的见解。  使用一些工具来帮助大家更好的理解数...

2019-01-24 15:06:42 340

转载 程序员,别带着耳机工作了

  绝大多数都是这样工作  年底了,我相信大家都比较忙,不过大家放假前还是先整理一下接下来的工作计划还有学习目标吧,毕竟都是程序员,多多少少是要保持技术硬核能力的,而最近也在公司整理所有项目的进度与技术问题的对接,所以大致了解了公司的核心业务与项目的问题,我司大部分情况还是比较好的,项目型项目基本是完成80%,运营型的这里就不说了,不过还是有部分延迟是因为软件开发的问题,比如自己的研发因突然问...

2019-01-24 15:04:08 497

转载 SEO提高网站排名快速见效的方法

  SEO如何提升网站排名?seo中文名称搜索引擎优化,是提升网站排名的一种技术手段,常用的手段就是优化标签,内链外链等等,最核心的优化方向,“关键词”。最常见的表现形式就是软文,但是有的时候就算你做了很多,也不见得有效果?其实想提高网站排名不是一时半会的功夫,那是要日积月累的,下面犀牛代理IP给大家简单的说是所SEO提高网站排名快速见效的方法  seo做排名不是像竞价那么快的,自然排名的...

2019-01-23 17:43:22 1307

转载 实现缓存最终一致性的两种方案

  一、重客户端  写入缓存:     应用同时更新数据库和缓存  如果数据库更新成功,则开始更新缓存,否则如果数据库更新失败,则整个更新过程失败。  判断更新缓存是否成功,如果成功则返回  如果缓存没有更新成功,则将数据发到MQ中  应用监控MQ通道,收到消息后继续更新Redis。  问题点:如果更新Redis失败,同时在将数据发到MQ之前的时间,应用重启...

2019-01-23 17:40:09 501

转载 也谈拼多多被薅羊毛事件

  周日的拼多多事件经过一个周日和一个周一的发酵,想必大部分人都已经知道了,有些人在感慨为什么自己每次都是在别人薅羊毛结束才知道没能参与,有些人在趁机推自家广告,有些人在做事件复盘总结...当然,我也难免落入俗套,也做个技术方面的总结,别人做过的总结我尽量避免重复,重点从开发人员角度说一下类似于拼多多这种量级的系统日常开发和运维要注意的一些问题。  一、监控  个人认为监控是这次事件里...

2019-01-23 17:34:09 1288

转载 Java程序员怎么迈向架构师

  怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。  什么是架构,什么是架构师?这似乎是聊架构话题时永恒的问题。  从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么。因为从实际情况看,在不同的系统层级,不同的需求下架构师...

2019-01-23 17:31:46 252

转载 Hystrix的正确理解方式

     hystrix-logo-tagline-640.png  什么是熔断器  熔断器,原本是电路中在电器发生短路时的防止电路过载的开关装置,它切断发生短路的电路,从而防止因电路过载导致的发热起火等灾难的发生。同样的,在为服务中也可能出现类似电路中短路的事故发生,所以为了防止类似的灾难的发生,Hystrix(微服中的熔断器)为此而被设计出来。  官方的定义  以下...

2019-01-22 17:43:55 460

转载 GTS--阿里巴巴分布式事务全新解决方案

  现代IT应用中,服务化SOA作为主流的技术架构被广泛应用到各种信息系统。原来一个系统被分拆成若干个服务的集合,产生了跨服务调用的分布式事务问题。随着Dubbo、SpringCloud等微服务框架的流行,服务被进一步细分,跨服务调用以及服务的嵌套调用越来越广泛。分布式事务已经成为现代分布式系统中必须面对并解决的难题。为此,今天给大家介绍下阿里巴巴为解决服务调用中的事务问题推出的解决方案GTS。...

2019-01-22 17:40:16 256

转载 RabbitMQ 与 AMQP路由

  概述  RabbitMQ(MQ 为 MessageQueue) 是一个消息队列,主要是用来实现应用程序的异步和解耦,同时起到消息缓冲、消息分发作用  消息队列  消息(Message)是指应用间传送的数据,可以为字符文本、潜入对象  消息队列(Message Queue)是一种应用的通信方式,消息发送后可立即返回,由消息系统来确保可靠的传递,消息发布者只管消息发布到 MQ 中而...

2019-01-22 17:36:32 191

转载 RabbitMQ :常用命令与图形管理及用户权限

  RabbitMQ 安装  安装 RabbitMQ 前要先安装 Erlang,可以去 Erlang 官网下载,接着去 RabbitMQ 官网下载安装包,解压缩即可  Mac 用户可以通过 HomeBrew 来安装,会自动添加依赖的 Erlang  brew update  brew install rabbitmq  RabbitMQ 运行和管理  要启动 Rabbi...

2019-01-22 17:33:17 428

转载 项目管理工具:Maven

  Maven是什么,作用是什么?  Maven是项目管理工具,主要有两大作用:项目构建和依赖管理。项目构建就是项目编译、测试、集成发布实现自动化,依赖管理是很方便的功能,只要把当前项目所依赖的构件(jar、war等)写到pom配置文件中,就可以从仓库中自动导入对应的构件及构件依赖的其他构件,不同的maven项目共享一个构件仓库,项目引用仓库中的构建,避免重复下载。  Maven如何安...

2019-01-22 17:14:53 254

转载 对象的生死判定和算法详解

  对象除了生死之外,还有其他状态吗?对象真正的死亡,难道只经历一次简单的判定?如何在垂死的边缘“拯救”一个将死对象?判断对象的生死存活都有那些算法?本文带你一起找到这些答案。  在正式开始之前,我们先来了解一下垃圾回收。  GC介绍  **GC:**Garbage Collection,中文翻译为垃圾回收。  GC的历史  GC有着很长的历史了,最初的GC算法发布于1960年...

2019-01-21 17:39:08 250

转载 分布式系统关注点——「无状态」详解

  我们开始聊一些让系统更简单,更容易维护的东西——「易伸缩」,首当其冲的第一篇文章就是「stateless」,也叫「无状态」。  z哥带你先来认识一下「状态」是什么。  一、初识「状态」  之前在「负载均衡」的第四篇(分布式系统关注点——做了「负载均衡」就可以随便加机器了吗?)中提到过一个例子,我们再翻出来一下。  开发Z哥对运维Y弟喊:“Y弟,现在系统好卡,刚上了一波活动,赶...

2019-01-21 17:36:10 219 1

转载 Java虚拟机组成详解

  Java虚拟机(Java Virtual Machine)下文简称jvm,上一篇我们对jvm有了大体的认识,进入本文之后我们将具体而详细的介绍jvm的方方面面,而本文主要讲的是jvm的组成,了解了它,就揭开了jvm的神秘面纱。  一、jvm的主要组成部分  类加载器(ClassLoader)  运行时数据区(Runtime Data Area)  执行引擎(Executio...

2019-01-21 17:32:38 167

转载 面试前必须要知道的Redis面试题

  今天来分享一下Redis几道常见的面试题:  如何解决缓存雪崩?  如何解决缓存穿透?  如何保证缓存与数据库双写时一致的问题?  一、缓存雪崩  1.1什么是缓存雪崩?  回顾一下我们为什么要用缓存(Redis):     现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。     在前面学习我们都知道Redis...

2019-01-21 17:29:27 193

转载 CountDownLatch详解

  功能描述  一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。  常见用法  多个人等一个信号后继续执行操作。例如5个运动员,等一个发令员的枪响。  一个人等多个人的信号。旅游团等所有人签到完成才开始出发。  我们最常见见到使用的地方是zk获取连接的时候  final CountDownLatch countDownLatch=n...

2019-01-21 17:25:59 113

转载 Spark 基于物品的协同过滤算法实现

  J由于 Spark MLlib 中协同过滤算法只提供了基于模型的协同过滤算法,在网上也没有找到有很好的实现,所以尝试自己实现基于物品的协同过滤算法(使用余弦相似度距离)  算法介绍  基于物品的协同过滤算法是目前业界应用最多的算法,亚马逊网、Netflix、Hulu、YouTube 都使用该算法作为推荐系统的基础算法。算法核心思想是根据用户对物品的历史行为记录,先计算物品之间的相似度...

2019-01-17 15:25:01 793

转载 微服务部署与优雅停机

  00 前言  微服务部署是一个非常严谨的话题,微服务开发完成需要上线部署,在整个部署过程中怎么保证业务的连续性,怎么能让服务的客户端无感知,这是一个具有一定挑战性的问题。  为了达到不同目的,微服务的部署方式有很多种方式:滚动部署、蓝绿部署、灰度/金丝雀部署。无论是哪一种部署方式,都需要三步操作:停止老版本应用、部署新版本应用、切流量,这三步操作可能是手动也可能是自动,而且它们的顺序也...

2019-01-17 15:22:22 591

转载 我想加入阿里,我该怎么做?

  在之前我提到过,2017年我实现了一个小目标,毕业三年加入阿里。  听上去好像挺厉害,挺光鲜,但是实际上并不那么容易,在这背后有很多我自己摸索和努力的故事。  在这里我想分享一些我的经验,送给那些跟我一样,没名校背景没大厂背景,但是想进阿里(或其他大厂),又有点迷茫不知该如何前进的人。  其实在进阿里之前,我也挺迷茫,内心有一些谜团一直困扰着我,比如阿里招人标准是什么?,自己距...

2019-01-17 15:19:34 245

转载 浅谈NodeJs的模块机制

  J历史  我们都知道,js在刚被创建的时候,只是为了在网页上写一些小脚本而已,比如网页特效,表单验证等等,创立者也许没觉悟到以后的js会发展到如此规模。这是web1.0时代。  在web 2.0时代,各种前端库,前端框架被开发出来,jquery,angular就是代表。此时js的功能也就从写写小特效啥的跃迁到了应用开发的级别上。可以说,js经历了工具类库,组件库,前端框架,前端应用...

2019-01-17 15:15:21 135

转载 Zookeeper 集群安装配置,超详细,速度收藏!

  下载  下载地址:http://zookeeper.apache.org/  下载过程就不说了,我们下载了最新的zookeeper-3.4.11。  安装  1、上传安装包  把下载的最新的包(如:zookeeper-3.4.11.tar.gz)上传到服务器,上传的方式也不多说了。  2、解压  $ tar zxvf zookeeper-3.4.11.tar.g...

2019-01-17 15:11:34 102

转载 RedLock 实现分布式锁

  J并发是程序开发中不可避免的问题,根据系统面向用户、功能场景的不同,并发的重视程度会有不同。从程序的角度来说,并发意味着相同的时间点执行了相同的代码,而有些情况是不被允许的,比如:转账、抢购占库存等,如果没有做好临界条件的验证,会带来非常严重的后果。追根结底是因为并发引起的数据不一致问题,面对并发,我们通常会采用锁来优化。  场景模拟  如下模拟抢购的示例代码(C#):  //有1...

2019-01-16 17:22:03 403 1

转载 springboot整合JasperReport6.6.0

  C现在项目上要求实现套打,结果公司里有个人建议用JaperReport进行实现,就进入这个东西的坑中。好歹经过挣扎现在已经脱离此坑中。现在我也是仅能实现读取数据库数据转成pdf进行展示,包括中文的展示。于是记录下整个过程。  1.下载 安装 Jaspersoft Studio  下载地址:https://community.jaspersoft.com/community-downlo...

2019-01-16 17:15:51 3199

转载 设计模式实战-原型模式

  0 导读 - 个性化电子账单  ● 个性化服务  一般银行都要求个性化服务,发过去的邮件上总有一些个人信息吧,比如“××先生”,“××女士”等  ● 递送成功率  邮件的递送成功率有一定的要求,由于大批量地发送邮件会被接收方邮件服务器误认是垃圾邮件,因此在邮件头要增加一些伪造数据,以规避被反垃圾邮件引擎误认为是垃圾邮件  从这两方面考虑广告信的发送也是电子账单系统的一个子功...

2019-01-16 17:12:21 123

转载 高并发文章浏览量计数系统设计

  最近因为个人网站的文章浏览量计数在Chrome浏览器下有BUG,所以打算重新实现这个功能。   原本的实现很简单,每次点击文章详情页的时候,前端会发送一个GET请求articles/id获取一篇文章详情。这个时候,会把这篇文章的浏览量+1,再存进数据库里。   这个实现原本可以实现这个功能,但是后来我才发现,我犯了一个很致命的错误:在GET请求的业务逻辑里进行了数据的写操作!...

2019-01-16 17:08:50 5541 4

转载 谈谈系统密码存储策略

  J密码加密的重要性?  还是从脱库说起,数据库被人拉走了,最可怕的是什么?个人手机、身份证、地址??这些是很重要,但是,其实个人隐私数据,获取的难度不是很大,而且不容易直接对一个人造成巨大的伤害,但是,密码被人知道了,就是很可怕的事情。因为,大部分人不同的系统都是共用密码。这个错误比较低级,但是很常见,所以,密码,是被脱库后最容易被人利用。所以,密码是必须加密的,不把用户密码加密的系统和公...

2019-01-15 17:31:02 555

转载 技术分享:JS工作原理

  一  浏览器组成可分两部分:Shell+内核。  浏览器内核又可以分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎。  渲染引擎功能作用  渲染引擎,负责对网页语法的解释(如HTML、JavaScript)并渲染网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的...

2019-01-15 17:28:19 428

转载 分享几道Java线程面试题

  不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。  在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建...

2019-01-15 17:26:06 129

空空如也

空空如也

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

TA关注的人

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