自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 2022-03-07 golang获取文件名、函数名、行数

golang获取文件名、函数名、行数

2022-03-07 11:55:03 1221

原创 2022-03-07 windows下DNS

DNS以及windows下添加DNS映射

2022-03-07 11:26:34 785

原创 【golang基础】概念整理和使用注意点

golang概念整理和使用注意点

2022-01-14 18:44:57 473 1

原创 【golang基础】channel的使用

channel的使用整理,创建、监听、释放

2022-01-13 16:32:28 720

原创 【golang基础】文件操作

创建文件,并写入内容后,关闭文件 f, err := os.Create("/root/test.txt") defer f.Close() if err != nil { fmt.Println( err.Error() ) } else { _, err=f.Write([]byte("打印的abc内容\n")) if err != nil { fmt.Println( err.Error() ) } }...

2022-01-13 16:14:34 121

原创 【golang基础】使用go获取终端软件窗口的长宽大小

Golang获取终端软件的窗口长宽大小

2021-12-28 18:25:34 1720

原创 【golang基础】golang环境变量

go语言环境变量

2021-12-08 17:48:54 804

原创 【linux基础】安装openresty

安装openresty

2021-12-07 10:05:59 577

原创 【golang基础】校验和计算

golang ipv4和ipv6计算校验和

2021-12-02 15:13:47 3571

原创 linux加载动态库

加载动态库,解决cannot open shared object file: No such file or directory

2021-12-01 15:23:37 1718

原创 【golang基础】net包:ipv4、ipv6、域名

判断输入的字符串是否符合ip格式以下代码不仅可用于ipv6,也同样适用于ipv4。package mainimport ( "net" "fmt")func main() { //ipv4 := "12.56.30.88" ipv6 := "fe80::7526:a2ae:a0b8:946d" var p_ipv6 *string = &ipv6 //使用指针 // ParseIP 这个方法 可以用来检查 ipv4/ipv6 地址是

2021-10-29 15:59:31 2475

原创 【golang基础】判定字符串为空、判断结构体是否已经初始化、两个结构体是否相等

判定字符串为空、判断结构体是否已经初始化、两个结构体是否相等

2021-10-28 18:49:58 2052

原创 【golang基础】数组的使用

数组的定义type NumStruct struct { min int value int max int}var Number = [2]NumStruct{ NumStruct{ 1, 2, 3, }, NumStruct{ 4, 5, 6, },}千万注意逗号的问题,不然编译不通过。数据的使用pack

2021-10-28 18:11:45 155

原创 【golang基础】time包时间戳的使用

package main import ( "fmt" "time")func main() { //当前时区时间-时间戳 fmt.Println("时间戳:", time.Now()) fmt.Println("时间戳(秒):", time.Now().Unix()) //获取秒的时间戳 fmt.Println("时间戳(毫秒):", time.Now().UnixNano() / 1e6) //获取秒的时间戳 fmt.Println("时

2021-10-28 15:16:24 838

原创 【golang基础】超时处理简单示例

1、select说明select 是 Go 中的一个控制结构,每个 case 必须是一个通信操作,要么是发送要么是接收。 select 随机执行一个可运行的 case。如果没有 case 可运行,它将阻塞,直到有 case 可运行。一个默认的子句(default:子句)应该总是可运行的。2、超时处理golang的select与channel配合使用进行超时处理。channel必须是有缓冲channel。select用于等待一个或者多个channel的输出。应用场景:主goroutine等

2021-09-16 18:25:03 576

原创 修改Bug7种解决方案的标注方法

1、修改Bug7种解决方案的标注方法By Design- 就是这么设计的,无效的Bug   Duplicate - 这个问题别人已经发现了,重复的Bug   External - 是个外部因素(比如浏览器、操作系统、其他第3方软件)造成的问题   Fixed - 问题被修理掉了。Tester要尽可能找到这种Bug   Not Repro - 无法复现你这个问题,无效的Bug   Postponed - 是个问题,但是目前不必修理了,推迟到以后再解   Won't Fix - 是个

2021-04-21 11:02:08 508

原创 2021-02-22 网关模式、网桥模式、旁路模式的区别

网关模式/网桥模式/旁路模式的区别如下:EG设备有三种工作模式:网关模式、网桥模式和旁路模式,比较常用的是网关模式和网桥模 式。网关模式是把设备当作网络出口,支持NAT和路由选路下报文转发的部署方式。 桥模式是把设备作为桥接,串接在内网核心交换机和外网网关出口之间的部署方式。桥 模式分成3种,分别为forward/sniffer/bypass。forward:可以对转发报文进行流量审计,应用识别,应用阻断,流量控制。sniffer:可以对转发报文进行应用识别,流量审计。bypass:

2021-02-22 11:07:16 2076

原创 2020-10-15 linux下ftp命令行的使用

[love@localhost x86_64-linux]$ ftp 192.168.1.1Connected to 192.168.1.1 (192.168.1.1).220 (vsFTPd 3.0.2)Name (192.168.1.1:love): love331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary ..

2021-02-03 17:31:33 450 2

原创 2020-12-25 C语言sscanf的用法

#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char str[100] = "adc"; //用法一:取指定长度的字符串 sscanf("12345","%4s",str); printf("用法一\nstr = %s\n",str); //用法二:格式化时间 int year,month,day,hour,minute,sec.

2020-12-25 15:55:32 183

原创 2020-12-25 C语言打印时间

#include<sys/time.h>#include<stdio.h>#include<time.h>#include<stdint.h> int main(){ struct timeval tv; gettimeofday(&tv,NULL);//获取1970-1-1到现在的时间结果保存到tv中 uint64_t sec=tv.tv_sec; uint64_t min.

2020-12-25 15:37:43 1373

原创 2020-12-23 C语言动态打开so库

#include <stdio.h>#include <dlfcn.h>int load_so(char* path, char* so){ //加载指定位置的so动态库 int ret = 100; int rate = 0; char so_path[128] = {'\0'}; snprintf(so_path, sizeof(so_path), "%s%s", path, so); printf("open so(%s) is .

2020-12-23 17:44:26 424

原创 2020-10-15 C语言字符串处理常见函数和处理逻辑

//字符串处理常见函数//内存清空void *memset(void *s, int ch, size_t n);//内存拷贝void *memcpy(void *destin, void *source, unsigned n);//读取文件中的一行char *fgets(char *str, int n, FILE *stream);//字符串写入文件中,如果是写入一行,需要在str后面加上换行符int fputs(const char *str, FILE *stream);.

2020-10-15 13:31:25 126

原创 ssl证书的使用说明

使用openssl命令导出.crtopenssl pkcs12 -in keystore.p12 -nokeys -out my_key_store.crt使用openssl命令导出.keyopenssl pkcs12 -in keystore.p12 -nocerts -nodes -out my_store.key使用openssl命令导出.csropenssl pkcs12 -in keystore.p12 -nokeys -out my_key_store.csr...

2020-09-23 20:53:37 295

原创 【参考示例】python识别文件编码格式

#!/usr/bin/python# -*- coding: UTF-8 -*-import sys, getopt, chardetdef main(argv): inputfile = '' try: opts, args = getopt.getopt(argv,"hf:",["file="]) #print 'error' except getopt.GetoptError: print 'file_check.py.

2020-09-22 18:03:31 278

原创 C语言时间转换的参考示例

#include <sys/time.h>1、int gettimeofday(struct timeval*tv, struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果:struct timezone{int tz_minuteswest;/*格林威治时间往西方的时差*/int tz_dsttime;/*DST 时间的修正方式*/}timezone 参数若不使用则传入NULL即可。而结构体timeval的定义为:s...

2020-09-22 17:31:48 554

原创 C语言文件操作的参考示例

FILE *fp = NULL; char line[1024] = {0}; fp = fopen("20200922_1622.csv", "r+"); if( NULL == fp ) { printf("Fail to open file!\n"); return 0; } do { memset(line, 0, sizeof(line)); line = ...

2020-09-22 16:25:40 209

原创 nginx或openresty如何隐藏版本号或者修改版本信息

1、在配置文件中配置server_tokens off;即可隐藏版本信息2、修改或者混淆版本信息例如:openresty就修改bundle/nginx-1.15.8/src/core/nginx.h

2020-05-09 17:53:04 4114

原创 linux使用命令查看MAC地址

MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。MAC地址则是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D就是一个MAC地址。具体如下图所示,其前3字节表示OUI(Organizationally Unique Identifier),是IEEE的注册管理机构给不同厂家分配的代码,区分不同的厂家。后3字节由厂家自行分配。在OSI模型中,第三层网络层负责IP地址,第二

2020-05-09 17:39:01 42505

原创 arp简说

ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。如果ARP高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加ARP路由。linux下常用的arp命令:# arp -n示例:[root@phy ~]# arp -nAddress HWtype HWaddress Flags Mask Iface172.18.32.76 ether 00:0c:29:5a:30:b6 C eth0若是使用:# arp .

2020-05-09 16:23:33 1334

原创 退出码(exit status,或exit code)的约定

退出码(exit status,或exit code)的约定:0表示成功(Zero - Success)非0表示失败(Non-Zero - Failure)2表示用法不当(Incorrect Usage)127表示命令没有找到(Command Not Found)126表示不是可执行的(Not an executable)>=128 信号产生...

2019-11-27 22:27:35 3076

原创 tcp和udp整理

tcp和udptcp and udp TCP协议 UDP协议 可靠 保证数据包有序可靠 不可靠 不保证数据包有序可靠,尽最大努力交付,不保证不丢失,不保证按序到达 有重发机制 不负责重发 面向连接 面向无连接 ...

2019-08-13 00:33:53 96

原创 原子操作

1 原子性原子性是确保命令执行期间不可被打断,要么全部执行,要么根本不执行。2 原子操作原子操作即不可被中断的一个或一系列操作。3 原子操作接口(1)对整数进行操作(2)对单位的位进行操作atomic32_t用于加解锁问题...

2019-08-13 00:21:27 157

原创 NTP

——NTP协议NTPv3:RFC1305NTPv4:RFC5905——时区(1)timedatectl set-timezoneChina Standard Time (CST), UTC +8timedatectl set-timezone 'Asia/Shanghai'timedatectl set-timezone CSTCoordinated Universa...

2019-08-13 00:09:39 693

原创 C语言编码整理之一

1、内存操作(1)释放内存操作释放内存并将指针置空#define FREE(ptr) if(NULL != ptr) \ free(ptr); \ ptr = NULL;(2)内存操作memcpymemsetmemmovemalloccallocmemc...

2019-04-01 01:29:08 285

原创 IP说明

IPv4:无符号32位整型数或者16字节的字符串#defineINET_ADDRSTRLEN16struct sockaddr_in adr_inet; /* AF_INET */IPv6:16字节的十六进制表示或46字节的字符串#defineINET6_ADDRSTRLEN46struct sockaddr_in6 {unsigned short intsi...

2019-04-01 01:03:39 156

原创 大端和小端

(1)大端和小端大端模式:Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。低地址 --------------------> 高地址0x12 | 0x34 | 0x56 | 0x78小端模式:Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。低地址 -------------------...

2019-04-01 00:10:05 3712

原创 零拷贝技术之简述

DMA(direct Memory Acess 直接内存存取),避免或减少了CPU对数据的拷贝操作。事件驱动:即触发事件,调用可用资源,执行相关任务。

2019-01-27 22:25:27 166

原创 windows和linux的区别

1、文件系统文件系统时OS用于磁盘或分区上的文件的方法和数据结构文件系统由三部分组成:(1)与文件管理相关的软件 (2)被管理的文件(3)实施文件管理所需的数据结构文件系统类型一般是:windows——ntfs、fat32等linux——ext2、ext3、ext4等2、32位与64位可移植性问题64位平台的数据模型:LP64(Unix) LLP64(windows)...

2019-01-27 22:17:12 669

原创 snmp

简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资料物件。1、snmp进程:#/bin/systemctl daemon-reload#/etc/rc.d/init.d/snmpd#pid=`pidof snmpd`#kill $pid2、s...

2019-01-27 20:52:46 1167

原创 docker

#systemctl start/status/restart docker.service导入镜像#docker import xxx centos:7创建容器#docker run --resatrt=always --device /dev/uio0 -it --privileged --name=test --network=host centos:7 /usr/sbin/...

2019-01-27 20:45:37 116

infobright.rar

mysql/mariadb 列式存储infobright软件包,包含infobright的源码包和rpm软件包

2020-05-09

23种设计模式 - 各种模式的学习

23种设计模式 目录 创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton(单例) 结构型 6. Adapter Class/Object(适配器) 7. Bridge(桥接) 8. Composite(组合) 9. Decorator(装饰) 10. Facade(外观) 11. Flyweight(享元) 12. Proxy(代理) 行为型 13. Interpreter(解释器) 14. Template Method(模板方法) 15. Chain of Responsibility(责任链) 16. Command(命令) 17. Iterator(迭代器) 18. Mediator(中介者) 19. Memento(备忘录) 20. Observer(观察者) 21. State(状态) 22. Strategy(策略) 23. Visitor(访问者)

2018-05-26

空空如也

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

TA关注的人

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