摘要:
本文摘自labuladong算法小抄 , 使用go语言描述 我们公众号的成名之作 学习数据结构和算法的框架思维 中多次强调,先刷二叉树的题目,先刷二叉树的题目,先刷二叉树的题目,因为很多经典算法,以及我们前文讲过的所有回溯、动归、分治算法,其实都是树的问题,而树的问题就永远逃不开树的递归遍历框架这几
阅读全文
posted @ 2021-02-18 11:47
唯一客服系统开发笔记
阅读(309)
推荐(0)
摘要:
有些接口需要增加header头信息 , 里面传递token , 这个时候就要求在post的时候能传递自己的header信息 func PostHeader(url string, msg []byte, headers map[string]string) (string, error) { cli
阅读全文
posted @ 2021-02-09 14:38
唯一客服系统开发笔记
阅读(2021)
推荐(0)
摘要:
//Post("http://xxxx","application/json;charset=utf-8",[]byte("{'aaa':'bbb'}")) func Post(url string, contentType string, body []byte) (string, error)
阅读全文
posted @ 2021-02-08 17:39
唯一客服系统开发笔记
阅读(2866)
推荐(1)
摘要:
按照文档要求 bool, for JSON booleans float64, for JSON numbers string, for JSON strings []interface{}, for JSON arrays map[string]interface{}, for JSON obje
阅读全文
posted @ 2021-02-08 17:37
唯一客服系统开发笔记
阅读(547)
推荐(0)
摘要:
获取当前时间戳的函数 , 默认有秒和纳秒 , 毫秒需要处理一下 , 转成字符串需要转换一下 fmt.Printf("时间戳(秒):%v;\n", time.Now().Unix()) fmt.Printf("时间戳(纳秒):%v;\n",time.Now().UnixNano()) fmt.Prin
阅读全文
posted @ 2021-02-08 17:06
唯一客服系统开发笔记
阅读(3332)
推荐(0)
摘要:
很常见的需求 import "strconv" //先导入strconv包 // string到intint, err := strconv.Atoi(string) // string到int64int64, err := strconv.ParseInt(string, 10, 64) // i
阅读全文
posted @ 2021-02-08 17:03
唯一客服系统开发笔记
阅读(1418)
推荐(0)
摘要:
项目中经常使用的md5和sha256加密函数 //md5加密 func Md5(src string) string { m := md5.New() m.Write([]byte(src)) res := hex.EncodeToString(m.Sum(nil)) return res } //
阅读全文
posted @ 2021-02-08 16:59
唯一客服系统开发笔记
阅读(1947)
推荐(0)
摘要:
在使用很多函数的时候需要传入string字符串 , 但是函数参数类型是io.Reader , 这时候就需要将string转换为Reader类型 例如下面的: strings.NewReader("aaaa") NewReader返回从读取的新Reader。 它类似于bytes.NewBufferSt
阅读全文
posted @ 2021-02-08 15:31
唯一客服系统开发笔记
阅读(8791)
推荐(0)
摘要:
官方文档里的代码有点点问题 , 可以按照下面这样延时去调用plus的代码 , 等待plus加载完毕 另外增加上条件编译 , 只有在app下面这段代码才会编译 //#ifdef APP-PLUS // 页面加载时触发 setTimeout(function(){ if(plus){ var pinf
阅读全文
posted @ 2021-02-08 11:01
唯一客服系统开发笔记
阅读(2612)
推荐(0)
摘要:
本文来自labaladong的算法小抄 , 使用GO语言重新描述代码部分 寻找回文串的核心思想是从中心向两端扩展: func Palindrome( s string,l,r int)string { str:=[]rune(s) for l>=0 && r < len(str) && str[l]
阅读全文
posted @ 2021-02-03 23:09
唯一客服系统开发笔记
阅读(156)
推荐(0)
摘要:
注意当json_encode中文的时候 , 默认是以unicode编码的 , 如果想变成中文需要增加参数JSON_UNESCAPED_UNICODE 但是JSON_UNESCAPED_UNICODE参数是php5.4以上才支持的 所以可以使用下面这段代码: function json_encode2
阅读全文
posted @ 2021-02-02 17:59
唯一客服系统开发笔记
阅读(187)
推荐(0)
摘要:
自己的ID是自动获取的 ,然后输入对方的ID , 对方的ID可以这样获取 , 再打开新的浏览器或者手机也可以 原理是 利用js的h5新特性获取摄像头视频流, 通过peerjs的服务交换双方的信息 , 然后使用浏览器的webrtc特性进行点对点通信 , 这个时候是不需要中间服务器的 代码如下: <ht
阅读全文
posted @ 2021-02-01 21:49
唯一客服系统开发笔记
阅读(3189)
推荐(0)
摘要:
当文本中有反斜杠 , 需要使用grep查找出带有反斜杠的内容 , 比如下面的文本 bbbaaaeeccc\tdd 想要查找出ccc\t这行的文本 如果你使用 cat xxx.txt |grep "ccc\t" 或者 cat xxx.txt |grep "ccc\\t" 加一个转义, 是查不出来的 需
阅读全文
posted @ 2021-01-27 16:15
唯一客服系统开发笔记
阅读(3832)
推荐(0)
摘要:
在一些界面上 , 如果每个icon都去找图片还是相当麻烦的 , 直接使用css画出icon就方便的多了 , 下面两个是画的文件夹和话筒的icon 效果: 文件夹: .folderBtn { display: inline-block; background-color: transparent; o
阅读全文
posted @ 2021-01-26 11:34
唯一客服系统开发笔记
阅读(337)
推荐(0)
摘要:
之前开发的GO语言客服系统已经360+ star了 , 撒花 又开发出了多商户版本 , 继续撒花 测试地址: http://gofly2.sopans.com/index_cn 【Feature:新增的特性(从无到有)】 权限划分超管/商户/坐席 商户可新增坐席,超管可新增商户 后台设置页权限划分
阅读全文
posted @ 2021-01-22 16:30
唯一客服系统开发笔记
阅读(590)
推荐(0)
摘要:
比如回车事件是: @keyup.enter.native="" 比如按下事件 @keydown.native="" 当下面不管用的时候加个 .native @keydown(键盘按下时触发),@keypress(键盘按住时触发),@keyup(键盘弹起) 获取按键的键码 e.keyCode @key
阅读全文
posted @ 2021-01-18 19:00
唯一客服系统开发笔记
阅读(399)
推荐(0)
摘要:
注意问题 , 当对interface变量进行判断是否为nil时 , 只有当动态类型和动态值都是nil , 这个变量才是nil 下面这种情况不是nil func f(out io.Writer) { // ...do something... if out != nil { out.Write([]b
阅读全文
posted @ 2021-01-15 17:39
唯一客服系统开发笔记
阅读(589)
推荐(0)
摘要:
当写项目的过程中 , 有时候进行逻辑判断 , 如果没注意对两个interface类型的变量进行比较 , 会造成混乱问题 接口比较的时候 , 只有当这两个变量的动态类型 , 动态值都相等的时候 , 才是相等的 一个nil的interface类型 , 是包含下面俩的 , 动态类型和动态值 使用fmt.P
阅读全文
posted @ 2021-01-15 17:27
唯一客服系统开发笔记
阅读(2067)
推荐(0)
摘要:
在chrome 80版本以上, 会默认开启same-site策略 samesite有以下几个值 Lax : 对同源、顶级域的请求才可以携带cookie (等价于same-site)Strict: 对同源请求才可以使携带cookie (等价于same-origin)None: 对于cookie的使用无
阅读全文
posted @ 2021-01-14 16:02
唯一客服系统开发笔记
阅读(1419)
推荐(0)
摘要:
摘自labuladong算法小抄,使用go语言重新描述 之前的文章「递归反转链表的一部分」讲了如何递归地反转一部分链表,有读者就问如何迭代地反转链表,这篇文章解决的问题也需要反转链表的函数,我们不妨就用迭代方式来解决。 本文要解决「K 个一组反转链表」,不难理解: 这个问题经常在面经中看到,而且 L
阅读全文
posted @ 2021-01-12 23:36
唯一客服系统开发笔记
阅读(466)
推荐(0)
摘要:
转载自labuladong的算法小抄,go语言描述 反转单链表的迭代实现不是一个困难的事情,但是递归实现就有点难度了,如果再加一点难度,让你仅仅反转单链表中的一部分,你是否能够递归实现呢? 本文就来由浅入深,step by step 地解决这个问题。如果你还不会递归地反转单链表也没关系,本文会从递归
阅读全文
posted @ 2021-01-11 22:37
唯一客服系统开发笔记
阅读(245)
推荐(0)
摘要:
摘自廖雪峰网站 JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部: 'use strict'; function foo() { var x = 'Hello, ' + y; console.log(x); var y = 'Bob'; } fo
阅读全文
posted @ 2021-01-11 15:05
唯一客服系统开发笔记
阅读(100)
推荐(0)
摘要:
本文转自labuladong的算法小抄 , 代码部分我使用go重新描述 先给大家讲个笑话乐呵一下: 有一天阿东到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安把阿东拦下,要检查一下哪本书没有登记出借。阿东正准备把每一本书在报警器下过一下,以找出引发警报的书,但是保安露出不屑的眼神:你连二分
阅读全文
posted @ 2021-01-10 15:13
唯一客服系统开发笔记
阅读(1065)
推荐(0)
摘要:
ie下audio不支持一些媒体类型 , 所以需要进行兼容处理 这里可以用js进行判断 , 并加载不同的资源文件 , 这样就兼容了ie if (b.canPlayType('audio/ogg; codecs="vorbis"')) { }else{ ie下加载不同的资源文件 } <audio id=
阅读全文
posted @ 2021-01-08 15:21
唯一客服系统开发笔记
阅读(227)
推荐(0)
摘要:
在使用elemetui的时候 , 在ie11下面会遇到这个报错 不支持incudes属性和方法 数组.incudes("元素") 是检测数组中是否包含某元素 支持的版本是 可以替换为 数组.indexOf("元素") > 0
阅读全文
posted @ 2021-01-08 15:12
唯一客服系统开发笔记
阅读(134)
推荐(0)
摘要:
1.有主键如果设置了主键,并且一般会把主键设置成自增。我们知道,Mysql里int类型是4个字节,如果有符号位的话就是[-2^31,2^31-1],无符号位的话最大值就是2^32-1,也就是4294967295。 如果超过上限就会看到错误提示:1062 - Duplicate entry '2147
阅读全文
posted @ 2021-01-08 11:31
唯一客服系统开发笔记
阅读(1104)
推荐(1)
摘要:
大小端模式 多字节数据在内存里占用连续的内存空间 大端模式:就是我们平常看到的右到左读的形式,左边是高地址位,右边是低地址位 小端模式:和上面反过来,便于机器处理 边界对齐 内存按照字节编址 访问内存一次访问一个字,32位,4个字节 边界对齐就是,一个字存数据的时候,如果没有占满四个字节,剩余的字节
阅读全文
posted @ 2021-01-06 22:23
唯一客服系统开发笔记
阅读(225)
推荐(0)
摘要:
有符号数转无符号数 不改变数值内容,改变解释方式,一般是负数时会出问题,因为符号位是1,转成无符号位时会被当成数据内容 short x=-1 转成 unsigned short y=(unsigned short)x 长整数转短整数 高位截断,低位保留,会改变符号位 int a=1234 转成 sh
阅读全文
posted @ 2021-01-06 22:03
唯一客服系统开发笔记
阅读(276)
推荐(0)
摘要:
算数移位:符号位不变,仅对数值位进行移位 右移高位补0,低位舍弃,若舍弃的位=0,则相当于除以2;若舍弃的位不等于0,则会丢失精度 左移低位补0,高位舍弃,若舍弃的位=0,则相当于乘以2;若舍弃的位不等于0,则会出现严重误差 负数反码移位:高位和低位都补1负数的补码移位:右移->高位补1 ; 左移-
阅读全文
posted @ 2021-01-06 13:43
唯一客服系统开发笔记
阅读(506)
推荐(0)
摘要:
要把多个字符串连接起来,可以用+号连接: var name = '小明';var age = 20;var message = '你好, ' + name + ', 你今年' + age + '岁了!';alert(message); 如果有很多变量需要连接,用+号就比较麻烦。ES6新增了一种模板字
阅读全文
posted @ 2021-01-06 11:21
唯一客服系统开发笔记
阅读(257)
推荐(0)
摘要:
strict模式JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量: i = 10; // i现在是全局变量在同一个页面的不同的JavaScript文件中,如果都不用
阅读全文
posted @ 2021-01-06 11:14
唯一客服系统开发笔记
阅读(96)
推荐(0)
摘要:
原码:用尾数表示真值的绝对值反码:若符号位为0,反码和原码一样;若符号位为1,则数值位全部取反补码:正数的补码=原码;负数的补码=反码末位+1(要考虑进位)移码:补码的基础上,符号位取反(只能表示整数) 用加法运算来代替减法运算例如:14-14 这个运算,如果在8bit的基础上,可以看成计算机天然的
阅读全文
posted @ 2021-01-05 23:23
唯一客服系统开发笔记
阅读(1079)
推荐(0)
摘要:
定点数和浮点数定点数:小数点固定的数 浮点数:小数点不固定的数 无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值n位无符号数表示范围是:0~ 2^n -1 因为8个二进制位全为1的时候就是 ,第九位数为1的时候-1 有符号数如果机器字长是8位,第八位是符号位,其他七位是尾
阅读全文
posted @ 2021-01-04 19:15
唯一客服系统开发笔记
阅读(1209)
推荐(0)
摘要:
babel是将 ES2015+ 语法的 JavaScript 代码编译为能在当前浏览器上工作的代码 安装包 npm install --save-dev @babel/core @babel/cli @babel/preset-env npm install --save @babel/polyfi
阅读全文
posted @ 2021-01-04 17:24
唯一客服系统开发笔记
阅读(379)
推荐(0)
摘要:
一次磁盘读写操作所需要的时间寻找时间(寻道时间):磁头臂前后移动寻找磁道所需的时间 (系统软件可算法优化)延迟时间:磁头旋转定位到目标扇区所需要的时间 (固定)传输时间:读写数据到扇区所需的时间 (固定) 先来先服务算法:请求的磁道集中的话,性能好.大量进程的时候会性能差 最短寻找时间优先保证每次寻
阅读全文
posted @ 2021-01-04 11:14
唯一客服系统开发笔记
阅读(587)
推荐(0)
摘要:
磁盘的结构 磁盘/磁道/扇区的概念盘片里面会一圈圈的划分出很多的磁道,每条磁道会划分出一段一段的扇区,每个扇区存储的数据相同(1KB) 如何在磁盘中读写数据磁盘转动,目标扇区从磁头下面划过就能读写扇区了 盘面/柱面的概念会有很多层的盘面,会有编号,每个盘面对应一个磁头,都在一个磁臂上,会共进退立体的
阅读全文
posted @ 2021-01-04 10:53
唯一客服系统开发笔记
阅读(400)
推荐(0)
摘要:
用页面置换算法决定应该换出哪个页面 五种页面置换算法:1)最佳置换算法(OPT)2)先进先出算法(FIFO)3)最近最少使用算法(LRU)4)时钟置换算法(CLOCK)5)改进型的时钟置换算法 最佳置换算法(OPT):每次选择淘汰的页面将是以后永不使用,最长时间内不再被访问的页面,无法实现 先进先出
阅读全文
posted @ 2021-01-03 16:44
唯一客服系统开发笔记
阅读(477)
推荐(0)
摘要:
基本地址转换机构:一组硬件机构,将逻辑地址转换成物理地址,需要两次访存,先查页表再查内存具有快表的地址转换机构1)局部性原理2)什么是快表3)引入快表后,地址转换只需要一次访存 局部性原理时间局部性:程序中执行了某条指令,不久后这条指令可能会再次执行;访问了某个变量,不久后可能会再次访问空间局部性:
阅读全文
posted @ 2020-12-31 10:57
唯一客服系统开发笔记
阅读(403)
推荐(0)
摘要:
基本分页存储方式 1)把内存分为一个个小分区,再按照分区大小把进程拆分成一个个的小部分,比如每个分区4kb,每个分区就是一个页框/页帧/页存块/物理块,页框号从0开始 2)将进程也分成和页框大小相等的一个个区域,称为页/页面,每个页面也有个编号,页号也是从0开始的 3)将进程分页然后离散的分配到内存
阅读全文
posted @ 2020-12-30 22:33
唯一客服系统开发笔记
阅读(259)
推荐(0)
摘要:
首次适应算法每次从低地址开始查找,找到第一个能满足大小的空闲分区,顺序查找空闲分区链或者空闲分区表 最佳适应算法(最小分配)按照容量递增从小到大的顺序查找,每次分配内存按前面顺序查找,找到第一个合适的,会留下很多外部碎片 最坏适应算法(最大分配)按容量从大到小顺序查找 邻近适应算法每次分配内存时,从
阅读全文
posted @ 2020-12-30 19:27
唯一客服系统开发笔记
阅读(1284)
推荐(0)