
拓展
文章平均质量分 90
拓展知识,在职业道路上,像推土机一样,解决所有难题。
乔治大哥
脚踏实地,仰望星空。
展开
-
DDos是什么?
DDOS分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,是指攻击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求、耗尽目标主机资源或网络资源,从而使被攻击的主机不能为正常用户提供服务。DoS在介绍DDoS之前,需要先简单介绍一下什么是DoS。DoS(拒绝服务,Denial of Service)就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。这是早期非常基本的网络攻击方式。举一个简单的例子,京东便利店,有三名服务员。然原创 2021-02-21 21:48:16 · 1991 阅读 · 0 评论 -
京东服务市场高并发下SOA服务化演进架构
作者简介研发老兵,热爱技术,喜欢挑战。熟悉各种开源框架,对大型分布式系统有丰富的架构、设计经验。性能卓越、设计优雅是其一生的追求。京东服务市场是京东商家与第三方独立软件提供商(ISV)进行服务类的在线交易平台。作为京东生态圈重要的一环,伴随着整个京东的快速增长,也在快速的发展。随着服务市场访问、交易量指数级的增长,系统由原来的ALL IN ONE架构,快速的演进成为SOA架构。木桶的容量由木桶最短的木板决定,高并发环境下,单个服务的性能决定了整个服务市场的性能。 “可用插件列表...转载 2020-08-02 22:06:14 · 614 阅读 · 0 评论 -
还在用if(obj!=null)做非空判断?带你快速上手Optional实战性理解!
总在给自己的双休懒惰找借口。没错,我有宅了两天,把平时工作日的睡眠都补回来了!哈哈好久没好好写过博客了,答应各位,下周双休写几篇原创。这里呢?给大家分享一些我看过的好的文章!希望对你我有帮助!!!作者:樊亦凡juejin.im/post/5eb9faa26fb9a0437e0e9899轻松实战性理解Optional1.前言相信不少小伙伴已经被java的NPE(Null Pointer Exception)所谓的空指针异常搞的头昏脑涨,有大佬说过“防止 NPE,是程序员的基本修.转载 2020-07-19 22:39:07 · 1323 阅读 · 0 评论 -
如何写出优雅的异常处理
本来是想来自己写一篇关于断言的使用,正好看到了一个这个全面的文章。嗯,转给大家学习!作者:巨人大哥来源:cnblogs.com/jurendage/p/11255197.html背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后.转载 2020-07-19 22:33:15 · 949 阅读 · 0 评论 -
Java 中各种锁的介绍
什么是锁在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问限制。锁旨在强制实施互斥排他、并发控制策略。 锁通常需要硬件支持才能有效实施。这种支持通常采取一个或多个原子指令的形式,如"test-and-set", "fetch-and-add" or "compare-and-swap"”。这些指令允许单个进程测试锁是否空闲,如果空闲,则通过单个原子操作获取锁。公平锁 定义:就是很公平,在并发环境中,每个线程在获取锁时会先查看...转载 2020-07-19 22:26:55 · 336 阅读 · 0 评论 -
Java的深浅拷贝你了解吗?
1、概述拷贝的一个经典的使用场景:当前对象要传给其他多个方法使用,如果该对象在某一个方法中被修改,那么这个修改会影响到其他方法。 如果要避免这种影响,就需要给每一个方法都传入一个当前对象的拷贝。深与浅拷贝的区别就在于对复杂对象的处理:对于基本类型,浅拷贝、深拷贝都是拷贝的值;对于引用类型浅拷贝的是对象的引用。而深拷贝则是直接新建一个对象实例。注意浅拷贝中的复杂引用以及简单引用:对于简单引用,拷贝后的对象指向新的地址不会影响到原对象。复杂引用,拷贝后的对象将内部的对象指向新的地址,会影响到原.原创 2020-06-14 22:46:03 · 418 阅读 · 0 评论 -
浅谈一下什么是越权问题?
1、什么是越权?越权(或者说权限提升,Privilege Escalation)是指攻击者能够执行他本身没有资格执行的一些操作,属于“访问控制”的问题。用大白话讲,越权就是“超越了你你拥有的权限,干了你本来不可能干的事儿”。先来几个越权的例子:Winmail普通用户可直接进入后台取得域名管理、用户管理等所有权限大华DSS平台低权限账户越权直接修改system密码前程无忧越权访问个人简历(简单测试上万份简历可查看)易企秀越权修改信息致任意用户登入一般情况下,常见的访问控制方式有三种:垂原创 2020-06-14 22:28:14 · 12401 阅读 · 1 评论 -
缓存穿透、缓存击穿、缓存雪崩区别和解决方案
一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0...转载 2020-06-03 08:41:57 · 415 阅读 · 0 评论 -
Maven中 jar包冲突原理与解决办法&依赖传递
Maven中 jar包冲突原理与解决办法&依赖传递管理包依赖是 Maven 核心功能之一,下面通过如何引入 jar 包;如何解析 jar 包依赖;包冲突是如何产生;如何解决包冲突;依赖管理解决什么问题;什么是依赖范围;使用包依赖的最佳实践等 6 个问题来介绍。如何引入 jar 包在代码开发时,如果需要使用第三方 jar 包提供的类库,那么需要在 pom.xml 加入该 jar 包依赖。 例如:使用 zookeeper client <!-- https://mvnreposit转载 2020-05-27 12:36:16 · 1144 阅读 · 0 评论 -
了解一下日志
打印日志是一门艺术,但长期被开发同学所忽视。日志就像车辆保险,没人愿意为保险付钱,但是一旦出了问题都又想有保险可用。我们打印日志的时候都很随意,可是用的时候会吐槽各种 SB 包括自己!写好每一条日志吧,与君共勉!1. 日志1.1 日志是什么?日志,维基百科的定义是记录服务器等电脑设备或软件的运作。日志文件提供精确的系统记录,根据日志最终定位到错误详情和根源。日志的特点是,它描述一些离散的(不连续的)事件。例如:应用通过一个滚动的文件输出 INFO 或 ERROR 信息,并通过日志收集系统,存储到一转载 2020-05-20 21:53:51 · 1258 阅读 · 0 评论 -
图片验证码防暴力破解_Java
实现一个简单的登录验证码实现原理1.后台生成验证码传到页面2.登录验证输入验证码是否正确实现过程1.引入一个生成验证码的工具类,网上很多 随便找一个根据需求改一下就可以package com.utils;/** * ${DESCRIPTION} * * @author * @create **/import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt转载 2020-05-19 08:50:13 · 2351 阅读 · 0 评论 -
IM的扫码登录功能如何实现?一文搞懂主流的扫码登录技术原理
本文引用了3位作者“精品唯居”、“Yangfan2016”、“ MrYun”的部分文章内容,一并感谢。1、引言扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录),但不得不说还是很酷的。下面这张图,不管是IM开发者还是普通用户,应该很熟悉:于是,搞IM产品的老板和产品经理们,从此又多了一个要抛给程序员们的需求——“为什么微信有...转载 2020-03-26 22:00:35 · 435 阅读 · 1 评论 -
项目中要使用到动态规划该怎么应用,怎么说?
因为前一段接了个项目,所以呢,其实在前一段时间我就有写过关于动态规划的一篇文章——浅谈一下这个所谓的特殊算法——动态规划!链接如下:https://blog.youkuaiyun.com/qq_41946557/article/details/104704964但是在项目的讲述中,如果我要使用到它,我怎么讲述?忽的这样一想,好像对其算法好像并没有自己想的那个随意。所以再来说到说到这个动态规划!我们在...原创 2020-03-23 21:47:27 · 1019 阅读 · 1 评论 -
开发中我们谈的产品化是什么?阿里是怎么看待产品化?
导读:之前参加了企业智能部门如何做产品化的讨论,大家对产品化的定义和过程都有各自不同的见解。我觉得这个话题其实可以扩展下,想站在一个开发人员的视角尝试探讨一下产品化。下面以自问自答的方式来展开。1、当我们在谈产品化时,我们想的是同一个概念吗?为了更好地理解这个问题,首先要解释“系统、产品、商品”的定义。我不太想用百科上的通用定义,如:商品是用于交换的劳动产品,这对我们...原创 2020-03-21 21:36:26 · 1869 阅读 · 1 评论 -
系统测试分类和测试常用方法
一、系统测试分类1、功能测试:验证当前软件主体功能是否实现2、兼容性测试:验证当前软件在不同的环境下是否还可以使用。window,mac,浏览器,在电脑,ipad上能用吗3、安全测试:验证软件是否只是对授权用户提供功能使用。银行卡自己使用是否安全。4、性能测试:相对于当前于软件消耗的资源,产出能力;运行效率。二、常用系统测试方法1、按测试对象分类 白盒测试...转载 2020-03-20 15:54:28 · 4791 阅读 · 0 评论 -
idea配置tomcat里你不知道的小秘密
首先提一个大家都常见,却都不是很知晓的问题。就是war和war exploded的区别是什么?1.war模式:将WEB 工程以包的形式上传到服务器;2.war exploded模式: 将WEB 工程以当前文件夹的位置关系上传到服务器;也就是说:1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布。2)war exploded模式是直接把文件夹、jsp页...原创 2020-03-17 15:32:23 · 858 阅读 · 0 评论 -
想成为BAT中的一员,你总要去学点什么(三)
本来想重新开个专栏,额,还是算了,专栏太多了,就会越来越乱,这个主题我会在拓展中进行更新。我们无论在学校,还是工作中,总会碰到一些大佬,那他们是怎么成功的呢,你如果告诉我,他是聪明,他是天才。那就不用看这个专题了,其实我一直相信,天道酬勤,你只需要像老黄牛一样,积累自己,慢慢学习,其他的天会帮你。那么别人口中的大佬,你想不想成为。如果你最近是处于面试,而且特别如果你是大数据岗位,我希望你看一看...原创 2020-03-16 20:44:11 · 235 阅读 · 0 评论 -
使用IntelliJ IDEA看源码的时候,如何在优雅的查看类继承关系...【看这篇就够了】
导读在公司 ,特别对于我们刚入职公司,在看一个新系统的时候,特别是这个项目已经搭建的不错的时候,我们需要去熟悉这个系统,就像我们去阅读源码一样,去理解这个系统的大体功能,类之间的关系,之间的继承。1、查看图形形式的继承链在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show … Popup,只是前者新建在标签页内,后者以浮窗的形式展示:实际上,你也可以...原创 2020-03-15 21:01:06 · 3360 阅读 · 1 评论 -
想成为BAT中的一员,你总要去学点什么(二)
本来想重新开个专栏,额,还是算了,专栏太多了,就会越来越乱,这个主题我会在拓展中进行更新。我们无论在学校,还是工作中,总会碰到一些大佬,那他们是怎么成功的呢,你如果告诉我,他是聪明,他是天才。那就不用看这个专题了,其实我一直相信,天道酬勤,你只需要像老黄牛一样,积累自己,慢慢学习,其他的天会帮你。那么别人口中的大佬,你想不想成为。如果你最近是处于面试,而且特别如果你是大数据岗位,我希望你看一看...原创 2020-03-15 19:13:26 · 192 阅读 · 0 评论 -
想成为BAT中的一员,你总要去学点什么(一)
本来想重新开个专栏,额,还是算了,专栏太多了,就会越来越乱,这个主题我会在拓展中进行更新。我们无论在学校,还是工作中,总会碰到一些大佬,那他们是怎么成功的呢,你如果告诉我,他是聪明,他是天才。那就不用看这个专题了,其实我一直相信,天道酬勤,你只需要像老黄牛一样,积累自己,慢慢学习,其他的天会帮你。那么别人口中的大佬,你想不想成为。如果你最近是处于面试,而且特别如果你是大数据岗位,我希望你看一看...原创 2020-03-13 16:54:31 · 411 阅读 · 0 评论 -
浅谈一下这个所谓的特殊算法——动态规划?
转载请标明地址或者附上我的博客地址https://georgedage.blog.youkuaiyun.com/前言最近接了一个项目,有关动态规划,客户提到,动态规划能和spark结合在一起吗?看来或许他对动态规划不是很熟悉,当然,我也不能说自己对其了如指掌,但是我们熟知,当我们说起动态规划的时候,往往是说的动态规划算法。既然是算法,那么它是可以运用到我们的程序中的,当然,前提业务需要,系统需要。什...原创 2020-03-06 21:38:04 · 580 阅读 · 0 评论 -
带你一步步走进淘宝架构演变简史【强烈推荐】
1. 概述本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。★特别说明:本文以淘宝为例仅仅是为了便于说明演进过程可能遇到的问题,并非是淘宝真正的技术演进路径”2. 基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最...转载 2020-03-03 21:07:32 · 844 阅读 · 0 评论 -
上云的先行军,QQ 率先完成了20万台服务器全量上云,是怎么做到的?
作者 | 田晓旭截止到目前,QQ 所有的业务都已经迁移到了腾讯云上。2019 年 1 月 4 日,腾讯技术委员会正式成立,同时下设了两个项目组“开源协同”和“自研上云”。现在,作为腾讯自研上云的先行军,QQ 已经率先完成了全量上云。QQ 业务场景有哪些特征?全量上云的整体节奏是什么样的?迁移上云的难度在哪里?关键过程有哪些?...... 为了解开这些谜题,我们采访了参与 QQ 全量...转载 2020-03-02 21:25:47 · 1025 阅读 · 0 评论 -
你与那些经验老练的程序员就差一个 英文编程单词表!【文中资源分享】
内容不多,并且下面有资源分享!!!有念头踏入编程这条道路的,往往在最开始的时候很关注一个问题,我的学历够吗?我的英语水平不好行吗?或许很多人会说,兴趣是最重要的,是啊,兴趣固然重要,但是不得不承认,不仅仅对于编程,所有的学习,都有它旁支的协助,就像你去应聘BAT类型的公司,或许学历是面试官是否考虑见你的一个很重要的考量手段,当然,不否认学历低就没有大神,程序员这一行,技术为先。(本篇先不说...原创 2020-03-01 21:17:32 · 592 阅读 · 0 评论 -
普及一下行业尖端知识——腾讯自研分布式数据库TBase
我们在之前的博客中,了解过Hbase,那么你对TBase有过了解吗?1、TBase是什么?TBase是腾讯自研的分布式数据库,可以轻松应对亿级数据的存储、分析和查询。集高扩展性、高SQL兼容度、完整的分布式事务支持、多级容灾能力以及多维度资源隔离等能力于一身,采用无共享的集群架构,适用于PB级海量 HTAP 场景。1.1、 TBase的总体架构首先看下TBase的背景...原创 2020-02-28 21:57:47 · 5905 阅读 · 1 评论 -
如何使用 一行代码 搞定一组数据的(极值、平均值、中位数、四分位数、数量统计和标准差)
或许当你看到一行代码的时候,你也已经想到了不会是python吧!还真不巧,你说对了,就是使用python。很多知识想简单处理python的同志们(指并不怎么学python,但偶尔使用写个小分析啥的。)就像进行数据处理的时候,有时会遇到求极值(最大值、最小值)、平均值、中位数和四分位数(25%、 75%)的情况。这一篇博客就是你的福音,让你绝对0基础使用python 进行数据分析。...原创 2020-02-28 21:33:34 · 11082 阅读 · 0 评论 -
你不知道的127.0.0.1和0.0.0.0地址的区别
1. 问题引入之前在使用tomcat的时候,启动tomcat默认都会绑定到127.0.0.1这个地址,最近在使用hexo写博客的时候发现通过 hexo server命令启动服务的时候绑定的ip地址是0.0.0.0。那么这两个IP地址到底有什么不同呢?在讲解两个地址的不同之前,我们先回顾一下IP地址的基础知识。2. IP地址分类2.1 IP地址表示IP地址由两个部分组成,net-...转载 2020-02-26 21:22:57 · 637 阅读 · 0 评论 -
这怕是我看过的最好的关于 “ 拜占庭将军问题 ” 的文章
虽然在之前的博客中,我也有写过类似的,拜占庭将军问题。但是,个人认为这是我看过介绍的最好的。推荐给你们!拜占庭将军问题(The Byzantine Generals Problem)提供了对分布式共识问题的一种情景化描述,由Leslie Lamport等人在1982年首次发表。论文《The Byzantine Generals Problem 》同时提供了两种解决拜占庭将军问题的算法:...转载 2020-02-21 20:56:55 · 687 阅读 · 0 评论 -
说一下对象或数组转JSON怎么转【fastjson】
年前在京东实习,和我一起实习的一妹子问我怎么对象转json,我。。。嗯很简单呀,用fastjson就行了。fastjson是什么?fastjson是什么?Fastjson阿里巴巴工程师开源的一个 json 库:Fastjson,这个库在解析速度和易用性上来说都很不错。在日志解析,前后端数据传输交互中,经常会遇到 String 与 map、json、xml 等格式相互转换与解析的场景,其中 ...原创 2020-02-18 20:28:14 · 916 阅读 · 0 评论 -
浅谈 CAP 和 Paxos 共识算法
其实在《详解Eureka服务注册与发现和Ribbon负载均衡【纯理论实战】》中介绍eureka的时候,我就有说到CAP原则。并且在《Zookeeper全解析——Paxos作为灵魂》中,有说到过Paxos。这里专门对这两个重要的概念,做一个完整的阐述:以下为腾讯 CSIG 网络产品部后台开发工程师,郑勰所著什么是 CAP关于 CAP 理论的背景介绍已经很多,这里不过多介绍,我...转载 2020-02-14 19:48:03 · 655 阅读 · 0 评论 -
如何看懂dtd文档?
第一个element元素定义了根节点;“,”表示按顺序写子节点;“|”表示子节点是或的关系;?表示该节点可以出现0-1次;+表示该节点可以出现1-n次;*表示该节点可以出现0-n次;<!ATTLIST>表示节点属性列表;#REQUIRED表示该节点属性是必写的;#IMPLIED表示该节点属性是可选的。...原创 2019-09-10 14:44:10 · 499 阅读 · 0 评论 -
魔法值是什么?(为什么在阿里巴巴开发手册中提到不允许任何魔法值直接出现在代码中)
在阿里巴巴开发手册中,提到魔法值,是在最开始的常量定义中提到的。即如下图:那么,魔法值究竟是什么?在al手册中说是未经预先定义的常量。其实这样说就已经很明了了,但毕竟是一个不常见的概念,所以我在网上多找了一个关于它的说法,即:所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义。所以,开发不像写demo,可别把魔法值写进去了!...原创 2020-02-10 17:39:17 · 8978 阅读 · 0 评论 -
ORC文件存储格式的深入探究
一、ORC文件格式ORC的全称是(Optimized Record Columnar),使用ORC文件格式可以提高hive读、写和处理数据的能力。ORC在RCFile的基础上进行了一定的改进,所以与RCFile相比,具有以下一些优势:- 1、ORC中的特定的序列化与反序列化操作可以使ORC file writer根据数据类型进行写出。- 2、提供了多种RCFile中没有的indexes...原创 2020-01-14 21:44:57 · 1964 阅读 · 1 评论 -
.vm文件是什么?
vm文件通常是velocity模板文件,velocity是类似JSP的模板引擎,用于渲染web页面。Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的w...原创 2020-01-14 21:30:55 · 14077 阅读 · 0 评论 -
领域模型命名规约【PO,VO,POJO,BO,DTO,DO,JavaBean】
PO,VO,POJO,BO,DTO,DO,JavaBeanpoPO(Persistant Object)可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。好处就是可以把一条记录作为一个对象处理,可以方便的转为其他对象。voVO值对象,通常用于业务层之间的数据传递,与PO一样仅包含数据...原创 2020-01-13 16:37:01 · 2144 阅读 · 0 评论 -
浅析同源策略及跨域问题
浅析同源策略及跨域问题同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。简单来说同源策略指:协议、域名、端口号均相同则同源。同源策略,它是由Netscape提出的一个著名的安全策略。所有支持JavaScript...原创 2019-12-31 20:07:38 · 617 阅读 · 0 评论 -
来来来,大家说一下CPU!【关于 CPU 的一些基本知识总结】
最近换了一台电脑,联想拯救者。刚到货,就拆机,给他做了升级。哈哈然后随手我们平常常说CPU,内存条,等等。但是我们真的了解CPU吗?这篇博客对CPU的一些基本知识进行阐述,希望对你我有用!!!关于CPU和程序的执行CPU是计算机的大脑。1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。当程序要执行的部分被装载到内存后,CPU要从内存中取出指令...原创 2019-12-28 21:10:20 · 457 阅读 · 0 评论 -
dmp(数据管理平台)是什么?
dmp(数据管理平台)DMP(Data Management Platform)数据管理平台,是把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分,让用户可以把这些细分结果推向现有的互动营销环境里的平台。作用·能快速查询、反馈和快速呈现结果·能帮助客户更快进入到市场周期中·能促成企业用户和合作伙伴之间的合作·能深入的预测分析并作出反应·能带来各方...原创 2019-12-22 21:45:42 · 6066 阅读 · 0 评论 -
什么是Lucene和Solr和Elasticsearch,它们的区别是什么?
说道es我们往往会听到Solr和Lucene,那么Lucene和Solr和Elasticsearch的区别? Lucene Lucene是apache下的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。官网地址:https://lucene.apache.org/ ...原创 2019-12-14 16:32:15 · 8162 阅读 · 0 评论 -
在IT这个领域,我们常说的A/B/C端产品以为这什么?
简单来说我们可以将其理解为客户、产品、平台!以下几种重复的简介,希望看完后有所了解。A端是开发界面,即管理员所接触的界面。B端是商家界面,即浏览器界面,依托于web界面。B端产品,即2B产品,是面向商家、企业级、业务部门提供的服务产品。C端是用户界面,即app界面,是用户所接触最为广泛的界面。C端市场,即消费者市场,指所有为个人消费而购买或取得商品和服务的个人和家庭。A端是开发界面B...原创 2019-12-08 20:35:19 · 3841 阅读 · 0 评论