第1章 正则表达式

1.1 简介/动机

操作文本或者数据可是件大事。如果不相信,就仔细看看如今的计算机在做些什么工作:文字处理、网页表单的填写、来自数据库转储信息流、股票报价信息、新闻源,而且这个清单还会不断增长。因为我们可能还不知道需要用计算机编程来处理的文本或数据的具体内容,所以能将这些文本或者数据以某种可被计算机识别和处理模式表达出来是非常有用的。

如何通过编程使计算机具有在文本中检索某种模式的能力。正则表达式为高级的文本模式匹配、抽取、与/或文本形式的搜索和替换功能提供了基础。简单地说,正则表达式(简称regex)是一些由字符和特殊符号组成的字符串。它们描述了模式的重复或者表述多个字符,于是正则表达式能按照某种模式匹配一系列有相似特征的字符串。换句话来说,它们能够匹配多个字符串。

阅读全文 »

简介

是一个非常快的视频和音频转换器,它可以抓取音频/视频源。它还可以在任意采样率之间转换,并利用高质量多相滤波器实时调整视频大小。

组成

FFmpeg项目由以下几部分组成:

  • FFmpeg视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;
  • ffserver基于HTTP、RTSP用于实时广播的多媒体服务器.也支持时间平移;
  • ffplay用 SDL和FFmpeg库开发的一个简单的媒体播放器;
  • libavcodec一个包含了所有FFmpeg音视频编解码器的库。为了保证最优性能和高可复用性,大多数编解码器从头开发的;
  • libavformat一个包含了所有的普通音视格式的解析器和产生器的库。
阅读全文 »

简介

OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写。OpenVPN允许创建的VPN使用公开密钥、电子证书、或者用户名/密码来进行身份验证。

它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。

目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Microsoft Windows以及Android和iOS上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

阅读全文 »

Python简介

什么是Python

Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。它可以帮你完成工作,而且一段时间以后,你还能看明白自己写的这段代码。你会对自己如此快地学会它和它强大的功能感到十分的惊讶,更不用堤你已经完成的工作了。

起源

贵铎.范.罗萨姆(Guido van Rossum)于1989年底始创了Python,那时,他还在荷兰的CWI(Gentrum voor Wiskunde en Information, 国家数学和计算机科学研究院)。1991年初,Python发布了第一个公开发行版。这一切究竟是如何开始的呢?像C、C++、Lisp、Java和Perl一样,Python来自于某个研究项目,项目中的那些程序员利用手边现有的工具辛苦的工作着,他们设想并开发出了更好的解决办法。

阅读全文 »

python后台运行方式

在linux中执行python程序的时候,我们通常会用python xx.py命令来执行,但这样执行的程序在关闭linux的控制台后,执行的程序就会退出,要让程序关闭后继续执行该怎么办?
要让python程序在关闭控制台后继续执行,我们需要使用nohub命令。

1
$ nohup python -u xx.py > log.out 2>&1 &

1 1是标准输出(STDOUT)的文件描述符,2是标准错误(STDERR)的文件描述符1>log.out简化为>log.out,表示把标准输出重定向到log.out这个文件
2 2>&1表示把标准错误重定向到标准输出,这里&1表示标准输出,为什么需要将标准错误重向到标准输出?这是因为标准错误没有缓冲区,而STOUT有,这就会导致log.out文件被两次打开,而STDOUT和STDERR将会竞争覆盖。

阅读全文 »

Docker自开源以来受到了各大公司的广泛关注,或许现在互联网公司的运维体系不承载在Docker之上都不好意思说自己是互联网公司。

阅读全文 »

习题1

文件名:ex1.py

1
2
3
4
5
6
7
print "Hello World!"
print "Hello Again"
print "I like typing this."
print "This is fun."
print 'Yay!Printing.'
print "I'd much rather you 'not'."
print 'I "said" do not touch this.'
阅读全文 »

Clover中隐藏“Boot Windows From EFI”启动项

用Clover时经常能碰到Boot Windows From EFI或者Boot Grub From EFI等启动项,又启动不起来Windows或者Ubuntu。
经过小小的研究,修改Clover的config.plist文件,将GUI->Scan下的Legacy选项设为false即可隐藏。

1
2
3
4
5
6
7
8
9
<key>Scan</key>  
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<false/>
<key>Tool</key>
<true/>
</dict>

原因

在安装了Mac与Windws双系统后,发现两套系统的时间不一致两者相差8小时,这是为什么呢?这是因为Windows与Mac系统对于CMOS记录的时钟采取了不同的定义。Windows将CMOS时钟作为本地时间来看待,而Mac系统将CMOS时钟作为UTC标准时间来看待,也就是格林威志时间。

解决方法:(修改Windows注册表)

将Windows的缺省对待CMOS的方式改成UTC,也就是和MacOSX一致

修改Windows的注册表,定位到

1
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\

添加一个名为”RealTimeIsUniversal”的DWORD项,把值设为1。
这样你在Windows和Mac OSX下将本地时区都设到北京时间,不论是Windows还是MacOSX同步过时间后,都不会影响到另一边。

0%