certbot-auto自动更新失败

admin 发布于 [2020-02-22 23:21:18.0] certbot-auto letsencrypt

小站letsencrypt证书即将到期,按照惯例续签证书,结果遇到升级证书的问题。 [root@coolskill ~]# cd letsencrypt/ [root@coolskill letsencrypt]# ./letsencrypt-auto renew Upgrading certbot-auto 1.1.0 to 1.2.0... Couldn't download https://raw.githubusercontent.com/certbot/certbot/v1.2.0/letsencrypt-auto-source/letsencrypt-auto. <urlope

mac下升级xcode导致git不可用的解决办法

admin 发布于 [2019-11-09 23:17:34.0] mac xcode git

打开iterm,更新代码,报如下错误: ➜ spring-framework git pull Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command. IDEA也会有如下错误提示 根据错误提示,回想最近升级过xcode,打开一看,需要输入密码,同意相关协议,安装新组件。当xcode组件安装完成git也就正常了。

mac mysql 密码过期处理方法

admin 发布于 [2018-03-31 08:48:07.0] mysql mac

mysql 安装后未禁用密码过期功能导致密码过期使用客户端连接不上去,此时可以通过终端个性密码。个性步骤如下: 切换到超级用户 sudo su 使用原始密码登录mysql并重置密码 为了避免再次出现过期,可以禁用密码过期功能 操作如下: sh-3.2# ./mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) sh-3.2# ./mysql -uroot ERROR 1045 (28000): Access denied for user 'root'@'localhos

网站使用Let's Encrypt免费证书升级至HTTPS小记

admin 发布于 [2017-08-27 10:07:55.0] https Let's-Encrypt

闲着没事儿,决定把小站使用免费的ssl证书提供商提供的ssl证书从http迁移至https。 搜了一下网上的介绍,发现一个由Mozilla、Cisco、Akamai等知名公司/组织发起Let's Encrypt免费SSL项目使用的挺多的,遂决定就用这个证书了。迁移过程很简单,大体操作步骤如下: 证书生成 下截证书申请工具 此步需要git工具支持 [root@xxxxx ~]# git clone https://github.com/letsencrypt/letsencrypt Initialized empty Git repository in /root/letsencrypt/.gi

寻找一种易于理解的一致性算法(raft协议扩展版 中文翻译)

admin 发布于 [2017-07-12 20:34:18.0] raft 中文版 扩展版

摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。从一个用户研究的结果可以证明,对于学生而言,Raft 算法比 Paxos 算法更加容易学习。Raft 算法还包括一个新的机制来允许集群成员的动态改变,它利用重叠的大多数来保证安全性。 1 介绍 一致性算法允许一组机器像一个整体一样工作,即使其中一些机器

Zookeeper原理与优化

admin 发布于 [2017-06-18 11:14:32.0]

Zookeeper是什么 ZooKeeper 是一个基于 Google Chubby论文实现的一款解决分布式数据一致性问题的开源实现,方便了依赖 Zookeeper的应用实现数据发布/订阅、负载均衡、服务注册与发现、分布式协调、事件通知、集群管理、Leader选举、 分布式锁和队列等功能 基本概念 集群角色  一般的,在分布式系统中,构成集群的每一台机器都有自己的角色,最为典型的集群模式就是 Master/Slave主备模式。在该模式中,我们把能够处理所有写操作的机器称为 Master节点,并把所有通过异步复制方式获取最新数据、提供读服务的机器称为 Slave节点:  而 Zookeeper中

使用 Java8 Optional 的正确姿势

admin 发布于 [2017-05-22 03:19:05.0] java8 optional

我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了: Optional<User> user = ...... if (user.isPresent()) { return user.getOrders(); } else { return Collections.emptyList(); } 那么不得不说我们的思维 仍然是在原地踏步, 只是本能的认为它不过是 User 实例的包装, 这与我们之前写成 User

IntelliJ IDEA For Mac 快捷键

admin 发布于 [2017-05-07 09:07:48.0] mac idea 快捷键 shortcut-key

Mac键盘符号和修饰键说明 标识 标识 描述 标识 标识 描述 ⌘ Command - ⇧ Shift - ⌥ Option - ⌃ Control - ↩︎ Return/Enter - ⌫ Delete - ⌦ (Fn+Delete) 向前删除键 - - - ↓ 下箭头 - ← 左箭头 ↑ 上箭头 - → 右箭头 ⇞ Page Up(Fn+↑) - ⇟ Page Down(Fn+↓) - Home Fn + ← - End Fn + → - ⇥ 右制表符(Tab键) - ⇤ 左制表符(Shift+Tab) - ⎋ Escape (Esc) - - - - 快捷键列表 Editing(编辑)

Lambda and Collections

admin 发布于 [2017-05-05 00:21:39.0] lambda java8

前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起。 为引入Lambda表达式,Java8新增了java.util.funcion包,里面包含常用的函数接口,这是Lambda表达式的基础,Java集合框架也新增部分接口,以便与Lambda表达式对接。 首先回顾一下Java集合框架的接口继承结构: 上图中绿色标注的接口类,表示在Java8中加入了新的接口方法,当然由于继承关系,他们相应的子类也都会继承这些新方法。下表详细列举了这些方法。 接口名 Java8新加入的方法 Collection removeIf() spliterator

Lambda and Anonymous Classes(II)

admin 发布于 [2017-05-05 00:05:43.0] lambda java8

前言 读过上一篇之后,相信对Lambda表达式的语法以及基本原理有了一定了解。对于编写代码,有这些知识已经够用。本文将进一步区分Lambda表达式和匿名内部类在JVM层面的区别,如果对这一部分不感兴趣,可以跳过。 不是匿名内部类的简写 经过第一篇的的介绍,我们看到Lambda表达式似乎只是为了简化匿名内部类书写,这看起来仅仅通过语法糖在编译阶段把所有的Lambda表达式替换成匿名内部类就可以了。但实时并非如此。在JVM层面,Lambda表达式和匿名内部类有着明显的差别。 匿名内部类实现 匿名内部类仍然是一个类,只是不需要程序员显示指定类名,编译器会自动为该类取名。因此如果有如下形式的代码,编译