- 博客(116)
- 收藏
- 关注
原创 关于云原生
微服务是一种软件架构方式,我们使用微服务架构可以将一个大型应用程序按照功能模块拆分成多个独立自治的微服务,每个微服务仅实现一种功能,具有明确的边界。服务网络可以使服务与服务之间的通信更加流畅、可靠、安全,它的实现通常是提供一个代理实例,和对应的服务一起部署在环境中,这种模式我们称为Sidecar模式(上一篇中有讲述过),Sidecar模式可处理服务之间通信的任何功能,比如负载均衡、服务发现等。服务网格是轻量级的网络代理,能解耦应用程序的重试/超时、监控、追踪和服务发现,并且能做到应用程序无感知,
2023-03-16 15:07:03 472
原创 istio-边车模式(sidecar)
将本将属于应用程序的功能拆分成单独的进程,这个进程可以被理解为sidecar。在微服务体系中,将集成在应用内的微服务功能剥离到了sidecar内,sidecar提供了微服务发现、注册、服务调用、应用认证、限速等功能。一、边车模式:将服务治理功能从应用本身剥离出来作为单独进程,与主应用程序共同放在一台主机(host)中,但会将他们部署在各自的进程或容器中,这种方式。在运行时环境和编程语言方面,sidecar独立于其主要应用程序,不需要为每个微服务编写服务治理能力的代码,减少了微服务架构的代码的重复。
2023-03-15 15:52:30 1010
原创 Centos8下编译go文件时,自动下载所有依赖包
一、应用场景说明:当Centos系统下面有golang环境,而想build一个已有go程序时,会遇到找不到依赖包的异常,如下图:这时就需要自动下载所有依赖包。二、命令步骤:1、在项目目录下输入命令:go get -d -v ./...即可自动下载所有依赖包,但有可能会出现下面的异常go: missing Git command这时候需要执行步骤22、输入以下命令,安装gityum install git-core安装完成之后,可输入以下命令验证是否安装成功.
2021-11-23 14:18:25 831
原创 Java算法之二分查找
一、二分查找又叫折半查找,查找要求是:待查找的序列是有序的。二、算法说明:每次取中间位置的值与带查找关键字比较,如果中间位置的值比待查找关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比带查找关键字小,则在后半部分循环这个查找的过程,直到查找到为止,否则说明序列中没有待查找的关键字。三、实现代码如下:public static int biSearch(int []array, int a){ int lo=0; int hi=array.length-1; in.
2021-07-14 18:09:12 149
原创 Oracle数据库log_status设置
一、说明:oracle在windows环境下,监听日志文件会不断增大,没有自动删除功能,直至达到4GB时,数据库会出现返回迟缓情况,该日志生成速率会很快。二、若项目无监听日志解析等需求,建议关闭监听日志功能,即设置log_status参数即可;设置方式下面会说。三、出现这种情况,通常用两种方式来处理:1、上面说的直接关掉,不让产生日志就不会有这个问题;2、若要用到日志解析,则只能重命名文件,让产生一个新的日志文件出来;(个人之前想设置自动创建这个过程,但是我查找了oracle相关接口资料,并没有找到
2021-06-22 17:18:51 694
原创 对于volatile和多线程编程的认识
一、在Java中,关键字volatile是最轻量级的同步机制,Java内存模型对volatile专门定义了一些特殊的访问规则。具体规则如下:1、线程可见性:当一个线程修改了被volatile修饰的变量后,无论是否加锁,其他线程都可以立即看到最新的修改,而普通变量却做不到这点。2、禁止指令重排序优化,普通的变量仅仅保证在该方法的执行过程中所有依赖赋值结果的地方都能获取正确的结果,而不能保证变量赋值操作的顺序和程序代码的执行顺序一致。也就是说volatile关键字定义的变量,通过禁止指令重排序,防止因为
2021-04-27 18:38:10 128
原创 Git之拉取代码方法记录
一、第一种,命令如下:git clone -b dev二、第二种,以以下几步可完成,步骤如下:1、初始化:git init2、添加远程git代码版本库地址git remote add origin 版本库地址3、将远程分支代码拉取到本地:git fetch origin dev说明:dev为远程分支名称4、创建本地分支,切换至该分支,并与远程仓库分支进行关联git checkout -b localdev origin/dev说明:localdev为
2021-02-24 15:21:47 11667
原创 Git之新建分支命令
git checkout -b prt3.3.2说明:上面命令其实质为以下命令的合体(新建分支--切换至该分支):git branch prt3.3.2git checkout prt3.3.2
2021-02-24 14:48:32 562
原创 Git之常用命令汇总
1、需提前下载并安装好git;2、创建用户名,命令如下:git config --global user.name "自己的用户名"3、创建用户邮箱,命令如下:git config --global user.email "一个邮箱地址"4、初始化一个分支目录(cd至你想要创建的目录下),命令如下:git init5、在当前目录下,连接远程服务器,命令如下:git remote add origin ssh://xxxx@27.17.43.12:29418/kqgis
2021-02-24 12:07:20 125
原创 MySQL获取所有表及表结构
1、获取所有表属性,语句如下:select table_name tableName, engine, table_comment tableComment, table_collation tableCollation, create_time createTime from information_schema.tableswhere table_schema = (select database())order by create_time desc2、
2021-02-20 18:38:54 4617
原创 启动docker容器,并设置为自动启动
sudo docker run -d -p 5000:5000 --restart=always -v /opt/data/registry:/tmp/registry registry
2021-02-19 17:35:46 519
原创 安装docker-compose之后,出现附近有语法错误的异常,处理方法
一、环境说明:本人系统为ubuntu20.0.4,使用官网安装docker-compose方法之后,出现了404,以及附近有语法错误字样。二、异常原因说明:通过官方以下地址在线安装时,由于官方curl下载后文件不完整,导致异常;在线地址如下:curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-'uname -s'-'uname -m' > /usr/local/bin
2021-01-22 18:58:49 4082 4
原创 centos下安装mariaDB方法
1、安装mariadb-serveryum install mariadb-server2、安装相关环境yum install mariadb-embedded mariadb-libs mariadb-bench mariadb mariadb-sever3、安装mariadbyum install mariadb4、启动mariadbsystemctl start mariadb5、设置开机启动systemctl enable mariadb ...
2021-01-12 19:30:19 1046
原创 linux离线安装docker-compose
一、环境说明:在某些特定环境中,如网络或者其他环境下,无法在线安装docker-compose,本博文主要记录离线安装docker-compose方法。二、安装步骤:1、获取docker-compose部署文件,官方获取地址如下:https://github.com/docker/compose/releases/docker-compose-Linux-x86_642、将上述文件拷贝至服务器某处,然后将其移动到/usr/local/bin,并重命名为“docker-compose”,命令
2021-01-04 17:30:45 3493
原创 linux系统下离线安装docker
一、环境说明:在某些部署环境下,因为网络或者其他原因,不能在线部署,这时候就需要以离线的方式安装docker;二、安装步骤:1、获取docker安装文件,官方地址如下:https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz2、将下载的安装文件进行解压,命令如下:tar zxvf docker-19.03.9.tgz3、将上述解压后文件(docker文件夹)全部移动至/usr/bin目录下(
2021-01-04 17:14:44 7091 1
原创 linux系统中安装Python3
一、博前简述:几乎所有得linux系统都会默认安装python2,但大多没有安装python3二、安装python3步骤1、打开终端,查看已安装版本,命令如下:$ python --version$ python3 --version2、安装python3,命令如下:$ sudo add-apt-repository ppa:fkrull/deadsnakes$ sudo apt-get update$ sudo apt-get install python3.53、
2020-12-31 09:09:03 179
原创 docker进入到某个容器
一、前提:该容器已存在二、进入命令主要有三个,下面分别列出来,以做记录:1、在容器中开启一个交互模式的终端,命令如下:$ docker exec -i -t [容器名] /bin/bash2、在容器中以交互模式执行容器内 /root/runoob.sh 脚本$ docker exec -it [容器名] /bin/sh /root/runoob.sh3、利用容器ID$ docker exec -it [容器ID] /bin/bash...
2020-12-30 14:25:19 12244
原创 centos下安装docker步骤
一、安装说明:centos为较常用具有linux内核的系统,所以安装docker较为简单,步骤见二。二、安装步骤:1、检查内核版本(docker要求centos系统的内核高于3.10),命令如下:$ uname -r2、使用root账号登录系统,请确保yum包更新到最新,命令如下:$ sudo yum update3、查看是否已安装docker,命令如下:docker -v4、若已安装过docker,并判断版本较为老旧,则建议卸载旧版本,进行重新安装docker,命令如
2020-12-30 11:02:04 337
原创 docker-compose常用命令
1、运行容器:docker-compose up或 docker-compose up -d2、停止容器docker-compose down3、停止但不删除容器docker-compose stop
2020-12-23 13:56:25 241
原创 Linux系统下安装docker-compose步骤与方法
一、前序:docker-compose是用来创建容器,进而达到多容器管理的效果。二、步骤(本文只针对linux环境,实测环境为centos7&8)在linux系统下面安装docker-compose较为简单,主要可有两种方式,下面分别作以记录:、1、直接在线安装,命令如下:curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-'uname -s'-'uname -
2020-12-23 12:12:17 1789 1
原创 一个定时备份Oracle数据库脚本,并删除30天之前的备份数据
@echo offecho ================================================echo Windows环境下Oracle数据库的自动备份脚本echo ================================================::以“YYYYMMDD”格式取出当前时间。set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2.
2020-07-15 15:27:28 1131
原创 Oracle关于数据的导出导入的权限问题
由于工作原因,oracle是用到比较多的数据库,其中权限的设定部分也是使用比较频繁的。今天我主要以备份数据即导出数据为例,简单说下权限问题,也给自己做个阶段性总结。一、权限分类权限根据针对性特点分类,将之分为系统权限和实体权限。系统权限意指针对用户来进行权限管理操作,实体权限指的是针对表、视图等实体来进行权限管理操作。二、对于系统权限分类系统权限分为具有最高权限的DBA和普通用户两种;DBA在安装的过程中会有指定,一般都是sys用户,当然你也可以将你的用户通过sys用户授权为DBA,授权
2020-07-15 15:08:53 4765
原创 MySQL从一个数据库中复制表结构以及数据到另一个数据库
create table cos_prtl_visittimefuncservice select * from db1.cos_prtl_visittimefuncservice;
2020-06-17 16:26:23 1681
原创 Oracle由Varchar2字段类型修改为Clob字段类型
1、在oracle中,一单物理表中已存储有数据,则由Varchar2字段转为Clob字段会报错;不能转。2、可用以下方法转,示例代码如下:--重命名要修改字段alter table sys_param_configure rename column C_VALUE to C_VALUE_TEMP;--新建一个该字段alter table cos_sys_param_configure add C_VALUE clob;--将之前的数据同步到新建字段中update cos_sys_para
2020-05-12 15:28:03 1154
原创 SQL代码整理之道
一、在工作中,见到好多人在写SQL代码时,都是一长串字符打天下,很难看到其结构,也就读懂其句意。今天我把我的一点习惯性经验总结下,不全面,就当是随笔经验吧。二、主要是三方面:1、关键字大写,并以一行单独书写,这个主要是个建议,为了更清楚的看清语句结构,如果你感觉小写也能看请,那也可以;2、不同级别语句之间要有缩进;这样方便看到起包含关系和语句调试;3、尽量使用别名,而且别名尽量有意...
2019-09-12 18:16:26 261 1
原创 Oracle中Clob字段类型修改为Varchar2类型实例
--新建一个字段alter table KQSERVER add temp VARCHAR2(2000);--将原来字段数据赋值到新字段update KQSERVER set temp=SERVER_IMG;--删除原来字段alter table KQSERVER drop column SERVER_IMG;--重命名新字段为原字段alter table KQSERVER rena...
2019-04-10 17:07:34 1962
原创 Oracle使用伪列ROWID快速更新表的多行
--创建一个对象具有多个同义例子,如下:DECLARECURSOR c1 IS SELECT ename, job, rowid FROM emp where ename='BLACK';--m_ename emp.ename%TYPE;m_job emp.job%TYPE;m_rowid UROWID; --UROWID可以存储物理、逻辑或外来rowid,区别于rowid--B...
2018-08-02 20:53:38 1965
原创 Oracle之lpad和rpad函数
一、lpad()函数的用法:lpad函数将左边的字符串填充一些特定的字符其语法格式如下: lpad(string,n,[pad_string]) string:可是字符或者参数 n:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符; pad_string:是个可选参数,这个...
2018-08-02 20:33:27 379
原创 Jquery判断输入是中文、英文(正则)
/** * @author ksk * @version 1.0*/var DBS = DBS ||function(){};/** * 判断输入是否为全英文 */DBS.prototype.isEnglish = function(txt){ var re=/^[a-zA-Z]+$/; if(!re.test(txt)){ return false; ...
2018-07-30 18:12:19 10008
原创 JavaScript事件发布/订阅
1、发布/订阅模式也是诸多设计模式当中的一种;2、这种方式可以在es5下相当优雅地处理异步操作;3、什么是发布/订阅呢?我们举个栗子:假设fn1,fn2,fn3都可以视作一个事件的发布者,执行它,就会发布一个事件。这个时候,我们可以通过一个事件的订阅者去批量订阅并处理这些事件,包括它们的先后顺序。增加一个消息订阅者的方法:class AsyncFunArr { constructor (......
2018-07-03 18:43:45 2118
原创 Oracle更新字段的部分内容
update APP_COSTOMset CONFIG_XML = replace(CONFIG_XML,'地址灾害','地质灾害');submit;
2018-06-19 09:37:35 5745
原创 JavaScript之适配器模式实例
一、适配器模式:是为了解决软件实体间的接口不兼容的问题。适配器的别名是包装器(wrapper);二、首先,假设我们已经有如下代码:var googleMap = { show: function(){ console.log( '开始渲染谷歌地图' ); }};var baiduMap = { show: function(){ conso...
2018-04-10 15:33:35 324
原创 JavaScript之状态模式实例
一、状态模式定义:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。二、状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变。三、如下有一个比较好的实例,代码如下:var delegate = function(client, delegation){ return{ buttonWasPressed: function(...
2018-04-10 15:13:07 213
原创 JavaScript之职责链模式实例
一、职责链的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。二、实例场景说明:某公司对公司产品-手机进行促销活动,有以下政策:在正式购买时,已经支付过500元定金的用户会收到100元的商城优惠卷,交200元定金的用户可以收到50元的优惠卷,而之前没有支付定金的用户只能进入普通购买模式,也就是没有优...
2018-04-09 11:50:17 485
原创 JavaScript之享元模式实例-文件上次优化
一、享元模式是一种用于性能优化的模式,主要优化方式为,若系统中因为创建了大量类似的对象而导致内存占用过高,则可以考虑使用享元模式实现。二、实例说明:如果在浏览器中上传文件,若使用常规写法, 每上传一个文件,就会创建一个实例对象;如果上传2000个文件,那就有2000个对象,浏览器很可能出现假死状态。这种情况下,我们考虑适应享元模式。三、实例:var Upload = function( uploa...
2018-04-09 10:28:30 379
原创 JavaScript模板方法模式
一、模板方法模式:一种只需使用继承就可以实现的非常简单的模式。二、模板方法模式由两部分组成,第一部分是抽象父类,第二部分是具体的实现子类。三、以设计模式中的Coffee or Tea来说明模板方法模式:1、模板Brverage,代码如下:var Beverage = function(){};Beverage.prototype.boilWater = function(){ consol...
2018-04-08 17:08:23 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人