-
将Java进程转移到“解剖台”之前,法医都干了什么?
所属栏目:[优化] 日期:2019-10-16 热度:60
作为法医,不怕高度腐烂的尸体,也不怕错综复杂的案情。最怕的,是没留下任何东西。空无一物,任何高超的技术,丰富的经验,都无从下手。 生产环境错综复杂,几分钟前活蹦乱跳的进程,此刻就奄奄一息的躺在那里,苟延残喘。作为第一时间发现的目击者,一定[详细]
-
Web架构之路:MongoDB集群及高可用实践
所属栏目:[优化] 日期:2019-10-16 热度:55
MongoDB集群有副本集及主从复制两种模式,不过主从模式在MongoDB 3.6已经彻底废弃,今天主要探讨副本集的搭建和使用,以及分片。 副本集介绍 副本集(Replica Set)即副本的集合,在MongoDB中通过先定义一个副本集合,然后将多个节点(副本)加入到这个集合中[详细]
-
使用 Golang 构建整洁架构
所属栏目:[优化] 日期:2019-10-16 热度:188
什么是整洁架构? 在《Clean Architecture: A Craftsmans Guide to Software Structure and Design》一书中,著名作家 Robert Uncle Bob Martin 提出了一种具有一些重要特性的体系结构,如框架、数据库和接口的可测试性和独立性。 整洁架构的约束条件是: 独[详细]
-
游戏开发中最常见的10种编程语言
所属栏目:[优化] 日期:2019-10-16 热度:55
游戏开发是非常有经验和熟练的程序员的工作。 它可能花费数亿美元。 这是一项非常有创意的工作,也需要技术水平。 他们需要具有特定需求的编程语言。 以下是用于 游戏 开发的十大编程语言的列表。 1、C# C#如今在许多游戏引擎中广泛使用,并且是游戏开发所[详细]
-
过去50年间,十大热门语言及发明者大盘点
所属栏目:[优化] 日期:2019-10-16 热度:133
软件领域有许多编程语言,每年还涌现出越来越的新语言。新发布的语言有Scala、Kotlin、Go和Closure,但历史证明,只有少数语言能存活下来,其中一些语言对软件领域的发展做出了巨大贡献。 编程语言是软件领域的重要一环,虽然大家对热门的编程语言了解较多[详细]
-
图解分布式一致性算法
所属栏目:[优化] 日期:2019-10-16 热度:104
今天的文章,咱们会通过图的方式,来深入学习和理解分布式一致性的实现原理。 开始的时候,咱们先来灵魂一问:什么是分布式一致性? 你的应用是单节点吗? 你的系统用户多吗、支持扩容吗? 你的系统扩容后数据能保持一致吗? 你的系统是否使用Raft、Paxos? 是[详细]
-
久等了,提高开发效率的 Vue 技巧来了
所属栏目:[优化] 日期:2019-10-16 热度:50
最近俩月正好用 vue 做了一个大数据的项目,积累了很多心得。今天终于有机会分享出来了。 组件(component)的使用 vue 提供的模块化无疑是提高开发效率的神器,而且对于后期代码优化和维护也提供的极大地便利。 组件使用简介 vue 提供了组件功能,组件又可[详细]
-
保护Linux服务器的7个步骤
所属栏目:[优化] 日期:2019-10-16 热度:133
本文将向您介绍基本的Linux服务器安全保护措施,侧重于Debian/Ubuntu,但是您可以将本文介绍的所有内容应用于其他Linux发行版。 1. 更新你的服务器 要保护服务器,您应该做的第一件事是更新本地存储库,并通过应用新的补丁来升级操作系统和已安装的应用程[详细]
-
微服务架构:利用事件驱动实现最终一致性
所属栏目:[优化] 日期:2019-10-15 热度:88
事务一致性 首先,我们来回顾一下ACID原则: Atomicity:原子性,改变数据状态要么是一起完成,要么一起失败 Consistency:一致性,数据的状态是完整一致的 Isolation:隔离线,即使有并发事务,互相之间也不影响 Durability:持久性, 一旦事务提交,不可[详细]
-
一文了解微服务的流程和组织
所属栏目:[优化] 日期:2019-10-15 热度:105
对于大型和复杂的应用程序,微服务架构往往是不错的选择。然而,除了拥有正确的架构之外,成功的软件开发还需要在组织、开发和交付流程方面做一些工作。 图1展示了架构、流程和组织之间的关系: 图1 大型复杂应用程序快速、频繁和可靠地交付软件需要具备几[详细]
-
3分钟让你明白:HashMap之红黑树树化过程
所属栏目:[优化] 日期:2019-10-15 热度:166
01 概述 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文主要分析一下HashMap中红黑树树化的过程。 02[详细]
-
揭开 JavaScript 引擎的面纱
所属栏目:[优化] 日期:2019-10-15 热度:122
前言 最初,JavaScript 只能在 Web 浏览器中运行,但是随着 Node 的出现,现在 JavaScript 也可以在服务端运行。虽然我们可能知道应该在何时何地去使用它, 但是我们真的了解这些脚本执行的背后发生了什么吗? 如果您觉得自己对 JavaScript 引擎有了一些了[详细]
-
搞定 Linux Shell 文本处理工具,看完这篇集锦就够了
所属栏目:[优化] 日期:2019-10-15 热度:156
Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替。既然是基本功,那就需要掌握,毕竟学习Shell脚本的过程中,还是能了解到很多Linux系统的内容。 Linux脚本大师不是人人都可以达到的,但是用一些简单的Shell实现一些常[详细]
-
炒作还是赌未来?量子技术深陷淘金狂潮
所属栏目:[优化] 日期:2019-10-15 热度:174
量子技术的概念出现之后,几乎所有的科幻小说、电影里都有它的身影。不管到底是不是强相关,只要遇见了没法解释说明的问题,就套用量子技术的概念来解释,仿佛量子技术是万能的。 随着技术的进步,量子技术也逐渐从虚无缥缈的概念变得真实可触,来自全球的[详细]
-
Java中牛逼哄哄的消息队列到底有什么用?
所属栏目:[优化] 日期:2019-10-15 热度:186
最近小千会听到很多学员说,在面试大型互联网公司的时候,很可能会被问到消息队列的问题: 在何种场景下使用了消息中间件? 为什么要在系统里引入消息中间件? 如何实现幂等? 链式调用是我们在写程序时候的一般流程,为了完成一个整体功能,会将其拆分成多个[详细]
-
如何避免新代码变包袱?阿里通用方法来了
所属栏目:[优化] 日期:2019-10-15 热度:146
什么是设计?什么是架构?从零开始建立一个新的系统,新写的每行代码都可能成为明天的历史包袱?如何能有效的在遗留代码上工作?今天,阿里资深技术专家辉子为我们带来NBF框架下软件工程架构设计通用方法论,值得细细品读。 Note:本文讨论的是基于服务化前提[详细]
-
还不懂微服务原理?阿里高级技术专家带你看透微服务的来龙去脉
所属栏目:[优化] 日期:2019-10-15 热度:101
我们先看下维基百科和百度百科给出的定义: 维基百科:2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服[详细]
-
9款Kubernetes的无服务器工具,收藏了
所属栏目:[优化] 日期:2019-10-15 热度:77
继续分享Kubernetes的有用工具,本文为大家介绍9款Kubernetes的无服务器工具,朋友们喜欢的话,请多多评论转发,给更多的朋友。 1.Kubeless Kubeless是Kubernetes原生的无服务器框架,可让你部署少量代码,而不必担心基础架构的问题。Kubeless有开箱即用的[详细]
-
六个步骤,封装你喜爱的Python代码包
所属栏目:[优化] 日期:2019-10-14 热度:58
假设你很喜欢用同一段Python代码,里面有几个相关的小型函数,或者是含有几百行代码的中型模块。程序员可能会把它复制到不同的项目或存储库中,或者从特别设置的实用工具代码文件夹中导入这段代码。 这很正常。程序员在编写代码的过程中都会不断积累这些个[详细]
-
9月份Github上热门的Java开源项目
所属栏目:[优化] 日期:2019-10-14 热度:71
9 月份 GitHub 上最热门的Java开源项目排行已经出炉啦,在本月的名单中,有阿里巴巴开源的COLA、easyexcel,去哪儿网的Java应用生产问题诊断工具bistoury等,下面就是本月上榜的12个开源项目: 1. eladmin https://github.com/elunez/eladmin Star 3591 该[详细]
-
中彩票比雷劈还难?用算法提升概率试试
所属栏目:[优化] 日期:2019-10-14 热度:192
靠玩彩票谋生的可能性有多大? 2005年,麻省理工学院的一群学生一起组成了一个博彩组织。他们确定了想赌的游戏,计算了赔率,并获得了数百万美元的利润。 谈一谈可能性 每当强力球开奖奖金达到5亿美元时,就会如雨后春笋般冒出宣称中奖可能性的文章,调侃每[详细]
-
学 Java 网络爬虫,需要哪些基础知识?
所属栏目:[优化] 日期:2019-10-14 热度:71
说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如[详细]
-
详解分布式事务XA实现数据一致性的协议与原理--2PC与3PC
所属栏目:[优化] 日期:2019-10-14 热度:175
概述 大型业务系统有着用户多、并发高的特点,而在这方面,集中式数据库(单机数据库)的性能很难支持,因此主流的互联网公司往往采用分布式(架构)数据库,物理上利用更多的低端设备,逻辑上对大表水平拆分支撑业务的需要。 虽然分布式数据库能解决性能难题[详细]
-
8个Python爬虫框架,你用过几个?
所属栏目:[优化] 日期:2019-10-13 热度:186
小编收集了一些较为高效的Python爬虫框架。分享给大家。 1.Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的[详细]
-
大规模集群故障处理,能抗住这3个灵魂拷问算你赢
所属栏目:[优化] 日期:2019-10-13 热度:179
我相信每一个集群管理员,在长期管理多个不同体量及应用场景的集群后,都会多少产生情绪。其实这在我看来,是一个很微妙的事,即大家也已经开始人性化的看待每一个集群了。 既然是人性化的管理集群,我总是会思考几个方向的问题: 集群的特别之处在哪儿?[详细]