- 博客(44)
- 资源 (2)
- 收藏
- 关注
原创 sync.Map 1.20源码讨论
RwMap,MuMap,SyncMap三种map性能对比,写:RwMap>MuMap>SyncMap。读:SyncMap>RwMap>MuMap。删:SyncMap>MuMap>RwMap。SyncMap 结构体。
2024-06-01 11:49:23
161
原创 golang变量var new make源码[只有关键代码]
(1) 值类型: 基本类型 + struct(2) 引用类型:map, slice,chan 这三个(make可以创建内存的)(3)指针类型:很多,new(类型)
2023-12-31 00:25:57
495
原创 ubuntu 静态网络配置
1、网络配置 配置文件:/etc/network/interfaces#auto lo#iface lo inet loopbackauto ens33iface ens33 inet staticaddress 10.100.16.193gateway 10.100.16.254netmask 255.255.254.0dns-nameserver 223.5.5.52、启动网络/etc/init.d/networking restart或ystemc...
2021-01-14 14:31:43
644
原创 ubuntu ssh密码连接登录不上
1、查看SSH服务是否启动因为Ubuntu默认是不安装SSH服务的,所以在安装之前可以查看目前系统是否安装,通过以下命令:ps -e|grep sshsshd表示ssh-server启动。我们是需要安装服务端所以应该看是否有sshd2、启动SSH服务sudo /etc/init.d/ssh start3、修改SSH配置文件ps -e|grep ssh默认是不允许root远程登录的,可以再配置文件开启。sudo vi /etc/ssh/sshd_config找...
2021-01-14 11:32:42
4898
原创 数据库优化
一、基础规范用InnoDB存储引擎支持事务、行级锁、并发性好、CPU和内存缓存页优化利用率高禁止使用存储过程、视图、触发器、事件优秀框架是“解放数据库CPU,将计算移到服务层”,若并发大,这些功能很可能将数据库拖死。在业务层,可通过加机器就加性能禁止存大文件不灵活、浪费资源、格式转换故效率低二、命名规范库名、表名、字段名:小写、下划线,不超32字符,见名如意,禁止拼音英文混用表名t_xx,唯一索引uniq_xx,非唯一索引inx_xx三、表设计规范表列数小于30必须有主键:
2020-11-27 15:48:35
409
原创 go mod 指定分支
go mod 指定分支在go.mod,库地址后面加上分支,如下XX.XX.com/XXX/XXX feature/f1然后,go build即可,自动改为sha码
2020-11-10 11:28:43
16573
3
原创 openssl asn1parse命令 解析asn1结构
命令介绍openssl asn1parse命令是一种用来解析ASN.1结构的工具,也能用于从ASN1.1数据中提取数据用法openssl asn1parse [-inform PEM|DER] [-in filename] [-out filename] [-noout] [-offset number] [-length number] [-i] [- structure filename] [-strparse offset]选项 -inform arg input format - o
2020-09-30 18:36:36
3296
原创 gorm struct使用自定义类型
自定义 需要实现 Scan(v interface{}) error 和 Value() (driver.Value, error) 方法如 自定义timetype MyTime time.Time //2006-01-02 15:04:05添加 Scan 和 ValueTimeFormat := "2006-01-02 15:04:05"// Scan is scanning value from gormfunc (t *MyTime) Scan(v interface{}) error
2020-09-27 10:16:23
1326
原创 go mod 指定commit版本
go mod 指定commit版本在go.mod所在目录执行go get XX.XX.com/XXX/XXX@f0b928XX即 go get 项目@sha
2020-09-23 17:29:44
7738
原创 golang 并发锁在struct里的陷阱
错误代码type Test struct { sync.Mutex M map[int]int}func main() { buf = make([]Test , 2); buf[0] = Test{M: make(map[string]string)} buf[1] = Test{M: make(map[string]string)} var wg sync.WaitGroup for i := 0; i < 100; i++ { wg.Add(1) go func
2020-09-21 17:20:08
2192
2
原创 git技巧
1、基本概念工作区:不包括.git在内的整个项目目录暂存区:英⽂叫stage或index。存放在.git/index中,所以暂存区有时也叫作索引(index),git add file会file存入缓存区本地仓库:Local Repo,储存暂存区中提交上来的文件,含各分支目录树,git commit提交到本地仓库版本库:隐藏⽬录.git,这个不算⼯作区,⽽是Git的版本库,里面有暂存区和本地仓库HEAD:指向本地分支的指针,可以想象为当前分支的别名.分区本地和远程HEAD,本地在.git/H
2020-08-12 16:16:01
240
原创 git开发设置
修改git协议把操作协议从http/https 协议改为 git,修改~/.gitconfig[url "git@域名:"] insteadOf = https://域名/[url "git@域名:"] insteadOf = http://域名/[url "git@"] insteadOf = https://或git config --global url."git@".insteadOf https://设置用户名和邮箱git con
2020-08-12 16:11:17
447
原创 centos7 网络设置
网络设置静态网络设置设置文件在 /etc/sysconfig/network-scripts/ifcfg-enoXXXXBOOTPROTO = staticONBOOT = yes设置 IPADDR 、GATEWAY、NETMASK、DNSTYPE=Ethernet#BOOTPROTO=dhcpBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_A
2020-08-03 11:38:35
303
原创 centos7 samba
SAMBAlinux(centos7) 和 windows 映射软件命令安装:yum install samba启动: systemctl start smb开机启动: systemctl enable smb添加samba用户: smbpasswd -a XX清空window缓存:net use /del * /y(dos 命令)关闭selinux临时关闭setenforce 0永久关闭,编辑/etc/selinux/configSELINUX=disabled配置配置
2020-08-03 11:38:11
203
原创 性能调试
性能调试1、http服务端package mainimport ( _ "net/http/pprof" // 会自动注册 handler 到 http server,方便通过 http 接口获取程序运行采样报告)func main() { // runtime.GOMAXPROCS(1) // 限制 CPU 使用数,避免过载 runtime.SetMutexProfileFraction(1) // 开启对锁调用的跟踪 runtime.SetBlockProfileRate(1) /
2020-08-03 11:36:45
491
原创 go env 设置
go mod1、go1.11以上版本,启动go mod设置GO111MODULEgo env -w GO111MODULE=on2、启动代理设置GOPROXY,解决go get失败问题,如vscode的golint等工具go env -w GOPROXY=https://goproxy.cn,direct3、设置私有库设置GOPRIVATE,域名无需http 或 gitgo env -w GOPRIVATE=私有库域名...
2020-08-03 11:34:47
583
2
原创 go context
context1、子协程修改context,用指针,如下,否则修改失败ctx := context.Background()go func(ctx *context.Context) { *ctx = context.WithValue(*ctx, "test", 2)}(&ctx) //传指针time.Sleep(time.Second)fmt.Println(ctx.Value("test"))2、cancel后,自身和子ctx都cancel,父ctx不cancel如下
2020-08-03 11:34:04
243
原创 git技巧
目录基本概念常用命令:工作区、缓存区、本地仓库、远程仓库关系reset head三种模式区别合并回滚基本概念工作区:不包括.git在内的整个项目目录 暂存区:英⽂叫stage或index。存放在.git/index中,所以暂存区有时也叫作索引(index),git add file会file存入缓存区 本地仓库:Local Repo,储存暂存区中提交上来的文件,含各分支目录树,git commit提交到本地仓库 版本库:隐藏⽬录.git,这个不算⼯作区,⽽是Git的版本库.
2020-08-03 11:10:37
274
原创 Centos 安装 kubectl kubelet kubeadm
cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-.
2020-07-06 13:43:14
738
原创 MySQL两种存储引擎: MyISAM和InnoDB 区别
MyISAM是MySQL的默认数据库引擎(5.5版之前),不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。MyISAM和InnoDB两者之间有着明显区别,简单梳理如下:1) 事务支持MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被...
2019-05-09 17:02:28
513
原创 oss :Request has expired.
有可能是系统时间不对,设置系统时间"date -s 11/03/2009""date -s 17:55:55"
2019-04-19 17:27:16
6195
原创 mysql 报错,Unknown storage engine ‘InnoDB‘
mysql 没有找到InnoDB引擎:解决方法:1、show engines; 查看现有引擎2、打开InnoDB,并设置为默认,修改/etc/my.cnf 文件,红色箭头修改,蓝色注释掉3、重启mysql就好了...
2019-02-26 18:03:40
1722
原创 golang interface类型转string等其他类型
inter 是interface类型,转化为string类型是: str := inter .(string)转为其他类型也类似
2018-07-17 10:40:32
19759
原创 gin bindJSON结构体中有不确定类型的字段
结构体中有不确定类型的字段,用interface{},BindJSON后根据输入自动存储对应类型,比如type student struct { Name string `json:"name"` Info interface{} `json:"info"`}比如,info的输入输入 类型 12 float64 “str” string {"str":"value"} ma...
2018-06-28 10:12:48
6576
2
原创 linunx sed 文本流编辑
sed:文件流编辑器,可以对匹配内容进行改动,并显示在屏幕上,源文件不改动,当然也可以选择改动源文件。格式:sed [选项] 'command' file(s)sed [选项] -f scriptfile file(s)选项:-e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;-f<script文件&...
2018-06-16 16:25:38
483
原创 linux awk 强大的文本处理命令(原创)
说明:强大的文本分析语言和工具,处理每一行,不会内存溢出等问题强大功能:提取特定的行、指定格式输出、指定格式分割两种用法:命令:awk [选项] 'script' var=value files脚本:awk [选项] -f scriptfile var=value files...
2018-06-13 18:05:51
1251
原创 ping ip出现Network is unreachable
ping ip出现Network is unreachable:https://www.cnblogs.com/dplearning/p/5890332.html (本人方案1解决的)
2018-06-12 18:54:58
7843
原创 linux shell 字符串获取长度、替换、截取、删除等操作(持续更新)
str=/xxx/file.txt.gz一、长度:说明 表达式 例子 结果 获取长度 ${#string} ${#str} 16 二、截取、删除说明 表达式 例子 结果 从position开始截取 ${string:position} ${str:1} xxx/file.txt.gz position开始截取,取length长 ${string:position:leng...
2018-06-12 16:51:27
2040
原创 虚拟机能ping通外网IP,却ping不通域名
1、可能是网上说明情况,比如DNS配置之类的2、可能是主机系统有更新(本人是这个情况),更新主机系统即可3、可能是主机的防火墙防御太强,降低防火墙...
2018-05-31 16:13:53
4965
2
转载 配置vmware,nat静态IP
配置静态IP,vm里要静态,宿主机对应VM的网卡配置也要静态查看: https://blog.youkuaiyun.com/clevercode/article/details/50574695ping不通宿主机,有可能宿主机IP改变了,宿主机配置: https://www.cnblogs.com/chengssblog/p/6531964.html...
2018-05-07 10:31:51
297
原创 Fatal: Unable to attach to remote geth: no known transport for URL scheme &quot;c&quot;
运行geth attach 报错:Fatal: Unable to attach to remote geth: no known transport for URL scheme "c"解决 geth attach ipc:\\.\pipe\geth.ipc 最好加上:--datadir "C:\Users\sam\AppData\Roaming\Ethereum\XXXX" ...
2018-03-16 13:47:07
2058
原创 1071 Specified key was too long; max key length is 1000 bytes
laravel用php artisan migrate在 mysql中创建表时候报错:1071 Specified key was too long; max key length is 1000 bytes原因:索引的长度超过mysql的限定长度1000 bytes解决方法:在提供者AppServiceProvider 中调用 Schema::defaultStringLength
2018-01-17 14:48:11
1051
原创 ifconfig command not found
ifconfig command not found:https://my.oschina.net/u/1428349/blog/288708ping ip出现Network is unreachable:https://www.cnblogs.com/dplearning/p/5890332.html (本人方案1解决的)
2017-11-12 19:47:31
274
原创 阿里云批量计算心得
创建工作:1.InputMapping、OutputMapping中OSS路径必须是目录,以/结尾,本地可以不用"/"结尾2.OutputMapping中OSS路径可以不存在,InputMapping中的OSS路径必须存在3.Command 运行的程序是绝对路径(InputMapping映射)时,可以不用PackagePath4.同一个oss路径,可以挂载到不同的本地目录。但是
2017-10-12 17:17:03
732
转载 python:pkg_resources.DistributionNotFound: The 'pip==1.5.4' distribution was not found ...
问题:unbuntu pkg_resources.DistributionNotFound: The 'pip==1.5.4' distribution was not found and is required by the application解决:wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo Pytho
2017-08-25 09:05:36
3153
原创 office 2007 默认打开两页视图
变为单页:1.打开(Word2007)2.按Alt+F11进入VBE3.选择 Normal——右键单击——“插入”——“模块”——修改模块名称为“NewMacros” 4.在右侧空白处编辑,以下内容,然后保存。Sub AutoOpen()ActiveWindow.ActivePane.View.Zoom.Percentage = 150 End Sub
2017-07-31 16:01:40
1405
原创 VBoxManage not found.Make sure virtualbox is installed and vboxmanage is in the path
sudo apt-get purge virtualboxsudo apt-get install linux-generic linux-image-generic linux-headers-generic linux-signed-genericsudo apt-get install virtualbox
2017-07-11 17:49:53
6987
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人