-
微服务架构:利用事件驱动实现最终一致性
所属栏目:[优化] 日期:2019-10-14 热度:124
事务一致性 首先,我们来回顾一下ACID原则: Atomicity:原子性,改变数据状态要么是一起完成,要么一起失败 Consistency:一致性,数据的状态是完整一致的 Isolation:隔离线,即使有并发事务,互相之间也不影响 Durability:持久性, 一旦事务提交,不可[详细]
-
一文了解微服务的流程和组织
所属栏目:[优化] 日期:2019-10-14 热度:113
对于大型和复杂的应用程序,微服务架构往往是不错的选择。然而,除了拥有正确的架构之外,成功的软件开发还需要在组织、开发和交付流程方面做一些工作。 图1展示了架构、流程和组织之间的关系: 图1 大型复杂应用程序快速、频繁和可靠地交付软件需要具备几[详细]
-
3分钟让你明白:HashMap之红黑树树化过程
所属栏目:[优化] 日期:2019-10-14 热度:163
01 概述 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文主要分析一下HashMap中红黑树树化的过程。 02[详细]
-
揭开 JavaScript 引擎的面纱
所属栏目:[优化] 日期:2019-10-14 热度:89
前言 最初,JavaScript 只能在 Web 浏览器中运行,但是随着 Node 的出现,现在 JavaScript 也可以在服务端运行。虽然我们可能知道应该在何时何地去使用它, 但是我们真的了解这些脚本执行的背后发生了什么吗? 如果您觉得自己对 JavaScript 引擎有了一些了[详细]
-
详解分布式事务XA实现数据一致性的协议与原理--2PC与3PC
所属栏目:[优化] 日期:2019-10-11 热度:118
概述 大型业务系统有着用户多、并发高的特点,而在这方面,集中式数据库(单机数据库)的性能很难支持,因此主流的互联网公司往往采用分布式(架构)数据库,物理上利用更多的低端设备,逻辑上对大表水平拆分支撑业务的需要。 虽然分布式数据库能解决性能难题[详细]
-
8个Python爬虫框架,你用过几个?
所属栏目:[优化] 日期:2019-10-11 热度:74
小编收集了一些较为高效的Python爬虫框架。分享给大家。 1.Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的[详细]
-
大规模集群故障处理,能抗住这3个灵魂拷问算你赢
所属栏目:[优化] 日期:2019-10-11 热度:128
我相信每一个集群管理员,在长期管理多个不同体量及应用场景的集群后,都会多少产生情绪。其实这在我看来,是一个很微妙的事,即大家也已经开始人性化的看待每一个集群了。 既然是人性化的管理集群,我总是会思考几个方向的问题: 集群的特别之处在哪儿?[详细]
-
TIOBE 10月排行:排名前 8 的语言稳定如昨
所属栏目:[优化] 日期:2019-10-09 热度:195
TIOBE 编程语言排行榜 10 月份的榜单已公布,这期的标题比较有趣 Top 8 of the TIOBE index quite stable for the last 15 years,意思就是排名前 8 的编程语言在这 15 年里一直都十分稳定。 有多稳定呢?根据 TIOBE 统计的数据,虽然每年都会诞生新的编程[详细]
-
9月份Github上热门的Python开源项目
所属栏目:[优化] 日期:2019-10-09 热度:99
9 月份 GitHub 上最热门的Python开源项目排行已经出炉啦,下面就是本月上榜的12个开源项目,一起来看看吧: 1. mlcourse.ai https://github.com/Yorko/mlcourse.ai Star 6008 mlcourse.ai是OpenDataScience提供的开源机器学习课程。你还可以参加课程中举行[详细]
-
从写下第1行代码到拿下谷歌百万年薪 ,我是如何在8个月内做到的?
所属栏目:[优化] 日期:2019-10-09 热度:78
本文作者非计算机科班出身,在写下第一行 Javascript 代码后不到一年,他先后收获了来自谷歌、Lyft、Yelp、云计算独角兽 Rubrik、IBM 人工智能和 JP Morgan 的录用通知书。他的求职经历可能会对你找工作有所帮助。 我希望我的故事能够激励当今的软件工程求[详细]
-
优化Python代码的4种方法
所属栏目:[优化] 日期:2019-10-09 热度:92
介绍 我是一个程序员。从大学时代开始我就一直在进行编程,而我仍然对使用简单的Python代码所开辟的道路之多感到惊讶。 但是我并不总是那么高效。我相信这是大多数程序员(尤其是刚起步的程序员)共有的一个特征,编写代码的快感始终优先于效率和简洁性。虽[详细]
-
我所理解的架构,看这篇就对了
所属栏目:[优化] 日期:2019-10-09 热度:138
什么是架构? 个人所理解的架构的含义应该是:定义一个完整系统中所需的组件以及实现组件间的交互策略。那么很明显,架构设计应该是考虑如何定义和划分好每个组件,然后考虑它们是如何基于不同的交互策略来实现我们业务需要的场景。 什么是组件? 个人认为,[详细]
-
架构漫谈:从架构的角度看如何写好代码
所属栏目:[优化] 日期:2019-10-09 热度:119
软件架构实际上包括了:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。因为代码架构不合理,是无法把一个运行单元分拆出多个来的,那么硬件架构能分拆的就非常的有限,整个系统最终很难长的更大。 所以我们[详细]
-
六个步骤,封装你喜爱的Python代码包
所属栏目:[优化] 日期:2019-10-09 热度:184
假设你很喜欢用同一段Python代码,里面有几个相关的小型函数,或者是含有几百行代码的中型模块。程序员可能会把它复制到不同的项目或存储库中,或者从特别设置的实用工具代码文件夹中导入这段代码。 这很正常。程序员在编写代码的过程中都会不断积累这些个[详细]
-
9月份Github上热门的Java开源项目
所属栏目:[优化] 日期:2019-10-09 热度:137
9 月份 GitHub 上最热门的Java开源项目排行已经出炉啦,在本月的名单中,有阿里巴巴开源的COLA、easyexcel,去哪儿网的Java应用生产问题诊断工具bistoury等,下面就是本月上榜的12个开源项目: 1. eladmin https://github.com/elunez/eladmin Star 3591 该[详细]
-
中彩票比雷劈还难?用算法提升概率试试
所属栏目:[优化] 日期:2019-10-09 热度:67
靠玩彩票谋生的可能性有多大? 2005年,麻省理工学院的一群学生一起组成了一个博彩组织。他们确定了想赌的游戏,计算了赔率,并获得了数百万美元的利润。 谈一谈可能性 每当强力球开奖奖金达到5亿美元时,就会如雨后春笋般冒出宣称中奖可能性的文章,调侃每[详细]
-
学 Java 网络爬虫,需要哪些基础知识?
所属栏目:[优化] 日期:2019-10-09 热度:184
说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如[详细]
-
老牌运维教你如何快速分析Linux服务器的性能问题
所属栏目:[优化] 日期:2019-09-30 热度:143
作为一名linux系统运维人员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题、软件问题、网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪个方面,是性能优化的一大难题, 本章从系统[详细]
-
如何设计API接口,实现统一格式返回?
所属栏目:[优化] 日期:2019-09-30 热度:84
前言 在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要[详细]
-
Redis集合类型使用说明
所属栏目:[优化] 日期:2019-09-30 热度:116
今天我们了解一下Redis中的集合类型,也就是set集合。在Redis中set也是可以保存多个字符串的。那么set集合和list链表到底有什么不同呢?下面我们重点介绍一下它们之间的不同。 set中的元素是不可以重复的,而list是可以保存重复元素的。 set中的元素是无序[详细]
-
你对JavaScript掌握多少?项目大牛详细解读JavaScript框架结构
所属栏目:[优化] 日期:2019-09-30 热度:113
对于任何一个程序员来说,最关注的两个问题无非就是:时间复杂度和空间复杂度。第一部分介绍了 V8 为改进 JavaScript 执行时间所做的速度提升和优化,第二部分则将着重介绍内存管理方面的知识。 这篇文章,小编简要概述了编程语言的一般工作机制,并深入探[详细]
-
代码详解:Python正则表达式的优秀使用指南
所属栏目:[优化] 日期:2019-09-30 热度:181
处理文本数据的一个主要任务就是创建许多以文本为基础的特性。 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码。 虽然想要实现上述功能听起来很繁琐,但是如果使用Python正则表达式模块,就可以使这[详细]
-
如何通过wrap malloc定位C/C++程序的内存泄漏
所属栏目:[优化] 日期:2019-09-29 热度:94
用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路。 什么是内存泄漏? 动态申请的内存丢失引用,造成没有办法回收它(我知道杠jing要说进程退出前系统会统一回收),这便是内存泄漏。 Java等编[详细]
-
Hadoop之完全分布式集群
所属栏目:[优化] 日期:2019-09-28 热度:93
首先准备三台客户机(hadoop102,hadoop103,hadoop104),关闭防火墙,修改为静态ip和ip地址映射 配置集群 编写集群分发脚本 创建一个远程同步的脚本xsync,并放到当前用户下新建的bin目录下,配置到PATH中,使得此脚本在任何目录下都可以执行 脚本实现 [ko[详细]
-
Java传统编程模型存在的问题
所属栏目:[优化] 日期:2019-09-28 热度:146
Actor模型不仅仅被认为是一种高效的解决方案 ,它已经在世界上一些要求最苛刻的应用中得到了验证,为了突出Actor模型所解决的问题,本节首先讨论传统编程模型与现代多线程和多CPU的硬件架构之间的不匹配: 对面向对象中封装(encapsulation)特性的挑战 对共[详细]