自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开心就好的专栏

如果你总是轻言放弃, 那么你将会一事无成.

  • 博客(276)
  • 资源 (5)
  • 论坛 (3)
  • 收藏
  • 关注

原创 Mac下好用的软件整理(不定期更新)

Kekathe macOS file archiverStore more, share with privacyhttps://www.keka.io/en/推荐理由:同事发给我一个windows下的zip包, 我用自带的解压器打开, 里边文件名全乱码. 用Keka就不会筹码.更多特性后续更新.(未完待续)...

2020-11-28 16:51:15 9

原创 redis-cli之按模式指删除key

试了下, redis之del命令不支持按模式删除key, 如 del user:*这种行不通.但是可以这样(先redis-cli连上redis-server):EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 'user:*'原因是:del命令支持不定参数, 而上面的unpack函数就可以将数组转成不定参数的形式.就是这么简单.(完)...

2020-11-28 15:38:13 11

原创 golang之channel学习总结

概述本篇目的是对go中的channel做一个总结。主要参考https://www.jianshu.com/p/76acce09da09环境$ uname -aLinux gl.com 5.4.50-amd64-desktop #74 SMP Mon Aug 24 20:15:37 CST 2020 x86_64 GNU/Linux$ go versiongo version go1.15.2 linux/amd64channel的用途主要用于goroutine之间通信channel的

2020-10-21 22:30:05 69

原创 golang之interface学习总结

概述本篇目的是对go中的interface做一个总结。主要参考https://qcrao91.gitbook.io/go/interface,环境说明$ uname -aLinux gl.com 5.4.50-amd64-desktop #74 SMP Mon Aug 24 20:15:37 CST 2020 x86_64 GNU/Linux$ go versiongo version go1.15.2 linux/amd64一个例子func basic() { var i inte

2020-10-21 10:45:20 50 2

原创 APUE学习笔记之:进程通信方式之: pipe

linux进程间通信之pipe示例:#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <string.h>int main() { int fd[2]; int err; pid_t pid; // 创建管道, pipefd[0]为读端, pi

2020-10-13 14:28:37 35

原创 APUE学习笔记之:进程终止的几种方式

环境$ cat /etc/os-release PRETTY_NAME="Deepin 20"NAME="Deepin"VERSION_ID="20"VERSION="20"ID=DeepinHOME_URL="https://www.deepin.org/"BUG_REPORT_URL="https://bbs.deepin.org/"进程终止的方式共8种5种正常终止,3种异常终止:其中:正常终止:从main()函数返回调用exit()函数调用_exit()或者_Exit

2020-10-06 21:14:11 72

原创 No manual entry for fopen

环境:gerrylon@gl:~$ cat /etc/os-release PRETTY_NAME="Deepin 20"NAME="Deepin"VERSION_ID="20"VERSION="20"ID=DeepinHOME_URL="https://www.deepin.org/"BUG_REPORT_URL="https://bbs.deepin.org/"刚安装的deepin 20正式版, 如果要看c语言的man手册, 需要执行:sudo apt-get install ma

2020-10-01 09:53:11 42

原创 raft协议初识

raft协议初识什么是Raft协议?对于分布式系统而言,与单机系统相比优势之一就是有更好的容错性。比如当一台机器上的磁盘损坏,数据丢失,可以从另一台机器上的磁盘恢复(分布式系统会对数据做备份),集群中某些机器宕机,整个集群还可以对外提供服务。实现的方法很自然的想到的就是备份。一个系统的工作模式:接受客户端的command,系统进行处理,将处理的结果返回给客户端。由此可见,系统里的数据可能会因为command而变化。实现备份的做法之一就是复制状态机(Repilcated State Machine,

2020-09-26 21:17:53 2060

原创 gops尝鲜

定义gops官方对其定义为:A tool to list and diagnose Go processes currently running on your system安装gerrylon@kali:~$ go get -u github.com/google/gops...省略安装细节# 如果你的PATH环境变量包含了GOBIN, 就可以直接调gops命令了gerrylon@kali:~$ gops5033 4417 gops go1.14.4 /home/gerrylon

2020-09-13 11:12:26 219

原创 正则表达式命名分组的实际应用一例

在前面的文件golang正则之命名分组中介绍了如何在go语言中使用正则命名分组。最近的工作中也用到了这个知识点, 结合实际例子, 看看如何使用它。问题描述简单来说, 就是对几种路由器的ping的结果提取。以Cisco的某型号的ping结果为例子来看下:cisco设备 ping结果成功时:Success rate is 100 percent (1000/1000), round-trip min/avg/max = 1/1/4 ms失败时Success rate is 0 percent

2020-09-12 09:16:58 77

原创 算法题目:两个链表生成相加链表

题目题目来自于:https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b?tpId=190&tags=&title=&diffculty=0&judgeStatus=0&rp=1假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1 为 9->3->7,链表 2 为 6-&g

2020-08-29 14:49:07 210

原创 Makefile学习分享

文章目录背景引人入题目标一些前置知识gcc命令的一些技巧一些内置变量/特殊写法/命令选项使用变量= 延迟求值:= 即时求值?= 设置默认值+= 追加使用条件判断使用函数模式规则伪目标周边参考背景最近在部门内做了一个有关Makefile的分享, 不涉及商业隐私, 发出来大家一起学习。文中有一些需要查看具体文件的,可忽略, 不影响学习。引人入题有人说, linux下源码安装软件就是"三步走"./configuremakemake install真的是这样吗? 为什么?目标希望大家都能

2020-08-22 10:29:35 70

原创 python3协程并发执行

近期在做一个python小工具, 其中用到了并发, 所以来学习总结一下.先看下面的代码:import asyncioimport timeasync def do_some_work(x): print('now:', time.time()) time.sleep(x) return x, 'Done after {}s'.format(x)start = time.time()loop = asyncio.get_event_loop()tasks = [ asyncio

2020-08-12 19:30:27 305

原创 kafka总结

环境kafka 2.0概念Partition(分区): 一个Topic可以有一个或多个Partition, 一个Partion内消息有序Replica(副本): 一个分区可以有多个副本(一个消息有多份)。AR(Assigned Replicas) 分区中的所有副本统称为ARISR(In-Sync Replicas): 所有与leader副本保持一定同步(可通过参数配置)的副本(包括leader副本)OSR(Out-of-Sync Replicas): 与leader副本同步滞后过多的副本(不

2020-08-08 22:35:30 56

原创 golang之unsafe包

环境go version go1.14.4 linux/amd64go语言中指针类型的限制要说unsafe.Pointer, 不得不说这个话题.学过c语言的同学都知道, p++, p--, p1 == p2这种代码在c语言太过常见.但是go中的指针有很多的限制:不能进行数学运算i := 3p := &ip++ // Invalid operation: p++ (non-numeric type *int) p = &i + 5 // Invalid operation:

2020-07-26 16:05:08 75

原创 聊一聊“鸭子类型“

“鸭子类型"也叫"鸭式辨型"等, 英文叫"Duck Typing”.下面这句话不知道是谁说的, 只记得之前在读《Javascript权威指南》时遇到过当看到一只动物走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只动物就可以被称为鸭子。按我的话来说, 一个东西, 我不想管它是什么, 我只管它能做什么.在程序语言中, 这种所谓的"鸭子类型"表现有两种形式: 动态和静态.动态的例子:def work(obj): obj.work() class Programmer: def wor

2020-07-26 13:18:29 116

原创 seaweedfs学习

概述seaweedfs是一个分布式的文件系统。上面是官方github主页对其总的介绍SeaweedFS is a simple and highly scalable distributed file system to store and serve billions of files fast! SeaweedFS object store has O(1) disk seek, transparent cloud integration, and SeaweedFS Filer support

2020-07-18 14:09:33 176 3

原创 docker volume探索

背景对docker的数据持久化用得比较少, 也没细究过, 今天抽空来研究一下。docker数据持久化或者说存储主要依赖于volume, 所谓的卷。主要有两种形式:bind mountsvolumes环境gerrylon@gerrylon-PC:/var/workspace/learn/docker$ cat /etc/os-release PRETTY_NAME="Deepin 20 Beta"NAME="Deepin"VERSION_ID="20 Beta"VERSION="20

2020-07-11 13:47:03 74

原创 docker相关实用工具

演示环境:Deepin 20 Beta 64bitportainerdocker镜像,容器管理工具https://github.com/portainer/portainerdive显示每一层文件变化https://github.com/wagoodman/dive$ dive ubuntu:18.04instantbox快速创建Linux环境(需要先安装docker-compose)https://github.com/instantbox/instantboxGet a

2020-07-11 12:12:31 87

原创 Deepin系统卸载alsa-base后导致系统无法启动

背景笔记本上安装了Deepin 20 Beta系统,但是发现播放音乐视频都不出声。网上一搜说什么重新安装声卡驱动。执行了这么一条命令:sudo apt-get --purge remove alsa-base alsa-utils发现没什用,就又想安装回去:sudo apt-get install alsa-base alsa-utils, 然后就会发现:E: Package ‘alsa-base’ has no installation candidate当时就想,没有就算了, 一个声卡

2020-06-26 15:03:50 348 3

原创 es: unassigned no_valid_shard_copy

某天通过elasticsearch-head发现线上的elasticsearch有个index的分片有问题,查看详情:{ "state": "UNASSIGNED", "primary": true, "node": null, "relocating_node": null, "shard": 1, "index": "xxxlog-2020-06-18", "recovery_source": { "type": "EXISTING_S

2020-06-24 08:40:35 357

原创 pq: SSL is not enabled on the server

import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/postgres")var ( db *gorm.DB)func Init(dataSource string) { var err error db, err = gorm.Open("postgres", dataSource) if err != nil { panic(err) }}在连接psql时,报错:pq: SSL i

2020-06-20 16:00:18 529

原创 linux命令之chattr

背景最近在做有关shell编程的技术分享,了解到这个命令。问题引入不多说,上手就行:gerrylon@gl:~$ ls a.txtls: cannot access 'a.txt': No such file or directorygerrylon@gl:~$ touch a.txtgerrylon@gl:~$ lsattr a.txt --------------e---- a.txtgerrylon@gl:~$ 上面我新创建了一个文件a.txt, 然后用lsattr来查看,发现有

2020-05-31 15:45:13 115

原创 DEEPIN 20 BETA使用感受

之前用的ubuntu系统,为什么又要换deepin呢?很大一个原因是ubuntu的app store足针对工作的软

2020-05-24 12:10:56 527

原创 flowable多实例任务Demo

flowable多实例任务的一个Demo:流程描述: 由用户输入收件人列表(多个用;分隔), 邮件内容等, 然后提交任务, 就可以给多个人发送邮件.首先看流程图:其bmpn文件:<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

2020-05-11 19:55:23 536

原创 shell exec命令实现docker容器日志重定向到多个位置

exec 8<> >(tee -a /tmp/access.log); exec ./my-bin >&8 2>&1未完待续

2020-04-30 08:48:50 282

原创 ERR: partial write: points beyond retention policy dropped=10000

背景环境influxdb 1.7.1特别说明:官方还原方法:https://docs.influxdata.com/influxdb/v1.7/administration/backup_and_restore/USE telegraf_bakSELECT * INTO telegraf…:MEASUREMENT FROM /.*/ GROUP BY *DROP DATABA...

2020-04-06 21:51:32 807 1

原创 Linux shell "多线程"例子

shell多线程? 其实这里说的是多进程.其实就是开多个后台进程, 然后等它们都结束后, 才认为结束.举一个最常见的例子, ping一个网段内的所有ip, 看其通断情况. 其他情况都可以套用这个例子来改造:#! /bin/bash## Distributed under terms of the MIT license.## 这个并发度是为了同时不会开太多进程, 怕系统资源不够. ...

2020-04-06 10:06:02 168

原创 linux命令行将程序置入后台的各种方法
原力计划

背景在一次备份数据的过程中, 数据太大, 导致多次失败(退出终端后rsync也退出了), 后来用了screen算是解决了这个问题.然后就想对这种问题总结下.准备为了演示, 我写了几个脚本模拟需要长时间运行的任务, 这些脚本会放在服务器上, 然后我ssh过去执行这些脚本.1. 不需要交互, 长时间运行$ cat forever.sh#! /bin/shlogFile=`basena...

2020-04-04 15:22:01 209

原创 casbin学习记录

casbin学习记录

2020-03-31 17:53:05 971

原创 用有向无环图解决casbin循环继承的问题

用有向无环图解决casbin循环继承的问题

2020-03-31 17:50:42 221 1

原创 git commit hooks提示用户输入

今天定义git hook: prepare-commit-msg:意图是在用户提交时, 在commit msg后加一行: issue #${issueID}, 以此关联以redmine.#! /bin/sh ...

2020-03-27 18:53:17 276

原创 JWT学习

基本概念jwt: JSON Web Token, 原则是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户,比如生成这样的结构:{ "userName": "test", "role": "Admin", "expire": 1584271948}之后,当用户与服务器通信时,客户在每次请求时都要带上这个JSON对象。服务器仅依赖于这个JSON对象来标识...

2020-03-15 20:30:07 104

原创 linux命令之jq

概述jq是一个解析json的命令行工具.用法美化$ echo '{"name": "test", "age": 33}' | jq . { "name": "test", "age": 33}获取指定字段的值$ echo '{"name": "test", "age": 33}' | jq '.name'"test"多层嵌套$ echo '{"name": "te...

2020-02-29 12:16:56 285

原创 flowable的一些配置方法整理

背景最近在研究BPM, 发现了flowable这个框架.用的版本是docker版本的flowable/all-in-one, 当时的镜像版本是6.5.0.为了图省事, docker run以后, 我把容器中的tomcat目录全部复制出来了, 然后就相当于全部安装完了.其中包括4个web应用:flowable-admin: 总控制台flowable-idm: 身份认证(用户, 用户组...

2020-02-29 09:41:13 2303

原创 linux查看已经连接的wifi密码

系统环境Ubuntu 18.04.3 LTS, 64bit问题解决已经连接的wifi信息保存在/etc/NetworkManager/system-connections/下这个目录下的几个文件就是已经连接过的wifi名字(SSID).打开其中一项, 键wifi-security.psk对应的值就是密码.gerrylon@Inspiron-7472:~$ cd /etc/Networ...

2020-02-22 09:00:50 238 1

原创 golang之两个结构体复制字段

实际工作中可能会有这样的场景:两个结构体(可能类型一样), 字段名和类型都一样, 想复制一个结构体的全部或者其中某几个字段的值到另一个(即merge操作),自然想到可以用反射实现.package mainimport "fmt"import "reflect"// 用b的所有字段覆盖a的// 如果fields不为空, 表示用b的特定字段覆盖a的// a应该为结构体指针func...

2020-02-11 14:31:52 3602 3

原创 ldap之move操作

最近疫情严重, 从2019.01.22号从深圳回到老家后再没出过门.今天是2020.02.09, 本来明天的机票, 老家的路封了, 就把机票退了.在每天关注疫情的同时, 也会看各种揭示人心, 批评这个, 赞扬那个, 一会CTM, 一会了不起.在科技发达的今天, 人类依然会因为各种困难而生活艰苦, 甚至付出生命.可以说, 人类在自然面前是非常渺小的, 我们一定要敬畏自然, 和大自然和谐相处,...

2020-02-09 09:59:32 225

原创 linux命令之exec

exec命令我已知有两种用法:用提供的命令替换当前shell, 其实就是子进程替换父进程创建/重定向文件描述符“用提供的命令替换当前shell”$ help execexec: exec [-cl] [-a name] [command [arguments …]] [redirection …]Replace the shell with the given command....

2020-01-21 16:31:04 76

原创 logrotate配置maxsize不生效

环境:logrotate 3.8.6 - Copyright © 1995-2001 Red Hat, Inc.主要配置$ cat /etc/crontab*/10 * * * * root /etc/cron.daily/logrotate$ cat /etc/cron.daily/logrotate#!/bin/sh/usr/sbin/logrotate -s /var/li...

2019-12-31 18:49:45 1444 3

grpc-calculator.zip

golang之grpc入门示例(一个简单的计算器), 包含go.mod, protobuf定义, server实现及client实现.

2019-09-17

深入理解c指针.pdf

深入理解C语言指针的书签, 非常适合对指针学了个皮毛, 想深入的同学。 看完后会有很大的收获。

2018-12-17

[动画原理].扫描版.pdf

主要是基本的图形学知识, 动画算法, canvas绘图知识, 还有一些运算技巧, 对于前端动画这块想要深入的同学会有所帮助!

2018-03-13

Web前端黑客技术揭秘.钟晨鸣等.pdf

适合入门前端安全, 基本的安全概念, xss, csrf, flash漏洞等. 读完后, 收获不小!

2017-12-18

数据结构与算法JavaScript描述.pdf

数据结构与算法JavaScript描述这本书, 适合入门学习数据结构与算法的朋友, 可以满足前端开发需要.

2017-12-18

butterfly5211314的留言板

发表于 2020-01-02 最后回复 2020-01-02

92年男生找女朋友

发表于 2019-02-13 最后回复 2019-02-20

多层循环如何优化?

发表于 2016-04-23 最后回复 2019-01-26

空空如也

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

TA关注的人 TA的粉丝

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