自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路漫漫其修远兮,吾将上下而求索

感悟技术之魅力,完善自我之心灵

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 json to go

简介在对接第三方或者某些功能重写的情况下,有json字符串,需要Go的结构体定义;当字段特别多的时候,费时费力。此时可以使用json to go的这个在线工具,自动生成对应的Go结构体,方便而且不出错jsontogohttps://mholt.github.io/json-to-go/...

2022-02-10 17:25:05 863

原创 SMMS图床

简介SM.MS图床,可以用于保存图片;结合typora&picgo进行使用,相比于github更方便国内访问;个人免费额度是5G。注册填写用户名称,邮箱,密码;点击注册即可。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MTv6Fa1G-1644378368718)(https://s2.loli.net/2022/02/09/YEqWZN6goaQLXrD.png)]PicGo设置登录SM.MS,将生成的Token填到PicGo中即可补充由于每个

2022-02-09 11:46:54 5441 1

原创 chrome书签搜索

简介chrome浏览器中书签保存的越来越多,后续需要重新打开的时候,不一定记得清楚是在哪个目录;此时需要通过关键字进行搜索快速找出保存的网址插件Bookmark Search插件,也可以找类似功能的其他插件配置使用在chrome地址栏中,输入bm,然后空格或Tab键(对应chrome搜索引擎键盘快捷键);再输入查找关键字,即可从保存的书签中查找...

2022-02-09 10:21:04 1394

原创 win10开启wifi

简介笔记本电脑是win10电脑,可以开启wifi热点,供手机连接wifi上网使用。操作流程进入设置,点击网络和Internet打开与其他设备共享我的Internet连接,并设置wifi的名称和密码手机连接wifi[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsnFXtxU-1641439709224)(https://raw.githubusercontent.com/xiaofeng-zerone/pubimg/master/imagesima

2022-01-06 11:32:05 4021

原创 chrome headless截图

Headless ChromeHeadless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等。相比于出道较早的 PhantomJS,SlimerJS 等,Headless Chrome 则更加贴近浏览器环境。容器部署https://github.com/Zenika/alpine-chromedocker

2022-01-04 18:00:28 1621

原创 libvirt go使用

需求通常在云环境中,为了保证云平台中虚拟机的正常运行,基本都需要这样一个功能,就是收集虚拟机的监控数据,比如cpu的使用率、内存的使用率、磁盘io、网络io等基本信息。可以利用这些信息及时调整云平台环境中出现的一些问题,从而实现保证VM的正常运行。原理说到KVM管理工具,首先应该想到的就是libvirt,因为目前对KVM使用最为广泛的管理工具(应用程序接口)就是libvirt。Libvirt本身构建于一种抽象的概念上,它为受支持的虚拟机监控程序实现常用功能提供通用的API。Libvirt提供了操作KV

2022-01-04 17:37:40 2694

原创 图床使用环境搭建

通过typora + PicGo + github搭建图床

2022-01-01 17:41:12 276

原创 RCE利用和防护

RCE利用和防护

2021-03-29 11:22:01 888

原创 pclose() Segmentation fault

pclose函数使用注意

2021-03-16 10:44:00 523

原创 grpc调试工具grpcui安装使用

简介grpcui通过web的方式对grpc进行调试,类似于postman对http接口的调试。安装官网:https://github.com/fullstorydev/grpcuigo get github.com/fullstorydev/grpcuigo install github.com/fullstorydev/grpcui/cmd/grpcui苦于没有翻墙,所以没能一步到位,手动下载部分依赖,记录如下://安装go环境yum install gomkdir gopathex

2020-05-08 19:13:21 8004

原创 vscode在windows下golang开发环境搭建

git安装git官网:https://git-scm.com/Downloads-->Windows-->64-bit Git for Windows Setup下载后,双击安装文件,正常安装即可go安装go官网:https://golang.google.cn/Download go-->go1.12.13.windows-amd64.msi下载后,双击安装文件...

2019-11-17 23:02:32 380

原创 source insight 4.0 中文乱码解决

使用source insight 4.0打开工程后发现代码中文注释存在乱码,原因为源码文件的编码类型导致,解决办法如下:单文件File ---> Reload As Encoding ---> Chinese Simplified (GB2312) ---> Load 即可选择其他的Chinese Simplified 类型也行。项目文件step1: Ct...

2019-08-12 14:50:25 2197

原创 go和c混编

c主程序中调用go语言函数go语言函数调用c语言函数概述代码目录: [root@localhost test1]# tree . ├── a.out ├── foo.c ├── foo.h ├── libtest.h ├── libtest.so ├── main.c ├── main.go └── num.c编译: mv main.c ../ go bui...

2019-08-05 15:24:36 1369

原创 protobuf&grpc安装

下载安装protobuf&grpc的开发环境,用于C++开发服务端protobuf安装网址: https://github.com/protocolbuffers/protobuf/blob/master/src/README.md下载源码: https://github.com/protocolbuffers/protobuf/releases/latest编...

2019-08-05 14:28:28 1299

原创 c++和c混编

c主程序调用c++函数,如本示例中的init()。c++函数中又访问c中的变量,如本示例中的infoget(),访问了c中的变量a。c++函数中又访问c中的函数,如本示例中的testget(),调用了c中的geta()。概述示例代码目录:[root@localhost ccc]# tree.├── a.out├── build.sh├── foo.c├── foo.h├─...

2019-08-05 11:11:38 234

原创 c++主程序调用c函数

有时候需要在c++的主程序中调用c语言实现的函数,其实还是挺方便的。概述示例代码目录:[root@localhost candcxx]# tree.├── hello.c├── hello.h├── main└── main.cc编译命令:gcc -o main main.cc hello.c 执行测试:[root@localhost candcxx]# ./m...

2019-08-05 10:05:40 1380

原创 机器时钟实现高精度定时

Linux系统使用usleep()以及nanosleep(),受内核时钟频率的影响,如x86默认是100Hz,这样精度只能到0.01s,也就是10ms。timer_use.c/* According to POSIX.1-2001 */#include <sys/select.h>/* According to earlier standards */#include &l...

2019-05-15 11:56:32 333

原创 go语言之切片复制与追加

示例代码:package mainimport ( "fmt")func main() { // copy示例 // 创建一个新的更大的切片并把原分片的内容都拷贝过来 sl_from := []int{1, 2, 3} sl_to := make([]int, 10) n := copy(sl_to, sl_from) fmt.Println("num:", n, "it...

2019-05-06 14:25:49 1197

原创 go语言之切片内存结构

当相关数组还没有定义时,我们可以使用 make() 函数来创建一个切片,同时创建好相关数组slice1 := make([]type, len)orslice1 := make([]type, len, cap)// 使用make初始化切片test := make([]int, 2, 5)// 对应的内存结构test --> []int --> ptr | len(2...

2019-05-06 13:57:23 534

原创 go语言之闭包

代码示例package mainimport ( "fmt" "strings")func main() { // 匿名函数,不能够独立存在(编译器会返回错误:non-declaration statement outside function body) // 可以被赋值于某个变量,即保存函数的地址到变量中 // 然后通过变量名对函数进行调用 test := func(x...

2019-05-06 11:37:18 280

原创 go语言之回调函数

函数可以作为其它函数的参数进行传递,然后在其它函数内调用执行,一般称之为回调。代码示例:package mainimport "fmt"func main() { // 回调函数示例 // 使用函数Add作为函数AddOne的参数,然后在AddOne中对函数Add进行调用 y := AddOne(2, Add) fmt.Println("y:", y)}// 求和函数f...

2019-05-06 10:41:21 1511

原创 go语言之函数变参

介绍go语言中函数变参的使用方法示例代码如下package mainimport "fmt"// 求和,变长参数使用func sum(title string, nums ...int) { var sumValue int // 变长参数为切片类型 for _, num := range nums { sumValue += num } fmt.Println(ti...

2019-04-30 17:51:07 297

原创 go语言之sync.Map

简介go语言自带的map,不具备线程安全;所以为了实现线程安全,可以使用sync.Map具体示例见如下代码package mainimport ( "fmt" "sync")func main() { var testMap sync.Map // 获取a对应的键值应该失败 valueA,ok := testMap.Load("a") if ok { fmt.Pr...

2019-04-30 16:53:17 630

原创 go build ldflags

示例go build -ldflags "-w -s -X main.Version=${VERSION} -X main.Build=${BUILD}"解释-w 去掉DWARF调试信息,得到的程序就不能用gdb调试了。-s 去掉符号表,panic时候的stack trace就没有任何文件名/行号信息了,这个等价于普通C/C++程序被strip的效果,-X 设置包中的变量值...

2019-04-10 11:29:36 14757

原创 Go语言并发同步初体验

示例代码package mainimport ( "fmt" "sync")func sendMsg(msg_ch chan string, wg *sync.WaitGroup) { fmt.Println("sendMsg start") msg_ch <- "hello 1" //向通道中写数据 fmt.Println("sendMsg end") wg.Do...

2019-04-08 11:34:23 135

原创 docker下beego开发环境搭建

镜像制作编辑Dockerfile#base imageFROM golangMAINTAINER feng xiao xiaofeng1@chinaddos.com# ENV GOPATH /go# Install beego &amp; beeRUN go get github.com/astaxie/beegoRUN go get github.com/beego/bee...

2019-02-27 17:04:00 1944

原创 docker环境搭建

centos虚拟机安装官网下载镜像 https://www.centos.org/download/选择Minimal ISO http://ftp.sjtu.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso下载完成后镜像文件名 CentOS-7-x86_64-Minimal-181...

2019-02-27 15:37:10 250

原创 流量限速实现分析

功能需求对流量报文进行限速处理,一般表现为___Mbps,或者___秒___报文数等配置形式即在规定时间内最多通过阀值报文数,后续报文进行丢弃处理。实现逻辑当限速周期内,对报文进行统计计数更新和判断,若小于阀值则通过,若大于阀值则丢弃。当限制周期达到,对限速状态表进行重置。实现代码//报文限速typedef struct advrule_pkt_limit_s { s...

2019-02-25 18:51:13 2243

原创 GNS3环境搭建

安装GNS软件官网地址:https://www.gns3.com/点击free download,注册用户信息,下载文件为GNS3-2.1.11-all-in-one-regular.exe。下载成功后双击进行安装...下载路由镜像资源网址:https://drive.google.com/drive/folders/102jxZ9ECpe6ZFtXYdK_81iEVuuF...

2019-02-14 19:23:33 5216

原创 centos7 dpdk环境搭建

下载源码dpdk官网: https://www.dpdk.org/DPDK Core-&gt;Download-&gt;选择需要的版本进行源码下载安装依赖# yum install make# yum install gcc# yum install numactl-devel*x86_64 # yum install kernel-devel# modprobe uio...

2019-01-17 15:48:46 3316

原创 数据库主键和外键

**主键和外键:**从技术上来讲,主键约束只是唯一约束和非空约束的组合。CREATE TABLE products (product_no integer PRIMARY KEY, --字段 product_no 被定义为该表的唯一主键。name text,price numeric);和唯一性约束一样,主键可以同时作用于多个字段,形成联合主键:CREATE TABLE ex...

2018-12-03 11:55:20 450

原创 《黑客与画家》

在图书馆中无意看到这本《黑客与画家》,几天时间阅读下来,还是挺多感触的,书中提到的很多观点,解答了许多困扰我很长时间的疑惑。比如说价值: 解决人类有需求的问题,就是创造了价值。比如说金钱和财富: 你口袋里面没有钱,但是你可能很富有;因为钱的本质只是财富交易的一个媒介而已。 如何创造财富,最好的办法就是自己创业,或者加入创业公司,几百年来,这一直是致富的可靠途径。 创业公司其实就是解...

2018-12-03 11:38:37 1957

原创 Go语言之Map

定义 Map可以使用内建函数 make 也可以使用 map 关键字来定义 Map:/* 声明变量,默认 map 是 nil */var map_variable map[key_data_type]value_data_type/* 使用 make 函数 */map_variable := make(map[key_data_type]value_data_type)如果不初始化 m...

2018-11-30 16:42:32 611

原创 Go语言之切片

切片截取示例:package mainimport "fmt"func main() { /* 创建切片 */ numbers := []int{0,1,2,3,4,5,6,7,8} printSlice(numbers) /* 打印原始切片 */ fmt.Println("numbers ==", numbers) /* 打印子切片从索引1...

2018-11-30 16:21:23 390

原创 Go语言之函数方法

说明:Go 语言中同时有函数和方法。一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集。语法格式如下:func (variable_name variable_data_type) function_name() [return_type]{ /* 函数体*/}示例代码:package maini...

2018-11-30 15:53:16 227

原创 Go语言之匿名函数(闭包)使用

说明:匿名函数的优越性在于可以直接使用函数内的变量,不必申明示例代码1:package mainimport ("fmt""strings")func makeSuffix(suffix string) func(string) string { return func(name string) string { if strings.HasSuffix(name, su...

2018-11-30 15:39:41 560

原创 Go语言之iota使用

说明iota,特殊常量,可以认为是一个可以被编译器修改的常量。iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次。用法1package mainimport "fmt"func main() { const ( a = iota //0 ...

2018-11-30 14:48:30 838

原创 Go语言协程和无缓冲通道使用

示例代码:package mainimport ( "fmt" "time")func hello(channel_hello chan string) { fmt.Println("hello.") //确保hello打印输出 time.Sleep(1*time.Second) //发送数据到通道 channel_hello &lt;- "hello_channel...

2018-11-30 10:10:08 507

原创 beego开发环境搭建

开发大致为在centos下搭建编译环境,在windows7下使用goland工具编码,开展beego框架下的restapi开发。centos7的安装 在windows7下安装VM虚拟机工具软件 去centos7官网下载镜像后在VM中进行安装 安装完之后,设置网络能够连接外网,并通过yum安装常用的工具软件 设置VM共享文件夹来共享centos和windows之间的文件通信 ...

2018-10-03 13:40:54 1163

原创 linux下go和c有内存管理的共享内存通信

数据类型定义ctypes.h#ifndef _CTYPES_H#define _CTYPES_H#if 0#ifndef v_s8typedef signed char v_s8;#endif#ifndef v_u8typedef unsigned char v_u8;#endif#ifndef v_s16typedef signed short v_s16;#e...

2018-09-09 22:10:45 770

book of vim

当你掌握到一些基本的操作时候,是不是很想让自己变得更加犀利点,去知道一些更加高级的操作,这里是vim的一些提升书籍!

2012-04-13

空空如也

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

TA关注的人

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