next

Azure Kubernetes Service 入门

末鹿安然 提交于 2020-09-28 17:48:39
一,引言   上一节,我们使用Azure CLI 创建了Azure Resource Group 和 Azure Container Registry 资源,并且将本地的一个叫 “k8s.net.demo”的 images 推送到远端创建的私有的Docker Image Repo,今天接着上一篇我们学习一下Azure Kubernetes 服务,通过 Azure Portal 创建 Azure Kubernetes Service,并且希望将 Push 上去的Docker Image 部署到Azure Kubernetes 集群中   Azure Kubernetes Service 简称AKS,它托管的Kubernetes 环境,可以使我们在Azure中很轻松的部署和管理容器话的应用程序。AKS环境启用了自动更新,自愈和自动缩放等功能。Kubernetes 的集群主机由Azure 免费管理,创建AKS服务的时候,我们可以将集群主机交由Aure进行托管,另外一种是我们在创建的时候,将我们自己创建好的VMSS挂载到AKS服务上。我们只需要为节点所在其上运行的VM付费即可。   接下来,我们看看当前基础设施架构图 --------------------我是分割线-------------------- --------------------我是分割线----------------

Azure Kubernetes Service 入门

梦想与她 提交于 2020-09-28 16:55:00
一,引言   上一节,我们使用Azure CLI 创建了Azure Resource Group 和 Azure Container Registry 资源,并且将本地的一个叫 “k8s.net.demo”的 images 推送到远端创建的私有的Docker Image Repo,今天接着上一篇我们学习一下Azure Kubernetes 服务,通过 Azure Portal 创建 Azure Kubernetes Service,并且希望将 Push 上去的Docker Image 部署到Azure Kubernetes 集群中   Azure Kubernetes Service 简称AKS,它托管的Kubernetes 环境,可以使我们在Azure中很轻松的部署和管理容器话的应用程序。AKS环境启用了自动更新,自愈和自动缩放等功能。Kubernetes 的集群主机由Azure 免费管理,创建AKS服务的时候,我们可以将集群主机交由Aure进行托管,另外一种是我们在创建的时候,将我们自己创建好的VMSS挂载到AKS服务上。我们只需要为节点所在其上运行的VM付费即可。   接下来,我们看看当前基础设施架构图 --------------------我是分割线-------------------- --------------------我是分割线----------------

大厂面试爱问的「调度算法」,20 张图一举拿下

筅森魡賤 提交于 2020-09-27 16:29:31
作者 | 小林coding 来源 | 小林coding(CodingLin) 前言 最近,我偷偷潜伏在各大技术群,因为秋招在即,看到不少小伙伴分享的大厂面经。 然后发现,操作系统的知识点考察还是比较多的,大厂就是大厂就爱问基础知识。其中,关于操作系统的「调度算法」考察也算比较频繁。 所以,我这边总结了操作系统的三大调度机制,分别是 「进程调度/页面置换/磁盘调度算法」 ,供大家复习,希望大家在秋招能斩获自己心意的 offer。 进程调度算法 进程调度算法也称 CPU 调度算法,毕竟进程是由 CPU 调度的。 当 CPU 空闲时,操作系统就选择内存中的某个「就绪状态」的进程,并给其分配 CPU。 什么时候会发生 CPU 调度呢?通常有以下情况: 当进程从运行状态转到等待状态; 当进程从运行状态转到就绪状态; 当进程从等待状态转到就绪状态; 当进程从运行状态转到终止状态; 其中发生在 1 和 4 两种情况下的调度称为「非抢占式调度」,2 和 3 两种情况下发生的调度称为「抢占式调度」。 非抢占式的意思就是,当进程正在运行时,它就会一直运行,直到该进程完成或发生某个事件而被阻塞时,才会把 CPU 让给其他进程。 而抢占式调度,顾名思义就是进程正在运行的时,可以被打断,使其把 CPU 让给其他进程。那抢占的原则一般有三种,分别是时间片原则、优先权原则、短作业优先原则。 你可能会好奇为什么第

这样设置 VS Code,每天少加班 1 小时

∥☆過路亽.° 提交于 2020-09-27 10:40:31
点击上方“ 逆锋起笔 ”, 公众号回复 pdf 领取大佬们推荐的学习资料 来源: 做工程师不做码农 https://segmentfault.com/a/1190000022046327 代码编辑器很多,有些是免费的,有些是付费的。其中最喜欢的代码编辑器是 Visual Studio Code。它是免费的,并具有强大的功能,我陆续抛弃了Atom、Sublime Text以及也很强大的WebStorm。 今天,我将分享我最喜欢的代码编辑器设置,用于我的 Web 开发。我将从代码编辑器的外观开始。毕竟外观颜值很重要。 🎨 主题 我最常用的 VS Code 主题是Snazzy Operator,目前正在使用。 此主题基于 hyper-snazzy 并针对与 Operator Mono 字体一起使用进行了优化。我喜欢 😍 这个主题。 ⭐ 我之前使用过的其他一些主题: Oceanic Next - 我使用了 Oceanic Next (dimmed bg) emedy - 我使用了 Remedy Dark (straight) ✒ 字体 对我的代码编辑器来说,另一个重要的事情是,我用于代码编辑器的字体是 JetBrains Mono。这是带有连字支持的免费字体。 连字是一种新的字体格式,支持符号装饰,而不是 = > 、 < = 。 在使用 JetBrains Mono 之前,我使用了

Redis-底层数据结构详解

对着背影说爱祢 提交于 2020-09-27 04:41:24
一、前言 前面介绍过Redis的五大基础数据类型(String、Hash、List、Set、ZSet)由六种底层数据结构(简单动态字符串、链表、字典、跳跃表、整数集合、压缩列表)实现,本章主要分析这六种底层数据结构。 PS:Redis有八种编码,但底层数据机构是六种。 二、SDS(simple dynamic string)简单动态字符串 结构定义 struct sdshdr{ //记录buf数组中已使用字节的数量 //等于 SDS 保存字符串的长度 int len; //记录 buf 数组中未使用字节的数量 int free; //字节数组,用于保存字符串 char buf[]; } SDS保存的字符串结构图示: 优势: 常数复杂度获取字符串长度 由于 len 属性的存在,我们获取 SDS 字符串的长度只需要读取 len 属性,时间复杂度为 O(1)。而对于 C 语言,获取字符串的长度通常是经过遍历计数来实现的,时间复杂度为 O(n)。通过 strlen key 命令可以获取 key 的字符串长度。 杜绝缓冲区溢出 在 C 语言中使用 strcat 函数来进行两个字符串的拼接,一旦没有分配足够长度的内存空间,就会造成缓冲区溢出。而对于 SDS 数据类型,在进行字符修改的时候,会首先根据记录的 len 属性检查内存空间是否满足需求,如果不满足,会进行相应的空间扩展

Graph Convolution Neural Network

无人久伴 提交于 2020-09-26 13:37:23
文章目录 往期文章链接目录 Convolutional graph neural networks (ConvGNNs) GCN Framework GCN v.s. RecGNN What is Convolution Spatial-based ConvGNNs Message Passing Neural Network (MPNN) Introduction to MPNN Shortage of the MPNN framework GraphSAGE (SAmple and aggreGatE) Overview of GraphSAGE Aggregator Fuctions PATCHY-SAN Overview of PATCHY-SAN Two problems considered in PATCHY-SAN Steps of PATCHY-SAN 往期文章链接目录 往期文章链接目录 Convolutional graph neural networks (ConvGNNs) Convolutional graph neural networks (ConvGNNs) generalize the operation of convolution from grid data to graph data. The main idea is to

Node 如何在 Controller 层进行数据校验

倖福魔咒の 提交于 2020-09-26 12:19:52
幽默风趣的后端程序员一般自嘲为 CURD Boy。CURD, 也就是对某一存储资源的增删改查,这完全是面向数据编程啊。 真好呀,面向数据编程,往往会对业务理解地更加透彻,从而写出更高质量的代码,造出更少的 BUG。既然是面向数据编程那更需要避免脏数据的出现,加强数据校验。否则,难道要相信前端的数据校验吗,毕竟前端数据校验直达用户,是为了 UI 层更友好的用户反馈。 数据校验层 后端由于重业务逻辑以及待处理各种数据,以致于分成各种各样的层级,以我经历过的后端项目就有分为 Controller、Service、Model、Helper、Entity 等各种命名的层,五花八门。但这里肯定有一个层称为 Controller,站在后端最上层直接接收客户端传输数据。 由于 Controller 层是服务器端中与客户端数据交互的最顶层,秉承着 Fail Fast的原则,肩负着数据过滤器的功能,对于不合法数据直接打回去,如同秦琼与尉迟恭门神般威严。 数据校验同时衍生了一个半文档化的副产品,你只需要看一眼数据校验层,便知道要传哪些字段,都是些什么格式。 以下都是常见的数据校验,本文讲述如何对它们进行校验: required/optional 基本的数据校验,如 number、string、timestamp 及值需要满足的条件 复杂的数据校验,如 IP、手机号、邮箱与域名 const body =

两个月新增 80 万行代码,Linux 内核为什么不会崩?

笑着哭i 提交于 2020-09-26 11:54:50
8 月初,当 Linux 5.8 RC 版本开放测试时,大多数的新闻都聚焦于它的大小,称其为“史上最大的内核版本”。正如 Linus Torvalds 本人指出的那样,“尽管没有任何一件事情能脱颖而出……但 5.8 似乎是我们有史以来最大的发行版之一。” 确实,刚刚发布的 Linux 内核 5.8 RC 具有超过 14,000 个 commit,约 80 万行新代码以及大约 100 名新贡献者。要知道,距离 5.7 正式版发布才仅仅过去了约 2 个月的时间。Linux 内核维护者 Steven Rostedt 认为,5.8 之所以变得如此之大,很有可能是因为 COVID-19 疫情让很多人难以出门旅行,所有人都因此能够在这期间完成比平时更多的工作。 Rostedt 表示,从一个经验丰富的 Linux 内核贡献者和维护者的角度来看,5.8 RC 发行版特别令人震惊的并不是它的大小,而是它的空前规模对于那些正在维护它的人来说却没有造成困扰,“我认为这是因为 Linux 具有比世界上任何软件项目都好的工作流程。” 拥有最佳的工作流程意味着什么?对 Rostedt 而言,这归结为 Linux 内核开发人员随着时间的推移建立的一系列基本规则,以使他们能够持续不断地大规模、可靠地发展 Linux 内核项目。Rostedt 站在一个 Linux 内核资深维护者的角度,为我们分享了庞大的

ubuntu nano用法

こ雲淡風輕ζ 提交于 2020-09-26 01:50:42
sudo /etc/profile 使用Ctrl+O来保存所做的修改 退出 按Ctrl+X 如果你修改了文件,下面会询问你是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。如果输入了Y,下一步会让你输入想要保存的文件名。如果不需要修改文件名直接回车就行;若想要保存成别的名字(也就是另存为)则输入新名称然后确 定。这个时候也可用Ctrl+C来取消返回。 ^表示键盘上的ctrl键,^G表示同时按下ctrl和g (F1)表示按F1键 ,M-表示使用alt+后面的键 ^G ==(F1) Invoke the help menu 调用帮助菜单 ^X ==(F2) Close currently loaded file/Exit from nano 退出 ^O ==(F3) Write the current file to disk == ^O WriteOut 保存 然后回车就保存了 ^J ==(F4) Justify the current paragraph 调整当前段落(注意:编辑配置文件的不要用这东西,格式一下就出问题了哦) ^R ==(F5) Insert another file into the current one 插入其他的文件到当前的文件,而且查找文件的时候支持tab ^W ==(F6) Search for text within the

04- jQuery 选择器大全教程收藏备用

吃可爱长大的小学妹 提交于 2020-09-26 01:32:31
jQuery 基本选择器&层次选择器 作者:曾庆林 jQuery选择器的优势 写法简单 支持CSS1至CSS3选择器 完善的处理机制 CSS选择器回顾 选择器 语法 ID选择器 #ID{CSS规则} 类选择器 .className{CSS规则} 分组选择器 E1,E2,E3{CSS规则} 包含选择器 E F{CSS规则} 通配符选择器 *{CSS规则} jQuery选择器的分类 基本选择器 层次选择器 过滤选择器 基本过滤选择器 内容过滤选择器 可见性过滤选择器 属性过滤选择器 子元素过滤选择器 表单对象属性过滤选择器 表单选择器 jQuery基本选择器 选择器 1 描述 返回 示例 #id 根据指定的id匹配元素 单个元素 $(“#hel”)选择id=hel的元素 .class 根据类匹配元素 集合元素 $(“.hel”)选择class=hel的元素 Element 根据元素名匹配元素 集合元素 $(“div”)选择所有的div元素 * 匹配所有元素 集合元素 $(“*”)选择所有元素 E1,E2,E3 分组匹配元素 集合元素 $(“div,span,.hotclass”)选择所有div,span,和class为hotcalss的元素 层次选中器 选择器 描述 返回值 示例 $(“E1 E2”) 选择E1下所有E2 集合元素 $“div span”)选择div下所有span $(