自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 解决macos 安装MySQL-python报错

解决macos 安装MySQL-python报错记录一次macos 安装MySQL-python报错1. my_config.h not found解决方案2. library not found for -lssl 解决方案记录一次macos 安装MySQL-python报错同事说自己安装MySQL-python报错误,结果我自己试了试也是一样,本次安装总共遇到两个错误:_mysql.c:44:10: fatal error: ‘my_config.h’ file not found 和 ld: li

2021-10-21 14:49:08 1252

原创 Ubuntu 20.04 LTS 逻辑分区(LVM)扩容

安装完ubuntu 20.04 系统后,发现分配的100G磁盘,在系统中只有50G左右,这个问题在ubuntu Release Notes 中有提及LVM Entire Disk option does not use entire disk (1785321)执行df -h 查看磁盘使用情况df -h2. 执行命令lvdisplay查看系统逻辑分区信息lvdisplay3. 使用 fdisk -l 命令查看磁盘信息,发现/dev/sda3 磁盘大小远大于逻辑分区的49.5G,所以

2021-10-16 00:24:30 1542

原创 golang docker api ContainerCreate

// CreateContainer create containerfunc CreateContainer(containerName, image, workDir string, cmd []string, volumes map[string]string, srcPort string) string { // 文件挂载 m := make([]mount.Mount, 0, len(volumes)) for k, v := range volumes { m = append(.

2021-07-02 17:04:19 998

原创 docker 镜像瘦身

FROM golang:1.16.3-alpine as builderWORKDIR /opt/app/COPY ./rfserver ./RUN CGO_ENABLED=0 go build -o report_server -ldflags "-s -w"FROM alpine:3.13.4WORKDIR /appCOPY Shanghai /etc/localtimeCOPY --from=builder /opt/app/report_server /app/COPY ./r.

2021-07-02 15:52:30 154

原创 docker 打包centos 系统,创建镜像

docker 打包centos 系统,创建docker 镜像1.压缩系统相关目录,保留关键库,排查不需要的文件tar -zcvf /var/tmp/mycentos.tar.gz --exclude=/boot/* --exclude=/proc/* --exclude=/dev/* --exclude=/sys/* --exclude=/home/* --exclude=/var/lib/* --exclude=/lib/modules/* --exclude=/var/cache/* --e

2021-06-22 15:17:48 505

原创 python

python 命令行传参,argparse 使用import argparseparser = argparse.ArgumentParser()parser.add_argument('--test', default="True", type=str, nargs='?', help='run test [default: True]')parser.add_argument

2021-06-21 10:09:32 55

原创 python requests maximum recursion depth exceeded while calling a Python object

python requests maximum recursion depth exceeded while calling a Python object问题:不应该对ssl 打补丁原代码from gevent import monkeymonkey.patch_all()import urllib3urllib3.disable_warnings()import requests修复后:from gevent import monkeymonkey.patch_all(ssl=Fa

2021-06-15 20:21:14 1389 2

原创 golang 非对称加密应用

golang rsa 操作秘钥创建管理,消息加密解密package commonimport ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "errors" "github.com/sirupsen/logrus")func logger() *conf.GLogger { return conf.GetLogger()}// RSAKey rsa keytype RSAKey struct { pu

2021-06-15 19:56:21 170

原创 beyond-compare 命令行工具

beyond compare 命令行对比文件,目录1. 文件对比命令"D:\Software\beyond compare\Beyond Compare\BCompare.exe" /slient @text_file.txt a.txt b.txt my_report.htmlbat脚本fileScript = `log verbose append:"%s"text-report layout:side-by-side & options:ignore-unimportant

2021-06-15 19:38:56 2185

原创 python setup.py 打包非py文件,并安装到python 库中

python setup.py 打包非py文件,并安装到python 库中使用python setup.py打包py库,同时需要包含非py文件示例项目:将mylib/doc 目录下的文件打包,并可以正常安装到site-packages 目录下解决方案:在MAINDEST.in 文件中加入:“recursive-include mylib/doc *.html“ , 并且在setup.py 中设置: install_package_data=True。注意:如果在MANIFEST.in 文件中加

2021-04-29 11:49:29 1580 3

原创 优雅的停止golang 应用

让golang 应用慢慢的死去通过信号处理,让golang 应用优雅的退出。package mainimport ( "context" "fmt" "net/http" "os" "os/signal" "time" "github.com/gin-gonic/gin")func main() { gin.SetMode(gin.ReleaseMode) engine := gin.New() engine.Use(gin.Logger()) engine.Use

2020-12-31 11:45:01 156

原创 ubuntu18.04 server 配置iptables

ubuntu18.04 server 配置iptables编辑文件 /etc/iptables.rulesvi /etc/iptables.rules# Firewall configuration written by system-config-firewall# # Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT

2020-10-09 19:08:13 1298

原创 python3 base64 url docode 报错: binascii.Error: Incorrect padding

python3 base64 url docode 报错: binascii.Error: Incorrect padding使用golang 对url进行base64 编码,然后用python3 代码对编码结果进行解码,python 代码抛出一下异常, 经过分析和查询文档得知,由于base64编码结果必须是4的整数倍,缺少的字符可以用"="填充,最少填充一个,最多填充三个即可,填充方法:s += b’=’ * (-len(s)%4)1. 错误信息Traceback (most recent cal

2020-09-30 17:10:57 1420

原创 vscode配置远程离线开发环境

手动配置vscode linux远程开发环境windwos系统 vscode 上安装 remote ssh 插件生成秘钥对ssh-keygen -t rsa -b 4096 (-b 4096表示生成的rsa秘钥对的长度是4096个bit) 在输入这个指令后,会让我们指定秘钥文件的生成目录和名称下一步是输入密码 //PS:此处最好不输入密码,直接回车(否则VS Code 以后每次远程连接时,都需要输入此密码)最后会得到两个文件,以默认路径为例,会生成 id-rsa和id-rsa.pu

2020-09-24 17:12:15 1640 1

原创 ubuntu server 18.04 启用root账户自动登录

新安装Ubuntu server 18.04 后,不能使用root账户进行ssh登录解决方案设置root用户密码sudo passwd root修改文件 usr/share/lightdm/lightdm.conf.d/50-ubuntu.confsudo vi usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf#手工输入登陆系统的用户名和密码greeter-show-manual-login=true#禁用guest用户all-

2020-09-24 16:02:18 1789

原创 jenkins 设置时区

问题描述:jenkins 执行构建后,发现输出日志的时间和当前时间不匹配,原因是时区不对解决方案:打开jenkins的【系统管理】–> 【脚本命令行】,在命令框中输入以下命令【时间时区设为 亚洲上海】:System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')...

2020-09-02 09:30:34 616

原创 linux 查看cpu信息

cpu和core的信息都在/proc/cpuinfo文件中:查物理CPU的个数#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 查逻辑CPU的个数#cat /proc/cpuinfo |grep "processor"|wc -l 查CPU的主频#cat /proc/cpuinfo |grep MHz|uniq查CPU核数量:#cat /proc/cpuinfo |grep "cores"|uniq .

2020-09-02 09:20:32 94 1

原创 linux 下磁盘挂载,永久生效

linux 下磁盘挂载,永久生效1. 查看分区fdisk -l2. 格式化分区mkfs.xfs -f /dev/sdb3. 创建要挂载的目录mkdir /data4. 将分区挂载到 /data/mount /dev/sdb /data/5. 设置系统启动自动挂载, 不设置的话系统重启后挂载失效vim /etc/fstab /dev/sdb /data xfs defaults 0 0...

2020-06-24 09:33:09 2543

原创 python zipfile 压缩目录

Python3 zipfile 压缩目录,去除绝对路径,保留空目录def ZIPData(path): dest = os.path.join(os.path.split(path)[0], '%s.zip'%(os.path.basename(path))) empty_dirs = [] lenDirPath = len(os.path.split(path)[0])...

2020-01-03 20:32:46 418

原创 linux/macosx/windows 使用 shell/bat 脚本,自动安装python3,创建python 虚拟环境

Linux/Windows下使用shell/bat脚本安装python3WindowsLinux/macosxWindows在windows下, 使用静默模式安装python3.7, 部署python3.7 virtualenv 环境。start.bat, 目前脚本有个bug, 在调用python_install.bat脚本的时候, 不会等此脚本里的所有程序跑完, 经过多次验证,在创建虚拟环...

2019-10-19 11:56:16 1484

原创 Python调用C动态库,出现段错误Segmentation fault (core dumped)

可能原因:未指定被调用接口参数类型尝试解决方案:调用C API: int add(int a, int b)在python代码中指定被调用接口参数类型, 返回值类型#指定调用接口的参数类型列表api.add.argtypes = [c_int, c_int]#指定调用接口的返回值类型api.add.restype = c_int...

2019-06-10 12:44:23 3610

原创 __main__.PyInstallerImportError: Failed to load dynlib/dll

windows Pyinstaller 打包python程序,执行出现error:main_.PyInstallerImportError: Failed to load dynlib/dll:错误信息如下:解决方案在用vs编译动态库时,在属性–>连接器–>输入–>附加依赖项中添加下面四个静态库,重新编译动态库:msvcrt.libmsvcmrt.libcrypt3...

2019-04-30 11:09:03 7437 14

原创 python调用动态库

示例#-*- coding:utf-8 -*-from ctypes import *import sysapi = Noneif sys.platform == "win32": api = CDLL("adddll.dll")else: api = CDLL("libadddll.so")#指定调用接口的参数类型列表api.add.argtypes = [c_...

2019-04-13 21:47:26 508

原创 golang 基础知识点

1.Go 在执行main 函数之前会先执行 init 函数2. go import 某个包使用下划线,例如:import ( "fmt" "log" "os" _ "../sample/matchers"//一般不提倡相对路径导入 // "./search") Go 语言的每个代码文件都属于一个包, main.go 也不例外, 此处matche...

2019-04-13 21:33:33 540

原创 c/c++导出动态库Makefile

示例$(CXX) = g++$(CC) = gccCOMPILE_FLAGS := -fPIC -O2 -Wall -Wextra -sharedINCLUDES := -I.OBJECTS := *.oSRC_kgsl := ./kgsrc/# .PHONY: default_target# default_target: releaseobjects = Test_Enc...

2019-04-13 21:17:44 315

原创 c/c++导出动态库

跨平台定义,windows平台需要引入头文件#include <sdkddkver.h>//windows 平台必须定义头文件#include <Windows.h>示例代码:add.h#ifndef _ADD_H_#define _ADD_H_#ifdef _WIN64#include <sdkddkver.h>//windows 平台必须定...

2019-04-13 21:03:07 2313

原创 linux复制文件描述符

方法:1. 调用 dup(fd); 等效于fcnt1(fd, F_DUPFD, 0);2. 调用 dup2(fd, fd2);等效于close(fd2)fcnt1(fd, F_DUPFD, fd2);在第二种情况下,dup2并不完全等同于close加上fcnt1, 区别如下:(1)dup2 是一个原子操作, 而close 和 fcnt1 包括两个函数调用。 有可能在 close...

2019-04-13 16:52:38 319

原创 容器内根据时间戳转换为本地时间失败

案例:package mainimport ( "fmt" "strconv" "time")func main() { loc, _ := time.LoadLocation("Asia/Shanghai") Layout := "2006-01-02 15:04:05" seconds, _ := strconv.ParseUint("1555052942", 10, ...

2019-04-13 16:24:11 281

空空如也

空空如也

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

TA关注的人

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