- 博客(145)
- 资源 (33)
- 收藏
- 关注
原创 update_min_vruntime()流程图
linux kernel scheduler cfs的update_min_vruntime() 看起来还挺绕的。画个流程图,给它整个明明白白。
2024-04-30 22:45:37 690
原创 Core Scheduling
core scheduling是v5.14中新增的功能,为什么有core scheduling呢?因为当开启超线程(yperhreading)时,一个物理核就变成了两个逻辑核,但,这两个逻辑核还是要共享物理核的某些缓存的,而,这种共享会带来安全问题(例如:MDS、L1TF等)。core scheduling就是要解决 开启超线程(yperhreading)时所带来的安全问题。
2022-12-13 00:43:59 807 1
原创 go函数参数总结
学编程语言是要解决实际问题,只作“语言律师”肯定不好,只有作品才是最好的证明。尽管如此,了解语言的基础细节可以避免我们在工作中分心,使我们可以专注于手头工作,免受语法或某些副作用的干扰,从这个意义上讲,了解细节是有实际意义的。本文说明以下几个问题一:形参 是 实参 一个别名,形参本身也是一个变量,形参本身也有自己的地址。二:array, struct, string, int 都不是指针变量。三:slice指针变量 拥有的值 是 底层数组某个元素的地址。四:只有 slice, ma.
2022-01-03 14:31:42 1558
原创 go fmt.Printf() 小抄
Other flags 其他标记 + 总是输出 数值 的符号 对于 %q 或 %+q 确保是ASCII-only的输出 - 在右边补充空格(字段左对齐时) # add leading 0 0 for octal (%#o) 0x for hex (%#x) 0X for hex (%#X) suppress 0x for %#p %+q 输出 a raw (backquoted) string if strconv.C
2021-12-12 16:54:03 762
翻译 PromQL到底如何计算rate()的?
本文翻译自:PromLabs | Blog - How Exactly Does PromQL Calculate Rates?PromQL到底如何计算rate()的?Counter是prometheus的metric type,Counter的值只增不减,它代表的是“累加的总数量”,例如“共处理了多少个请求”,“处理请求耗时总数”。Counter的值依赖于 暴漏Counter指标的进程的 启动时间,Counter的绝对值几乎总是无用的,使用Counter画图或做任何事情之前,一般你总是需要使.
2021-09-17 12:15:43 3684
原创 prometheus中step或resolution的含义
prometheus官方文档对resolution的解释真的是语焉不详,只有下面寥寥几句话https://prometheus.io/docs/prometheus/latest/querying/examples/SubqueryReturn the 5-minute rate of thehttp_requests_totalmetric for the past 30 minutes, with a resolution of 1 minute.rate(http_reques..
2021-09-07 00:33:51 2986
原创 创建macvlan的命令
内容来自于:http://manpages.ubuntu.com/manpages/bionic/man8/ip-link.8.html添加 macvlan或macvtap 命令如下ip link add link {DEVICE} name {NAME} type { macvlan | macvtap } mode { private | vepa | bridge | passthru [ nopromisc ] | source }# 举例:现有网卡名称为ens33,
2021-08-28 21:04:19 4295
原创 veth pair上的两个ip能否ping通?
veth pair的两端在OS上表现为两块网卡,这两块网卡可以各自指定自己的ip地址,假设这两块网卡为veth1(ip为10.10.10.101)和veth2(ip为10.10.10.102)。现在有两个疑问问题一:经由ip1去ping ip2,能通吗?问题二:经由网卡veth1去ping ip2,能通吗?先说答案:问题一能ping通,问题二无法ping通下面用Ubuntu 20.04.1 LTS进行验证marvin@vm205:~$ sudo uname -aLinux vm205
2021-08-07 16:05:44 2251 6
原创 kafka在rack间平衡replica
本文来自于对kafka官方文档“Balancing Replicas Across Racks”的理解http://kafka.apache.org/documentation/#basic_ops_racksrack感知特性 会将 *同一partition的*replica 分散到不同的rack上。该特性扩展了kafka为broker-failure所提供的保证,使其可以覆盖rack-failure,减少了 同一rack上所有broker同时失败会导致的数据丢失 的风险。该特性也可以应用到其他br
2021-02-27 14:39:28 1869 1
原创 netty中 Channel, ChannelPipeline, ChannelHandler, ChannelHandlerContext 的关系
netty中Channel, ChannelPipeline, ChannelHandler, ChannelHandlerContext 的关系一:channel 和 pipeline 一一对应的channel 和 pipeline 一一对应的。创建channel时,同时创建pipeline。共生攻灭pipeline是channel的属性 // pipeline是channel的属性 private final DefaultChannelPipeline pipeline;
2021-01-02 23:27:37 864
原创 X-terminal-emulator的快捷键
X-terminal-emulator是很好的东西,同一个window内可以开启多个tab,同一个tab内可以开启多个terminal。即window最大,tab次之,terminal最小。配合快捷键使用更为舒服,这几个是最常见的快捷键同一个tab内,水平(Shift+Ctrl+O, horizontally)或者垂直(Shift+Ctrl+E, vertically)分隔出多个terminal 同一个tab内,关闭焦点所在的terminal(Shift+Ctrl+W) 同一个tab内,将焦点移
2020-10-24 11:40:30 6978
原创 netstat 和 ss中,Recv-Q和Send-Q的含义
先看看文档,man netstat中有Recv-Q和Send-Q的含义;man ss中没有Recv-Q和Send-Q的含义https://man7.org/linux/man-pages/man8/netstat.8.htmlhttps://man7.org/linux/man-pages/man8/ss.8.htmlman netstat是这么说的 Recv-Q Established: The count of bytes not copied by the user...
2020-10-11 18:40:01 7621 3
原创 netstat输出中Established时Recv-Q的含义
netstat输出中Recv-Q的含义,当然就和man中说的一样啦。我们只是做实验来看看数据:https://man7.org/linux/man-pages/man8/netstat.8.htmlOUTPUT top Active Internet connections (TCP, UDP, UDPLite, raw) Proto The protocol (tcp, udp, udpl, raw) used by the socket. ...
2020-10-11 16:25:39 2620
原创 tomcat能创建tcp连接的确切个数
tomcat能创建多少个tcp连接,这由三个因素控制:NO. 参数 默认值 说明 1 OS参数: /proc/sys/net/core/somaxconn 4096 ubuntu 18.04 :~$ uname -a Linux vm208 5.4.0-48-generic #52~18.04.1-Ubuntu SMP Thu Sep 10 12:50:22 UTC 2020 x86_64 x86_64
2020-10-11 12:43:28 892
原创 如何调整zabbix时间段
1 代表正中央画面所展示图形的时间跨度。例图中就是12小时。小方块旁边有"12h"字样拖动小方块的左右两个箭头时,拖动时无论0处是"fixed"还是"dynamic",正中央画面所展示图形的时间跨度发生变化;只有被拖动一侧的边界时刻值发生变化,另一侧的边界时刻值保持不变 拖动小方块正中间时(整个小方块一起移动,而不是只移动小方块的左或右边界),拖动时无论0处是"fixed"还是"dynamic",中央画面所展示图形的时间跨度保持不变,左右边界时刻值均发生变化2 代表正中央画面所展示图形的左...
2020-09-23 22:05:35 1211
原创 什么是“好的”软件架构
本文来自于:Software Architecture in Practice 3rd Edition--Addison-WesleyLen BassPaul ClementsRick Kazman1.4 What Makes a “Good” architecture?正文开始
2020-06-30 23:06:05 602
原创 MySQL的count(*), count(1), count(col_name)的区别
本文来自于:https://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_counthttps://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_counthttps://dev.mysql.com/doc/refman...
2020-04-27 11:33:41 457
原创 2PC和3PC
一、为什么浩瀚的互联网海洋中又多了这么一段垃圾文本在看书或文档时,不知你是否和我一样,“满书都是熟悉的字眼,连起来念也知道在讲述什么,但,‘满眼熟悉的汉字和词语反而让我分不清楚哪些是动词,哪些是名词,哪些是专用词语,哪些是描述过程的词语’”,这使我难以理解“这到底在讲什么”。对我来说,将专用词语专门分出来,整理成条理的条目,才是理解和记忆最好的方式。下面内容来自于“从Paxos到...
2020-04-26 00:35:28 911
原创 Seata:简单可扩展的自主事务架构
Seata: Simple Extensible Autonomous Transaction ArchitectureSeata:简单可扩展的自主事务架构本文来自于:https://github.com/seata/seataSeata有不错的中文文档,不过,其github主页上的简介并没有中文版。翻译下,也为自己做个备忘一、Seata是什么?Seata是分布式事...
2020-04-23 15:14:02 445
原创 排序算法
sorting algorithmhttps://en.wikipedia.org/wiki/Sorting_algorithm排序算法本文来自于:https://en.wikipedia.org/wiki/Sorting_algorithm本文保留了上面链接的绝大部分内容,省略了“我自认为”不重要的部分。点击上面链接查看原文在计算机科学中,排序算法就是把list中的元素 按特定顺...
2020-04-22 21:08:58 971
原创 解释“鸡蛋掉落问题”的题意
鸡蛋掉落问题是一道动态规划题,也就是leetcode的https://leetcode-cn.com/problems/super-egg-drop/我发现不止我一个人搞不懂该题的题意。本文不讨论如何解决该问题,仅仅用大白话解释下题意。问题:2个蛋,100层楼必定存在一个楼层F满足: a. 0 =< F <= 100 b. 站在楼上扔鸡蛋,楼层<=...
2020-04-08 01:30:52 282
原创 "ls >foo 2>&1" 和 "ls 2>&1 >foo" 的区别
ls >foo 2>&1和ls 2>&1 >foo有什么区别?Bash执行的全部步骤还记得吗?再来复习一下1. 把 word和operator 解析成 命令和其他组件2. 移除掉 某些word的 特殊含义3. 执行expansion4. 执行 输入和输出 重定向5. 执行命令6. 等待命令返回(异步命令时,直接返回0)也就是...
2019-12-10 12:39:09 320
原创 经历expansion后,就会经历word splitting
经历expansion后,就会经历word splittingmarvin@vm1:~$ echo a$'\t\t'b ca b cmarvin@vm1:~$ sf/echowhat.sh a$'\t\t'b c#! /bin/bash --verboseecho $0sf/echowhat.shecho $1a becho "$1"a becho $2cm...
2019-11-19 18:44:41 178
原创 交互式shell(Interactive Shells)
本文来自于:https://tiswww.case.edu/php/chet/bash/bashref.html#Interactive-Shells在linux系统中,我们打开terminal就是开启了一个Bash进程,也就是开启了一个shell,此时的shell就是interactive shell。下图就开启了一个interactive shell。echo $-时包含i...
2019-11-09 15:30:36 10222
翻译 认证加密(AE, Authenticated Encryption)
目录关联数据的认证加密(AEAD, Authenticated encryption with associated data)认证加密的三种实现方式一、Encrypt-then-MAC (EtM)二、Encrypt-and-MAC (E&M)三、MAC-then-Encrypt (MtE)本文翻译自:https://en.wikipedia.org/wiki...
2019-07-29 00:48:54 9725 3
原创 跨域时(cross-origin) Access-Control-Allow-Credentials对 CORS-actual request的response 的影响
本文参考了:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials概述Access-Control-Allow-Credentials唯一的合法值是小写的true(大小写敏感)。如果不需要credentials,直接不设置该header,不要设置false...
2019-02-28 10:33:43 3203
原创 跨域时(cross-origin),XMLHttpRequest.withCredentials对cookie的影响
本文参考了:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials 概述XMLHttpRequest.withCredentials不止控制着 browser-->server的request中 是否携带credentials信息,还控制着前端JavaScript如何使用 se...
2019-02-25 23:39:10 1840 1
原创 Cross-Origin Resource Sharing (CORS)
尚未完整,待细化本文总结于:https://developer.mozilla.org/en-US/docs/Glossary/CORS本文参考了:https://fetch.spec.whatwg.org/#cors-request CORS时,何时会发CORS-preflight request下面任意一个条件被满足时,就会发CORS-preflight request。即...
2019-01-30 07:02:36 814
原创 MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁
目录阅读提示文章正文开始一、隔离级别(isolation level)二、一致性非锁定读和锁定读1. 一致性非锁定读(consistent nonlocking read)2. 锁定读(locking read)三、InnoDB提供的8种不同类型的锁1. 共享锁或排它锁(Shared and Exclusive Locks)2. 意向锁(Intention Lo...
2019-01-17 16:48:42 6519 11
翻译 每一个shard都需要有个家
这是一篇译文,原文(Every shard deserves a home)于2016-11-11发布在elastic官方博客。译文稍有更改阅读提示文章包含很多gif动图,你可以使用“2345看图王”查看/暂停/回放gif动图的每一帧所有图片都可以在新标签页中查看大图“索引”有时作动词,有时作名词。例如“当索引第一个文档到新的索引中时...”,第一个索引是动词,第二个索引是名词术语及翻译。有些术语...
2018-04-19 22:27:38 1265
原创 mysql varchar 的最大长度
mycolumn varchar(M),这里的M是字符个数还是字节个数,M的最大是多少?首先,这个官方文档截图,回答了所有问题下面,中文解释下先说结论:1. M 是字符的个数2. M 的最大值 取决于 行字节数(这是个常量值,即65535)以及 建表时的charset详细是这样的:mysql中,任何一个表中,行字节数(即,所有colu
2015-05-18 22:36:06 1461
原创 不用想着把工作做到尽善尽美
4.27晚搞到4.28凌晨4:30,回到家5点,然后睡不着,拿着手机刷,一直搞到7:30才开始睡,然后9:30就醒了。感觉还行,但是反应有些迟钝中午出去买点牛肉吃,然后就想到程序还可以再改进下,“出发地点”,“出发时间”,“服务语言”可以放到预定须知里面,这样,可以保留自己设置的html tag。或者,即使在现在的 行程描述 里面,应该也是可以通过对方的 API 使其显示的更漂亮我想说的就
2015-04-28 14:26:52 1125 1
原创 给定1亿int,找出最大的100个
给定1亿个数,找出 最大的 100个1. 用一个长度是 101 的数组,建立 小顶堆(0号元素不用,主要是为了使用堆的性质:父结点i,则,左右结点是 2i 和 2i+1)2. 用堆顶 和 每个 取得的数 进行比较。(a. 堆顶 >= 取得的数,则,忽略 取得的数 b. 否则,把堆顶 替换为 取得的数)3. 新得到的堆, 堆顶 的左右子树 都是 完美堆。需要调整 堆顶(调整算法 就是 构
2015-01-11 20:16:57 1576 2
原创 Java Puzzler-44 Cutting Class,为什么我没有 NoClassDefFoundError?
Java解惑(即:Java Puzzlers: Traps, Pitfalls, and Corner Cases),作者 Joshua Bloch, Neal Gafter(Joshua Bloch就是 effective java和java concurrency in practice的作何)第44条,为什么我就是搞不出来 NoClassDefFoundError,搜索了下,原因是 JD
2014-12-10 17:45:48 1034
原创 ubuntu安装openldap
ubuntu安装openldap在ubuntu 14.04 上,安装 openldap,如果你搜索下,你会发现到处都在说 "configure: error: BDB/HDB: BerkeleyDB not available" 的错误,而且,每篇文章都会说是“BerkeleyDB和openldap不兼容,从而导致的各种问题”。今天安装了下,都特么累出屎了,好在翻到这篇文章 http://
2014-07-20 22:46:24 12930 1
UML与Rational Rose 2002从入门到精通 光盘
2011-08-09
SVN的Eclipse最新插件以及安装方法
2010-04-20
正则表达式的绝好资料
2008-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人