-
9个项目助你在2020年成为前端大神!
所属栏目:[优化] 日期:2019-11-06 热度:124
DEV的年度热文,读完觉得不错,所以翻译出来供大家参考,个人水平有限,文中可能会有一些翻译错误,可以在评论区指正。 本篇文章一共涉及了9个流行的框架/库,没有具体的介绍使用方法,而是给了一些非常棒的实战教程。 初学者(也许一些有经验的开发者也是[详细]
-
Kafka事务流由基础到实践
所属栏目:[优化] 日期:2019-11-06 热度:131
事件源,最终一致性,微服务,CQRS等等,这些越多越多的概念被现代开发者所熟悉。从细粒度的服务组装到复杂的以业务为中心的应用架构,这其中最重要的一块就是以中间件为基础的业务脱藕。本文我们介绍中间件基础构建块事务流。其主导者是Apache Kafka,事[详细]
-
这一次,终于系统的学习了 JVM 内存结构
所属栏目:[优化] 日期:2019-11-06 热度:64
最近在看《 JAVA并发编程实践 》这本书,里面涉及到了 Java 内存模型,通过 Java 内存模型顺理成章的了解到 JVM 内存结构,关于 JVM 内存结构也许大学的课堂上老师给我们讲过,也许没有,反正我对这一块有一点点的了解,但是从来没有系统的学习过,所以这[详细]
-
一文读懂Python web框架和web服务器之间的关系
所属栏目:[优化] 日期:2019-11-06 热度:152
我们都知道 Python 作为一门强大的语言,能够适应快速原型和较大项目的制作,因此被广泛用于 web 应用程序的开发中。 在面试的过程中,大家或多或少都被问到过这样一个问题:一个请求从浏览器发出到数据返回都经历过哪些过程? 要回答这个问题,首先你需要[详细]
-
收藏!盘点实用的数据科学Python库
所属栏目:[优化] 日期:2019-11-06 热度:190
数据科学是一门研究数据并从中挖掘信息的学科。它不要求自创或学习新的算法,只需要知道怎么样研究数据并解决问题。这一过程的关键点之一就在于使用合适的库。本文概述了数据科学中常用的、并且有一定重要性的库。在进入正题之前,本文先介绍了解决数据科[详细]
-
深入理解 JavaScript 回调函数
所属栏目:[优化] 日期:2019-11-06 热度:108
JavaScript回调函数是成为一名成功的 JavaScript 开发人员必须要了解的一个重要概念。但是我相信,在阅读本文之后,你将能够克服以前使用回调方法遇到的所有障碍。 在开始之前,首先要确保我们对函数的理解是扎实的。 快速回顾:JavaScript 函数 什么是函[详细]
-
别再找了,一文彻底解析Java 中的弱引用
所属栏目:[优化] 日期:2019-11-06 热度:189
概览 本文会通过对弱引用的定义讲起,然后通过案例的使用一步一步的深入源码进行分析其原理,从而让读者深刻的理解什么是弱引用,如何使用弱引用,什么场景下会使用弱引用,弱引用可以解决什么样的问题,以及它的源码实现是怎样的,其中会涉及的内存溢出,[详细]
-
Java性能优化:35个小细节,提升你的Java代码运行效率
所属栏目:[优化] 日期:2019-11-06 热度:104
前言 代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂[详细]
-
你可能错过的现代 JavaScript 特性
所属栏目:[优化] 日期:2019-11-06 热度:84
尽管我在过去 7 年中几乎每天都在写 JavaScript 代码,但不得不承认,我实际上并不是很注意 ES 语言的发布声明。 async/await 和 Proxies 之类的主要特性是一回事,但是每年都有稳定的小规模、渐进式的改进在不断涌现,因为总有一些东西需要学习。 所以在[详细]
-
Python数据可视化:箱线图多种库画法
所属栏目:[优化] 日期:2019-11-06 热度:96
概念 箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为数据的第25%,50%和75%的数字。 四分位间距([详细]
-
Java异常处理 10 个优秀实践
所属栏目:[优化] 日期:2019-11-06 热度:200
异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也[详细]
-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-11-05 热度:56
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-11-05 热度:70
作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务是 Algolia[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-11-05 热度:127
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-11-05 热度:194
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-11-05 热度:160
概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中。字符串引[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-11-05 热度:148
别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-11-05 热度:93
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
作为高级Java,你应该了解的Linux知识
所属栏目:[优化] 日期:2019-11-05 热度:183
Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一[详细]
-
来吧,说说你眼中的微服务
所属栏目:[优化] 日期:2019-11-05 热度:103
微服务划分模式 虽然服务是逐步被拆分出来的,随着业务的演进,在某一时刻,可能需要我们重新审视服务划分得是否合理。本节向大家推荐两种服务划分的方法,首先介绍如何选择服务划分的方法。 基于业务复杂度选择服务划分方法 根据业务复杂度划分服务,如图[详细]
-
线程、多线程和线程池,我终于把这些全部搞懂了
所属栏目:[优化] 日期:2019-11-05 热度:65
1、开启线程的三种方式? 1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start(); 2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start(); 3)实现Callable接口MyCallable类,实现call()方法,使用Futur[详细]
-
MongoDB实现问卷/考试设计
所属栏目:[优化] 日期:2019-11-05 热度:54
MongoDB的特点 MongoDB是一个面向文档存储的数据库。在MongoDB中,一条记录叫做document(文档),由类似于JSON结构的键值对组成。 由于类似于MongoDB直接存储JSON的特性,MongoDB天生适合作为存储结构复杂的数据结构的介质。类似于问卷调查和考试这种需求[详细]
-
四条使用Spring BeanUtils的总结,避免各种诡异的属性拷贝问题!
所属栏目:[优化] 日期:2019-11-05 热度:88
背景 最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性[详细]
-
不吹不黑,这个算法,你肯定不会
所属栏目:[优化] 日期:2019-11-05 热度:199
01、前言 我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有 LRU,LFU,FIFO,这篇文章我们[详细]
-
Hadoop 生态之 MapReduce 及 Hive 简介
所属栏目:[优化] 日期:2019-11-05 热度:112
1.计算框架 Hadoop 是一个计算框架,目前大型数据计算框架常用的大致有五种: 仅批处理框架:Apache hadoop. 仅流处理框架:Apache Storm、Apache Samza. 混合框架:Apache Spark、Apache Flink. 这其中名气最大、使用最广的当属 Hadoop 和 Spark。 虽然两[详细]
