Longlei Ma

围棋基础

围棋是一种策略性两人棋类游戏,使用格状棋盘及黑白二色棋子进行对弈,属琴棋书画四艺之一。围棋流行于亚太,覆盖世界范围,它在很大程度上反应了中国传统思想文化的精髓, 是在中国发展最广的艺术,是中国的国粹,也被认为是世界上最复杂的游戏之一。对弈双方在棋盘网格的交叉点上交替放置黑色和白色的棋子。落子完毕后,棋子不能被移动。对弈过程中围地吃子,以所围“地”的大小决定胜负。与此同时,围棋被认为是目前世界...

拆解一下随机红包背后的逻辑

随机红包已经成为了日常生活中的一个消遣活动,我们经常会当作一种游戏来玩,靠最佳手气来接力。在节假日是一种活跃气氛的常见娱乐方式,今天就来拆解一下随机红包背后的逻辑。 随机红包效果 先来看一看随机红包的效果,从表象一步一步深入解析,根据效果来一步步推导背后的逻辑。 确保每个人都能领取到红包 确保每个红包的金额差异化不能过大 有了这两个目标,就有了方向,来一一实现 确保每个...

看一遍就理解:动态规划详解

链接:看一遍就理解:动态规划详解 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 前言 我们刷leetcode的时候,经常会遇到动态规划类型题目。动态规划问题非常非常经典,也很有技巧性,一般大厂都非常喜欢问。今天跟大家一起来学习动态规划的套路,文章如果有不正确的地方,欢迎大家指出哈,感谢感谢~ 什么是动态规划? 动态规划的核...

使用Keepalived搭建Nginx高可用集群

是什么 keepalived是检测服务器状态的软件,如果有一台web服务器宕机,Keepalived将检测到,并将有故障的服务器从系统中删除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器集群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 为什么 下面图片是我们日常比较常见的一种服务架构 我们通常...

Java线程池实现原理及其在美团业务中的实践

链接:Java线程池实现原理及其在美团业务中的实践 来源:美团技术团队 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池:ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并...

是时候聊聊Google Authenticator了

我们平常在进行账号安全设置的时候,平台都会建议设置二次验证。 然后会生成一个二维码,手机下载Google Authenticator,去扫描这个二维码,扫描完成后就会出现一组6位数字。 我们后续每次进行重要操作的时候,都会输入这组6位数字来进行安全验证。 关键这组数字还是动态的,每隔十几秒就会刷新一次,而且还可以断网使用。 当时就好了奇了,这么神奇吗,动态刷新还可以断网,他咋和服...

不可不说的Java“锁”事

链接:不可不说的Java“锁”事 来源:美团技术团队 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java...