- 博客(146)
- 资源 (6)
- 收藏
- 关注
原创 chrome Driver 使用教程
ChromeDriver是一款实用的chrome浏览器驱动工具,能够用于自动化测试、网络爬虫和操作浏览器,其主要作用是模拟浏览器操作。
2023-10-18 17:10:24
1665
原创 性能监控工具--SignNoz
SignNoz是一个开源应用性能监控(APM)和可观测性工具,它帮助开发人员监控他们的应用程序和解决问题,是DataDog、NewRelic等的开源替代品。SigNoz帮助开发人员监控应用并排查已部署应用中的问题。SigNoz使用分布式跟踪来增加软件技术栈的可见性。监视你的应用,并可排查已部署应用中的问题,这是一个开源的可替代DataDog、NewRelic的方案。
2023-06-26 17:34:40
315
原创 Go语言:运行报错cannot load ... malformed module path “...“: missing dot in first path element解决办法
golang mod 包管理,报错了。。。
2022-10-12 14:18:02
11903
原创 python ssl登录并执行命令
import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect('ip', port, 'username', 'password')stdin, stdout, stderr = ssh.exec_command('df')print(std...
2018-07-04 16:11:45
1138
原创 磁盘分区并挂载
划分磁盘fdisk /dev/vdb 格式化磁盘mkfs.ext4 /dev/vdb挂载在文件系统上mount -t ext4 /dev/vdb /data1/查看磁盘UUID[root@i-5dyv4a0b1lbjdkcybz76rq1yo ~]# blkid /dev/vda1: UUID="976105f5-f402-456c-aadd-50de49ff88f9" TYPE="ext4" ...
2018-07-04 16:03:33
347
原创 golang使用总结
1.go 具有"面向接口的编程"的基因,所有的函数调用均用接口的形式实现.比如说,struct 实现了read方法,但是调用readfull, readall, ...等函数返回的效果,和具体的调用接口定义有关.2. golang解析json报错:invalid character '\x00' after top-level value把接收的字符直接排列报错,传入了00d的字符正确的姿势,传入...
2018-07-04 15:52:32
2520
原创 iptabls 总结
四表五链四表:filter , nat, manager, raw五链: 五个HOOK点的链接,pre_rout, foward, post_rout, in ,out问题:内核如何匹配,内核使能iptable 命令转换,和内核交互libiptc库和内核交互最终是转换到hook点的处理函数上来.match模块被添加到系统的链表中当iptables 调用命令,会把这个过滤规则添加到过滤表中.在每个...
2018-07-04 15:49:46
398
原创 golang flag
golang flag1.命令行参数获取:命令行获得可通过os.Args参数, Args在os中定义为:var Args []string官方解释:Args hold the command-line arguments, starting with the program name.2.命令行解析golang 对命令行解析提供了flag包,按照功能可以分为以下三类
2018-01-21 22:32:05
3087
原创 网络基础知识梳理
网络数据包的发送:1.ip层封装ip包:2. 链路层查看MAC目的地址:先做本地路由,查看路由表看是否属于同一个子网.在同一个子网,通过ARP设置同子网设备的MAC地址.如果不再同一个子网填写网关的MAC地址.3.查看MAC地址利用arp协议总结:整个路由过程中数据包中的IP层中的数据信息不变, MAC层根据ip设置目的的MAC地址,根据发送主机设置源MAC地址.
2017-12-23 09:41:58
387
原创 expected unqualified-id before '(' token
编译c++的工程,引用头文件, 报错:expected unqualified-id before '(' token扯淡的问题,害了我浪费好长时间最终发现,和cpp中调用, 头文件的调用顺序有关系, 之前队友的代码头文件调用关系混乱,经过梳理头文件的调用顺序,此问题解决.这个问题的解决办法就是:梳理头文件的调用顺序,避免一个头文件被多次引用
2017-12-15 10:39:56
85503
原创 YouCompleteMe 支持 golang vim 自动补全
进入YouCompleteMe目录并执行:更新代码cd ~/.vim/bundle/YouCompleteMegit clean -fgit pullgit submodule update --recursive --init支持golang:/.vim/bundle/YouCompleteMe$ ../install.sh --clang-completer -
2017-11-01 11:12:44
9069
转载 shell 括号总结
一、小括号,圆括号()1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放
2017-09-21 20:55:46
373
原创 golang chanel
golang 中的chanel用于多个goroutines之间的通信,相当于linux中的阻塞的管道操作,可以配置为具有只读只写的属性:只读:只写:ch创建chan时,可以指定管道的单位和缓冲区的大小。具体参见下面代码: package main
2017-09-15 00:23:15
959
原创 golang http 实例
package mainimport ("fmt""io/ioutil""net/http""net/url""strings")func httpGet() {resp, err := http.Get("http://www.01happy.com/demo/accept.php?id=1")if err != nil {// handle error}defer resp.Body.
2017-09-13 13:40:40
629
转载 vim go
go语言没有如source insight般优秀的编辑器,试用了多种,vim算最好的,其次可以用liteide(有反查变量函数引用点、修改行变色功能),两者可配合使用。下面是一步步搭建vim go语言编辑环境的过程。ubuntu为例,前提:go开发环境配置好、git安装好。 安装 Pathogen前往http://www.vim.org/script
2017-06-23 14:04:16
1601
转载 vim ag ack
Ag (The Silver Searcher)和 Ack 都是CLI的全局搜索工具,其中Ag更快一些,而Ack也比Vim自带的grep快很多。这些工具的Vim插件可以通过Vim Quickfix窗口来提供代码搜索的结果。 本文便来详细介绍如何在Vim中使用Ag全局搜索。那么什么是Quickfix窗口呢? Quickfix 是Vim的一个特殊编辑模式,该模式的提出最初是受启发于Azte
2017-06-23 14:03:10
3333
原创 xxxx is deprecated
编译工程发现json_object_object_get is deprecated。最终解决,jason-c库中有声明,@deprecated Please use json_object_object_get_ex。json-c库编译的时候,设定了编译警告的声明,当调用不推荐使用的函数的时候,就会出现此警告。把函数修改为json_object_object_get_ex警告消失。
2017-06-02 18:24:09
11478
转载 判断exec是否执行成功的思路
The problem with handling exec failure is that usually exec is performed in a child process, and you want to do the error handling in the parent process. But you can't just exit(errno) because (1)
2017-04-11 11:45:35
2692
原创 gdb查看ip_addr
GDB调用函数,查看struct in_addr转换为字符串的形式.(gdb) p net_ch.addr$2 = {s_addr = 33559980}(gdb) p net_ch.bcast$3 = {s_addr = 4294907308}(gdb) p net_ch.addr$4 = {s_addr = 33559980}(gdb) p net_ch.gatew
2017-03-24 14:10:45
1352
转载 wireshark 规则
Wireshark 基本语法,基本使用方法,及包过虑规则:1.过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IPlinux上运行的wireshark图形窗口截图示例,
2017-03-10 17:36:16
389
转载 open O_CLOEXEC标志
Linux中,文件描述符有一个属性:CLOEXEC,即当调用exec()函数成功后,文件描述符会自动关闭。在以往的内核版本(2.6.23以前)中,需要调用 fcntl(fd, F_SETFD, FD_CLOEXEC) 来设置这个属性。而新版本(2.6.23开始)中,可以在调用open函数的时候,通过 flags 参数设置 CLOEXEC 功能,如 open(filename, O_CLOEXE
2017-02-22 14:16:32
935
转载 ubuntu tftp 安装
1. sudo apt-get install tftpd tftp openbsd-inetd2. sudo vi /etc/inetd.conf#:BOOT: TFTP service is provided primarily for booting. Most sites# run this only on machines acting as "boot ser
2017-02-09 19:44:27
422
转载 chroot exec
1. chroot: 在指定的root目录运行命令参考"info root"中的例子,我把/bin/ls拷贝至~/myroot后,运行"$ sudo chroot ~/myroot /ls -Rl /", 结果得到下面的错误结果:“chroot: cannot run command `/ls': No such file or directory”.事实上,"info roo
2017-02-08 19:59:40
923
原创 ubuntu16.04 vim-gnome
今天重装系统安装VIM,发现系统和vim之间的剪切板不能用了。网上说ubuntu默认的vim不带系统剪切板交互的功能。需要安装vim-gnome。但是在安装的过程中出现以下的问题:Do you want to continue? [Y/n] yWARNING: The following packages cannot be authenticated! librub
2017-01-19 15:24:00
7705
原创 cmaptools 不支持中文格式
今天安装了UBUNTU下的画图工具cmaptools,感觉挺好用的,但是输入中文的时候就变为框框了.就因为这个事情就放弃了这呒好用的软件,岂不是一个老鼠坏锅汤.因此必须清除这个老鼠.究其问题的根源,还是系统缺少支持该显示的字体.解决问题的过程中:1. ubuntu 字体管理软件 font-manager安装方法:sudo apt-get install fon
2016-12-27 20:27:46
3398
1
转载 pythone pdb
在python中使用pdb模块可以进行调试import pdbpdb.set_trace()也可以使用python -m pdb mysqcript.py这样的方式(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助(Pdb) h 说明下这几个关键 命令>断点设置 (Pdb)b 10 #断点设置在本py的第10行 或(Pdb
2016-12-25 12:01:22
477
原创 库文件存,ld报错找不到
项目中遇到一个问题,库是已经编译好的库,用-L选项,编译缺提示找不到库文件,如下:not found (try using -rpath or -rpath-link)在网络上找到答案,感谢万能的google:When you see the following kind of errors during cross compilation (linking phase):ld
2016-12-21 18:24:44
3311
原创 stack smashing detected,程序段错误
今天在写程序的时候,突然出现"stack smashing detected"的错误.用经常用的调试方法,GDB,语句输出等均不能定位问题的出处.先说解决方案:出现这个问题的原因是:在程序函数中,数组越界访问,在程序运行时没出现问题,但当函数return的时候就会出现上面的错误.解决办法是:gdb, where命令定位到出错的函数,然后检查函数中数组的长度,使其满足程序的要求.参考
2016-12-15 16:47:05
55220
2
原创 git 操作
移除远程ssh方式的仓库地址git remote rm origin增加https远程仓库地址git remote add origin http://yourname:password@git.oschina.net/name/project.git
2016-12-08 23:31:56
540
转载 gcc同时连接静态和动态库
GCC默认的选项,在连接连接库时,默认的采用动态连接。如果采用静态连接需要添加-static参数,但是这个参数对整个GCC连接命令同时有效,即指定的库全部采用静态连接的方式。如何同时同时使用动态和静态库链接,在GCC指令参数中具体参数如下: -Wl,-Bstatic -L/usr/local/sqlite-arm-linux/.libs -lsqlite -Wl,-Bdynamic
2016-12-06 17:58:10
1896
原创 libcurl错误
1. /usr/local/lib/libcurl.so.4: no version information available系统中自带了libcurl,但是自己安装了libcurl就会出现内容冲突,导致错误。把自己安装的libcurl卸载问题解决。但通过LDD命令明显可以看出执行文件链接的是自己指定的库,但是还是出现了上面的问题。至于为什么如何,以后再深究,解决问题先。LDD命
2016-12-01 14:00:04
1586
原创 CMAKE error
今天的CMAKE中出现下面的错误:CMake Error at CMakeLists.txt:19 (TARGET_LINK_LIBRARIES): Cannot specify link libraries for target "netdetect" which is not built by this project.答案: 要将 ADD_EXECUTABLE的声明放
2016-12-01 13:27:13
2178
原创 cmake 出错
cmkae本来用的好好的,今天突然出现以下的错误;Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!原来的工程也不能用了,是cmake 出了问题。解决方案:下载最新版的cmke:点击打开链接t
2016-11-05 23:43:01
2743
UNIX 环境高级编程
2009-08-21
IP地址管理与子网划分
2009-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人