自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开心就好的专栏

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

  • 博客(306)
  • 资源 (5)
  • 收藏
  • 关注

原创 BloomFilter原理学习

BloomFilter我们可能经常听到也在使用, 它的特点是如果判断结果为"不存在", 则一定不存在;如果判断为存在, 则可能存在. 如下图未说明当我们判断z元素存在时, 其实是不存在的, 即存在有概率性.

2023-03-05 18:28:30 1252 1

原创 容器中的僵尸进程

tini学习, 回收僵尸进程

2022-12-31 21:08:57 1878

原创 pip命令速查

这里将pip的常见用法列举,以备快速查阅。

2022-10-26 13:03:06 1168

原创 eggjs/egg-mysql 如何修改默认编码

egg-mysql指定数据库编码

2022-10-20 19:54:12 834 1

原创 EnvoyFilter实践: 通过解析子域名注入环境标识

istio EnvoyFilter实践: 自动注入环境标识header

2022-08-28 14:50:25 633

原创 bazel入门

bazel快速入门

2022-06-18 18:38:11 2046

原创 linux命令行: 输出每行的前N个字符

linux命令行输出每行的前N个字符

2022-06-08 20:24:38 5913

原创 istio对外暴露服务

istio对外暴露服务

2022-06-07 09:52:40 768 1

原创 iptables学习

iptables原理学习+相关示例

2022-06-05 16:31:29 651

原创 基于neovim打造golang开发环境

基于neovim打造golang开发环境

2022-06-02 16:21:53 2191

原创 neovim安装 && vim-plug插件管理器安装

nvim&vim-plug安装

2022-06-02 15:28:55 3172

原创 silversearcher-ag命令(Recursively search for PATTERN in PATH)

背景如果你有使用grep -r的经历, 那么其搜索速度可能可能会让人抓狂. ag命令比grep -r功能强太多, 而且搜索速度非常快!官网https://github.com/ggreer/the_silver_searcher安装centos系统安装:sudo yum install the_silver_searcherubuntu系统安装:sudo apt install silversearcher-ag使用$ pwd/data/soft/istio-1.13.4$ ag

2022-05-29 17:32:28 409

转载 [转载]Kubernetes网络三部曲之三 ~ NodePort vs LoadBalancer vs Ingress

文章目录前言NodePortLoadBalancerIngressKubectl Proxy & Port Forward总结原文链接原文链接: https://blog.csdn.net/yang75108/article/details/101268208前言在上一篇《Kubernetes网络三部曲~Service网络》中,波波讲解了K8s的4层网络栈中的第2层Service网路。有了Service网络,K8s集群内的应用可以通过服务名/ClusterIP进行统一寻址和访问,而不需要关心

2022-03-10 02:30:00 270

转载 [转载]Kubernetes网络三部曲之二~Service网络

文章目录前言Service网络概念模型服务发现技术演进K8s的Service网络原理总结原文链接原文链接:https://blog.csdn.net/yang75108/article/details/101267444前言在上一篇《Kubernetes网络三部曲~Pod网络》中,波波讲解了K8s的4层网络中的第1层Pod网络。有了Pod网络,K8s集群内的所有Pods在逻辑上都可以看作在一个平面网络内,可以正常IP寻址和互通。但是Pod仅仅是K8s云平台中的虚拟机抽象,最终,我们需要在K8s集群中运

2022-03-01 10:03:11 314

转载 [转载]Kubernetes网络三部曲之一~Pod网络

文章目录前言Pod网络概念模型同一节点上的Pod网络不同节点间的Pod网络总结原文链接原文链接:https://blog.csdn.net/yang75108/article/details/101101384前言K8s是一个强大的平台,但它的网络比较复杂,涉及很多概念,例如Pod网络,Service网络,Cluster IPs,NodePort,LoadBalancer和Ingress等等,这么多概念足以让新手望而生畏。但是,只有深入理解K8s网络,才能为理解和用好K8s打下坚实基础。为了帮助大家理

2022-03-01 09:44:39 343

原创 Linux容器核心技术之: Cgroups

文章目录Cgroups是什么?Cgroups中的三个组件cgroup 用于对进程分组, 分组后便于统一设置资源限制;subsystem 用于对资源做限制及监控;hierarchy三个组件的相互关系cgroup 文件系统(cgroupfs)介绍Cgroups使用示例在cgroup中添加和移动进程通过subsystem限制cgroup中进程的资源参考Cgroups是什么?查看linux man page: https://man7.org/linux/man-pages/man7/cgroups.7.htm

2022-02-04 11:27:54 1817

原创 Linux容器核心技术之: namespace

linux的namespace是什么关于linux的namespace, 官方文档是这么说的:A namespace wraps a global system resource in an abstraction thatmakes it appear to the processes within the namespace that theyhave their own isolated instance of the global resource. Changesto the glo

2022-01-30 21:13:30 4223 1

原创 redis之lua脚本: 原子性 & 调试 & 嵌入高级语言

实验环境:redis: 6.0.9redis执行lua脚本时, 出错不会rollback我们知道, 使用lua脚本可以在执行一串redis命令时, 实现一定原子性(lua脚本中多条指令执行过程中不会被插入新的指令), 但是并不能在命令执行出错时, 回退之前的结果, 如下示例:demo.luaredis.call('get', 'xx')redis.call('set', 'a1', 'b1')redis.call('set', 'a2')显然最后的set a2是有语法错误的, 在执行前

2022-01-26 16:51:37 2115

原创 mongo 模糊搜索并按相关性排序

文章目录问题构造数据复现问题问题分析问题解决问题有一张user表, 其有name, age, …等字段, 现在的要求是: 按name模糊搜索(正则匹配) , 然后分页输出.构造数据为了说明问题, 构造数据, 无关字段省略, 只保留name, age字段方便观察:function genName(base, n) { var res = []; var prev = Date.now(); var suffix = 0; for (var i = 0; i < n; i++)

2021-12-20 13:23:17 940 2

原创 python 将requests转为curl命令行格式

将python的requests请求转为curl命令行格式, 方便调试import curlifyimport requestsdata = { "wd": "hello"}url = 'http://www.baidu.com/s'response = requests.get(url=url, data=data, headers={ 'Accept': 'text/html,application/xhtml+xml',})print(curlify.to_c

2021-12-20 10:37:40 3341

原创 C语言排序函数使用(qsort)

在OJ时, 可能会使用到排序的情形. 如果是使用C语言, <stdlib.h>中已经有相关的排序函数的, 直接用就行.下面给出基本示例:#include <stdio.h>#include <stdlib.h>static inline int compare(const void* a, const void* b) { return (int)(*(int*)a) - (int)(*(int*)b);}static inline void print

2021-12-17 10:46:28 2376

原创 工具整理(不定期更新)

系统级ventoy未完待续

2021-10-07 10:59:46 92

原创 Mac下sed的-i选项不能为空

Mac电脑下, 使用sed -i原地修改文件内容有点坑.$ cat a.txt aaaa$ sed -i 's/a/b/g' a.txt sed: 1: "a.txt": command a expects \ followed by text$ sed -i "" 's/a/b/g' a.txt$ cat a.txt bbbb如果确实需要不备份地修改原文件, 需要加-i ""来确认.(完)...

2021-09-22 21:46:17 258

原创 VIM入门

概述本篇文章意思是让VIM新手入门, 所谓入门, 就是你会hjkl, :wq, q!了, 其他的像ciw, ddkp知道但是记不住几个,自定义快捷键也听说过, 看别人的也大概能懂.不会介绍太全, 不过各方面都会提一下.约定下文在描述按xx键即可yy这类操作时, 如无特别说明, 均指的vim默认的配置.一些概念VIM是啥?引自其官网:Vim is a highly configurable text editor built to make creating and changing an

2021-08-01 23:31:57 188

原创 linux命令之prlimit

命令介绍prlimit - get and set a process resource limits.prlimit 这个命令用来设置或者获取某进程的资源限制的.如临时设置某进程可打开的文件数,prlimit --pid=9999 --nofile=102400:102400, 这条命令表示设置pid为9999的进程的可打开的文件最大数改为102400(soft & hard).还有其他选项, 基本和ulimit一致:prlimit --help用法: prlimit [选项

2021-05-16 14:21:10 5758

原创 vim文件中文乱码问题

如下图:vim config.yaml解决方法:在当前登录终端执行: export LANG="zh_CN.UTF-8"可临时生效.将export LANG="zh_CN.UTF-8"写到 /etc/profile文件末尾, 然后source /etc/profile, 可长期生效.(完)

2021-04-26 13:46:44 246

原创 .har文件使用

背景在做web开发的过程中, 查看http请求/响应是非常常见的操作.有时可能有这样的需求: 将某次操作的请求/响应保存下来, 给别人看或者分析, 那你可能需要har文件.另外你还需要Fiddler来查看har文件内容操作截图在"Network"面板中, 将某次操作的请求保存为har文件.在Fiddler中打开查看结果展示(完)...

2021-04-07 13:26:49 7619

原创 linux shell之合并多行为一行

需求将多行转为一行.如有个文件记录了一些人名$ cat a.txt alicebobdavidtomyang希望的输出为一行(方便人类阅读就可以):alice bob david tom yang 或者 alice,bob,david,tom,yang解决方法tr命令$ cat a.txt | tr '\n' ', ' | sed 's/,$//'alice,bob,david,tom,yangxargs命令$ cat a.txt | xargs alice b

2021-04-07 13:15:04 4914

原创 Linux命令之strace

实验所用strace版本strace – version 4.8strace是linux上一个命令, 可以帮助我们观察程序做了哪些系统调用.比如shell脚本 a.sh:#!/bin/shecho hellosleep 1kill 99999我们执行strace bash a.sh, 得到输出如下:execve("/usr/bin/sh", ["sh", "a.sh"], [/* 26 vars */]) = 0brk(0)

2021-03-06 14:54:58 184

原创 Mongo之ObjectID

如:"5ecfab2e32c5618ef5ddf7b4"为某个ObjectID, 共12字节.分别为:[0,1,2,3] [4,5,6] [7,8] [9,10,11]时间戳 | 机器码 | PID | 计数器前四字节是时间戳,可以提供秒级别的唯一性。接下来三字节是所在主机的唯一标识符,通常是机器主机名的散列值。接下来两字节是产生ObjectId的进程id,确保同一台机器上并发产生的ObjectId是唯一的。前九字节保证了同一秒钟不同机器的不同进程产生的ObjectId时唯一的。最后三字节

2021-02-05 16:22:53 540

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

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

2020-11-28 16:51:15 264

原创 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 1355

原创 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 855

原创 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 462 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 256

原创 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 516

原创 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 645

原创 raft协议初识

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

2020-09-26 21:17:53 2360

原创 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 441

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

在前面的文件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 524

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

空空如也

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

TA关注的人

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