国内外核心期刊有哪些?

国外

踏进学术圈,到处都是北核、南核、SCI、EI等耳熟能详的期刊分类……核心期刊类目众多,领域各异,那么它们的差异和价值分别体现在哪里呢?

从世界层面来说,SCI(科学引文索引)、EI(工程索引)、ISTP(科技会议录索引)是世界著名的三大科技文献检索系统,是国际公认的进行科学统计与科学评价的主要检索工具,其中SCI是最重要的一种。

1、SCI 美国《科学引文索引》

SCI《科学引文索引》是美国科学信息研究所于1957年在美国费城创办的引文数据库,收录全世界出版的数、理、化、农、林、医、生命科学、天文、地理、环境、材料、工程技术等自然科学各学科的核心期刊。

SCI“引文索引”的特点在于,它通过先期的文献被当前文献的引用,来说明文献之间的相关性及先前文献对当前文献的影响力,因此成为科研评价的一种依据。

科研机构被SCI收录的论文总量,可反映整个机构的科研、尤其是基础研究水平;而个人的论文被SCI收录的数量及被引用次数,则反映个人的研究能力与学术水平。

2、SSCI 美国《社会科学引文索引》

美国《社会科学引文索引》,SCI的姊妹篇,亦由美国科学信息研究所创建,是目前世界上可以用来对不同国家和地区的社会科学论文的数量进行统计分析的大型检索工具,也是世界最重要的社会科学期刊索引。

SSCI内容覆盖包括人类学、法律、经济、历史、地理、心理学等55个领域,收录文献类型包括:研究论文、书评、专题讨论、社论、人物自传、书信等。

SSCI收录世界上不同国家、地区的社会科学期刊和论文,进行一定的统计分析,并划分为不同的因子区间,是当今社会科学领域重要的期刊检索与论文参考渠道。

3、EI 《工程索引》

EI《工程索引》是美国工程信息公司出版的著名工程技术类综合性检索工具,收录文献几乎涉及工程技术各个领域,例如:动力、电工、电子、自动控制、矿冶、金属工艺、机械制造、土建、水利等。

EI每月出版1期,文摘1.3万至1.4万条,每期附有主题索引与作者索引。此外EI每年会出版年卷本和年度索引,年度索引还增加了作者单位索引。它具有综合性强、资料来源广、地理覆盖面广、报道量大、报道质量高、权威性强等特点。

4、ISTP 《科技会议录索引》

ISTP《科技会议录索引》创刊于1978年,由美国科学情报研究所编辑出版。该索引收录生命科学、物理与化学科学、农业、生物和环境科学、工程技术和应用科学等学科的会议文献,也包括一般性会议、座谈会、研究会、讨论会、发表会等。其中工程技术与应用科学类文献约占35%,其他涉及学科基本与SCI相同。

ISTP收录论文的多少与科技人员参加的重要国际学术会议多少或提交、发表论文的多少有关。在ISTP、 EI、 SCI这三大检索系统中,SCI最能反映基础学科研究水平和论文质量。该检索系统收录的科技期刊比较全面,可以说它是集中各个学科高质优秀论文的精粹,历来成为世界科技界密切注视的中心和焦点。

ISTP、EI这两个检索系统评定科技论文和科技期刊的质量标准方面相比之下较为宽松。

国内

回到国内,中文核心期刊是期刊中学术水平较高的刊物,是我国学术评价体系的一个重要组成部分。

它主要体现在对科研工作者学术水平的衡量方面,如在相当一批教学科研单位申请高级职称、取得博士论文答辩资格、申报科研项目、科研机构或高等院校学术水平评估等,都需要在在核心期刊上发表一篇或若干篇论文。

目前,中国的核心期刊分7类,本篇主要介绍其中5中。

1、北大核心

北大核心是北京大学图书馆联合众多学术界权威专家及国内几所大学的图书馆根据期刊的引文率、转载率、文摘率等指标确定的。

按照惯例,北大核心期刊每四年由北大图书馆评定一次,并出版《北大核心期刊目录要览》一书。

从影响力来讲,其等级属同类划分中较权威的一种,是除南大核心CSSCI、中国科学引文数据库CSCD以外学术影响力最权威的一种。

2、南大核心

南大核心CSSCI是由南京大学研制成功的“中文社会科学引文索引”,是国家、教育部重点研究项目,由南京大学中国社会科学研究评价中心组织评定,两年一评。

南大核心通过对全国所有符合两月以下出版及非一刊号多版的人文社会科学各学科学术性期刊,进行他引影响因子分析,指某刊在统计当年被CSSCI来源期刊文献引用该刊前2年所登载的文章的篇次(不含该刊自引)与前2年该刊载文量之比;

总被引频次指某刊被统计当年被CSSCI来源期刊文献所引用该刊创刊以来登载的文章的总篇次(含该刊自引)。

结果最靠前的的刊物,就是南大核心来源期刊。南大核心收录文史经管方向杂志,不收录工科杂志。从影响力来讲,其等级属同类划分中国内最权威的一种,入选难度高于北大核心。

3、中国科技核心期刊

中国科技核心期刊是由中国科学技术信息研究所经过严格的定量和定性分析选取的各个学科的重要科技期刊,学科范畴主要为自然科学领域,是目前国内比较公认的科技统计源期刊目录。其受科技部委托,每年进行遴选和调整 ,权威性名列国内首位。

4、中国科学引文数据库(CSCD)来源期刊

中国科学引文数据库(CSCD)来源期刊每两年遴选一次。每次遴选均采用定量与定性相结合的方法,定量数据来自于中国科学引文数据库,定性评价则通过聘请国内专家定性评估对期刊进行评审,数据库内容丰富、结构科学、数据准确。

中国科学引文数据库具有建库历史最为悠久、专业性强、数据准确规范、检索方式多样、完整、方便等特点,自提供使用以来,深受用户好评,被誉为“中国的SCI ”。

5、中国人文社会科学核心期刊

中国社会科学评价研究院于2018年11月16日在“第五届全国人文社科高峰论坛暨期刊评价会”上发布《中国人文社科学期刊AMI综合评价报告(2018年)》。

此报告基于学科与期刊特点构建了不同的期刊评价指标体系,对我国1291种人文社会科学期刊(2012年及以前创刊)、164种新刊(2013-2017年创刊或更名)及68种英文期刊进行了评价。

6.《中国核心期刊目录》(RCCSE)

武汉大学邱均平教授主持研制,

7.《中国学术期刊综合引证报告

清华大学图书馆中国学术期刊(光盘版)电子杂志社研制,每年发布。建有《中国引文数据库》(CCD)

l

如何在同一台电脑上使用多个GitHub账号

我们知道,如果使用ssh key去绑定GitHub账号,那么每次从同一台电脑上push代码的时候就不用输入密码,账号这些信息了。那如果有多个GitHub账号呢?比如我就有两个GitHub账号,一个是工作用的,一个是个人的。下面给大家介绍如何在同一台电脑上使用多个GitHub账号,并且每个账号都对应各自的ssh key。

1. 创建SSH key

我们先创建对应公钥和私钥:

1
ssh-keygen -t rsa -b 2048 -C "nas" -f ~/.ssh/id_rsa.github

这个指令会创建一个公钥~/.ssh/id_rsa.github.pub和一个私钥在~/.ssh的目录下。我们可以将这对秘钥当成默认的,用于个人账户。

用于工作的账号,使用下面的命令把公钥绑定到工作账号的邮箱email@work.com,并且,生成一个名为id_rsa_work_user.pub

1
ssh-keygen -t rsa -C "email@work.com" -f "id_rsa_work_user"

现在我们就有了两组不同的秘钥,/.ssh/id_rsa.github和/.ssh/id_rsa_work_user。

2. 将ssh key添加到不同GitHub账号

先来处理个人账号。我们用pbcopy < ~/.ssh/id_rsa.github.pub拷贝公钥,然后登陆到GitHub。

  • 进入settings
  • 点击左边栏的SSH and GPG keys进入到SSH keys的编辑块
  • 点击New SSH key
  • 黏贴刚刚拷贝的内容到Key的编辑框里,并且在title的编辑框内给它取个名字

然后登入到工作的GitHub账号,重复以上步骤,只不过这次是pbcopy < ~/.ssh/id_rsa_work_user.pub

3. 使用ssh配置文件配置不同账号使用的ssh key

打开ssh配置文件(**~/.ssh/config**),按照下面的样式去编辑:

1
2
3
4
5
6
7
8
9
10
11
# Personal account, - the default config
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.github

# Work account
Host github1.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work_user

Host是用来区分不同的Git账号,比如“github.com-work_user”你也可以取另外一个名字,但是使用ssh去clone仓库的时候,记得把拷贝过来的clone命令的时候,把命令中的github.com替换成对应的Git账号下的Host。比如,你需要在你的工作账号下克隆这个仓库git@github.com:personal_account_name/repo_name.git,这个就需要把‘github.com’替换成‘github.com-work_user’。

4. 本地仓库

我们可以通过git remote -v看看本地仓库对应的远程仓库URL,检查该URL是否与要使用的GitHub主机匹配,否则更新远程原始URL。如果不匹配,可以通过下面这个命令更新:

1
git remote set-url origin git@github.com-worker_user:worker_user/repo_name.git

注意替换@和冒号中间的字符串,它们对应你在ssh配置文件中配置的host。

如果你要在本地创建一个全新的仓库。我们都知道使用git init,然后你在GitHub上创建一个仓库,同样需要在本地配置远程仓库的URL,像这样:

1
git remote add origin git@github.com-work_user:work_user/repo_name.git 

同样需要注意对应的host。

好了。关于本地使用多个GitHub账号如何配置ssh key和host就介绍这么多。

l

#EmbyServer 4.7.13.0 全端全功能免验证破解(非伪站验证)

由本人破解,不得用于商业,禁止二次传播,黑原神和黑原神玩家的抽象玩意儿自己给我滚蛋。

下载解压文件到embyserver目录中的system里,重启emby服务,进入emby服务端设置,在Premiere Key中随便输入字符确定即可完成本地验证。

img随便输入字符即可

img已经是Emby高级会员了

img可以使用高级会员功能

天翼云下载链接

https://cloud.189.cn/web/share?code=MNZNR3amyaq2(访问码:yyo9)

l

华硕路由器修改本地Hosts局域网DNS转发设置

引子

联通网络,入户给配了智能光猫(集成光猫和无线路由器的功能),192.168.0.1 是智能光猫的地址。光猫后面就是华硕路由器,华硕路由器自动获取的 IP 地址 192.168.0.2 ,路由器本身的登录地址改为192.168.50.1,路由器的子设备为192.168.50.xxx。
在路由器的子设备中有一个 Synology(群辉) 的 Nas,端口映射到外网,有真实的外网 IP 地址,外网可以正常访问。但从光猫、路由器内的局域网中,都无法直接访问这个外网 IP 地址,Ping 也无法 Ping 通。

问题

综上,尴尬的事情就来了,Nas 绑定的域名无法在我的局域网内访问 Nas,因为域名指向的是我 Nas 的外网 Ip 地址,但是这个 Ip 并不能在我家的局域网内访问,所以,一旦连接上我家的 WIFI 后,访问我的 Nas 域名,就要自动指向到我 Nas 的内网 IP 地址。

解决

既然只有连接到我家的 Wifi 时需要将 Nas 的域名指向到我家的内网 Ip 地址,那么我就从路由器动手,在路由器作为 DNS 服务器的时候,将域名的请求指向 Nas 内网 IP 。

修改路由器 Hosts

华硕路由器本身无法直接修改 Hosts 文件,因为文件修改权限不够,就像 iOS 需要越狱、Android 需要 Root 一样,路由器也需要获取到管理员权限,才能对其核心文件进行修改,所以分两步,首先给路由器刷梅林固件,然后再使用 WinSCP 连接路由器,改 Hosts 文件。

华硕路由器刷梅林固件

因为这个不是本篇文章的主要内容,我就简单略过了,梅林固件的安装也非常简单,和安装原版固件基本相同。

升级固件

系统管理 - 固件升级 - 新固件文件,选择梅林固件之后,点击上传,然后按照提示省级,重启就好了。

img

建议
如果可以的话,还是进入系统管理 - 恢复/导出/上传设置里面把配置文件先备份一下,以后也方便。

初始化路由器

升级完成进入https://router.asus.com,会出现自动设置向导,点击 跳过设置向导 (因为等下要恢复出厂),进入 系统管理 - 系统设置,勾选 Format JFFS partition at next boot,点击 应用本页面设置。
img

恢复路由器出厂设置

进入 系统管理 - 恢复/导出/上传设置,在 原厂默认值 一栏,点击 恢复 按钮,恢复出厂设置。

重新配置路由器

重新进入https://router.asus.com,现在可以根据 设置向导 来配置你的路由器登陆密码和wifi密码,或者你可以稍后自己设置。

配置软件中心

进入系统管理 - 系统设置,勾选 Enable JFFS custom scripts and configs,点击 应用本页面设置 (此步关系到软件中心能否正常使用)

这样,华硕路由器的梅林系统就安装完成了,安装梅林系统的同时,路由器的权限也随之获取了,我们下一步就开始干正事。

配置 Hosts 文件

因为已经取得了路由器的控制权限,所以我们首先将路由器的SSH功能开启,然后利用 WinSCP 登录到路由器中。

开启路由器 SSH 功能

进入系统管理 - 系统设置 - SSH 连接,按照我的截图进行设置即可。

注意
我截图里面选择的是只允许有线连接,如果你是无线连接的记得选择 Wifi 可以使用 SSH ,更改 LAN only 那一项即可。

img

建立 SSH 连接

用浏览器打开下面的链接
ssh://admin@192.168.50.1

注意
上面SSH 链接的 admin 是我路由器的管理员帐号。
192.167.50.1 是我路由器的访问地址

如果在 Mac 下可能出现以下错误

复制代码

1
2
3
4
5
6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.

这个错误我没有列全,因为涉及到地址等信息,如果出现以上错误,在 Mac 本地删除 /Users/你的 mac 用户名/.ssh/known_hosts中的所有文件即可。
Finder 中按 shift + cmd + G 或者直接 点击菜单上的 前往 - 前往本地文件夹
WX20180824-113238
删除该文件夹下的所有内容
WX20180824-113310

我们再次连接,输入 yes ,进行确认。
WX20180824-113737

然后输入路由器后台的登录密码,并出现以下画面,表示登录成功。
WX20180824-113800

ssh登录到路由器

引入 Hosts

登入完成后,点击最上方的…,直到进入根目录,找到 jffs 目录,进入该目录。然后在 jffs 目录下,右键单击,新建一名为dnsmasq.conf.add的文件,在文件中输入

复制代码

1
addn-hosts=/jffs/configs/hosts

完成后,点击左上角保存按钮保存该文件,然后关闭。

配置 Hosts

然后进入该文件夹下的 configs 文件夹,,右键单击,新建一名为hosts的文件,在文件中输入你需要的 hosts 内容

复制代码

1
2
192.168.50.218 www.swimminghao.top
192.168.50.1 www.example.com

完成后,点击左上角保存按钮保存该文件,然后关闭。

重启 DNS 服务

打开刚才链接的 SSH 命令窗口,输入

复制代码

1
service restart_dnsmasq

WX20180824-113807
重启dnsmasq服务,来使hosts生效。
重启路由器后依然存在并且有效。这样,就可以了~!

l

word图片、表格自动编号

在写论文、报告或标书时,为了使数据更加直观,文档中会使用大量图片、表格或图表等元素。

如果图片、表格或图表太多,为了对它们进行区分,我们会在每一张图片(或表格、图表)底部进行编号。编号样式通常为:图1,图2,图3……或者为表1,表2,表3……等。

对于这种情况,许多人会手工输入图片的编号。真的是头晕眼花。还容易出错!

其实,学会利用Word题注+查找和替换功能就能为图片自动编号,不仅能避免手工输入编号带来的烦恼,还非常省事!1000张图片自动编号,10秒搞定

图片自动编号

一、先设置章节

使用word 自带的章节样式,例如:标题一、标题二,不然和标题联动的设置都会出问题

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2023-04-05 18.32.10_20230405193155.gif)

二、为图片添加题注

Word中题注的作用就是给文档里的图片、表格、图表或公式等元素添加自动标注,即编号和注释文字。下面以为图片添加题注为例进行讲解(注:为表格、图表或公式添加题注的方法与为图片添加题注基本相同)。

1
2
3
4
5
6
7
1. 选中图片,点击【引用】-【题注】-【插入题注】。

2. 打开“题注”对话框,这里是为图片添加题注,所以我们在“标签”下拉列表中选择“图”。

3. 如果需要对图片设置说明信息,则在题注编号后面输入相应的说明文字,然后单击“确定”按钮即可。

4. 这样我们就为第一张图片加好了题注。

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2023-04-05 18.13.45_20230405181431.gif)

技巧提示:在“题注”对话框的“位置”下拉列表框中还可以设置题注位于对象的上方或是下方。默认情况下为“所选项目下方”选项,表示题注位于对象的下方。

三、为图片批量编号

单张图片添加题注学会了,那么,若要为文档中的其他图片添加题注,是不是用相同的方法呢?这个方法虽然也可行,但不够高效。

接下来,教你2个批量为图片添加编号的小妙招:

利用【F4】快捷键(mac版使用CMD+Y)

在Word里用过【F4】快捷键的朋友就会知道,它的作用是重复上一步操作。因此,当我们插入一次题注编号后,按【F4】键,可重复插入编号(如要添加注释说明文字,直接在编号后输入即可)。

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2023-04-05 18.15.23_20230405181540.gif)

利用查找和替换

Word里的查找替换功能非常强牛,特别是在批量处理相同格式的内容时,使用该功能效率倍增。因此,我们可以利用查找和替换来批量添加编号。

1
2
3
4
5
6
7
8
9
10
11
12

(1)选择题注,按下【Alt+F9】快捷键,切换到域代码状态。

(2)选中域代码,这里不包含后面的图片注释文字。按【Ctrl+C】键复制,再按【Ctrl+H】键打开“查找和替换”对话框。

(3)在查找文本框中输入【^g】;在替换文本框中输入【^&^p^c】,然后点击【全部替换】按钮。

(4)此时,所有图片下方均添加了编号。按下【Ctrl+A】键全选所有内容,再按【F9】刷新,最后,再按【Alt+F9】切回正常状态,这样就完成了图片的编号。

代码解析:^g 表示图片;^& 指要查找的内容;^p 表示换行符(也就是换一行);^c 表示剪切版的内容(即第二步中复制的代码内容)。

(5)然后,在每张图片的编号后添加上相应的说明文字即可。

![](https://cdn.jsdelivr.net/gh/swimminghao/picture@main/img/2023-04-05 18.16.45_20230405181844.gif)

四、“图”字和数字直接删掉空格,最后添加空格

1
2
3
4
5
6
7
8
9
10
11
12
1. 右击图片题注,样式里全选所有图题注

2. 在查找内容处,输入:空格,替换处什么都不填。

3. 全部替换删掉图字和数字之间的空格

4. 选中使用通配符,在查找内容处,输入:(*)^13,替换处,输入:\1 ^13

5. 单击【全部替换】。


注:要是现成的图题注,需要先去掉所有空格;再在查找内容处,输入:([一-龥][一-龥])(*)^13,替换处,输入: \1\2^13;最后单击【全部替换】

表格自动编号

  1. 粘贴如下代码,创建宏,并设置题注标题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub 表格题注()
'
'
If ActiveDocument.Tables.Count >= 1 Then
Set act_Doc = ActiveDocument
For Each otable In act_Doc.Tables
CaptionLabels.Add Name:="表星星星"
With otable.Range.InsertCaption(Label:="表星星星", Position:=wdCaptionPositionAbove)
'Position:=wdCaptionPositionBelow
End With
Next
End If

End Sub
  1. 使用宏将所有表格命名为”表星星星”格式,使用第一张表添加题注,接下来复制新建的表格题注,例:表1 ,(注:必须复制“表1”和后面的空格)
  2. 然后查找替换,使用通配符,查找内容:表星星星*表[星]{1,}*[0-9]{1,},替换内容:^c
l

Mac宿主机访问Docker容器网络

img

macOS上面Docker实现方式和Linux不一样,简单说macOS将Docker服务端(docker daemon守护进程)部署在一台虚拟机里面,而Linux里面Docker服务端直接作为宿主机的一个进程。这导致两种平台上Docker容器和其宿主机的网络通信方式有很大不同。

简单的表象是,Linux主机上会有一个docker0网卡,而macOS上没有docker0网卡;带来的区别是Linux上部署的容器应用默认和宿主机就是互联互通的,而macOS宿主机不能直接连通容器。

Linux查看docker0网卡

在阿里云ECS里面启动了Docker服务,终端输入ifconfig查看docker0网卡(容器默认使用bridge模式部署,都通过这个docker0网卡与宿主机通信)

img

Linux宿主机ping容器

启动一个nginx容器(默认使用bridge模式):

1
docker run -d --name nginx nginx

查找nginx容器ip地址:

1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx

在宿主机使用curl http://172.17.0.4访问容器中nginx页面,可以看到返回结果,说明宿主机可以连通容器网络。

img

Linux容器ping宿主机和其它容器

容器里面ping宿主机可以ping得通,说明容器可以连通宿主机;容器里面ping其它容器可以ping得通,说明容器之间的网络也互通。

img

Linux查看bridge模式网络信息

Docker默认使用bridge模式启动容器服务,使用docker network inspect bridge命令查看bridge模式网络信息。

img

由此可见,Linux宿主机与容器网络是互联互通的

macOS宿主机ping容器

在macOS里面启动nginx和ubuntu容器,使用docker inspect命令获取nginx和ubuntu容器的ip地址。

img

由上可见,macOS宿主机与容器网络默认不连通;并且宿主机ping容器网关地址(172.17.0.1)也ping不通

macOS容器ping其它容器

进入ubunut容器,如果没有安装过相关命令工具先参照下面方法安装网络工具包。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
ubuntu安装curl:
apt install curl
(使用curl ifconig.me查询本机ip)

ubuntu安装ipconfig:
apt-get install net-tools

ubuntu安装ping:
apt-get install iproute2

ubuntu安装ip:
apt-get install iproute2

ubuntu安装netcat经典版本:
apt-get -y install netcat-traditional

ubuntu安装telnet客户端:
apt-get install telnet

ubuntu安装telnet服务端:
apt-get install telnetd

ubuntu安装lsof:
apt-get install lsof安装lsof

ubuntu启动telnet服务(启动后使用lsof可以看到23端口被使用,macOS telnet服务):
/etc/init.d/openbsd-inetd restart启动telnet

使用ifconfig查看ubuntu容器ip地址是172.17.0.4,容器本地地址是127.0.0.1,注意这个127.0.0.1是ubuntu容器的localhost地址,和宿主机的127.0.0.1不是一回事。

在容器里ping容器网关地址(172.17.0.1)可以ping通,ping其它容器(nginx容器ip地址172.17.0.5)可以ping通,访问nginx容器主页可以成功,说明容器之间的网络是互通的。

img

macOS容器查看宿主机ip地址

Docker for Mac有两个内置的域名host.docker.internalgateway.docker.internal分别表示宿主机ip和网关ip。

容器中ping host.docker.internal得到宿主机ip地址192.168.65.2,ping gateway.docker.internal得到同样的ip地址,ping 192.168.65.1也可以ping通。奇怪为什么默认把宿主机和网关ip都设置为192.168.65.2而不是192.168.65.1。

img

查看Docker For Mac配置信息,发现192.168.65.2地址和默认设置的网段有关。

img

macOS容器ping宿主机真实ip地址

使用curl ifconfig.me获取运营商分配的”真实”ip地址,使用ifconfig | grep "inet " | grep -v 127.0.0.1获取宿主机局域网ip地址,在ubuntu容器里面都可以ping通。

img

容器如果需要连接macOS宿主机上的服务,比如MySQL数据库,那么数据库host地址可以使用192.168.65.2,也可以使用192.168.31.208,但显而易见使用192.168.65.2更为可靠。

macOS部署mindoc作为在线文档工具

mindoc是一款在线文档管理系统,其它就不多介绍了,自己看官网吧。

为了方便文档数据备份和迁移,我使用本地MySQL数据库替换默认的sqlite3数据库,将容器内文件上传目录映射到本地目录,这样以后我添加的所有文档都保存在macOS本地。

  1. 先使用内置sqlite3数据库默认启动一个mindoc服务

    1
    docker run -p 8181:8181 --name mindoc -e httpport=8181 -d registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v2.0-beta.2
  2. 进入mindoc容器,将容器里面/mindoc/conf/app.conf拷贝到宿主机

  3. 在宿主机app.conf填写启动配置信息,主要是数据库配置信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    ####################MySQL 数据库配置###########################
    #支持MySQL和sqlite3两种数据库,如果是sqlite3 则 db_database 标识数据库的物理目录
    #db_adapter="${MINDOC_DB_ADAPTER||sqlite3}"
    #db_host="${MINDOC_DB_HOST||127.0.0.1}"
    #db_port="${MINDOC_DB_PORT||3306}"
    #db_database="${MINDOC_DB_DATABASE||./database/mindoc.db}"
    #db_username="${MINDOC_DB_USERNAME||root}"
    #db_password="${MINDOC_DB_PASSWORD||123456}"

    db_adapter=mysql
    db_host=192.168.65.2(宿主机ip,我这里也可以写192.168.31.208,但局域网ip容易变动因此不用)
    db_port=3306
    db_database=mindoc
    db_username=XXXXXX
    db_password=XXXXXX
  4. 在宿主机创建mindoc数据库,字符集使用utf8mb4,排序规则使用utf8mb4_general_ci

  5. 关闭并删除原容器,将本地app.conf映射到/mindoc/conf/app.conf,将本地文件上传目录映射到/mindoc/uploads,重新部署mindoc服务

    1
    docker run -p 8181:8181 --name=mindoc --restart=always -v /Users/XXX/XXX/app.conf:/mindoc/conf/app.conf -v /Users/XXX/XXX/uploads:/mindoc/uploads -e httpport=8181 -e MINDOC_ENABLE_EXPORT=true -d registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v2.0-beta.2
  6. 使用docker logs查看容器日志,如果初始化成功会在宿主机mindoc数据库创建相关的表;如果出现数据库连接异常,有可能需要修改MySQL配置文件将bing-address改为0.0.0.0,然后重启MySQL即可;如果数据库还连接不上,检查数据库连接用户是否有操作mindoc表的权限,配置好即可

macOS宿主机连接容器网络

查到几种方式,比较一下发现使用docker-connector最简单。

安装docker-connector服务

  1. 使用brew安装docker-connector
1
brew install wenjunxiao/brew/docker-connector
  1. 执行下面命令将docker所有 bridge 网络都添加到docker-connector路由
1
docker network ls --filter driver=bridge --format "{{.ID}}" | xargs docker network inspect --format "route {{range .IPAM.Config}}{{.Subnet}}{{end}}" >> /usr/local/etc/docker-connector.conf

(/usr/local/etc/docker-connector.conf是安装docker-connector后生成的配置文件)

  1. 使用sudo启动docker-connector服务
1
sudo brew services start docker-connector
  1. 使用下面命令创建wenjunxiao/mac-docker-connector容器,要求使用 host 网络并且允许 NET_ADMIN
1
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name connector wenjunxiao/mac-docker-connector
  1. docker-connector容器启动成功后,macOS宿主机即可访问其它容器网络

img

其它补充

如果macOS里面需要使用代理,proxychains4是比较好的选择。

1
2
3
1. 使用brew install proxychains4进行安装
2. 在/usr/local/Cellar/proxychains-ng/4.8.1/etc/proxychains.conf配置Socks5地址
3. 使用proxychains4 command走代理访问,不加proxychains4的command不受影响

参考资料

l

英语作文模板

答题性议论文

Currently,there is a widespread concern over(the issue that)作文题目.It is really an important concern to every one of us.As a result,we must spare no efforts to take some measures to solve this problem.

As we know that there are many steps which can be taken to undo this problem.First of all,途径一.In addition,another way contributing to success of the solving problem is 途径二.

Above all,to solve the problem of 作文题目,we should find a number of various ways.But as far as I am concerned,I would prefer to solve the problem in this way,that is to say,方法.

利弊型的议论文

Nowadays,there is a widespread concern over(the issue that)作文题目.In fact,there are both advantages and disadvantages in 题目议题.Generally speaking,it is widely believed there are several positive aspects as follows.Firstly,优点一.And secondly 优点二.

Just As a popular saying goes,”every coin has two sides”,讨论议题 is no exception,and in another word,it still has negative aspects.To begin with,缺点一.In addition,缺点二.

To sum up,we should try to bring the advantages of 讨论议题 into full play,and reduce the disadvantages to the minimum at the same.In that case,we will definitely make a better use of the 讨论议题.

议论文的框架

  1. 不同观点列举型(选择型)

There is a widespread concern over the issue that 作文题目.But it is well known that the opinion concerning this hot topic varies from person to person.A majority of people think that 观点一.In their views there are two factors contributing to this attitude as follows: in the first place,原因一.Furthermore,in the second place,原因二.So it goes without saying that 观点三.

People,however,differ in their opinions on this matter.Some people hold the idea that 观点二.In their point of view,on the one hand,原因一.On the other hand,原因二.Therefore,there is no doubt that 观点三.

As far as I am concerned,I firmly support the view that 观点一或二.It is not only because原因一 ,but also because原因二 .The more we are aware of the significance of ____,the more benefits we will get in our daily study and job.

  1. 谚语警句性议论文

It is well known to us that the proverb: “谚语“has a profound significance and value not only in our job but also in our study.It means__谚语的含义__.The saying can be illustrated through a series of examples as follows.(also theoretically)

A case in point is 例子一.Therefore,it is goes without saying that it is of great of importance to practice the proverb 谚语.

With the rapid development of science and technology in China,an increasing number of people come to realize that it is also of practical use to stick to the saying: 谚语.The more we are aware of the significance of this famous saying,the more benefits we will get in our daily study and job.

  1. 问题解决型作文模板

With the____of____,So it is of great importance for us to____.On the one hand____,On the other hand____,

However,we have figured out many ways to_____.Firstly,____So long as____.Secondly____,Thirdly____.In fact____,That is because____.

In a word,________.

  1. 现象说明文

Recently____ ,what amazes us most is____,it is ture that____.

There are many reasons explaining____.The main reason is____.

what is more____.thirdly____.As a result____.

Considering all there,____.For one thing____,for another____

In Conclusion____.  一种事物或现象(负面意义倾向)

l

Grafana + Prometheus + node_exporter性能监控

一、背景

在用Jmeter执行性能测试时,为了更好得收集压测数据,并展示性能测试结果数据,需要搭建一套监控平台。有了平台后测试人员可以随时通过查看性能压测数据,对比历史数据,分析性能优化结果。

二、服务准备

1、MySQL用户授权

需要对用户进行授权才能收集监控数据信息

  • 首先,登录mysql服务,这里以docker为例

    highlighter- applescript

    1
    2
    3
    docker exec -it mysqlserver sh

    mysql -uroot -p
  • 然后,创建用户并开启远程登录。

    highlighter- n1ql

    1
    2
    #CREATE USER '你的账号'@'%'  IDENTIFIED BY '你的密码';
    CREATE USER 'exporter'@'%' IDENTIFIED BY '123123123';
  • 然后,授予查看主从运行、线程,及所有数据库的权限

    highlighter- lasso

    1
    2
    #GRANT PROCESS, REPLICATION CLIENT ON 库名.* TO '你的账号'@'%';
    GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'%';
  • 然后,授予监控MySQL server运行过程中的资源消耗、资源权限

    highlighter- lasso

    1
    2
    #GRANT SELECT ON performance_schema.* TO '你的账号'@'%';
    GRANT SELECT ON performance_schema.* TO 'exporter'@'%';
  • 最后,更新用户权限后,刷新权限表

    highlighter- abnf

    1
    flush privileges;

2、部署服务

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
version: '2'

networks:
monitor:
driver: bridge

services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
hostname: prometheus
restart: always
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
networks:
- monitor

grafana:
image: grafana/grafana:latest
container_name: grafana
hostname: grafana
restart: always
ports:
- "3000:3000"
networks:
- monitor

node-exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node-exporter
hostname: node-exporter
restart: always
ports:
- "9100:9100"
networks:
- monitor

cadvisor:
image: google/cadvisor:latest
container_name: cadvisor
hostname: cadvisor
restart: always
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- "8899:8080"
networks:
- monitor

redis-exporter:
image: oliver006/redis_exporter
container_name: redis-exporter
hostname: redis-exporter
restart: always
ports:
- "9121:9121"
command:
- "--redis.addr=redis://127.0.0.1:6379"
networks:
- monitor

mysql_exporter:
image: prom/mysqld-exporter
container_name: mysql-exporter
hostname: mysql-exporter
restart: always
ports:
- "9104:9104"
environment:
DATA_SOURCE_NAME: 'exporter:123123123@(127.0.0.1:3306)'
networks:
- monitor

docker-compose.yml当前目录下,创建prometheus.yml文件,它将prometheusexporter服务关联起来。

prometheus.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Prometheus全局配置项
global:
scrape_interval: 15s # 设定抓取数据的周期,默认为1min
evaluation_interval: 15s # 设定更新rules文件的周期,默认为1min
scrape_timeout: 15s # 设定抓取数据的超时时间,默认为10s


# scape配置
scrape_configs:
# job_name默认写入timeseries的labels中,可以用于查询使用
- job_name: 'prometheus'
scrape_interval: 15s # 抓取周期,默认采用global配置
static_configs:
- targets: ['192.168.50.218:9090'] # prometheus所要抓取数据的地址,即instance实例项

- job_name: 'node'
scrape_interval: 8s
static_configs:
- targets: ['192.168.50.218:9100']
labels:
instance: node

- job_name: 'cadvisor'
static_configs:
- targets: ['192.168.50.218:8899']
labels:
instance: cadvisor

- job_name: 'redis_exporter'
static_configs:
- targets: [ '192.168.50.218:9121' ]
labels:
instance: redis

- job_name: 'mysql_exporter'
static_configs:
- targets: [ '192.168.50.218:9104' ]
labels:
instance: mysql

docker-compose.yml以及prometheus.yml文件都准备好后,在当前目录下创建一个run.sh的脚本,方便快速启动服务,不用这个脚本,用脚本中的命令也可以。

run.sh

1
2
3
4
#!/usr/bin/env bash
docker-compose down
docker-compose rm
docker-compose up -d --build

全部启动后

1
2
3
cd ~/data/prometheus

docker-compose ps

img

启动成功,后就可以访问:

  • http://192.168.50.218:9090 :prometheus的原生web-ui
  • http://192.168.50.218:3000 :Grafana开源的监控可视化组件页面,默认用户及密码为admin
  • http://192.168.50.218:9100 :收集服务器(node-exporter)的metrics
  • http://192.168.50.218:8899 :收集docker(cadvisor)的metrics
  • http://192.168.50.218:9100 :收集redis(redis-exporter)的metrics
  • http://192.168.50.218:9104 :收集mysql(mysql-exporter)的metrics

打开 http://192.168.50.218:9090/targets ,如果State都是UP即代表Prometheus工作正常,如下图所示:

img

三、服务配置

1、配置数据源

首先,服务启动后,要让prometheus的数据能被Grafana访问,那么就需要打开Grafana页面(http://192.168.50.218:3000 ),默认用户及密码均为admin,并在Grafana页面中配置prometheus的数据来源。

img

配置好数据源后,就可以配置对应监控模板。

2、配置服务器监控

本次要导入的模板:https://grafana.com/grafana/dashboards/11074,模板ID:11074

img

Grafana页面(http://192.168.50.218:3000 ),然后选择import导入模板

img

然后,填写模板的名称(名称随意取),接着,选择数据源为prometheus

img

最后,点击import导入模板,结果如图:

img

可以看到node-exporter把获取的数据信息,展示在了Grafana页面。

3、配置容器监控

本次要导入的模板:https://grafana.com/grafana/dashboards/893,模板ID:893

img

Grafana页面(http://192.168.50.218:3000 ),然后选择import导入模板

img

然后,填写模板的名称(名称随意取),接着,选择数据源为prometheus

img

最后,就可以看到,收集docker(cadvisor)的metrics信息,并展示在grafana页面。

img

4、配置redis监控

本次要导入的模板:https://grafana.com/grafana/dashboards/11835,模板ID:11835

Grafana页面(http://192.168.50.218:3000 ),然后选择import导入模板

img

5、配置mysql监控

本次要导入的模板:https://grafana.com/grafana/dashboards/7362,模板ID:7362

img

四、参考

1、docker-compose 搭建 Prometheus+Grafana监控系统 :https://www.cnblogs.com/qdhxhz/p/16325893.html

2、jmeter压测练习:https://github.com/princeqjzh/iJmeter

3、dbeaver下载:https://dbeaver.io/download/

4、mysql监控:https://www.prometheus.wang/exporter/use-promethues-monitor-mysql.html

l

ppt技巧

图片拼接效果

插入大矩形形状->插入长条矩形->多选大矩形和长条矩形->形状格式工具栏->合并形状->拆分->删掉多余图形部分->在各个分割图形上插入图片

l

photoshop技巧

选区更换颜色

  1. 选区->编辑->填充->颜色->选择颜色->确定
l