- 博客(226)
- 资源 (20)
- 收藏
- 关注
原创 互联网行业框架分类及各自代表
在互联网行业中,开发框架可以根据其用途和设计目标分为几大类。每一类框架都有其特定的应用场景和代表工具。为此有必要梳理下框架的分类以及他们之间的关系。
2025-03-22 11:49:42
848
原创 bazel构建C++项目
相信大家对于make和cmake都或多或有写了解,这里不放回顾下。cmake是makefile的上层工具,其目的正是为了生成可移植的makefile,简化手写makefile时的巨大工作量。关于 makefile 的编写可以参见:这里。Bazel则是一款与Make、Maven类似的构建工具。最初是google为其内部软件量身定制的工具,如今支持绝大多数软件的构建。(1)多语言支持:C++、Java等,也可以扩展到其他编程语言。(2)高级构建描述语言。
2025-02-07 20:08:15
707
原创 98、验证二叉搜索树
代码中只是单纯的 判断 root节点的左孩子(存在的话)小于root、root节点的右孩子(存在的话)大于root;因为,我们要确保右子树的所有节点都大于根节点、左子树的左右节点都小于根节点;上述写法只是确保右子树的根节点确实符合顺序,但是右子树中完全可能有其左子树的节点小于root。即记录前一个遍历到的节点,拿当前遍历到的节点同记录的前一个节点进行比较(记得更新即可)。对于二叉搜索树类的题目最重要的特性就是他的中序遍历序列是单调递增的。要求:给一个二叉树,判断是否是一个有效的二叉搜索树。
2024-10-06 16:16:10
375
原创 763、划分字母空间
(总共26个字母)。(6)以"ababcbacadefegdehijhklij"为例。①当我们遍历到第一个字符a的时候该片段右边界至少要到小标8,好在0~8中出现的字符并没有谁最后一次出现的位置超过8,所以第一个片段就是[0,8];②继续遍历下面的d,此时该片段的右边界至少到下标14;但是在遍历到[9,14]中的小标10的e时候,就不得不把右边界扩展到包含下标为15的e。以此类推。
2024-09-12 21:41:59
324
原创 96、不同的二叉搜索树
h(n)表示以1~n为头结点的二叉树种类数,显然有: G(n) = h(1) + h(2) + h(3)。集合BST特性知:。2、以第i个元素为根节点时其对应的个数=[1, i-1]个元素构成的左子树种类 * [i+1, n]构成右子树种类。即:dp[3] = dp[0]*dp[2] + dp[1]*dp[1] + dp[2]*dp[0]此时其右子树是由{2,3}两个数构成的BST.其实 这里的右子树{2,3}完全可以看成{1,2}因为{1,2}构成的BST和{2,3}构成的BST的个数是完全一样的!
2024-07-18 15:48:42
926
原创 C++STL梳理
尽管不同容器对应着不同类别的迭代器,但这些迭代器有着较为统一的定义方式,具体分为 4 种,如表 1 所示。表 2 迭代器的 4 种定义方式迭代器定义方式具体格式正向迭代器容器类名::iterator 迭代器名;常量正向迭代器容器类名::const_iterator 迭代器名;反向迭代器容器类名::reverse_iterator 迭代器名;常量反向迭代器容器类名::const_reverse_iterator 迭代器名;
2024-06-24 20:29:51
1344
原创 VSCode调试C++
开源、功能强大(高亮/自动补齐都是最基本的功能);轻量,相对xcode轻量太多;几乎可以用来编写所有的语言、甚至写文档,只要安装对应插件即可;个性化配置程度高;
2024-04-03 19:56:15
6172
原创 kubernetes(k8s)之实战进阶篇
本质上将包括前面的kubectl命令行工具、后边编写配置文件最终其实都是调用的api。k8s又更细的比较频繁,不同版本的api也会有些差异;所以还是要了解下api的一些东西。关于api的概念可以参考中文官网:Kubernetes API 概念 | KubernetesREST API是k8s系统的重要部分,组件之间的所有操作和通信都是由API Server处理的REST API调用,大多数情况下API的定义和实现都符合 HTTP REST格式。
2024-03-31 13:20:04
2663
原创 kubernetes(k8s)之概念入门篇
kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是然该部署容器化的应用简单而且高效,kubernetes提供了应用部署,规划,更新,维护的一种机制。其实提到管理容器第一想到的肯定是docker compose,只不过他是单主机的;而k8s是天然的用于多主机管理的应用,显然功能更加强大。kubernetes这个名字源于希腊语,以为“舵手”、“飞行员”。“K8S”这个缩写是因为k和s之间有八个字符,所以这样缩写。
2024-03-12 19:57:14
1123
原创 docker学习进阶篇
从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,Dockerfile是软件的原材料Docker镜像是软件的交付品Docker容器则可以认为是软件镜像的运行态,也即依照镜像运行的容器实例Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。
2024-03-08 11:33:55
1539
1
原创 docker学习入门篇
docker官网: www.docker.comdockerhub官网: hub.docker.comdocker文档官网:docs.docker.comDocker是基于Go语言实现的云开源项目。Build, Ship and Run Any App, Anywhere(构建,装载任何应用在任何地方),也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能做到一次镜像,处处运行。
2024-03-08 11:27:16
10127
1
原创 一文了解docker与k8s
随着 k8s 作为容器编排解决方案变得越来越流行,有些人开始拿 Docker 和 k8s 进行对比,不禁问道:Docker 不香吗?其实 Docker 和 k8s 并非直接的竞争对手两者相互依存。 Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。(1)虚拟化技术已经走过是三个时代,没有容器化技术的研究就不会有Docker技术的诞生。1)物理机时代: 多个应用程序排在一台机器上。2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机跑多个程序。3)容器化时代:一台物理
2024-02-27 19:21:38
5553
5
原创 6.ELK之Elasticsearch嵌套(Nested)类型
在Elasticsearch实际应用中经常会遇到嵌套文档的情况,而且会有“对象数组彼此独立地进行索引和查询的诉求”。在ES中这种嵌套文档称为父子文档,父子文档“彼此独立地进行查询”至少有以下两种方式:1)父子文档。在ES的5.x版本中通过parent-child父子type实现,即一个索引对应多个type;对于6.X+版本由于不再支持一个索引多个type,所以父子索引的实现改成了Join。2)Nested嵌套类型。
2023-11-07 19:51:16
5794
1
原创 22.MongoDB删除操作效率及相关问题验证
最近遇到一个了一个MongoDB数据删除的问题,需要一次性删除上线即1.5年前~1年前的数据且之后每天清空一年过期的数据。在数据量比较大的情况下何种方式的删除效率最高是一个值得研究的问题,本文通过实际测试找出其中规律。本文采用腾讯云mongodb集群进行验证。mongd配置较弱为2核4G,验证仅仅针对副本集不涉及分片集群。测试数据集如下,共计1000w条数据。接下来会以systime字段作为筛选条件验证影响删除操作耗时的因素都有哪些。
2022-12-17 19:27:28
2634
2
原创 3.ELK之Logstash安装与使用
Logstash 是一个开源的数据收集引擎。它具有实时的数据传输能力,可以按照我们定制的规范来做数据的收集、解析和存储。也就是说Logstash有3个核心组成部分,分别是数据收集、数据解析和数据转存。这个三个部分组成了一个类似于管道的数据流,由输入端进行数据的采集,管道本身做数据的过滤和解析,输出端把过滤和解析后的数据输出到目标数据库中。大致翻一下官方手册可以看到其功能还是非常强大的。
2022-10-01 10:11:47
3175
原创 内存检查工具valgrind介绍、安装与使用
关于内存泄漏动态检查的工具有很多,其中使用最广泛的可能就是valgrind了。面向应用,valgrind是内存调试(例如排查内存泄漏)十分得力的工具。
2022-08-19 16:24:45
1687
原创 Linux下的web服务器搭建
有时间好好研究这个。一、httpd简介 apache server(httpd),作为非常流行的web服务器,长期以来稳居第一。Apache httpd又可以简称为httpd或者Apache,是Internat使用最广泛的web服务器之一,使用Apache提供的web服务器是由守护进程httpd通过http协议进行文本传输,默认使用http(端口80)的明文传输方式。当然后来为了保证数据的安全和可靠性,有添加了https(端口443)的加密传输方式。Linux中web服务器的搭建与....
2022-08-09 10:06:53
10828
6
原创 5.ELK之ElasticSearch集群状态(shard unassigned排查)
elastic状态及shard unassigned排查
2022-06-20 17:12:38
7046
原创 wiresharks抓包分析(tcpdump抓包并还原请求体)
前言:先说下今天遇到的一个问题。和外部门同学对接消息记录拉取,采用的是pb协议,接口机的L5暴露给对方用以拉取。对方请求后表示IO超时没有收到对应回包,于是对方质疑我方有问题。现需要排查原因,更准确说如何找证据打脸对方。分析:我方业务是相对成熟的,这种问题大概率是对方发过来的请求不对,例如缺少某些字段导致接口机无法将请求转发给后方业务机。注:经过沟通发现对方不能打印请求体(具体原因也不管了)。思路无非如下(其中第二点是此次研究的重点):①首先tcpdump抓包看看我方究竟有没有收到对方的请求;.
2022-06-15 20:46:32
1195
2
原创 4.ELK之Elasticsearch常用curl命令
一、前言:其实官网上都有相关的kibana API按照curl的形式赋值出来就行了。举个例子:如下对比查看索引的kibana指令与curl指令。#kibana指令,查看es集群下的索引GET /_cat/indices?v#如下为复制出来的对应curl指令#注:对于使用者来说记得把ip:port更换成你当前的ip:port并且确保能访问通就可以了curl -X GET "localhost:9200/_cat/indices?v"#如下都是可以的curl -X GET ".
2022-05-27 20:24:05
17960
1
原创 linux的/proc/{pid}/maps介绍及使用(定位内存泄漏)
1、介绍简单来说就是查看进程的虚拟地址空间是如何使用的。总共包括六列,每列及其含义如下。address | perms | offset | dev | inode | pathname(1)地址:本段在虚拟内存中的地址范围;对应vm_area_struct中的vm_start和vm_end。(2)权限:本段的权限; r-读,w-写,x-执行, p-私有;对应vm_flags。(3)偏移地址:即本段映射地址在文件中的偏移;对于有名映射指本段映射地址在文件中的偏移,对应vm_pgoff;对于匿
2022-04-03 12:43:39
13455
1
原创 python发起http请求(httplib)
记录学习经历一个可用的实例如下。关于lib几个函数的使用介绍参见这里: 这里#!/usr/bin/python#coding:utf-8import httplib,urllibhttpClient =Nonetry: params =urllib.urlencode({'uin':2852199330}) #headers = {"Content-Type": "application/json", "Accept": "text/plain"} header...
2022-03-01 21:10:52
1313
原创 腾讯云dts使用注意事项
如下是mongodb之间的数据迁移的一些注意点。DTS使用注意事项:(1)dts迁移是什么维度的迁移?? 这个是可选的。可以全量迁移、也可以全量+增量的迁移。可以指定整个实例的迁移、也可以指定db甚至指定集合进行迁移。(2)目标数据库建立同名db、同名集合经过验证这些都是ok的;会给你一个提示。他的实际玩法是发现有了这些之后dts就会跳过这些步骤,进入后续阶段。(3)验证一下dts对于索引的处理。源库的索引会被原封不动的同步过来,经过验证确实如此。所以说你需要确保这些索...
2021-11-29 16:14:09
1064
原创 18.MongoDB之balancer
可以参考分片集群的介绍这里可以参见chunk预分片的介绍 这里关于均衡及官网介绍这里 这里前言:使用MongoDB当你对Chunk、Split、Balancer(甚至于jumbo chunk、autosplit)有一定了解后,Mongo对于你就不在是一个整体了,分分合合、动态平衡的视角应该在你的脑海中呈现。一、balancer(均衡器)简介1、简介①Balancer是一个监视各个shard上的chunk数的后台进程;②他运行在Config Server副本集的prim...
2021-11-26 15:05:21
3169
1
原创 17.Mongodb预分片(pre-split)/autosplit(chunk/jumbochunk相关)
一、为什么要预先分片有的时候mongodb的读写量并不是很大,但是cpu负载相对较高;另外有时候在迁移数据的时候发现整体的进度好慢。这个时候可能就需要留意两种情况了:一个是mongodb是否频繁的balance;另一个是否有频繁的split操作。通过手动预分片我们可以尽量的避免这种频繁balance和split对cpu和IO资源的消耗。二、chunk数以及chunk范围等的查看看 还是那句话,建立反馈机制非常重要。最理想的情况就是你的每一个操作都有迹可循、都......
2021-11-25 15:58:06
1980
5
原创 同源策略与跨域
前言:最近业务上前端同学多次联系说访问腾讯云cos资源的时候因为跨域的问题访问不到。大致看了下腾讯云关于设置跨域访问的教程,按照前端同学给的域名等选项就给配了,而且测试下来也是好的。但是呢一直不知道什么是跨域这里就做一个简单的学习记录。一、同源策略同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能。同源策略会阻止一个域的javascrip脚本和另一个域的内容进行交互,是用于隔离潜在恶意文件的关键安全机制;关于这一点我们后面会举例说明。...
2021-11-21 18:12:59
19628
8
转载 TCP,UDP,IP数据包格式详解
在 TCP/IP 协议中,使用 IP 协议传输数据的包被称为 IP 数据包,每个数据包都包含 IP 协议规定的内容。IP 协议规定的这些内容被称为IP 数据报文(IP Datagram)或者IP 数据报。IP 数据报文由首部(称为报头)和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。每个 IP 数据报都以一个 IP 报头开始。源计算机构造这个 IP 报头,而目的计算机利用 IP 报头中封装的信息处理数据..
2021-11-09 11:39:06
10027
原创 Linux安装配置 VNC Server
1、安装图形化界面(1)查看当前的运行级别和可以安装的groupsystemctl get-defaultyum grouplist注意:这里list的结果如下没有“GNOME Desktop”之类的而且下面的语句也执行提示不存在就以为这这个镜像缺少相关的源。当然对于云服务器这个问题还是比较好解决的,例如重装一个centos的系统之类的。然后安装GNOME桌面环境yum groupinstall "GNOME Desktop" "Graphical Administrat...
2021-10-27 21:02:13
1398
原创 wireshark学习使用
零、安装的话网上很多。一、入门使用的话可以参考这个,如何抓起安装机本地网卡的数据、已经常用的filter语法。wireshark抓包新手使用教程 - jack_Meng - 博客园二、对于远端机器一个常用的玩法就是使用tcpdump抓取数据包文件,然后用本地的wireshark来看。晚点研究下。三、如何用wireshark抓远端机器的数据呢?——肯定是能的。晚上搜“wireshark 抓取远程linux服务器 数据包” 之类的就能搜到很多。我们这里就看一下,mac w..
2021-10-25 11:08:02
411
MD5 C++程序算法实现
2022-11-28
pthread_create传递参数(线程函数传递参数示例)
2022-04-28
protobuf根据DebugString输出字串反解pb对象的实例(C++)
2021-10-21
基于protobuf反射特性的pb、json相互转换的实例程序(C++)
2021-10-21
libcurl使用实例、基于libcurl封装的方便用户使用的easy_curl类 以及该类的使用实例
2021-10-21
解析amr文件时长c++实例代码(包含arm语音文件实例)
2021-10-21
Protobuf使用手册.doc
2020-03-28
VMwareTools-10.2.0-7259539.tar.gz
2018-12-08
libbsd-0.8.3-1.el7.x86_64安装依赖库
2018-09-26
Unix环境高级编程第三版源码与源码配置说明
2018-09-26
valgrind-3.11.0.tar.bz2
2018-08-16
Maven+SpringMVC+Dubbo 简单的入门demo配置
2018-08-15
maven+springmvc+dubbo+zookeeper的生产消费者模型。
2018-08-14
SpringMVC demo
2018-08-13
mysql-connector-java-8.0.11.jar
2018-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人