自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [go]深入学习Go总结

一种用来表示编译语言的语法结构的树形结构,用于辅助编译器进行语法分析。是一种中间代码的特性,即每个变量只赋值一次。分为复杂指令集体系(CISC)和精简指令集体系(RISC)通过 扫描数据源文件来匹配对应的字符,跳过空格和换行等空白字符。使用 文法解析 Token,按顺序检查语法树中定义和使用的类型,确保不存在类型匹配问题。(包括结构体对接口的实现等),同时也会展开和改写一些内置函数如 改写为 ,, 等。拓展:先对元素类型进行检查,再根据操作类型()的不同更新节点类型。创建 结构,存储哈希表的键值类型

2023-01-14 03:02:15 1016 1

原创 [python]linux安装make: *** [Makefile:1102:install] 错误 139 的解决方法

【代码】[python]linux安装make: *** [Makefile:1102:install] 错误 139 的解决方法。

2023-01-10 00:10:15 2768 1

原创 [go]浅谈sync.Map

【代码】[go]浅谈sync.Map。

2022-09-28 20:55:21 279

原创 [manjaro]更新后内核文件加载失败

manjaro更新踩坑

2022-08-08 13:48:56 2146

原创 [go]沙盒环境下调用支付宝扫码支付

参考于这篇博客,在此基础上进行了封装支付宝开放平台,使用支付宝扫码并成为开发者。然后进入沙盒进行测试下载沙盒版支付宝并使用沙盒账号中的买家信息进行登陆,之后使用此账号登陆的支付宝来进行扫码配置接口加签方式下载并安装密钥生成工具沙盒下除了组织/公司必须和商户账号一样,其他可以随便填,之后得到这几个证书然后进入开发者平台上传csr证书来配置接口加签方式,(使用系统默认的密钥我总是没法测试成功)之后下载这些证书用于程序中校验使用模拟测试注意异步响应地址和回调地址必须是公网可以访问到的。实际测试项目跑起来之

2022-06-20 17:10:47 1298 7

原创 [postgres]docker下使用中文全文搜索

我们使用docker进行构建则可以使用现有的镜像chenxinaz/zhparser然后在配置文件结尾加上这几条配置用来控制分词情况然后我们可以直接启动服务ALLOW_IP_RANGE 允许其他机器访问3. 然后进行配置(postgres 默认是 english 解析器)然后查看分词情况5. 具体使用需要了解两个数据类型唯一分词的分类列表,会自动把语句格式化为不同的词条,但默认是english解析器。可以使用选择指定的解析器这里的前面的数字是词语在句子中的位置。注意这个

2022-06-11 21:00:59 770

原创 [sql] postgres 按照in查询并保存in顺序

借鉴于这篇文章 链接主要就是让单位一致。使用sqlc工具时sql语句

2022-06-04 19:29:00 845

原创 [go]大规模并发常见操作

总结于《go语言并发之道》, 建议直接看原书心跳工作开始时的心跳// DoWork2 在工作单元开始时发出的心跳 防止设置超时导致还没开始工作就超时了// 根据给定数组内容生成int流func DoWork2(ctx context.Context, nums ...int) (<-chan interface{}, <-chan int) { heartStream := make(chan interface{}, 1) // 至少可以发送一个心跳 intStream :=

2022-05-10 22:52:09 342

原创 gRPC项目学习总结

gRPC项目学习总结项目仓库原教程视频序列化对象为二进制和JsonGo将protobuf信息写入二进制文件从二进制文件中读取protobuf信息写入json文件并比较大小//json.go// ProtobufToJson 将protobuf文件转换为jsonfunc ProtobufToJson(message proto.Message) ([]byte, error) { marshaler := protojson.MarshalOptions{ UseEnumNum

2022-05-08 22:54:02 742

原创 [go]简单的RPC框架

将信息使用gob压缩,通过TCP进行传输实现远程服务调用。原教程主要分为以下几步约定数据包传输格式约定数据的加密和解密服务端对请求的回复的封装客户端对函数注册的封装项目结构├── client.go├── cmd│   ├── client│   │   └── main.go│   ├── server│   │   └── main.go│ &

2022-05-05 11:50:43 1243

原创 [go]常见的并发模型[泛型版]

总结于《go语言并发之道》// Bridge 通过接受传输chan的chan,将值传递给给回去(这个是按顺序读完一个channel才会选择下一个channel)func Bridge[T any](done <-chan interface{}, chanStream <-chan <-chan T) <-chan T { valStream := make(chan T) go func() { defer close(valStream) for { var

2022-04-20 16:58:23 473 2

原创 [mysql]Order By原理图文总结

根据 《mysql45讲》和 原文1 原文2 原文3 原文4 原文5总结,全字段排序和rowid排序网上资料已经很多了。我这里简单总结下,并记录下我的理解.但是相关资料之间也有些许矛盾之处,我只能根据自己的理解所总结,如果有错误请指出。...

2022-04-14 20:02:31 547

原创 [go]使用channel实现读写锁

这里建议直接看go的锁源码,实现的太优雅了!尤其是读写锁。通过对readerCount正负的控制就实现对读写操作的控制。我这里就是简单使用channel代替信号量的传递。锁type Mutex struct { mu chan struct{}}func NewMutex() *Mutex { return &Mutex{mu: make(chan struct{}, 1)}}func (m *Mutex) Lock() { m.mu <- struct{}{}}f

2022-04-05 15:34:10 1355

原创 [go]跳表的实现

之前看某个视频或者书总结的,具体是哪个给忘记了。。感谢前人栽树,我这里只是简单实现和使用package skip_listimport ( "math" "math/rand" "time")const ( MaxLevel = 18 //最大层数 Probability = 1 / math.E //每一个节点是否可以向上的概率基数)type ( // Comparable 大于返回正数,小于返回负数,等于返回0 Comparable interface { Co

2022-04-04 14:03:28 529

原创 [go]树状数组的实现

这个up主讲的非常细,我这里只是简单实现和使用package treenumstype TreeNum struct { nums []int}// NewTreeNum 初始化一个存储n个元素的树状数组func NewTreeNum(n int) *TreeNum { return &TreeNum{nums: make([]int, n+1)}}//计算x二进制的最低位1及之后的数。101000 -> 001000func (t *TreeNum) lowbit(

2022-04-04 13:50:10 377

原创 [go]简单的博客后台

A Road of Code 简易博客系统gin+mysql+redis+docker-compose部署,数据挂载在本地 已经完成了后端的基础建设,整体结构├── cmd //可执行程序入口│ ├── migrate //数据库迁移工具│ └── test //Main测试├── configs //配置文件│ ├── app //实际配置文件│ └── model //配置文件模型├── database //挂载数据库和项目的本地资源│ ├── mysql│

2022-04-01 13:57:18 1527

原创 [汇编]《汇编语言》第四版实验14 访问CMOS RAM

;显示当前时间assume cs:code,ds:datadata segment db '024789' db '// :: 'data endscode segment start: mov ax,data mov ds,ax mov bx,0 mov cx,6 s:

2022-03-08 13:51:08 297

原创 [汇编]《汇编语言》第四版实验10-3数值显示

assume cs:code,ds:data,ss:stackstack segment dd 0,0,0,0,0,0,0,0stack endsdata segment db 10 dup (0)data endscode segment start: mov ax,12666 mov bx,data mov ds,bx

2022-03-06 17:10:27 447

原创 [汇编]《汇编语言》第四版实验10-1显示字符串

assume cs:code,ds:datadata segment db 'Welcome to masm!',0data endscode segment start: mov dh,24 mov dl,0 mov cl,2 mov ax,data mov ds,

2022-03-03 20:40:06 1139 1

原创 [汇编]《汇编语言》第四版实验7解析

个人认为这个题非常值得思考,刚开始做的时候发现还是对之前的知识点有些模糊,甚至有些搞混,然后慢慢回顾,理清思路后一切都豁然开阔,代码基本上就是一蹴而就,中间div部分概念开始给搞混了导致debug了一段时间。assume cs:code,es:table,ss:stackdata segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987'

2022-02-25 21:46:47 558 4

原创 [汇编]masm编译时的unable to open input file问题。

已知有两个原因汇编文件名过长,改短一点路径错误,dos文件路径的不同层级通过一个反斜杠来分割。这是我的结构。可以这样进行编译也可以这样进行之前一直用斜杠来分割路径了,所以提示找不到文件。。(傻了)...

2022-02-23 22:08:40 2606 3

原创 redis总结

Redisredis视频链接概述Redis是什么Redis是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。Redis能做什么内存存储,持久化(rdb,aof)效率高,可以用于高速缓存订阅系统地图信息分析计时器,浏览量.安装1. 下载压缩包 wget 软件链接2. 解压gz压缩包 tar -zxvf redis-6.2.6.tar.gz 3. 安装gcc-c++环境 yum install gcc-

2022-01-04 21:55:23 2029 1

原创 [leetcode]树的搜索和回溯算法

树的搜索树的搜索 · SharingSource/LogicStack-LeetCode Wiki (github.com)173. 二叉搜索树迭代器 (leetcode-cn.com)其实我就是先中序遍历一遍…(偷懒了)type BSTIterator struct { result []*TreeNode}func Constructor(root *TreeNode) BSTIterator { result := make([]*TreeNode, 0, 100000) var

2021-12-28 13:23:11 336

原创 Docker操作总结

Docker基本操作

2021-12-12 22:14:44 1691

原创 [leetcode]双指针

双指针贪心两数之和题型快慢指针滑动窗口求满足条件的子区间kmp贪心盛水最多的容器/*左右指针最开始指向最两边,此时底最大,然后往里面缩小,此时将低的淘汰,往里缩.*/func maxArea(height []int) (ret int) { min := func(a,b int)int{ if a<b{ return a } return b } for i,j:=0,len(height

2021-11-13 16:25:41 288

原创 [Go]固定工作池的应用

今天学长让帮忙爬个简单的图片,刚好熟悉下工作池的使用总体思路借鉴自《go核心编程》(1)构建 taskChan 并发送到 taskChan 通道中。(2)分别启动n个工作协程,不停地从 taskChan 通道中获取任务,然后将结果写入结果通道(我的这个不需要写入结果就省略了),如果任务通道被关闭,则负责向收敛结果的 goroutine 发送通知,告诉其当前 worker 已经完成工作(我这里使用waitGroup来通知)(3) 收敛结果的 goroutine 接收到所有 taskChan 经处

2021-10-21 14:57:01 111

原创 服务器redis连接问题

首先按照下面的步骤安装并测试服务器是否可以正常运行redis修改配置文件修改端口号把这个端口号改成其他自定义的(为了安全)修改允许访问的ip找到这个注释掉设置密码图自 https://m.php.cn/redis/422222.html服务器的防火墙去云服务器控制台把设置的端口号允许开放(我用的阿里云)https://developer.aliyun.com/article/767328#:~:text=%E9%98%BF%E9%87%8C%E4%BA%91..

2021-10-10 12:51:59 243

原创 vm centos7 ifconfig没有ip地址问题

输入ifconfig之后正常会出现ip地址一般有着几种情况前两种比较常见基本就解决了,最后我都尝试后发现仍不能解决问题,于是重装虚拟机,解决问题…感觉比较大的原因就是用了DiskGenius来分了下盘,把虚拟机搞出毛病了(电脑屏还抖动模糊,重启解)附上四种方法的链接https://blog.csdn.net/qq_41937388/article/details/103957506...

2021-10-02 00:13:56 320

原创 [Go]马踏棋盘贪心优化

对8行8列的马踏棋盘的求解(栈模拟递归)package mainimport ( "fmt" "sort")const ( //棋盘规格 ROW = 8 COL = 8)type Stack struct { x, y int direction int //当前方向下标 nextIndex []NextIndex //之后的位置坐标}type NextIndex struct { //方便排序用 nx, ny int weight int

2021-09-17 22:50:11 167

原创 [Go]报数问题

有这样一个报数问题,有10个人(goroutine)一起报数 有一个裁判随机选一个地雷数 随机选数用rand就行这10个人讲选完的数字告诉裁判用channel传递 然后如果这个选数字的人正好踩雷了 则这个人出局输出m局后还有几个人存活要求是不能用要求不许用全局变量 所有的数据用channel最开始把题意没看清楚,写了一个取巧的方法每一轮生成一个随机数传给每个选手,每个选手每一轮生成一个随机数,然后自己判断自己是否被淘汰,如果没淘汰就通知裁判,而裁判此时减少一个总人数.const ( MaxN

2021-06-03 11:51:24 140

原创 MySQL基本操作总结

MySQL基本操作总结数据库(Database)常用命令MySQL数据类型SQL分类DDL 数据定义语言创建数据库 CREATE DATABASE删除数据库 DROP DATABASE创建表 CREATE TABLE删除表 DROP TABLE修改表结构 ALTER TABLEDML 数据操作语言插入数据:`INSERT`更新记录 `UPDATE`删除记录 `DELETE`DQL 数据查询语言查询语句 `SELECT`为查询结果的列重命名 `AS`条件查询 `WHERE`排序 `ORDER BY`分组函数:

2021-05-24 18:10:02 188

原创 [Golang]并发检索代码行数

先看看普通的递归搜索package mainimport ( "bufio" "fmt" "io" "os" "strings" "time")func main() { path := "D:\\" //搜索路径 key := ".go" //文件名关键字 t := time.Now() fmt.Println(myReadLine(path, key)) fmt.Println(time.Since(t))}//path指当前搜索路径,sum指path路径下代

2021-05-18 13:01:55 273 1

原创 [Go]类型系统

Go语言类型系统Go语言核心编程内容总结Go语言类型系统类型简介命名类型和未命名类型底层类型类型相同和类型赋值类型强制转换类型方法自定义类型方法方法调用方法调用的类型转换类型简介Go语言数据类型简单分简单类型和复合类型命名类型和未命名类型命名类型:可以通过标识符表示的类型.例如:Go语言基本类型中预声明的简单类型以及**自定义类型(type)**都是命名类型未命名类型:由预声明类型,关键字和操作符组成(也称为类型字面量)所以[]int//这个是未命名类型type mySlice

2021-05-06 17:58:40 170

原创 [C语言]图的总结

文章目录图各种图定义图的顶点与边间关系连通图的相关术语图的存储结构图的遍历最小生成树最短路径拓扑排序关键路径总结图定义: 由顶点的有穷非空集合和顶点之间的边的集合组成,表示为:G(V,E),其中,G表示一个图,V表示顶点集合,E表示边的集合注:顶点集合不能为空,边集为空各种图定义无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边(Edge),可用无序偶对表示为:(Vi,Vj)若图中任意两个顶点之间的边都是无向边,则称该图为无向图.G = (V,{E})V = {A,B,C,

2021-04-23 17:08:34 1370 3

原创 [C语言]哈夫曼树的基本操作

哈夫曼树概念结构体构建空堆判空判满向下调整以及构建最小堆插入数值删除并返回最小值哈夫曼树的构建计算WPL效果图全部代码概念路径长度:从树中一个节点到另一个节点之间的分支构成两个节点之间的路径,路径上分支的数目称为路径长度.树的路径长度:从树根到每一节点的路径长度之和这个树的路径长度就是16节点的带权路径长度: 从该节点到树根之间的路径长度与节点上权的乘积树的带权路径长度(WPL): 树的每个叶子节点的带权路径之和以上图为例这棵树的WPL就是3*5+15*3+40*2+30*2+10*2

2021-04-11 16:30:35 815

原创 [C语言]二叉搜索树

目录结构体二叉搜索树的插入(创建)查找值查找最小值和最大值删除单个节点遍历全部代码效果图结构体这个和普通的二叉树一样的typedef struct BiTNode{ DataType data; //数值 struct BiTNode* lchild; //左孩子 struct BiTNode* rchild; //右孩子 int flag; //非递归遍历时可能会使用到} BiTNode,*BiTree; //搜索树结构体 二叉搜索树的插入(创建)这个相当于创建了

2021-04-09 17:51:01 255

原创 [C语言]完全二叉树的应用-堆

此处构建的是最大堆结构体创建空堆判空判满为堆中插入数值向下调整满足最大堆删除并返回堆中最大值堆排完整代码效果图结构体typedef int Type;//自定义类型typedef struct HNode//堆结构体{ Type *data;//存放堆的数组 int NowSize;//目前堆的大小 int MaxSize; //最大容量} HNode;创建空堆HNode *CreatHeap()//创建一个空堆{ HNode *H = (HNode*)malloc(sizeof

2021-04-08 15:08:18 188

原创 二分查找

基本上是这三种模板总结下给自己备用具体看这个:https://leetcode-cn.com/leetbook/read/binary-search/xewjg7/目录基础版进阶版特殊版基础版int search(int* nums, int numsSize, int target){ int left = 0,right = numsSize-1,mid; while(left <= right) { mid = left+(right-lef

2021-04-07 18:23:08 129

原创 小测试总结

这次的题考察的还是看自己有没有把所有情况都考虑进去了目录第一题--结构体排序第二题--模拟第三题--栈第四题--bfs第五题--贪心第一题–结构体排序一个简单的结构体多级排序,C语言qsort,C++sort就行#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct{ int number; char name[10]; int data;} stu;//结构体

2021-04-06 22:37:31 160

原创 树,森林,二叉树相互转换[概念]

《大话数据结构》内容的总结树转换为二叉树森林转换为二叉树二叉树转换为树二叉树转为森林树和森林的遍历树转换为二叉树像这样一颗好看的树怎么变成二叉树呢步骤:加线: 把亲兄弟们连接起来注意是亲兄弟哦 亲兄弟才是一家人哦去线:每个节点除了 与第一个节点的连线 以外把与 其他节点 的连线删除变成灰色的就是被删除的连线调整图像:每个节点如果有 孩子 ,那就将它作为自己的 左孩子 ,没有就是没左孩子,而如果有 右兄弟 就把 右兄弟 作为自己的 右孩子这波 这波叫兄弟变儿子画的有亿点点low

2021-04-01 23:04:16 159

空空如也

空空如也

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

TA关注的人

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