-
过去50年间,十大热门语言及发明者大盘点
所属栏目:[优化] 日期:2019-10-12 热度:101
软件领域有许多编程语言,每年还涌现出越来越的新语言。新发布的语言有Scala、Kotlin、Go和Closure,但历史证明,只有少数语言能存活下来,其中一些语言对软件领域的发展做出了巨大贡献。 编程语言是软件领域的重要一环,虽然大家对热门的编程语言了解较多[详细]
-
图解分布式一致性算法
所属栏目:[优化] 日期:2019-10-12 热度:83
今天的文章,咱们会通过图的方式,来深入学习和理解分布式一致性的实现原理。 开始的时候,咱们先来灵魂一问:什么是分布式一致性? 你的应用是单节点吗? 你的系统用户多吗、支持扩容吗? 你的系统扩容后数据能保持一致吗? 你的系统是否使用Raft、Paxos? 是[详细]
-
久等了,提高开发效率的 Vue 技巧来了
所属栏目:[优化] 日期:2019-10-12 热度:197
最近俩月正好用 vue 做了一个大数据的项目,积累了很多心得。今天终于有机会分享出来了。 组件(component)的使用 vue 提供的模块化无疑是提高开发效率的神器,而且对于后期代码优化和维护也提供的极大地便利。 组件使用简介 vue 提供了组件功能,组件又可[详细]
-
保护Linux服务器的7个步骤
所属栏目:[优化] 日期:2019-10-12 热度:69
本文将向您介绍基本的Linux服务器安全保护措施,侧重于Debian/Ubuntu,但是您可以将本文介绍的所有内容应用于其他Linux发行版。 1. 更新你的服务器 要保护服务器,您应该做的第一件事是更新本地存储库,并通过应用新的补丁来升级操作系统和已安装的应用程[详细]
-
微服务架构:利用事件驱动实现最终一致性
所属栏目:[优化] 日期:2019-10-12 热度:156
事务一致性 首先,我们来回顾一下ACID原则: Atomicity:原子性,改变数据状态要么是一起完成,要么一起失败 Consistency:一致性,数据的状态是完整一致的 Isolation:隔离线,即使有并发事务,互相之间也不影响 Durability:持久性, 一旦事务提交,不可[详细]
-
一文了解微服务的流程和组织
所属栏目:[优化] 日期:2019-10-12 热度:118
对于大型和复杂的应用程序,微服务架构往往是不错的选择。然而,除了拥有正确的架构之外,成功的软件开发还需要在组织、开发和交付流程方面做一些工作。 图1展示了架构、流程和组织之间的关系: 图1 大型复杂应用程序快速、频繁和可靠地交付软件需要具备几[详细]
-
3分钟让你明白:HashMap之红黑树树化过程
所属栏目:[优化] 日期:2019-10-12 热度:95
01 概述 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文主要分析一下HashMap中红黑树树化的过程。 02[详细]
-
揭开 JavaScript 引擎的面纱
所属栏目:[优化] 日期:2019-10-12 热度:118
前言 最初,JavaScript 只能在 Web 浏览器中运行,但是随着 Node 的出现,现在 JavaScript 也可以在服务端运行。虽然我们可能知道应该在何时何地去使用它, 但是我们真的了解这些脚本执行的背后发生了什么吗? 如果您觉得自己对 JavaScript 引擎有了一些了[详细]
-
如何通过wrap malloc定位C/C++程序的内存泄漏
所属栏目:[优化] 日期:2019-10-03 热度:73
用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路。 什么是内存泄漏? 动态申请的内存丢失引用,造成没有办法回收它(我知道杠jing要说进程退出前系统会统一回收),这便是内存泄漏。 Java等编[详细]
-
老牌运维教你如何快速分析Linux服务器的性能问题
所属栏目:[优化] 日期:2019-10-03 热度:73
作为一名linux系统运维人员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题、软件问题、网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪个方面,是性能优化的一大难题, 本章从系统[详细]
-
如何设计API接口,实现统一格式返回?
所属栏目:[优化] 日期:2019-10-03 热度:177
前言 在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要[详细]
-
Redis集合类型使用说明
所属栏目:[优化] 日期:2019-10-02 热度:114
今天我们了解一下Redis中的集合类型,也就是set集合。在Redis中set也是可以保存多个字符串的。那么set集合和list链表到底有什么不同呢?下面我们重点介绍一下它们之间的不同。 set中的元素是不可以重复的,而list是可以保存重复元素的。 set中的元素是无序[详细]
-
你对JavaScript掌握多少?项目大牛详细解读JavaScript框架结构
所属栏目:[优化] 日期:2019-10-02 热度:149
对于任何一个程序员来说,最关注的两个问题无非就是:时间复杂度和空间复杂度。第一部分介绍了 V8 为改进 JavaScript 执行时间所做的速度提升和优化,第二部分则将着重介绍内存管理方面的知识。 这篇文章,小编简要概述了编程语言的一般工作机制,并深入探[详细]
-
代码详解:Python正则表达式的优秀使用指南
所属栏目:[优化] 日期:2019-10-02 热度:188
处理文本数据的一个主要任务就是创建许多以文本为基础的特性。 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码。 虽然想要实现上述功能听起来很繁琐,但是如果使用Python正则表达式模块,就可以使这[详细]
-
Python帮你微信头像任意添加装饰,别再@微信官方了!
所属栏目:[优化] 日期:2019-09-28 热度:72
@微信官方 昨天朋友圈刷爆了@微信官方的梗,从起初的为头像添加国旗,到最后的各种Book思议的需求而我呢?@了辣么辣么多的奥特曼,结果还是加班到12点多最后想想,人还是得靠自己吧,@我自己吧 昨天最近每晚加班回家都凌晨了,昨晚因为太累没更新,今天再不[详细]
-
服务端高并发分布式架构演进之路
所属栏目:[优化] 日期:2019-09-28 热度:76
1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概念 在介绍架构之前,为了避免部分[详细]
-
干货收藏!Python完整代码带你一文看懂抽样
所属栏目:[优化] 日期:2019-09-28 热度:128
1.什么时候需要抽样 抽样工作在数据获取较少或处理大量数据比较困难的时期非常流行,这主要有以下几方面原因: 数据计算资源不足。计算机软硬件的限制是导致抽样产生的基本原因之一,尤其是在数据密集的生物、科学工程等领域,不抽样往往无法对海量数据进[详细]
-
用Spring的BeanUtils前,建议你先了解这几个坑
所属栏目:[优化] 日期:2019-09-28 热度:177
背景 最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性[详细]
-
Web前端和Java开发哪个薪资更高,发展前景更好?
所属栏目:[优化] 日期:2019-09-28 热度:144
互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是学什么技术更好,哪一个语言的就业薪资更高,就成了困惑大家的主要问题。 网上关于Web前端和Java开发谁的薪资高,发展前景好?这样类似的问题比比皆是,众人的回答也是各有其说。 Web前[详细]
-
浅谈10个提升应用程序10倍性能的技巧
所属栏目:[优化] 日期:2019-09-28 热度:132
提高web应用程序性能比以往任何时候都更加重要。在线经济活动的份额正在增长;超过5%的发达国家的经济现在是在互联网上的(参见参考资料中的互联网统计数据)。而我们这个始终在线、高度连接的现代世界意味着用户的期望比以往任何时候都要高。如果您的站点没[详细]
-
Sqlite事务模型、性能优化Tips、常见误区
所属栏目:[优化] 日期:2019-09-28 热度:52
0.前言 本文主要介绍sqlite的事务模型,以及基于事务模型的一些性能优化tips,包括事务封装、WAL+读写分离、分库分表、page size优化等。并基于手淘sqlite的使用现状总结了部分常见问题及误区,主要集中在多线程的设置、多线程下性能优化的误区等。本文先[详细]
-
大势所趋!数据科学家必知的5种图算法
所属栏目:[优化] 日期:2019-09-28 热度:124
在万物相连的世界里,用户并不是独立的个体,彼此之间都有某种联系。构建机器学习模型时,有时也会将这种联系放入模型中。 虽然关系数据库中无法在不同数行(用户)间使用这种关系,但在图数据库里,这样做非常简单。 本文将介绍一些数据科学家必知的重要的[详细]
-
详解Docker容器监控之Cadvisor,值得收藏
所属栏目:[优化] 日期:2019-09-28 热度:196
概述 我们可以使用多种方法监控容器的运行情况,比如EFK等,但是我们仍旧需要一个资源利用率监控系统。这个时候,google开发的cadvisor就可以帮上我们的忙了。 cadvisor是google创建的用于监控icmtfy容器资源使用情况和性能的软件,cadvisor在宿主机上以容[详细]
-
没有爬虫,就没有今天的搜索引擎
所属栏目:[优化] 日期:2019-09-28 热度:172
在如今信息化、数字化的时代,人们已经离不开网络搜索了,但细想一下,你在搜索过程中能够真正获得相关信息,是因为有人在帮你把与之相关的内容筛选和呈递到你面前了。 就像在饭店里,你点了土豆并且能吃到,是因为有人帮你在土豆、萝卜、西红柿等中找到土[详细]
-
多线程开发中线程数量设计问题
所属栏目:[优化] 日期:2019-09-27 热度:67
前言 前面我们用了几篇文章系统的说了一下有关Java并发编程模型中的一些基础的知识。比如同步,锁,原子性操作,信号量等以及它们的一些延展实现闩锁,栅锁等等。 今天我们回过头来简单说一下并发编程模型的设计和选择。 主要涉及到我们如何利用多线程设计[详细]