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);}
MySQL语法参考
引言因为学习过程中发现很容易遗忘MySQL语法所以在这里记录一下,同时这里的描述会同步到我的面试网站中。
MySQL查询查询是各个考察过程中最喜欢的考点,下面整理出常用的查询语法供参考
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输出: [[ ...
python虚拟环境
引言因为有人来问关于机器学习python环境的相关问题,就大致写一下
python版本介绍这部分其实没啥好写的,下载的时候就能注意到python的版本,如果涉及到多个python版本的切换问题还是推荐使用anaconda作为开发的辅助工具。
VirtualEnv介绍这是一个关键性的工具,其目的是搭建虚拟且独立的python环境,可以让每个项目环境独立,并保持环境的干净,最重要的就是解决包冲突的问题。
下面来介绍一下在各个平台对python的virtualenv的使用,所有平台都通过pip进行virtualenv的安装
1pip install virtualenv
之后就可以使用virtualenv实现虚拟环境的使用了
WindowsLinuxMacOS以下代码是首次创建文件夹并创建虚拟环境
123mkdir pythonTestcd pythonTestvirtualenv env
要激 ...
flutter问题汇总
关于flutter启动webflutter在启动web的debug模式的时候会出现端口的问题,这时候只需要通过启动参数调整启动的端口号即可,代码如下
1flutter -d chrome --web-hostname 127.0.0.1 --web-port 8888
指定端口之后问题就可以解决了。
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著作权归领扣网络所有 ...