kubernetes学习笔记(一)
组件介绍在一个kubernetes集群中所包含的组件内容
Pod是一个k8s独有的概念,可以表示封装一个或者多个的容器,更加强调这是一个运行环境,而不是指一个强调提供应用程序运行的容器。且Pod提供一个共享的命名空间和存储卷,在一个Pod中的容器之间可以非常方便的进行通讯。Pod是k8s最小的调度单位。
Control Plane组件介绍kube-apiserver该组件是Kubernetes API Server的主要实现,而Kubernetes API Server则负责暴露集群的接口,是control plane的前端。可以通过部署多个apiserver实例来进行负载均衡。
etcd提供高可用并且一致性的键值对存储,作为Kuberntes的后台数据库,但是需要保证有数据备份。
kube-scheduler负责将创建出来的pod(可以理解为运行的容器)指派到node(集群中的机器)。 ...
剑指Offer刷题笔记
引言因为最近要找实习,行业形势还收紧,压力巨大,所以打算奋起刷题,暂时把剑指Offer第一部分的刷题感想放在这里。本文不给出标准答案,便于根据思路编写代码。(本人是菜鸡,希望有人指正错误,别再给菜狗上压力了)。
09题目很简洁,使用两个栈实现一个队列,两个方法,一个是向队列尾部添加元素,一个是从队列头部取出元素。
我自己的解答
我自己的方法是一个stack存储数据,另一个stack完全用来辅助,插入时插入进数据队列中,取出时将所有的数据栈中的取出并压入第二个stack中,最后拿到栈底元素,重新将所有的第二个stack中的元素取出并压入第一个stack
我自己的这个方法就是相当于每次都是把整个栈清空了一次并且重新写入,显然是效率非常低的方法
题解题解首先使用一个stack用来存储所有的数据,加入时直接压栈,取出时首先判断另一个stack是否为空,如果是空的将第一个stack中的所有元素取出 ...
算法红书笔记
第一章算法大多和使用的编程语言无关,学习算法的主要原因是因为能够节省非常多资源,通常比直接使用金钱购买更好的硬件设备拥有更好的效果。
算法代码示例最大公约数(gcd)欧几里得算法
12345public static int gcd(int p, int q){ if (q == 0)return q; int r = p % q; return gcd(q,r);}
LeetCode第39题分析
原题给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。
candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。
对于给定的输入,保证和为 target 的不同组合数少于 150 个。
示例 1:
123456输入:candidates = [2,3,6,7], target = 7输出:[[2,2,3],[7]]解释:2 和 3 可以形成一组候选,2 + 2 + 3 = 7 。注意 2 可以使用多次。7 也是一个候选, 7 = 7 。仅有这两种组合。
示例 2:
12输入: candidates = [2,3,5], target = 8输出: [[ ...
LeetCode第32题动归思路
引言这是一道LeetCode题目,用来对之前的一篇动态规划的文章进行进一步的实践说明
原题给你一个只包含 ‘(‘ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。
示例 1:
123输入:s = "(()"输出:2解释:最长有效括号子串是 "()"
示例 2:
123输入:s = ")()())"输出:4解释:最长有效括号子串是 "()()"
示例 3:
12输入:s = ""输出:0
提示:
0 <= s.length <= 3 * 104
s[i] 为 ‘(‘ 或 ‘)’
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-valid-parentheses著作权归领扣网络所有。商业转载 ...
动态规划学习笔记
引言其实在一定的条件下贪心算法就可以解决问题,比如凑钱到指定面额的问题。以最熟悉的人民币作为背景,如何用(1,5,10,20,50,100)五种面额的钱币凑出指定数额的钱同时钱数量要尽可能的少,这是我们只需要贪心算法就能解决问题。但是如果有一个很奇怪的国家的发行货币是1,5,11,并且你需要找出面值15的组合,这样贪心算法给出的答案是11+1+1+1+1而我们很轻易的就能发现只要5+5+5就能解决问题。这是因为贪心算法只考虑了眼前最优的情况,并没有给出全局最优解。
递归的问题及改进思路在这个问题中不难发现,可以问题分解。如最后需要15那么如果最后一枚拿的是11就需要凑4,如果最后一枚拿的是5就需要凑10,如果最后一枚拿的是1就需要凑14,文字表述可能有点绕,公式如下(f(x)表示凑x需要多少枚钱币)
1f(x) = min{f(x-1),f(x-5),f(x-11)} ...
关于leetCode第34题引发的二分查找的思考
原题给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target,返回 [-1, -1]。
进阶:
你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?
示例 1:
12输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]
示例 2:
12输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]
示例 3:
12输入:nums = [], target = 0输出:[-1,-1]
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array著作权归领扣网络所有 ...
面向服务复习提纲
一些概念:
Web服务是实现SOA的核心技术,但SOA并不等同于Web服务。Web服务是一套技术体系,可以用来构建应用解决方案,解决特定的消息通信和应用集成问题。而SOA 是一种软件架构,不局限于某种技术组合(如Web服务),它超越技术范畴,甚至可以用来组织公司。
企业服务总线(ESB)是SOA基础架构(basic frastruct)的关键组件,是一种消息代理架构,管理消息通信、服务交互等等。
WSDL:Web服务描述语言,基于XML,但它才是Web服务的核心。因为它描述Web 服务提供的操作(服务能力)以及这些操作接收和返回的参数。WSDL包含的信息: 服务做什么,应该如何使用它们,它们在哪里。也就是说提供者和调用者都需要参考WSDL,从这个意义上来说WSDL是核心。
简答题一、为何需要构建服务生态系统?什么是服务生态系统中的垂直服务和水平服务?它们有何联系和区别?试举例加以说明
服 ...
数据库复习提纲
前言本复习提纲由Dart完成整理。
内容没有按题号来,主要按6+上课复习涉及到的知识点
1. B+树索引1.1 B+树的结构索引结构为树状层次结构,根节点会将数值分成若干区间,每个区间用指针指向下一层节点,下一层节点同样划分成若干区间,指向再下一层节点,依次往下
最底层的节点——叶节点,叶节点记录索引字段的值和此值所对应的基本表相关的记录存放的地址,将这个地址称为rowid
读取文件的步骤为:在b树中逐层向下找到rowid(索引的过程),之后根据rowid取读取基本表相关记录内容。读取每层节点的值都是一次io操作,下图中3次io操作是索引,再经历一次io操作查表即可获得基本表相关记录,即4次io
所有的叶节点都是按顺序在底层横向连接在一起,属于顺序存储的数据结构,对于搜索范围数据非常有用
1.2 B+树索引能做什么,不能做什么,理由
能做什么
全键值查询(等值查询),每一次查询都是固定 ...
Linux程设复习提纲(三)
Chapter3-1(续)系统调用(掌握)和库函数(当题目指定系统调用时不能使用)系统调用和库函数都以C函数的形式出现
系统调用
Linux内核的对外接口
用户程序和内核之间唯一的接口
提供最小接口
库函数
依赖于系统调用
提供复杂功能(例如:标准I/O库)
以I/O作为样例
非缓存IO
读写操作直接调用系统调用
文件描述符
Not in ANSI C, but in POSIX.1 and XPG3
缓存IO
使用标准IO库
处理很多细节,如缓存分配以及优化长度执行IO
流是一个文件中的指针
系统IO调用文件描述符一个非负的整形(如在文件中STDIN_FILENO (0), STDOUT_FILENO (1), STDERR_FILENO (2))
一般的文件操作的步骤:打开,读/写,(lseek),关闭
基本的IO函数先给一个文件的最简单的读写样例程序
123456789 ...