- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 sql聚合查询
求如下表各科前两名+-------+---------+-------+| name | subject | score |+-------+---------+-------+| zhang | a | 70 || zhang | b | 78 || zhang | c | 90 || li | a | 87 || li | b | 87 || li | c |
2022-02-25 15:22:12
434
原创 kong插件-缓存机制
目录缓存目的缓存方式daos层自定义实体(key-auths案例)kong缓存级别缓存的基本函数缓存的清除自动缓存失效(原理)手动缓存失效缓存目的为了避免每次请求都查询数据库,可以将自定义实体缓存在节点的内存中,这样不好频繁地触发数据存储查询,而是在内存中查询,这比从数据库中查询要快得多、可靠得多,特别是当大流量请求时。缓存方式daos层自定义实体(key-auths案例)指定cache_key字段,这里注意key字段具有唯一属性,以保证缓存里不会发生重复的实体local typedefs =
2021-09-12 14:21:54
1816
原创 liunx修改sudo权限&nvidia驱动安装
修改xiugai sudo权限sudo vim /etc/sudoers# User privilege specificationroot ALL=(ALL:ALL) ALLappdeploy ALL=(ALL:ALL) NOPASSWD:ALLsudo su -root
2021-08-24 17:11:53
314
原创 cassandra基本命令
基本命令cqlsh;describe keyspaces;use kong;cqlsh:kong> desc tables;
2021-08-21 18:32:26
414
原创 kong原生插件配置记录
jwt插件配置1.customer创建credentialcurl -X POST http://localhost:8001/consumers/zj/jwt -H "Content-Type: application/x-www-form-urlencoded"{"rsa_public_key":null,"id":"dcbd5c39-44eb-40dc-9667-db707b1ea33e","created_at":1629009026,"secret":"87WkVechcol9lLEKB2
2021-08-15 22:52:13
206
原创 mycat配置
schema`<?xml version="1.0"?><mycat:schema xmlns:mycat=“http://io.mycat/”><schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100"> <!-- auto sharding by id (long) --> <!-- <table name="travelrecord" dataNode="dn1,dn
2021-08-14 14:56:52
256
原创 kong插件-开发基础
目录基本概念加载方式插件组成handler.luaschema.lua基本概念加载方式plugins = bundled,my-custom-plugin # your plugin name here插件组成插件由两个必需模块组成:simple-plugin├── handler.lua└── schema.luahandler.lua是插件的核心,它是一个需要实现的接口,其各功能都将在请求/连接生命周期中运行。schema.lua:由于插件可能必须保留用户输入的一些配置。此模块保
2021-08-11 22:49:58
756
原创 OpenResty学习
这里写目录标题安装OpenRestyOpenResty入门开发安装OpenResty下载链接1.选定版本后,下载解压,进入目录2.安装必要依赖brew updatebrew install pcre openssl3.安装OpenResty指定pcre和openssl的lib和include路径./configure \--with-cc-opt="-I/opt/homebrew/opt/openssl@1.1/include/ -I/opt/homebrew/opt/pcre/inc
2021-08-02 22:36:57
373
原创 protocolbuffers配置及验证
安装protoc下载protoc地址解压后cd protobuf-3.7.0/在终端执行:sudo ./configure在终端执行:sudo make在终端执行:sudo make check在终端执行:sudo make install以后六步执行完成,查看是否安装成功执行命令:protoc --version如果出现libprotoc 2.4.1或者libprotoc 2.5.0则说明安装成功设置环境变量(可略)vim ~/.bash_profile添加以下内容expo
2021-07-11 10:15:45
328
原创 go_gorm_join
var res []*Result db.Table("student").Select("student.name,student.class_id,student.sex,student.score,class.class_name"). Joins("left join class on class.class_id = student.class_id").Scan(&res) fmt.Println(*res[0]) res := &[]Result{} db.T.
2021-06-26 21:45:27
3608
原创 Docker入门系列(N)-解决一些常见的问题
1.docker无法启动症状:①Job for docker.service failed because the control process exited with error code. See “systemctl status docker.service”②Cannot connect to the Docker daemon at unix:///var/run/docker.sock. .有效解决链接
2021-06-26 21:43:12
630
原创 Docker入门系列(二)-Swarm集群管理
参考并整理Docker MachineDocker Machine 是一种在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。Docker Swarm简介Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Dock
2021-06-26 21:42:19
315
1
原创 Kubernetes入门(六)配置参数ConfigMap
容器配置参数的三种方式向容器传递命令行参数ENTRYPOINT["node","xxx.js"] # exec形式ENTRYPOINT node xxx.js #shell形式,比exec形式多一个shell进程,不推荐容器启动时,设置环境变量参数通过ConfigMap资源向将配置参数文件挂载到容器内k8s中覆盖命令和参数在k8s中定义容器时,镜像中的ENTRYPOINT和CMD参数都可以被覆盖,配置参数为command和args,注意,这两个参数在pod被创建后无法修改kind:
2021-06-26 21:40:57
835
1
原创 goframe 的学习
学习资料官方学习文档链接配置gfgf工具用于初始化模版,便于快速搭建基础框架下载链接指南链接将下载到的gf安装包拷贝到/usr/local/bin./gf install安装成功后,可以看到$ gf -vGoFrame CLI Tool v0.7.5, https://goframe.orgBuilt Detail: Go Version: go1.13.5 GF Version: v1.13.0 Git Commit: 0ab2a4a9e753f4f5fae1e9
2021-06-26 21:37:42
930
2
原创 Kubernetes入门(八)基于角色的权限控制加强集群安全
基本概念servic account也是k8s资源的一种,它只作用于唯一的命名空间(一对一关系)servic account创建后,会产生一个自定义的token,与servic account关联1.创建servic account后,可以在pod创建时指定spec: serviceAccountName: foo2.在该pod定义内部,可以使用token和API服务器进行交互(如ambassador容器)RBAC插件该插件将用户角色作为决定能否执行操作的关键因素,从k8s 1.6开
2021-06-20 22:47:24
167
1
原创 Kubernetes入门(七)集群网络
基本概念vpc:虚拟私有网络(专有网络)k8s网络k8s网络不是自身自带的,而是由系统管理员或者CNI(container network interface)插件建立的跨pod通信k8s规定pod必须通过非NAT网络进行连接。pod A发送网络包给pod B时,pod B获取的ip地址必须喝pod A发送的源地址一致,其间没有经过任何网络地址转换(NAT),确保运行在同一个“网关”内部。跨节点通信跨节点通信必须保证节点间的ip段不同,保证没有ip地址冲突的可能性。...
2021-06-17 22:50:49
240
1
原创 OAuth2
OAuth2OAuth2主要分为4种角色client客户端resource owner资源所有者authorization server授权服务器resource server资源服务器客户端授权类型1⃣️授权码类型:通过重定向的方式让资源所有者直接与授权服务器进行交互来进行授权,避免资源所有者信息泄露给客户端,是功能最完整、流程最严密的授权类型。2⃣️密码类型:需要资源所有者把密码凭证交给客户端,客户端通过自己持有的信息直接向授权服务器获取授权安全传
2021-04-11 22:13:56
230
原创 Mac pro配置记录
安装gitgit --version //自动跳转安装安装brew/bin/zsh -c "$(curl -fsSL https://gitee.com/huwei1024/HomebrewCN/raw/master/Homebrew.sh)"安装dockerm1 芯片暂时不太支持docker,可以安装preview版本https://docs.docker.com/docker-for-mac/apple-m1/...
2021-03-01 22:59:46
262
原创 go传输csv格式
"github.com/gocarina/gocsv" content, err := gocsv.MarshalString(&result) common.CsvDownload(ctx, "列表导出", content)func CsvDownload(ctx iris.Context, filename, content string) { ctx.Header("Content-Type", "application/csv") ctx.Header("Co...
2021-02-19 17:12:22
414
原创 kafka(基于docker)
docker-compose.ymlversion: '2'services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka1: image: wurstmeister/kafka:2.11-0.11.0.3 ports: - "9092:9092" environment: KAFKA_ADVERTISED_LISTENERS:
2021-01-05 15:07:25
123
原创 go 锁
互斥锁互斥锁控制下的多个写操作之间、多个读操作之间是互斥的,并且写操作与读操作之间也是互斥的。互斥锁适用于读写不确定场景,即读写次数没有明显的区别,并且只允许只有一个读或者写的场景,所以该锁叶叫做全局锁,也就是完全互斥。var mutex sync.Mutex func write() {mutex.Lock() //加互斥锁defer mutex.Unlock() //解互斥锁// 省略若干条语句}读写锁读写锁控制下的多个写操作之间都是互斥的,并且写操作与读操作之间也都是互斥的。但
2021-01-03 20:41:53
223
原创 go_goroutine
协程创建使用 go 关键字创建 goroutine 时,被调用函数的返回值会被忽略。如果需要在 goroutine 中返回数据,需要通道(channel)把数据从 goroutine中作为返回值传出go 函数名( 参数列表 )优点:开销小每个协程goroutine 默认占用的内存仅2Kb(线程8Mb),远比java和c少调度性能好golang可以控制协程goroutine的调度,使得在一个合适的时间进行GC通道(channel)一个 channels 是一个通信机制,它可以让
2021-01-03 12:32:35
209
转载 go异常/错误机制(panic和error)
deferdefer是go提供的一种延迟执行机制。后进先出原则当执行defer时,会将对应的函数压入栈中,在函数返回或者panic异常结束时,go会从栈中取出延迟函数执行。func main(){ defer fmt.Println("1") defer fmt.Println("2") defer fmt.Println("3") fmt.Println("hello")}打印结果为hello321立即解析原则 i := 1 defer fmt.Printf("fir
2021-01-03 11:35:42
1417
转载 go_error
go的错误表示方法转载自链接error简单表示方法package errors// New returns an error that formats as the given text.func New(text string) error { return &errorString{text}}// errorString is a trivial implementation of error.type errorString struct { s string}
2021-01-02 21:36:06
112
原创 go解析json
这里写目录标题json标签生成json解析jsonjson标签type Author struct { Name string `json:"name,omitempty"` Age int32 `json:"age,string,omitempty"`}常见的两个标签是 string 和 omitempty,前者表示当前的整数或者浮点数是由 JSON 中的字符串表示的,而另一个字段 omitempty 会在字段为零值时,直接在生成的 JSON 中忽略对应的键值对,例如:“ag
2021-01-02 21:30:40
243
1
原创 go语言与开发
这里写目录标题go基础go基础package mainimport ( "fmt" "time")func max(num1, num2 int) int { var res int if(num1 > num2){ res = num1 } else { res = num2 } return res}type books struct { title string author string bookId int time time.Time}//
2020-11-10 09:51:34
105
原创 Kubernetes入门(五)k8s的卷与挂载关系
卷k8s的卷是pod的一个组成部分,和pod共享相同的生命周期,pod的新老容器都可以识别/使用卷的内容卷用于实现容器间的数据共享卷类型emptyDir—用于存储临时数据的简单空目录hostPath—用于将目录从工作节点的文件系统挂载到pod中gitRepo—通过检查git仓库的内容来初始化卷nfs—挂载到pod的NFS共享卷gcePersistentDisk(谷歌高性能存储磁盘卷)、awsElasticBlockStore(Amazon服务弹性块存储卷)、azureDisk(微软Azu
2020-11-09 21:12:32
986
原创 Kubernetes入门(四)暴露服务service
service介绍k8s的service是一种为一组功能相同的pod提供单一不变的接入点的资源。service的IP地址和端口不改变。创建方式:①kubectl expose②通过yaml文件方式apiVersion: v1kind: Servicemetadata: name: kubiaspec: ports: - port: 80 targetPort: 8080 selector: app: kubiapod的服务发现发现内部的服务①通过环境变
2020-11-08 17:03:12
959
原创 Kubernetes入门(三)pod的管理机制
pod的托管机制1.ReplicationController组成:①label selector(标签选择器,用于确定ReplicationController作用域中的pod)②replica count(副本个数,指定运行pod的期望数量)③pod template(pod模板)将pod移出ReplicationController的作用域:修改pod标签labelkubectl label pod <pod name> <label=xxx> --overwri
2020-11-02 15:07:13
340
原创 Kubernetes入门(二)创建pod
基本命令kubectl gkubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1et podskubectl get pods创建一个服务,使得pod能被外界访问,通过服务对象公开它,LoadBalancer类型的服务,ClusterIP只能从集群内部访问kubectl expose rc kubia --type=LoadBalancer --name kubia-httpkubectl get services
2020-11-02 09:37:27
613
原创 操作系统(6)- 并发程序设计
并发程序设计的概念程序是实现算法的操作序列,每个程序在处理器上是严格有序的,称之为程序执行的内部顺序性。进程的并发执行:多道程序设计让多个程序同时进入内存去竞争处理器,以获得运行机会。OS允许计算机系统在一个时间段内存在多个正在运行的进程,即允许多个程序的并发执行。OS保证按照“顺序程序设计”方法编制的程序在并发执行时不受影响,如同独占计算机。这些按照顺序程序设计思想编制的进程在OS中并发执行属于无关的并发进程。并发程序设计:把一个具体问题求解设计成若干个可同时执行的程序模块。...
2020-11-01 15:30:53
805
原创 服务移植问题解决(caffe/c++)
服务移植问题解决(caffe/c++)1.9 pooling_layer.cu:222] Check failed: error == cudaSuccess (209 vs. 0) no kernel image is available for execution on the deviceF1016 03:10:06.695353 9 pooling_layer.cu:222] Check failed: error == cudaSuccess (209 vs. 0) no kern
2020-11-01 15:28:06
472
1
原创 Kubernetes入门(一)简介和单节点集群搭建
这里写目录标题ubuntu18.04搭建k8s集群k8s基本概念k8s介绍文档k8s.cnk8s学习文档k8subuntu18.04搭建k8s集群教程链接知乎链接okk8s基本概念在Docker Swarm中,调度的最小单位是容器,而在K8S中,调度的最小是Pod,那啥是Pod呢?Pod是K8S设计的一个全新的概念,在英文中的原意是表达一群鲸鱼或者是一个豌豆荚的意思。换句话说,一个Pod中可以运行一个或者多个容器。**在一个集群中,K8S会为每个Pod都分配一个集群内唯一的IP地址。**因
2020-10-29 16:33:59
371
1
原创 使用 Alpine 镜像来构建 Docker 镜像(cpp)
Apline Linux 操作系统参考Alpine 操作系统是一个面向安全的轻型 Linux 发行版(小到只有5M)。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 a
2020-10-18 09:40:34
763
原创 opencv3.4.8源码编译出错 IPPICV: Download failed: 7;“Couldn‘t connect to server“
warning信息CMake Warning at cmake/OpenCVDownload.cmake:202 (message): IPPICV: Download failed: 7;"Couldn't connect to server" For details please refer to the download log file: /usr/local/opencv-3.4.8/build/CMakeDownloadLog.txtCall Stack (most rec
2020-09-06 15:39:47
6581
7
原创 操作系统(5)- 文件系统
文件的概念概念:文件是具有符号名的,在逻辑上具有完整意义的一组相关信息项的序列文件(document)和计算机文件(file)文件名是由字母、数字和其他符号组成的一个字符串,其格式和长度因系统而异文件的命名:文件的命名一般包括文件名和扩展名文件名用于识别文件,扩展名用于识别文件特性,两者之间用圆点隔开文件的分类:文件系统及其功能文件系统:是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法
2020-08-30 21:12:46
2388
原创 操作系统(4)- 设备管理
设备管理概述I/O设备(输入输出设备、外围设备、外设):用于计算机系统与外部世界进行信息交换或存储I/O操作:内存和外设之间的信息传送操作,影响计算机系统的通用性和可扩充性,影响计算机综合处理能力和性价比的因素鼠标、显示器、磁盘、光盘、网卡、键盘、打印机等设备管理的目标:①解决设备与CPU速度不匹配,使主机和设备充分并行工作,提高设备使用效率;②屏蔽设备的物理细节和操作过程,配置驱动程序,提供统一界面(抽象为裸设备、设备文件)设备管理的基本功能:①设备中断处理②缓冲区管理③设备的分配与去
2020-08-17 21:50:17
1224
原创 操作系统(3)- 存储管理
存储管理的主要模式逻辑地址(相对地址):用户编程所使用的地址空间,从0开始编号,有两种形式:①一维逻辑地址(地址)②二维逻辑地址(段号:段内地址)段式程序设计:把一个程序设计成多段,代码段,数据段,堆栈段等等,用户可以自己应用段覆盖技术扩充内存空间使用量(这是程序设计技术,不是OS存储管理的功能)物理地址(绝对地址):即程序执行所使用的地址空间,处理器执行命令时按照物理地址进行主存储器的复用: 多道程序设计需要复用主存①按分区复用:主存划分为多个固定/可变尺寸的分区,一个程序/程序段占用一个
2020-08-06 21:49:57
1303
原创 Docker入门系列(一)
Docker架构1.三个基本概念镜像(image):相当于一个root文件系统;容器(container):镜像和容器的关系,就相当于面向程序设计的类和实例一样,镜像是静态的定义,容器是镜像运行的实体,容器可以被创建、启动、停止、删除、暂停等;仓库(repository):仓库可以看做是一个代码控制中心,用于保存镜像。Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器, 容器通过 Docker 镜像来创建。2.Ubuntu Docker 安装Do
2020-07-29 15:46:49
379
原创 操作系统(2)- 处理器管理
处理器与寄存器1、cpu组成寄存器:①用户可见寄存器:使得程序员减少访问主存储器的次数,提高指令执行效率分为:数据寄存器(通用寄存器)和地址寄存器(索引、栈指针、段地址等)②控制与状态寄存器:用于控制处理器的操作,主要被具有特权的操作系统程序使用,以控制程序的执行包括:程序计数器PC(存储将取指令的地址)和指令寄存器IR(存储最近使用的指令),条件码CC(cpu为指令操作结果设置的位,标志正/负/零/溢出等结果),标志位(中断位,…)程序状态字PSW:指记录当前程序运行的动态信息,通常包括:
2020-07-04 16:44:39
968
ippicv__.zip
2020-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人