-
生产环境突发高负载!是“谁”偷走了你的服务器性能?
所属栏目:[优化] 日期:2019-08-07 热度:196
场景描述 网站上线后一直稳定运行,事情发生在今天早上,刚到公司,还没走到工位,手机收到告警信息,生产环境中的某台服务器突发高负载!立马开启电脑,放下手中早餐,开始排查处理。下面是诊断引起系统CPU性能问题的过程,希望能给到大家一些诊断问题时的[详细]
-
Redis进阶应用:Redis+Lua脚本实现复合操作
所属栏目:[优化] 日期:2019-08-07 热度:52
一、引言 Redis是高性能的key-value数据库,在很大程度克服了memcached这类key/value存储的不足,在部分场景下,是对关系数据库的良好补充。得益于超高性能和丰富的数据结构,Redis已成为当前架构设计中的首选key-value存储系统。 虽然Redis官网上提供了20[详细]
-
一个项目的SpringCloud微服务改造过程
所属栏目:[优化] 日期:2019-08-07 热度:64
SSO是公司一个已经存在了若干年的项目,后端采用SpringMVC、MyBatis,数据库使用MySQL,前端展示使用Freemark。今年,我们对该项目进行了一次革命性的改进,将其改造成SpringCloud架构,并且把前后端分离,前端采用Vue框架。 一、使用SpringCloud架构进行[详细]
-
阿里大牛详解分布式系统,大型网站分布式系统实战解析
所属栏目:[优化] 日期:2019-08-06 热度:102
分布式系统 分布式系统从当初的CORBA 到EJB,Web和SOA,从集群到现在的NoSQL 云计算和大数据Hadoop等分布式系统,横向水平扩展Scala out/in是分布式系统设计的一个特点,可靠性 容错性是两个质量指标。 什么是分布式系统? 一大批服务器组成一个集合,对于[详细]
-
Java8之Consumer、Supplier、Predicate和Function攻略
所属栏目:[优化] 日期:2019-08-06 热度:179
来聊聊Consumer、Supplier、Predicate、Function这几个接口的用法,在 Java8 的用法当中,这几个接口虽然没有明目张胆的使用,但是,却是润物细无声的。为什么这么说呢? 这几个接口都在 java.util.function 包下的,分别是Consumer(消费型)、supplier([详细]
-
2019 JSConf.Asia尤雨溪:在框架设计中寻求平衡
所属栏目:[优化] 日期:2019-08-06 热度:50
特别说明 这是一个由simviso团队对 JSConf.Asia 中关于前端框架设计取舍相关话题进行翻译的文档,内容并非直译,其中有一些是笔者自身的思考。而分享者正是 Vue.js 的作者 @尤雨溪,Vue 仓库地址:github.com/vuejs/vue 让我们一起来了解下在当前框架三足[详细]
-
IBM五年清退2万大龄员工:中年人的职场,出路在哪里?
所属栏目:[优化] 日期:2019-08-06 热度:65
01 前几天,IBM裁员的消息闹得沸沸扬扬。 起因是多起裁员被员工告上法庭,原因是称IBM针对大龄员工。 根据新闻调查数据,IBM从2014年起就开始着手修正老员工的比重,用年轻的人才来取代老员工,在过去的五年里大约炒掉了2万名40岁以上的美国员工,占被裁员[详细]
-
浅谈微服务架构搭载容器云构建历程
所属栏目:[优化] 日期:2019-08-06 热度:85
服务简史 历史总是惊人的相似,合久必分,分久必合。 我们经历了合:单体架构(软)、计算能力超强的小型机(硬)到分:分布式架构的转变,后期可能会将分发挥到了极致(去中心化的分布式,如区块链),最后很可能再经历合:计算和存储能力超强的智人(边缘计算的[详细]
-
Java面试过程中10个最难回答的面试题(附答案)
所属栏目:[优化] 日期:2019-08-06 热度:124
这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友[详细]
-
了解线程的前世今生
所属栏目:[优化] 日期:2019-08-06 热度:75
一、了解进程、线程模型 每次学习一个新技术,我会先去了解这个技术的背景,这个过程看似浪费时间,其实在后续的学习过程中,能够促进理解很多问题。所以对于线程这个概念,我会先从操作系统讲起。因为操作系统的发展带来了软件层面的变革。 从多线程的发[详细]
-
深入了解 Token 认证的来龙去脉
所属栏目:[优化] 日期:2019-08-03 热度:151
不久前,我在在前后端分离实践中提到了基于 Token 的认证,现在我们稍稍深入一些。 通常情况下,我们在讨论某个技术的时候,都是从问题开始。那么第一个问题: 为什么要用 Token? 而要回答这个问题很简单因为它能解决问题! 可以解决哪些问题呢? Token 完全[详细]
-
超详细的Shell中特殊字符的用法总结大全
所属栏目:[优化] 日期:2019-08-03 热度:162
概述 Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好,往往能给我们起到事半功倍的效果,那么这些特殊符号所代表[详细]
-
Python脚本示例:从log中读取数据,进行分析和可视化
所属栏目:[优化] 日期:2019-08-03 热度:81
Python是数据处理常用工具,具有较好的通用性和跨平台性,使用起来也非常简单。 比如,我们有一个log.txt的文件,里面有两列数据,每行数据用空格分开,如下图所示。 使用Python脚本对该文件的数据进行分析和可视化,分三步走: 导入数据 数据分析 数据可[详细]
-
PHP 兼 Zend 联合创始人 Zeev Suraski 宣布从 Zend 离职
所属栏目:[优化] 日期:2019-08-03 热度:144
昨日消息,PHP 兼 Zend 公司联合创始人 Zeev Suraski 在推特宣布自己在 Zend 公司工作 20 年后,目前已离职。 Zeev Suraski 在推特上的自我介绍是 PHP 联席架构师(Co-Architect of PHP)、Zend 联合创始人(Co-founder of Zend)。事实上,Zeev Suraski[详细]
-
分享一个 Linux 下的强力 Python 工具
所属栏目:[优化] 日期:2019-08-03 热度:154
Linux 用户经常需要在终端查看一些数据,从文件里看或者网络协议获取数据并查看。比如,查看文件里的json数据;比如,查看 etcd里存下的数据。 如果直接看 cat或者curl得到的数据,如果格式乱掉了 会很痛苦的,而 Python 的json.tool可以在终端里把得到的数[详细]
-
工作中会遇到的10种类型开发人员
所属栏目:[优化] 日期:2019-08-03 热度:115
你生活中有遇到过什么类型的开发人员?他们有特定的怪癖或个性,下面我就总结10种常见类型的开发人员。 1.纯粹主义者 纯粹主义者是坚持传统规则的人,他们只是那些不太热衷于使用框架和库的开发人员。他们每次都会在JQuery上选择使用原生的JavaScript。他们[详细]
-
分布式系统中Session共享的五种方法
所属栏目:[优化] 日期:2019-08-02 热度:141
1. 基于NFS的Session共享 NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。 这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的本地session目录即可,缺点是NFS依托 于复 杂的安全[详细]
-
细节决定成败:从一个故障说说Java的三个BlockingQueue
所属栏目:[优化] 日期:2019-08-02 热度:106
最近出了个故障,排查的时候耗费了很长的时间,回顾整个排查过程,经验主义在这里起了不好的作用,直接导致了整个故障排查的时间非常长,这个故障的根本原因在于BlockingQueue用的有问题,顺带展开说说Java中常用的几个BlockingQueue:ArrayBlockingQueue[详细]
-
一文解读2019年容器基础设施最新趋势与进展
所属栏目:[优化] 日期:2019-08-02 热度:109
Kubernetes的崛起令人惊叹。在短短几年时间内,它已经从一个由一群云原生开发者倡导的开源项目转变为由云服务提供商推广的标准运维平台。 由于应用程序工作负载从VM转移到容器,Kubernetes已成为自动化和扩展容器部署的流行选择。但是,到目前为止,Kubern[详细]
-
Python爬虫很强大,在爬虫里如何自动操控浏览器呢?
所属栏目:[优化] 日期:2019-08-02 热度:101
概述: python通过selenium爬取数据是很多突破封锁的有效途径。但在使用selenium中会遇到很多问题,本文就通过一问一答的形式来通熟易懂的普及如何通过selenium执行javascript程序,进而获取动态执行后的网页。如果你喜欢,欢迎转发本文。 python爬虫编程[详细]
-
消息中间件:RabbitMQ原理、集群、基本运维操作、常见故障处理
所属栏目:[优化] 日期:2019-08-02 热度:134
本次学习主要针对运维人员,和对rabbitmq不熟悉的开发人员。通过本次学习你将掌握rabbitmq 的基本原理、集群、基本运维操作、常见故障处理。 1、原理与概念 简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标[详细]
-
摩尔定律已死,Raja 定律取而代之:每十年性能提升10倍
所属栏目:[优化] 日期:2019-08-02 热度:196
在半导体行业,摩尔定律的大名无人不知无人不晓,这是 Intel 联合创始人戈登摩尔在 1965年提出的一个规律,最初指的是半导体芯片每年晶体管密度翻倍,性能翻倍,后来修为每2年晶体管翻倍,性能提升一倍。 过去 50 多年来,摩尔定律一直指导着在半导体产业[详细]
-
再见Excel!我开源了一款与Python深度集成的神器级IDE
所属栏目:[优化] 日期:2019-08-02 热度:53
这是一款与 Python 深度集成、基于 Web 开发、无需在各个工具之间切换、适用大部分职业工作场景的开源电子表格应用程序。对它的评价只有 Wow awesome,amazing! 一位名叫 Rick Lamers 的外国小哥开源了一款与 Python 深度集成、基于 Web 的电子表格应用程[详细]
-
你对JavaScript了解多少?大神详细解读JavaScript的框架结构
所属栏目:[优化] 日期:2019-08-02 热度:175
对于任何一个程序员来说,最关注的两个问题无非就是:时间复杂度和空间复杂度。第一部分介绍了 V8 为改进 JavaScript 执行时间所做的速度提升和优化,第二部分则将着重介绍内存管理方面的知识。 这篇文章,小编简要概述了编程语言的一般工作机制,并深入探[详细]
-
我珍藏的一些好的Python代码,技巧
所属栏目:[优化] 日期:2019-08-02 热度:195
很多小伙伴私信芒果,有一些在问一些入门的问题,有一些在问如何学习Python. 其实Python是入门容易精通难,大家平时要养成记录的习惯,好的代码要记录下来,学会总结,经常翻一翻会有收获!今天我来分享一些我自己记录的代码结构,欢迎拍砖! 01.简洁的表达[详细]