自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 SpringBoot实现文件/图片的上传与下载

导入依赖(pom.xml)     <!-- 上传下载需要设计到的jar包 --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </de..

2021-08-22 08:20:04 2718

转载 Vue 绘制echarts 词云和 Highcharts 词云

echarts绘制词云方法echarts官网第一步安装echarts依赖,通过npm获取echarts,npm install echarts --save,具体操作可以看echarts官网;第二步安装echarts词云插件,npm install echarts-wordcloud --save;第三步下载好依赖之后在main.js引入文件,我这里最后将echarts写在原型prototype上 import echarts from 'echarts' require('echarts.

2021-08-21 20:21:15 841

转载 Ajax中文手册

AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出。传统的Web应用允许用户端填写表单(form),当提交表单时就向网页服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回...

2021-08-21 15:21:19 1247 1

转载 分布式系统关注点(16)——360&#176;全方位解读「缓存」

如果这是第二次看到我的文章,欢迎右侧扫码订阅我哟~

2021-08-20 20:21:12 115

转载 万物皆对象——第一单元学习小结

一、前言经过一个月来的学习,我从对面向对象一无所知到逐渐入门,围绕着“多项式求导”,对面向对象的特性进行了探索。我对面向对象印象最深的两句话就是“万物皆对象”和“高内聚、低耦合”,这三次作业也是尽量贯彻了这两句话。我们的作业从第一次的仅含幂函数的求导,到第二次包含正余弦函数,再到最后函数可以嵌套。一步步走来,面向对象的优点也逐渐浮现出来。二、分析工具本次作业我们用复杂度分析和UML类图对代码进行度量,首先介绍复杂度分析:复杂度分析是对方法的圈复杂度进行分析,有三个衡量指标:ev(G...

2021-08-20 15:21:08 173

转载 有关java(初学笔记)

JAVA的主要优势:跨平台性,可以在Linux,windows,mac三个系统上运行。跨平台的核心:JAVA虚拟机--JVM 原理就是将Java语言在这个系统上翻译。JAVA在jvm上运行,jvm进行翻译。JRE:java的运行环境,包括JVM和所需要的核心类。JDK:java程序的开发包,包含JRE和开发人员使用工具。...

2021-08-19 15:21:04 77

转载 架构视角 - DDD、TDD、MDD领域驱动、测试驱动还是模型驱动?

提出问题 「领域驱动设计」之于微服务,好比麦当劳之于汉堡(个人更喜欢肯德基,汉堡要大些,麦当劳的汉堡,想吃顿饱饭,请先给我上6个

2021-08-16 15:21:09 116

转载 Matlab外观模式

外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。本文以计算机为例,用Matlab代码实现外观模式。计算机包括CPU、内存以及硬盘等这些部件。用户在操作计算机时,不需要了解计算机部件的使用方法,只需要操作计算机的按钮,计算机部件交给计算机内部去做即可。这样降低了用户操作的复杂性。CPU.mclassdef CPU methods function startup(~) disp("CPU is on.

2021-08-14 20:21:10 171

转载 分布式全局唯一ID的实现

分布式全局唯一ID的实现前言上周末考完试,这周正好把工作整理整理,然后也把之前的一些素材,整理一番,也当自己再学习一番。一方面正好最近看到几篇这方面的文章,另一方面也是正好工作上有所涉及,所以决定写一篇这样的文章。先是简单介绍概念和现有解决方案,然后是我对这些方案的总结,最后是我自己项目的解决思路。概念在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能.

2021-08-13 08:20:07 190

转载 022.[转] 服务端高并发分布式架构演进之路

1. 概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。2. 基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:分布式系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上高可用系统中...

2021-08-12 08:20:05 152

转载 类的成员

一. 细分类的组成成员之前咱们讲过类大致分两块区域,如下图所示:每个区域详细划分又可以分为:class A: company_name = '老男孩教育' # 静态变量(静态字段) __iphone = '1353333xxxx' # 私有静态变量(私有静态字段) def __init__(self,name,age): #特殊方法 self.name = name #对象属性(普通字段) self.__age = age #.

2021-08-06 20:21:20 1306

转载 python判断字符串中是否包含子字符串

python判断字符串中是否包含子字符串s = '1234问沃尔沃434' if s.find('沃尔沃') != -1:print('存在')else:print('不存在')

2021-08-05 08:20:08 158

转载 大型项目架构演进过程及思考

淘宝架构我们以淘宝架构为例,了解下大型的电商项目的服务端的架构是怎样,如图所示上面是一些安全体系系统,如数据安全体系、应用安全体系、前端安全体系等。中间是业务运营服务系统,如会员服务、商品服务、店铺服务、交易服务等。还有共享业务,如分布式数据层、数据分析服务、配置服务、数据搜索服务等。最下面呢,是中间件服务,如MQS即队列服务,OCS即缓存服务等。图中也有一些看不到,例如高可用的一个体现,实现双机房容灾和异地机房单元化部署,为淘宝业务提供稳定、高效和易于维护的基础架构支撑。这是一个含金量非.

2021-08-01 15:21:05 215

转载 通俗易懂设计模式解析——责任链模式

前言  今天我们介绍的是责任链模式【Chain of Responsibility Pattern】。对于责任链模式理解起来还是比较容易的。例如在公司请假、三天以内部门经理批准即可,但是三到七天可能就需要总监批准了、七天以上需要副总裁批准。对于这么一个需求最初的解决方案就是if-else语句判断。但是 一旦请假的模式增加一种则需要对多重if-else进行修改,这就违背了开闭原则。这个时候就可以采用责任链模式来解决其问题。责任链模式为请求创建一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收.

2021-07-31 15:21:05 236 1

转载 DjangoRestFramework,序列化组件、视图组件

一 序列化组件  首先按照restful规范咱们创建一些api接口,按照下面这些形式写吧:    Courses --- GET ---> 查看数据----->返回所有数据列表[{},{},]    Courses--- POST --->添加数据 -----> 返回添加的数据{ }    courses/1 ---PUT---> 更新pk=1的数据 ----->返回更新后的数据{ }    courses/1 --- DELETE---> 删除pk=1.

2021-07-27 20:21:22 351

转载 程序员必须练就的「性能调优」组合拳【4】

性能调优系列前序文章索引:程序员必须掌握的性能调优:老兵哥结合个人经历解释了程序员往架构师方向发展时为什么要跨越性能调优这一关,以及介绍了从 X、Y、Z 三个维度优化性能的思路。从 X 维度优化系统的性能:老兵哥分享了从 X 维度优化系统性能的思路,包括让客户端分计算存储任务、优化交互设计等,主要是作为引子拓宽我们性能调优的思路。应用容器 Tomcat 性能调优:老兵哥介绍了从 Y 维度通过优化应用容器 Tomcat 来优化系统性能的方法。开发框架 Spring 性能调优:老兵哥介绍了从 Y ...

2021-07-25 15:21:05 89

转载 图解Java设计模式之外观模式

图解Java设计模式之外观模式影院管理项目传统方式解决影院管理传统方式解决影院管理问题分析外观模式基本介绍外观模式原理类图外观模式解决影院管理外观模式的注意事项和细节影院管理项目组建一个家庭影院 :DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关开爆米花机放下屏幕开投影仪开音响开 DVD,选 dvd去拿爆米花调暗灯光播放观影结束后,关闭各种设备传统方式解决影院管理传统方式...

2021-07-21 20:21:10 87

转载 程序如何实现可扩展性

参考借鉴ABP中提供的扩展性持续更新....实现一:定义一个接口public interface IMessageWriter{ string Write();}定义一个实现,这个实现是要被另外的一个实现类代替的:public class ConsoleMessageWriter : IMessageWriter, ITransientDependency{ public string Write() { return "ConsoleMessa.

2021-07-20 15:21:05 735

转载 springcloud vue.js 前后分离 微服务分布式 flowable 工作流 shiro权限

1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限), 缓存框架 ehcache4.代码编辑器,在线模版编辑,仿开发工具编辑器5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节6.websock.

2021-07-17 08:20:05 393

转载 业务网关-分流插件

这里所指的分流插件非常类似于nginx的流量转发功能,或者叫反向代理。背景尽管nginx的流量转发功能也很强大,但业务上的一些变化有可能出现会让nginx的配置繁多,疲于应付,比如:某款APP随业务发展演化出众多业务线:酒店业务线,机票业务线,餐饮业务线,本地出行业务线。这些业务线的背后往往是不同的部门,不同的技术团队组成,因此会提供不同的服务供APP对接,如果每增加一个新服务都需要去nginx做配置,nginx的配置会随着业务的发展时间的推移变得沉重难以维护。因此我们可以将nginx定义为流量性的网.

2021-07-13 20:21:10 344

转载 Django——多表操作之模型创建,一对多添加记录,多对多添加修改删除记录,多对多其他api

一、多表操作之模型创建1 图书表:book,作者表:author,作者详情表:authordetail,出版社表:publish,(第三张中间表)2 作者跟作者详情:是一对一,关联字段写在哪一方都可以3 图书跟出版社:是一对多,一对多关系一旦确立,关联字段写在多的一方4 图书和作者:是多对多,多对多的关系需要建立第三张表(可以自动生成)5 models.py中把关系建立出来from django.db import models### django: 1.11.1 2.0.7.

2021-07-10 20:21:13 402

转载 设计模式—结构型模式

关注公众号获取更多资料@目录设计模式—结构型模式代理模式适配器模式类适配器对象适配器扩展--双向适配器桥接模式装饰模式外观模式扩展享元模式组合模式扩展设计模式—结构型模式​ 结构型模式描述如何将类或者对象按照某种布局组成更大的结构。组合关系或者聚合关系的耦合度比继承低,满足“合成复用原则”。结构型模式主要有以下几种:代理模式:为某对象提供一种代理以控制对该对象的访问,用户通过代理访问该对象。适配器模式:将一个类的接口转换成用户希望的另一种接口,使得原本接口不兼容的能够一起工作起作用。.

2021-07-10 08:20:08 71

转载 16 方法

16 方法方法理解:也叫做函数,可以粗略为存放重复操作的东西分类(以去银行取到的钱为例)第一种: 有参有回(密码正确,成功取钱)public 返回值类型 方法名(形参1,形参2......形参n){ 方法体 return 返回值;}第二种: 有参无回(密码错误,银行卡被锁死,未取到钱)public void 方法名(形参1,形参2......形参n){ 方法体 }第三种: 无参有回(刷脸----未输入密码,成功取钱)public 返回值类型 方法名(){.

2021-06-30 20:21:16 63

转载 最近做统计用到的几个常用sql

计算同比SELECT old.now_time, ROUND( ( new.count - old.count ) / old.count * 100, 2 ), new.count ncount, old.count ocount FROM (SELECT sum( IF ( b.count > 1, 1, 1 ) ) count, b.now_time, b.tenant_code FROM ( SELECT date_format( ro.create_dt, '.

2021-06-29 20:21:16 111

转载 Python爬取练习:指定百度搜索的内容并提取网页的标题内容

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。以下文章源于白菜学python ,作者小白菜刚接触Python的新手、小白,可以复制下面的链接去免费观看Python的基础入门教学视频https://v.douyu.com/author/y6AZ4jn9jwKW一、前言:hello,大家好。今天为大家带来的是之前分享过的requests库与lxml库的结合使用案例一:指定百度搜索的内容并提取网页的标题内容。好的,废话不多说,直接上主...

2021-06-28 20:21:10 5685 1

转载 数据分析:复杂业务场景下,量化评估流程

本文源码:GitHub·点这里 || GitEE·点这里一、量化思维在编程体系中有很多复杂的业务是很难理解的,但是又需要做一个量化分析,给业务人员或者运营,或者用户一个参考标准,例如常见指数,芝麻分数,店铺等级,这类业务评定标准非常复杂,因为影响结果的因素很多。在多个维度的业务考量模型中,有一个核心概念叫做权重,指某一因素或指标相对于某一事物的重要程度,其不同于一般的比重,体现的不仅仅是某一因素或指标所占的百分比,强调的是因素或指标的相对重要程度,倾向于贡献度或重要性。通常情况下每个维度的权重在0.

2021-06-26 20:21:13 715

转载 【实战】ZooKeeper 实战

1. 前言这篇文章简单给演示一下 ZooKeeper 常见命令的使用以及 ZooKeeper Java客户端 Curator 的基本使用。介绍到的内容都是最基本的操作,能满足日常工作的基本需要。如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!2. ZooKeeper 安装和使用2.1. 使用Docker 安装 zookeepera.使用 Docker 下载 ZooKeeperdocker pull zookeeper:3.5.8b.运行 ZooKeeperdocker r.

2021-06-26 15:21:05 518

转载 美团面试题:Redis 内存满了怎么办?

正文如下:Redis占用内存大小我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。1、通过配置文件配置通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小//设置Redis最大占用内存大小为100Mmaxmemory 100mbredis的配置文件不一定使用的是安装目录下面的redis.conf文件,启动redis服务的时候是可以传一个参数指定redis的配置.

2021-06-25 20:21:12 163

转载 深入学习Composer原理(四)

本系列第四篇文章,也是最后一篇首先,我们先看看Composer的源码从哪里看起。当然,请您先准备好源码。composer init或者直接install之后,自动生成了一个vendor目录,这时您需要在文件中手动的require这个vendor目录下的autoload.php文件,其实这个文件又载入了vendor/composer/autoload_real.php。在autoload_real.php中,我们发现了熟悉的spl_autoload_register函数。但这个文件最大的作用是去加载C.

2021-06-22 15:21:05 64

转载 服务之间的调用为啥不直接用 HTTP 而用 RPC?

什么是 RPC?RPC原理是什么?什么是 RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。RPC原理是什么?我这里这是简单的提一下,详细内容可以查看下面这篇文章:ht.

2021-06-21 15:21:05 147

转载 6 代理模式

6 代理模式module:spring-08-proxy为什么要学习代理模式,因为AOP的底层机制就是动态代理!代理模式:静态代理动态代理静态代理静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现。真实角色 : 被代理的角色。代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作。客户 : 使用代理角色来进行一些操作。代码实现Rent.java 抽象角色package com.zzb.demo1;public interface Ren.

2021-06-20 15:21:08 81

转载 Java JDK安装和配置

1- 介绍本文章介绍JAVA开发环境安装是基于:Java8(JDK8)2- 下载JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index.html应该检查你的操作系统是32位或64位的,并下载相应的JDK版本(我的是 64bit 的电脑)。同意协议后,选择对应版本下载:看看下载后文件,它长这样:3- 安装Java(JDK)进入 JDK 安装目录,例如目录:D:\Program Files\...

2021-06-19 20:21:18 103

转载 C ++中的std :: string类

C ++在其定义中具有一种将字符序列表示为class对象的方式。此类称为std ::字符串。字符串类将字符存储为字节序列,并具有允许访问单字节字符的功能。std ::字符串与字符数组字符数组只是可以用空字符终止的字符数组。字符串是一个类,用于定义表示为字符流的对象。字符数组的大小必须静态分配,如果需要,则无法在运行时分配更多内存。如果使用字符数组,则会浪费未使用的分配内存。如果是字符串,则动态分配内存。可以在运行时按需分配更多的内存。由于没有预分配内存,因此不会浪费内存。如果是字符数...

2021-06-10 08:20:04 239

转载 什么是C ++中的内存泄漏?会导致什么问题?

当程序员先前未分配的一块内存(或多于一部分)没有正确分配时,就会发生内存泄漏。即使该程序不再使用该内存,它仍然是“保留”的,并且直到程序员适当地重新分配该内存后,程序才能使用该内存。这就是所谓的内存泄漏的原因,因为它就像是浪费水的漏水龙头,仅在这种情况下才是计算机内存。内存泄漏可能导致什么问题?内存泄漏引起的问题是,它使程序员无法使用大块内存。如果程序的大量内存尚未释放,则可能会减慢程序的性能。如果由于内存泄漏而在程序中没有剩余的内存,那当然会导致程序崩溃。C ++中的内存...

2021-06-04 08:20:04 145

转载 为什么 StackOverflow 上的代码片段会摧毁你的项目?

昨天公司里碰到一件令人哑然失笑的事情。帮朋友公司做的一个项目,做SIT测试的时候发现一些bug,仔细查了下原因,原来是因为当初觉得这个项目比较简单,交给了几个新入职的新丁,也算是给他们练练手,结果其中一位写了一段代码出现了问题结果导致bug的出现。虽然问题不大很快就修复了,但是正所谓初生牛犊不怕虎,这位出问题的新丁不太服气,一直嚷嚷着他这段代码是从CSDN上找到的,别人都说好用他才用的。问了问他是否理解原文中那么写的原因,结果才支支吾吾了半天讲不清楚,最后也承认他只是看到那段代码的结果是他要的,并不是理.

2021-06-03 08:20:09 71

转载 ReentrantReadWriteLock读写锁详解

一、读写锁简介现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场景,JAVA的并发包提供了读写锁ReentrantReadWriteLock,它表示两个锁,一个是读操作相关的锁,称为共享锁;一个是写相关的锁,称为排他锁,描述如下:线程进入读锁的前提条件:没有其他线程的写锁,没有写请求.

2021-05-29 08:20:04 178

转载 数组阻塞队列(ArrayBlockingQueue)源码解读与分析

生产者消费者模式最核心的部分是生产者与消费者之间的特殊容器,而阻塞队列是特殊容器最常见的实现。JDK中定义了阻塞队列接口BlockingQueue,JDK通过该接口为我们提供了很多种阻塞队列的实现,其中包括本节的主角ArrayBlockingQueue,该类位于java.util.concurrent.ArrayBlockingQueue.java。该类需要实现的核心方法如下,下面我们详细分析ArrayBlockingQueue的实现原理。从名字可以看出它的存储结构就是一个数组,即基于数组实现了一个F.

2021-05-22 15:21:17 112

转载 java8函数式编程

原文链接http://zhhll.icu/2020/05/11/java%E5%9F%BA%E7%A1%80/java8/java%E5%9F%BA%E7%A1%80%E4%B9%8B%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/函数式编程函数式编程强加了额外的约束,即所有数据必须是不可变的:设置一次,永不改变。将值传递给函数,该函数然后生成新值但从不修改自身外部的任何东西,不可变对象和无副作用范式解决了并发编程中最基本和最棘手的问题之一。Lambda表.

2021-05-21 20:21:09 143

转载 消息队列之RabbitMQ

消息队列之activeMQ消息队列之kafka1.rabbitMQ介绍rabbitMQ是由erlang语言开发的,基于AMQP协议实现的消息队列。他是一种应用程序之间的通信方法,在分布式系统开发中应用非常广泛。rabbitMq的有点:使用简单,功能强大基于AMQP协议社区活跃,文档完善高并发性能好,erlang语言是专门用于开发高并发程序的springBoot默认集成rabbitMqAMQP(advanced Message Queuing Protocol),是一个提供统一消息服务的.

2021-05-21 08:20:10 137

转载 static_cast、dynamic_cast、reinpreter_cast、const_cast

1. static_cast与dynamic_cast1> static_cast运算符可用于诸如将指向基类的指针转换为指向派生类的指针之类的操作。这种转换并不总是安全的。2> 通常,当你要将数字数据类型(如枚举转换为整数或整数)转换为浮点数时,你可以使用static_cast,并且您确定转换中涉及的数据类型。 static_cast转换不像dynamic_cast转换那样安全,因为static_cast没有 运行时类型检查,而dynamic_cast有。对模糊指针的dynam...

2021-05-19 15:21:04 147

空空如也

空空如也

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

TA关注的人

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