代码改变世界

随笔分类 -  开源研究

解码 xsync 的 map 实现

2024-07-17 09:14 by 轩脉刃, 271 阅读, 收藏, 编辑
摘要: 解码 xsync 的 map 实现 最近在寻找 Go 的并发 map 库的时候,翻到一个 github 宝藏库,xsync (https://github.com/puzpuzpuz/xsync) 。这个库提供了一些支持并发的数据结构,计数器Counter,哈希 Map,队列Queue。我着重看了下 阅读全文

notion database 必知必会

2024-03-13 09:53 by 轩脉刃, 656 阅读, 收藏, 编辑
摘要: notion database 必知必会 用过 mysql 的同学一定很容易上手 notion 。在 notion 中,掌握好 database,基本上就掌握了 notion 最核心的概念。 notion 的 database 对应的就是数据库中的 table。在 notion 的 database 阅读全文

http connect 是什么?

2023-01-13 08:32 by 轩脉刃, 2181 阅读, 收藏, 编辑
摘要: 理解http connect,如何用它来做vpn? HTTP Connect 是一种通过 HTTP 协议进行端到端通信的方式。它通过在两个网络节点之间建立一条隧道来实现通信。这个隧道是建立在 HTTP 协议之上的,因此可以穿过防火墙、NAT 等网络安全设备。 使用 HTTP Connect 建立 V 阅读全文

MOS 知识了解

2023-01-13 08:31 by 轩脉刃, 1498 阅读, 收藏, 编辑
摘要: Mean Opinion Score (MOS)是用来评估音频或视频质量的一种标准。MOS分数是基于专家评估,它反映了在某种条件下观众或听众对音频或视频质量的意见。 MOS分数通常在1到5之间,其中5表示最佳质量,1表示最差质量。 MOS分数是由多个专家进行评估得出的,并且是在相同的条件下进行评估的 阅读全文

以后就用它了,mermaid

2023-01-04 15:33 by 轩脉刃, 3365 阅读, 收藏, 编辑
摘要: 之前我画流程图一直是使用plunuml。但是昨天我发现typora竟然不支持。typora支持的是一种叫mermaid的语法。然后我又研究了一下,iwiki也支持这种语法。 Mermaid是一种开源的可交互式的数据可视化库,它使用 Markdown 标记语言来生成图表和流程图。它通常用于生成网站或文 阅读全文

MYSQL如何比对版本号字符串

2022-05-17 09:28 by 轩脉刃, 603 阅读, 收藏, 编辑
摘要: MYSQL如何比对版本号字符串 mysql 数据库中存储了一个形如“2.7.6.526” 的版本号,现在要获取出小于某个版本号的数据,怎么做?这个就是昨天遇到的一个问题,记录下查到的解决方法: SELECT * FROM device_table WHERE CONCAT( LPAD(SUBSTRI 阅读全文

丈量你的代码,从cloc开始

2021-12-19 15:50 by 轩脉刃, 1125 阅读, 收藏, 编辑
摘要: 如果我想统计我当前的项目有多少代码量?行数最高的代码文件有哪些?并且排除某些目录,怎么统计?要统计出注释多少行,和代码多少行?使用cloc就行。 cloc是一款使用Perl语言开发的开源代码统计工具,支持多平台使用、多语言识别。 mac上安装cloc还是用brew最为简单, brew install 阅读全文

使用plantuml,业务交接就是这么简单

2021-12-14 07:09 by 轩脉刃, 1265 阅读, 收藏, 编辑
摘要: 使用plantuml,业务交接就是这么简单 你好,我是轩脉刃。 最近交接了一个业务,原本还是有挺复杂的业务逻辑的,但发现交接过来的项目大有文章,在项目代码中有一个docs文件夹,里面躺着若干个 puml 文件,这些puml文件把业务中最核心的一些业务流程图和时序图都绘制清楚了。看到这个文件夹无异于发 阅读全文

谈服务可用性监控

2020-12-24 10:00 by 轩脉刃, 2053 阅读, 收藏, 编辑
摘要: 谈服务可用性监控 一个服务的监控从整体考虑,要达到哪些才能算是完善的?我想,如果没有一个全局性的监控思考,一个服务的监控即使加的再多也是会有监控盲区的。 监控的层次 从基础机器到上层业务,分为三个不同层次:系统,应用,业务。不同的层次都应该有其不同的监控目的。 系统监控 这个层次监控服务所在服务器的 阅读全文

从零开始搭建运维体系 - ansible

2018-12-17 14:27 by 轩脉刃, 2440 阅读, 收藏, 编辑
摘要: 从零开始搭建运维体系 ansible 基本配置好了局域网内的机器后,第一个遇到的问题就是如何批量操作这么多台机器,ansible就是这么一个自动化运维工具。 ansible是一个基于ssh的批量远程操作命令工具。它有分管理端和被管理端,管理端安装ansible,被管理端什么都不需要安装。这个是非常方 阅读全文

从零开始搭建运维体系 - 开始篇

2018-12-15 22:01 by 轩脉刃, 1602 阅读, 收藏, 编辑
摘要: 从零开始搭建运维体系 开始篇 如果给你一批机器,并且这一批机器在和外部不通的局域网内部,让你从零开始搭建一套运维体系,应该怎么做呢?有哪些开源工具和项目可以使用呢?这个系列的文章就想带大家一起讨论这个问题。 重现场景 首先我们需要使用vagrant搭建3台centos7的机器,这三台机器使用的配置大 阅读全文

webdav 概览

2018-08-14 21:08 by 轩脉刃, 2644 阅读, 收藏, 编辑
摘要: webdav 概览 WebDav(Web Distributed Authoring and Versioning) 是一个控制远端Web资源的协议,它基于HTTP1.1。它的定义在RFC 4918(https://tools.ietf.org/html/rfc4918)。这个协议的场景可以是分布式 阅读全文

c 编译器大全

2018-06-12 15:50 by 轩脉刃, 3692 阅读, 收藏, 编辑
摘要: c 编译器大全 看了下nginx的auto/cc下的目录,nginx对多种c语言的编辑器都进行了支持。才知道c语言有那么多编辑器。 编译器原理 所谓编译器,就是执行下面的三步骤: 1 将目标语言转换为AST抽象语法树 2 优化抽象语法树 3 将抽象语法树转化为适用于各个系统架构的指令集 各种编译器 阅读全文

UUID那些事

2018-05-16 12:25 by 轩脉刃, 6098 阅读, 收藏, 编辑
摘要: UUID那些事 "UUID" 是一个全局唯一的通用识别码。它使用某种规则,而不是某种中心化的自增方式,来保证这个识别码的全局唯一性。UUID 有非常多的使用场景,比如在分布式系统中,需要生成全局唯一 ID 来进行日志记录。UUID 的生成规则由 "rfc4122" 来进行定义。 UUID 和 GUI 阅读全文

Scala中的override

2017-12-12 10:30 by 轩脉刃, 8648 阅读, 收藏, 编辑
摘要: Scala中的override override是覆盖的意思,在很多语言中都有,在scala中,override是非常常见的,在类继承方面,它和java不一样,不是可写可不写的了,而是必须写的。如果不写而覆盖了对应的属性或者方法的话,编译器就会报错了。今天把scala中的override的各种地方都 阅读全文

spark的sparkUI如何解读?

2017-11-01 07:44 by 轩脉刃, 6794 阅读, 收藏, 编辑
摘要: spark的sparkUI如何解读? 以spark2.1.4来做例子 Job schedule mode 进入之后默认是进入spark job 页面 这个说明有很详细的解释,spark有两种操作算子:转换算子(transformation)和执行算子(Action)。当执行到行为算子的时候,就出发了 阅读全文

spark在idea中本地如何运行?(处理问题NoSuchFieldException: SHUTDOWN_HOOK_PRIORITY)

2017-10-20 15:49 by 轩脉刃, 1927 阅读, 收藏, 编辑
摘要: spark在idea中本地如何运行? 前几天尝试使用idea在本地运行spark+scala的程序,出现了问题,http://www.cnblogs.com/yjf512/p/7662105.html 当时还以为是本地spark安装问题,今天发现原来不是。记录如下: 现象 使用pom写了一个程序,发 阅读全文

初识hadoop

2017-05-05 18:32 by 轩脉刃, 852 阅读, 收藏, 编辑
摘要: 初识hadoop 概念 hadoop首先是大数据领域。大数据领域至少是分布式的,分布式数据必然是有一定规模了。如果数据只有几个G或者更小就没有什么意义了。 hadoop最核心的概念就是HDFS和MapReduce。hadoop的源码在github上也有对应的开源:https://github.com 阅读全文

查询运营商的ip段

2017-03-30 06:39 by 轩脉刃, 5364 阅读, 收藏, 编辑
摘要: 查询运营商的ip段 所有的IP地址都是通过国际组织NIC(Network Information Center)统一分配的,目前世界上有三个这样的网络信息中心: InterNic: 负责美国及其他地区 ENic: 负责欧洲地区 APNIC: 负责亚太地区 像我们中国的所有运营商,比如六大运营商(中国 阅读全文

解锁redis锁的正确姿势

2017-03-22 07:11 by 轩脉刃, 10865 阅读, 收藏, 编辑
摘要: 解锁redis锁的正确姿势 redis是php的好朋友,在php写业务过程中,有时候会使用到锁的概念,同时只能有一个人可以操作某个行为。这个时候我们就要用到锁。锁的方式有好几种,php不能在内存中用锁,不能使用zookeeper加锁,使用数据库做锁又消耗比较大,这个时候我们一般会选用redis做锁机 阅读全文