2019-12-21 10:15
我有位社群会员简称尹老师,她是个英语爱好者,另外对儿童心理学也有过相关的研究,还开过铺导班。不过由于后来有了孩子就没有参加工作了,但是每天还是会坚持阅读英语,用她的话来说英语是她的爱好,从初中到大学,见到英语就起劲那种,就像有人爱跳舞有人爱美食,但是自己只是学着玩,也没人要求自己。...
2019-12-21 10:16
前言#
我在2. SOFAJRaft源码分析—JRaft的定时任务调度器是怎么做的?这篇文章里已经讲解过时间轮算法在JRaft中是怎么应用的,但是我感觉我并没有讲解清楚这个东西,导致看了这篇文章依然和没看是一样的,所以我打算重新说透时间轮算法。
时间轮的应用并非 JRaft 独有,其应用场景还有很多,在 Netty、Akka、Quartz、ZooKeeper 、Kafka等组件中都存在时间轮的踪影。
我们下面讲解的时间轮的实现以JRaft中的为例子进行讲解,因为JRaft这部分的代码是参考Netty的,所以大家也可以去Netty中去寻找源码实现。
...
2019-12-21 10:32
最近几个月很忙,忙着当奶爸,忙着做加班狗,忙着补裤裆学技术……以至于快忘了要思考人生了!...
2019-12-21 10:59
文件操作的初识
用 python 代码对文件进行各种操作。
基本构成:
文件路径:path
打开方式:读、写、追加、读写、写读……
编码方式:utf-8 / gbk / gb2312……
f = open('文件路径或者相对路',encoding='编码方式',mode='模式') # 格式构成
cotent = f.read()
print(content)
f.close()
代码解释:
open:
内置函数,open 底层调用的是操作系统的接口。
f:
变量,约定俗成的变量名有(f1,fh,file_handler,f_h),这个变量还有一个名字,叫文件句柄。对亠件进行的任何操作,都得通过文件句柄加'.'的方式。
...
2019-12-21 10:37
前阵子从支付宝转账10000元到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加10000,数据就会出现不一致状况了。这样的场景在各个类型的系统中都能找到相似的影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量也必须减1;在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费等等,相信大家或多或多少都能碰到相似情景。这些问题本质上都可以抽象为当一个表数据更新后,怎么保证另一个表的数据也必须要更新成功的问题,也就是事务。...
2019-12-21 10:40
瞎扯
ExGCD用于求解不定方程
ax+by=c
的一组特解。常用于求解同余方程,比如求模非质数意义下的逆元。
推导
主体
首先,不定方程有解的充分必要条件由裴蜀定理给出
gcd(a,b)|c
于是,我们只需关注
ax+by=gcd(a,b)
的解。(原方程的解只需分别对x,y乘上cgcd(a,b)即可求出)
(下文中%代指取模操作)
考虑递归的求解。假设我们已经知道了不定方程
bx+(a%b)y=gcd(b,a%b)
的解x1,y1,即
bx1+(a%b)y1=gcd(b,a%b)
...
2019-12-21 10:51
《南方车站的聚会》由刁亦男执导,主要演员包括:胡歌、桂纶镁、廖凡、万茜等,该片于 2019 年 5 月 18 在戛纳电影节首映,2019 年 12 月 6 日在中国正式上映。故事灵感来自真实新闻事件,主要讲述盗窃团伙头目周泽农(胡歌饰),在重金悬赏下走上逃亡之路,艰难寻求自我救赎的故事。...
2019-12-21 09:03
说,只是将小白自己搭建1.0环境的过程分享给大家。希望对大家能有所帮助!
这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版本的环境搭建详细步骤。
云服务器(CentOS7.2)
Go语言环境
docker安装
docker-compose安装
保证我们安装的软件包都是最新版本的;升级所有包同时也升级软件和系统内核
yum -y update
Go中文网:https://studygolang.com/dl
选择Linux系统的'go1.13.5.linux-amd64.tar.gz'下载,使用Xftp上传至/usr/local目录下
...
2019-12-20 16:03
.NET Core 发布的那一天起,它在完成自我刷新的过程,一切为了适应未来,云原生。不仅仅跨平台那么简单。
.NET Core 未来发展路线
我们发现跳过了.NET Core 4.X 避免了和目前.NET Framework4.X命名上的混乱,明年直接命名为了.NET 5 , 默认还是core,不过.NET 4.8将是最后一个.NET Framework版本,.NET core 才是.NET真正的未来。.NET Core 是微软 .NET 技术的开源、跨平台版本,允许开发者在 Windows、Mac 和 Linux 上使用包括 C#、F#和 Visual Basic 等语言。可以说,.NET Core 是仅支持 Windows 的 .NET Framework 的一个跨平台分支,自 2016 年 6 月首次发布后,微软一直在保持同时开发这两个版本。当时微软表示,.NET Core 适用于 ASP.NET Web 应用,以及 Win10 UWP 应用。Windows 桌面应用将继续使用 .NET Framework 。
...
2019-12-20 16:22
前端性能优化,是每个前端必备的技能,优化自己的代码,使自己的网址可以更加快速的访问打开,减少用户等待,今天就会从几个方面说起前端性能优化的方案,看下面的一张图,经常会被面试官问,从输入URL到页面加载完成,发生了什么?...
2019-12-20 16:55
策略设计模式是Java API库中常见的模式之一。这与另一个设计模式(称为状态设计模式)非常相似。本文是在学习完优锐课JAVA架构VIP课程—【框架源码专题】中《学习源码中的优秀设计模式》后写下的学习感悟。简要介绍了该思想,并提供了有关如何在Java中实现该思想的示例。
深入探索Java设计模式(一)之单例模式
总览
策略模式也称为策略模式。它被归类为行为软件设计模式,其中重点是在对象之间找到灵活的通信模式。它有助于在运行时对象之间建立灵活的通信。
策略模式
策略模式的基本思想是在类的较小层次扩展中组合一组操作。与该策略相关的对象确定在给定情况下将使用哪种算法。例如,它使我们能够在运行时交换算法的实现细节,而无需我们重写它。这个想法与依赖注入中的实现模式产生了共鸣,因为它还允许在测试过程中将实现换出,例如在测试代码中执行模拟实现。
...
2019-12-20 16:07
之前,在 github 上开源了 ambari-Kylin 项目,可离线部署,支持 hdp 2.6+ 及 hdp 3.0+ 。github 地址为:https://github.com/841809077/ambari-Kylin ,欢迎 star 。...
2019-12-20 16:34
所谓上下文管理器即在一个类中重写了__enter__方法和__exit__方法的类就可以成为上下文管理器类。
我们可以通过with语句结合上下文管理器简化一些操作。
使用with语句结合自定义上下文管理器完成数据库相应的操作,代码实现如下:
# 1. 导入模块
import pymysql
# 创建自定义上下文管理器对象
class MyDatabase(object):
# 接收参数并创建数据库连接对象
def __init__(self, host, port, user, passwd, database):
...