利用Jrebel提升工作效率
老早就听说有Jrebel这款神器了,热部署,去官网看了看,license贵的离谱啊,300RMB per licence
只有用盗版咯。
阿弥陀佛
记录下流程。
1.安装插件
本人习惯用IDEA做开发(依然是盗版,罪过),找Jrebel的插件咯。 鄙视IDE的童鞋可以直接配置JVM,下面会提到的
在IDEA Setting里的plugins可以在线安装,鄙人所处网络环境堪忧,选择离线安装,这也是本人比较推荐的一种方式。
移步https://plugins.jetbrains.com/plugin/4441?pr=idea 下载适合IDEA版本的ZIP包
还是在IDEA Setting
继续阅读 »
缘起
每个人的大脑都有其自己的舒适区,比如说从家到公司开车上班,大脑会优先选择走熟悉的路线,而不是每天变个花样走陌生的路线,所以大脑其实是有惰性的,它总是会优先选择自己最熟悉、最不费力、也最简单的策略。长此以往,如果你不主动跳出舒适区的话,大脑自己是无法成长的。这一点小马(马克·扎克伯格,不是马云爸爸哦)也已经认识到了,不得不说,牛人就是牛人,尽管衣食无忧,此生不必奋斗了,但是依然在不断进步,让自己变得更加优秀。小马自己说“每年我都要给自己设立一个挑战,去学习新的东西,让自己在工作之外得到成长”。所以他特别为自己制定了每一年的挑战计划,列表如下:
2009年挑战每天戴领带上班
2010年挑战学习汉语
2011年挑战只吃自己亲手屠
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
GitHub 简称 GayHub,又称世界上最大的同性交友平台,还称程序员的左右手。但由于众所周知的原因,GitHub 在没有翻墙的前提下,访问速度就像乌龟在漫步,让追求效率的程序员痛苦不堪,恨不得肉身翻墙,享受优质互联网服务的同时晒晒太阳,吹吹海风。
熟练的程序员基本上都使用 Terminal 或者命令行访问 GitHub。那么问题来了,怎么优雅地使用 Git
继续阅读 »
算法:由输入经过一系列的计算步骤得到输出
排序问题:将无序的输入经过处理按照一定的孙徐输出
优秀的算法:
- 正确性(思路清晰)
- 高效(算法分析)
- 易于实现(现成的算法)
算法的用处:
- 生物信息学
- 网络(图论,字符串查找)
- 信息安全(RSA..)
- 优化(调度)
算法问题:
- 图论(最短路径...)
- LCS(动态规划...)
- 拓扑排序
- 凸包
数据结构:
C++ STL 优缺点 效率
难解问题:
并行算法
CPU效率
算法技术
算法的效率
渐近记号
问题规模量 时间T(n)
数组去重
继续阅读 »
算法原理
希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后增量缩小;最后增量为 1 ,这样记录移动次数大大减少,提高了排序效率。希尔排序对增量序列的选择没有严格规定。
希尔排序是基于插入排序的以下两点性质而提出改进方法的:
- 插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率
- 但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位
算法思路:
1. 先取一个正整数 d1(d1 < n),把全部记
继续阅读 »
文/Robin
推广
正版软件,尽在 数码荔枝。点击 https://partner.lizhi.io/robin/cp 领取专属「优惠券」,全场订单满 29 元减 5 元。此外,还有海量正版软件专属优惠,点击 此处 联系我获取。
前言
人类跟动物最本质的区别,就是人会互联主观、联合想象、创造意义。
个人认为,提升效率的利器,应该在经济承受范围以内毫不犹豫地拥有。工作以来,一贯的宗旨就是为美好的事物花费。这份清单,于己于人,或多或少有所帮助。倘若读者因此受益,实在是荣幸不已。
本利器清单在不断更新中。另外,笔者还有一份 Wish List,里面的部分软件价格令人瞠目结舌,待笔者有条件购买之后再同步到此清单。
赠人玫瑰,
继续阅读 »
benchmark意为基准测试,常用来比较程序的性能。例如,比较不同方式拼接字符串的效率:
js
var a = 'hello' + 'world'
var b = ['hello', 'world'].join('')
常用方法有:
运行相同的次数,用时少的效率高
运行相同的时间,运行次数多的效率高
1. 运行相同的次数
例如:
```js
function f1() {
return 'hello' + 'world'
}
function f2() {
return ['hello', 'world'].join('')
}
function benchmark(name, fn) {
var ti
继续阅读 »
在开发过程中很容易遇到去多张表查询数组组合成一个对象的场景。
有两种方案:
一条大sql直接搞定
把大sql拆分成多条小sql,在程序代码里面再组装对象
more
下面分别分析下各自的优缺点:
大sql
优点:一目了然,程序代码简洁,只需要建立一个连接,在数据量小的情况下效率会高很多。
缺点:在数据量大的情况下响应慢,可能一条大SQL就把整个数据库堵死。垂直拆分情况下sql改动会很大。
多条小sql
优点:在数据量大的情况下效率高。对垂直拆分友好。
缺点:程序代码会变得异常啰嗦,难以维护。
各有利弊,要权衡使用场景。
如果在表数据量巨大的情况下或者数据字段比较有可能做垂直切分的情况下建议或者在做报表这种耗时操
继续阅读 »
定义
希尔排序(英语:Shell sort),也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。
希尔排序是基于插入排序的以下两点性质而提出改进方法的:
插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率
但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位
more
算法步骤
希尔排序通过将比较的全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是普通的插入排序,但是到了这步,需排序的数据几乎是已排好的了(此时插入排序较快)。
选择步长
按照选择的步长对序列进
继续阅读 »
文/Robin
Instant Messaging,简称 IM,也就是「即时通信」,是一种通过网络进行实时通信的系统,允许两人或多人使用网络即时的传递文字消息、文件、语音与视频交流。
相比于邮件,IM 具有更高的通信效率,但是事情的处理效率未必比邮件高。在我的 MacBook 上,安装了如下的 IM:微信、Mixin Messenger、飞书、Signal、QQ、企业微信、Telegram、钉钉、WhatsApp、Wire,而且大部分都要每天都打开使用的。
纯粹的 IM,可能更关注通信本身,比如 Mixin Messenger、Signal、Telegram、WhatsApp、Wire。集大成的 IM,比如微信、飞书、钉钉
继续阅读 »