- 博客(77)
- 资源 (2)
- 收藏
- 关注
原创 【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
145
原创 linux加载动态库
加载动态库,解决cannot open shared object file: No such file or directory
2021-12-01 15:23:37
1797
原创 【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
2775
原创 【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
230
原创 【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
919
原创 【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
626
原创 修改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
589
原创 2021-02-22 网关模式、网桥模式、旁路模式的区别
网关模式/网桥模式/旁路模式的区别如下:EG设备有三种工作模式:网关模式、网桥模式和旁路模式,比较常用的是网关模式和网桥模 式。网关模式是把设备当作网络出口,支持NAT和路由选路下报文转发的部署方式。 桥模式是把设备作为桥接,串接在内网核心交换机和外网网关出口之间的部署方式。桥 模式分成3种,分别为forward/sniffer/bypass。forward:可以对转发报文进行流量审计,应用识别,应用阻断,流量控制。sniffer:可以对转发报文进行应用识别,流量审计。bypass:
2021-02-22 11:07:16
2402
原创 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
527
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
211
原创 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
1404
原创 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
469
原创 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
165
原创 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
335
原创 【参考示例】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
311
原创 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
625
原创 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
247
原创 nginx或openresty如何隐藏版本号或者修改版本信息
1、在配置文件中配置server_tokens off;即可隐藏版本信息2、修改或者混淆版本信息例如:openresty就修改bundle/nginx-1.15.8/src/core/nginx.h
2020-05-09 17:53:04
4498
原创 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
45069
原创 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
1418
原创 退出码(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
3297
原创 tcp和udp整理
tcp和udptcp and udp TCP协议 UDP协议 可靠 保证数据包有序可靠 不可靠 不保证数据包有序可靠,尽最大努力交付,不保证不丢失,不保证按序到达 有重发机制 不负责重发 面向连接 面向无连接 ...
2019-08-13 00:33:53
122
原创 原子操作
1 原子性原子性是确保命令执行期间不可被打断,要么全部执行,要么根本不执行。2 原子操作原子操作即不可被中断的一个或一系列操作。3 原子操作接口(1)对整数进行操作(2)对单位的位进行操作atomic32_t用于加解锁问题...
2019-08-13 00:21:27
188
原创 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
771
原创 C语言编码整理之一
1、内存操作(1)释放内存操作释放内存并将指针置空#define FREE(ptr) if(NULL != ptr) \ free(ptr); \ ptr = NULL;(2)内存操作memcpymemsetmemmovemalloccallocmemc...
2019-04-01 01:29:08
335
原创 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
189
原创 大端和小端
(1)大端和小端大端模式:Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。低地址 --------------------> 高地址0x12 | 0x34 | 0x56 | 0x78小端模式:Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。低地址 -------------------...
2019-04-01 00:10:05
3931
原创 零拷贝技术之简述
DMA(direct Memory Acess 直接内存存取),避免或减少了CPU对数据的拷贝操作。事件驱动:即触发事件,调用可用资源,执行相关任务。
2019-01-27 22:25:27
181
原创 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
714
原创 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
1198
原创 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
145
23种设计模式 - 各种模式的学习
2018-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人