自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Restful Api (实现公司和员工管理系统)大佬杨旭

1.MVC映射为APIModel,它负责处理数据的逻辑;View,负责展示数据,在API里面一般是Json;Controller, 它负责View和Model之间的交互;和API交互的用户,称为是Api的消费者:(比如Angular写的单页应用程序)2.看 Program 这个类,主要还是创建了一个宿主,建立一个宿主,然后运行: public class Program { public static void Main(string[] args)

2020-08-04 09:45:42 1354

原创 dotnet 3.1 + vue 实现图片上传功能

概括本文后端使用 netcore 3.1,前端使用 vue 2.x 开发,本文也借鉴了很多人写的博客,但是其中相当一部分代码根本跑不通。再者就是没有充分使用element-ui封装好的组件,大量的自己书写js代码,看起来比较费劲,还有部分未做到前后端的分离,把本应该前端做的事情,交给了后端。这大概是后端出生的程序员的通病吧,哈哈,其实我也经常这样。于是自己对这些代码进了自己的一些整合,抽时间整理了一下,记录如下前端代码(使用vue2.x + elementui组件库)<template>

2021-07-29 11:01:54 331

原创 go 高阶 の GC垃圾回收机制

文章目录一.历史原因go发展史上采用过的一些方法垃圾回收设计的名词v1.3 之前的标记 - 清除方法标记清除的缺点二.三色标记法三色标记法的流程如果三色标记法不使用 STW 会出现的问题强弱三色不变式三.屏障一.历史原因go发展史上采用过的一些方法go 1.3 之前使用标记清除go 1.5 三色标记法go 1.8 三色标记法 + 混合写屏障机制垃圾回收设计的名词自动释放垃圾回收三色标记法内存管理SWT(stop the world) 全部停止执行v1.3 之前的

2021-07-01 22:23:08 343

原创 Go高阶 の 协程调度器原理

文章目录一. Golang协程调度器得由来1.1多线程和多进程带来的弊端1.2 Go 怎么做的?二. Goroutine调度器的GMP模型设计思想一. Golang协程调度器得由来1.1多线程和多进程带来的弊端以单核操作系统为例,根据时间片轮转机制,不同的线程就要不断的切换,那么 线程的数量越多,切换成本也就越大,也就越浪费,同样,多线程随着同步竞争(如锁、竞争资源冲突等),让开发变得越来越复杂而且进程和线程占用内存比较大进程占用内存 虚拟内存 4GB线程占用内存 越 4MB所

2021-06-30 20:46:18 383

原创 GO高阶 の map详解

文章目录一. map 基础操作前提:键不重复,可哈希二.原理1.1 hash的基本存储原理1.2 Map的整体存储结构一. map 基础操作map 的声明 m := make(map[string]int, 2) m["hah"] = 15 m["mmm"] = 20 m["wwm"] = 30 m["wsegewwm"] = 40 fmt.Println(m) m := map[string]int{} m["hah"] = 15 m["mmm"] = 20 m[

2021-06-29 21:00:43 159 1

原创 Docker の 基础

文章目录一.镜像一.镜像解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。Docker 本身就是一个容器运载体,我们把应用程序和配置依赖打包形成一个可交付的运行环境,这个打包好的运行环境就是 image 镜像文件,只有通过这个文件才能形成 docker 容器, image 文件可以看成容器的模板、镜像就是类,容器就是实例。docker牛逼就是因为把 Hypervisor给干掉了。docker --help 查看 docker 的常用命令docker

2021-06-29 10:28:00 134 1

原创 Linux 常用命令解释

apt: Advanced Packaging Tool 高级包装工具cp: Copy file 复制文件cat: Concatenate 串联cd:Change directory 切换目录chmod: Change mode 改变模式chown: Change owner 改变所有者chgrp: Change group 改变用户组df: Disk free 空余硬盘du: Disk usage 硬盘使用率dd: 本来应根据其功能描述“Convert an co

2021-06-24 13:28:59 141

原创 Redis 入门

文章目录一.为什么要用NoSql二.NoSql能干嘛易扩展大数量高性能多样灵活的数据模式传统的 RDBMS VS NOSQL三.NoSql数据如何存放?NoSQL数据库的四大分类参考文献一.为什么要用NoSql单击mysql的美好年代:mysql+cache+垂直拆分: mysql主从读写分离: 主数据库里只管写,从数据库里只管读。 分表分库+水平拆分+mysql集群 今天的样子: 二.NoSql能干嘛易扩展数据库的种类繁多,他们的共同特征都是去

2021-06-21 15:11:14 178

原创 cmd 常用命令

1.直接输入 help 获得所有的命令2. help 命令 获得命令的具体使用方法3. cls 清除屏幕所有的显示4. cd /d 切换目录,切换盘符5. dir 查看文件夹下文件夹和文件6. md 创建文件夹7. rm 删除文件夹8. type nul > test.txt...

2021-06-14 16:51:34 140

原创 408 の 计算机组成原理

文章目录一.系统概论存储器运算器控制器计算机性能指标二.存储器存储器存储器容量价格还有速度之间的矛盾虚拟存储器三.中央处理器一.系统概论运算器 + 控制器 = CPUCPU + 主存储器 = 主机地址寄存器(MAR)数据寄存器(MDR)虽说是属于存储器的,但是现代的计算机中存在于 CPU 中,地址寄存器用来存放访问地址的,数据寄存器用来存放从内存中读或写的信息寄存器是有限存储的高速存储部件,他可用来暂存指令,数据等,通常都是制作在 CPU 芯片里,寄存器中的数直接在 CPU 内部

2021-06-07 17:12:35 1011 2

原创 go 语言小错误

文章目录切片的扩容,只有使用 append 的时候管用指针如果没有声明指向哪里,那么就是 nil

2021-06-06 01:13:20 148

原创 408 の 操作系统

文章目录基本概念PCB (进程控制块)一.并行和并发的区别二.进程的状态有哪些三.进程之间的转换四.进程线程的区别五.为什么切换进程比切换线程代价大六.进程之间的通信方式基本概念在计算机操作系统中,进程是资源分配的基本单位,也是独立运行的基本单位。所以人们还可以使用进程的观点来研究操作系统。进程的概念:在多道程序环境下,程序的并发执行破坏了程序的封闭性和可再现性,因此程序活动不再是处于一个封闭的系统中,程序的运行出现了很多的新特征,在这种情况下,程序这种静态的概念,已经不能如实反映程序活动的这些特

2021-06-04 19:54:19 323 1

原创 mysql 常用 sql 语句

文章目录一.常用语句一.常用语句-- 创建数据库CREATE DATABASE `test01`CREATE DATABASE `test02`-- 删除数据库DROP DATABASE `test02`;-- 展示所有的数据库SHOW DATABASES;-- 使用数据库test01USE `test01`-- 展示所有的表SHOW TABLES;-- 创建表CREATE TABLE `student`(`id` INT auto_increment PRIMAR

2021-06-04 17:58:58 88

原创 Go の 数据结构

文章目录一。链表1.1双向链表的基本操作1.2 将两个递增的链表合成一个一。链表1.1双向链表的基本操作package mainimport "fmt"type Node struct { // 定义节点 Data int PrePoint *Node NextPoint *Node}type LinkList struct { head *Node current *Node tail *Node}func main() { datas

2021-06-03 21:39:02 186

原创 数据库进阶 の 索引优化(一)

文章目录一.单表一.单表

2021-05-23 00:18:46 159

原创 数据库进阶 の认识索引

文章目录一. 配置文件1.查询日志2.数据文件二.Mysql 的逻辑架构一. 配置文件1.查询日志log-bin :主要用于主从复制,二进制日志文件log-err :默认是关闭的,用来记录严重的警告和错误提示,每次启动和关闭的详细信息等log: 查询日记。比如记录一下,查询时间超过5s的记录2.数据文件两系统frm 文件: 存的是表结构myd 文件: 存放的是表数据myi 文件: 存放的是表索引 myd 和 myi 连个就像是指针。两个互相指二.Mysql 的逻

2021-05-21 17:20:12 134 3

原创 数据库 の 联表查询

文章目录一. 概念一. 概念联表查询使用关键字 join坐标查询右表查询中间查询操作描述Inner jion如果表中有一个匹配,就返回行left join会从左表中返回所有的值,即使右表中没有匹配的值right join会从右表中返回所有的值...

2021-05-20 15:59:47 895

原创 BOM 和 DOM

文章目录一.BOM1.1代表性的对象1.2常用的方法setInterval二.DOM一.BOM即浏览器对象模型,比如浏览器上的前进按钮,后退,比如地址栏等1.1代表性的对象window 对象location 对象screen 屏幕history 历史模型1.2常用的方法window:1. alert()2. confirm(); // 确定还是取消3. prompt(); // 能输入内容4. setInterval(); // windows 对象5. setTim

2021-05-16 22:04:34 140

原创 前端路由

文章目录一.前端路由阶段1. 单页面富应用阶段2.URL的hash操作3.URL4.history模式二.history 和 hash 两种模式的区别参考文献一.前端路由阶段有了 Ajax 的出现,就有了前后端分离的开发模式后端只提供 API 来返回数据,前端通过 Ajax 获得数据,并通过 JS 来渲染界面1. 单页面富应用阶段其实 SPA 最主要的特点,就是在前后端分离的基础上,加上了一层前端路由。也就是前端来维护的一套 路由规则。前端路由的核心,就是改变 URL ,但是页面

2021-05-16 20:04:51 264

原创 数据库进阶 の 存储过程和函数

文章目录一.变量二. 存储过程和函数1.存储过程2.1 创建语法2.函数函数和存储过程的区别一.变量系统变量自定义变量二. 存储过程和函数 存储过程和函数,类似于 C# 中的方法。好处就是:提高代码复用性简化操作减少了编译的次数,并且减少了和数据库服务器的连接次数,提高了效率。1.存储过程一组编译好的 SQL 语句集合,理解成批处理语句。可以想象成一个方法。2.1 创建语法CREATE PROCEDURE 存储过程(参数列表)BEGIN 方法体E

2021-05-15 16:26:47 90

原创 数据库进阶 の 事务

文章目录1.数据库存储方式2.事务1. 事务的 `ACID` 属性2.事务的开始和结束2.1 隐式事务2.2 显示事务3.隔离机制3.1并发导致的问题1.丢失修改2.不可重复读3.读脏数据3.2加锁sqlserver 数据库只能安装在 window 服务器上1.数据库存储方式数据放到表里,表再放到库中一个数据库中可以有多个表,每个表都有一个名字,表明唯一性一列叫 属性2.事务一组SQL 语句组成的执行单元,我们叫做事务。要么全部执行,要么全部不执行。 存储引擎,指的是数据用不

2021-05-15 11:22:59 124 1

原创 http 和 https 的区别

文章目录一.HTTP 传输协议1.1 什么时候http协议二.多路复用的功能三.http报文四.什么是 httpshttp特点:https特点五.HTTP通信传输六.HTTPS 的原理连接过程一.HTTP 传输协议1.1 什么时候http协议超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于 TCP、IP 协议,互联网目前使用的最为广泛的网络协议,所有的 WWW 文件都必须遵守这个标准,设计 HTTP 协议的初衷,就是为了提供一种发送和接受 http 页面的方法。版

2021-05-14 00:50:23 123 2

原创 Http 缓存

文章目录http缓存的作用缓存的技术HTTP 缓存强制缓存http缓存的作用在任何一个前端项目中,访问服务器获取数据都是很常见的事情,但是如果相同的数据被多次请求,那么多余的请求必然会浪费网络带宽,以及延迟浏览器渲染所要处理的内容。如果是按照流量计费的访问网络,那么还要浪费资源缓存的技术 缓存大概的可以分为共享缓存和私有缓存。共享缓存:可以被多个用户使用,比如公司内部的 web代理 ,网关缓存,负载均衡器,网关缓存私有缓存:指的是只能被单个的用户使用,如浏览器缓存HTTP 缓存 h

2021-05-13 20:53:28 71

原创 Webpack解释

文章目录1.什么是webpack1.什么是webpack本质上来讲,webpack 是一个现代的 javascript 静态模块打包工具。其他的打包工具 grunt、gulp原本的 webpack ,就是使用比如 ES6 不支持,要转成 ES5可以处理好各种模块化开发,并会处理好模块间的依赖关系webpack 必须依赖于 node 环境,node 的包主要依赖于cnpm (node packages manager),做个就是管理 node...

2021-05-13 10:44:36 80

原创 vue的 slot 插槽的使用

文章目录一般用法设置默认值具名插槽完整代码一般用法 直接往里写就行,记住,组件中间,应该写的是 html 标签。 <div id="app"> <cpn :cmovies="movies" :cmessage="message"><p>哈哈,我是插进来的</p></cpn> </div> <template id="cpn"> <div>

2021-05-12 19:23:06 61

原创 vue 里的 data 为什么必须是个函数?

文章目录在父组件了,放三个相同的子组件,这三个子组件对应是一个 data 还是相互隔离的? <div id="app"> <cpn></cpn> <cpn></cpn> <cpn></cpn> </div>简单点来理解,a,b,c 这三个数,是使用的一个内存地址吗?肯定不是一个。let a=f1();let b=f1();let c=f1();这

2021-05-12 19:02:27 45

原创 vue 父子组件通信

文章目录一.原理二.父传子三.子传父一.原理二.父传子 使用父传子步骤如下写父组件写子组件在子组件里,用 props 属性,新进到这个里面的属性就可以当本省的属性来用在父组件里写入子组件,并且用类似于属性的功能,把数据给他穿进去 <div id="app"> <cpn :cmovies="message" :cmessage="movies"></cpn> </div> <div id="ap

2021-05-12 17:49:25 58

原创 vs core 更改字体 fira code

电脑本机安装 Fira 字体教程如下:https://blog.csdn.net/qq_36157085/article/details/106095223vs core 中配置从设置里找到 font ligature 这个属性,然后点进去以后,把 editor.fontLigatures 属性改为 true 即可。墨绿色主题做个插件...

2021-05-11 10:23:59 639

原创 vue 的 MVVM 原理

文章目录一.过程1.1 指令解析器1.2 检测目前几种主要的 mvc 的结构,都是实现了单向的数据绑定。双向的数据绑定无非就是添加了 change 事件,然后来动态的更改 model 和 view ,发布者订阅者模式数据劫持获取文档碎片节点。将文档文档碎片节点放到页面中,减少页面的回流和重绘。一.过程实现指令解析器 Compile数据监听器 Observe实现一个 watcher 去更新视图实现一个 proxy1.1 指令解析器先获得 el ,然后使用文档碎片函数

2021-05-10 18:34:27 230

原创 Promise 详解

文章目录一.准备二.promise 的理解1.promise的状态2.promise 的属性3.promise 的基本流程4.promise的API接口4.1 catch 用法的接口,只能捕捉失败的方法:4.2 promise.all 方法5.promise 状态改变的方法6.如果执行 then 函数以后,多个成功或者失败的回调函数都会执行吗?7.改变状态和回调的执行顺序8.异常穿透9.中断 promise 链条2.使用自带的方法。一个把正常文件转换成 promise 方法的方法三.自定义 promise四

2021-05-10 08:51:35 517

原创 ES6 新特性

文章目录1.Let2.const3.声明对象4.rest 参数5.迭代器6.生成器1.声明和使用的特殊之处2.yeld 函数3.yeald 用于异步调用。异步操作1.生成器函数的使用,实现异步2.再一个小例子1.Letlet 不存在变量提升的问题在代码块内有效,代码块不一定是指的花括号,比如 if 语句后面的内容,while 后面的内容。比如下边这个,用var就不行,因为他的作用域是属于全局的,只有一个 i,循环到最后成 3 了,显然不对。 for (var i = 0; i <

2021-05-09 23:09:08 214 1

原创 go mod

文章目录1.go mod2.执行文件3. gomod 的常见命令1.go modgo mod 是golang 的包管理工具,可以借助 go mod 来告别 gopath2.执行文件go mod init mymodmymod 出现的地方,被称为模板根。如果此时在该文件夹下,再写一个package 那么如果要引用这个包就要使用绝对路径 mymod/aa3. gomod 的常见命令go mod tidy 删除没用的包,添加新的包...

2021-05-06 16:10:38 99

原创 Js 中null 和underfined的区别

null表示"没有对象",即该处不应该有值。undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。

2021-05-03 23:16:31 283

原创 前端 & 面试问题

文章目录一.OSI模型1.1分组交换协议:1.2 各个分层的作用二.传输方式的分类三. 分组交换协议四.TCP/IP 参考模型。4.1 TCP模块的处理一.OSI模型操作系统通过时间片轮转机制,在多个程序之间进行切换,合理调度。这种方式叫做多任务调度。1.1分组交换协议:分组交换就是将大数据分装成一个个小包发给对方。1.2 各个分层的作用应用层:比如浏览器和服务器之间所使用的 HTTP 协议。发送电子邮件使用 SMTP 协议。远程链接使用 SSH。会话层:负责建立和断开通信连接,以及数据

2021-05-02 19:42:38 221 2

原创 js 的查询语句

this.guanzhujiegou.youtaobiaowait.waitwait = this.guanzhujiegou.youtaobiaowait .filter(item => item.type_id == 1)

2021-04-26 14:35:02 338

原创 Gin 入门

文章目录一.使用net 包中开发2.使用 gin 写一个简单的应用一.使用net 包中开发package mainimport ( "fmt" "io/ioutil" "net/http")func sayHello(w http.ResponseWriter, r *http.Request) { b, err := ioutil.ReadFile("./hellow.txt") // 从txt中读取数据 if err != nil { fmt.Println("打开txt

2021-04-22 02:37:08 1370

原创 Go の 单元测试

文章目录一. 文件夹格式1.先写待测文件2. 写测试文件3.执行命令二.批量的进行单元测试三.性能基准测试一. 文件夹格式应该放在同一文件之下,文件命名格式如下:1.先写待测文件按照某个字段分割字符func Split(s, sep string) (ret []string) { idx := strings.Index(s, sep) for idx != -1 { ret = append(ret, s[:idx]) s = s[idx+1:] idx = string

2021-04-18 19:24:06 62

原创 Go 入门 の 并发

文章目录一.概念二. goroutien2.1 go语言的闭包问题2.2 go使用随机数三. goroutine 什么时候结束一.概念并发是同一时间段执行多个任务,(你同时和两个女生聊天)并行是同一时刻执行多个任务,(你和你朋友在和女生聊天)Go 语言的并发是通过 goroutine 实现的,goroutine 类似于线程,属于用户态的线程(程序员自己编写的) ,我们可以根据需要创建成千上万的 goroutine 并发工作,goroutine 是由 Go 语言的运行时 runtime 调度实

2021-04-16 18:44:21 186 3

原创 Go の 竞争状态

文章目录2.互斥锁 如果多个 goroutine 同时读写某个资源,那么他们就处于相互竞争的状态,这种情况被称为竞争状态2.互斥锁package mainimport ( "fmt" "runtime" "sync")var ( counter int wg sync.WaitGroup mutex sync.Mutex)func f1() { defer wg.Done() for i := 0; i < 5; i++ { mutex.Lo

2021-04-16 15:08:13 53

转载 Golang进程权限调度包runtime三大函数Gosched、Goexit、GOMAXPROCS

runtime.Gosched(),用于让出CPU时间片,让出当前goroutine的执行权限,调度器安排其它等待的任务运行,并在下次某个时候从该位置恢复执行。这就像跑接力赛,A跑了一会碰到代码runtime.Gosched()就把接力棒交给B了,A歇着了,B继续跑。runtime.Goexit(),调用此函数会立即使当前的goroutine的运行终止(终止协程),而其它的goroutine并不会受此影响。runtime.Goexit在终止当前goroutine前会先执行此goroutine的还未..

2021-04-16 13:52:52 397 1

空空如也

空空如也

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

TA关注的人

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