自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 nginx使用长连接代理grpc流量

Nginx在1.13.10版本支持了对grpc流量的反向代理,恰好业务有需求,要在sidecar容器中代理grpc流量。因此参考进行了配置。但是并未如预期般顺利运行,按照示例配置后,nginx与后端的grpc服务并非长连接,导致了一系列问题,在此做个记录。

2022-10-09 18:55:13 2268 1

原创 k8s 缩容时待删除pod的选择

Deployment是k8s中最常用的一种工作负载,用于管理无状态的服务pod,对于无状态服务来说,每个pod自然是平等的,那么在进行缩容操作时pod的选择是随机的吗,还是基于某些规则?

2022-06-21 16:23:19 1041 2

原创 机器学习评测指标概述

机器学习评测指标概述文章目录机器学习评测指标概述1. 基本分类1.1 样本类别1.2 置信度阈值1.3 IoU阈值2. 基本指标recallprecisonaccuracy3.进阶指标3.1 F1-score3.2 pr曲线定义计算方式计算函数目标检测的pr曲线计算多分类p-r曲线计算方式3.3 mAP定义求解方式计算函数3.4 混淆矩阵定义计算函数参考文献1. 基本分类1.1 样本类别机器学习评测任务的一个样本,根据预测结果和标注结果的不同,有如下所示的四个类别:真实\预测正类负类

2022-05-07 21:15:49 718

原创 Kubernetes概述

文章目录Kubernetes概述k8s提供的功能k8s的组件控制面板组件Node组件插件k8s架构Podspod内共享资源和通信存储网络静态podpod的限制性拓扑策略pod如何管理多个containers示例工作负载类型deploymnetstatefulsetDeamonSetJobs服务暴露服务的方式拓扑感知提示EndpointSlice 控制器服务内部流量策略虚拟IP与Service代理userspace 代理模式iptable代理模式ipvs代理模式调度过滤GeneralPredicatesVol

2021-06-06 21:14:54 447 2

原创 C++网络编程之路(二):TCP通信基本流程

不管多么复杂的服务器或客户端程序,其网络通信的基本原理一定如下所述:对于服务器,其通信流程一般有如下步骤: 123456 1. 调用 socket 函数创建 socket(侦听socket)2. 调用 bind 函数 将 socket绑定到某个ip和端口的二元组上3. 调用 listen 函数 开启侦听4. 当有客户端请求连接上...

2020-04-21 18:09:22 823

原创 C++网络编程之路(一):常见socket函数

用这个系列在记录自己的C++网络编程之路。首先,网络编程必然离不开socketAPI函数,大多数 Socket API 都源于BSD Socket(即伯克利套接字(Berkeley Sockets)),因此这些 socket 函数在不同的平台有着相似的签名和参数。### 常用的socketAPI函数函数名称 函数简单描述 附加说明 socket 创造某种类型的套...

2020-04-21 18:01:30 789

原创 LeetCode 51. N-Queens

N皇后问题是一个非常经典的回溯问题class Solution {private: vector<bool> col,dia1,dia2; vector<vector<string>> res; vector<string> generateBoard( int n, vector&...

2020-03-12 17:32:49 97

原创 LeetCode 98. Validate Binary Search Tree

https://leetcode.com/problems/validate-binary-search-tree/这道题是验证一个树是否为二叉搜索树,利用二叉搜索树的性质——二叉搜索树的中序遍历是顺序数组可以轻松的判断。但是,我们这里利用二叉树的定义进行递归的判断。需要注意的是递归判断的过程中,仅仅判断当前左右子结点和根节点的关系是不足以验证的。而要注意右子树的左节点,大于根节点的这种...

2020-03-11 16:27:15 90

原创 LeetCode 437. Path Sum III

https://leetcode.com/problems/path-sum-iii/本题和之前的Path Sum有些类似,但需要注意的是,之前的路径必须是从根节点到叶子节点的路径和,而本题中任意路径都需要统计,所以我们在递归的每一层中,向下递归时需要考虑包含当前节点和不包含当前节点的情况。代码如下:/** * Definition for a binary tree node....

2020-03-11 15:19:26 88

原创 LeetCode 220. Contains Duplicate III

这一题比较类似https://blog.csdn.net/l243224118/article/details/104721663需要使得区间中的两个元素满足相差小于t,可推导为 v-t <= v<= v+t ,可以考虑使用C++的 lower_bound( v-t ) 寻找大于 v-t 的最小的元素 ,进而可以查出查找表中是否有满足条件的值。代码如下,这里需要特别注...

2020-03-07 21:13:25 103

原创 LeetCode 219. Contains Duplicate II

这道题,要查找K+1范围内是否有重复元素,考虑使用滑动窗口+ 查找表进行解决。代码如下class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { unordered_set<int> counter; for(int ...

2020-03-07 20:41:07 86

原创 LeetCode 49. Group Anagrams

https://leetcode.com/problems/group-anagrams/这也是一类查找问题,但是此查找问题需要灵活思考map中的键值关系,以更好的解决问题,在这里,因为所有的anagrams,对字符串进行排序后得到的结果相同,因此可以用排序结果作为Key ,这样一趟遍历就可以快速将其进行分类,代码如下class Solution {public: vec...

2020-03-07 18:16:48 119

原创 LeetCode 242. Valid Anagram

这也是一个查找问题,同时不是简单的查找有无,因此用map结构。https://leetcode.com/problems/valid-anagram/class Solution {public: bool isAnagram(string s, string t) { if(s.size()!=t.size()) return fals...

2020-03-07 15:58:37 65

原创 LeetCode 202. Happy Number

https://leetcode.com/problems/happy-number/这道题在遍历计算的时候,需要考虑是否出现循环,这里有涉及到一个查找问题,此外需要注意我们是查找有无还是查找对应关系,这里我们只需要查找对应的res是否出现过就可以,因此解法如下。class Solution {public: int sum (int n){ //caculate...

2020-03-07 15:54:50 143

原创 LeetCode 209. Minimum Size Subarray Sum

使用滑动窗口的方式进行求解,在[ i...j]之前滑动: 当前的sum < s 时,j++ 窗口增大,并更新 sum >=s 时,i++,缩小窗口。class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { int n = nums....

2020-03-06 22:02:37 89

原创 leetcode 11.Container With Most Water

https://leetcode.com/problems/container-with-most-water/这道题采用对撞指针的思路,从两侧向中间逼近,逼近的过程中,每次选择较低的一面墙class Solution {public: int maxArea(vector<int>& height) { auto lp = height.b...

2020-03-06 18:21:14 89

转载 控制反转(IoC)和依赖注入(DI)

前言最近在学习Spring框架,它的核心就是IoC容器。要掌握Spring框架,就必须要理解控制反转的思想以及依赖注入的实现方式。下面,我们将围绕下面几个问题来探讨控制反转与依赖注入的关系以及在Spring中如何应用。什么是控制反转? 什么是依赖注入? 它们之间有什么关系? 如何在Spring框架中应用依赖注入?控制反转在讨论控制反转之前,我们先来看看软件系统中耦合的对象。...

2019-10-30 18:22:28 399

原创 Kafka原理解析

Kafka简介Kafka 是由 LinkedIn 开发的一个分布式的消息系统,使用 Scala 编写,它以可水平扩展和高吞吐率而被广泛使用。背景介绍Kafka创建背景Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司作为多种类型的数据管...

2019-10-30 18:07:02 218

转载 Chrome开发者工具不完全指南(二、进阶篇)

Chrome开发者工具不完全指南(二、进阶篇)  上篇向大家介绍完了基础功能篇,这次分享的是Chrome开发工具中最有用的面板Sources。 Sources面板几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板。通常只要是开发遇到了js报错或者其他代码问题,在审视一遍自己的代码而一无所获之后,我首先就会打开Sources进行js断点调试,而它也几乎能解决我80%...

2019-10-22 10:24:32 268

转载 Chrome开发者工具不完全指南(一、基础功能篇)

Chrome开发者工具不完全指南(一、基础功能篇)  就算你不是一名前端开发工程师,相信你也不会对Chrome浏览器感到陌生。根据最新的一份(2015/06)的浏览器市场占有率报告,Chrome近乎占有浏览器天下的半壁江山。简单、快捷使它成为了新时代人们的新宠。如果你是一名web开发人员,我推荐你使用Chrome。作为前端开发的"IDE",你只需要搭配一个编辑器就能完成几乎所有的开发任务了。关...

2019-10-22 10:20:01 188

原创 Mac catalina 更新Xcode失败如何解决?

更新了新版的catalina系统后,Xcode一直循环下载,没有太好的解决办法,现在只能卸载重装。

2019-10-18 10:26:47 1116

原创 canal简介

canal简介canal,有水渠管道的意思,主要用于基于MySQL数据库的增量日志信息解析,提供增量数据订阅和消费。例如在bilibili的网站中,用户在视频下的评论,也需要在up主的创作中心显示,此时就需要用到canal通过对数据库日志的解析来实时获取更新。canal对数据库进行解析后交由kafka,hbase,RocketMQ等进行消费工作原理canal的工作原理依赖于数据库的主从复制...

2019-10-17 17:44:46 2602

原创 解决MacOS 出现的fatal error: 'stdlib.h' file not found 错误

升级系统后出现的报错重装下依赖包在Terminal下执行open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

2019-09-17 09:11:08 5942 1

转载 C中NULL,0,’\0’的区别

前言在C语言中,我们有时候看到NULL,有时候也看到’\0’,那它们之间有什么区别呢?本质本质来说,NULL,0,’\0’都是一样的,都是值0。是的,你没有听错。说到这本文差不多应该结束了。不过为了不被打,还是继续说一说。它们虽然值都是0,但是含义却是不一样的。NULL虽然值是0,但是它的含义不一样,或者说它的类型不一样。NULL是指针类型,不过它是空指针,即值为0。#i...

2019-08-29 09:57:49 391

原创 coRsRkrBrB

头文件中只能声明而不能定义变量//h1.hint num = 1;-------------------------------------------------------------------------------//h2.h#include "h1.h"//可以声明有一个外部变量num;extern int num;//extern int num=2; 给其赋值...

2019-08-19 22:32:22 65

原创 头文件中变量的声明和定义问题

头文件中只能声明而不能定义变量//h1.hint num = 1;-------------------------------------------------------------------------------//h2.h#include "h1.h"//可以声明有一个外部变量num;extern int num;//extern int num=2; 给其赋值...

2019-07-02 15:12:52 1768

原创 c++中 auto的一些注意事项

C++11的新标准中,引入了auto类型说明符,采用auto可以让编译器为我们去分析表达式的数据类型,省去了繁琐的描述。但是在auto的使用中,也需要注意一些细节。 1.auto可以在一条语句中声明多个变量,但是同一条声明语句只能有一个基本数据类型。auto i = 0, *p = &amp;i; //正确auto q = 0, pi = 3.14; //错误 2.编译...

2018-11-21 16:54:25 1291

原创 C++STL之 tuple

C++ tuple  的使用说明 c++中的tuple是一个允许存放多种不同的数据类型的容器,是针对pair的泛型,和pair一样在std 的namespace中,在使用的时候,需要引用头文件,同时注意namespace;可用函数和tuple相关的一共有四个函数,下面分别对其进行介绍 1. make_tuple创建并初始化tupleauto tup = std::...

2018-11-19 09:41:07 1063

转载 EOS 数据库与持久化 API —— 实战

转载自:http://blog.51cto.com/13625500/2119083上次的文章详细讲解了 EOS 数据库的架构,本文将以官方示例为基础,详解 EOS 数据库的开发实战。基本步骤在智能合约里与 EOS 数据库交互,首先要定义存储的数据: 定义对象:具体就是定义一个 C++ 类或者 C++ 结构体,数据表就由一个个对象组成。 定义主键:在刚才的类/结构体中,...

2018-11-13 09:51:25 269

原创 消息认证码(MAC)解读

MAC(消息认证码)解读背景在开放的计算和通信世界(例如Internet)中,我们会使用不可靠的媒介传输和存储信息。而对信息完整性(integrity)的校验在某些情景下就十分重要。基于密钥作完整性校验的方法常称为MAC(Message Authentication Code)。通常MAC在共享密钥的双方之间,校验相互传递的信息。实现过程使用 MAC 验证消息完整性的具体过程是:假设通信双...

2018-11-10 19:41:43 20422 3

原创 https协议原理

HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),是在HTTP协议基础上增加其安全性而产生的一个协议,在越来越重视安全性的今天,被广泛使用。 HTTPS相比HTTP多了一层SSL/TLSSSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TC...

2018-10-24 10:49:42 140

原创 c++面向对象高级编程

c++面向对象高级编程(上) 防卫式声明:#ifndef_xxxxxxx_#define_xxxxxxx_...#endif  inline只是一种建议,编译器并不一定会执行   构造函数初始化列表的方法设置参数 complex (double r=0,double i=0): re (r), im (i){ }----//拥...

2018-10-23 20:49:35 152

原创 C语言

一个泛型的数据交换函数: void swap( void *vp1, void *vp2, int size) { char buffer[size]; memcpy(buffer,vp1,vp2,size); memcpy(vp1,vp2,size); memcpy(vp2,buffer,size); }

2016-08-19 12:58:24 206

空空如也

空空如也

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

TA关注的人

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