xin053

在安全圈里徘徊,停滞不前


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索
close

Docker学习笔记(一)

发表于 2016-07-13   |   分类于 Docker   |  

简介

Docker是容器,容器只能运行于底层宿主机相同或相似的操作系统。例如,可以在Ubuntu服务器上运行RedHat Enterprise Linux,但却无法在Ubuntu服务器上运行Windows

容器本身就比较复杂,不易安装,管理和自动化也很困难,而Docker就是为改变这一切而生。

Docker简介

Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。

使用Docker时,开发人员只需要关心容器中运行的应用程序,而维护人员只需要关心如何管理容器。

Docker的目标之一就是缩短代码从开发,测试到部署,上线运行的周期,让你的应用程序具备可移植性,易于构建,并易于协作。

阅读全文 »

tablib库使用详解

发表于 2016-07-10   |   分类于 Python模块学习   |  

tablib简介

tablib为requests作者kennethreitz维护,支持python2到python3.简单的说就是一个通用的数据集,操作类似数据库,但又不是一个数据库的代替,因为缺少查操作,但是可以通过tablib将数据集轻松转为xls、csv、yaml等格式。简单的来说就是用来处理tabular dataset,为这些不同格式的数据集提供一个统一的格式。

目前支持下面这些输出格式:

  • Excel (Sets + Books)
  • JSON (Sets + Books)
  • YAML (Sets + Books)
  • HTML (Sets)
  • TSV (Sets)
  • OSD (Sets)
  • CSV (Sets)
  • DBF (Sets)
阅读全文 »

shortuuid库使用详解

发表于 2016-07-07   |   分类于 Python模块学习   |  

shortuuid简介

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。在UUID的算法中,可能会用到诸如网卡MAC地址,IP,主机名,进程ID等信息以保证其独立性。

UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)

shortuuid使用python内置的uuid模块产生标准32位uuid,然后进行base57编码,使用的字符集为数字,字母大小写,然后再除去结果中相近的字符:l, 1, I, O 和 0

阅读全文 »

pyfiglet库使用详解

发表于 2016-07-06   |   分类于 Python模块学习   |  

pyfiglet简介

pyfiglet是figlet的python实现。

那么figlet是什么?好吧,就是这个:

1
2
3
4
5
_____ ___ ____ _ _
| ___|_ _/ ___| | ___| |_
| |_ | | | _| |/ _ \ __|
| _| | | |_| | | __/ |_
|_| |___\____|_|\___|\__|

说简单点就是输出像上图这样的由字符拼凑的图形。

阅读全文 »

ftfy更正Unicode库使用详解

发表于 2016-07-05   |   分类于 Python模块学习   |  

ftfy简介

ftfy的目标是输入有问题的Unicode,输出正确的Unicode

适用于以下一些情况:

  • 原本Unicode文本被用其他编码解码造成的乱码,可以通过ftfy更正
  • 像html中的&等标记会被ftfy更正
  • 某些终端会带有一些控制符,如控制颜色,当复制时,就会复制这些多余的控制符
  • 当从某些地方复制来的文本会出现一些显示问题,ftfy能更正

需要注意的是:输入的文本原本是Unicode,而不是其他的编码

fix_text

1
2
3
4
5
6
7
8
>>> print(fix_text('ünicode'))
ünicode
>>> print(fix_text('HTML entities <3'))
HTML entities <3
>>> print(fix_text('LOUD NOISES'))
LOUD NOISES
阅读全文 »

arrow时间库使用详解

发表于 2016-07-04   |   分类于 Python模块学习   |  

arrow简介

arrow是一个提供了更易懂和友好的方法来创建、操作、格式化和转化日期、时间和时间戳的python库。可以完全替代datetime,支持python2和3

基本使用

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
>>> import arrow
>>> utc = arrow.utcnow()
>>> utc
<Arrow [2013-05-11T21:23:58.970460+00:00]>
>>> utc = utc.replace(hours=-1)
>>> utc
<Arrow [2013-05-11T20:23:58.970460+00:00]>
>>> local = utc.to('US/Pacific')
>>> local
<Arrow [2013-05-11T13:23:58.970460-07:00]>
>>> arrow.get('2013-05-11T21:23:58.970460+00:00')
<Arrow [2013-05-11T21:23:58.970460+00:00]>
>>> local.timestamp
1368303838
>>> local.format()
'2013-05-11 13:23:58 -07:00'
>>> local.format('YYYY-MM-DD HH:mm:ss ZZ')
'2013-05-11 13:23:58 -07:00'
>>> local.humanize()
'an hour ago'
>>> local.humanize(locale='ko_kr')
'1시간 전'
阅读全文 »

pathlib路径库使用详解

发表于 2016-07-03   |   分类于 Python模块学习   |  

pathlib简介

pathlib库在python 3.4以后已经成为标准库,基本上可以代替os.path来处理路径。它采用完全面对对象的编程方式。

总共有6个类用来处理路径,大体可以分为两类:

  1. pure paths 单纯的路径计算操作而没有IO功能
  2. concrete paths 路经计算操作和IO功能

这6个类的继承关系如下:

可以看到PurePath是所有类的基类,我们重点要掌握PurePath和Path这两个类,在Windows平台下路径对象会有Windows前缀,Unix平台上路径对象会有Posix前缀。

阅读全文 »

pip包管理器使用详解

发表于 2016-07-02   |   分类于 Python模块学习   |  

pip简介

pip为包管理器,跟linux上众多的包管理器的功能大致相同,就是对包进行管理,使得包的安装,更新和卸载更容易。

pip包管理器下载的python库来自:PyPI

pip在python2.7.9以上和3.4以上自带,通过venv,virtualenv和pyvenv创建的虚拟环境默认也会安装,不过最好通过以下命令更新到最新版
Windows:

1
python -m pip install -U pip

Linux或Mac

1
pip install -U pip
阅读全文 »

venv创建Python虚拟环境

发表于 2016-06-30   |   分类于 Python模块学习   |  

Python虚拟环境简介

众说周知,Python有很多版本,其中具有画时代意义的版本就是2.7和3,由于Python各版本之间不兼容,所以不像一般软件那样,直接安装便可以覆盖老版本,Python的不同大版本可以同时存在,例如电脑上可以同时存在Python 2.7,Python 3.4和Python 3.5,而Python的小版本(版本下的小更新)会覆盖之前的安装,比如目前电脑上是Python 3.5,那么安装Python 3.5.1便会覆盖3.5,之后再安装Python 3.5.2,便会覆盖Python 3.5.1,哦,对了,我指的是windows环境下python安装包,非便携版。

Python极强的能力主要由其庞大的库来支撑,Python 2.7下有很多很多库,目前也有很多库已经兼容了Python 3,但是还是有大量的库只兼容Python 2.7.有人说Python 3会毁灭Python,但我并不认为是这样,Python 3带来了很多特性已经性能等方面的提升,Python 3必定是一种趋势,要想华丽的蜕变,就必须选择舍弃,所以Python官网发布了Python 3.

阅读全文 »

Git使用详解

发表于 2016-06-18   |   分类于 Git   |  

git介绍

git为分布式版本控制系统,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜 像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

Git 不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照 的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。

阅读全文 »
1…456
xin053

xin053

正在用Windbg调试正在调试正在反汇编Windbg的IDA的OD...

55 日志
13 分类
50 标签
RSS
GitHub 微博 知乎 csdn
友情链接
  • 看雪
  • 怪咖家园
  • CS_DH
  • Dendionk
  • cyang
© 2016 - 2017 xin053
由 Hexo 强力驱动
主题 - NexT.Mist