GO语言学习笔记-基础
Go语言学习笔记-基础内容基础概念通道是一种允许某一例程向另一例程传递指定类型的值的通信机制。
当一个goroutine试图在一个通道上进行发送或接收操作时,它会阻塞,直到另一个goroutine试图进行接收或发送操作才传递值,并开始处理两个goroutine。
一些习惯
Go语言使用驼峰式风格
包名称本身总是由小写字母组成。
通常名称的作用域越大,就使用越长且更有意义的名称。
生命周期问题
如果一个实体在函数中声明,那么它仅对函数局部有效。如果一个实体在函数外部声明,它将对==包==里所有源文件可见。
实体第一个字母的大小写决定其可见性是否跨包。
作用域与生命周期声明的作用域是声明在程序文本中出现的区域,它是一个编译时属性。变量的生命周期是变量在程序执行期间能被程序的其他部分所引用的起止时间,它是一个运行时属性。
在包级别声明,可以被同一个包里的任何文件引用;导入的包是文件级别的,所以可以在同一个文件内引用;
内部的声明会覆盖外层的。
基础语句循环语句for是go里面唯一的循环语句,有以下形式
12345678910111213141516 ...
Linux用户权限'/etc/sudoer'配置
【转载】Linux /etc/sudoer 配置
原文链接:https://zhuanlan.zhihu.com/p/43934300
当普通用户向其他的用户获取它的权限的时候,其他用户怎么去判断是不是需要给这样的权限给这个普通用户。其中的权限分配体现在给予权限者的/etc/sudoers文件当中。
比如在文件中配置有这样一条信息。
zhang:表示用户名
ALL=(ALL):第一个ALL表示所有的主机,第二个ALL表示所有的用户
NOPASSWD:表示不需要密码就能切换到用户
/usr/bin/bash,/usr/bin/sh:表示能够执行的命令
这个配置的意思就是,zhang用户可以在任意主机上不输入密码的情况下以任意用户执行/usr/bin/bash,/usr/bin/sh
流处理弹性相关论文阅读笔记
大数据流处理弹性伸缩论文阅读笔记[1] Multi-Level Elasticity for Data Stream Processing. IEEE Transactions on Parallel and Distributed Systems(TPDS).2019.A研究内容更改不同的执行容器(虚拟机、进程、线程)的数量来影响容器的性能。基本的想法是不同的执行容器会有不同的性能,但是也会带来不同的开销。作者的想法是自动提供最少的资源来满足应用所需的性能。在作者的方法中,使用低级别的容器组合来充分利用高级别容器的资源。
技术路线多层次扩展的主要思路是,检查当前节点是否达到阈值,如果达到了就扩展节点,如果没达到就考虑增加一个进程。主要是在进行进程与虚拟机之间的调度。
文章中的应用程序主要考虑处理大量小信息的流处理程序(比如,推特消息,传感器日志)。文章提出了使用环境是非多租户环境,并且节点是应用专用(这个应该就是为了避免CPU等信息受干扰的问题)。算子实例之间平均分配数据流(不考虑数据倾斜)。
作者提出的方法依次执行以下步骤,(1)评估不同层次的执行容器的性能(2)为给定的负载提供适 ...
Docker学习笔记-基本
Docker学习笔记
基本概念镜像(image):docker镜像就是一个模板,可以通过这个镜像来创建容器服务。
容器(container):把容器理解为简易的linux,独立的运行一个或一组应用,通过镜像来创建
仓库:存放镜像的位置,分为公有和私有
安装Docker环境准备Linux环境
12345678910111213141516171819[root@centos7vm ~]# uname -r3.10.0-1062.el7.x86_64[root@centos7vm ~]# cat /etc/os-releaseNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:ce ...
Linux如何使用LVM进行磁盘扩容
Linux如何使用LVM进行磁盘扩容提醒:操作磁盘的工作都需要小心谨慎,避免数据丢失损坏,下文涉及到分区表的操作请再三确认
背景介绍关于LVM的介绍请参考维基百科或百度百科。
本文不提供如何将现有的非LVM分区转换为LVM分区的方法,本文主要解决现有LVM如何进行扩容的问题。
磁盘状态查看注意:磁盘操作需要有管理员权限,请确认你有管理员权限再执行如下操作。
我们可以使用这个命令来查看当前硬盘的详细信息,包括当前磁盘容量以及分区信息。
1fdisk -l
命令执行结果与下图类似:
可以看到我们这块磁盘有268.4GB大小的空间,但只有两个分区vda1和vda2。我们同样可以使用lsblk来查看当前分区状态。执行结果应该类似下图:
通过这里我们看到,主要要解决的问题是,如何把我们这200多GB的空间都用上。
磁盘扩容根据我们的硬盘名称,执行下面的命令进入磁盘分区管理。其中/dev/vda应该更换为你自己查询到的名字。
1fdisk /dev/vda
命令执行后的状态应该类似下图:
我们可以在这里输入p来查看当前硬盘的信息,结果如下:
接下来执行我们的扩容过程。
新建一块分区新建 ...
基于Hexo及GitHub在Windows下搭建个人博客
基于Hexo及GitHub在Windows下搭建个人博客Hexo安装Hexo官网提供了一些安装说明,但是有些部分不够清晰,对新手不够友好。接下来我们在Windows环境下安装Hexo。
我会先介绍Hexo如何安装,然后在后文再介绍如何进行配置Hexo以及如何安装主题,如何设置图床等。
Hexo安装前在Hexo安装前需要安装下列环境:
Node.js
GIt
Node.js安装及验证
下载
当前Node.js官网https://nodejs.org/zh-cn/所提供的下载版本为14.15.0,可直接点击下载。
安装
下载完成后,直接使用默认设置一直next就可以,安装路径自行更改。
验证
使用WIN+R打开运行,输入cmd,然后输入npm -v验证是否安装成功。如下图所示则没有问题。
Git安装
下载
Git下载页面为https://git-scm.com/downloads,可直接点击下载,下载2.29.2 64位版本。
安装
如果有其他Git需求的用户可以搜索Git安装教程,如果没有其他需求直接默认配置安装。
验证
安装完成后,重新打开cmd,输入gi ...