-
常用消息中间件17个维度全方位对比
所属栏目:[优化] 日期:2019-09-19 热度:62
本文介绍了Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 17 个方面综合对比作为消息队列使用时的差异。 一 资料文档 Kafka:中。有kafka作者自己写的书,网上资料也有一些。rabbitmq:多。有一些不错的书,网上资料多。zeromq:少。没有专门写zeromq的书[详细]
-
浅谈PHP微服务集群搭建
所属栏目:[优化] 日期:2019-09-19 热度:182
近些年微服务架构大行其道,趁着最近有时间,来捣鼓捣鼓微服务是怎么一回事。 微服务架构 微服务的概念由 Martin Fowler 于2014年3月提出: 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最[详细]
-
想提高计算速度?作为数据科学家你应该知道这些Python多线程、进程知识
所属栏目:[优化] 日期:2019-09-19 热度:116
每个数据科学项目迟早都会面临一个不可避免的挑战:速度问题。使用更大的数据集会导致处理速度变慢,因此最终必须想办法优化算法的运行时间。正如你们大多数人已经知道的,并行化是这种优化的必要步骤。python 为并行化提供了两个内置库:多处理和线程。在[详细]
-
铁打的Python连续3年第一,PHP跌出前十:IEEE编程语言排行榜出炉
所属栏目:[优化] 日期:2019-09-17 热度:110
Python势头不减,依旧第一,而且进一步拉开了与其他语言的差距。 这一结果,来自IEEE Spectrum2019年度编程语言排行榜。 这已经是Python连续3年保持第一。 在Python之下,第二交椅的位置再度发生变化:变成了Java。 这一位置,去年属于C++,前年属于C。 可[详细]
-
深入理解递归,是你误解了递归
所属栏目:[优化] 日期:2019-09-17 热度:193
递归是一个神奇的算法,它是编程书籍中讲解的最尴尬部分。这些书籍通常会展示一个递归的阶乘实现,然后警告你,虽然它能运行但是它非常的慢并且可能会堆栈溢出而崩溃。虽然大家对它持怀疑态度,但是这不影响递归是算法中最强大的想法。 让我们来看看经典的[详细]
-
如何保证前端项目代码质量
所属栏目:[优化] 日期:2019-09-17 热度:172
What 什么是代码本身的质量? 代码本身的质量: 包括复杂度, 重复率, 代码风格等。 复杂度: 项目代码量,模块大小,耦合度等 重复率: 重复出现的代码区块占比,通常要求在5%以下(借助平台化工具如Sonar) 代码风格: 代码风格是否统一(动态语言代码如JS, Pytho[详细]
-
值得收藏!16段代码入门Python循环语句
所属栏目:[优化] 日期:2019-09-17 热度:104
循环语句又称为重复结构,用于反复执行某一操作。面对大数量级的重复运算,即使借助计算机,重复编写代码也是费时的,这时就需要借助循环语句。使用循环语句一般要用到条件判断,根据判断式的返回值决定是否执行循环体。 循环分为两种模式,一种是条件满足[详细]
-
简单地理解区分CountDownLatch与CyclicBarrier--高并发编程
所属栏目:[优化] 日期:2019-09-17 热度:57
本文主要讨论在高并发编程中两非常实用工具CyclicBarrier(同步屏障)和CountDownLatch(倒计时锁),两者都是java.util.concurrent并发包内非常有用的并发工具类,为了帮助理解会结合一些有趣的比喻,下面将对两者进行讨论。 一、CountDownLatch倒计时锁(一个[详细]
-
16岁成为全栈开发者:我从开发游戏到写加密货币投资机器人的心路历程
所属栏目:[优化] 日期:2019-09-17 热度:174
全栈开发者听起来是个很高大上的程序员岗位,似乎没有几年工作经验是 Hold 不住的。但是,有个葡萄牙少年 16 岁就成为了全栈开发者,这是他从接触编程开始经历的故事。 我叫 Nuno,今年 16 岁,来自葡萄牙。今天我想跟大家聊聊我是如何成为一名全栈开发者[详细]
-
每秒100W请求,12306秒杀业务,架构如何优化?
所属栏目:[优化] 日期:2019-09-17 热度:118
如《同样是高并发,QQ/微博/12306的架构难度一样吗?》一文所述,同样是高并发场景,三类业务的架构挑战不一样: QQ类业务,用户主要读写自己的数据,访问基本带有uid属性,数据访问锁冲突较小 微博类业务,用户的feed主页由别人发布的消息构成,数据读写有[详细]
-
8个优秀Docker容器监控工具,收藏了
所属栏目:[优化] 日期:2019-09-17 热度:68
Docker是目前使用最广泛的容器之一,但它并不总是像物理硬件一样可见。而使用docker容器监控工具有助于消除这种透明度的缺失。以下介绍8种优秀Docker容器监控工具。 1.SolarWinds ServerApplication Monitor SolarWinds ServerApplication Monitor是一个应[详细]
-
Java 中的 T,E,K,V, 别傻傻分不清楚!
所属栏目:[优化] 日期:2019-09-17 热度:119
前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型带来的好处 在没有泛型的情况的下,通[详细]
-
软件架构五大原则,确保你的项目100%成功
所属栏目:[优化] 日期:2019-09-17 热度:106
方案架构师是负责系统架构以及特定产品的技术标准(包括技术、平台、基础架构)的专家。他们为产品设定前景,他们的分析也是产品的定义、设计、交付和永久支持的成功关键。因此,构架师不仅需要了解业务需求,还需要了解符合企业技术总目标的逻辑性、可扩展[详细]
-
微服务架构中常用的解决方案,总结了传统服务发现方案
所属栏目:[优化] 日期:2019-09-13 热度:81
正常情况下当我们要访问服务时需要知道服务实例地址和端口,如果服务实例地址和端口都是固定的我们可以直接将其配置在文件中使用,但大多数线上生产环境尤其容器部署情况下服务实例地址都是动态分配的,只有当服务实例实际部署之后才能获得地址,服务调用[详细]
-
理解微服务的定义,概念以及微服务的原理
所属栏目:[优化] 日期:2019-09-13 热度:138
微服务是业界比较新的流行语,似乎每个人都在以这样或那样的方式谈论它。让我们理解一下什么是微服务?通过这篇教程我们将理解微服务的定义,概念以及微服务的原理。 微服务的定义 如今,微服务是SOA(面向服务的架构)之后越来越流行的架构模式之一,如果您[详细]
-
教师节送什么?Python教你挑选礼物
所属栏目:[优化] 日期:2019-09-13 热度:75
又到了一年一度的教师节,每次教师节大家都会烦恼不知道送什么礼物?尤其是对于理工男来说,更是一个让人头大的问题。我今天就和大家分享一个用Python爬取淘宝商品信息的项目,希望可以给大家选礼物时提供一个参考。 1.爬取目标 本次项目利用selenium抓取淘[详细]
-
GitHub 宣布已经顺利升级到 Rails 6.0
所属栏目:[优化] 日期:2019-09-13 热度:102
GitHub 宣布它顺利升级到了 Rails 6.0。GitHub 平台是用 Rails 构建的,而 Rails 也是最早托管在 GitHub 上大型开源项目之一。GitHub 称他们的开发者与上游紧密合作,参与了新版本的开发。 在 Rails 6.0 开发期间,GitHub 工程师递交了 100 多个 pull requ[详细]
-
计算机组成原理:计算机的层次与编程语言
所属栏目:[优化] 日期:2019-09-13 热度:145
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都[详细]
-
Python 2大限来了!113天后自生自灭 | 附升级指南
所属栏目:[优化] 日期:2019-09-13 热度:74
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 Python 2终于走到了尽头。 官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。 之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。 他们解释称,并不[详细]
-
一篇文章让你了解 MVC、MVP 、MVVM
所属栏目:[优化] 日期:2019-09-13 热度:89
MVC MVC全名是Model--View--Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中Model层处理[详细]
-
如何打造应对超大流量的高性能负载均衡?
所属栏目:[优化] 日期:2019-09-13 热度:102
负载均衡 负载均衡是云计算的基础组件,是网络流量的入口,其重要性不言而喻。 什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀地分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求,达到负载分担的目的。从[详细]
-
云时代的编程语言 Ballerina:轻松创建跨分布式端的弹性服务
所属栏目:[优化] 日期:2019-09-13 热度:103
Ballerina 是一种编程语言和平台,它的目标是让创建跨分布式端的弹性服务变得更轻松。Ballerina 使用分布式系统原语的编译时抽象,这为数据转换提供了类型安全性,编译器可以生成诸如用于将应用部署到 Docker 和 Kubernetes 的 API 网关等构件。 此外,Bal[详细]
-
Java工程师必须搞明白:BeanFactory与FactoryBean是个啥?
所属栏目:[优化] 日期:2019-09-13 热度:131
1.前提概要 很多java开发者在使用Spring框架中都见过后缀为FactoryBean的类,比如Mybatis-Spring中的SqlSessionFactoryBean。说到这里就不得不提BeanFactory。FactoryBean和BeanFactory特别容易让人混淆,面试还经常问到这两种概念。其实它们的作用和使用[详细]
-
Java随机数的陷阱
所属栏目:[优化] 日期:2019-09-13 热度:58
前言 随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。 Java中的随机数 我们需要在Java中随机生成一个数字。java开发中我们通常[详细]
-
如何在Ubuntu上安装和使用R语言
所属栏目:[优化] 日期:2019-09-13 热度:112
这个教程指导你如何在 Ubuntu 上安装 R 语言。你也将同时学习到如何在 Ubuntu 上用不同方法运行简单的 R 语言程序。 R,和 Python 一样,它是在统计计算和图形处理上最常用的编程语言,易于处理数据。随着数据分析、数据可视化、数据科学(机器学习热)的[详细]