-
基于分布式系统的7种唯一ID实现方案,值得收藏
所属栏目:[优化] 日期:2019-09-03 热度:167
概述 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。 分布式ID的特性 唯一性:确保生成的ID是全网唯一的。 有序[详细]
-
Python开发必备:如何建立一个优秀的项目工程环境
所属栏目:[优化] 日期:2019-09-03 热度:104
在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上。本文以Python为例,教大家如何快速打造优秀的Python项目开发环境:内容涵盖了模块依赖管理、代码风格管理、调试测试管理和Git版本管理,使用gi[详细]
-
如何在 Linux 上重命名一组文件
所属栏目:[优化] 日期:2019-09-03 热度:72
几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做的。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则表达式的技巧。 与 mv 命令不同,rename 不允许你简单地指定旧名称和新[详细]
-
一文看懂数据结构中的树 值得收藏
所属栏目:[优化] 日期:2019-09-03 热度:158
通常在开始学编程的时候,你会接触一些常用数据结构。 到最后一般会学到哈希表。对于修读计算机科学学位的朋友,你通常要上专门的数据结构课,从了解有关链表、队列和栈的各种知识。这些统称为线性数据结构,因为依逻辑次序从头排到尾。 当你开始进入下一[详细]
-
如何在磁盘上查找 MySQL 表的大小
所属栏目:[优化] 日期:2019-09-03 热度:161
我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格[详细]
-
细说Python的Lambda函数用法,建议收藏
所属栏目:[优化] 日期:2019-09-03 热度:133
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方。 先用def[详细]
-
给中级Python开发者的13个练手项目,适合你不?
所属栏目:[优化] 日期:2019-08-31 热度:138
Web 项目设计 内容聚合器(Content Aggregator) 1. 技术细节 该项目设计的主要目标是聚合内容。首先,我们需要知道内容聚合器从哪些站点获取内容。然后,使用请求库来发送 HTTP 请求,并使用 BeautifulSoup 解析和抓取站点的必要内容。 该应用程序可以将其[详细]
-
并发扣款,如何保证数据的一致性?
所属栏目:[优化] 日期:2019-08-31 热度:118
继续解答星球水友提问。 扣款的业务场景是怎样的? 用户购买商品的过程中,要对余额进行查询与修改,大致的业务流程如下:第一步,从数据库查询用户现有余额: SELECTmoneyFROMt_yueWHEREuid=$uid; 不妨设查询出来的$old_money=100元。 第二步,业务层实施[详细]
-
京东到家订单查询服务演进
所属栏目:[优化] 日期:2019-08-31 热度:125
背景 京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。京东到家的订单数据存储在Mysql中,但显然只通过DB来支撑大量的查询是不可取的,同时对于一些复杂的查[详细]
-
微服务的三种通信方法
所属栏目:[优化] 日期:2019-08-31 热度:133
在微服务架构的世界中,我们通过一系列服务构建应用。集合中的每项服务都符合以下标准: 松散耦合 可维护和可测试 可以独立部署 微服务架构中的每个服务都解决了应用中的业务问题,或至少支持一个。一个团队对应用中的一个或多个服务负责。 微服务架构可以[详细]
-
SpringBoot 处理异常的几种常见姿势
所属栏目:[优化] 日期:2019-08-30 热度:105
一、使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常 这是目前很常用的一种方式,非常推荐。测试代码中用到了 Junit 5,如果你新建项目验证下面的代码的话,记得添加上相关依赖。 1. 新建异常信息实体类 非必要的类,主要用于包装异常信息。 sr[详细]
-
向攻击者学习?密码保护,你需要这样的反套路!
所属栏目:[优化] 日期:2019-08-30 热度:164
只要你是人类,肯定不可避免反复用过某一两个密码。实际上,大部分年龄介于 18-65 岁之间的网民都这样做过,并且越是年轻的网民,越有可能为自己的所有帐户使用同一个密码。 大家都知道这种做法不好,而且大部分网民都知道怎样创建足够强的密码:应该包含[详细]
-
案例详解:理解Python中的“解析式”
所属栏目:[优化] 日期:2019-08-30 热度:123
本篇文章将详细介绍解析式的基本要素及其各种形式。 Python中的解析式 解析式是允许在其他序列中构建序列的结构。Python 2.0介绍了列表解析式的概念,Python 3.0中进一步介绍了字典和集合解析式。 Pyhon中的解析式类型 为什么解析式如此强大?本文将通过一[详细]
-
用单库自增键来生成id了,后期怎么分库?哎,这个坑大!
所属栏目:[优化] 日期:2019-08-30 热度:95
星球水友写代码的提问: 沈老师,我们现在用户中心是单库单表,uid使用数据库自增主键,uid被很多业务关联,不能变化。 现在用户中心数据量逐步变大,有分库需求了,如何由单库升级为多库,保持历史uid不变,并且新生成的数据不冲突,有什么好办法么? ==问[详细]
-
TypeScript VS JavaScript 深度对比
所属栏目:[优化] 日期:2019-08-30 热度:191
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 JavaScript 之间又有什么样的区别呢?在选择开发语言时,又该如何抉择呢? 本文将会深入对比这两种语言,讨论两[详细]
-
架构选型之Nodejs与Java
所属栏目:[优化] 日期:2019-08-30 热度:198
前言: 身边越来越多的同事谈论Nodejs,谈其异步IO、事件回调、前后台统一一门语言,创业的朋友的第一个创业项目也选择了Nodejs,期望能够使用一种语言节省成本快速完成需求开发。与其他项目组的同事聊项目选型Java时被他们嘲笑了一把,怎么这么不与时俱进[详细]
-
网络管理员的5款网络配置管理工具,收藏了
所属栏目:[优化] 日期:2019-08-30 热度:140
企业网络的增速往往超出网络管理员的预期。一方面,这种增长反映了网络连接性的能力,而另一方面,它提出了管理这种复杂性势必需要选择正确工具的需求。在不同位置管理数百个交换机,路由器,设备和控制器的配置是十分具有挑战性的。即使对你的分布式网络[详细]
-
推动 IT 转型的三大法宝
所属栏目:[优化] 日期:2019-08-30 热度:117
当前,数字时代为中国及其他亚太地区的企业带来了巨大机遇:成功实现数字化转型的企业,能够提升其在全球市场的竞争力。IDC 预测,今年亚太地区的企业在数字化转型上的开支将超过 3,758 亿美元,中国将成为整个亚太地区较大的数字化转型市场,2019 年支出[详细]
-
Kali Linux 下10个常用渗透工具
所属栏目:[优化] 日期:2019-08-29 热度:126
1、Nmap Nmap Nmap(即 网络映射器)是 Kali Linux 上信息收集工具之一。换句话说,它可以获取有关主机的信息:其 IP 地址、操作系统检测以及网络安全的详细信息(如开放的端口数量及其含义)。 它还提供防火墙规避和欺骗功能。 2、Lynis Lynis Lynis 是安全审[详细]
-
IBM 开源 Power 指令集架构,中国成大赢家?
所属栏目:[优化] 日期:2019-08-29 热度:76
上周 IBM 宣布开源 Power 指令集架构,同时OpenPOWER 基金会加入了 Linux 基金会运营,这一消息引起了许多讨论,有人看好 Power 接下来的发展,有人则觉得它的时代早已逝去。这是关于 Power 自身的看法,而由于 Power 的开源,将会引发周边生态怎样的变数[详细]
-
C++中是如何调用C接口的?
所属栏目:[优化] 日期:2019-08-29 热度:171
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口。 C++如何调用C接口 为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们[详细]
-
7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有
所属栏目:[优化] 日期:2019-08-29 热度:169
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。 但你看这些图表呢? 结合真实地理数据,展现美国每个县的失业率。 全球自然灾害统计,类型、规模、时间,一目了然。 甚至[详细]
-
异构数据半小时实现搜索功能,一个系统搞定
所属栏目:[优化] 日期:2019-08-29 热度:150
背景 对于闲鱼这种处于高速增长期的部门来说,业务场景在快速膨胀,越来越多的业务数据对搜索能力有诉求。如果按照常规的方式为各个业务搭建独立搜索引擎服务,那么开发和维护的时间成本将是非常巨大的。能否只用一套搜索引擎系统支撑不同业务场景产出的数[详细]
-
大规模采用 Kotlin 替代 Java?我们应该知道这些利弊
所属栏目:[优化] 日期:2019-08-29 热度:60
当大规模采用一门新语言时,有许多不同的因素需要考虑,因为事情可能会发生巨大的变化。对于许多人来说,选择一门语言可以说是取决于个人偏好,但在 LinkedIn,我们有一个基础团队,负责评估这些基本技术决策的影响。最近,我们经历了评估 Android 开发语[详细]
-
只需5分钟就能Get到的神器:Python虚拟环境安装使用
所属栏目:[优化] 日期:2019-08-29 热度:119
一、虚拟环境介绍 什么是虚拟环境: 它是一个虚拟化,从电脑独立开辟出来的python环境,可以把它看作一个容器,我们可以在这个容器(环境)中安装我们项目中所依赖的相关模块和包。 为什么要用到虚拟环境: 在实际项目开发中,我们通常会根据自己的需求去下[详细]
