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 = ...... 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表达式和匿名内部类有着明显的差别。 匿名内部类实现 匿名内部类仍然是一个类,只是不需要程序员显示指定类名,编译器会自动为该类取名。因此如果有如下形式的代码,编译...

Lambda and Anonymous Classes(I)

admin 发布于 [2017-05-04 00:01:17.0] lambda java8

前言 Java Lambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达式的。具体原理放到下一篇。本篇我们首先感受一下使用Lambda表达式带来的便利之处。 取代某些匿名内部类 本节将介绍如何使用Lambda表达式简化匿名内部类的书写,但Lambda表达式并不能取代所有的匿名内部类,只能用来取代函数接口(Functional Interface)的简写。先别在乎细节,看几个例子再说。 例子1:无参函数的简写 如果需要新建一个线程,一...

深入理解Java 8 Lambda (二)

admin 发布于 [2017-03-22 09:23:41.0] lambda java8

关于 本文是深入理解 Java 8 Lambda 系列的第二篇,主要介绍 Java 8 针对新增语言特性而新增的类库(例如 Streams API、Collectors 和并行)。 Java SE 8 增加了新的语言特性(例如 lambda 表达式和默认方法),为此 Java SE 8 的类库也进行了很多改进,本文简要介绍了这些改进。在阅读本文前,你应该先阅读 深入浅出Java 8 Lambda(语言篇),以便对 Java SE 8 的新增特性有一个全面了解。 背景(Background) 自从lambda表达式成为Java语言的一部分之后,Java集合(Collections)API就面临着...