瀚海星空

星空浩瀚 人类渺小

图灵机和图灵完备

图灵机(Turing Machine‘’) 英国数学家Alan Turing 于1936年发表的《On Computable Numbers,with an Application to the Entscheidungsproblem》(论可计算数及其在判定性问题上的应用)中提出的数学模型。 用于解决任何可计算问题。 图灵完整性的含义 图灵证明,您无法通过在计算机上模拟程序来预测程序是...

Raft 共识

概述 Raft是一种共识算法,用于多个分布式的系统,如zookeeper,谷歌chubby。用于保持数据的一致性。可替代paxos共识算法。其核心思想是由一个leader作为入口,由他来对数据进行接受和分发处理。该唯一leader必须得到多数节点的选票。所以即使集群分裂,最终还是会有多数节点会达成一致。 适用于彼此可信的节点环境。 角色 leader 1个 candidate ...

微信机器人

概述 微信群限制了用户最多只有500人。对于多群的培训和讲座,如何便捷实现转发呢? 或者你想对好友进行一个群发的祝福,但最好能有不同的称呼,如何自动群发祝福呢? 这就需要用到微信机器人。 itchat是python版的一个工具。可以用此工具便捷实现简单微信机器人。 其原理是通过调用web版的接口,达到控制群和发送消息的目的。 安装 $ sudo pip install itchat...

Chrome console引入Js

概述 有时候为了网页调试方便,需要在chrome console中引入js的库。 方法 var importJs=document.createElement('script') importJs.setAttribute("type","text/javascript") importJs.setAttribute("src", "https://cdn.bootcss.com/bi...

mongodb 实操

概述 mongodb是文档型数据库,存储的内容是类似json的bson格式。 mongodb 每一行相当于一个文档,可以动态的增加列。 下面是对mongodb的一个简单操作和说明。 本地启动 zhouhh@/Users/zhouhh $ mongod 2019-05-26T15:47:49.697+0800 I CONTROL [main] Automatically disablin...

ClassNotFoundException ch.qos.logback.classic.Level

运行springboot 的demo时遇到一个奇怪的错误: ClassNotFoundException ch.qos.logback.classic.Level 环境 spring boot 2.1.0 原来,gradle 缺省用了implementation implementation('org.springframework.boot:spring-boot-starter-w...

Mac下docker安装

docker简介 什么是Docker? Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。 Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用...

nodejs的execa库使用

概述 execa是可以调用shell和本地外部程序的javascript封装。会启动子进程执行。支持多操作系统,包括windows。如果父进程退出,则生成的全部子进程都被杀死。 安装 npm init npm i execa --save npm install babel-core --save-dev npm install babel-register --save-dev 入...

模逆元

模反元素也称为模倒数,或者模逆元。 一整数a对 同余n之模反元素是指满足以下公式的整数 b: 也可以写成以下的式子 如果不看mod运算,这类似于ab=1,那么a和b互为倒数。a、b为整数。 例如,对于模12来说,5和5互为模12的逆元。这是因为5*5=25 mod 12 = 1 整数 a 对模数 n 之模反元素存在的充分必要条件是 a 和 n 互质,若此模反元素存在,在模数 n...

mac下更新delve调试go语言

概述 delve 是golang调试程序。但如果版本不配套, mac下goland 调试,step over会不起作用,直接变成执行完毕或者到下一个断点。 需要更新调试器delve解决。 go get安装 mac下安装delve,官方教程是两步。 $ xcode-select --install xcode-select: error: command line tools are al...