蒙珣的博客

活好当下,做好今天该做的事情。

0%

我每想你一次,天上便落下一粒沙,从此便有了撒哈拉。每想你一次,天上就掉下一滴水,于是形成了太平洋。

Read more »


这本书其实在去年11月就已经读完,对于书籍前面的详细描写,后面感觉略有一笔带过之嫌。

我挺喜欢蓝宇这个人的,初遇悍东的胆怯与怯懦。

再到,不远万里,为见心上人在最寒冷的冬天,穿上最单薄也是最“华丽”的衣服。

对于悍东所做的他早有察觉,却什么也不说,什么也做不了,他深知这份爱对于眼前这个人来说,“分文不值”。

我其实挺为蓝宇所抱不平的,这么傻傻的守着一个渣男值得吗。为他放弃前程,放弃追求者。在这份苦海中苦苦挣扎,值得吗?

蓝宇爱的太深,爱的太深了,以至于分别两年都不曾走出这份感情。

阳光、开朗、乐观、坚毅、忠诚、廉洁、正直他几乎是一切美好品德的代名词,但也是个十足拧巴的人,每一个用情至深的人,或许都是这样吧。《面纱》里的瓦尔特是,蓝宇也是。

每每在苦海中挣扎,毅然决然选择抛弃自己的人,都在用刀刺入读者的心。也许就是这样读者才能深切感受到人物的那份疼痛吧。

相比于电影,《北京故事》这本书给人以更多的想象。《蓝宇》是部好电影,在我看来刘烨,没有演出他们分别时蓝宇饱受苦难后,心性成长后的气魄。

python 更改打印颜色

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。

Read more »

Shell + Python 的监控脚本,以后还会出一些,写在这里用来拓宽监控思路和计算思路

因为每个监控脚本虽然大同小异,但是每个脚本之中都有特殊内容,是这个脚本的灵魂所在

Read more »

Zabbix API 半成品,可能会后续更新

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import json
import requests

class ZabbixAPI:
def __init__(self, host, user, password) -> None:
self.host = "http://" + host + "/zabbix/api_jsonrpc.php"
self.user = user
self.password = password

def apiCall(self,data):
headers = {"Content-Type": "application/json"}
data = json.dumps(data)
response = requests.post(self.host, data, headers=headers)
responseResult = json.loads(response.text)
return responseResult

def login(self):
data = {
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": self.user,
"password": self.password
},
"id": 0
}
response = self.apiCall(data)
return response['result']

def addZabbixHost(self,host,port):
data = {
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": host,
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": host,
"dns": "",
"port": port
}
],
"groups": [
{
"groupid": "4"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": self.login(),
"id": 1
}
response = self.apiCall(data)
if 'error' in response:
print("ERROR:addZabbixHost()报错 " + response['error']['data'])
else:
print("添加监控主机成功:" + str(response['result']['hostids']))
# 返回主机列表
return response['result']['hostids']

def getItems(self,host):
data = {
"jsonrpc": "2.0",
"method": "item.get",
"params": {
"output": "extend",
"host": host, # 需要监控的主机
"search": {
"key_": "system.cpu.util[,idle]" # 监控项类型为"系统监控"
}
},
"auth": self.login(),
"id": 1,
}
response = self.apiCall(data)
print(response)
#return response["result"]

# 检查已经添加的主机,并返回hostid列表
def checkHost(self):
data = {
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["host"]
},
"auth": self.login(),
"id": 1
}
response = self.apiCall(data)
hostidList = []
for i in response['result']:
hostidList.append(i['hostid'])
print("已经添加的主机有:" + str(i['hostid']))
# 返回查询到的主机hostid列表
return hostidList

# 导出配置
def exportConf(self,hostidList=None):
if hostidList is None:
hostidList = self.checkHost()
data = {
"jsonrpc": "2.0",
"method": "configuration.export",
"params": {
"options": {
"hosts": hostidList
},
"format": "xml"
},
"auth": self.login(),
"id": 1
}
response = self.apiCall(data)
# 暂时不知道要干嘛,只是打印出来
print(response)

p = ZabbixAPI('172.22.144.81', 'Admin', 'zabbix')
p.getItems('172.22.144.81')

MIPS 操作数

名字 示例 注释
32个寄存器 $s0-$s7, $t0-$t9, $zero,
$a0-$a3, $v0-$v1, $gp, $fp,
$sp, $ra, $at
寄存器用于数据的快速存取。在MIPS中,只能对存放在寄存器中的数据执行算数操作,寄存器$zero的值恒为0,寄存器$at被汇编器保留,用于处理大的常数
20^30个存储器字 Memory[0], Memory[4], …,
Memory[4294967292]
存储器只能通过数据传输指令访问。MIPS使用字节编址,所以连续的字地址相差4。存储器用于保存数据结构、数组和溢出的寄存器。
Read more »

在读完本书后,我们能够理解以下问题:

  • 用C或Java等高级语言编写的程序如何翻译成硬件之间的语言?硬件如何执行程序?

    领会这些概念是理解软硬件两者如何影响程序性能的基础

  • 什么是软硬件之间的接口,以及软件如何指导硬件完成其功能?

    这些概念对于许多软件的编写十分重要

  • 哪些因素决定了程序的性能?程序员如何才能改进程序性能?

    从本书中我们将知道,程序性能取决于原始程序、将该程序转换为计算机语言的软件以及执行该程序的硬件的有效性

  • 什么技术可供硬件设计者用于改进性能?

    本书将介绍现代计算机设计的基本概念。有感兴趣的读者可深入阅读另一本进阶教材《Computer Architecture: A Quantitative Approach》

  • 硬件设计者可使用那些技术提高能效?什么技术可供程序员提高或降低能效?

  • 为什么串行处理近来发展为并行处理?这种发展带来的结果是什么?

    本书给出了解释,并介绍了当今支持并行处理的硬件机制,全面评述了新一代的多核微处理器(multicore microprocessor)

  • 自1951年的第一台商用计算机开始,计算机架构师们提出的哪些伟大思想构成了计算机的基础?

Read more »

转载自虫虫

1881年2月9日,就在陀思妥耶夫斯基执笔创作的时候,发生了一个小小的意外,或许根本算不上一个意外——他的的笔筒掉在了地上,然后滚到了书桌下面,于是他起身搬动书桌,然而,这成为了他生前的最后一个动作,在他搬动书桌的时候,突然由于用力过猛导致血管破裂,饱受病痛困扰的他永远地倒在了这次意外之中,而书桌上,还放着他未完成的遗作,就是这部《卡拉马佐夫兄弟》。

尽管陀思妥耶夫斯基最后的这部作品没有完成,但仍然是一部世界性的巨著,甚至把它称为人类历史上最伟大的小说也不为过,引用一句有些俗套的评价——任何语言都不足以形容这部作品的伟大。

Read more »

模拟题1

  1. 最适合数字加减运算的是补码,最适合表示浮点数阶码的编码是移码
  2. 主存容量16MB,按字节编址,表示该主存地址至少需要24位。
1
16MB = 16 * 1024KB = 2^4 * 1024B * 1024B = 2^4 * 2^10 * 2^10 = 2^24B
  1. 操作数所处的位置,可以决定指令的寻址方式。操作数包含在指令中,寻址方式为 立即寻址

    操作数在寄存器中,寻址方式为寄存器寻址

    操作数的地址在寄存器中,寻址方式为寄存器间接寻址

    Read more »

使用前先要修改的内容

  1. 更改server_log_path 存储路径,该路径是存储监控内容的总路径

  2. 修改server_array 数组值,修改成要监控的docker容器名称

  3. 同步修改calc.sh文件第13行 printf '0.FreeSwitch\t1.dialer\t2.PNLP\t3.MRCP\t4.VCG_TTS\t5.ptts_cloud\t 6.VCG\t7.PSTT\n'

使用方法

  1. 执行 calc.sh 文件

  2. 输入要监控的容器名称,**数字间空格分开。如: 0 2 3 **

  3. 输入监控的时长只能输入数字

    注意1: calc.py 和 calc.sh 要在同一个目录下

    注意2: 请使用管理员用户执行该脚本,否则需要修改脚本中docker status,给其添加权限

Read more »