自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二、Docker 命令

Docker常用命令:1.查看所有本地主机上的镜像docker images可选项: -a 列出所有的镜像-q 只显示镜像的id2. 搜索镜像 docker search已搜索mysql为例:docker search mysql可以增加一个过滤选项:--filter 例子: 搜索出来的镜像 stars大于 3000docker search mysql --filter STARS=30003.下载镜像 docker pull还是以下载mysql为例:d

2022-01-02 21:44:25 970

原创 一、Docker 安装&学习

安装环境是 linux,centos 8版本信息如下:安装docker移除linux环境中旧的docker:移除旧的docker:yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ doc

2022-01-02 17:00:34 158

原创 (超详细)常见容器的底层实现结构 and 常用接口梳理 and 迭代器失效问题

囊括《 vector , list, dqueue, string, stack, queue ,priority_queue ,map ,unorderedmap,set》<1> vector底层: 数组扩容方式: vs下以2倍速度增长,g++ 下以1.5倍速度增长。 (两种环境下STL的版本不同,前者为PJ版本,后者为SGI版本)初始化方式:(1)vector<int> v; // vector 为空,size = 0,没有任何元素 (2)vector&l

2021-04-06 21:49:32 215

原创 C++ STL 常见容器的底层实现结构 and 常用接口梳理 and 迭代器失效问题

一、常见容器的底层实现结构 and 常用接口梳理 and 迭代器失效vector list dqueue string stack queue priority_queue map unordered_map set unordered_set<1> vector底层: 数组扩容方式: vs下以2倍速度增长,g++ 下以1.5倍速度增长。 (两种环境下STL的版本不同,前者为PJ版本,后者为SGI版本)初始化方式: (1)vector<int> v...

2021-01-19 19:57:15 225

原创 性能测试&故障测试的流程及相关概念

压测相关名词解释名词解释QPS每秒内的请求数TPS每秒内的事务数客户端发起请求的一方服务端响应请求的一方施压机模拟客户端的机器影子表全链路压测过程中,用来与真实数据隔离的测试表,其表结构和正常表一样,但是表名必须加上前缀_shadow_用于标识该表是”影子表”。压测时的数据隔离策略:https://km.sankuai.com/page/297522580 (影子表,及偏移规则)数据隔离策略:物理隔离:通过判断是否时压测流量,决定将数据写入真实表(真实流量时),还是影子表

2020-09-16 11:25:48 768

原创 覆盖率相关概念

行覆盖率:行覆盖率对应的是你的代码行,有多少行被覆盖,比如,你有100行代码,zhi执行了90行,那么覆盖率就是90%;分支覆盖率:分支分概率是你代码中存在分析,有多少分支被覆盖,比如,你有5个分支,那么对应的应该有10条语句(一个分支有两条语句,ture和false),那么你执行了其中的5条,那么覆盖率就是50%;增量覆盖率:本次测试与当前线上对比的增量覆盖率迭代覆盖率:线上代码版本相同的测试,都算一个迭代,迭代是把每次的增量合并到一起增量行:相对比线上,本次改动或增加的行。全量行:迭代行:

2020-09-16 11:25:17 4091

原创 黑盒测试方法

一、因果图法1.定义:因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他适合与检查程序输入条件的各种组合情况。2.意义:(可以考虑到多种输入条件组合起来所出现的情况)等价类划分和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试测试到了,但多个输入条件组合起来可能出错的情况却被疏忽了。参考链接:https://blog.csdn.net/jffhy2017/article/details/56

2020-09-16 11:24:54 572

原创 测试基础方法总结

1.从是否看代码进行分类黑盒测试:也叫做功能测试。在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。常用方法:等价类划分,边界值法,判定表法。白盒测试:"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。常用方法:六种覆盖标准发现错误的能力呈由弱到强的变化:1.语句

2020-09-16 11:23:45 891

原创 testNG相关注解及参数

1.TestNG预期异常测试例如:@test 后的括号中 写入得是期望获取的异常,如果该方法抛出期望中的异常,该测试方法就会通过@Test(expectedExceptions = ArithmeticException.class) #该例子期望的异常是一种,如果期望多个异常的话,后面以expectedExceptions = {ArithmeticException.class,…}#此时如过测试方法抛出其中的一种,则通过。public void divisionWithExcept

2020-09-16 11:23:15 335

原创 Shell 脚本学习 part2

shell 传递参数我们可以在执行脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n是一个数字,1为执行脚本的第一个参数,2为执行脚本的第二个参数,以此类推。。例如执行脚本时: ./test.sh 1 2 3 #执行脚本时传入了三个参数加入脚本的内容为:#!/bin/bashecho “执行的文件名:$0”;echo “第一个参数:$1”;ehco “第二个参数:$2”;echo “第三个参数: $3”;执行后的结果为:其他的参数处理:$# 传递到脚本的参

2020-09-16 11:22:24 68

原创 shell 脚本学习part1 编辑、变量、字符串、数组、注释

shell 脚本编写过程 :创建一个新的文件,vim打开编辑,首部写入 #!/bin/bash 即告知系统这个脚本需要什么解释器来执行,随后在下方进行脚本内容的编写。例: test.sh 文件#!/bin/bashecho “hello bash” #echo 在命令行打印数据。exit 0 #返回值exit 返回0代表执行成功,否则执行失败一般执行时需要给脚本文件加上执行权限,方可执行。#chmod +x 文件名shell变量1.变量的命名shell中变量的命

2020-09-16 11:20:31 75

原创 java自学 part3 String + StringBuffer

String1.字符串与字符数组可以互相交换public String(char value[]) 构造,将字符数组中的所有内容变为字符串 String str = new String(value);public String(char value[],int offset, int count)构造,将部分字符数组中的内容变为字符串 String str = new String(value,0,5) 从位置0开始,获取五个字符作为字符串,注意的是count不能超出数组的范围pu

2020-09-16 11:19:29 74

原创 java自学 part2 数组 类和对象 包 继承 多态 抽象类 接口

数组:arr获取数组的长度:arr.length数组转字符串: Arrays.toString(arr)数组的拷贝: Arrays.copyOf(arr,arr.length)数组的排序:Arrays.sort(arr)类和对象:我们创建的类默认继承 Object类面向对象:用代码来描述客观世界的东西。类:属性 + 行为代码块执行顺序:静态代码块 (static修饰)- > 实例代码块 (不加修饰)-> 构造函数例:{…}static{…}补充学习: toStr

2020-09-16 11:18:52 84

原创 java 学习part1

1.与C++区别:java中没有头文件、指针运算(甚至没有指针运算)、结构、联合、操作符重载、虚基类等等。2.Java程序的结构由如下三个部分组成:1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。2.类:类中带有一个或多个方法。方法必须在类的内部声明。3.方法:在方法的花括号中编写方法应该执行的语句。总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。小细节:常量的表示:java中 类型前加上f

2020-09-16 11:18:07 83

原创 指针 和 引用的区别

区别:1.指针是一个实体,而引用是一个别名。(程序编译时,将指针和引用添加到符号表时,指针放入的时“指针变量的地址”,而引用则放入的是“所指向对象的地址”。所以说引用不可以改变,而指针可以。)符号表是什么以及它的作用看链接文章: 符号表的作用和地位2.指针的内容可以改变,且可以为空,而引用所对应的值不能发生改变,且不能为空。3.指针 sizeof 得到的是指针类型的大小(32位平台是 4字节,64 为8字节),而 引用sizeof得到的是它所代表的对象的大小。4.指针要想对对象进行操作,需要解引用

2020-07-15 11:22:51 1430

原创 网络传播能力及相关工具-讨论思考

问题1:Email营销的基本因素?用户许可、电子邮件传递信息、信息对用户有价值。三个因素缺少一个,都不能称之为有效的Email营销。问题2:你认为什么是垃圾邮件?普通意义上的垃圾邮件指的是未经主动请求的大量的电子邮件, SPAM,UBE(1)收件人事先没有提出要求或者同意接收的广告、电子刊物、各种形式的宣传品等宣传性的电子邮件;(2)收件人无法拒收的电子邮件;(3)隐藏发件人身份、地址、标题等信息的电子邮件;(4)含有虚假的信息源、发件人、路由等信息的电子邮件。(5)含有病毒、恶意代码、色

2020-05-15 16:25:18 300

原创 浅析网络营销的几个常见问题

1,产品渠道的选择根椐企业产品选择想适合的渠道。打个比方。微商前几年不是做得火吗?天天看到。你微商去卖3D打印机看看。微商只适合个知人消费品。还有就是你圈子决定了你的产品。你的朋友收入每月只有1500。你卖苹果手机。卖给你朋友一台。你朋友半年不吃饭。所以产品选择渠道很重要。2,对同类产品没有优势比较。做竞道价的时候,我们不可能创造出一个新的消费来,一般我们推出的新产品,都有同类的替代产品,那么我们就要对这些产品进行比较,例如某个IT学校培训一项技术,现在有很多这样的学校,我们就要对我们的学校与其他的学

2020-05-15 16:24:09 591

原创 网络营销存在的安全问题

今天跟大家来谈谈网络营销的安全问题,随着全球经济的不断发展,互联网络的日益普及,电子商务技术的逐渐成熟,网络营销已成为大多数企业的一个重要营销手段,同时,网络营销的价值已经得到越来越多企业的认可。虽然网络营销在我国的发展不晚,但是网络营销发展过程中所暴露出来的最严重的就是网络营销的安全问题。从各方面的资料了解分析出我国网络营销目前存在的一些风险: 支付安全问题网上支付是一种取代了传统支付手段的现代化支付手段。上网购物给我们带来了便捷、便宜,但同时也让我们对网络支付的安全性有所质疑,最终还有

2020-05-15 16:19:29 1700

原创 企业做网络营销该怎样选择推广方向?

做网络营销是产品重要、还是品牌重要?哪个先哪个后?相信不少企业都有这个疑问。明明是想卖产品、做销量,那么品牌营销还有没有必要做?下面腾鸽信息给大家说说品牌和产品之间的关系,看看究竟怎么选择!一、品牌是营销的基础,是产品身份的象征就护肤品行业而言,关乎面子问题,消费者首先看重的是产品的安全性、然后是功效、再后有价格、包装、代言人等等其他因素。在无法自行检测产品之前,消费者对品牌的了解程度会直接嫁接到产品本身。试想,如果消费者拿着这个品牌词去网上搜,但搜索到的结果寥寥无几,即使你的产品质量过硬,也可能被消

2020-05-15 16:08:53 325

原创 网络营销常问问题

网络营销渠道有什么特点?答:跨时空性、交互性、多媒体性、冲击性和超前性、经济性、技术性对企业来说,网络营销渠道与传统营销的渠道有何不同?答:(1)从单向信息沟通变成双向信息沟通,增强了生产者与消费者的直接连接(2)网上营销渠道可以提高更加便捷和相关的服务(3)网上营销更具有高效性。网络营销渠道有哪些类型?答:网络营销渠道分为两大类:(1)通过互联网实现的从生产者到消费者(使用)者的网络直接营销渠道(简称网上直销),传统的中间商的只能发生改变,由过去的环节的中间力量便成为直销渠道提供服务的中介

2020-05-15 16:06:56 2082

原创 阶段网络广告的形式

现阶段网络广告的形式并举例说明?**1、网幅广告(包含Banner、Button、通栏、竖边、巨幅等)。**网幅广告是以GIF、JPG、Flash等格式建立的图象文件,定位在网页中大多用来表现广告内容,同时还可使用Java等语言使其产生交互性,用Shockwave等插件工具增强表现力。2、文本链接广告文本链接广告是以一排文字作为一个广告,点击可以进入相应的广告页面。这是一种对浏览者干扰最少,但却较为有效果的网络广告形式。有时候,最简单的广告形式效果却最好。3、电子邮件广告电子邮件广告具有针对性强(

2020-05-15 16:05:07 372

原创 网络营销中常见关键词解释

网络营销渠道:是指网上产品或者服务由生产者向消费者转移的途径。网络直销:指生产企业通过网络渠道直接销售产品。**网络间接销售:**是指生产者融入互联网后的中间机构把商品销售给终用户。一般适合小批量商品和生活资料的销售。网络渠道冲突:某渠道成员意识到另一个渠道成员正在从事会损害、威胁其利益,或者以牺牲其利益为代价获取稀缺资源的活动,或是由于观点不一、目标差异,从而引发在他们之间的争执、敌对和报复等行为。**网络促销:**是指利用internet等电子手段启发需求,引起消费者的购买欲望和购买行为的各种活

2020-05-15 16:03:58 1051

原创 网络营销与传统营销的区别及优缺点

传统营销的优势(1)人们的生活习惯、工作方式、价值观都比较接受传统消费(2)顾客能直接感受到产品,降低了购买风险,售后方面也更有保障(3)一部分人将逛街购物做为一种时尚或生活中不可缺少的部分(4)面对产品生动形象来的解说往往更能成功的激发消费者的购买欲传统营销的劣势(1)商品的附加成本增加从而没有价格优势(2)商品有地自域的限制且商品信息不流通,导致地域价格差(3)广告成本大且有时间限制、地域限制,并且传播信息难以保留网络营销的优势(1)有利于企业取得未来的竞争优势(2)网络商品成本低

2020-05-15 16:02:20 4101

原创 网络营销的渠道

在网络营销条件下,传统的分销渠道模式和信息网络技术相结合,促进了企业分销渠道的创新。互联网高效率的信息交换,改变了过去传统分销渠道的诸多环节,将错综复杂的关系简化为单一关系。互联网的发展改变了传统分销渠道的结构。一、借助于网络贸易平台的渠道策略中小企业在网络营销活动中,以网上贸易平台为信息中介,通过该平台直接和客户取得联系,实现产品的销售。以该策略为指导,中小企业可以形成“企业+贸易中间商+顾客”的渠道结构。典型的贸易中间商如仅作为交易地点的阿里巴巴网站。阿里巴巴网站仅作为用户物色交易对象,就货物和服

2020-05-15 15:58:19 365

原创 网络营销牌的方式

网络营销的方式有很多,如下:1、搜索引擎营销:即SEM(通常以PPC为代表),通过开通搜索引擎竞价,让用户搜索相关关键词,并点击搜索引擎上的关键词创意链接进入网站/网页进一步了解他所需要的信息,然后通过拨打网站上的客服电话、与在线客服沟通或直接提交页面上的表单等来实现自己的目的。2、搜索引擎优化:即SEO,指的是在了解搜索引擎自然排名机制的基础上,使用网站内及网站外的优化手段,使网站在搜索引擎的关键词排名提高,从而获得流量,进而产生直接销售或建立网络品牌。3、电子邮件营销:是以订阅的方式将行业及

2020-05-15 15:35:36 466

原创 初识网络营销 | 什么是网络营销?

网络营销名词解释:网络营销是基于网络及社会关系网络连接企业、用户及公众,向用户及公众传递有价值的信息与服务,为实现顾客价值及企业营销目标所进行的规划、实施及运营管理活动。简单的说就是:网络营销,亦称做网上营销或者电子营销,指的以现代营销理论为基础,借助网络、通信和数字媒体技术等实现营销目标的商务活动。起源网络营销产生于20世纪90年代,90年代互联网媒体,以新的方式、方法和理念,通过一系列网络营销策划,制定和实施的营销活动,可以更有效的促成交易的新型营销模式。简单地说,网络营销就是以互联网为主要手

2020-05-15 15:33:57 1239

原创 C/C++ 函数声明与定义分开的必要性。防止函数重定义的三种方法。

大家都知道,我们在写项目的时候习惯性的将函数声明与定义分开来写,通常函数声明放在.h文件中,函数定义放在.cpp文件中,那么这么做的原因是什么呢?这是我在练习时遇到的一个问题:我有三个文件:a.h文件#include<iostream>using namespace std;void print1(){ cout<<"hello world" <&...

2020-04-07 14:26:29 4311 1

原创 C++实现字符组合 两种方法: 递归 位操作

1、思路:假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:第一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;第二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择m个字符。这两种选择都很容易用递归实现。#include<iostream>#include<v...

2020-04-01 22:18:47 1120

原创 进程和线程区别及应用场景

1.定义进程:具有一定功能的程序关于某个数据集合上的一次运行活动,进程是承担系统资源分配的基本单位。线程:进程的一个实体,是cpu调度的基本单位,它是比进程更小的能独立运行的单位。线程基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(程序计数器,一组寄存器和栈)。2.两者之间的关系一个线程只能属于易一个进程,但一个进程中可以多个线程。相对于进程而言,线程是一个更加接近于执行体的概念,...

2020-03-26 11:38:07 1544 1

原创 数据库 事务及特性 隔离机制 引擎

事务**1.事务的概念:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的单位。**例如在关系型数据库中,一个事务可以是一条sql语句、一组sql语句或整个程序。2.事务的ACID(事务管理)特性(1)原子性事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。(2)一致性事务的执行结果必须是使数据库从一个一致性状态转换到另一个一致性状态...

2020-03-26 00:11:47 124

原创 数据库操作总结(三)

《联结表》1.联结(1)关系表外键(foreign key) 外键为某个表中的一列,它包含另一个表 的主键值,定义了两个表之间的关系。关系数据可以有效地存储和方便地处理。因此,关系数据库 的可伸缩性远比非关系数据库要好。可伸缩性(scale) 能够适应不断增加的工作量而不失败。设 计良好的数据库或应用程序称之为可伸缩性好。(2)为什么要使用联结表?分解数据为多个表能更有效地存储,...

2020-03-23 18:25:45 372

原创 MYSQL数据库操作总结(二)

《使用数据处理函数》1.去掉串尾空格的函数RTrim() 即串右边的空白空格 .例:select RTrim(’'ABC ‘’ ) ; 放回结果为ABC;2.Now() 返回当前的日期和时间。3.文办处理函数(1)Upper() 将文本转换为大写。与 Lower() 函数的作用相反。有结果可以看出,Upper() 函数可将文本转换为大写。(2)常用的文本处理函数SOUN...

2020-03-22 23:37:13 242

原创 MYSQL数据库操作总结(一)

《主键》某一列要作为主键的条件:任意两行都不具有相同的主键。每行都必须有一个主键(主键列不允许为NULL)使用主键的好习惯:1.不更新主键列的值2.不重用主键列的值3.不在主键列中使用可能会更改的值。(例如,如果使用一个 名字作为主键以标识某个供应商,当该供应商合并和更改其 名字时,必须更改这个主键。)《外键》《检索》使用库: use 库名查看表: show 表名 ...

2020-03-22 13:25:40 413

原创 OSI七层模型 ----及其功能

1.物理层为数据链路层提供物理连接,在其上串行传输比特流,即所传输数据的单位是比特。此外,该层中还有确定连接设备的电气特性和物理特性的功能。2.数据链路层负责在网络结点间的线路上通过检测、流量控制和重发等手段,无差错的传输以帧为单位的数据。为做到这一点,在每一帧中必须带有同步、地址、差错控制及流量监控等控制信息。3.网络层为了将数据分组从源主机送到目的主机,网络层的任务就是选择适合的路...

2020-03-04 18:03:30 249

原创 http 与 https的区别 、 SSl(安全套接层)协议的介绍

hhtp与https 的区别1.http与https 是完全不同的连接方式,同时使用的端口号也不同,http使用的是80号端口,https使用的是443号端口。2.http的连接很简单,是无状态的,而https是由SSL和http协议构建的可进行加密传输、身份认证的网络协议,要比http更加的安全。3.、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。...

2020-03-04 17:22:53 614 1

原创 宏定义的优缺点

一、优点提高代码的可读性,方便修改。提高程序的运行效率:使用带参数的宏既代替了函数的功能,有避免了函数入栈和出栈操作,减少了系统的开销,提高了运行的效率。二、缺点1.由于使用宏的时候,只是进行简单的字符替换,不会对类型进行检查,存在安全隐患。2.由于宏是直接替换的,所以会导致代码稍微长一点。3.嵌套定义过多可能会影响程序的可读性,会容易出错。4.边界效应。由于宏定义的时候,其各个分...

2020-03-04 15:53:06 3202

原创 const 和 define宏定义常量的区别

1.类型const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。2.内存宏定义的常量在预处理阶段就进行了替换,因此程序运行时内存的常量区是没有宏定义的常量的,而const定义的常量存在内存的常量区。3.调试有些集成化的调试工具可以对const 常量进行调试,但是不能对...

2020-03-03 17:15:55 447

原创 死锁 《死锁的原因》 、《产生死锁的必要条件》 、《检测、避免、预防死锁的策略》---银行家算法

一、什么是死锁?课本上的定义:死锁定义为一组互相竞争资源或进行进程间通信的进程间的“永久” 阻塞。当一组进程中的每个进程都在等待某个事件(资源),而仅有这组进程中的其他进程才可以触发该事件。因为没有事件能够被触发,故死锁是永久性的。通俗的将就是:两个或多个进程,都拥有其他进程为了继续执行而必要的系统资源,但是每一个进程在得到自己需要的资源之前不会释放自己已用有的资源。从而导致这些进程盲目...

2020-03-03 12:56:32 282

原创 红黑树----原理及详细实现过程

1.红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。2.红黑树的性质每个节点不是红色就是黑色根结点是黑色的如果一个结点是红色的,则它的两个孩子是黑色的对于每个节点,从该节点到其后代叶结点的简单路径上,均包...

2020-03-03 10:28:49 1781

原创 linux操作系统为什么分为用户态和内核态

linux操作系统为什么分为用户态和内核态简单以一句话是为了安全, 在CPU的所有指令中,有些指令是非常危险的,如果错用,将导致系统崩溃,比如清内存、设置时钟等。如果所有的程序都能使用这些指令,那么系统死机的概率将大大增加。所以出于安全的考虑,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通应用程序只能使用那些不会造成灾难的指令。Linux使用...

2020-03-03 10:17:17 1566

空空如也

空空如也

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

TA关注的人

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