自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端创建react-ts应用

# 使用node 16版本yarn create react-app app2word --template typescriptyarn startyarn add antd# 安装react-router路由npm install react-router-dom@6

2022-05-17 21:08:20 97

原创 lingo3d学习之路

1. 创建lingo3d项目# 使用react-tsyarn create viteyarn add lingo3d-react2.基础知识2.1.Cube立方体

2022-05-17 20:36:40 149

原创 mongodb添加用户

mongodb添加用户# ubuntu 取消Mongodb的校验模式vim /etc/mongodb.conf# 见下图设置noauth = truemongo --port 8687use admin# admin下创建admin用户db.createUser({user:'admin',pwd:'gdufsdev',roles:['root','userAdminAnyDatabase']})vim /etc/mongodb.conf# 设置auth = true, 见下图umo

2022-04-15 18:15:04 845

原创 k8s pod configmap挂载外部配置文件

1. 创建configmap# nginx-vue-router.confserver { listen 80; listen [::]:80; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html

2022-03-23 12:10:42 752 1

原创 Vue学习之路

0. 安装vue环境npm install -g npm --registry=https://registry.npm.taobao.orgnpm config set registry https://registry.npm.taobao.org# webpacknpm install webpack -gnpm install webpack-cli -gwebpack -v# vue-clinpm install -g @vue/cli# tsnpm install

2022-03-18 21:37:11 92

原创 OWA TOP10

1.SQL注入1.1.解释将一些包含指令的数据传入给解释器,如SQL注入1.2.防范措施对特殊字符进行转义1.3.演示package mainimport ( "github.com/gin-gonic/gin" "net/http")import "database/sql"import _ "github.com/go-sql-driver/mysql"func main() { dsn := "root:123456@tcp(localhost:3306)/test?c

2022-03-17 13:13:18 1168

原创 git将仓库下的目录重新创建为新的模块

预期目标git subtree splitcd news_v0# 将与data-backend相关的提交导入到一个新分支中git subtree split -P data-backend -b data-backend# 新创建一个文件夹用于作为新的模块mkdir data-backend-1cd data-backend-1git init# 拉取该分支git pull ../ data-backendcd ..# 删除yudata-backend 相关的记录git rm

2022-03-15 15:12:18 75

原创 k8s部署apollo

1. 安装helmgitthub下载对应操作系统及处理器架构的helmtar -zxvf helm-v3.8.1-linux-amd64.tar.gzcd linux-adm64chmod +x helmcp helm /usr/local/bin/helm2.helm部署k8s2.1.前置条件(1)提前准备好数据库(2) 导入apollo-portal.sqlapollo-configdb.sql2.2. 部署apollo-config,apollo-admin# 记得修改d

2022-03-10 11:47:22 1147 1

原创 ‘Lock wait timeout exceeded; try restarting transaction

# MYSQL显示 'Lock wait timeout exceeded; try restarting transaction# 查看当前INNODB正在运行的事务的IDselect * from information_schema.INNODB_TRX;# 查找该事务对应线程ID的信息// SELECT * from information_schema.processlist WHERE id = 7044;kill 该线程ID// show full processlis

2022-03-04 21:36:49 79

原创 CentOS相关

1.CentOS8添加腾讯软件源scp root@81.68.209.55:/etc/yum.repos.d/* /etc/yum.repos.d/yum update# 发现 mirrors.tencentcloud.com 无法被解析 vim /etc/resolv.conf # Generated by NetworkManagernameserver 183.60.83.19nameserver 183.60.82.98service NetworkManager restart

2022-03-03 20:31:12 15

原创 k8s部署CI/CD(jenkins,gitlab)

0. 创建PV存储卷# ubuntuapt install nfs-kernel-servermkdir -pv /root/data/nfschmod 777 /root/data/nfsvim /etc/sysconfig/nfs # 见下图vim /etc/exports # 见下图systemctl restart nfs-kernel-servernfsstatmkdir -pv /root/data/nfs/pv0001mkdir -pv /root/data/nfs/

2022-03-03 10:57:19 278

原创 shell学习之路

1.shell是一个程序,由C语言编写,是用户与linux内核沟通的桥梁,既是一种命令语言,又是一种解释性语言;shell功能解释命令行解释功能启动程序输入输出重定向管道连接文件名置换变量维护环境控制shell编程1.1.安装nginx# install_nginx.shyum install wget gcc pcre-devel zlib-develwget http://nginx.org/download/

2022-02-27 17:30:32 1699

原创 k8s部署KubeMQ

KubeMQ官方文档1.获取用户token官方用户注册登录地址2.yamlkubectl apply -f https://deploy.kubemq.io/init# 注册用户获取token kubectl apply -f https://deploy.kubemq.io/key/<kubemq-registration-token>3.安装kubemqctlgithub不同版本的kubemqctl#mac oscurl -L https://github.com/

2022-02-22 18:02:53 152

原创 shell学习之路

待续

2022-02-18 22:19:57 102

原创 kubernetes部署mysql主从

原因:官方那个mysql主从的我一直抛错,因此就书写了自己的mysql镜像;mysql密码问就是 123456---apiVersion: v1kind: Secretmetadata: name: mysql namespace: defaulttype: Opaquedata: root_pass: MTIzNDU2 # 用base64转码后的字符---apiVersion: v1kind: Servicemetadata: name:

2022-02-18 22:11:42 634

原创 docker部署mysql主从

1.创建docker网卡,用于域名解析docker network create --driver bridge mysql-master-slave参数解释MYSQL_ROLEMASTER 或 SLAVE,指定主从库–net指定自定义的docker网卡提供域名解析功能MASTER_HOST从库需要此参数,值为主库的域名,如下示例则为该容器名称 mysql-master2.部署主库docker run -it --rm -m 400m -e MYSQL_

2022-02-12 12:08:55 705

原创 docker学习之路

1. docker学习之路核心:隔离;容器化技术不是模拟的一个完整的操作系统;更快交付和部署更便捷的升级和扩容更简单的系统运维更高效的计算资源利用1.2. docker组成组件概念镜像docker镜像为一个模板,可通过模板来创建容器服务;容器独立运行一个或一组应用,通过镜像创建仓库存放镜像安装文档#查看系统内核版本uname -r# 查看系统信息cat /etc/oslist# 卸载dockersudo yum remove do

2022-01-21 20:33:41 1040

原创 git疑问

# 不小心将大文件commit了# 检查所有分支并将文件名为 Media.json的文件删除git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch Media.json' --prune-empty --tag-name-filter cat -- --allfilter-branch: 重写git仓库中的提交;index-filter: 指定 bash命令,git会检查所有的提交,执行该命令后

2022-01-17 16:57:08 210

原创 k8s-mysql主从数据库

(1)mysql-secret(记录密码)apiVersion: v1kind: Secretmetadata: name: mysql namespace: defaulttype: Opaquedata: root_pass: MTIzNDU2 # 用base64转码后的字符 123456(2)mysql-configmap(注册主节点配置以及从节点配置)apiVersion: v1kind: ConfigMapmetadata: name

2022-01-13 22:10:34 378

原创 k8s常见问题

(1)network: failed to set bridge addr: “cni0” already has an IP address different fromsudo ip link delete cni0#之后会重建

2022-01-12 22:33:22 335

原创 docker修改镜像中的文件

需求:修改镜像中的一个文件实现: docker cp ./start-zookeeper 799e2dd22da4823dade9be242b9b8330f59474fa9bd4ca558db02691a3c20638:/opt/zookeeper/bin/docker commit -m "修改start-zookeeper" -a "liyuan" 799e2dd22da4823dade9be242b9b8330f59474fa9bd4ca558db02691a3 yuanxi2314/kube

2022-01-08 20:00:43 998

原创 公网部署k8s集群(wireguard将公网IP映射为内网IP)

没错,k8s还是难用了些,因此换成k3s问题:由于公网ip不是绑定在物理机上的,因此通过一般的部署方式总会有问题解决方案:使用wireguard将公网ip映射成内网ip1.通用基础配置(全部节点均需执行)1.1.开启IP地址转发vim /etc/sysctl.conf# 添加net.ipv4.ip_forward = 1net.ipv4.conf.all.proxy_arp = 1# 更新sysctl -p /etc/sysctl.conf#添加iptables规则iptable

2022-01-05 21:50:49 2442

原创 K8s概念笔记

1.ConfigMap(保存非机密信息)ConfigMap是一种API对象,用来将非机密性的数据保存到键值对中。使用时,Pods可以将其当作环境变量,命令参数或存储卷中的配置文件;ConfigMap将环境配置信息和容器镜像解耦,便于应用配置的修改;apiVersion: v1kind: ConfigMapmetadata: name: game-demodata: name: "liyuan" age: "20" gender: "male" game.propert

2022-01-02 14:57:51 304

原创 k8s部署zookeeper集群

apiVersion: v1kind: Servicemetadata: name: zk-hs labels: app: zkspec: selector: app: zk ports: - port: 2888 name: server - port: 3888 name: leader-election culsterIP: None---apiVersion: v1kind: Servicemetadata: name:

2021-12-30 15:33:13 1067 1

原创 Apache Thrift使用学习

1. Apache Thrift学习1.1.编写thrift文件//thrift文件有点类似于java rpc中的接口文件,定义一种规范namespace java thrift.generatednamespace py py.thrift.generatedtypedef i16 shorttypedef i32 inttypedef i64 longtypedef bool booleantypedef string Stringstruct Person{ 1: op

2021-12-29 11:22:23 1429

原创 4.从0开始的手写java虚拟机 - 指令集和解释器

4.从0开始的手写java虚拟机 - 指令集和解释器上一节我们描述了jvm是通过一个死循环不断执行指令直至循环结束;接下来我们将描述每一条指令4.1.通用指令接口package baseimport "HandWritingJVM/rtda"//指令通用接口type Instruction interface { FetchOperands(reader *BytecodeReader) Execute(frame *rtda.Frame)}//对应无操作数指令,如return,

2021-12-23 15:55:09 415

原创 架构学习之路

简介架构:软件架构,是有关软件整体架构与组件的抽象描述,用于指导大型软件系统的各个方面的设计;优秀的性能,超强的TPS/QPS的承载能力,高可用决定了你能支撑多少PV的流量;职责明确需求系统能力分解技术选型制定架构说明书并主导执行落地掌握主流互联网高性能后端服务平台的系统分层模型及设计思想;1.架构设计分层(1)分而治之(2)各司其职(3)有条不紊的结合常见分层设计(1)计算机OSI七层网络模型(2)Web系统MVC模型分层设计(3)基于领域模

2021-12-22 17:04:33 1471

原创 MYSQL学习

1.MYSQL的逻辑结构2.优化与执行MYSQL会解析查询,并创建一个内部数据结构,然后对其进行各种优化。包括重写查询,决定查询的读表顺序,以及选择须使用的索引;3.锁定//隐式锁定//显式锁定select ... lock in share mode...

2021-12-16 21:54:52 391

原创 763. 划分字母区间

763. 划分字母区间字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。示例:输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。提示:S的长度在[

2021-12-12 10:48:12 15

原创 3.从0开始的手写java虚拟机 -运行时数据区

3.从0开始的手写java虚拟机 - 类加载过程实现3.1.类加载过程新建类加载器使用类加载器加载主类,设置其基本信息,如父类,接口信息校验该主类准备:(1)计算实例的字段所需要的插槽数准备:(2)计算静态字段所需的插槽数准备:(3)初始化静态以及fianl变量获取main方法开始执行3.1.运行时数据区3.1.1.线程共享堆:存放对象数据;方法区:存放类数据,包括字段和方法信息,方法的字节码,运行时常量池…3.1.2.线程私有程序计数器:Java虚拟机栈:栈帧,保存方法

2021-12-12 10:01:51 40

原创 Golang面经

参考自:链接(1) rpc微服务框架(2) mq底层数仓(3) runtime包里面的方法(4)redis过期策略和内存淘汰策略过期策略:过期策略解释定时删除设置某个Key的过期时间的同事,创建一个定时器,到时间就删除该key惰性删除设置key的过期时间后,再次使用该key时检查该key是否过期定期删除定期检查一些key,过期则删除内存淘汰策略淘汰策略解释Volatile-ttl移除即将过期的KeyVolatile-Lru

2021-12-06 22:42:45 1661

原创 4.Golang基础 - 4

4.1.GO协程go协程是由GO运行时管理的轻量级线程;go f(x,y,z)Go程在相同的地址空间中运行,因此在访问共享的内存时必须同步,syncbao提供了这种能力;func main() { wg := sync.WaitGroup{} for i := 0; i < 3; i++ { i := i wg.Add(1) go func() { time.Sleep(time.Second * 1) fmt.Println("finished: ", i)

2021-11-28 21:56:49 10

原创 widnows ffmpeg下载使用

1.下载ffmpeg1.1.github下载windows ffmpeg可执行文件下载 https://github.com/BtbN/FFmpeg-Builds/releases1.2.百度网盘(推荐)链接:https://pan.baidu.com/s/1Pj_5sEbU2pidSIeB80uUwA提取码:1234//将视频流按帧切成图片ffmpeg -i ./dance.mp4 ./tmp/%03d.png...

2021-11-24 20:23:58 150

原创 go学习 -rpc

go学习 - rpc & grpc1.rpc介绍package exampleimport ( "fmt" "log" "net" "net/rpc")type Greeter struct {}func (self *Greeter) Greet(request string, response *string) error { *response = "Hello: " + request return nil}func Server() { rpc.Re

2021-11-24 10:46:17 13

原创 /dev/sda8:clean, XXX files, XXXX blocks [ubuntu]

/dev/sdad:clean, XXX files, XXXX blocks [ubuntu]1.问题描述//ubuntu启动界面一直重复卡在在如下界面2.解决方案2.1.思路经过上网查阅资料,发现是navida显卡驱动的问题,因此我们将其卸载重装即可2.2.具体按住 Ctrl+Alt+F2,此时会进入命令行界面;如下图所示;但此时ubuntu依旧处在重复启动的阶段,因此每当系统进入自检界面(/dev/sdax:clean)时,我们需要再次按下 Ctrl + Alt +F2确实有些麻烦

2021-11-23 17:03:03 954

原创 2.从0开始的手写java虚拟机 - 解析class文件 -2

前言:续上一篇文章2.2.4.获取class文件访问权限,当前class,超类classaccess_flags = 33 = 0x21 = 0x0020 + 0x0001this_class = 5super_class = 62.2.5.获取接口数量及接口信息根据解释可以看出,[]interface里面存放的应该是一个下标,指向常量池;2.2.6.获取字段数量及字段信息、func readMembers(count uint16, reader *ClassReader

2021-11-21 17:43:37 443

原创 2.从0开始的手写java虚拟机 - 解析class文件 - 1

2.按照指定格式读取class 文件2.1. class文件示例//// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//public class ClassFileTest { public static final boolean FLAG = false; public static final byte BYTE = 123;

2021-11-19 10:44:40 384

原创 1.从0开始的手写java虚拟机 - 读取类路径下的class文件

读取类路径下的class文件1.思路加载class文件时,会从启动类路径(/jre/lib),扩展类路径(/jre/lib/ext),用户类路径(用户当前路径),中加载文件;因此jvm启动时会将上述三种类型的路径读入内存中,当我们需要使用到某一具体的类文件时,就会从这些路径中加载(加载顺序为 启动类 -》扩展类 -》 用户类);且加载文件的方式也有多种,如直接从文件夹中加载class文件,从jar中加载class文件,还有就是通配符*加载目录下全部文路劲(包括普通文件夹以及压缩包);1.1

2021-11-18 20:23:19 913 1

原创 3.Golang基础 -3

3.6.指针指针保存了值的内存地址类型 *T 是指向T类型值的指针,其值为nilvar p *intfunc main() { i:=10 p = &i *p = -1 fmt.Println(i) // -1}3.7. 结构体type Student struct{ Name string Number string}func main(){ student := Student{Name: "liyuan", Number: "20181001332"} /

2021-11-14 11:40:35 749

原创 RestTemplate简易融合

package com.liyuan.www;import org.junit.Test;import org.springframework.http.HttpEntity;import org.springframework.http.HttpMethod;import org.springframework.http.ResponseEntity;import org.springframework.util.LinkedMultiValueMap;import org.springf.

2021-11-10 10:12:01 15

空空如也

空空如也

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

TA关注的人

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