流程图制作
需求说明
最近正在如火如荼地闭门造车(写毕业论文),在涉及到流程图的时候犯难了,著名的流程图制作工具viso是付费的,然后又去找了一些平替的软件,结果都是不满意。
然后突然灵光乍现,为啥不能直接用wps/office直接做流程图?接下来介绍几个有用的小技巧。
布局方式
随便插入几个框,然后按住ctrl,左键依次单击之前插入的框,在最后一个框的附近会有对齐的按钮。
插入箭头
如果要插入箭头,那么需要注意在使用的时候要把各个框连接起来,单击箭头以后,移动到框里面会有黑点,从黑点开始按住左键,移动到下一个框的黑点就可以连接两个框。
组合视图
我们画好一个简单的流程图后,还要把它组合起来,因为如果不组合起来就会乱跑,使用方法和布局那里一样,按住ctrl,左键依次单击所有元素(包括连接线),然后点击组合按钮。
调整样式
可以给元素设置各种基本样式,包括框的填充颜色、框的边框颜色和箭头的粗细以及其他一些元素样式。下面动图进行的操作依次是:
取消组合。
通过ctrl来多选这些框,然后设置他们的填充样式。
通过ctrl来多选这些箭头,然后设置箭头的粗细和箭头形状。
docker简单入门
ubuntu下载docker
首先,安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库:
1$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
然后,运行下列命令添加 Docker 的官方 GPG 密钥
1$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
添加 Docker 官方库
1$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_rel ...
vue3获取事件源
需求分析
在项目开发的时候可能会有一些奇奇怪怪的需求,在原生js获取事件源(就是这个事件的调用者)非常简单,直接在事件函数里面通过this调用,但是在vue3中,不能随便用this了,所以我们需要换一种方式来调用事件源头
解决问题
TypeScript中的as用于类型断言,作用是将一个值显式地指定为一个类型。通常情况下,TypeScript能根据上下文自动推断类型,但有时需要对一个值进行类型转换,例如在处理某些JavaScript库的API时。
在类型断言中,可以使用as关键字或尖括号(<>)语法来表示。例如:
123const str: any = "123";const num1: number = str as number; // 使用as关键字const num2: number = <number>str; // 使用尖括号语法
在上面的代码中,使用as关键字或尖括号语法将any类型的变量str转换为number类型的变量num1和num2。
需要注意的是,类型断言并不会真正地改变变量的类型,而只是告诉TypeScript编译器 ...
vue-router路由守卫简单使用
vue-router路由守卫简单使用
在vue3开发的时候,不可避免要用到路由(vue-router),但是在进行登录或者其他操作的时候需要进行权限管理,下面用一个简单的登录案例来演示路由守卫中的前置路由守卫
组件准备
入口组件
App.vue
123456789101112131415<script setup lang="ts"> import {ref} from 'vue' // 响应式变量 let msg = ref("hello") //把值变成响应式 function change(){ msg.value = 'word' }</script><template> <div> 这是入口组件 <router-view></router-view> </div></template>
登录组件
login.vue ...
go对json的相关操作
go语言读写json文件封装成struct
先声明一个结构体
1234type Type struct{ 属性1 string 属性2 int}
读文件的函数
12345678910111213141516171819 //Type返回值类型func Read() Type { filePtr, err := os.Open("*json文件路径*") if err != nil { fmt.Println("文件打开失败 [Err:%s]", err.Error()) } defer filePtr.Close() var data ReturnType // 创建json解码器 decoder := json.NewDecoder(filePtr) err = decoder.Decode(&list) if err != nil { fmt.Println("解码失败", err.Error()) } else { ...
gin配置代理解决跨域问题
gin配置代理解决跨域问题
现在开发的项目一般都采取前后端分离的模式,前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,所以就需要通过配置代理来解决这个问题。在gin项目下的main.go文件里面粘贴一下字段
12345678910111213141516171819202122232425// 处理跨域请求,支持options访问func Cors() gin.HandlerFunc { return func(c *gin.Context) { method := c.Request.Method c.Header("Access-Control-Allow-Origin", "http://localhost:5173") c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") c.Header("Access-Control-All ...
找不到模块“./App.vue”或其相应的类型声明
找不到模块“./App.vue”或其相应的类型声明
如果新建vue3+ts+vite的项目出现了找不到模块“./App.vue”或其相应的类型声明的报错,是因为ts不能识别.vue的文件,如果要解决这个问题就需要在根目录下的env.d.ts文件添加一下配置
123456// 按照官网创建项目的方式就有这个文件,没有就自己创建一个declare module "*.vue" { import { defineComponent } from "vue"; const Component: ReturnType<typeof defineComponent>; export default Component;}
如果在没有这个文件的情况下自行创建了文件,那么还需要在tsconfig.ts文件里面添加下面的配置
hexo博客butterfly主题jsdelivr加载慢?那就换!
hexo博客butterfly主题jsdelivr加载慢?那就换!
今天突然发现博客的部分样式加载不出来,简单查后排发现是jsdelivr抽风了,这个博客准备长期运行下去,所以一定要找一个解决办法。参考了两位大佬的文章百里飞洋和张洪。
修改博客js的链接
找到/butterfly/_comfig.yml文件,找到下面部分,把标注的部分改为local
然后再下载js包到本地
1npm install hexo-butterfly-extjs@1.3.4
引入twikoo的js
这个是根据张洪的文章来优化的,我用的是twikoo评论系统,原本的样式是引入的jsdelivrcdn,这里换成张洪提供的cdn
1https://blog.zhheo.com/p/790087d9.html#twikoo%EF%BC%88%E5%AE%98%E6%96%B9%E7%89%88%EF%BC%89
添加到以下位置
hexo博客butterfly主题单独设置顶部图,顶部图波浪特效
单独设置顶部图
如果要在配置文件里面设置顶部图的显示或者不显示,只能全局设置,不能单独设置某一个页面顶部图显示与否。但是我们可以通过改源码文件来实现。修改themes/butterfly/layout/includes/header/index.pug。我这里设置的是除了文章页其他的都禁用顶部图,修改对应部分即可。
1234567891011121314151617if !theme.disable_top_img && page.top_img !== false if is_post() - var top_img = page.top_img || page.cover || theme.default_top_img else if is_page() - var top_img = false else if is_tag() - var top_img = theme.tag_per_img && theme.tag_per_img[page.tag] - top_img = top_img ? top_i ...
c++易错易混淆知识点
c++易错知识点
虚函数
在一个类的成员函数(包括构造函数和析构函数)内调用一个虚函数时,对该虚函数进行动态约束。
对于从基类继承的虚函数,派生类可以不重新定义,但是如果是继承的纯虚函数,派生类必须要重新定义
纯虚函数的定义方式:= 0 告诉编译器,函数没有主体,上面的虚函数是纯虚函数
123456789101112 class Shape { protected: int width, height; public: Shape( int a=0, int b=0) { width = a; height = b; } // 纯虚函数 virtual int area() = 0;};
虚函数是一种在基类中声明的函数,它可以被派生类重写,实现多态性。它的作用主要有以下几个方面:
实现运行时多态性:当基类指针指向派生类对象时,通过虚函数可以调用派生类中重写的函数,实现运行时多态性。
允许基类指针或引用调用派生类中的函数: ...
c++一些简答题汇总
试比较类的三种继承方式 public protected private 之间的差别
公有继承(public):当一个类派生自公有基类时,基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。
保护继承(protected): 当一个类派生自保护基类时,基类的公有和保护成员将成为派生类的保护成员。
私有继承(private):当一个类派生自私有基类时,基类的公有和保护成员将成为派生类的私有成员。
什么叫面向对象的程序设计语言,什么叫类。什么叫对象。什么叫消息(拓展版)
面向对象程序设计语言是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。面向对象程序设计语言提供了类、继承等成分,有识认性、多态性、类别性和继承性四个主要特点。面向对象程序设计的结果,既可以用面向对象语言实现,也可以用非面向对象语言实现。面向对象程序设计语言本身就支持面向对象概念的实现,其编译程序可以自动地实现面向对象概念到目标程序的映射。面向对象语言刻画客 ...
vscode 配置markdown粘贴图片
vscode 配置markdown粘贴图片
在写博客的时候,一般都使用typora,但是typora是付费的,而有些同学不想花钱也懒得去找破解版,其实常用的编辑器都支持markdown(vscode、idea全家桶),vscode也支持侧边预览,但是不支持复制图片,配置插件也就几个简单的步骤
在linux下运行首先要安装xclip
1sudo apt-get install xclip
在windows下不需要。
然后在vscode的插件库中搜paste image
使用ctrl+alt+v粘贴图片,使用效果
原文链接
hexo博客butterfly主题修改圆角,换图标
hexo博客butterfly主题修改圆角,换图标
准备工作
在修改之前,需要有vscode或者其他编辑器(推荐vscode),在打开一个文件后,按ctrl+f可以全局查找。
会使用全局查找以后就可以开始修改主题了。
修改圆角
在主题的根目录/themes/butterfly/source/css/_global下的function.styl,打开这个文件,然后检索border-radius,修改这个数值即可。
修改图标(仅修改配置文件)
使用阿里图标iconfont
点击图标,添加入库
把图标添加进项目
在项目设置里面可以设置彩色
获取图标的css代码,这里博客是自己用,使用cdn也行。
复制路径,在浏览器打开,把里面的css复制到本地,放到主题文件下的css文件夹/themes/butterfly/source/css,然后通过主题文件夹下(注意不是根目录)的_config.yml文件引入(全局检索inject)
修改导航栏图标
这个在主题下的配置文件_config.yml最上面的部分就能够修改,修改方式就是覆盖以前的fa图标,换成iconfont+图标名,图标 ...
ubuntu 作为生产力桌面系统
ubuntu 作为生产力桌面系统
简介
什么是ubuntu
ubuntu作为linux的一个分支,经常作为服务器的操作系统,但是现在如果作为一个桌面系统,也是一个非常好的选择,当然也有其他的选择比archlinux、Manjaro、deepin(体验非常好,但是我的电脑装这个发热严重)和优麒麟。
linux系统的优点
1、linux系统占用的内存比较少。2、功耗较小熟悉了基本命令以后,配置一些环境反而比windows简单。3、inux有很多漂亮美观的桌面。4、在折腾linux系统的过程就会学习到很多linux基本使用方法,对以后玩linux服务器会有很大好处。
linux系统的缺点
1、linux系统如今的生态仍然不完善,很多软件并不支持linux平台,尽管有wine等辅助工具可以让linux系统运行exe可执行文件,但是配置过程麻烦且占用内存比较大。2、linux系统的安装、配置和使用都有一定的门槛,这对小白来说不是非常友好。
为什么选择ubuntu
1、因为使用ubuntu作为桌面的用户基数很大,网上有很多的教程和解决办法。2、桌面比较美观,手动美化比较简单。
还有 ...
css显示模式
css显示模式
块级元素
显示特点:
1.独占一行(一行只能显示一个)
2.宽度默认是父元素的宽度,高度默认由内容撑开
3.可以设置宽高(就算设置了宽高也是独占一行)
代表标签:
div、p、h系列、ul、li、dl、dd、dt、form、header…
代码:
12345678910111213141516171819<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <st ...
go语言gin框架设置热部署
go语言gin框架设置热部署
在开发gin项目的时候在修改完代码以后就需要手动重启项目,gin也有很多热部署的方式,其中一种就是fresh
fresh
获取
1go get github.com/pilu/fresh
运行
进入到你的main.go的文件夹下然后使用fresh,如果提示找不到命令,
window
把gopath下的bin添加到环境变量
linux
建立一个软链接
1sudo ln -s ~/go/bin/fresh /usr/bin
检测到窗口系统采用wayland协议,腾讯会议暂不兼容,程序即将退出!
检测到窗口系统采用wayland协议,腾讯会议暂不兼容,程序即将退出!
问题描述
这是ubuntu在运行腾讯会议deb包的时候出现的问题
解决办法
12345sudo vim /etc/gdm3/custom.conf# 把 #WaylandEnable=false 的注释井号去掉sudo service gdm3 restart
ubuntu建立python3到python软链接
ubuntu使用python的问题
ubuntu使用python命令时,默认的是python3,这个时候我们就需要将python3软链接到python,这样使用python命令可以和python3达到一样的效果
方法
1sudo ln -s $(which python3) /usr/bin/python
如果显示/usr/bin/python已存在,那么删除就好
1sudo rm -rf /usr/bin/python
pip也同理
1sudo ln -s $(which pip3) /usr/bin/pip
昆工算法汇总
题型汇总
本文档仅是类型算法总结,昆工算法题型不固定,最主要的就是思想。算法思想尽量会,考场上可以把大致算法思想表达出来。
一、递归入门
递归算法总结:出口 、 大化小 (数值上的递归关系(题1,题2,题3),操作上的递归关系(题4))
1、利用递归求n的阶乘(前n项和)
12345//利用递归求n的阶乘(数值上的递归关系: 大化小是一个等式) int fun(int n){ // 规模参数解释 n! if(n == 1) return 1; // 出口 return fun(n - 1) * n; // 大化小}
2、利用递归实现n的k次方
12345// 利用递归实现n的k次方 (数值上的关系 n k 分析哪一个是规模参数)int fun(int n, int k){ // 给规模参数k一个解释 代表n的k次方 if(k == 1) return n; // 出口 return fun(n, k - 1) * n; // 大化小}
3、使用递归求斐波那契数列
1234567// 利用递归求斐波那契数列int fun(int n){ ...
考研数学常用公式
高等数学
基础预备知识
因式分解公式
和立方
\begin{align*}
&(a+b)^3=a^3+3a^2b+3ab^2+b^3
\end{align*}
差立方
\begin{align*}
&(a-b)^3=a^3-3a^2b+3ab^2-b^3
\end{align*}
立方和
\begin{align*}
& a^3+b^3=(a+b)(a^2-ab+b^2)
\end{align*}
立方差
\begin{align*}
& a^3-b^3=(a-b)(a^2+ab+b^2)
\end{align*}
n方差
\begin{align*}
& a^n-b^n=(a-b)(a^{n-1}-a^{n-2}+...-ab^{n-2}+b^{n-1})
\end{align*}
常用不等式
\begin{align*}
&sinx\lt x\lt tanx \quad(x\lt \frac{\pi}{2}) \\
&\sqrt{ab}\leq\frac{a+b}{2}\leq\sqrt{\frac{a^2+b^2 ...