自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux命令

【代码】Linux命令。

2024-08-08 10:24:35 62

原创 vue图片上传组件

3在前端组件中使用FormData对数据进行打包直接使用内置模块将表单控件的值和el-upload组件的值。2在服务器端给BookModel增加一个属性imageUrl该属性映射的是数据表中的image_url列。1服务器端分页通过底层的数据库来实现前端会频繁的和服务器交互客户端每次请求的是分页的数据而不是所有数据。2前端分页一次性从数据库中取出数据缓存起来然后对缓存中的数据进行分页处理。5将上传到服务器端的图片在客户端的表格el-table中显示出来。< el-image>保留了原生的img的属性。

2023-11-28 10:43:04 503

原创 积水问题(动态规划)

有一组不同高度的台阶,有一个整数组数表示,数组中每个数是台阶的高度。当开始下雨(水足够的多),台阶之间的水坑会积多少水呢?每一栏能存多少水取决于左边最高栏和右边最高栏里面取较小值,然后与自己栏 相减得出结果,如图。如图:数组为[0,1,2,1,0,1,3,2,1,2,1,0], 积水为5。

2023-08-16 18:51:53 184

原创 联合索引的命中

联合索引联合索引数据结构对于查询SELECT * FROM TABLE WHERE a=xxx and b=xxx,显然是可以使用(a,b)这个联合索引的。对于单个的a列查询SELECT * FROM TABLEWHERE a=xxx,也可以使用这个(a,b)索引。但对于b列的查询SELECT *FROM TABLE WHERE b=xxx,则不可以使用这棵B+树索引。可以发现叶子节点上的b值为1、2、1、4、1、2,显然不是排序的,因此对于b列的查询使用不到(a,b)的索引。用比较两位数大小理解

2020-08-26 17:42:01 543

原创 Golang调度器GMP原理与调度

一、Golang“调度器”的由来?(1) 单进程时代不需要调度器我们知道,一切的软件都是跑在操作系统上,真正用来干活(计算)的是CPU。早期的操作系统每个程序就是一个进程,知道一个程序运行完,才能进行下一个进程,就是“单进程时代”,一切的程序只能串行发生。单进程操作系统,面临2个问题:1.单一的执行流程,计算机只能一个任务一个任务处理。2.进程阻塞所带来的CPU时间浪费。最早的并发能力,多进程并发,当一个进程阻塞的时候,切换到另外等待执行的进程,这样就能尽量把CPU利用起来,CPU就不浪费了。有

2020-07-28 14:43:56 648 1

原创 7大数据结构之队列篇

1、什么队列队列是一种先进先出的(First In First Out)的线性表,简称FIFO示例图:2、数组实现队列// 创建一个数组队列type Queue struct { list []int}// 写入一个值队列func (q *Queue) EnQueue(val int){ q.list = append(q.list, val)}// 从队列中取出一个值func (q *Queue) DeQueue()int{ if len(q.list) ==

2020-07-26 14:18:29 337

原创 GO语言interface——海纳百川的接口

前言生活就应该像接口,容纳一切Go 语言的接口类型非常特别,它的作用和 PHP 语言的接口一样,但是在形式上有很大的差别。PHP语言需要在类的定义继承实现了某些接口,才可以说这个类具备了接口定义的能力。但是 Go 语言的接口是隐式的,只要结构体上定义的方法在形式上(名称、参数和返回值)和接口定义的一样,那么这个结构体就自动实现了这个接口,我们就可以使用这个接口变量来指向这个结构体对象。下面我们看个例子package mainimport "fmt"// 可以闻type Smellable i

2020-07-10 13:52:58 166

原创 Go语言struct——与众不同的结构体

前言物以类聚,人以群分。结构体就是go语言里面典型的代表,每个结构体都有自己不同的成员结构体类型的定义结构体和其它语言里的"类"比较类似。下面我们使用结构体语法来定义一个"圆"type Circle struct { x int y int Radius int}Circle 结构体内部有三个变量,分别是圆心的坐标以及半径。特别需要注意是结构体内部变量的大小写,首字母大写是公开变量,首字母小写是内部变量,分别相当于类成员变量的 Public 和 Private 类别。内部变量只有属

2020-07-09 17:00:41 313

原创 详谈HTTP协议和HTTPS以及HTTP2.0

1

2020-06-24 17:20:45 1267

原创 GO语言string——默默无闻的字符串

前言字符串好像是所有语言最不起的东西,但是实际业务中又无法避免的一个环节,就跟空气一样,每个人都需要呼吸,但是谁都不会无时不刻的去注意他一样,他们都是默默无闻的使者。。。啥?字符和字节Go 语言里的字符串是“字节”串,英文字符占用 1 个字节,非英文字符占多个字节。这意味着无法通过位置来快速定位出一个完整的字符来,而必须通过遍历的方式来逐个获取单个字符,我们所说的字符通常是指 unicode 字符,你可以认为所有的英文和汉字在 unicode 字符集中都有一个唯一的整数编号,一个 unicode 通常

2020-06-21 09:19:34 205

原创 如何定义protobuf

定义消息类型首先让我们看一个非常简单的例子。假设您要定义一个搜索请求消息格式,其中每个搜索请求都有一个查询字符串,您感兴趣的特定结果页面以及每页结果数量。这是.proto用于定义消息类型的文件。syntax = "proto3";message SearchRequest { string query = 1; int32 page_number = 2; int32 result_per_page = 3;}文件的第一行指定您正在使用proto3语法:如果不这样做,则协议缓冲区编

2020-06-08 18:18:40 842

原创 GO语言map——万能的字典

前言字典在英文中的词汇是dictionary,在数学上的词汇是映射,在go语言中称之为map,很奇怪翻了一下大英词典(百度翻译),map怎么都没有字典这个翻译,偏偏在go中就是叫字典。但大家都一直这么用,这么叫,有些事就是这样,又何必纠结对与错呢,生活亦是如此。有因必有果字典的 key 是因,字典的 value 是果。如果说数组和切片赋予了我们步行的能力,那么字典则让我们具备了跳跃的能力。指针、数组切片和字典都是容器型变量,字典比数组切片在使用上要简单很多,但是内部结构却无比复杂字典的创建关于 G

2020-06-05 15:08:07 586 1

原创 GO言语if-else——永恒的逻辑

前言其实所谓的算法都是严格的数据公式,只不过有的复杂一点,有的简单一点,但都离不开永恒的逻辑,生活也是如此。。。语法糖少?Go 语言的分支循环语句选择性较少,循环语句它只有 for 循环,平时我们在其它语言用的 while 语句、do while 语句。分支语句只有 if 和 switch,也没有三元操作符(PHPer表示这语言跟PHP没法比)。少是坏事,也是好事。语法糖丰富了表面上选择性多了功能强大了,但是也会增加代码的理解成本,用户需要掌握更多的知识才可以理解代码,这会提高语言的学习门槛。一个

2020-06-04 10:07:24 455

原创 GO语言变量——不朽的变量

前言任何一门语言里面最基础的莫过于变量了。如果把内存比喻成一格一格整齐排列的储物箱,那么变量就是每个储物箱的标识,我们通过变量来访问计算机内存。没有变量的程序对于人类来说是可怕的,需要我们用数字位置来定位内存的格子,人类极不擅长这样的事。这就好比一岁半左右的幼儿还没有学会很多名词,只能用手来对物体指指点点来表达自己的喜好。变量让程序逻辑有了丰富的表达形式。定义变量的三种方式Go 语言的变量定义有多种形式,我们先看最繁琐的形式package mainimport "fmt"func main

2020-06-02 18:22:14 384

原创 GO语言slice——神奇的切片

切片是个啥切片无疑是 Go 语言中最重要的数据结构,也是最有趣的数据结构,它的英文词汇叫 slice。所有的 Go 语言开发者都津津乐道地谈论切片的内部机制,它也是 Go 语言技能面试中面试官最爱问的知识点之一。初级用户很容易滥用它,这小小的切片想要彻底的理解它是需要花费一番功夫的。在使用切片之前,我觉得很有必要将切片的内部结构做一下说明。学过 Java 语言的人会比较容易理解切片,因为它的内部结构非常类似于 ArrayList,ArrayList 的内部实现也是一个数组。当数组容量不够需要扩容时,就会

2020-05-29 11:08:19 600

原创 积水问题(层级法)

有一组不同高度的台阶,有一个整数组数表示,数组中每个数是台阶的高度。当开始下雨(水足够的多),台阶之间的水坑会积多少水呢?如图:数组为[0,1,2,1,0,1,3,2,1,2,1,0], 积水为6问题

2020-05-25 15:38:45 1713

原创 GO坑——map map重新赋值之后,前面的map都是最后一个值

go 当对map和string 重新赋值,产生的结果不一样//make 一个map,然后循环对map进行重新赋值,最后追加到一个slice里func main(){ var data = make(map[string]interface{}, 0) var res []map[string]interface{} var testSlice = []int{1,2,3,4,5} for _,v :=range testSlice{ data["key"] = v fmt.Printl

2020-05-21 18:23:23 2747 2

原创 Go简单的方法来创建多线程 (multi-gopher) 程序

下面展示一些 示例代码。Goroutinesfunc main(){ theMine := [5]string{"rock", "ore", "ore", "rock", "ore"} go findOre(theMine) go findOre2(theMine) <-time.After(time.Second * 5)}func findOre(s [5]string...

2020-04-07 11:42:12 2048 2

原创 事务配合数据库行锁实现库存不为负数

一、事务的概念 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了...

2019-01-07 15:01:05 1042 1

空空如也

空空如也

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

TA关注的人

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