自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 一文带你了解电商促销体系

产品经理想要短时间提高产品方法论,比较好的方法是研究输出常见体系和模块,方便以后工作复用。这样有利于我们在面对不同的产品业务时,可以通过不同体系的产品决策,去解决重要的基本问题。即便不能复用,也能很好了解后台产品和沉淀方法论。由于日常的产品工作没机会接触到更多的体系和更全的模块,因为产品业务已经比较成熟了。所有打算在工作之余,开始研究更多的产品模块和常见体系。下面这张图是我的基础后台产品能力研究练习架构,我的研究对象主要是简道云、金蝶云、纷享销客这些SASS平台和有赞、微店、拼多多这种B2C电商平台。

2020-06-03 15:47:52 743

转载 “我不是不在乎钱,我只是不在乎这点钱。”

作者 / 刘润 整理 / 由之前一阵子,我带领学员去青岛啤酒做参访。青岛啤酒,是一个百年企业,建立于1903年。到今天,已经有117年的历史了。比新中国的年龄还大。青岛啤酒发展得非常成功,是全球500强,也是最早进入国际市场的中国品牌之一。它在国际上的名头有多响呢?很多外国人知道的第一个中国城市,不是北京,也不是上海。而是青岛。为什么?因为青岛啤酒。一说起青岛啤酒,就不得不提到青岛啤酒的一位传奇人物:金志国。金志国,是青岛啤酒的前总裁和董事长。他在位11年,2001年上任,2012年

2020-06-03 15:46:17 494

转载 为什么顶尖思维高手,都深谙归纳法?

作者| Mr.K 编辑| Emma来源| 技术领导力(ID:jishulingdaoli)归纳法,逻辑推论最基本的形式之一,指根据一个事物具有的某种特质,推出这类事物的所有对象都具有这种性质的推理方法。在日常生活中,我们从事物中总结出观点的方法也就是归纳法。生活中大概99%的时间在用归纳法,这也是人类最基础的认识世界的方式。从操作层面上它包括:简单枚举归纳法、完全归纳法、科学归纳法、穆勒五法、赖特的消除归纳法、逆推理方法和数学归纳法。同时归纳法也可以从维度上划分成两类:第一种,空间性归纳:在中

2020-06-03 15:38:51 712

转载 Apple 的设计哲学 · 网页篇

Apple 致力于让每件产品都赏心悦目,与其说官网是产品展示平台,倒不如说它是苹果产品分支的延续。我相信,从 Apple.com 找设计灵感是每一位设计师都做过的事。那它到底有何魅力?跟我来一探究竟吧。一、沉浸与交互式体验每当有新产品发布时,我们都会被它的 Landing page 所吸引。不管是 AirPods Pro 也好,和前段时间发布的 iPad Pro 也一样。这背后是 Apple 基于 webGL 技术,创造的一种沉浸与交互式产品体验。1. 连续性我们在产品介绍页可以看到,苹果使用了

2020-06-03 15:36:11 473

转载 为什么互联网公司都喜欢自研业务系统?

相信很多人都有困惑,为什么互联网科技公司,都喜欢自研业务系统(例如WMS、CRM、电商系统等),而不是采购市面上成熟的商业软件套件呢?各类商业软件发展了这么多年,再加上各种SaaS产品,很多业务问题都有丰富的软件解决方案,为何不直接使用,而要费力的从无到有去做自研呢?这个问题曾经困扰了我很长时间。我刚毕业的前三年,在一家外资保险公司做开发,所有系统都是外采成熟的商业软件产品加定制化开发(例如核心业务系统用的CSC的LifeAsia,BI用的IBM的Cognos,财务和内部采购用的OracleEBS等),后

2020-06-03 15:26:51 290

转载 对于 Ping 的过程,你真的了解吗?

一、概览对于 ping 命令,想必只要是程序员都知道吧?当我们检查网络情况的时候,最先使用的命令肯定是 ping 命令吧?一般我们用 ping 查看网络情况,主要是检查两个指标,第一个是看看是不是超时,第二个看看是不是延迟太高。如果超时那么肯定是网络有问题啦(禁 ping 情况除外),如果延迟太高,网络情况肯定也是很糟糕的。那么对于 ping 命令的原理,ping 是如何检查网络的?大家之前有了解吗?接下来我们来跟着 ping 命令走一圈,看看 ping 是如何工作的。二、环境准备和抓包2.1 环境准

2020-06-03 15:23:56 385

转载 【Java 教程】JAVA的断言 - Assert

简介断言是使用Java中的 assert 语句实现的。 在执行断言时,它被认为是正确的。 如果失败,JVM会抛出一个名为 AssertionError 的错误。 它主要用于开发过程中的测试目的。assert 语句与布尔表达式一起使用,可以用两种不同的方式编写:assert expression;assert expression : errorMessage;示例public class AssertTest { public static void main(String[] arg

2020-06-03 15:21:14 217 1

转载 【Java 教程】嗯?你真的会用 Java 序列化机制?

一、序列化、反序列化概念及其使用场景1、序列化、反序列化的概念简单的讲,序列化就是将java对象转化成二进制保存到磁盘中去,反序列化就是从磁盘中读取文件流然后转成java对象。2、使用场景1、网络通讯传输 java 对象数据。2、永久保存 java 对象。二、实现序列化的方式有哪些?JDK 提供了下面两种方式实现序列化:1、实现 Serializable 接口。2、实现 Externalizable。下面分别实例演示两种实现方式:假设本文所有的序列化对象为 User,其拥

2020-06-03 15:12:52 143

转载 Java 泛型中 extends 和 super 的区别是什么?

<? extends T> 和 <? super T> 是 Java 泛型中的 “通配符(Wildcards)” 和 “边界(Bounds)” 的概念。<? extends T>:是指 “上界通配符(Upper Bounds Wildcards)”。<? super T>:是指 “下界通配符(Lower Bounds Wildcards)”。**为什么要用通配符和边界?**使用泛型的过程中,经常出现一种很别扭的情况。比如按照题主的例子,我们有

2020-06-01 16:51:55 121

转载 实例告诉你如何把 if-else 重构成高质量代码!

为什么我们写的代码都是 if-else?程序员想必都经历过这样的场景:刚开始自己写的代码很简洁,逻辑清晰,函数精简,没有一个 if-else,可随着代码逻辑不断完善和业务的瞬息万变:比如需要对入参进行类型和值进行判断;这里要判断下对象是否为 null;不同类型执行不同的流程。落地到具体实现只能不停地加 if-else 来处理,渐渐地,代码变得越来越庞大,函数越来越长,文件行数也迅速突破上千行,维护难度也越来越大,到后期基本达到一种难以维护的状态。虽然我们都很不情愿写出满屏 if-else 的代码,可逻

2020-06-01 16:39:37 560 1

转载 IDEA 系列 IDE 解除全局搜索/替换限制100条技巧

如果你在开发中使用的是 IDEA 系列 IDE,譬如 IDEA、Android Studio、CLion、WebStorm、GoLand 等,而且做的是大型项目,你可能经常在查找或者查找替换时觉得挺痛苦,因为搜到的东西往往是下面这样的表现:我看到身边有同事遇到上面场景后的操作是下面这样的:他搜一个字符串替换,然后会搜到如上 100+ 的提示,然后我看见他替换一批再继续搜索这个字符串再替换,然后继续重复这个操作,直到完全替换完。。。也就是说每次都替换 100 个,没经历过大项目开发可能感受不到这个画面吧

2020-06-01 16:32:25 4529 5

转载 什么样的对象才能作为 GC ROOT?GC ROOTS 有哪些?

GC 管理的主要区域是 Java 堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被 GC 所管理,因而选择这些区域内的对象作为 GC roots,被 GC roots 引用的对象不被 GC 回收。所谓 “GC roots”,或者说 tracing GC 的“根集合”,就是一组必须活跃的引用(注意,是一组必须活跃的引用,不是对象)。详细 GC Root常说的 GC(Garbage Collector)roots,特指的是垃圾收集器(Garbage Collector)的对象,GC 会收集那

2020-06-01 16:29:23 1070

转载 问:操作系统三大经典同步问题,你如何复现?

作为操作系统中的最基本模型,在面试中被要求书写的可能性还是很大的,如果只是伪码,这还是一个简单的问题,但是要你具体实现呢?你会使用什么样的方式来实现这件事情呢?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7BBbHDBF-1590999089217)(https://upload-images.jianshu.io/upload_images/23124486-cb7d2fdc9f8803fc?imageMogr2/auto-orient/strip%7CimageVie

2020-06-01 16:15:05 497

转载 【Java 教程】一文带你全方位弄懂 Java8 流式操作!

什么是流式操作Java 8 API 添加了一个新的抽象称为流 Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API 可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate ope

2020-05-30 15:55:27 419

转载 你能讲讲 JVM 运行时内存空间吗

JVM内存空间JVM 规范在程序运行期间定义了不同的数据区域,有一些区域跟随 JVM 的创建销毁,而有些区域则是线程独有的,线程独有的区域会跟随线程的创建与销毁。在不同版本和不同厂商的 JVM 版本中都会有较大差异,本文基于 JDK8 HotSpot 虚拟机进行的总结。JVM 规范内的运行时数据区域程序计数器(The pc Register)JVM 支持多线程,每个线程都有自己的程序计数器。当线程执行中的时候,程序计数器会包含线程的执行点(前提是方法不是 native 方法)。虚拟机栈(Java

2020-05-30 15:32:03 226

转载 请站在 JVM 角度谈谈 Java 的锁?

并发是从 JDK 5 升级到 JDK 6 后一项重要的改进项,HotSpot 虚拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking)、偏向锁(Biased Locking)等,这些技术都是为了在线程之间更高效地共享数据及解决竞争问题,从而提高程序的执行效率。存在的问题对于最开始(JDK1.5 之前),Java

2020-05-30 15:29:51 132

转载 问懵逼:直接IO、缓存IO、阻塞与同步?

Linux 基础知识回顾用户空间和内核空间现在操作系统都采用虚拟寻址,处理器先产生一个虚拟地址,通过地址翻译成物理地址(内存的地址),再通过总线的传递,最后处理器拿到某个物理地址返回的字节。对 32 位操作系统而言,它的寻址空间(虚拟存储空间)为 4G(2 的 32 次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用

2020-05-30 15:24:48 337

转载 问懵逼:说谁你对BIO、NIO、AIO的理解?

同步阻塞 I/O(BIO)同步阻塞 I/O,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制来改善。BIO 方式适用于连接数目比较小且固定的架构,这种方式对服务端资源要求比较高,并发局限于应用中,在 jdk1.4 以前是唯一的 io 选择,但程序直观简单易理解。BIO 图解:伪异步模型 IO也被成为 M:N 客户服务模型。即通过线程池模型的形式用 M 个线程来服务 N 个客户端的连接;其中

2020-05-30 15:22:43 258

转载 【后端教程】Java异常处理中对于finally的一些思考

一、前言因为这次面试有问到一些同学finally的问题,发现自己这块好像有点记不太清楚了,有的点可能还给人家说错了,一度弄得场面有些尴尬。所以说这篇文章深入研究一下finally的执行情况和返回值的情况。二、finally一定会执行吗?先给答案:肯定不是。我们可以看两种情况:1.在执行try块之前直接return,我们发现finally块是不会执行的public class TryCatchTest { private static int total() { int i = 11;

2020-05-30 15:16:03 104

转载 Java 私藏避坑绝技之奇数性、浮点数

奇数性看下面代码时候是否能判断参数 i 是奇数?1public static boolean isOdd(int i){ 2 return i % 2 == 1; 3}答案是:No!看似正确的判断奇数,但是如果 i 是负数,那么它返回值都是 false 造成这种现象的是 => 从思想上固化,认为奇数只在正数范围,故判断负数将报错,在 C++ 中也是,负数取余还是负。在 Java 中取余操作定义产生的后果都满足下面的恒等式:1//int数值a, 与非零int数值b 都满足下面的等式:2

2020-05-30 14:50:38 115

转载 【后端教程】利用 Arthas 精准定位 Java 应用 CPU 负载过高问题

作者:张云翔团队:安全技术最近我们线上有个应用服务器有点上头,CPU总能跑到99%,我寻思着它流量也不大啊,为啥能把自己整这么累?于是我登上这台服务器,看看它到底在干啥!以前碰到类似问题,可能会考虑使用top -Hp 加 jstack命令去排查,虽然能大致定位到问题范围,但有效信息还是太少了,多数时候还是要靠猜。今天向大家推荐一款更高效更精准的工具:Arthas!Arthas 是Alibaba开源的Java诊断工具,能够帮助我们快速定位线上问题。基本的安装使用可以参考官方文档:https://al

2020-05-29 16:17:11 228

转载 前端性能优化:当页面渲染遇上边缘计算

背景对于 web 页面来说,首跳场景(例如 SEO、付费引流)的性能普遍比二跳场景下要差。原因有多种,主要是首跳用户在连接复用,和本地资源缓存利用方面,有很大的劣势。首跳场景下,很多在端上的优化手段(预加载,预执行,预渲染等)无法实施。在客户端缓存能力无法利用的情况下,利用 cdn 距离用户近的特性,可以结合缓存做一些性能优化。思路思路 1:SSR为了性能优化考虑,我们一般都会通过服务端渲染(SSR) ,将首屏动态内容直接服务端输出。 这种方式的优点是一次 html 返回即可包含页面主体内容,不需

2020-05-29 15:29:15 187

转载 前端工程化下一站: IDE

随着前端开发的发展更迭,前端日常开发工作变得愈发复杂愈发深入,同时前端工程中从项目初始化、编译、构建到发布、运维也变得细化而成熟。日常前端工作的每个环节都涌现出丰富的工具、服务和解决方案来解决工程效率的问题。那么,前端工程化的下一阶段的突破口是什么,我们期望通过 IDE 的方式和视角来找寻答案。行业分析行业趋势其实 IDE 本身不是一个新兴的概念,在维基百科上能找到第一款的 IDE 是来自 55 年前为 BASIC 语言提供研发能力的一款软件工具(https://en.wikipedia.org/wi

2020-05-29 15:01:55 256

转载 KAITIAN IDE 是如何构建扩展能力极强的插件体系的?

VS Code 自 2015 年推出以来,由于其优越的性能表现和简洁的 UI 设计,迅速得到了开发者的青睐,特别是人数众多的前端开发者。究其原因,是因为 VS Code 优秀的插件架构,通过多进程的模型隔离了插件运行环境,插件进程无法影响主进程的运行效率,这也使得 VS Code 有良好的稳定性表现。今年下半年,有幸参与了开天 IDE 共建项目组, 打造阿里生态体系内的公共 IDE 底层。插件生态是其中最为重要的一环,能够无缝继承 VS Code 的插件生态对开天 IDE 来说非常重要的一部分。本文简要阐

2020-05-29 14:59:53 565 1

转载 为未来研发模式而生,KAITIAN IDE 在业务中的探索

在 19 年 5 月,由跨阿里巴巴经济体的 3 个前端团队组织在一起,经过一年的努力,产出了 IDE 的底层实现- KAITIAN 框架。与此同时,借助 KAITIAN 底层能力,体系内、外的研发场景也陆陆续续建设起来。在 IDE 框架完成了一些业务实践之后,我们对 KAITIAN 带来的研发场景下的业务价值以及发展的方向也有了更多的思考。冰山一角在经济体体系内,许多研发体系、平台借助 KAITIAN 底层,通过 KAITIAN 插件等方式将零散的研发模式进行了统一,将原有研发工作中的研发态与部署态、本

2020-05-29 14:53:30 321

转载 【后端教程】FEOP 接口描述

全称 Five-Elements-Operations 五元操作,由这五种基本操作可组合成用户的所有操作。submitTransactions(ops: IOperation[])UI 界面上用户的每一个操作,都会由逻辑层对本地的 Store 进行改变,并相应地生成一组 ops (IOperation[])。这一组 ops 发送到服务端,服务端则也会按照 ops 表示的意义来对数据库做相应地操作。IOperation 结构如下:interface IOperation { cmd: string

2020-05-28 19:26:18 600

转载 什么是纯函数,它是函数式编程的基础

纯函数是所有函数式编程语言中使用的概念,这是一个非常重要的概念,因为它是函数式编程的基础,它允许你创建简单和复杂的组合模式。纯函数背后的数学术语我就不说了,我直接说说说它们是什么以及它们的样子。你可以确定满足以下条件的函数是纯函数:它应始终返回相同的值。不管调用该函数多少次,无论今天、明天还是将来某个时候调用它。自包含(不使用全局变量)。它不应修改程序的状态或引起副作用(修改全局变量)。第一个条件:应始终返回相同的值以以下功能为例Math.cos(0) // 1无论今天,明天还是.

2020-05-28 17:18:58 162

转载 CSS中的间距,前端开发中各种设置间距的优点缺点及实例

来源:https://ishadeed.com/如果两个或多个元素很接近,那么用户就会认为它们以某种方式属于彼此。当对多个设计元素进行分组时,用户可以根据它们之间的空间大小来决定它们之间的关系。没有间距,用户将很难浏览页面并知道哪些内容相关而哪些内容无关。在本文中,我将介绍有关CSS中的间距,实现此间距的不同方法以及何时使用 padding 或 margin 所需的所有知识。相关文章:Web中的图像技术总结与实践,这篇文章总结了Web中的各种图片的使用技术、优点缺点和实践。目录间距类型.

2020-05-28 16:51:56 602

转载 温故知新 | Vue.js进阶必会,编写你的第一个Vue.js插件

创建自己的插件似乎是一项高级技术,但实际上比你想象的要简单得多。本文目录1.如何设置插件2.向插件添加功能2.1构建你的第一个插件2.2安装插件2.让它真正有用2.1声明全局属性2.2定义实例属性2.3建立全局过滤器2.4添加自定义指令2.5合并选项对象2.6我们最终的插件获取完整项目代码代码让我们开始吧!1.如何设置插件从广义上讲,我们的插件只是一个公开 install 方法的Javascript模块。该方法有两个参数

2020-05-28 16:34:42 141

转载 你不知道的CSS国际化

来源:https://www.chenhuijing.com作者:Chen Hui Jing我遇到过一些人,他们根本不认为CSS与国际化有关,但如果你仔细想想,国际化不仅仅是把你网站上的内容翻译成多种语言,然后就收工了。该内容的呈现方式有各种细微的差别,这些细微的差别会影响到母语人士使用您的网站的体验。对于国际化,没有统一的规范定义,但是W3C提供以下指导:国际化是指在设计和开发产品、应用或文档时,为不同文化、地区或语言的目标受众提供方便的本地化服务。这涉及的内容很多,从Unicode和字符.

2020-05-28 16:27:00 111

转载 HTML页面生成器:使用JavaScript和Node创建CLI

在第 42 期的文章:从零开始使用JavaScript制作自己的命令行(CLI工具) 中我们介绍如何从零开始制作CLI,算是一个入门前传,知道了怎么制作CLI后今天更进一步。在这篇文章中,我们将构建一个简单的CLI,允许用户生成HTML页面。我们首先要生成一个标准的空白页面,然后让用户输入参数,比如文件名和标题,先通过选项,然后通过提示问题让用户输入参数。创建 Hello World CLI创建用于编写CLI的文件夹。我将其命名为 html-generator-cli。打开一个终端,然后在此文件夹中运

2020-05-28 16:06:31 132

转载 5G与Wi-Fi6空口技术对比

*本文转载自公众号软硬结合部近半年来,5G网络的消息层出不穷,5G商用牌照正式发放,三大运营商表示要在今年年底前至少覆盖40个城市。在人们对5G展示最大热情的时候,Wi-Fi6也悄然出世。本文首先简要回顾Wi-Fi和蜂窝网络的发展,然后简要介绍了他们的技术特点,最后从技术的角度比较Wi-Fi6和5G,剖析其应用场景。一、两种无线通信1.1 Wi-Fi与蜂窝网络的发展长期以来,Wi-Fi和蜂窝网络就像移动设备上的两大高手,彼此势均力敌:一个主室内,一个主室外。多年来Wi-Fi以其流量便宜的特点,一直是蜂

2020-05-25 16:55:25 1298

转载 一图理解终端、会话、 进程组、进程关系

药不能停,直接进入正题,本文3分钟读完。文中涉及到的缩写如下:PID: 进程(process) IDPPID:父进程(parent process) IDPGID:进程组(process group) IDSID:会话(session )ID文中a.out对应的代码如下:a.out代码main(){ fork(); while(1);}实验方法:开一个terminal,运行三个a.out,得到3个进程组,6个a.out进程:关系图如下:

2020-05-25 16:13:09 232

转载 图文 | 任何人都能看懂的 Kubernetes 教程!

作者:刘志超来源:https://urlify.cn/yqEZ7f容器在我们尝试了解 Kubernetes 之前,让我们花一点时间来澄清容器是什么,以及它们为什么如此受欢迎。毕竟,在不知道容器是什么的情况下谈论容器编排器(Kubernetes)是没有意义的!容器“容器”是一个用来存放你放入的所有物品的容器。像应用程序代码,依赖库以及它的依赖关系一直到内核。这里的关键概念是隔离。将所有内容与其余内容隔离开,以便你更好地控制它们。容器提供三种隔离类型:工作区隔离(流程,网络)资源隔离(CP

2020-05-25 16:07:34 195

转载 NFV和SDN之间到底有什么关系?

NFV、SDN是近年来信息通信行业兴起的热门技术,拥有极高的人气。尤其是5G时代到来后,两者的出现频率更是激增。随着对这两个概念的深入了解,很多读者向我提出了这样的疑问——NFV和SDN好像根本没有什么关系啊,为什么两者经常会一起以“NFV/SDN”的名义出现?它们真的有联系吗?是什么样的联系呢?今天,小枣君就和大家聊聊这个话题。首先,我们先简单回顾一下,NFV和SDN到底是什么。**什么是NFV **NFV,全称是 Network Function Virtualization,网络功能虚

2020-05-25 16:03:55 570

转载 HTTPS 的 7 次握手以及 9 倍时延

HTTP 协议(Hypertext Transfer Protocol)已经成为互联网上最常用的应用层协议,然而其本身只是用于传输超文本的网络协议,不会提供任何安全上的保证,使用明文在互联网上传输数据包使得窃听和中间人攻击成为可能,通过 HTTP 传输密码其实与在互联网上裸奔也差不多。https-banner图 1 - HTTPS 协议网景(Netscape)在 1994 年设计了 HTTPS 协议,使用安全套接字层(Secure Sockets Layer,SSL)保证数据传输的安全[^1],随着

2020-05-25 15:55:39 205

转载 千万千万不要运行的 Linux 命令

文中列出的命令绝对不可以运行,即使你觉得很好奇也不行,除非你是在虚拟机上运行(出现问题你可以还原),因为它们会实实在在的破坏你的系统。所以不在root等高级管理权限下执行命令是很好的习惯。早晚有一天,Linux 系统会像 Windows 那样流行,用的人越来越多,包括对计算机不是很了解的人,本文的目的就是告诉大家:在Linux给你最大程度自由度的同时,也使得破坏系统变得更加容易,如果你不了解某些命令的意义,下载执行包含恶意命令的脚本,或者被骗运行某些命令,很容易让你哭都来不及。这并不是说明 Linux

2020-05-25 15:53:48 80

转载 可能是目前最全的讲 ICMP 的文章了

对于 ICMP 协议,你想知道的,可能包括以下几点:ICMP 是啥为啥需要 ICMPICMP 有哪些报文类型ICMP 报文格式长啥样有哪些命令用了 ICMPICMP 有哪些内核参数ICMP 的问题带着这些问题,下面我们就来一一解答。01 ICMP 是啥ICMP,全称是 Internet Control Message Protocol,即互联网控制报文协议,所谓控制,就是通过下发指令来感知和控制网络环境,所以它一定是配合一个无法感知网络环境的协议来工作的,

2020-05-25 15:49:33 511 1

转载 万字长文:新生代的开源监控系统 Prometheus 的问题和思考

监控系统的历史悠久,是一个很成熟的方向,而 Prometheus 作为新生代的开源监控系统,慢慢成为了云原生体系的事实标准,也证明了其设计很受欢迎。本文主要分享在 Prometheus 实践中遇到的一些问题和思考。几点原则监控是基础设施,目的是为了解决问题,不要只朝着大而全去做,尤其是不必要的指标采集,浪费人力和存储资源(To B商业产品例外)。需要处理的告警才发出来,发出来的告警必须得到处理。简单的架构就是最好的架构,业务系统都挂了,监控也不能挂。Google Sre 里面也说避免使用

2020-05-24 17:28:47 479

转载 K8S 中 scheduler 组件的选主逻辑

概述在 k8s 中,kube-scheduler 和 kube-controller-manager 两个组件是有 leader 选举的,这个选举机制是 k8s 对于这两个组件的高可用保障,虽然 k8s 的存储使用了 etcd,但并没有使用 etcd 来实现选主,而是对 endpoint 这个资源做抢占,谁想抢到并将自己的信息写入 endpoint的 annotation 中,谁就获得了主。因为项目中需要写一个 k8s 的插件,同样需要选主逻辑,因此复用了 k8s 中的这个方法,即kubernetes 的

2020-05-24 17:24:54 1701

空空如也

空空如也

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

TA关注的人

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