自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 基于云原生DevOps服务自动化部署前端项目学习总结

本文主要以部署前端Vue项目为例,讲述了如何基于云原生DevOps服务自动化部署前端项目~从开发完成到线上环境,我们只需提交代码即可~一、引言 作为一名开发人员,日常工作中我们除了需要负责代码的开发外,通常还需要负责代码的部署,运维等工作。而在传统的手工部署方法中,在每次版本迭代或需求变更完成后,除了将代码提交到代码仓库外,如果需要更新线上环境,我们还需要重复本地构建打包、连接远程服务器、上传代码到服务器指定目录等步骤。这些步骤虽然简单,但是通常耗时耗力,若同时存在多个环境时,也容...

2021-08-21 15:21:14 714

转载 多项式求导系列——OO Unit1分析和总结

一、摘要  本文是BUAA OO课程Unit1在课程讲授、三次作业完成、自测和互测时发现的问题,以及倾听别人的思路分享所引起个人的一些思考的总结性博客。本文第二部分介绍三次作业的设计思路,主要以类图的形式展现,并有简单的优劣分析;第三部分为程序代码复杂度的分析(二、三两部分为基于度量的对自己程序结构的分析);第四部分为对自己、对他人程序的测试、DEBUG、Hack的思考;第五部分是分析作业中可以应用对象创建模式的可能性,和重构的思考。二、开发设计思路1.程序类图展示第一次作业第二次作业...

2021-08-20 15:21:04 642

转载 设计模式-外观模式

    本片文章主要介绍外观模式。    外观模式:为子系统中一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。    我们先看下结构图:    下面我们就以这个结构图写个简单的例子:    首先是四个子系统的代码。package com.lwx.facade;/** * Created with IntelliJ IDEA. * Description: * User: lwx * Date: 2019-03-31 * Time: 11.

2021-08-20 08:20:11 251

转载 Redis的正确使用姿势

前言说到分布式缓存,可能大多数人脑海浮现的就是redis了,为什么redis能够在竞争激烈的缓存大战中脱颖而出呢?原因无非有一下几点:性能好,丰富的特性跟数据结构,api操作简单。但是用的人多了,就会出现很多不规范或者疏忽的地方,严重的时候甚至会导致生产事故,所以我们有必要来聊聊在Redis使用过程中的一些“正确姿势“。切忌裸奔大家别笑... 很多初学者或者没经验的开发人员在服务器上用root用户装了redis以后,打开默认端口直接就愉快的运行起来了,开放了外网及默认端口的连接,甚至...

2021-08-19 15:21:10 170

转载 Matlab迭代器模式

迭代器(Iterator)模式,又叫做游标(Cursor)模式。提供一种方法访问一个容器(container)或者聚集(Aggregator)对象中各个元素,而又不需暴露该对象的内部细节。在采用不同的方式迭代时,只需要替换相应Iterator类即可。本文采用Matlab语言实现对元胞数组和string数组的遍历。Aggregator.mclassdef Aggregator < handle methods(Abstract) iterObj = createItera.

2021-08-14 15:21:05 464

转载 AppBoxFuture(八): 另类的ORM实现

  通常的ORM实现基于配置或注释,由反射或Emit生成相应的Sql语句,然后将Sql发送给数据库解析Sql字符串生成AST再交给优化器处理后执行,返回的数据再经由反射或Emit转换为相应的实体实例。作者认为上述方式主要存在以下两个问题:实体类代码是硬编码的,如果实体类定义变更必须重新编译应用再部署,不利于实现运行时动态变更实体定义;CRUD操作转换为Sql的实现复杂,且需要针对不同的数据库做适配优化。  由于作者追求极致简单的系统架构以及丝般顺滑的开发体验,所以作者采用了另类的方式在框架内实现了O.

2021-08-13 15:21:12 82

转载 Springboot 项目源码 vue.js html 跨域 前后分离 shiro权限

官网:www.fhadmin.org特别注意: Springboot 工作流前后分离 + 跨域 版本 (权限控制到菜单和按钮)后台框架:springboot2.1.2+ activiti6.0.0+ mybaits+maven+接口前端页面:html +vue.js 形式 jquery ajax 异步跨域 json 格式数据交互 前后分离,前后台分开部署(特别注意,前端用的vue.js,就是html页面引入vue.js形式, 用tomcat部署运行,更适合后台开发者)工作流模块----...

2021-08-10 15:21:05 216

转载 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探

SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探Springboot: 2.1.6.RELEASESpringCloud: Greenwich.SR1如无特殊说明,本系列教程全采用以上版本前面我们在聊服务网关Zuul的时候提到了Gateway,那么Zuul和Gateway都是服务网关,这两个有什么区别呢?1. Zuul和Gateway的恩怨情仇1.1 背景Zuul是Netflix开源的一个项目,Spring只是将Zuul集成在了Sprin.

2021-08-09 15:21:05 210

转载 软件架构设计的七大原则

一、开闭原则(是面向对象开发中最基础的原则,它指导建立更加稳定灵活的系统)  开闭原则是对扩展和修改行为的一个原则,指的是软件中的函数、类、模块应该对扩展开放,对修改关闭。强调的是用抽象构建框架,用实现扩展细节。常用于解决的问题如:更新版本时,尽量在不修改源代码,但增加新功能。二、依赖倒置  依赖倒置是指设计系统代码结构时,高层模块不依赖底层模块,它们都应依赖于其抽象。细节应该依赖抽象。通过依赖倒置,可减少系统之间模块的耦合性,提高系统的稳定性,提高系统的可读性与可维护性,降低修改程序带来的风险。.

2021-08-09 08:20:11 1254

转载 23种设计模式之单例模式

单例模式单例模式分八种方式1)饿汉式(静态常量)2)饿汉式(静态代码块)3)懒汉式(线程不安全)4)懒汉式(线程安全,同步方法)5)懒汉式(线程安全,同步代码块)6)双重检查7)静态内部类8)枚举饿汉式(静态常量)public class SingletonTest01 { public static void main(String[] args) { // 测试 Singleton s1 = Singleton.getInstance(); .

2021-08-07 20:21:19 80

转载 DesignPattern系列__04里氏替换原则

1.内容引入——继承体系的思考在继承中,凡是在父类已经实现的方法,其实算是一种契约或者规范,子类不应该在进行更改(重写);但是,由于这一点不是强制要求,所以当子类进行重写的时候,就会对继承体系产生破坏。同时,继承带来便利的时候,也有弊端:给程序带来了侵入性,增加了对象之间的耦合性,可移植性低。当你修改基类时,子类都需要进行相应的修改。那么,如何能够保持继承的优点,同时减少缺点对程序的影响呢?也就是我们要讨论的主角——“里氏替换原则”。2.里氏替换原则的定义1.第一种定义如果对每一个类型为S的对.

2021-08-07 08:20:05 83

转载 设计模式之装饰者模式

首先让我们看一下装饰者模式(我爱叫他套娃模式)的概念:动态的将责任附加到对象上, 若要扩展功能,装饰者提供了比继承者更有弹性的集成方案。什么?没看懂?没关系,最后再来看这个概念,想让让我们来看一个咖啡屋项目(就是点各式各样的咖啡)。原本的设计如下:看似很好的设计,但是别忘了,买咖啡时候我们会让他们给我们加一系列的调料,例如蒸奶、摩卡......。所以,在这时咖啡店的设计就变成了,如下:不错,你看...

2021-08-06 20:21:17 101

转载 架构杂谈《十》

架构杂谈《十》常用开发模式一、瀑布式开发  瀑布式开发是在1970年提出的软件开发模型,是一种较老的计算机软件开发模式,也是典型的预见性的开发模式,在瀑布式开发中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进度的方法。瀑布式开发最早强调系统开发应有完整的周期,且必须完成完整地经历每个周期内的每个阶段,并系统化地考量分析所设计的技术、时间与资源等。  瀑布式开发的主要问题是它严格分级导致自由度降低,在需求不明确并且在项目进行过程中可能有变化的情况下基本.

2021-08-06 08:20:08 81

转载 《深入浅出设计模式》简记

1 工厂模式(Factory)1.1 简单工厂模式1.2 工厂方法模式1.3 抽象工厂模式2 单例模式(Singleton)3 建造模式(Build)4 原型模式(Proto)5 适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。6 桥梁模式(Bright)...

2021-07-30 20:21:10 108

转载 Nginx的配置文件位置以及组成部分结构讲解

场景Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102828075在上面安装完Nginx后,在 /usr/local/nginx/下有个conf目录,在conf目录下有nginx.conf,这就是Nginx的配置文件。注:博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 .

2021-07-30 08:20:05 242

转载 JavaScript-适配器模式

适配器模式旧接口格式和使用者不兼容中间加一个适配转换接口传统的UML类图javascripy中的UML类图class Adaptee { specificRequest(){ return '德国标准的插头' }}class Target { constructor(){ this.adaptee = new Adaptee() } request() { let info = this.ada.

2021-07-25 08:20:07 138

转载 java企业官网源码 自适应响应式 freemarker 静态引擎 SSM 框架

前台:支持(5+3[时尚单页风格])八套模版,可以在后台切换业务模块(首页管理)1. 网站信息:维护网站基本信息,比如标题、描述、关键词、联系方式、地址等2. 业务说明:网站首页文字业务介绍3. 公司理念:网站首页展示公司的4个理念4. 轮播图片:网站首页上面4个轮播图5. 项目案例:网站首页项目案例6. 合作伙伴:网站首页底部展示合作伙伴7. 技术团队:网站底部展示技术团队业务模块(内容管理)1 .关于我们:维护关于我们栏目数据,百度富文本框2. ...

2021-07-20 15:21:08 773

转载 认证系统设计经典会话

Bill Bryant,首次写与1988年2月Theodore Ts'o与1997年2月整理并转换成HTML,并且追加了afterword章节来描述V5版本的一些变化前言本文虚构了一个关于公网认证系统--Charon构建过程的对话,随着对话的进行,Athena和Euripides探讨了公共网络环境里普遍存在安全问题,并在Charon系统设计之初就考虑好了这些问题的解决方式。所以直到对话完成,Athena和Euripides才算真正的把系统设计好。当系统设计好后,Athena把系统的名字从Cha...

2021-07-19 08:20:05 129

转载 单例模式(Singleton Pattern)

Singleton Pattern 属于创造型设计模式,提供一种创建对象的方法,涉及一个单一类的实例,确保一个类只创建一个对象,提供访问唯一对象的方法,可以直接访问,不需要创建。单一类只有一个实例类必须自己创建自己的实例给其他调用对象提供访问该类实例的方法目的:一个类只创建一个实例优点:减少全局使用该类的频繁创建与销毁,节省系统资源,避免对资源的多重占用缺点:没有借口,不可以被继承,与单一职责冲突,一个类应该只关心自己内部逻辑,不关心外部调用实例情况实例应用:多进程多线程,操作同一个文件时.

2021-07-18 15:21:08 71

转载 20200612/DDD-理解核心概念

一、前言DDD(领域驱动设计)的一些介绍网上资料很多,这里就不继续描述了。自己使用领域驱动设计摸滚打爬也有2年多的时间,出于对知识的总结和分享,也是对自我理解的一个公开检验,介于博客园这个平台也算是对DDD的推广尽了一份绵薄之力。一开始接触这个东西是在2014年,真的觉得像是发现了一片新大陆一般,对我整个程序开发视野有了新的理解,但是像[VaughnVernon]《实现领域驱动设计》里写的那样,景色虽好,可是自己很长一段时间内很混乱,理不清眼前的陌生世界,因为它与传统的观念完全不同。我相信大部分..

2021-07-17 20:21:12 234

转载 了解一点服务架构:单机、集群、分布式

单机  单机架构很好理解,例如你要部署一套CRM项目,这个项目包含的服务有:用于应用操作的Web站点、用于存储文件的FTP服务、Oracle数据库服务都部署在一台服务器上。总而言围绕这个项目的所有服务都部署在一台服务器上就是单机架构方式。结构参考图:集群  单机架构的硬件资源有限对于业务量比较大的情况是很难适用的,所以便可以在此基础之上实施集群架构方式。例如,部署在IIS上的Web应用随着业务量的增加,应用的处理能力下降,此时可以准备多台新的服务器设备并将Web应用分别部署在新的服务器上,这...

2021-07-13 08:20:05 238

转载 行为型模式之备忘录模式

目录定义与特点结构与实现模式的结构模式的实现应用场景扩展:同原型模式混合使用每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。其实很多应用软件都提供了这项功能,如 Word、记事本、Photoshop、Eclipse 等软件在编辑时按 Ctrl+Z 组合键时能撤销当前操作,使文档恢复到之前的状态;还有在 IE 中的后退键、数据库事务.

2021-07-12 08:20:05 78

转载 Django——安装与简单使用、与web对比

一、django与其他web框架区别python中主流web框架:django,flask,tornado(性能高),sanic,fastapi。。。。。假设:socket服务端:a路由的映射关系:b(根据url不同返回不同的内容 url---视图函数)模板渲染: c (字符串返回给用户 特殊字符替换)比较:自己写的web框架: a:用了第三方wsgiref b:自己写的 c:自己写的django: a:用了第三方wsgiref b:自己写的 .

2021-07-11 15:21:05 201

转载 Django——路由层(路由配置,APPEND_SLASH,路由分发)

一、路由层之简单路由配置1 路由参数 # 第一个参数是正则表达式 # 第二个参数是视图函数内存地址 # 第三个参数是个字典 {'name':lqz,'age':18},给视图函数传递默认值 # 第四个参数name,当前路由的别名,用作反向解析 url(r'^home2/', views.home,{'name':'ayca','age':19},name='home'), 2 访问根路径,触发视图函数执行(路由怎么配) -url(r'^$'.

2021-07-11 08:20:07 451

转载 Protobuf在Cmake中的正确使用

Protobuf是google开发的一个序列化和反序列化的协议库,我们可以自己设计传递数据的格式,通过.proto文件定义我们的要传递的数据格式。例如,在深度学习中常用的ONNX交换模型就是使用.proto编写的。我们可以通过多种前端(MNN、NCNN、TVM的前端)去读取这个.onnx这个模型,但是首先你要安装protobuf。在之前的博文中已经简单介绍了onnx,其中onnx.proto就代表了onnx模型的基本数据结构。一般来说,protobuf经常搭配Cmake使用,Cmake有官方的modul.

2021-07-06 15:21:05 1432

转载 Java基础之:属性与局部变量作用域

Java基础之:属性与局部变量作用域简单案例class A{ int age; //属性 public void print(){ System.out.println(age); String name = "小范"; System.out.println(name); } public void show(){ age = 10; // name = "小黄"; .

2021-07-03 20:21:10 158

转载 1 MyBatis简介

MyBatis简介环境说明jdk 1.8Mysql 5.7.29maven 3.6.1IDEA什么是MyBatisMyBatis是一个基于Java的持久层框架MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作MyBatis 可以通过简单的 XML 或注解来配置,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。MyBatis 本是apache的一个开源项目iBatis,, 20.

2021-07-02 20:21:10 73

转载 Python开发,用GUI编写一个天气查询桌软件

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。以下文章来源于快学Python ,作者叶庭云刚接触Python的新手、小白,可以复制下面的链接去免费观看Python的基础入门教学视频https://v.douyu.com/author/y6AZ4jn9jwKW一、实现效果运行效果如下:二、基本思路导入用到的库import requestsfrom lxml import etreeimport reimport...

2021-07-02 15:21:08 213

转载 Java 使用Stream处理List对象去重

// 根据name去重List<Person> unique = persons.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getName))), ArrayList::new));

2021-07-01 20:21:13 935

转载 hibernate一对多,细节讲解

1.一对多 1).首先创建两个实体类studeninfo.java跟studentxxb.java    1)studentinfo.java表如图:package model;import java.util.Date;import java.util.HashSet;import java.util.Set;public class studentinfo { private Integer id; private String name; private String .

2021-06-29 15:21:05 206

转载 Docker入门级操作

安装Docker:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun如果curl命令无效,需安装:sudo apt install curldocker需要root权限,如果没有root账户的密码,请执行下面的命令:sudo groupadd docker #添加docker用户组sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,.

2021-06-29 08:20:05 77

转载 15 二次封装Response类

二次封装Response类from rest_framework.response import Responseclass APIResponse(Response): def __init__(self, data_status=0, data_msg='ok', results=None, http_status=None, headers=None, exception=False, **kwargs): ''' :param data_status:.

2021-06-26 20:21:19 267

转载 面试题:rm 删除文件之后,空间就被释放了吗?你知道答案吗?

产生一个指定大小的随机内容文件一个文件什么情况下才会被删除?如何释放已经被删除文件占用的空间?总结在Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意。产生一个指定大小的随机内容文件我们先看一下当前各个挂载目录的空间大小:$ df -h/dev/sda11 454M 280M 147M 66% /boot我这里挑选了其中一个结果展示(你可以选择任一挂载目录),接下来准备在/boot下生成一个文件。...

2021-06-25 15:21:05 172

转载 手写mini版MVC框架

目录1, Springmvc基本原理流程2,注解开发编写测试代码:目录结构:3,编写自定义DispatcherServlet中的初始化流程:3.1 加载配置文件3.2 扫描相关的类,扫描注解3.3 初始化Bean对象(实现IOC容器,基于注解)3.4 实现依赖注入:3.5 构造一个handleMapping处理器映射器4,测试一下:完整的pom文件:5,改造initHandleMapping()5.1 为什么改造?5.2 新建Handler类5.3 修改initHandleMapping()6, 请求处理.

2021-06-24 08:20:05 44

转载 Java模拟试题刷题日记,20201210

Java刷题日记,20201210虽然我什么都不会,但这并不妨碍我在比赛中抱着大佬的大腿躺~反思昨天(1209),没有更新刷题日记,主要原因是没有进行刷题,更无从谈起更新日记为什么没有刷题呢?是因为时间不够。为什么时间不够呢?是因为昨天一天的满课且全是考试,因此将时间重心放在了自己的专业课考试上,并没有在意刷题日记的更新为什么要考试呢?因为接近于学期末,需要有一次期末考试考核学习成果PS.这点无法改变,返回上一级继续深问除了考试的时间,在那之外还有时间吗?有的为什么那一段时间.

2021-06-21 08:20:04 166

转载 三招搞定你的ubuntu安全问题

本篇主要介绍以下三个部分:反病毒引擎clamav的安装和使用ubuntu ufw限制访问地址ubuntu用户连接失败锁定指定时间反病毒引擎clamav的安装和使用简介ClamAV是一款开源的反病毒引擎,用于检测病毒,特洛伊木马,恶意软件和其他威胁。 它支持多种文件格式(文档,可执行文件或存档),利用多线程扫描器功能,并且每天至少3-4次接收其签名数据库的更新。Linux发行版并没有太多的病毒,因此大多数使用这种系统的人甚至都懒得使用防病毒软件。 如果确实需要,可以使用ClamAV。安装.

2021-06-19 20:21:15 832

转载 PHP设计模式之适配器模式

这个模式一直以来都有一个很经典的例子,那就是插座!没错,当我们从国外买回来电器,或者旅游出差去国外的时候,经常会需要一个电源适配器,因为我国的电压标准是220伏,而其他国家则有110伏的标准。而这个电源适配器正是适配器模式的一种标志。当对象不太符合要求的时候,给他加一个适配器呗!!Gof类图及解释GoF定义:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作GoF类图继承式组合式代码实现interface Tar.

2021-06-16 20:21:13 89

转载 6 JSON

6 JSON什么使 JSON ?JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛;采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字.

2021-06-13 20:21:09 52

转载 Java基础之:异常及异常处理

Java基础之:异常及异常处理我们将java程序执行过程中出现的不正常现象称为异常,例如:之前遇到的数组下标越界异常,空指针异常等等执行过程中发生的异常事件分为两类:Error(错误):Java虚拟机无法解决的严重问题,如:JVM系统内部错误,资源耗尽等严重情况。比如:StackOverFlowError(栈溢出),Error是严重错误,程序会直接崩溃掉。Exception:其他因为编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如空指针访问等。Exception分为...

2021-06-13 15:21:13 133

转载 Python 面试题:输入一个数组,输出该数组的第二大的数字

问题:输入一个数组,输出该数组的第二大的数字,并且编写相关的测试用例注意:1.如果list含有非int, float元素需要remove2.如果list有重复的最大元素,需要自己处理,内置的list.sort(reverse=True)和heapq.nlargest排序,元素个数不变。附上代码removeInvalidItems 去掉不是int或float类型的值。注意:不能像下边这样用一次循环,因为remove某个元素,下标发生了改变,有些值并不能移除for item in l: # .

2021-06-13 08:20:04 585

空空如也

空空如也

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

TA关注的人

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