Browsed by
Author: YI

Linux下常用的几个命令

Linux下常用的几个命令

文件查找: find / -name demo.h 从根目录开始,查找文件名为”demo.h”的文件。
grep “myvoipapp” * -r 从当前目录开始搜索所有包含有字符串myvoipapp的文件, -r是指也需要搜索子目录。
查询网卡信息:ifconfig (需要root权限)
查询本机网络连接信息: netstat -a
查询CPU占用率 top
查询是否安装了mysql包: rpm -qa | grep mysql
Python中面向对象的一点概念

Python中面向对象的一点概念

Python的面向对象和C++颇有一些差异,主要体现在父类和子类的关系、函数重载、虚函数等方面。基本上可以说,在Python的内心,闪烁着C的光芒。

这样说可能太文绉绉了些,看下面这段代码,就能了解到一些基本的概念了:

子类的实例需要调用父类定义的函数时,必须在子类中重定义父类函数。
class A(object):
def __init__(self):
print “a::__init__”
def func1(self):
print “a::func1”
self.func2()   #注意:func2在A中没有定义!
class B(A):
def __init__(self):
super(B,self).__init__() #子类不会自动调用父类的构造函数,需要显示定义
print “b::__init__”
def func1(self):
print “b::func1”
super(B,self).func1()
def func2(self):
print “b::func2”
bObj = B()
bObj.func1()
用Python扩展C/C++程序的小技巧

用Python扩展C/C++程序的小技巧

通常都是用C/C++来扩展Python应用。而在我们程序中是反过来的,核心是C/C++程序,嵌入Python来提供扩展脚本,满足业务开发的需要。

这种模式下,很难应用现有的一些IDE工具来查错和调试。通常我们总是通过输出打印信息来检查python脚本逻辑是否出错。但是对一些语法错误,由于没有IDE工具辅助,反而不易排查,经常阻碍开发进度。后来发现可以应用traceback模块来迅速定位出错的地方,这可真是个很不错的模块。具体实现如下:

def TraceError(self):

exc_type, exc_value, exc_traceback = sys.exc_info()
exc_list = traceback.format_exception(exc_type, exc_value,exc_traceback)
exc_len = len(exc_list)
index = 0

while exc_len > 0:
self.Trace(exc_list[index])  # 自定义输出函数
index += 1
exc_len -= 1
return
如何以root身份登录Fedora13

如何以root身份登录Fedora13

这又是个纠结的问题。在老版本中,以root身份登录根本就不是个问题。我不太明白为什么最新的Ubuntu和Fedora都玩起了拒绝root登录的方式。

从技术上讲,屏蔽root登录方式似乎不能解决多少安全性问题。这两个发行版本的开发人员是怎么考虑的?

话说回来,以root身份登录Fedora的做法,要比Ubuntu复杂一些。采用以下方式即可:

以root身份修改以下文件:

修改文件/etc/pam.d/gdm,注释掉auth required pam_succeed_if.so user != root quiet。

修改文件/etc/pam.d/gdm-password,注释掉auth required pam_succeed_if.so user != root quiet。

然后重启系统就可以了。

还是要仔细看manual文档啊

还是要仔细看manual文档啊

今天花了很多时间在网上搜索Python与C之间交互的文章,想弄清楚大数据结构传递的问题。看了很多文章,大部分都是很久之前的经验记录,感觉不得要领。

后来仔细翻了翻Python的manual文档,赫然发现ctypes章节,写得非常详细,基本上把所有的概念和细节都讲清楚了。

http://docs.python.org/library/ctypes.html

看来自己的工作方法要不得啊。遇到问题首先google,其实也挺浪费时间。多花点时间研究manual,可能事半功倍,尤其是象Python的manual,写得真是不错。

ubuntu下mount分区显示中文

ubuntu下mount分区显示中文

其实还是比较简单的。对于Ububtu 10.04来说,很多东西已经支持得非常好了,不需要另外再下载什么软件即可。

在mount时,指明iocharset为utf8即可。网上一些以前的文章说是指明为cp936或者gb2312,我尝试了一下cp936,仍然显示乱码, 没有试gb2312,不好说结论。

以下是一个举例,mount某windows共享目录MyProjects到ubuntu目录下:

mount //win_server/MyProjects /root/Documents/my_projects -o username=hongtian,iocharset=utf8

在执行时,ubuntu会提示输入hongtian的用户密码,输入相应密码即可。注意,这个密码是windows系统共享用户的密码,不是ubuntu系统下用户的密码。

另外,建议以root用户进行上述操作。

如何以root身份登录ubuntu?

如何以root身份登录ubuntu?

网上已经有文章进行来描述。不过看起来都是基于旧版本的ubuntu。在最新的ubuntu版本(我是指10.04版本),实际上简化了,只需要配置root的password即可,不需要再设置登录窗口的安全属性。

step1:sudo passwd

此时系统会提示输入当前用户的口令

step2: enter unix new password

此时提示输入的password,就是root用户的password。ubuntu缺省情况下不允许root方式登录,因此也没有设置root的口令。

step3: re-enter unix new password

再次确认root的password

经过上述三步之后,就为root用户设置来password。然后,退出当前用户,在登录窗口中选择“other”,然后输入root及其password即可。

Voice over LTE

Voice over LTE

从cnBeta网站看到一条信息(http://www.cnbeta.com/articles/116220.htm),大致的意思是:

让HSPA网络也可以承载语音数据,并且还可以在无SIM卡的情况下实现紧急呼叫。这意味着只要有HSPA数据连接,用户就可以直接通过数据网络拨打电话而不是走传统的蜂窝网。新的标准还优化了语音路由,并加入了一系列LTE手机的服务端API。

我比较感兴趣的是:

  • 这个VoLTE和VoIP有什么区别?
  • LTE手机的服务端API是指什么?
  • 是否所有电话都可以通过LTE手机的数据网络完成?
一个可以替代visio的软件工具Edraw

一个可以替代visio的软件工具Edraw

网站网址是: http://www.edrawsoft.com/

从它的官方网站内容看,这个软件提供了我非常需要的流程图、网络拓扑图等功能。

更让人惊讶的是它的中文版价格,居然只要48元!从sharebank网站购买:http://www.sharebank.com.cn/soft/SoftView_18246.htm

实在是非常让人心动啊! 打算下载尝试一下,如果真得不错的话,这款软件就非常值得购买。

Firefox 3.6.6版本可能有问题

Firefox 3.6.6版本可能有问题

升级到这个版本后, 经常出现突然变得非常缓慢的情况, 尤其是使用gmail写邮件或者google documents写文档的时候, 简直慢得难以忍受. 此时, Firefox的CPU占用率也基本超过50%.

以前的版本非常好, 一直没什么问题. 3.6.6版本可能是个有问题的版本. 目前转到Chrome后, 一切都非常正常.