自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 输入01矩阵,至少修改多少个元素,可以使其变为上下对称、左右对称的矩阵

问题输入n*m的二维01矩阵,输出最少改变多少个元素(0变1,或1变0),可以使得矩阵上下对称、左右对称思路由于需要矩阵上下对称、左右对称,那么可以将矩阵分成四个对称的部分,每个部分中,相应位置的元素值,如果有多余2个为0,那只需把少数的改为0即可;如果有对于2个元素为1,则只需把少数的改为1即可;如果恰好2个为0,2个为1,则可以将0改为1,也可以将1改为0。而上述需要修改的元素总个数,就是最少需要修改的元素个数。代码C++代码如下:int main1() { int m, n;

2020-05-31 20:04:54 1144

原创 C++ stringstream使用详解

在刷leetcode时碰到二叉树序列化和反序列化的设计,可以通过stringstream来实现。但是发现不大熟悉stringstream,参考别的文章(参考文章已放在参考文献中)总结一下用法。stringstream介绍该类包含在<sstream>头文件中,另外该头文件中还定义了istringstream、ostringstream,分别用来进行流的输入、输出。除此以外,每个类都有...

2020-05-07 15:30:03 640

原创 Java错误: 找不到或无法加载主类

在Java源文件的地方编译后,需要到包的外层目录下运行,而且类前面需要带包名,以.隔开,问题及解决具体如下图:

2020-01-02 18:09:45 320

原创 单节点k8s遇到的错误记录

The connection to the server localhost:8080 was refused - did you specify the right host or port?情景[jiayue@localhost ~]$ kubectl get nodesThe connection to the server localhost:8080 was refused - d...

2019-12-05 10:20:49 2254

原创 standard_init_linux.go:211: exec user process caused "no such file or directory"

情景自治docker base image启动时出现”standard_init_linux.go:211: exec user process caused "no such file or directory"错误。解决由于创建的base image里面只有一个c编译后的执行文件,但是利用docker build后执行时老出现上述错误。后来发现,在利用gcc编译时,需要添加-stati...

2019-08-27 10:33:31 6389 4

原创 docker命令

镜像容器数据卷网络普通用户去sudo执行docker命令

2019-08-27 10:17:47 98

转载 侵入式及非侵入式概念

注:此篇博客的内容主要摘录自其他人的博客,并加以整理,下述会给出详细出处。侵入式与非侵入式设计:在学框架时,经常会遇到侵入式设计与非侵入式设计?究竟是什么意思? 参考侵入式与非侵入式概念。这两种设计,主要是基于系统扩展性以及依赖性来说的。当我们用Struts2框架做系统时,Action需要继承Struts2的一个基类,这样我的代码就被侵入了(基类中的部分内容和方法与我的设计内容不相关),如...

2019-07-21 22:46:49 5271

原创 外观模式

应用场景外观模式,为子系统的一组接口提供了一致的界面。从而隐藏了子系统当中的具体实现,同时降低了用户使用的复杂度。应用场景:设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。优缺...

2019-06-27 15:55:08 88

原创 模板模式

应用场景模板方法模式:定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。具体可能适用的场景:当算法步骤已经确定,而细节步骤实现可能多样化时,可采用模板模式。优缺点优点:某些算法中,可以解决代码的重复问题。控制子类别必须遵守的一些事项。代码实现方式:为模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具...

2019-06-27 15:48:44 289 1

原创 django2.2连接mysql报错

django2.2连接mysql配置import pymysqlpymysql.install_as_MySQLdb()DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3...

2019-06-25 17:12:59 330

原创 联合身份模式——云计算架构常用设计模式

背景    在一个系统当中,可能集成了多个应用程序,而这些应用程序由一些有商业联系的组织提供和托管。但是对于使用者来说,他们可能会面临着被强迫使用不同凭证的问题,这将导致以下问题:糟糕的用户体验:对用户来说,使用多个不同的凭证意味着更多的操作复杂性;暴露安全漏洞:对用户权限的管理更加复杂;复杂的用户管理:管理员必须管理所有用户的凭证,提高了管理难度...

2019-06-06 10:01:00 709

原创 外部配置存储模式——云计算架构常用设计模式

背景大多数应用程序的运行时环境都包括配置文件,在部署应用的时候,通常会随着应用程序一起进行部署。针对配置文件而言,放置位置及管理的不当可能造成很多额外的问题。当中途编辑修改配置文件后,也要求重新部署应用程序,从而导致意外的停机和额外的管理开销;本地配置文件将配置信息限定到单个应用程序。而很多时候,跨多个应用程序共享配置设置非常有用,如数据库的连接,主题信息共享等等;管理应用程序多个实例的...

2019-06-05 10:30:47 253

原创 java代理模式的三种实现

总述    java当中存在三种代理模式,静态代理、动态代理和cglib增强码实现的代理。其中,之前的博文中使用C++实现了代理模式的静态代理,此处就不做代码记录,需要的参照之前的实现。    前两种代理有一定的限制:需要提供接口或抽象类,才能进行实现。而最后一种则没有这个限制,直接使用实现类即可,其实现的原理是为...

2019-06-04 22:16:49 140

原创 原型模型

应用场景原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节。工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。具体可能适用的场景:当创建一个对象时,其初始化可能会面临复杂的创建过程,我们可以通过稳定一致的接口创建对象;当系统针对某对象可能存在多个分支...

2019-06-03 20:37:23 4678

转载 常见的10中体系架构

https://blog.csdn.net/u014094516/article/details/83056578分层模式客户端-服务器模式主从设备模式管道-过滤器模式代理模式点对点模式事件总线模式模型-视图-控制器模式黑板模式解释器模式...

2019-06-03 11:16:13 378

原创 事件朔源模式——云计算架构常用设计模式

背景    在分布式系统当中,处理数据的主要方法是保存数据当前的状态。例如,传统的CRUD模式种,从存储器读取数据,进行修改,并更新数据库种当前的数据状态,而此过程的实现,通常需要锁定数据的事务来进行实现。因此,这个过程主要存在着一些局限性:CRUD系统的更新操作直接针对数据存储可能会限制性能、响应能力和拓展性,因为其必须处理锁定数据的开销;高并发情...

2019-06-03 11:09:05 422

原创 工厂方法模式

应用场景    工厂方法模式对简单工厂模式进行了抽象。有一个抽象的Factory类(可以是抽象类和接口),这个类将不再负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。在这个模式中,工厂类和产品类往往可以依次对应。即一个抽象工厂对应一个抽象产品,一个具体工厂对应一个具体产品,这个具体的工厂就负责生产对应的产品。优缺点优点:将简单...

2019-06-01 17:24:11 575

原创 命令和查询职责分离模式——云计算架构常用设计模式

背景在传统的数据库管理系统中,执行更新和查询的是针对同一个数据库中的相同实体。当数据操作应用于简单的业务逻辑时,传统的CRUD设计方式工作良好。代码生成工具提供快速创建数据访问代码框架机制,然后根据需要进行定制扩展。但是,传统的CRUD方法存在一点缺点:它通用意味着数据的读取并显示的部分和写入到存储之间会不匹配。例如,即使一些附带的列或属性并没有最终显示在界面上,但更新时也要求对这些列和属...

2019-06-01 16:45:38 238

原创 代理模式

应用场景    代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。客户端分辨不出代理主题对象与真实主题对象。    代理模式也可以并不知道真正的被代理对象,而仅仅持有一个被代理对象的接口,这时候代...

2019-05-31 16:56:13 121

原创 计算资源合并模式——云计算架构常用设计模式

背景    云计算的解决方案中,最初设计可能有意遵循关注点分离的设计原则,把操作分解为独立的计算单元以便可以单独托管和部署。然而,虽然这种策略可以帮助简化解决方案的逻辑实现,但是在同一个应用程序中要部署大量的计算单元,这会增加运行时的托管成本,并且使得系统管理复杂化。另外,这种方法也可能不是最合乎经济效益的解决方案,会导致系统空闲或低使用率。目的&nb...

2019-05-31 16:28:12 534

原创 装饰模式

应用场景装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。特点:需要扩展一个类的功能,或给一个类添加附加职责。需要动态的给一个对象添加功能,这些功能可以再动态的撤销。需要增加由一些基本功能的排列组合而产生的非常大量...

2019-05-30 16:59:21 136

原创 竞争消费者模式——云计算架构常用设计模式

背景在云上,一个应用程序应该具有处理大量请求的能力。常用的技术是应用程序发送消息到另一个拥有异步处理能力的服务。这种策略可以确保应用在等待过程中能继续处理业务逻辑而不被阻塞。大多数情况下,请求的数量也会随着时间的变化而有着显著变化。如高峰时期,每秒可能需要处理数百个请求,而其他时间,请求数量可能会很少。为了处理这种波动请求,系统可以运行消费者服务的多个实例。但是,这些实例必须保证系统的安全性(...

2019-05-30 16:31:17 199

原创 策略模式

应用场景多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。需要在不同情况下使用不同的策略(算法),或者策略还可能在未来用其它方式来实现。对客户隐藏具体策略(算法)的实现细节,彼此完全独立。优缺点策略模式是一种定义一系列算法的方法,从概念上来讲,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少各种算法类与使...

2019-05-29 16:47:20 78

原创 补偿事务模式——云计算架构常用设计模式

背景    在云中,应用程序频繁的修改数据,而这些数据可能分布在不同地理位置的各式各样的数据源中。为了避免冲突并提供性能,应用程序不应试图提供强一致性事务,而应实现最终一致性。一个事务当中,可能会由一系列的步骤构成,当所有操作完成时,系统会达到最终的一致性。    最终一致性模型中最显著的一个难题是如何处理无法挽回...

2019-05-29 12:10:49 253

原创 断路器模式——云计算架构常用设计模式

背景在一个分布式系统当中,一个应用程序在云中对远程资源和服务进行访问时,可能会由于瞬时故障而引起操作失败,如网络连接缓慢、超时、资源被过度访问或临时不可用。但是,这些故障都可以在短时间内得到修复,因此可以使用重试模式来处理它们。同时,也会存在一些很难预见的突发事件而需要更长时间来恢复的情形。如果采用重试模式去完成一个不大可能成功的操作是毫无意义的。另外,如果一个服务非常繁忙,可能会导致系统其他...

2019-05-29 11:24:03 276

原创 简单工厂模式

作用*工厂类负责创建的对象比较少;*客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心;*由于简单工厂很容易违反高内聚责任分配原则,因此一般只在很简单的情况下应用优缺点*优点:将产品类和工厂类分开,工厂类可以利用外界提供的信息来觉得创建那个具体类的对象,使得外界不必关心产品类对象的构建细节*缺点:当产品类需要添加或修改时,工厂类需要做相应的修改,不利于对系统的维护和扩展。样例...

2019-05-27 18:33:19 52

原创 缓存驻留模式——云计算架构常用设计模式

背景描述    分布式系统当中,应用程序通常使用缓存来优化数据库数据的重复访问所带来的性能问题。但是期望缓存和数据库数据永远保持一致是不切实际的,因此,此策略用来确保缓存数据尽可能最新。目的    根据需要从数据存储器加载数据,此模式可以用来提高性能,还可以用来维护缓存和后台数据库的数据一致性,但不能解决一致性问...

2019-05-27 17:59:28 186

原创 C++初始化语句解析为函数定义的错误

class background_task{public: void operator(){ do_something(); do_something_else(); }};background_task f;std::thread my_thread(f);将上述线程的启动函数,改为以下形式会有问题:std::thread my_thread(background_t...

2019-04-24 21:31:47 241

原创 openstack pike版本 gpu透传 设备无法使用

问题Openstack pike版本下,GPU(NVIDIA 1060)透传至linux虚拟机,发现设备并成功安装驱动,但是nvidia-smi无法执行,报出设备无法使用的错误。解决通过网上调查,因为NVIDIA GPU会阻止VM中的驱动加载到GPU上,所以需要在qemu中设置隐藏VM的状态。让GPU无法检测到VM在控制GPU。因此,需要在虚拟机的xml文件中打开kvm hidden选项。...

2019-04-01 22:46:49 545

原创 统计一个位数组中非0二进制位的数量

目录背景问题算法1.遍历法2.查表法3.variable-precision SWAR算法Redis中的使用背景在平时的工作当中,会遇到很多需要使用bitmap的情况,那么,针对这种状况,统计二进制位中值为1的位一共有多少个的时候,我们需要慎重的根据当前的使用场景来选择自己的算法,比如需要考虑当前的时间复杂度、空间复杂度等等。问题统计二进制位中值为1的位的总数算法1.遍历法使用循环按...

2019-03-22 17:55:23 592

原创 MySQL5.6中NULL值需要注意的事项

MySQL中带有UNIQUE索引的列,可以有多个NULL值,系统不会认为多个NULL值为重复值。另外,在查询时,如果列本身是数字类型,查询时尽量使用IS NOT NULL。下图中,采用&lt;&gt; 'NULL'进行条件判断,虽然成功了,但是会有警告,不建议这样去做。 2.在 MySQL 中,对 null 值进行数学运算时,结果都为 null。3.在 MySQL 中,对...

2019-03-01 09:47:20 359

原创 Redis数据类型的相关操作

注:此处的操作不全,仅做参考。字符串类型设置:SET "key" "value"获取:GET "key",如果GET一个不存在的键返回(nil)返回字符串长度:STRLEN "key"追加:APPEND "key" "append value"范围并返回新的字符串长度:SETRANGE "key" startPos "value&quo

2018-12-14 09:03:17 139

原创 Django2.1版本中密码修改成功后的url配置问题

在Django1.x版本中,使用内置的密码修改,url配置如下: url('password-change/', auth_views.password_change, { &quot;post_change_redirect&quot;:&quot;/account/password-change-done&quot;, 'template_name': 'acc...

2018-10-20 10:07:53 524 2

原创 RabbitMQ管理

注:此篇文章主要关注管理命令一.服务器管理RabbitMQ中,服务器的管理分成两类:Erlang节点的管理和Erlang应用程序的管理。当RabbitMQ应用程序崩溃,Erlang节点会尝试重启该应用程序,当然前提是Erlang节点没有崩溃。节点注:所有的命令在安装目录的sbin目录下执行,下同。启动:./rabbitmq-server。使用-detached命令可以使其以守护...

2018-10-19 11:04:22 103

原创 RabbitMQ消息机制的原理

一.消息通信模式(消费者、生产者和代理模式)RabbitMQ中,其通信模式不再是传统的服务器\客户端模型(B\S模型),而是一种新型的消费者、生产者和代理的模型。通信过程:生产者(producer)负责创建消息,并发布到代理服务器(RabbitMQ)即可。消费者连接代理服务器,订阅到自身的队列(queue)上,即可消费自己关注的消息。其中,消息包含两部分内容:有效载荷(payload)和标...

2018-10-18 18:36:59 6194

原创 RabbitMQ简介及安装(Win10)

RabbitMQ简介对于应用集成和高强度事务处理负载的问题,RabbitMQ可以提供强大的工具来解决这些问题,并带给适合所有人的可插拔的信息总线。RabbitMQ不是开放信息通信的唯一选择,如ActiveMQ、ZeroMQ、Apache Qpid都提供不同的开源消息队列方案。而我们使用RabbitMQ,优点如下: 除Qpid之外,RabbitMQ是唯一实现AMQP(高级消息队列协议)...

2018-10-14 17:14:36 367

原创 虚拟化技术

一.虚拟机二.虚拟外设管理 — Qemu三.Libvirt四.安装注意事项 OpenStack作为一个开源的云计算平台,利用虚拟机技术和底层存储服务,提供了可扩展、灵活、适应性强的云计算服务。为了达到提供云计算服务的目标,需要有牢固的技术“地基”——虚拟化技术。 这里主要介绍常用的虚拟化工具及相应安装时需要注意的问题。一.虚拟机KVM 基于内核的虚拟机KVM的...

2018-07-01 16:30:51 127

原创 云计算概述

云计算概述云计算分类为什么使用云计算

2018-06-27 19:37:17 1292

空空如也

空空如也

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

TA关注的人

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