-
基于分布式系统的7种唯一ID实现方案,值得收藏
所属栏目:[优化] 日期:2019-09-03 热度:172
概述 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。 分布式ID的特性 唯一性:确保生成的ID是全网唯一的。 有序[详细]
-
Python开发必备:如何建立一个优秀的项目工程环境
所属栏目:[优化] 日期:2019-09-03 热度:124
在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上。本文以Python为例,教大家如何快速打造优秀的Python项目开发环境:内容涵盖了模块依赖管理、代码风格管理、调试测试管理和Git版本管理,使用gi[详细]
-
如何在 Linux 上重命名一组文件
所属栏目:[优化] 日期:2019-09-03 热度:195
几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做的。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则表达式的技巧。 与 mv 命令不同,rename 不允许你简单地指定旧名称和新[详细]
-
一文看懂数据结构中的树 值得收藏
所属栏目:[优化] 日期:2019-09-03 热度:138
通常在开始学编程的时候,你会接触一些常用数据结构。 到最后一般会学到哈希表。对于修读计算机科学学位的朋友,你通常要上专门的数据结构课,从了解有关链表、队列和栈的各种知识。这些统称为线性数据结构,因为依逻辑次序从头排到尾。 当你开始进入下一[详细]
-
如何在磁盘上查找 MySQL 表的大小
所属栏目:[优化] 日期:2019-09-03 热度:190
我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格[详细]
-
细说Python的Lambda函数用法,建议收藏
所属栏目:[优化] 日期:2019-09-03 热度:120
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方。 先用def[详细]
-
2019年超好用的开源命令行工具,值得一看
所属栏目:[优化] 日期:2019-09-02 热度:75
1. 前言 Linux在桌面上取得了很大的进步。 然而,Linux和Unix之类的操作系统的真正精髓在于命令行工具。 本博客站选择了2019年优秀的开源终端应用程序。 以下介绍的大多数工具都已经集成在主要 Linux 发行版上,并且可以安装在BSD类或 Apple OS X 系统上。[详细]
-
最全 14 张思维导图:教你构建 Python 编程的核心知识体系!
所属栏目:[优化] 日期:2019-09-02 热度:143
本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库)。 按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件循环,文件对象,错误异常,函数,模块,面向对象编程; 结合这些思维导图[详细]
-
每秒30W次的点赞业务,怎么优化?
所属栏目:[优化] 日期:2019-09-02 热度:124
继续答星球水友提问,30WQPS的点赞计数业务,如何设计? 可以看到,这个业务的特点是: 吞吐量超高; 能够接受一定数据不一致; 画外音:计数有微小不准确,不是大问题。 先用最朴素的思想,只考虑点赞计数,可以怎么做?有几点是最容易想到的: 肯定不能用数[详细]
-
资深架构师技术分享:一文详解分布式系统的分区
所属栏目:[优化] 日期:2019-09-02 热度:183
数据的复制是冗余的过程,冗余会增加可用性,并且可以有效均衡读取负载。而数据的分区是一个整体转换为局部的过程,这种拆解就像你拥有大量图书,但你的书架放不下,所以需要再加几个书架存储是一个道理。 将整体拆分,局部存储在多个较小空间内。这种思想映射到[详细]
-
都在这里,值得收藏!Python语言自带的数据结构有哪些?
所属栏目:[优化] 日期:2019-09-02 热度:114
Python作为一种脚本语言,其要求强制缩进,使其易读、美观,它的数据类型可以实现自动转换,而不需要像C、Java那样给变量定义数据类型,使其编写非常方便简单,所以广受大家的欢迎。 现如今,Python已经广泛的应用于数据分析、数据挖掘、机器学习等众多科[详细]
-
在你崩溃之前,这8种做法会让React应用程序先崩溃
所属栏目:[优化] 日期:2019-09-02 热度:137
React库的优势非常明显:创建复杂的交互用户界面非常简单。最大的特点是可以在不破坏其他组件的情况下,将组件直接组合在一起。即使是Facebook、Instagram、Pinterest这样的社交媒体巨头也大量使用React,同时通过谷歌Maps这样的大型API创造无缝的用户体验[详细]
-
处理亿级数据的“定时任务”,如何缩短执行时间?
所属栏目:[优化] 日期:2019-09-02 热度:78
继续答水友提问。 问题抽象: 用户会员系统; 用户会有分数流水,每个月要做一次分数统计,对不同分数等级的会员做不同业务处理; 数据假设: 假设用户在100w级别; 假设用户日均1条流水,也就是说日增流水数据量在100W级别,月新增流水在3kW级别,3个月流水[详细]
-
Kali Linux 下10个常用渗透工具
所属栏目:[优化] 日期:2019-09-02 热度:140
1、Nmap Nmap Nmap(即 网络映射器)是 Kali Linux 上信息收集工具之一。换句话说,它可以获取有关主机的信息:其 IP 地址、操作系统检测以及网络安全的详细信息(如开放的端口数量及其含义)。 它还提供防火墙规避和欺骗功能。 2、Lynis Lynis Lynis 是安全审[详细]
-
终于学会Python?别闹了,本文中的东西你搞懂了吗?
所属栏目:[优化] 日期:2019-09-01 热度:64
作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题: 常规导入(regular imports) 使用from语句导入 相对[详细]
-
Go语言中执行命令的几种方式
所属栏目:[优化] 日期:2019-09-01 热度:195
go语言用来执行一个系统的命令相对python来说还是有点复杂的,执行命令是一个非常常见的需求,如调用一个系统命令,启一个exe等,这里分为几种情况,之后统一总结一下。 只执行命令,不要输出结果 执行命令并且要获取到输出结果 阻塞和异步的执行 以下以pi[详细]
-
Java架构之Redis系列:通过文章点赞排名案例学习Sortedset命令
所属栏目:[优化] 日期:2019-09-01 热度:150
前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。 案例 demo功能是文章点赞排名等等,整个demo的大致页面如下。 准备工作 首先定义一个存储文章的key privatestaticfinalStringZSET_KEY=articleList[详细]
-
十大经典排序算法总结(含Java代码实现)
所属栏目:[优化] 日期:2019-09-01 热度:145
最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在桶排序算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的[详细]
-
IBM 开源 Power 指令集架构,中国成大赢家?
所属栏目:[优化] 日期:2019-09-01 热度:160
上周 IBM 宣布开源 Power 指令集架构,同时OpenPOWER 基金会加入了 Linux 基金会运营,这一消息引起了许多讨论,有人看好 Power 接下来的发展,有人则觉得它的时代早已逝去。这是关于 Power 自身的看法,而由于 Power 的开源,将会引发周边生态怎样的变数[详细]
-
C++中是如何调用C接口的?
所属栏目:[优化] 日期:2019-09-01 热度:134
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口。 C++如何调用C接口 为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们[详细]
-
7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有
所属栏目:[优化] 日期:2019-09-01 热度:154
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。 但你看这些图表呢? 结合真实地理数据,展现美国每个县的失业率。 全球自然灾害统计,类型、规模、时间,一目了然。 甚至[详细]
-
异构数据半小时实现搜索功能,一个系统搞定
所属栏目:[优化] 日期:2019-09-01 热度:132
背景 对于闲鱼这种处于高速增长期的部门来说,业务场景在快速膨胀,越来越多的业务数据对搜索能力有诉求。如果按照常规的方式为各个业务搭建独立搜索引擎服务,那么开发和维护的时间成本将是非常巨大的。能否只用一套搜索引擎系统支撑不同业务场景产出的数[详细]
-
大规模采用 Kotlin 替代 Java?我们应该知道这些利弊
所属栏目:[优化] 日期:2019-09-01 热度:55
当大规模采用一门新语言时,有许多不同的因素需要考虑,因为事情可能会发生巨大的变化。对于许多人来说,选择一门语言可以说是取决于个人偏好,但在 LinkedIn,我们有一个基础团队,负责评估这些基本技术决策的影响。最近,我们经历了评估 Android 开发语[详细]
-
只需5分钟就能Get到的神器:Python虚拟环境安装使用
所属栏目:[优化] 日期:2019-09-01 热度:120
一、虚拟环境介绍 什么是虚拟环境: 它是一个虚拟化,从电脑独立开辟出来的python环境,可以把它看作一个容器,我们可以在这个容器(环境)中安装我们项目中所依赖的相关模块和包。 为什么要用到虚拟环境: 在实际项目开发中,我们通常会根据自己的需求去下[详细]
-
应用架构的核心使命是什么?阿里高级技术专家这样说
所属栏目:[优化] 日期:2019-08-31 热度:112
什么是架构?关于架构这个概念很难给出一个明确的定义,也没有一个标准的定义。如果,硬是要给一个概述,阿里巴巴高级技术专家张建飞认为架构就是对系统中的实体以及实体之间的关系所进行的抽象描述。今天,张建飞来谈谈应用架构的核心使命是什么,是否与你[详细]
