模块之间的相互调用,循环引用的问题

模块之间的相互调用,循环引用的问题 https://github.com/seajs/seajs/issues/800 允许适当重复代码,保证模块主要职责不变

2019-08-01 · 1 min · 3 words · -

redis 集群容灾

redis 集群容灾 Redis Sentinel 容灾演练 http://www.dczou.com/viemall/870.html/embed#?secret=Kngfb4CYbn

2019-07-30 · 1 min · 6 words · -

journal suppressed N messages

journal suppressed N messages systemd-journal: Suppressed 9567 messages from /system.slice/ systemd-journal: Suppressed 6735 messages from /system.slice/ …… 根据字面意思理解就是日志被丢弃了, 看来是由于 journald 服务的问题导致的日志问题 在 journald 中, 有如下两个参数跟此问题相关: vim /etc/systemd/journald.conf RateLimitInterval RateLimitBurst RateLimitInterval是指定时间间隔, 意思就是说, 在RateLimitInterval这段时间内的日志总量(总条数)控制在RateLimitBurst以内. 这两个参数搭配使用可以用来控制日志速率, 避免由于大量日志输出导致的一系列性能问题. 该问题的根源在于该主机目前日志输出的速率超出了 journald 默认的配置, 你可以自定定义该速率, 也可以将RateLimitInterval设置为0, 以禁用速率控制 接下来重启 journald 以生效配置 systemctl restart systemd-journald https://docs.lvrui.io/2018/11/22/systemd-journal-Suppressed-N-messages/ systemd-journald这个服务重启的时候, 会给所有的进程发送SIGPIPE信号, 而在默认的 systemd 定义中, SIGPIPE 信号属于正常退出的范围. 所以即使 unit 文件配置了Restart on-failure也不会被重启 https://docs.lvrui.io/2018/11/22/systemd-journald%E7%9A%84SIGPIPE%E4%BF%A1%E5%8F%B7BUG/

2019-07-29 · 1 min · 59 words · -

ufw

ufw UFW,即简单防火墙 uncomplicated firewall,是一个 Arch Linux、Debian 或 Ubuntu 中管理防火墙规则的前端。 UFW 通过命令行使用(尽管它有可用的 GUI),它的目的是使防火墙配置简单(即不复杂uncomplicated)。 # check ufw status sudo ufw status # Status: active # Status: inactive docker 网络 会忽略 ufw 配置 https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-and-ufw

2019-07-28 · 1 min · 31 words · -

golang, function types, 函数类型

golang, function types, 函数类型 function types A function type denotes the set of all functions with the same parameter and result types. 示例 package main import "fmt" // function types type Greeting func(name string) string func say(g Greeting, n string) { fmt.Println(g(n)) } func english(name string) string { return "Hello, " + name } func main() { say(english, "World") } 输出Hello, World ...

2019-07-26 · 1 min · 176 words · -

长选项, 短选项, short options, long options

长选项, 短选项, short options, long options 1.Linux命令长选项"–“和短选项”-“和没有”-“选项背景: 在解释这些区别之前我们先了解一下有关linux的背景知识,这个需要大家先认真看完就会对这些区别有更深入的了解,对linux也有更深的了解: (1)Unix操作系统在操作风格上主要分为System V和BSD(目前一般采用BSD的第4个版本SVR4),前者的代表的操作系统有Solaris操作系统,在Solaris1.X之前,Solaris采用的是BSD风格,2.x之后才投奔System V阵营。后者的代表的操作系统有FreeBSD。 (A)System V它最初由AT&T开发,曾经也被称为AT&T System V,是Unix操作系统众多版本中的一支。在1983年第一次发布,一共发行了4个System V的主要版本,System V Release4,或者称为SVR4,是最成功的版本,该版本有些风格成为一些UNIX共同特性的源头,如下表格的初始化脚本/etc/init.d。用来控制系统的启动和关闭。 (B)BSD(Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,1970年代由伯克利加州大学(Uni Versity of California, Berkeley)开创。BSD用来代表由此派生出的各种套件集合。 (2)关于System V和BSD风格以及他们与Linux的关系: (A)System V 和BSD同出于AT&T实验室的两个不同的部门,SystemV是一个Unix的商业化标准,BSD为Unix标准化的Berkeley风格。 (B)由于Linux是Linus Torvalds在以Unix为构架的系统上重新开发的,但仍沿用了两大Unix系统进程的风格,实事上应该确切的说Linus Torvalds只开发了kernel,而软件依然来自GNU和GPL两个组织。 目前只有Slackware是Linux发行版中唯一使用BSD风格的版本。其他的就是FreeBSD、NetBSD和OpenBSD三个著名的BSD发行版,并遵循「GPL规范」。在商业版的Unix及多数Linux发行版使用SystemV风格的init『可能有版权纠纷问题』。Linux代表的有:RedHat、Suse、MDV、MagicLinux、Debian等几乎大部分发行版。Unix代表的有AIX、IRIX、Solars、HP-UX。 2.Linux命令长选项”–“和短选项”-“和没有”-“选项的全部写法 (1)选项前有一横“-”,如“ls -a”(含义:list all,列出所有当前文件夹的文件) (2)选项前有两横“–”,如“ls –all”(含义:list all,列出所有当前文件夹的文件) (3)选项前有一横“-”,如“tar -xzvf”(tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”,-xzvf是4个参数的组合体,tar命令最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar) (4)选项前没有任何横,如“tar xzvf” 3.Linux命令长选项”–“和短选项”-“和没有”-“选项的详细解释 (1)短选项(short options):顾名思义,就是短小参数。它们通常包含一个连字号‘-’和一个字母(大写或小写字母)。例如:-s,-h等 (2)长选项(long options):长选项,包含了两个连字号”–“和一些大小写字母组成的单词。例如:–size,–help等 (3)参数前有横的是 System V风格 (4)参数前没有横的是 BSD风格 4.Linux命令长选项”–“和短选项”-“的意义及额外备注 (1)一个程序通常会提供包括short options和long options两种参数形式的参数,例如:“ls -a"和“ls –all”等价 (2)因为短选项(short option)是可以合并的,如-sh,为了区分sh是一个选项还是两个选项s和h的组合,对于组合选项用单连字符’-’,如果是单一选项sh则要用双连字符’–’。例如:-sh表示-s和-h的组合,如果要表示为一个选项需要用长选项–sh。 (3)但是对于一些命令,它们不遵循以上的规则,例如:“find -type d -mindepth 2”和“find -name -fstype”(它们是单连字符’-‘连接一个完整单词,不符合3(1)和3(2)) ———————————————— 版权声明:本文为CSDN博主「快乐李同学(李俊德-大连理工大学)」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/wq6ylg08/article/details/88812451 ...

2019-07-24 · 1 min · 80 words · -

go env

go env 名称 说明 GOARCH 程序构建环境的目标计算架构 GOBIN 存放可执行文件的目录的绝对路径 GOCHAR 程序构建环境的目标计算架构的单字符标识 GOEXE 可执行文件的后缀 GOHOSTARCH 程序运行环境的目标计算架构 GOOS 程序构建环境的目标操作系统 GOHOSTOS 程序运行环境的目标操作系统 GOPATH 工作区目录的绝对路径 GORACE 用于数据竞争检测的相关选项 GOROOT Go 语言的安装目录的绝对路径 GOTOOLDIR Go 工具目录的绝对路径 https://www.jianshu.com/p/35a4ec1b3067

2019-07-21 · 1 min · 29 words · -

比特, 字节, 字, bit, byte, word

比特, 字节, 字, bit, byte, word 位 (bit) 来自英文bit,音译为"比特",表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态 (2^1. ;两个二进制位可以表示00、01、10、11四种(2^2) 状态;三位二进制数可表示八种状态 (2^3) … 字节 (byte) 字节来自英文Byte,习惯上用大写的"B"表示。 字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特 (1Byte=8bit) 。八位二进制数最小为00000000,最大为11111111;通常1个字节可以存入一个ASCII码 数据存储是以“字节” (Byte)为单位,数据传输是以大多是以“位” (bit,又名“比特”)为单位,一个位就代表一个0或1 (即二进制),每8个位 (bit,简写为b)组成一个字节 (Byte,简写为B),是最小一级的信息单位。 还可以从以下几个方面来理解: 1.字节(Byte)是电脑中表示信息含义的最小单位,因为在通常情况下一个ACSII码就是一个字节的空间来存放。而事实上电脑中还有比字节更小的单位,因为一个字节是由八个二进制位组成的,换一句话说,每个二进制位所占的空间才是电脑中最小的单位,我们把它称为位,也称比特 (bit)。由此可见,一个字节等于八个位。人们之所以把字节称为电脑中表示信息含义的最小单位,表示最基本的字符,是因为一个位并不能表示我们现实生活中的一个相对完整的信息。另外,内存中运算的最小存储单位是字节,位运算也是在一个字节的存储单位的基础上进行的,所以存储的最小单位可以理解为字节。 https://cloud.tencent.com/developer/article/1353743 字长 CPU在单位时间内(同一时间)能一次处理的二进制数的位数 字 word 计算机进行数据处理时,一次存取、加工和传送的数据长度称为字 (word) 。一个字通常由一个或多个 (一般是字节的整数位) 字节构成。例如286微机的字由2个字节组成,它的字长为16;486微机的字由4个字节组成,它的字长为32位机。 计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大,其性能越优越。 8位的CPU字长为8位,一个字等于一个字节,一次只能处理一个字节,而32位的CPU字长为32位,一个字等于4个字节,一次就能处理4个字节,同理字长为64位的CPU一次可以处理8个字节,一个字等于8个字节。 另一种说法 字 在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。 字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。字的长度用位数来表示。 在计算机的运算器、控制器中,通常都是以字为单位进行传送的。字出现在不问的地址其含义是不相同。例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。 在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字中二进制位数的长度,称为字长。一个字由若干个字节组成,不同的计算机系统的字长是不同的,常见的有8位、16位、32位、64位等,字长越长,计算机一次处理的信息位就越多,精度就越高,字长是计算机性能的一个重要指标。目前主流计算机都是64位机。 注意字与字长的区别,字是单位,而字长是指标, 指标需要用单位去衡量。 正象生活中重量与公斤的关系,公斤是单位,重量是指标,重量需要用公斤加以衡量。 字长 计算机的每个字所包含的位数称为字长。 根据计算机的不同,字长有固定的和可变的两种。固定字长,即字长度不论什么情况都是固定不变的;可变字长,则在一定范围内,其长度是可变的。 计算的字长是指它一次可处理的二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。 字长是衡量计算机性能的一个重要因素。 字节 字节是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位,并作为一个整体来参加操作,比字小,是构成字的单位。 在微型计算机中,通常用多少字节来表示存储器的存储容量。 字块 在信息处理中,一群字作为一个单元来处理的称为"字块".也称"字组"。例如,储存于磁鼓的一个磁道上的字群就称为一个字块。在磁带上通常每120个字符就间隔一个字块际志,也称为一个字块。块与块之间一般留1.27―2.54厘米(1/2一1英寸)的间隔。在大容量存储中,信息都是以字块为单位而存入的,因此只有字块才是可选址的。目前,在高速绥冲技术中也引入了"字块"的概念。 B = 8 bit KB,2^10: 1024 BYTE. MB,2 的 20 次方 : 1048576 BYTE, 或 1024 KB. GB,2 的 30 次方 : 1073741824 BYTE, 或 1024 MB. TB,2 的 40 次方 : 1099511627776 BYTE, 或 1024 GB. PB,2 的 50 次方 : 1125899906842624 BYTE, 或 1024 TB. EB,2 的 60 次方 : 1152921504606846976 BYTE, 或 1024 PB. ZB,2 的 70 次方 : 1024 EB. YB,2 的 80 次方 : 1024 ZB. ...

2019-07-21 · 1 min · 139 words · -

1、1.5、2.5、4、6平方电线负荷

1、1.5、2.5、4、6平方电线负荷 一个电工常用的"经验公式": 只要是铜芯电线,每平方毫米的截面积可以安全通过4-5A的额定电流;在220V单相电路中,每1KW的功率,其电流约为4.5A左右;在380V三相平衡电路中,每1KW的功率,其电流约为2A左右。 铜芯线,一是明线安装最大允许工作电流是20A,即4400瓦;二是暗装套钢管,电流是16A,功率为3520瓦;三是pvc管暗装,电流是14A,那么功率为3000瓦。 https://zhuanlan.zhihu.com/p/30847255

2019-07-20 · 1 min · 5 words · -

slf4j、jcl、jul、log4j1、log4j2、logback

slf4j、jcl、jul、log4j1、log4j2、logback slf4j > log4j2.x log4j-slf4j-impl slf4j 到 log4j2 的桥梁 直接依赖log4j1.x的换成log4j2输出, log4j1.x > slf4j 排除掉log4j jar包 引入依赖包 log4j-over-slf4j (实现log4j1桥接到slf4j) <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>1.7.32</version> </dependency> commons-logging commons-logging:commons-logging的原生全部内容 org.apache.logging.log4j:log4j-jcl commons-logging/jcl > log4j2.x org.apache.logging.log4j:log4j-jcl: commons-logging 桥接到 log4j2 <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-jcl --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> <version>2.13.3</version> </dependency> jcl-over-slf4j commons-logging/jcl > slf4j https://blog.wiloon.com/?p=8549 jcl-over-slf4j 原本是通过 JCL 输出日志的,会被 jcl-over-slf4j 桥接到slf4j输出 slf4j > log4j1.x slf4j-log4j12 使用 slf4j + log4j1.x 输出日志 https://my.oschina.net/pingpangkuangmo/blog/410224?p=2 jul>slf4j>log4j2 <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>1.7.25</version> </dependency> // Optionally remove existing handlers attached to j.u.l root logger SLF4JBridgeHandler.removeHandlersForRootLogger(); // (since SLF4J 1.6.5) // add SLF4JBridgeHandler to j.u.l's root logger, should be done once during // the initialization phase of your application SLF4JBridgeHandler.install(); https://github.com/influxdata/influxdb-java/issues/443

2019-07-19 · 1 min · 104 words · -

并发, 并行

并发, 并行 并发 (concurrency) , 并行 (parallelism) 并行指物理上同时执行,并发指能够让多个任务在逻辑上交织执行的程序设计 https://www.cnblogs.com/f-ck-need-u/p/11161481.html https://laike9m.com/blog/huan-zai-yi-huo-bing-fa-he-bing-xing,61/ https://blog.golang.org/concurrency-is-not-parallelism https://talks.golang.org/2012/waza.slide#1

2019-07-15 · 1 min · 12 words · -

三极管

三极管 https://www.cnblogs.com/tdyizhen1314/archive/2012/11/06/2757644.html http://www.datasheetdir.com/GALAXY-S8550+PNP-Transistors http://www.jianshe99.com/html/2008/1/li0063319180020.html

2019-07-13 · 1 min · 4 words · -

raspberry pi, gpio, golang

raspberry pi, gpio, golang https://github.com/stianeikeland/go-rpio package main import ( "fmt" "github.com/stianeikeland/go-rpio/v4" "time" ) func main() { err := rpio.Open() if err != nil { fmt.Println(err) return } pin := rpio.Pin(17) pin.Low() time.Sleep(5 * time.Second) pin.High() }

2019-07-13 · 1 min · 36 words · -

USB数据线

USB数据线 编号 定义 颜色识别 1 VBUS Red (红色) 2 D- White (白色) 3 D+ Green (绿色) 4 GND Black (黑色)

2019-07-13 · 1 min · 20 words · -

raspberry pi gpio

raspberry pi gpio 继电器: 树莓派的GPIO口是3.3V的,你需要把它转化成5V才能进行控制 Raspberry Pi 的GPIO接口电路 http://blog.oa25.org/?p=472&embed=true#?secret=57KOUtczxY https://www.kidscoding8.com/47249.html #使GPIO17从内核空间暴露到用户空间中 sudo echo 17 > /sys/class/gpio/export #设置GPIO17为输出模式 sudo echo out > /sys/class/gpio/gpio17/direction #向value文件中输入1,GPIO输出高电平,LED点亮 sudo echo 1 > /sys/class/gpio/gpio17/value #向value文件中输入0,GPIO输出低电平,LED熄灭 sudo echo 0 > /sys/class/gpio/gpio17/value #注销GPIO17接口 sudo echo 17 > /sys/class/gpio/unexport sudo vim ledonoff.sh echo $1 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio$1/direction echo 1 > /sys/class/gpio/gpio$1/value sleep 5 #延时5秒 echo 0 > /sys/class/gpio/gpio$1/value echo $1 > /sys/class/gpio/unexport sudo ./ledonoff.sh 17 https://zhuanlan.zhihu.com/p/40594358 https://www.huanxiangke.com/index.php/blog/post/voice-control-to-transform-ordinary-desk-lamp

2019-07-09 · 1 min · 71 words · -

fzf command

fzf command # 可以直接运行 fzf # 查找当前目录和子目录的文件 # exact match fzf -e find . -type f | fzf https://github.com/junegunn/fzf

2019-07-08 · 1 min · 19 words · -

linux 查看用户的UID和GID

linux 查看用户的 UID 和 GID 方法一: 使用 id 命令 使用 id 命令可以很轻松的通过用户名查看UID、GID,下面来讲解一下这个命令的用法。 命令格式 id [选项]… [用户名] 命令选项 -a 忽略,兼容其它版本 -Z, –context 只输出当前用户的安全上下文 -g, –group 只输出有效的GID -G, –groups 输出所有的GID -n, –name 对于 -ugG 输出名字而不是数值 -r, –real 对于 -ugG 输出真实ID而不是有效ID -u, –user 只输出有效UID –help 输出帮助后退出 –version 输出版本信息后退出 使用案例 heihaier@heihaier-desktop:~$ id root uid=0(root) gid=0(root) groups=0(root) 方法二: 查看 /etc/password 文件 /etc/password 文件格式 root:x:0:0:root:/root:/bin/bash 上面是这个文件的一行实例,每个域用 : 区分,从左向右分别是 root 用户名: 1~32 字节长。 x 密码: 字符x表示密码被加密保存在 /etc/shadow 文件中。 ...

2019-07-07 · 1 min · 107 words · -

wording for code

wording for code Where there is a shell, there is a way. Perl语言的发明者Larry Wall有一句名言: The three chief virtues of a programmer are: Laziness, Impatience and Hubris. – Larry Wall

2019-07-06 · 1 min · 29 words · -

agile, desk check

agile, desk check 做好Desk Check 在敏捷开发中,当一个Story开发结束之后,我们会把开发,测试,BA,UX聚在一起来做Shoulder Check / Desk Check。这个实践可能很多团队都会坚持。但是做的流畅程度则千差万别,效果也自然大相径庭。 你要专业 https://insights.thoughtworks.cn/professional/embed/#?secret=CuWoU1KPNH

2019-07-06 · 1 min · 12 words · -

需求拆分

需求拆分 传统的工具比如 INVEST (+SMART) 对需求进行合理的拆分

2019-07-06 · 1 min · 5 words · -