自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hell_world!

记录coding路上的点滴

  • 博客(148)
  • 资源 (4)
  • 问答 (3)
  • 收藏
  • 关注

原创 记一次502

elk显示每天0点会有一个502的尖峰,奇怪怎么会有502。由于对rancher不熟,怀疑是不是rancher在做什么daemon process。然后去查/var/log/message系统日志,查到了一些这样的日志:Jan 3 00:00:01 rc02 systemd: Started Session 108334 of user root.Jan 3 00:00:01 ...

2024-03-09 00:03:02 408

原创 python命令行补全神器

import rlcompleter后,通过tab可以补全展示出该库支持的方法。安装好以后,通过python命令打开命令行,引入rlcompleter。

2023-12-02 22:51:10 100

原创 golang小技巧

2/对holders的填充。fmt.Sprintf()会有问题,需要对%进行转义,而转义是用%转义的不是反斜线,也就是%%才是%,而不是\%。1/有时需要把json内容返回给前段进行文本编辑json字段,那么最好是能返回格式化后的json,这样对于用户编辑页方便。来进行格式化,带有缩进的marshal。第一种,利用os.Expand。第二种,利用template。

2023-10-26 23:25:23 305

原创 Cassandra初识

2、Cassandra支持命令行查看集群状态,直接输入cqlsh即可,然后可以select,可以create,可以alter;6、Cassandra支持类似mysql explain的能力,不过需要显示的开启。5、Cassandra的数据同步跟mysql和redis的刷盘类似,有wal机制;3、Cassandra有个key space的概念,类似mysql的db的;1、Cassandra支持宽列数据,mysql的话就需要分表了;4、Cassandra有个副本因子的概念,用于高活;

2023-08-22 20:44:39 278

原创 golang知识点

一种是大家熟知的是直接用[]byte("1")或string([]byte{'1'})强转,这种强制类型转换的方式是存在内存拷贝的,只是当数据小的时候,拷贝的数据少;当数据量大的时候,还会涉及内存空间的新建,性能消耗会更大。另一种是通过反射出底层数据结构,将data的指针重新指向,这样的方式是没有内存拷贝的,但不安全,因为string是不可变的,如果转成[]byte后做了修改,那么会报错。接收数据,如果缓冲区中为空,则返回⼀个零值,否则返回缓冲区中的值。给⼀个已经关闭的 channel。

2023-07-14 12:21:51 370

原创 go包命名

go包的名字应该短且达意,比如go标准库里的命名。比如:net包,提供了创建多种网络监听器(tcp、udp、unix domain socket等)net/http包,提供其他的http服务器,http.Server这个类型就很清晰包名不仅仅要简明扼要,还要考虑与别的库里的变量冲突的问题。不然的话,引入方还得给起个别名。为了避免这种情况,可以适当的缩写包名,比如标准库里的fmt和bufio。bufio就是为了避免与buf冲突,因为buf这个变量名经常用于开辟一块buffer。相比于其

2021-10-26 22:16:02 719

原创 2、编写整洁且可维护的go代码

编写整洁且易测易维护的代码,乍一看挺简单,实际做起来不容易。不过可幸的是,go语言诞生就伴随了一套最佳实践的集合可供我们学习和参考。就我的经验来说,这些最佳实践对代码质量衡量有着正向的作用,且可以减少技术债的增加。本章将从下面几个话题:· 从go角度去理解SOLID原则· 从包级别去组织代码· 一些编写易维护的代码的建议和工具面向对象设计的SOLID原则SOLID是5调原则的合集,全称是:·Single responsibility单一职责· Open/close..

2021-10-09 12:12:39 242

原创 1. 鸟瞰软件工程

鸟瞰软件工程我的工作生涯中遇到过很多知道如何编码的人,从菜鸟到大佬。这些人的工作背景不同,有的在创业公司待过,也有的在大厂待过。教育背景也不同,从cs专业毕业的,到跨专业的。形形色色,五花八门。如果无视这些差异,他们有个共同点,那就是他们都管自己的职业叫软件工程师(software engineer),尤其是简历中,而且避免叫程序员(software developer)。网上找些JD,从中也可以看出企业更愿意寻找软件工程师。但实际上,软件工程师这个概念,太宽泛了。随着工种的熟悉程度和级别的不同,会

2021-10-08 20:08:27 190

原创 关于code review的想法

1、心态要摆正,不要为了显示『我比你牛B』而去鸡蛋里挑骨头,这样的表现很浅,是人都能看得出来你是实在没的评论了硬凹。2、不要为了一些评价指标去硬凹。3、评论的时候

2021-06-17 19:04:07 99

原创 nginx reopen

今天登录stackoverflow,发现有一个提示消息,自己的回复被别人编辑了,点开查看了一下,是网友将nginx -sreload改成了nginx -s reopen这才知道原来nginx还有reopen这个命令,查了一下相关的介绍。reopen是专门针对log的命令,用于打开一个新的日志文件的,相当于是kill -USR1 nginx.pid,reload是-USR2。...

2020-10-09 15:41:19 346

原创 少用指针

Go项目中尽可能少的使用指针对象,除了你之外不一定都会对指针对象进行nil检验,从而导致panic。

2020-09-07 09:26:14 136

原创 【work心得】

你一定要会说,你不会说的话,跟你合作的人难受,他们理解不了你要表达啥,只有你自己能明白自己的意思,这样只有一个结果,那就是你把所有的工作都做了,还落人『表述不清问题』的口实。结果:1、效率低下...

2020-09-06 20:07:10 121 2

原创 mysql问题汇总

mysql version:5.71、执行DDL,在线增加表字段的时候报错:Duplicate entry '1234567' for key 'PRIMARY'2、Lock wait timeout exceeded; try restarting transaction3、connect: connection timed out

2020-08-31 15:15:38 95

原创 给数据表增加字段的时候报错error 1062(23000)

给原表添加列(alter table add column)的时候报错:error 1062(23000): duplicate entry '1218652' for key 'PRIMARY'原因参考这两篇:http://blog.itpub.net/28218939/viewspace-2654121/https://www.bbsmax.com/A/GBJrlKoqd0/额外知识补充可以参考如下:https://www.cnblogs.com/cchust/p/4639.

2020-08-12 22:44:31 791

原创 jq 命令解析报错

parse error: Invalid string: control characters from U+0000 through U+001F must be escaped at line 232, column 2因为你的json里有啥不可见的乱七八糟的符号:http://rosettacode.org/wiki/Strip_control_codes_and_extended_characters_from_a_string#jqcat tmp|awk '{print $9}'|jq .

2020-06-04 17:11:03 2377

原创 git cherry-pick 很香

如何把一个已经提交到master分支的commit撤回并合并到dev?master分支和dev分支,把本改提交dev的代码push到了master。然后我就先把master git revert掉,然后切到dev分支通过git cherry-pick commit_id来把那个提交合到dev,最后直接git push就可以了。> git checkout dev> git log mastercommit a0f24e34cf50e0acbd5c3d1f217e2956.

2020-05-28 17:00:19 144

原创 方案的选择

今天leader说的一些话还挺受用。作为中台刚起步,leader为了有更多的接入方,每次方案review都会对请求的字段都要求严苛,包括命名和个数,尽可能少的暴露给业务方且保证逻辑的正常。...

2020-03-14 12:56:42 202

原创 intellij idea merge分支

b1、b2,2个分支,我想把b1分支merge到b2分支:1、git checkout 到b2分支;2、 点 merge changes:3、在弹出的窗体解决冲突,然后merge,pull到remote,完成merge。...

2020-03-11 12:20:57 1916

原创 golang reverse

经常会需要前面添加func main(){ test := []int{1,2,3,4,5} rlt := []int{} tmp := []int{} for _,val := range test { tmp = []int{val} rlt = append(tmp,rlt...) } fmt.Print...

2020-02-12 18:55:35 380

原创 找出字段中重复的值

比如,力扣的一道题:person表:+----+---------+| Id | Email |+----+---------+| 1 | [email protected] || 2 | [email protected] || 3 | [email protected] |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+| Email |+---------...

2020-02-10 10:57:10 482

原创 mysql update_time时间的建议。

mysql的update_time能不用ON UPDATE CURRENT_TIMESTAMP就别用了,自己传一个。因为一般公司的mysql服务器跟业务服务器不是同一个服务器,如果没有公司统一的ntp服务的话,很可能业务服务器的时间跟mysql服务器的时间对不上,就很烦。...

2020-01-17 15:12:13 654

原创 在支付宝中开通信用卡快捷支付

明明绑定了信用卡,但是在调整扣款顺序的时候缺没有这张信用卡,以至于我的消费习惯里就没用到这张卡而白白交了300的年费。这里记录一下如果开通信用卡的快捷支付,开通了快捷支付以后就可以通过支付宝来消费该信用卡了。支付宝是苹果手机的10.1.72版本。1、我的->银行卡2、比如选择了招行的信用卡(就是这个禽兽扣了我300年费)3、点管理...

2019-11-23 15:01:04 495

原创 使用gorm需要注意的点

1、慎用CreatedAt、UpdatedAt和DeletedAt字段要疯了。数据库的字段要避开这created_at、updated_at、deleted_at字段,改为created_time、updated_time和deleted_time。2、查询的时候,如果没有查到记录也算一个err,需要在我们正常理解的err之前判断,类似如下的顺序: err := db. T...

2019-10-25 21:06:48 2479 2

转载 golang自定义cron任务

需要注意一点的cron.v3(gopkg.in/robfig/cron.v3)和cron(github.com/robfig/cron)的使用完全不同,linux风格的表达式:0 12 * * *,表示每天12点执行一次,在cron里会被补全成0 0 12 * * *,而在cron.v3里会被补全成0 12 * * * *,相当于向左挪了一位,把『时』挪到了『分』,会出问题,这个坑我踩过。...

2019-10-10 15:35:27 1659

原创 wordpress 请求地址域名变ip

测试的时候绑定了host,但是访问的时候通过f12看到请求的地址有的是域名有的是ip,解决办法就是通过wordpress的后台修改途中所圈的字段为域名:但有个问题,就是此时你应该是登录不到后台的,这时候你可以通过修改数据库来做:p.s.另外记一下如果忘记wordpress后台密码怎么办:操作数据库:update wp_users set user_pass=md5('y...

2019-09-11 21:32:13 1761

原创 logrotate.daily的默认时间

logrotate配置了一个daily切割的配置,但发现是凌晨3点多切割的,这个默认的时间在哪儿设置?logrotate的行为也是受crontab控制,在/etc/cron.daily目录下。而crontab任务是受anacron控制,在/etc/anacron文件中配置:# /etc/anacrontab: configuration file for anacron# See...

2019-09-11 19:55:17 3610

原创 ruby标签

2019-09-11 18:14:52 252

原创 新玩具sslh

sslh的作用就是通过ssl的端口进行ssh的"勾当"。不错。ref:SSLH:让 HTTPS 和 SSH 共享同一个端口

2019-09-11 17:49:07 324

原创 lftp好工具呀

yum install -y lftpftp只能下载文件lftp可以下载目录:put 上传mput 上传多个get 下载mget 下载多个mirror folder_name 下载目录及子目录mirror -R folder_name 上传目录及子目录...

2019-08-30 19:33:03 583

原创 php sock文件权限

每次重启完php,service php-fpm start,生成的sock文件的owner和group都是root,导致www启动的nginx无权限与php的sock文件通信。错误信息如下:[crit] 29598#0: *6 connect() to unix:/data/php/sock/php-fpm.sock failed (13: Permission denied) while ...

2019-08-30 18:40:12 860

原创 记一次mysql的异常

配置腾讯云1G1核的云服务器。service mysqld start怎么都起不来,然后手动执行mysql启动命令/usr/sbin/mysqld --user=mysql标准输出如下:[root@VM_0_8_centos lib]# /usr/sbin/mysqld --user=mysql2019-08-20 21:16:36 0 [Note] /usr/sbin/my...

2019-08-20 21:47:25 413

原创 mysql explain extra常用字段举例解释

CREATE TABLE `test_users` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `USER_ID` varchar(11) DEFAULT NULL COMMENT '用户账号', `USER_NAME` varchar(255) DEFAULT NULL COMMENT '用户名', `AGE` int(5) DEFAULT ...

2019-07-31 20:43:53 2129

原创 mysql隐式转换导致索引失效

1、如果你的表字段类型是字符串类型,比如varchar,并且该字段上有索引,如果你查询的时候用的是数值,则会导致索引失效,比如表里存的是:字段 user_id 值 111 类型 varchar(100) 如果你的查询是select * from xxx where user_id=111,则索引失败;select * from xxx where user_i...

2019-07-29 16:22:53 836

转载 golang smtp发邮件

转自:https://www.cnblogs.com/liumuqiu/p/4846929.html跟go语言的net/smtp斗争了一天,记录下历程。先用最标准的例子host := net.JoinHostPort(hostname, port)auth := smtp.PlainAuth("", username, password, hostname)to :=...

2019-07-26 11:05:23 4522 2

原创 关于数据表复制

以前没复制过表,今天有需要。表A_copy是表A的复制表1、如果你只是复制表数据,而不需要A的索引、自增等其他信息,直接执行:create table A_copy select * from A;2、如果你还需要A表的其他表信息,索引之类的,需要这么来:create table A_copy like A; // 这句话就可以将A表的表信息都复制in...

2019-07-12 12:10:08 318

原创 一个好用的点 json.RawMessage

比如你是一个go应用,要从一个php的服务获取数据,php是弱类型,很可能会返回(比如透传)1和"1"。但对于go这样的强类型预研,该如何定义结构体来接收这种不确定类型的响应?此时可以用encoding/json包里的json.RawMessage类型。具体如下:package mainimport ( "encoding/json" "fmt" "ref...

2019-06-26 17:52:37 3076

原创 golang空指针预防

1、凡是有点『.』操作的的行为都要先进行非nil判断;例如,你想记录一个err的msg,通过err.Error()就可以获取到err的string类型的错误消息msg,但这里需要对err进行非nil判断:if err != nil { log.Error("err",err.Error())}再如,如果你想对一个interface{}的变量进行类型转换,那么应该先对该in...

2019-06-10 21:28:14 2653 1

原创 疑问,关于golang反射TypeOf

fmt.Println(reflect.TypeOf(1))fmt.Println(reflect.TypeOf(1.1))//output://int//float64为什么reflect.TypeOf()一个整型的结果是int,而不是int8/16/32/64,而浮点型的类型是float64而不是float32?...

2019-06-10 21:09:39 1248

原创 golang json 不支持map[interface {}]interface {}

如题所说,json的marshal和unmarshal是不支持map[interface {}]string类型的变量的~主要是key不能是interface{}类型

2019-06-10 17:49:15 2956

原创 分库分表注意

分库分表的时候要注意一点,习惯上我们分库分表的时候都是偶数个,什么4库8表之类的,但在数据落库落表规则上要注意,比如如果只简单取模,会造成表的浪费。因为奇数和偶数的id都会落到对应的奇数和偶数的库和表里,这就导致奇数库的偶数表被浪费,同理偶数库的奇数表被浪费。一般的情况最好做个hash,然后再取模,这样的话就能避免上述情况。或者直接分成单数。...

2019-03-18 16:25:19 504

intellij idea go插件

给intellij idea用的go插件 给intellij idea用的go插件 给intellij idea用的go插件

2018-10-26

arcblock白皮书

arcblock的白皮书,这是英文版的噢。 arcblock的白皮书,这是英文版的噢。

2018-02-07

openwrt-gl-ser2net.bin

这个bin文件可以跳过GL.inet的视频访问密码 不过路由器的密码还在哦 以前你访问http://192.168.8.1:8083/?action=stream的时候会返回登录页面或者无法访问的提示 刷了这个固件之后,就可以在地址栏直接敲http://192.168.8.1:8083/?action=stream后,就可以显示视频画面了

2014-07-30

类似qq抖动功能

简单的抖动功能

2014-02-07

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

TA关注的人

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