-
云时代的编程语言 Ballerina:轻松创建跨分布式端的弹性服务
所属栏目:[优化] 日期:2019-09-11 热度:105
Ballerina 是一种编程语言和平台,它的目标是让创建跨分布式端的弹性服务变得更轻松。Ballerina 使用分布式系统原语的编译时抽象,这为数据转换提供了类型安全性,编译器可以生成诸如用于将应用部署到 Docker 和 Kubernetes 的 API 网关等构件。 此外,Bal[详细]
-
Java工程师必须搞明白:BeanFactory与FactoryBean是个啥?
所属栏目:[优化] 日期:2019-09-11 热度:92
1.前提概要 很多java开发者在使用Spring框架中都见过后缀为FactoryBean的类,比如Mybatis-Spring中的SqlSessionFactoryBean。说到这里就不得不提BeanFactory。FactoryBean和BeanFactory特别容易让人混淆,面试还经常问到这两种概念。其实它们的作用和使用[详细]
-
Java随机数的陷阱
所属栏目:[优化] 日期:2019-09-11 热度:171
前言 随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。 Java中的随机数 我们需要在Java中随机生成一个数字。java开发中我们通常[详细]
-
微服务架构中常用的解决方案,总结了传统服务发现方案
所属栏目:[优化] 日期:2019-09-10 热度:54
正常情况下当我们要访问服务时需要知道服务实例地址和端口,如果服务实例地址和端口都是固定的我们可以直接将其配置在文件中使用,但大多数线上生产环境尤其容器部署情况下服务实例地址都是动态分配的,只有当服务实例实际部署之后才能获得地址,服务调用[详细]
-
理解微服务的定义,概念以及微服务的原理
所属栏目:[优化] 日期:2019-09-10 热度:76
微服务是业界比较新的流行语,似乎每个人都在以这样或那样的方式谈论它。让我们理解一下什么是微服务?通过这篇教程我们将理解微服务的定义,概念以及微服务的原理。 微服务的定义 如今,微服务是SOA(面向服务的架构)之后越来越流行的架构模式之一,如果您[详细]
-
教师节送什么?Python教你挑选礼物
所属栏目:[优化] 日期:2019-09-10 热度:130
又到了一年一度的教师节,每次教师节大家都会烦恼不知道送什么礼物?尤其是对于理工男来说,更是一个让人头大的问题。我今天就和大家分享一个用Python爬取淘宝商品信息的项目,希望可以给大家选礼物时提供一个参考。 1.爬取目标 本次项目利用selenium抓取淘[详细]
-
GitHub 宣布已经顺利升级到 Rails 6.0
所属栏目:[优化] 日期:2019-09-10 热度:96
GitHub 宣布它顺利升级到了 Rails 6.0。GitHub 平台是用 Rails 构建的,而 Rails 也是最早托管在 GitHub 上大型开源项目之一。GitHub 称他们的开发者与上游紧密合作,参与了新版本的开发。 在 Rails 6.0 开发期间,GitHub 工程师递交了 100 多个 pull requ[详细]
-
计算机组成原理:计算机的层次与编程语言
所属栏目:[优化] 日期:2019-09-10 热度:98
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都[详细]
-
Python 2大限来了!113天后自生自灭 | 附升级指南
所属栏目:[优化] 日期:2019-09-10 热度:172
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 Python 2终于走到了尽头。 官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。 之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。 他们解释称,并不[详细]
-
K8s集群架构与高可用解析
所属栏目:[优化] 日期:2019-09-09 热度:59
基本工作过程 Kubernetes 的核心工作过程: 资源对象:Node、Pod、Service、Replication Controller 等都可以看作一种资源对象 操作:通过使用 kubectl 工具,执行增删改查 存储:对象的目标状态(预设状态),保存在 etcd 中持久化储存; 自动控制:跟踪、对[详细]
-
同样是高并发,QQ/微博/12306的架构难度一样吗?
所属栏目:[优化] 日期:2019-09-09 热度:118
开篇同一个用户并发扣款时,有一定概率出现数据不一致,可以使用CAS乐观锁的方式,在不降低吞吐量,保证数据的一致性: UPDATEt_yueSETmoney=$new_money WHEREuid=$uidANDmoney=$old_money; 更详细的描述,详见《并发扣款,如何保证数据的一致性?》。 不能[详细]
-
浏览 GitHub 太卡了?教你两招
所属栏目:[优化] 日期:2019-09-09 热度:126
老实说,GitHub 在国内的使用体验并不算太好,这其中很大的原因就是网络了。 GitHub 访问起来比较卡,这个看起来貌似无解。国内的 gitee 网速倒是可以,但是无法代替 GitHub,个人感觉 gitee 上还是开源项目多一些,工具类库要少一些。 在网络比较卡的情况[详细]
-
Netflix应用架构之用于个性化和推荐的系统架构
所属栏目:[优化] 日期:2019-09-07 热度:168
本文我们将探索如何创建一个能够交付并支持快速创新的软件架构。提出一种能够处理大量现有数据、响应用户交互并易于试验新的推荐方法的软件体系结构并非易事。在这篇文章中,我们将描述我们如何解决Netflix面临的一些挑战。 首先,我们在下图中展示了推荐[详细]
-
编程语言Nim 中文官网现已上线
所属栏目:[优化] 日期:2019-09-07 热度:55
近期 Nim 中文官网现已上线!大家可以通过https://nim-lang-cn.org来访问。 Nim 是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nim 从 Lisp 继承来的一个特殊特性--抽象语法树(AST)作为语言规范的[详细]
-
SpringBoot 处理异常的几种常见姿势
所属栏目:[优化] 日期:2019-09-07 热度:169
一、使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常 这是目前很常用的一种方式,非常推荐。测试代码中用到了 Junit 5,如果你新建项目验证下面的代码的话,记得添加上相关依赖。 1. 新建异常信息实体类 非必要的类,主要用于包装异常信息。 sr[详细]
-
向攻击者学习?密码保护,你需要这样的反套路!
所属栏目:[优化] 日期:2019-09-07 热度:189
只要你是人类,肯定不可避免反复用过某一两个密码。实际上,大部分年龄介于 18-65 岁之间的网民都这样做过,并且越是年轻的网民,越有可能为自己的所有帐户使用同一个密码。 大家都知道这种做法不好,而且大部分网民都知道怎样创建足够强的密码:应该包含[详细]
-
案例详解:理解Python中的“解析式”
所属栏目:[优化] 日期:2019-09-07 热度:93
本篇文章将详细介绍解析式的基本要素及其各种形式。 Python中的解析式 解析式是允许在其他序列中构建序列的结构。Python 2.0介绍了列表解析式的概念,Python 3.0中进一步介绍了字典和集合解析式。 Pyhon中的解析式类型 为什么解析式如此强大?本文将通过一[详细]
-
用单库自增键来生成id了,后期怎么分库?哎,这个坑大!
所属栏目:[优化] 日期:2019-09-07 热度:123
星球水友写代码的提问: 沈老师,我们现在用户中心是单库单表,uid使用数据库自增主键,uid被很多业务关联,不能变化。 现在用户中心数据量逐步变大,有分库需求了,如何由单库升级为多库,保持历史uid不变,并且新生成的数据不冲突,有什么好办法么? ==问[详细]
-
TypeScript VS JavaScript 深度对比
所属栏目:[优化] 日期:2019-09-07 热度:122
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 JavaScript 之间又有什么样的区别呢?在选择开发语言时,又该如何抉择呢? 本文将会深入对比这两种语言,讨论两[详细]
-
架构选型之Nodejs与Java
所属栏目:[优化] 日期:2019-09-07 热度:119
前言: 身边越来越多的同事谈论Nodejs,谈其异步IO、事件回调、前后台统一一门语言,创业的朋友的第一个创业项目也选择了Nodejs,期望能够使用一种语言节省成本快速完成需求开发。与其他项目组的同事聊项目选型Java时被他们嘲笑了一把,怎么这么不与时俱进[详细]
-
网络管理员的5款网络配置管理工具,收藏了
所属栏目:[优化] 日期:2019-09-07 热度:103
企业网络的增速往往超出网络管理员的预期。一方面,这种增长反映了网络连接性的能力,而另一方面,它提出了管理这种复杂性势必需要选择正确工具的需求。在不同位置管理数百个交换机,路由器,设备和控制器的配置是十分具有挑战性的。即使对你的分布式网络[详细]
-
推动 IT 转型的三大法宝
所属栏目:[优化] 日期:2019-09-07 热度:92
当前,数字时代为中国及其他亚太地区的企业带来了巨大机遇:成功实现数字化转型的企业,能够提升其在全球市场的竞争力。IDC 预测,今年亚太地区的企业在数字化转型上的开支将超过 3,758 亿美元,中国将成为整个亚太地区较大的数字化转型市场,2019 年支出[详细]
-
给中级Python开发者的13个练手项目,适合你不?
所属栏目:[优化] 日期:2019-09-07 热度:121
Web 项目设计 内容聚合器(Content Aggregator) 1. 技术细节 该项目设计的主要目标是聚合内容。首先,我们需要知道内容聚合器从哪些站点获取内容。然后,使用请求库来发送 HTTP 请求,并使用 BeautifulSoup 解析和抓取站点的必要内容。 该应用程序可以将其[详细]
-
并发扣款,如何保证数据的一致性?
所属栏目:[优化] 日期:2019-09-07 热度:61
继续解答星球水友提问。 扣款的业务场景是怎样的? 用户购买商品的过程中,要对余额进行查询与修改,大致的业务流程如下:第一步,从数据库查询用户现有余额: SELECTmoneyFROMt_yueWHEREuid=$uid; 不妨设查询出来的$old_money=100元。 第二步,业务层实施[详细]
-
京东到家订单查询服务演进
所属栏目:[优化] 日期:2019-09-07 热度:140
背景 京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。京东到家的订单数据存储在Mysql中,但显然只通过DB来支撑大量的查询是不可取的,同时对于一些复杂的查[详细]