Python之路:(十二)队列(queue)

Queue(先进先出队列)

队列特点

队列特点:先进先出(FIFO)——先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。

import queue

q = queue.Queue() #调用队列生成对象
q.put(1)  #存放第一个值到队列
q.put(2)  #存放第二个值到队列

print('get frist one:%s' % q.get())  # 获取队列的第一个值
print('get second on:%s ' % q.get())  # 获取队列的第二个值
  • 先进先出原则第一次存放的是1,第二次存放的是2,那么我们在获取值得时候,第一次获取的就是1,第二次就是2

Python之路:(十四)I/O多路复用

回顾原生Socket

“他是所有WEB服务器的祖宗”

Socket,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务,这些服务通过Socket向网络发出请求或者应答网络请求。

pupepet、ansible、他们也可以通过输入命令然后返回结果这个也是基于Socket来实现的。

Python之路:(十三)初识 socket

What is Socket

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket
Socket的英文原义是插座。作为BSD UNIX进程通信机制,取后一种意思。通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务,这些服务通过”套接字”向网络发出请求或者应答网络请求。

上面是不是很乱?但是概念一定要了解
现在是初学,我把Socket理解为一个电话拨通电话,接听电话!通信的一个概念!
Scket在写的时候要记住:有发就有收,收发必相等!

美丽得旅途-云南

旅行一直是在我脑海里憧憬得画面,从未真正为自己得心踏出过这一步。除了偶尔得家庭组织出去玩和工作得变迁在几个地方待过,真的没怎么出去看过我们生活得这个世界是什么样的。

看看世界

在今年得十一月,我有一个必须请假离开北京,回老家得理由。(我弟生日,[笑哭] -_-||| ,他说他过生日我不回去要打死我,╮(╯_╰)╭ 我弟只比我小几个月,是表弟!),好吧,虽然你会觉得这个理由有点扯,但是我真的是必须要回去。

(玩转ZABBIX)Dell 服务器硬件信息监控,自动生成服务器资产信息

Zabbix 一直想监控服务器硬件信息,而DELL OMSA很好的反馈满足了我想要监控得内容,通过OMSA和脚本的实现,对zabbix得熟练玩法实现了服务器的硬件信息监控和自动生成服务器硬件资产信息.

1、服务器自带的工具,比如HP的hpacucli,DELL的OMSA等
2、智能平台管理接口 (IPMI,全称Intelligent Platform Management Interface)
基于以上两种,通过nagios、zabbix或自研运维平台等包裹,进行预警操作。
由于公司使用的服务器全部为DELL PowerEdge系列的,这里将以如何对DELL PowerEdge系列服务器硬件进行监控这一实际案例为主。

Hexo 搭建个人博客

Hexo 搭建个人博客

你可以选择购买主机搭建动态博客 - WordPress等,也可以使用Github Pages来搭建一个静态的个人博客。我选择了现在很热门的Github Pages + Hexo 的方式来搭建独立的个人博客。

在搭建个人博客的过程中,你可能会使用到下面几个网站。在这几个网站中都有相应的官方文档及教程。如果官方文档不能满足你,那么请Google

Github 官网
Github Pages
Hexo 官网
Node.js 官网
Git 官网

创建Github Pages

登入Github 网站,在你的主页点击图标 New Repository 创建一个新的版本库,因为我们是使用Github 仓库的 Github Pages 去搭建我们的静态博客,所以版本库的名称是你以后博客的地址,博客名 + .github.io。如:我的用户名是:liangxiansen,那么版本库的名字应该是: liangxiansen.github.io ,这个是一定不能出错的。因为之后你将要访问的你的博客地址就是: https://liangxiansen.github.io

github.io

这个仓库地址 命名格式必须是 + github.io 的形式

安装Hexo

Hexo的安装在其官方文档中有很详细的说明。下面将简单介绍Hexo的安装。

  • 安装 Node.js ,请进入Node.js 的官网下载安装。
  • 安装 Git ,前面已经说明,不再赘述。

上面两个工具安装完整之后,只需要使用npm即可完成Hexo的安装。

npm install -g hexo-cli

安装Hexo完成之后,执行下面的命令,Hexo将会在你制定的文件夹中新建所需要的文件。

hexo init <folder>
cd <folder>
npm install

新建完成后,文件夹下的目录如下:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes
  • _config.yml 文件是网站的配置文件,可以在其中配置网站的大部分参数。
  • package.json 文件是应用程序的信息。
  • source 是资源文件夹,是用来存放用户资源的地方。
  • themes主题文件夹,Hexo会根据主题来生成不同的静态页面。
  • scaffolds是模板件夹,当新建文章的时候,Hexo会根据模板来建立文件。

修改主题

先进入你的Hexo文件夹 themes 里面,选择一个主题下载:

git clone https://github.com/iissnan/hexo-theme-next.git

然后打开Hexo主文件夹下的_config.yml,修改其中的theme 属性。theme: 后面要加空格。

本地测试

hexo generate #生成静态页面,生成的内容在public文件夹下
hexo server #启动本地服务,进行文章预览调试。hexo s --debug 命令可以用来调试

在浏览器输入: http://127.0.0.1:4000 进行查看

发布到Github

先使用下面的命令对Git进行初始配置。

git config --global user.name "your name"
git config --global user.email "email@email.com"

然后打开Hexo主文件夹下的_config.yml,设置其中的deploy 参数,详细请查看Hexo官方文档中部署部分

我的设置如下所示:

deploy:
  type: git 
  repository: https://github.com/LiangXianSen/liangxiansen.github.io.git
  branch: master

在上面的参数设置好了之后,使用下面的命令安装 hexo-deployer-git 插件,只有安装了插件之后才可以部署到Github Pages。

npm install hexo-deployer-git --save

安装完插件之后使用下面的命令进行部署:

hexo generate #生成静态文件
hexo deploy #部署到github

还有一个更快捷的命令:

hexo deploy -g #在部署前先生成

在浏览器输入:https://xxx.github.io 即可访问刚刚发布的网站了。

注意事项

  • hexo 目录下的 db.json 文件不要随便删除,里面记录了好多信息,我删了后发现我的blog的访问量的纪录全没了(手动捂脸~)。
|