ziggy7
码龄8年
关注
提问 私信
  • 博客:65,822
    65,822
    总访问量
  • 219
    原创
  • 1,402,352
    排名
  • 41
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2016-10-20
博客简介:

ziggy7的博客

查看详细资料
个人成就
  • 获得51次点赞
  • 内容获得15次评论
  • 获得167次收藏
创作历程
  • 83篇
    2021年
  • 135篇
    2020年
  • 2篇
    2019年
成就勋章
TA的专栏
  • Java
  • go
    9篇
  • 数据结构与算法分析
    8篇
  • 剑指offer
    61篇
  • STL源码剖析
    8篇
  • Unix-Linux编程实践教程
    17篇
  • 轻量级Linux服务器
    10篇
  • Effective C++
    6篇
  • CSAPP
    8篇
  • 网络编程实战
    26篇
  • 图解HTTP
    10篇
  • protobuf
    2篇
  • 深度探索C++对象模型
    3篇
  • MySQL
    9篇
  • c++基础
    9篇
  • VTK和ITK
    3篇
  • Git
    2篇
  • 现代操作系统
    1篇
  • Linux命令行与shell脚本编程大全
    1篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Gee cache

相关概念分布式缓存GeeCache特性●单机缓存和基于 HTTP 的分布式缓存●最近最少访问(Least Recently Used, LRU) 缓存策略●使用 Go 锁机制防止缓存击穿●使用一致性哈希选择节点,实现负载均衡●使用 protobuf 优化节点间二进制通信1.LRUmap和双向链表实现...
原创
发布博客 2021.09.20 ·
475 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

go自动化测试、覆盖率

整理自https://liumiaocn.blog.csdn.net/article/details/54922394go程序测试例子自动化测试basicfunc.gopackage basicfuncfunc GetGrade(score int) string { switch { case score < 60: return "D" case score <= 70: return "C" case score <= 80: return "B"
原创
发布博客 2021.05.31 ·
675 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

go select多路复用

select语法select {case <-ch1: // ...case x := <-ch2: // ...use x...case ch3 <- y: // ...default: // ...}例1:火箭点火火箭点火倒计时10秒,如果键盘输入任意字符就打断点火,如果没有就10s后起飞。package mainimport ( "fmt" "os" "time")func main() { abort := ma
原创
发布博客 2021.05.22 ·
371 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

go并发循环

并发打印●错误代码这个代码不会打印任何东西,因为main没等到pnt返回就直接返回了package mainimport ( "fmt" "time")func pnt() { time.Sleep(2 * time.Second) fmt.Println("hello world!!!")}func main() { for i := 0; i < 5; i++ { go pnt() }}●正确代码让5个goroutine向共享的channel中发送事件
原创
发布博客 2021.05.17 ·
512 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Goroutines和Channels

goroutine可以简单类比作一个线程main goroutine当一个程序启动时,其主函数即在一个单独的goroutine中运行,我们叫它main goroutine。创建新goroutine新的goroutine会用go语句来创建。f() // call f(); wait for it to returngo f() // create a new goroutine that calls f(); don't wait并发的Clock服务去掉go只能一个客户端接收到时间,
原创
发布博客 2021.05.17 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三、go语言函数、方法、接口(go语言圣经笔记)

函数声明func name(parameter-list) (result-list){ body}递归多返回值语法// 用逗号隔开return a, bbase return如果返回值变量名在函数体内出现,return可以省略操作数。错误Go使用if和return处理异常,出现异常就返回函数值函数拥有类型,可以被赋值给其他变量,函数类型的0值是nil,不能调用值为nil的函数匿名函数5.6可变参数5.7deferred函数defer后面的函数会被延迟执行。直到
原创
发布博客 2021.05.17 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二、go语言数据类型(go语言圣经笔记)

基础类型整型int、int8、int16、int32、int64uint、uint8、uint16、uint32、uint64uintptr:容纳指针浮点数float32:6个十进制的精度float64:15个十进制数的精度复数complex64、complex128对应float32和float64两种浮点数精度布尔型true和false字符串不可改变的字节序列s[i]返回第i字节的字节值,越界会出现异常s[i:j]:以s中[i:j)生成的新字符串,i不写就为0,j不写就为l
原创
发布博客 2021.05.04 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一、go语言基本语法与概念(go语言圣经笔记)

hello world// 表示该文件属于哪个包package main// 导入包import "fmt"func main() { fmt.Println("Hello, 世界")}基本语法命名小写字母开头,驼峰式命名,区分大小写(大写字母用于导出)声明变量语法// var 变量名字 类型 = 表达式s := "" // 简短声明:类型自动推导,要用:= 简短变量声明语句中必须至少要声明一个新的变量var s stringvar s = ""va
原创
发布博客 2021.05.03 ·
257 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

vscode go环境配置(GOPROXY两行代码解决)

解决vscode无法下载go插件问题:在cmd输入下面两行代码,输完后可以通过go env来查看是否成功go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn在vscode中使用Ctrl+Shift+P,输入>go:install,下面会自动搜索相关命令,我们选择Go:Install/Update Tools这个命令,选中所有插件,点击确定进行安装。(2021/4/26亲测可行)...
原创
发布博客 2021.04.26 ·
1422 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MySQL多版本并发控制MVCC

作用InnoDB通过实现提交读和可重复读这两种隔离级别。未提交读隔离级别总是读取最新的数据行,要求很低,无需使用 MVCC。串行化隔离级别需要对所有读取的行都加锁,单纯使用 MVCC 无法实现。思想MVCC 利用了多版本的思想,写操作更新最新的版本快照,而读操作去读旧版本快照,没有互斥关系,这一点和 写时复制 类似。MVCC 规定只能读取已经提交的快照。当然一个事务可以读取自身未提交的快照,这不算是脏读。在 MVCC 中事务的修改操作(DELETE、INSERT、UPDATE)会为数据行新增一个版本
转载
发布博客 2021.04.17 ·
119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

protobuf c++ example

defines messagesaddressbook.proto.person类型内定义了枚举PhoneType和PhoneNumber类型,PhoneNumber类型使用PhoneType类型syntax = "proto2";// 防止命名冲突package tutorial;message Person { // optional 0个或1个 optional string name = 1; optional int32 id = 2; optional strin
原创
发布博客 2021.04.07 ·
411 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

protobuf

https://github.com/protobuf-c/protobuf-c/wiki/Examplesamessage.proto文件message AMessage { required int32 a=1; optional int32 b=2;}生成.h 和.c文件protoc-c --c_out=. amessage.proto 链接-lprotobuf-cSerialize/packconstruct message :AMESSAGE_INITb是否存在(
原创
发布博客 2021.04.06 ·
175 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL关系模型

主键主键:能够通过主键唯一区分出不同的记录,不能使用业务相关的字段作为主键,所以一般把这个字段命名为id这张表中,如果用name作为主键,就没法存储同名同学,因为主键不能重复。联合主键:尽量不用通过多个字段唯一标识记录,两个或更多的字段设置为主键,这种主键称为联合主键。外键在students表中,通过class_id的字段,可以把数据与另一张表关联起来,这种列称为外键外键约束将class_id作为外键约束,那么就可以保证无法插入无效的数据(如果classes表不存在id=99的记录,
原创
发布博客 2021.04.05 ·
406 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MySQL索引

一、索引B树与B+树MySQL索引B+Tree索引
原创
发布博客 2021.04.10 ·
108 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ITK配准踩坑

卡了挺久的东西终于弄好了fixed与moving得到的transform是把fixed的点映射到moving点的变换仿射变换仿射变换可以由matrix、center、translation确定,也可以由matrix、offset确定。itk中observer输出的transform的matrix和offset是在世界坐标系下。坐标系世界坐标系:图像坐标系:都是正整数,就是像素的index,可以由(世界坐标 - origin)/spacing得到物理坐标系(?不知道是不是叫这个):图像坐
原创
发布博客 2021.04.05 ·
970 阅读 ·
0 点赞 ·
2 评论 ·
8 收藏

二、InnoDB存储引擎

InnoDB体系结构后台线程有多个 不同的后台线程,负责处理不同的任务。1.Master Thread核心的后台线程,负责将缓冲池中的数据异步刷新到磁盘,保持数据一致性,包括脏页的刷新、合并插入缓冲(INSERT BUFFER)、回收UNDO页。2.IO ThreadInnoDB大量使用AIO(异步IO)来处理IO请求,性能好。IO Thread工作是负责IO请求的回调处理。3.Purge Thread负责回收已使用并分配的undo页(本来由Master完成,减轻Master负担)4.P
原创
发布博客 2021.04.05 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一、MySQL体系结构和存储引擎

数据库和实例**数据库:**物理操作系统文件或其他形式文件类型的集合。MySQL数据库中,数据库文件可以是frm、MYD、MYI、ibd结尾的文件。NDB引擎中数据库文件可能存放在内存之中。**实例:**数据库实例真正用于操作数据库文件。MySQL数据库实例在系统上的表现就是一个进程。一个数据库可能被一个或多个实例使用。区别:数据库由一个个文件组成,要对数据库操作不能简单操作文件,而是要通过数据库实例完成对数据库的操作。MySQL数据库体系结构特点:插件式的表存储引擎,存储引擎是基于表的。In
原创
发布博客 2021.04.05 ·
104 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

事务

概念事务:多条语句作为一个整体进行操作。要么全部成功,要么不执行。(单条语句自动作为一个事务,称为隐式事务)-- 从id=1的账户给id=2的账户转账100元-- 第一步:将id=1的A账户余额减去100--必须全部执行UPDATE accounts SET balance = balance - 100 WHERE id = 1;-- 第二步:将id=2的B账户余额加上100UPDATE accounts SET balance = balance + 100 WHERE id = 2;
原创
发布博客 2021.04.01 ·
93 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Mysql常用语句

登录:mysql -u root -p查询查询所有数据:SELECT * FROM <表名>条件查询:SELECT * FROM <表名> WHERE <条件表达式> 条件表达式可以用AND、OR、NOT,可以用()查询某些列:SELECT 列1 别名1, 列2 别名2, 列3 别名3 FROM ... 别名可以去掉排序:ORDER BY 列名
原创
发布博客 2021.04.01 ·
128 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer Leetcode 38. ?字符串的排列

解法:回溯思想:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/solution/mian-shi-ti-38-zi-fu-chuan-de-pai-lie-hui-su-fa-by/固定用于排列方案的去重,set用于每一位的去重(字符串本身有重复)代码class Solution {public: vector<string>res; vector<string> permuta.
原创
发布博客 2021.04.01 ·
93 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多