自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

单林敏的博客

www.wolfdan.cn

  • 博客(127)
  • 收藏
  • 关注

原创 linux常用命令以及常用知识库

查看服务端口的进程lsof -n -i :9092 | grep LISTEN# java 94330 root 99u IPv6 844902 0t0 TCP *:XmlIpcRegSvc (LISTEN)# 其实之前jps也发现 94330 运行着 kafka# 之后可以选择kill -9 94330...

2020-02-01 11:25:23 168

原创 我的vim使用技巧

ZZ保存退出,比按wq更快更舒服作为一个 vimer,Caps Lock 键根本就是多余的,而且在键盘中的位置根本不合理,一不小心就按到了 Caps Lock,然后就出错了。Esc 又是 vim 下使用最为频繁的按键,将Caps Lock替换成Esc真是再好不过了...

2020-02-01 11:20:59 142

原创 代码提交没有记录到github activity和contribute

最近发现自己一段时间提交的代码,都没有归类到github activity上,也没有在contribute图上显示,所以想搞清楚。自己是以前用的qq号的邮箱,后面用的qq邮箱的全英文的邮箱,所以把github主邮箱改了一下。

2022-10-01 13:21:20

原创 新版本的protoc使用grpc容易遇到的两个坑,gen gRPC,mustEmbedUnimplementedHelloServer

新版本的protoc使用grpc容易遇到的两个坑,gen gRPC,mustEmbedUnimplementedHelloServer--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPCcannot use HelloService (variable of type helloService) as type hello.HelloServer in arg

2022-09-18 17:34:24 68

原创 golangci-lint在vscode的使用,以及配置的一些探索

Go 语言自带套件为我们提供了静态代码分析工具 vet,它能用于检查 go 项目中可以通过编译但仍可能存在错误的代码。在维基百科是如下定义 lint 的:但是如果想要更多,就可以用golangci-lint。golangci-lint 是一个 linter 的集成框架。它集成了非常多的 linter,包括了上文提到的vet,合理使用它可以帮助我们更全面地分析与检查 Go 代码VScode配置golangci-lint VScode使用golangci-lint golangci-lint检测nil...

2022-06-15 20:00:15 638

原创 golang类型断言理解[go语言圣经]

Go 语言中的类型断言是什么?理解关键点是:首先,x.(T), x必然是一个接口,接口有3个属性具体类型的属性1. 接口动态类型2. 接口的动态值3. 接口的方法集合T取值:x取值:如果为nil,会panic,类型断言是一个使用在接口值上的操作。语法上它看起来像x.(T)被称为断言类型,这里x表示一个接口的类型和T表示一个类型。一个类型断言检查它操作对象的动态类...

2022-06-10 10:35:51 92

转载 【Golang】怎样优雅的清空切片

这是个有意思的问题,在此之前,博主从来没有考虑过这个问题,直到最近,终究还是与 清空切片 相遇了。场景是这样的:需要批量从influxdb中查询数据,这个批量查询的查询条件是通过遍历一个结构体切片的字段,不断append,为了避免一次查询量过大,影响查询效率。代码上做了如下处理:var queryIDs []int64for _,v:= range vList{ queryIDs=append(queryIDs,v.ID) if len(queryIDs)>50{

2022-05-18 19:52:39 1315

原创 VScode ssh免密登录设置

在本地机器生成密钥对(公钥+私钥)ssh-keygen -t rsa -b 2048 -C "email@example.com"将公钥内容复制到服务器的authorized_keys中# 本地机器cat ~/.ssh/id_rsa.pub# 连接到服务器# ssh xxx@xx.xx.xx.xx# 服务器vim ~/.ssh/authorized_keys# 将上面cat出来的内容,添加到authorized_keys中的新的一行编辑VScode remote-ssh的本地配置H

2022-05-16 19:40:21 311

原创 wsl安装的默认Ubuntu查看版本

# 进入wslwslfetch

2022-05-09 11:55:24 1678

原创 创建目录软链接却无法cd进入

ln -s go_learn ~/code/go_learnll ~/code/total 0lrwxrwxrwx 1 root root 9 May 7 18:51 go_learn -> go_learn/可以观察发现,这个软链接是链接到一个目录,但是自己却是一个文件,无法cd进去然后观察发现是go_learn/不是确定的路径所以就是ln的target需要使用绝对路径ln -s /mnt/c/Users/shanl/Documents/Code/go_learn ~/cod

2022-05-07 19:00:48 296

原创 The commit failed because it seems to introduce trailing whitespace

速览解决方案yum install dos2unixdos2unix filegit cm "[ADD] ..."原因分析以及解决使用samba共享代码,或者是windows创建的文件,上传到linux服务器上,然后进行代码提交这时候报错lib/pthreadpool/xxx.h:236: trailing whitespace.+lib/pthreadpool/xxx.h:237: trailing whitespace.+#endif //lib/pthreadpool/xxx.

2022-04-14 16:44:03 1378

原创 windows10安装双系统后,删除linux,开机进入grub怎么办

输入 “exit” 这四个英文字母,然后回车,就可以进入windows10win + q然后输入 cmd, 然后以管理员身份进入命令行输入 bootsect /nt60 C: /mbr ,把C盘作为第一引导,不用grub引导上面不行用下面这个操作:https://blog.csdn.net/qq_41609385/article/details/121611081...

2022-01-28 20:17:15 1455

原创 vscode的remote-ssh无法连接,服务端日志[ExtensionHostConnection] The client has reconnected

关闭服务端⚡ 01/24|19:34:39  20220119T105255 ps aux | grep vscoderoot 16092 0.0 0.0 9564 1324 ? S 1月19 0:00 sh /root/.vscode-server/bin/0ba0ca52957102ca3527cf479571617f0de6ed50/server.sh --host=127.0.0.1 --enable-remote-auto-shutdown --p

2022-01-24 19:39:50 545

原创 docker容器改静态ip

自己网上找了,没有明确的步骤只知道可以改配置,操作一把,成功systemctl stop dockerdocker info | grep "Docker Root Dir"vim ${docker_root}/containers/1b1xxxxx/config.v2.json (修改ip)systemctl start docker

2022-01-23 15:29:15 2052

原创 git pull无反应

现象git pull 半天没有反应检测$ git remote -vorigin git@xxx.org:YYY/samba.git (fetch)origin git@xxx.org:YYY/samba.git (push)$ ssh -T git@xxx.orgPermission denied (publickey).处理$ vim ~/.ssh/config$ cat ~/.ssh/configHost cs.devops.sangfor.orgUser gitHos

2022-01-11 11:53:29 1781

原创 日志输出流较佳实践[较佳实践]

总体实践#!/bin/python3# coding: utf-8import sysimport loggingfile_handler = logging.FileHandler(filename="./xxx.log")stdout_handler = logging.StreamHandler(sys.stdout)handlers = [file_handler, stdout_handler]logging.basicConfig( level=logging.I

2021-12-18 14:55:35 193

原创 python抛出异常的实践[较佳实践]

抛出异常的最佳实践以前我都是用方法一进行抛出异常,但是方法一看不到详细的堆栈,很不爽,所以还是用方法二比较爽# 方法一LOG.error("cwd '{}' error, ex: {}".format(dir_name, ex))# 方法二LOG.error("stor '{}' error.".format(file_to_upload), exc_info=1)方法一2021-12-07 16:47:47,648.648 17898:140560392476480 ERROR __ma

2021-12-12 14:54:44 296

原创 ftp支持ipv6

给linux客户端创建ipv6运行vi /etc/modprobe.d/disable_ipv6.conf(没有这个文件可以pass),将options ipv6 disable=1修改为options ipv6 disable=0 后保存退出。运行vi /etc/sysconfig/network,将NETWORKING_IPV6=no修改为NETWORKING_IPV6=yes后保存退出。运行vi /etc/sysctl.conf做如下修改:#net.ipv6.conf.all.disable

2021-12-12 14:49:51 1198

原创 查配置文件中配置项,不存在则添加

查配置文件中配置项,不存在则添加function update_rgw_supervisor_stopwaitsec() { # 更新rgw的supervisor配置文件中的stopwaitsec logmsg "update rgw supervisor stopwaitsec config" rgw_supervisor_conf="/root/ceph-rootfs/etc/supervisor/conf.d/radosgw_client.rgw.eds.conf"

2021-11-30 11:48:06 559

原创 iov数组中间加值

iovec的结构首先观察iovec的存储结构,就知道iovec数组一旦填充了值之后,就无法在iovec的base的尾部添加字符了因为这样会破坏后面的len,所以想要加值,就要重新生成一个iovec数组然后复制,或者是在尾部添加尾部添加演示#include <fcntl.h>#include <stdio.h>#include <string.h>#include <sys/stat.h>#include <sys/types.h>

2021-10-31 14:50:26 55

原创 找到文本中某个字符串的上下几行中的含有的其他指定字符串的方法

eg:找result文件中,compound的上面十行里有create的文本块,并且向下显示10行(-B向上,-A向下)grep compound_end result -B 10 | grep create -A 10

2021-10-31 14:49:03 48

原创 samba共享linux目录出来写代码【共享目录有严格格式限制才能成功】

samba共享linux目录出来写代码背景因为有时候不好用remote-ssh,用samba共享出来可能会方便一点操作下午搞了整整2个小时,网上的链接都不给力,按照那个配置来配置都失败了我的错误配置如下[lm-dev] comment = test path = /root/lm/code_share # ...搞了很久还是一直报错无法访问资源自己也根据windows报错在cmd执行了很多如下命令C:\>net use * /del /y #

2021-10-17 14:04:24 28

原创 s3cmd常用命令和使用技巧

常用命令配置s3cmd: s3cmd --configure创建bucket:s3cmd mb s3://bucket01查看bucket:s3cmd ls查看bucket存量信息:s3cmd du s3://bucket01查看bucket基本信息:s3cmd info s3://bucket01删除bucket:s3cmd rb s3://bucket01上传对象:s3cmd put 对象名 s3://bucket01获取bucket对象列表:s3cmd ls s3://bucket0

2021-10-10 13:49:50 2079

原创 删除小于指定大小的文件

# 这么默认单位好像不是 Bytes, 而是Block块 == 512Bytes,导致我误删了许多,心痛# https://blog.csdn.net/qingfengxd1/article/details/102861396find ./ -size -621 -name "*smb*" -exec rm {} \;-size N[ bcwkMG] 查找指定文件大小的文件,1字节c,2字节w,块(512字节)b千字节k,兆字节M,吉字节Gfind --help查看用法man find可以查到

2021-10-10 13:46:57 98

原创 自己提交代码的几点教训

在工作中,如果要和别人协作提交代码,而且不方便改.gitignore的情况下,提交代码的时候要十分小心下面是自己的两次惨痛教训大工程不要直接git add -A有时候有许多的修改内容的时候,可能一个个提交比较麻烦,所以git add -A很方便但是这个操作容易在忘记git status检查的时候,把大量的编译文件,或者无关的文件提交到代码仓库这样会对别人造成很大的不方便,严重的时候会导致一段时间内整个分支无法继续使用编译出错的修复记得也要提交有时候工作很多打断的时候,比如老是有人找你的时候,你

2021-09-25 21:56:41 22

原创 脚本生成多个指定大小的随机文件

批量生成指定大小的文件#!/bin/bash## 设置批量文件名格式fmt=output.%05d## 把文件生成到指定的目录cd lmfor i in $(seq 1 3)do## 通过head指定多少 K,多少M,多少G 的指定的大小的文件 head -c 512K /dev/urandom > `printf $fmt $i`done提示: windows端可以通过git shell来执行这个脚本...

2021-09-19 14:56:45 214

原创 yum报错网络不可达,但是配置的网络能够ping通

报错Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was14: curl#7 - "Failed to connect to 2a05:d012:8b5:6503:9efb:5cad:348f:e826: Network is unreachable"Could not retrieve mirro

2021-09-04 09:25:31 1898

原创 安装git 2.x遇到undefined reference to `libiconv‘

安装git 2.x遇到undefined reference to `libiconv’可能遇到报错:utf8.c:463: undefined reference to `libiconv’ LINK git-credential-storelibgit.a(utf8.o): In function `reencode_string_iconv':/usr/src/git-2.8.3/utf8.c:463: undefined reference to `libiconv'libgit.a(ut

2021-08-22 13:22:40 205

原创 snprintf返回值判断-返回值深入实践分析

snprintf返回值判断-返回值深入实践分析#include <stdio.h> int main(){ char dest[50]; char* args = "wolfdan.cn"; int size = 15; int ret; // len(args) < size 情况 printf("写入args的长度为: %d, size 为 %d (args.len < size)\n", strlen(args), s

2021-08-10 17:17:55 457

原创 字符拼接数字[最佳实践]

字符拼接数字在多进程环境中,防止多线程读写同一个文件,所以往往会加pid来分别写不同文件,防止错乱然后sprintf一般在项目中会宏定义成不要使用#define sprintf __ERROR__XX__NEVER_USE_SPRINTF__;所以最佳方法就是用snprintfchar *tmp_file_path = "some path";int INT_MAX_LEN = 10;int SPLIT_CHAR_LEN = 1;int pid = getpid();int file_p

2021-08-10 17:17:00 59

原创 python变量是否在类中-普通常规类也可以判断

枚举类如果是枚举类型,那很简单#!/bin/python3# coding: utf-8from enum import Enumclass Color(Enum): # 为序列值指定value值 red = 1 green = 2 blue = 3red = 1print(red in Color)# Falsetest_color = Color.redprint(test_color in Color)# True#调用枚举成员的 3 种方

2021-08-05 10:46:48 325

原创 python去除字符串左边指定子字符串

# ex: smb2_op_query_directory处理成为query_directory# 把前缀替换掉1次str_smb2_opcode[index].replace('smb2_op_', '', 1)

2021-07-23 17:22:24 255

原创 美化zsh,以及配置时间戳显示

下载zsh并修改为agnostervim ~/.zshrcZSH_THEME="robbyrussell"的脚本,把它替换成ZSH_THEME=“agnoster”下载安装修改配置⚡ 07/22|16:31:00  smb_op_tools   EDS3.0.5R7-lm-dev-2 cat ~/.oh-my-zsh/themes/agnoster.zsh-theme# vim:ft=zsh ts=2 sw=2 sts=2## agnoster's Theme - https://g

2021-07-22 16:46:23 374

原创 Python表格输出长数据自动换行[最佳实践]

解析用到PrettyTable来打印表格然后用到textwrap来处理自动换行注意事项如果是字典类型(或者其他类型),需要先 str(your_dict) , 然后再填入fill, 不然width不生效代码演示#!/bin/python3# coding: utf-8import prettytablefrom textwrap import fillfrom prettytable import ALL as ALLitems_table = prettytable.PrettyTa

2021-07-16 17:46:00 1450 1

原创 CVAL,PVAL,SVAL宏定义

常规使用// smb 开源代码flags = IVAL(inhdr, SMB2_HDR_FLAGS);opcode = SVAL(inhdr, SMB2_HDR_OPCODE);源码中解释https://github.com/samba-team/samba/blob/master/lib/util/byteorder.h/* Unix SMB/CIFS implementation. SMB Byte handling Copyright (C) Andrew Tridg

2021-06-22 17:47:22 225

原创 Django显示进度条(超详细教学,有问有答)

意义进度条在后台程序长时间处理时具有极大的意义给用户及时的反馈,防止用户以为卡住而反复刷新重发请求让用户良好地预估工作完成时间需要的一些知识Django结构知识Html,jQuery,JavaScript,BootStrap的一些简单的知识当然以上都可以在菜鸟教程很快获取操作页面/模板cut/template/cut/project.html设置按键,并在按键处理函数中GET show_process的请求(注意修改成自己的路由用 当前处理的秒数 除以 百分比,算一个总时间

2021-05-23 14:12:30 2066 4

原创 FFmpeg合成视频

~ # ls avi2mp4.mp4 家有儿女2.mp4filelist.txt 家有儿女3.mp4test_result.avi 家有儿女4.mp4家有儿女1.mp4 我是钢铁侠-东

2021-05-18 15:14:21 43

原创 opencv保存视频,并在web端展示视频

难点这个问题有几个难点opencv保存视频能否播放web端能否显示视频自己研究这个问题研究了整整三天,现在对以上难点进行一一解答opencv保存视频能否播放我找到的比较多的例子都是如下这样的fps = self.video_stream.get(cv2.CAP_PROP_FPS)size = (int(self.video_stream.get(cv2.CAP_PROP_FRAME_WIDTH)), int(self.video_stream.get(cv2.CAP_P

2021-05-08 18:57:09 665 4

原创 如何把视频转化成H264编码web端可播放的MP4格式,安装带H264编码的FFmpeg_Unknown encoder ‘h264‘

没安装前## 没安装前[root@lm media]# ffmpeg -codecs | grep h264ffmpeg version 3.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44) configuration: --prefix=/usr/local/ffmpeg libavutil 55. 27.100 / 55.

2021-05-08 18:37:51 924

原创 Django如何创建一个文件并将其保存到模型的FileField中

Django如何创建一个文件并将其保存到模型的FileField中model定义class Result(models.Model): name = models.CharField(max_length=100) file = models.FileField(max_length=255) project_name = models.CharField(max_length=100, default='未命名工程') # 视频封面,容许为空 cover = m

2021-05-02 15:20:10 1241

空空如也

空空如也

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

TA关注的人

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