自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (7)
  • 收藏
  • 关注

原创 不注册访问 Claude3 大模型

随着Claude3大模型的出世,大模型霸主地位已经发生易位,但是国内使用Claude3官网 无论是注册都不容易,本篇文章主要介绍如何不通过Claude3 官网实现Claude3 大模型的使用,

2024-03-08 20:29:10 779

原创 Viper反序列化解析字段不成功问题

name、NAME、NaMe 等等,如果名称不一致没有指定 tagName ,则默认为 mapstructure,这也是为什么带下划线或者名称不一致的字段不加 mapstructure标签无法解析的原因。默认情况下,mapstructure 使用结构体中字段的名称做这个映射,不区分大小写,比如 Name 字段可以映射到。mapstructure 用于将通用的map[string]interface{}解码到对应的 Go 结构体中。通过mapstructure映射名称。

2024-03-08 20:26:15 335

原创 Golang对比Java、python为什么要保留指针

Go 的指针一方面提供了引用语义,另一方面像 C 语言一样给了开发者灵活管理内存的能力。参考链接:樊冰心:https://www.zhihu.com/question/399589293/answer/2242103027。

2024-01-14 10:55:29 1048

原创 面试常见的场景设计题

所谓海量数据处理,就是指数据量太大,无法在较短时间内迅速解决,或者无法一次性装入内存。针对时间,可以采用巧妙的算法搭配合适的数据结构,如Hashmapbit-map堆数据库倒排索引/Trie树;针对空间,大而化小,分而治之(hash映射),把规模大化为规模小的,各个击破。海量数据分而治之/hash映射 + hash统计 + 堆/快速/归并排序;Trie树/Bloom filter/Bitmap数据库/倒排索引(问题实例:文档检索系统,查询那些文件包含了某单词,比如常见的学术论文的关键字搜索。

2024-01-14 10:42:56 1042

原创 gRPC vs HTTP

在HTTP/2协议中**,HTTP消息被分解独立的帧(Frame),交错发送,帧是最小的数据单位。然而当你的watcher成千上万的时,即使集群空负载,大量轮询也会产生一定的QPS,server端会消耗大量的socket、内存等资源,导致etcd的扩展性、稳定性无法满足Kubernetes等业务场景诉求。在etcd v3中,为了解决etcd v2的以上缺陷,使用的是基于HTTP/2的gRPC协议,双向流的Watch API设计,实现了连接多路复用。HTTP/2 不是 gRPC 独占的。

2024-01-14 10:39:59 1124

原创 05.neuvector网络学习与管控实现

dp侧收到ctrl_add_tap_port数据后,执行路径如下dp_ctrl_handler->dp_ctrl_add_tap_port->dp_data_add_tap->dp_alloc_context->dp_open_socket(创建AF_PACKET的socket并绑定容器的网络接口eth0)->dp_ring_v1(通过setsockopt创建的接收的环形缓冲区-)

2024-01-13 20:58:13 1042 2

原创 04.neuvector进程策略生成与管控实现

欢迎大家关注我的github。

2024-01-13 20:56:19 422

原创 03.neuvector之组的划分逻辑

NeuVector 会自动从正在运行的应用程序中创建组。这些组以前缀‘nv‘开头。您也可以使用 CRD 或 REST API 手动添加它们,并且可以在任何模式下创建、发现、监视或保护。网络和响应规则需要这些组定义。对于自动创建的组(以“nv”开头的“学习”组) ,NeuVector 将学习网络和处理规则,并在发现模式下添加它们。自定义组不会自动学习和填充规则。注意: nv组开始时默认为进程/文件保护启用零漂移。

2024-01-13 20:50:14 962

原创 02.neuvector之Enforcer容器功能介绍

Enforcer容器在neuvector中主要负责网络与DLP/WAF的规则策略的实现以及网络数据的采集上报;以DaemonSet的方式运行,主要有三个进程monitor、agent、dp;monitor:负责监控其他进程是否正常运行以及资源消耗等;agent:负责与controller容器进行交互,通过grpc与consul实现数据上报与策略下发,其中进程与文件的策略学习与防护由agent做,网络相关具体实现由dp进程实现;dp:负责网络的数据采集上报,网络拦截告警等相关功能;

2024-01-13 20:48:19 422

原创 01.neuvector防护平台功能实现设计

本篇文章主要讲neuvector大概的设计与实现,功能实现细节可查看后续文章,

2024-01-13 20:43:42 1031

原创 PostgreSQL对比Mysql

需要根据具体的应用需求和业务场景来选择适合的数据库。PostgreSQL的灵活性、性能和可靠性使其适用于各种不同类型的应用场景。无论是开发Web应用、处理地理空间数据,还是进行数据分析和构建企业级应用,PostgreSQL都提供了强大的功能和支持[

2023-12-02 16:58:44 254

原创 04.PostgreSQL是如何实现隔离级别的?

PostgreSQL 是支持事务的,事务的四大特性是原子性、一致性、隔离性、持久性,我们这次主要讲了隔离性。当多个事务并发执行的时候,会引发脏读、不可重复读、幻读这些问题,那为了避免这些问题,SQL 提出了四种隔离级别,分别是读未提交、读已提交、可重复读、串行化,从左往右隔离级别顺序递增,隔离级别越高,意味着性能越差,PostgreSQL 引擎的默认隔离级别是读已提交。**在PostgreSQL里,你可以请求四种可能的事务隔离级别中的任意一种。

2023-12-02 16:57:52 182

原创 03.PostgreSQL常用索引与优化

name text如果没有索引,数据库需要扫描整个表才能找到相应的数据。利用EXPLAINParallel Seq Scan 表示并行顺序扫描,执行消耗了 12 s;由于表中有包含大量数据,而查询只返回一行数据,显然这种方法效率很低。关于执行计划的更多信息,可以参考这篇文章。此时,如果在 id 列上存在索引,则可以通过索引快速找到匹配的结果。创建索引需要消耗一定的时间。Index Scan 表示索引扫描,执行消耗了 20 ms;

2023-12-02 16:57:20 292

原创 02.PostgreSQL 查询处理期间发生了什么?

解析器(Parser)解析器根据SQL语句生成一颗语法解析树(parse tree)。分析器(Analyzer)分析器对语法解析树进行语义分析,生成一颗查询树(query tree)。重写器(Rewriter)重写器按照规则系统中存在的规则,对查询树进行改写。计划器(Planner)计划器基于查询树,生成一颗执行效率最高的计划树(plan tree)。执行器(Executor)执行器按照计划树中的顺序访问表和索引,执行相应查询。

2023-12-02 16:56:40 334

原创 01.PostgresSQL进程与基础架构

文中主要内容引用自本篇文章主要讲述PostgreSQL中进程与内存的架构。

2023-12-02 16:55:55 246

原创 Kubernetes集群架构与组件介绍

主要负责所在节点上的Pod资源对象的管理,例如Pod资源对象的创建、修改、监控、删除、驱逐及Pod生命周期管理等。的组件, 该组件公开了 Kubernetes API,API Server 是整个系统的核心组件之一,它是 Kubernetes API 的前端。总之,API Server 是 Kubernetes 系统中非常重要的组件之一,它为整个系统提供了一个统一的入口和管理接口,使得 Kubernetes 的各个组件可以相互协作,从而实现对 Kubernetes 集群的管理和监控等操作。

2023-06-01 22:03:48 695

原创 linux中etc目录下hosts与resolv.conf文件作用

总的来说,和/etc/hosts文件都是非常重要的配置文件,它们可以帮助操作系统正确地解析域名和IP地址的对应关系,从而保证网络连接的正常运行。

2023-06-01 22:03:09 4742

原创 client-go架构与原理介绍

下面对图中每个组件进行简单介绍:​client-go 组件:Reflector: 定义在/tools/cache 包内的 Reflector 类型中的 reflector 监视 Kubernetes API 以获取指定的资源类型 (Kind)。完成此操作的函数是 ListAndWatch。监视可以用于内建资源,也可以用于自定义资源。

2023-06-01 22:01:23 1548

原创 Golang通道阻塞情况与通道无阻塞实现

如果通道已满,并且没有协程在读取通道中的数据,那么任何试图将数据写入通道的协程都会被阻塞,直到有空间可用为止。如果通道为空,并且没有协程在等待从通道中读取数据,那么任何试图从通道中读取数据的协程都会被阻塞,直到有数据可用为止。使用select的default语句,在channel不可读写时,即可返回使用select+定时器,在超时时间内,channel不可读写,则返回。

2023-06-01 21:56:41 1409

原创 Go语言基于ip集合推出对应的CIDR

【代码】Go语言基于ip集合推出对应的CIDR。

2023-06-01 21:56:14 458

原创 Golang内存泄露场景与定位方式

循环引用:如果两个或多个对象相互引用,且没有其他对象引用它们,那么它们就会被垃圾回收机制误认为是仍在使用的对象,导致内存泄漏。全局变量:在Golang中,全局变量的生命周期与程序的生命周期相同。如果一个全局变量被创建后一直存在于内存中,那么它所占用的内存就无法被回收,可能会导致内存泄漏。未关闭的文件句柄:如果程序打开了文件句柄但没有关闭它们,那么这些文件句柄所占用的内存就无法被回收,可能会导致内存泄漏。大量的临时对象。

2023-06-01 21:42:10 3137

原创 关于ICMP与ping:计算机网络中的侦察兵

本文章主要内容引用自:1.刘超,2.

2023-03-25 00:03:20 995 1

原创 云原生场景下的容器网络隔离技术

本文从传统网络隔离与云原生网络隔离两个角度出发,分析了现有的网络隔离技术的特点,讨论了云原生场景下网络隔离技术需要满足的特点。首先我们通过分析传统隔离得出,在面对复杂的云原生应用场景时,为了更好保护我们的业务容器安全,我们需要一些新的隔离技术去实现网络隔离。然后,我们通过介绍目前云原生网络隔离的两种实现方案,得出一个理想的容器网络隔离技术需要满足哪些特点。最后,希望通过本篇文章的分享,你能有所收获。

2023-03-24 23:57:52 564

原创 入侵检测——如何实现反弹shell检测?

如何实现反弹shell检测?

2023-03-24 23:57:39 2303 1

原创 什么是路由?

关于路由的相关介绍

2023-03-24 23:55:47 3924

原创 对称/非对称加密、数字签名、证书

对称/非对称加密、数字签名、证书相关介绍

2023-03-24 23:52:20 433

原创 应用层协议:DNS协议

网域名称系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 协议运行在 UDP 之上,DNS使用TCP和UDP端口53[1]。在网络世界,也是这样的。你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS 服务器,它是一个由分层的 DNS 服务器(DNS server)实现的分布式数据库;它还是一个使得主机能够查询分布式数据库的应用层协议。DNS 最早的设

2023-03-24 23:48:50 711

原创 应用层协议:HTTP协议(下)——请求方法与状态码、消息

HTTP协议——请求方法与状态码、消息

2023-03-24 23:47:17 438

原创 应用层协议:HTTP协议(上)——概述、主要特点、发展

HTTP协议——概述、主要特点、发展

2023-03-24 23:45:17 498

原创 应用层协议:HTTPS协议

HTTPS协议概述、特点、实现等

2023-03-24 23:42:12 348

原创 应用层协议:VPN协议

VPN协议概述以及工作机制

2023-03-24 23:40:54 75

原创 什么是路由?

关于路由的介绍

2023-02-24 14:56:03 583

原创 传输层协议:套接字Socket

本篇文章主要介绍套接字Socket的介绍、类型以及调用过程。

2023-01-18 10:17:01 922

原创 传输层协议:TCP与UDP协议的区别

传输层协议TCP与UDP协议的区别以及各自的应用场景

2023-01-18 10:16:18 1224

原创 传输层协议:TCP与UDP协议的区别

传输层协议TCP与UDP协议的区别以及各自的应用场景

2023-01-18 10:15:53 3415 1

原创 传输层协议:UDP协议

本篇文章主要介绍UDP协议的结构、主要特点以及应用场景。

2023-01-18 10:14:27 912

原创 传输层协议:TCP协议(下)——运作方式(如何三次握手、四次挥手等)

本篇文章主要介绍TCP如何三次握手、四次挥手、拥塞控制等。

2023-01-18 10:12:30 793

原创 传输层协议:TCP协议(上)——协议结构、主要特点以及应用场景

本篇文章主要介绍TCP协议的结构、主要特点以及应用场景。

2023-01-18 10:10:10 1151

原创 如何识别网络应用层协议?

本篇文章将重点介绍协议识别问题的几个基本概念 ,以及目前主要实现方式各自的优缺点及关键技术和当前具有代表性的实现项目。

2022-12-15 22:11:32 1972

原创 Go项目目录结构该怎么写?

Go项目的目录结构该怎么写?

2022-12-15 21:59:31 530

mybatis.spring.rar

整合Spring、Mybatisd对单表进行增删查改,学习Spring和Mybatis,自己写的一个小实验

2020-03-29

软考中级软件设计师09~18年真题及答案解析.rar

文件包括09-18年软件设计师真题答案以及解析

2019-10-22

04-08软件设计师汇总.rar

该文件包括04-08年软件设计师所有主题和详细解答,保质保量

2019-10-22

超级录屏 8.2.zip

超级录屏 8.2简单实用的录屏软件,操作非常简单,本人经常使用

2019-07-05

超市管理·系统.rar

超市管理系统是基于Java的课程设计成果,简单易懂,大家可以借鉴

2019-07-05

数据库复习.zip

数据库复习是期末抱佛脚的利器,欢迎

2019-07-05

空空如也

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

TA关注的人

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