如何成为 IDEA 键盘流
好了,你完全可以丢掉鼠标了。前言常言道:“工欲善其事必先利其器”。如何高效编程,成为 JetBrainsIDE 键盘流呢?当然是熟悉快捷键再加上各种插件啦~ IDEA JetBrainsIDE 有默认的一套快捷键方案,不过在经过长时间的使用后,发现总有些一些快捷键令我难以接受。遂花了一天的时间,将快捷键全部调整了一遍,并深度结合了IdeaVim插件,总结如下:本篇文章适用于任何 JetBrains 公司出品的 IDE ,包括 PhpStorm ,WebStorm ,PyCharm ,RubyMine ,CLion 等。 IDEA 正文快捷键多光标添加或移除光标Ctrl + 左键拖动鼠标选中多行区域Shift + 左键拖动在上方/下方插入光标Ctrl + Alt + 上下键编辑删除行Ctrl + D..
更多用堆找出最小的 N 个数
不知道为啥,突然想水一篇很水的算法文章。 今天整理 MySQL 的笔记,看到了这样一句话: MySQL 在执行 ORDER BY x LIMIT n 这类语句,且 LIMIT 的数量有限时(比如只需要 3 条数据),MySQL 会尽量通过堆来构建优先队列,减少排序所需的时间。 这是堆的一个经典应用:从海量数据中找出最大(小)的 n 个数。 之前只用堆写过堆排,没有用堆处理过在线算法,所以就写了写。 用一句话概括这个算法:要找最小的数,就要构建大顶堆。 在处理数据时,我们会构建一个大顶堆 H,那么 H[0] 的值也就是当前数据中最小的 N 个数中的最大值,也就是第 N 小的数。 当处理新的数时,如果这个数小于堆顶的数,那么就把它变成堆顶,然后再对堆进行维护,以保证有序。 此算法的时间复杂度为 O(Ml..
更多服务器初始化
记一下服务器的初始配置。前言前些日子,入手了一台服务器,特此记录一下它的初始配置。正文注:本人主机为 CentOS 7 x64 系统,以下内容均基于此环境。安全设置请查考 肉鸡是怎样炼成的字符集修改123456cd /etc/sysconfig/sudo vi i18nLANG="zh_CN.utf8"source /etc/sysconfig/i18n设置 DNS123vi /etc/resolv.confnameserver 114.114.114.114nameserver 8.8.8.8配置 Yum 源123456cd /etc/yum.repos.d/sudo mv CentOS-Base.repo CentOS-Base.repo_baksudo wget -O /etc/yum.repos..
更多