-
SpringBoot 处理异常的几种常见姿势
所属栏目:[优化] 日期:2019-08-30 热度:184
一、使用 @ControllerAdvice 和 @ExceptionHandler 处理全局异常 这是目前很常用的一种方式,非常推荐。测试代码中用到了 Junit 5,如果你新建项目验证下面的代码的话,记得添加上相关依赖。 1. 新建异常信息实体类 非必要的类,主要用于包装异常信息。 sr[详细]
-
向攻击者学习?密码保护,你需要这样的反套路!
所属栏目:[优化] 日期:2019-08-30 热度:109
只要你是人类,肯定不可避免反复用过某一两个密码。实际上,大部分年龄介于 18-65 岁之间的网民都这样做过,并且越是年轻的网民,越有可能为自己的所有帐户使用同一个密码。 大家都知道这种做法不好,而且大部分网民都知道怎样创建足够强的密码:应该包含[详细]
-
案例详解:理解Python中的“解析式”
所属栏目:[优化] 日期:2019-08-30 热度:85
本篇文章将详细介绍解析式的基本要素及其各种形式。 Python中的解析式 解析式是允许在其他序列中构建序列的结构。Python 2.0介绍了列表解析式的概念,Python 3.0中进一步介绍了字典和集合解析式。 Pyhon中的解析式类型 为什么解析式如此强大?本文将通过一[详细]
-
用单库自增键来生成id了,后期怎么分库?哎,这个坑大!
所属栏目:[优化] 日期:2019-08-30 热度:161
星球水友写代码的提问: 沈老师,我们现在用户中心是单库单表,uid使用数据库自增主键,uid被很多业务关联,不能变化。 现在用户中心数据量逐步变大,有分库需求了,如何由单库升级为多库,保持历史uid不变,并且新生成的数据不冲突,有什么好办法么? ==问[详细]
-
异构数据半小时实现搜索功能,一个系统搞定
所属栏目:[优化] 日期:2019-08-29 热度:166
背景 对于闲鱼这种处于高速增长期的部门来说,业务场景在快速膨胀,越来越多的业务数据对搜索能力有诉求。如果按照常规的方式为各个业务搭建独立搜索引擎服务,那么开发和维护的时间成本将是非常巨大的。能否只用一套搜索引擎系统支撑不同业务场景产出的数[详细]
-
大规模采用 Kotlin 替代 Java?我们应该知道这些利弊
所属栏目:[优化] 日期:2019-08-29 热度:112
当大规模采用一门新语言时,有许多不同的因素需要考虑,因为事情可能会发生巨大的变化。对于许多人来说,选择一门语言可以说是取决于个人偏好,但在 LinkedIn,我们有一个基础团队,负责评估这些基本技术决策的影响。最近,我们经历了评估 Android 开发语[详细]
-
在你崩溃之前,这8种做法会让React应用程序先崩溃
所属栏目:[优化] 日期:2019-08-28 热度:174
React库的优势非常明显:创建复杂的交互用户界面非常简单。最大的特点是可以在不破坏其他组件的情况下,将组件直接组合在一起。即使是Facebook、Instagram、Pinterest这样的社交媒体巨头也大量使用React,同时通过谷歌Maps这样的大型API创造无缝的用户体验[详细]
-
处理亿级数据的“定时任务”,如何缩短执行时间?
所属栏目:[优化] 日期:2019-08-28 热度:80
继续答水友提问。 问题抽象: 用户会员系统; 用户会有分数流水,每个月要做一次分数统计,对不同分数等级的会员做不同业务处理; 数据假设: 假设用户在100w级别; 假设用户日均1条流水,也就是说日增流水数据量在100W级别,月新增流水在3kW级别,3个月流水[详细]
-
Kali Linux 下10个常用渗透工具
所属栏目:[优化] 日期:2019-08-28 热度:153
1、Nmap Nmap Nmap(即 网络映射器)是 Kali Linux 上信息收集工具之一。换句话说,它可以获取有关主机的信息:其 IP 地址、操作系统检测以及网络安全的详细信息(如开放的端口数量及其含义)。 它还提供防火墙规避和欺骗功能。 2、Lynis Lynis Lynis 是安全审[详细]
-
终于学会Python?别闹了,本文中的东西你搞懂了吗?
所属栏目:[优化] 日期:2019-08-28 热度:175
作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题: 常规导入(regular imports) 使用from语句导入 相对[详细]
-
Go语言中执行命令的几种方式
所属栏目:[优化] 日期:2019-08-28 热度:167
go语言用来执行一个系统的命令相对python来说还是有点复杂的,执行命令是一个非常常见的需求,如调用一个系统命令,启一个exe等,这里分为几种情况,之后统一总结一下。 只执行命令,不要输出结果 执行命令并且要获取到输出结果 阻塞和异步的执行 以下以pi[详细]
-
Java架构之Redis系列:通过文章点赞排名案例学习Sortedset命令
所属栏目:[优化] 日期:2019-08-28 热度:99
前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。 案例 demo功能是文章点赞排名等等,整个demo的大致页面如下。 准备工作 首先定义一个存储文章的key privatestaticfinalStringZSET_KEY=articleList[详细]
-
十大经典排序算法总结(含Java代码实现)
所属栏目:[优化] 日期:2019-08-28 热度:160
最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在桶排序算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的[详细]
-
IBM 开源 Power 指令集架构,中国成大赢家?
所属栏目:[优化] 日期:2019-08-28 热度:56
上周 IBM 宣布开源 Power 指令集架构,同时OpenPOWER 基金会加入了 Linux 基金会运营,这一消息引起了许多讨论,有人看好 Power 接下来的发展,有人则觉得它的时代早已逝去。这是关于 Power 自身的看法,而由于 Power 的开源,将会引发周边生态怎样的变数[详细]
-
C++中是如何调用C接口的?
所属栏目:[优化] 日期:2019-08-28 热度:68
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口。 C++如何调用C接口 为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们[详细]
-
7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有
所属栏目:[优化] 日期:2019-08-28 热度:108
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。 但你看这些图表呢? 结合真实地理数据,展现美国每个县的失业率。 全球自然灾害统计,类型、规模、时间,一目了然。 甚至[详细]
-
开发者移除 11 个 Ruby 库中 18 个带有后门的版本
所属栏目:[优化] 日期:2019-08-28 热度:171
RubyGems 软件包存储库的维护者近期移除了 11 个 Ruby 库中出现的 18 个恶意版本,这些版本包含了后门机制,可以在使用 Ruby 时启动加密货币挖掘程序。 恶意代码最初发现于 4 个版本的 rest-client 库中,rest-client 是一个非常流行的 Ruby 库。这些库中[详细]
-
最常见的 Git 问题和操作清单汇总
所属栏目:[优化] 日期:2019-08-27 热度:180
引言 本文整理自工作多年以来遇到的所有 Git 问题汇总,之前都是遗忘的时候去看一遍操作,这次重新整理了一下,发出来方便大家收藏以及需要的时候查找答案。 一、必备知识点 仓库 Remote: 远程主仓库; Repository: 本地仓库; Index: Git追踪树,暂存区; w[详细]
-
为什么学了这么久Python,还是写不出项目?3招帮你解决这个问题
所属栏目:[优化] 日期:2019-08-27 热度:187
很多人在学习编程之初都会碰到这种问题:学会了基础的语法,但还是写不出项目,不知道如何下手? 作为一个零基础转行Python学习的小白,我当然也少不了这种烦恼。 在自学的过程中,我就发现不管什么语言、什么知识都是这样的:从理论基础知识到能动手做项目[详细]
-
处理统一码文件是场噩梦?这些诀窍助你大梦初醒
所属栏目:[优化] 日期:2019-08-27 热度:94
对于那些经常在日常工作中处理统一码文件(也适用于其他编码)的人来说,这篇文章是必读的。对于自然语言处理的从业者,处理统一码文件是一场噩梦,尤其是使用Windows操作系统。想象一下,当在编码或解码过程中遇到错误时的沮丧,例如: UnicodeEncodeError:[详细]
-
面试官:您能说说序列化和反序列化吗?是怎么实现的?什么场景下需要它?
所属栏目:[优化] 日期:2019-08-27 热度:184
序列化和反序列化是Java中最基础的知识点,也是很容易被大家遗忘的,虽然天天使用它,但并不一定都能清楚的说明白。我相信很多小伙伴们掌握的也就几句概念、关键字(Serializable)而已,如果深究问一下序列化和反序列化是如何实现、使用场景等,就可能不知[详细]
-
2019年超好用的开源命令行工具,值得一看
所属栏目:[优化] 日期:2019-08-27 热度:106
1. 前言 Linux在桌面上取得了很大的进步。 然而,Linux和Unix之类的操作系统的真正精髓在于命令行工具。 本博客站选择了2019年优秀的开源终端应用程序。 以下介绍的大多数工具都已经集成在主要 Linux 发行版上,并且可以安装在BSD类或 Apple OS X 系统上。[详细]
-
最全 14 张思维导图:教你构建 Python 编程的核心知识体系!
所属栏目:[优化] 日期:2019-08-27 热度:182
本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库)。 按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件循环,文件对象,错误异常,函数,模块,面向对象编程; 结合这些思维导图[详细]
-
每秒30W次的点赞业务,怎么优化?
所属栏目:[优化] 日期:2019-08-27 热度:161
继续答星球水友提问,30WQPS的点赞计数业务,如何设计? 可以看到,这个业务的特点是: 吞吐量超高; 能够接受一定数据不一致; 画外音:计数有微小不准确,不是大问题。 先用最朴素的思想,只考虑点赞计数,可以怎么做?有几点是最容易想到的: 肯定不能用数[详细]
-
资深架构师技术分享:一文详解分布式系统的分区
所属栏目:[优化] 日期:2019-08-27 热度:185
数据的复制是冗余的过程,冗余会增加可用性,并且可以有效均衡读取负载。而数据的分区是一个整体转换为局部的过程,这种拆解就像你拥有大量图书,但你的书架放不下,所以需要再加几个书架存储是一个道理。 将整体拆分,局部存储在多个较小空间内。这种思想映射到[详细]