自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 element-ui table 表格组件实现可拖拽效果(行、列)

首先,需要用到第三方库,sortable.js,因为我的项目是vue,所以在package引用的是vuedraggable,而vuedraggable是包含sortable的。npm install sortable.js --save// 或者npm i -S vuedraggable// vuedraggable依赖 Sortable.js,所以下载了vuedraggable,我们便可以直接引入Sortable使用Sortable的特性。// vuedraggable是Sortable一种加强

2021-09-28 09:25:15 1063

原创 Microsoft C++ exception: SqlException at memory location

Microsoft C++ exception: SqlException at memory location1,查看CPU占用量最高的会话及SQL语句select  spid,cmd,cpu,physical_io,memusage,(select  top  1  [text]  from  ::fn_get_sql(sql_handle))  sql_textfrom  master…sysprocesses&n

2021-09-26 18:25:13 454

原创 js axios设置header

场景:js应用 向鉴权服务进行鉴权、获取Bearer token后请求资源问题:1、获取token时,js习惯采用json格式,而鉴权服务采用的是表单格式,那么需要设置请求的Content-type为application/x-www-form-urlencoded。2、json格式数据如何转化为表单格式呢,这里使用到axios库里的qs库,通过qs.stringify即可转化jsonimport axios from "axios";import Qs from "qs";const op

2021-09-24 14:36:20 944

原创 Spring gateway + Oauth2实现单点登录

场景:按职能,鉴权系统需要划分 网关(spring gateway) + 鉴权(auth-server)。本文通过实践搭建鉴权系统。spring gateway首先引入pom依赖1、resilience 熔断器2、gateway 网关3、eureka client 服务注册中心4、lombok插件5、actuator状态监控<dependencies> <!-- 熔断器--> <dependency>

2021-09-23 11:02:03 1594 3

原创 Centos编译nginx

Centos 安装 nginx1、下载nginx源码a)wget https://nginx.org/download/nginx-1.21.1.tar.gz2、解压a)tar -xvf nginx-1.21.1.tar.gz3、编译a)cd 进入解压后的nginx目录b)配置ssl模块 ./configure --with-http_ssl_module报错信息:./configure: error: the HTTP rewrite module requires the PC

2021-09-22 21:10:42 167

原创 centos7 部署 canal

Canal部署1、下载canal压缩包 https://github.com/alibaba/canal/releasesa)b)将压缩把放置虚机环境 /opt2、进入安装目录a)cd /opt3、解压 canala)mkdir canalb)cd canalc)tar -zxvf …/canal.deployer-1.1.4.tar.gz4、编辑配置a)vim conf/example/instance.propertiesb)添加内容:canal.instance.dbUser

2021-09-22 21:09:21 444

原创 Centos7 安装部署 mysql8.0

Centos7 mysql8.0 安装部署1.下载rpm:https://dev.mysql.com/downloads/ 这个页面下载yum安装包将rpm包放置 /opt目录下后进行安装指令2.安装rpm:yum -y localinstall mysql80-community-release-el7-3.noarch.rpm3.安装mysql:yum -y install mysql-community-server4.设置mysql系统自启动:a)systemctl start mys

2021-09-22 21:08:12 286

原创 centos 部署 elasticsearh 7.8.1

部署elasticsearch1、下载压缩包a)wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-aarch64.tar.gz2、解压a)tar -zxvf elasticsearch-7.8.1-linux-aarch64.tar.gz3、es依赖 jdka) yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

2021-09-22 21:05:40 191

原创 大厂常见面试题: 实现Lru缓存机制

文章目录前言一、c++ 实现简易版LruCacheListunordered_map二、Java 实现LruCache前言LruCache 也叫 最近最少使用缓存,在生产中经常使用到,用作内存缓存,配合redis可以实现二级缓存,提高服务器的处理性能,而在面试中,缓存是经常被问到的,如果候选人能讲出自己实现那么是很大加分项。提示:以下是本篇文章正文内容,下面案例可供参考一、c++ 实现简易版LruCache主要运用数据结构:list、unordered_mapList采用链表方式来记录数

2021-09-14 23:39:59 236

原创 js export和export default 导出的区别

实际开发中,经常会将js逻辑封装成独立的js文件,而采用export导出需要被使用的变量或函数。而在调用时,通过import来导入我们封装的逻辑内容,即import 呼应 export。js提供了 export 和 export default 两个关键字。命名导出export也叫named export(命名导出),它允许一个文件导出多个特性。// 导出单个特性export const name1, name2, …, nameN;export const name1 = …, name2

2021-09-14 11:18:57 666

原创 golang 调用 c++动态库(win、linux环境)

在生产时,经常会使用golang调用已有的c++库,以下分别演示在linux 跟 windows开发环境下怎样加载动态库。linux下的动态库为.so文件、win动态库为.dll文件test.cpp 生成 test.so(linux)、 test.dll(win)#ifdef _WINDOWS#else#define WINAPIextern "C" WINAPI int testFunc() { return 0;}linux开发环境demo.gopackage maini

2021-09-13 23:49:23 1567

转载 使用vue 开发chrome 插件

原文项目中需要从百度图片和谷歌图片批量抓取一系列关键词的图片,而且需要是大图资源,不能是缩略图。在后端通过http请求直接拉取内容抓取,遇到下面两个问题:有的大图地址是在前端通过脚本生成的,拉取页面内容之后无法直接得到大图地址翻页请求并不是简单的pageindex++,拿到下一页内容。抓取第一页后边的内容也需要分析翻页请求链接组装,以及返回的数据如何解析。这两个问题导致通过后端爬取大图列表十分困难。于是我想起了以前玩过的杂技——浏览器插件。通过javascript控制浏览器打开网页,搜索关键词,页面

2021-09-12 23:08:57 4221

原创 c++ 高并发队列的实现

JAVA如何进行CAS讲到java的队列时,讲到java中的CAS操作回顾下java中的cas,主要采用compareAndSet方法,如AtomicReference中所使用的:AtomicRefrence.java/** * Atomically sets the value to the given updated value * if the current value {@code ==} the expected value. * @param expect

2021-09-11 18:25:05 2001

原创 c++11 并发队列的生产方案 BlockingConcurrentQueue

ConcurrentQueue这是我在生产中使用到的一个c++11 实现的无锁队列,有以下特性:1、线程安全的无锁队列2、支持c++11 的move语义,优化对象拷贝性能3、模板化4、可预分配内存、也可动态分配5、支持批量处理6、包含阻塞队列7、异常安全demo将github里的文件 Blockingconcurrentqueue.h 跟 Concurrentqueue.h 加载到项目中#include "Blockingconcurrentqueue.h"//声明队列moody

2021-09-09 23:50:01 1979

原创 Java 无锁队列 Disruptor,内存队列的生产解决方案

背景Disruptor是英国外汇交易所LMAX开源的用于生产交易中的内存队列。为了实现高性能交易撮合队列时,现在普遍的交易撮合引擎都采用了内存队列的方式,这种方式减少了持久化过程中带来的磁盘IO延迟,可以提交整体的交易性能。Disruptor便是这样场景中诞生的,在实际使用过程中,LMAX基于Disruptor开发的系统单线程能支撑每秒600万订单。Java队列内存队列通常用于内存共享场景下的,而共享内存与锁有必然分不开的情缘,在java内置的线程安全的队列有以下:队列有界性锁数据

2021-09-08 00:10:40 1629 2

原创 Spring cloud微服务体系必不可少的Feign (Read timed out)

Feign介绍Feign是一款Java语言编写的HttpClient绑定器,在Spring Cloud微服务中用于实现微服务之间的声明式调用。Feign 可以定义请求到其他服务的接口,用于微服务间的调用,不用自己再写http请求,在客户端实现,调用此接口就像远程调用其他服务一样,当请求出错时可以调用接口的实现类来返回Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者JAX

2021-09-07 17:03:56 367

原创 nginx配置多域名 https 转发

场景:1、基于https的请求,是不能够请求http的非安全内容,所以我们的请求也需要对应的http2、假设现在 web服务跟后台服务部署正在同一台机器上web应用域名 a.xxx.com后台服务网关域名 b.xxx.comnginx配置文件:user root;worker_processes 4;worker_cpu_affinity 0001 0010 0100 1000;events { use epoll; worker_connections

2021-09-07 11:55:45 734

原创 c++ 实现引用计数类的目的,原理及源码

在c++开发过程中,经常需要记录对象的拥有者,因为只有其有责任删除该对象,即所有权的问题,为避免内存泄漏等问题,其他高级语言比如golang、java等实现了垃圾回收机制。在c++中可以通过实现引用计数来控制对象的生命周期,某种程度上也算是一种垃圾回收机制,如果面试吹牛时,你能这么个吹风,百万年薪不时梦(老套的广告语了)。实际上,使用引用计数还有一目的:减少相同值对象的创建,比如java里的字符串string的字面值,当多个字面值一样时,不同的string对象实际上时指向同个内存地址。Demo#pra

2021-09-05 23:23:51 649

原创 使用SO_LINGER缩短TIME_WAIT的时间,减少大量短链接堆积TIME_WAIT

经常会听到socket的优雅关闭问题:struct linger { int l_onoff; /* 0 = off, nozero = on */ int l_linger; /* linger time */};setsockopt(m_listenfd, SOL_SOCKET, SO_LINGER, &tmp, sizeof(tmp));通过setsockopt方法设置socket的配置项SO_LINGER何为优雅:SO_LINGER选项用来设置延

2021-09-03 00:02:54 388

原创 vuex 使用Store存储共享数据时,需要考虑逻辑上要不要响应Store值的变化

原理 :Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。优势:当我们组件使用Store的数据时,如果数据变化会重新渲染组件。缺点:当组件不需要渲染,但是因为数据变化时,

2021-09-02 19:54:24 319

原创 linux网络编程实践:关闭链接存在的问题 TIME_WAIT的2MSL等待

问题描述:主动关闭socket的一方在time_wait需要等待2MSL(默认2分钟)原因分析:可以看到主动关闭的客户端在最后一个TIME_WAIT时,客户端跟服务端实际上已经做了关闭socket的动作(中断上层应用 对send 或recv时抛出 socket error)。当服务端发送FIN时,表示已经进行close socket,并进入LAST_ACK状态,在这个状态下,服务端TCP会在2TTL(一去一回)时间内检测是否触发重传机制客户端对FIN 进行ack,这个时候进入TIME_WAIT来

2021-09-01 00:47:20 350

protoc-3.15.5-win64.exe

protoc-3.15.5-win64.exe

2021-11-07

protoc-gen-grpc-java-1.9.1-windows-x86_64.exe

protoc-gen-grpc-java-1.9.1-windows-x86_64.exe

2021-11-07

power design 15.1 15.* 破解

license

2017-08-26

空空如也

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

TA关注的人

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