首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux的高效代码搜索工具-ack

安装 ubuntu要安装ack-grep,因为在debian系中,ack这个名字被其他的软件占用了。...为源代码搜索而设计,用更少的击键完成任务。 非常轻便,移植性好。 免费且开源 better than grep? 先来看下grep的日常用法。...-l | grep .py # 管道用法 一些参数: -c(统记)/ -i(忽略大小)/ -h(不显示名称)/ -l(只显文件名)/ -n(加行号)/ -v(显示不匹配) 这些命令在linux...ack功能划分 在记忆的时候大体上可以分为这几个部分: Searching代码搜索 Search output搜索结果处理 File presentation文件展示 File finding文件查找...hello' # 包含的文件名 ack-grep -L 'print' # 非包含文件名 File presentation 输出的结果是以什么方式展示呢,这个部分有几个参数可以练习

2.1K40

python代码实现linux的tail功能

今天在服务器上调试程序,发现win03的服务器在查看apache输出日志的时候灰常麻烦,想到linux系统的命令 tail就可以实时查看输出日志,于是找了,还真有人写了个win的tail:http...://www.kuaipan.cn/file/id_12834302878348914.htm 后来想了想,自己用python写一个也不麻烦,权当练手于是有了下面的代码: #coding=utf-8 '...2: print 'illegal params' else: filename = sys.argv[1] timer(filename) 代码不是很严谨...,有兴趣的自己扩展 运行方法: 把该py文件放到你要统计的日志文件所在目录,然后运行:python xxx.py logs.log(×nux系统注意权限) 为了方便测试,自己写了一个不断写文件的代码,主要是每隔

1.7K30

代码封装变化

最终的结果是,我们在走捷径,而我们正在编写的代码并不像它所能达到的那样。这增加了维护软件的成本,使其难以扩展。...在面向对象的系统中,行为应该封装在对象中,以限制副作用并允许创建更模块化的系统。 代码应该具有表现力,就像好的文学作品一样。代码应该清楚明了地表达它的功能和功能。...软件应该以领域语言表示,并封装在对象中,以便它们更易于维护。...通过传播知识的系统交互对象的集合,我们尽量减少变化的影响,当变化真正发生时,因为改变通常只影响直接参与改变系统的对象,其余部分将封装和屏蔽的变化。...将概念放入它们自己封装的实体中确实需要更多的类型,但是它也简化了测试。理想情况,我们希望通过应用一系列我们可以独立测试和验证的简单行为来产生复杂的行为。

45210

ACE - 代码层次及Socket封装

最近研究其源码最大的感受就是代码量大,资料少,逻辑跳跃大。网上搜了ACE方面的书籍和资料,也是皮毛上打滚,概念满天飞,侧重讲解如何使用其框架,复杂的底层代码和实现都避而不谈,不如直接看源码来的直接。...OO层则是对一些常用的数据结构或方法进行OO封装,方便上层使用,包括socket方法,进程、线程和他们的同步机制等。 框架层实现了一些优秀的网络框架,直接拿来用就好了。...OO层经常用到的就是Socket封装,这部分内容主要包括以下几个: ACE_SOCK_Connector:连接器,主动建立连接,用于Socket Client。...封装这四个结构简化了Socket编程代码,避免了代码细节上错误,也增强了移植性和面向对象思想的应用。...至此,还并没有发现ACE完成的Server和之前用linux底层API完成的代码或功能上有何区别。

1.5K70

ACE - 代码层次及Socket封装

最近研究其源码最大的感受就是代码量大,资料少,逻辑跳跃大。网上搜了ACE方面的书籍和资料,也是皮毛上打滚,概念满天飞,侧重讲解如何使用其框架,复杂的底层代码和实现都避而不谈,不如直接看源码来的直接。...OO层则是对一些常用的数据结构或方法进行OO封装,方便上层使用,包括socket方法,进程、线程和他们的同步机制等。 框架层实现了一些优秀的网络框架,直接拿来用就好了。...OO层经常用到的就是Socket封装,这部分内容主要包括以下几个: ACE_SOCK_Connector:连接器,主动建立连接,用于Socket Client。...封装这四个结构简化了Socket编程代码,避免了代码细节上错误,也增强了移植性和面向对象思想的应用。...至此,还并没有发现ACE完成的Server和之前用linux底层API完成的代码或功能上有何区别。

77010

封装Python代码:如何在未安装Python的情况运行Python脚本

你可以封装你的python代码,并提供给其他人去运行,即便他们没有安装python。...封装是指通过将Python解释器、代码及其所有依赖项捆绑在一起来创建单个可执行文件的过程。最终的结果是,其他人可以在不安装Python解释器或任何模块的情况运行该文件。...使用Pyinstaller封装Python代码 Pyinstaller是一个Python库,可以为你封装Python脚本,并且非常易于使用。...现在,我们准备封装我们的代码。 在命令提示窗口中,键入pyinstaller freeze_eg.py。”freeze_eg.py”是你要封装的脚本名称,因此必须将其更改为你的文件名。...要将Python代码封装到单个文件中,使用--onefile参数 要向应用程序添加图标,使用--icon参数。

2.6K20

记录|探究一次嗅到坏代码封装封装

首先简单说明目前项目中遇到的问题吧: 重复性功能较多; 需求不明确造成多次返工,大量时间消耗无脑撸码微调中; 。。。 可能是项目的特殊性吧。...一起先来看一,之前“封装”: 下面围绕着此事例进行逐步分析,衍化。 开搞 当初封装的原因就是后台突然返回了一种类型,嗯,是挺突然的,突然的都没关注这种类型,显然针对 App 出现了问题。...鸡老大说的俩句话很有意义,在此分享: 你可以做抽象,而不是抽方法; 抽象的东西不是业务,但是是根据业务形态做的。...在 “仔细” 观察封装后的方法,在每种类型中都要实例化一个 Intent 并且传递对应的 id,方便后续根据 id 查看详情。...不得不跪服鸡老大,短短一个代码片段,便能直击痛楚,甚至我这写代码的人都忽略的跳转多场景调用,多次频繁拷贝,甚至后续沾沾自喜封装了一个小方法。

35520

linux封装rm -rf指令,防止误删

对于一个linux新手,敲错指令是常有的事情,智者千虑必有一失,即使对于一个老司机来说,也难免会有操作失误的时候,而误删导致的后果往往是无法弥补的。...一、首先编写shell脚本 1.changerm.sh 用于改变rm指令,代码如下: #!...{RANDOM} echo "[${i}] delete completed" fi done 2.cleartrash.sh 用于定期清理回收站(因为对rm -rf进行封装后.../trash cd ${trashdir} find ./ -mtime +3 -exec 'rm' -rf {} \; #找到回收站中修改日期大于3天的文件,执行真正的删除 (注:rm被封装后...rm-rf指令后确实可以避免误删,但是如果执行带单引号的’rm’ -rf操作,就会调用系统原先的删除功能,不经过封装脚本,直接删除文件。

3K21

Linux】多线程 --- 线程概念 控制 封装

其中多线程代码的健壮性降低,可以通过代码来验证一。 4....3.初步认识原生线程库(在linux环境,C++11线程库底层封装了POSIX线程库) 1....所以,在Windows平台上,C++11的线程库底层封装了Windows线程库,而在Linux平台上,它底层封装了POSIX线程库(pthread)。...下面代码就是C++11形式的线程管理代码,这段代码的好处就是它可以跨平台运行,无论是在linux还是在windows环境这段代码都可以跑,因为C++11的线程库底层封装了各个操作系统的线程库实现,这使得我们能够通过...只不过我们用原生线程库写出来的代码无法跨平台运行,只在linux环境能跑。 4.线程的分离(若要进行分离,推荐创建完线程之后立马设置分离) 1.

1.4K30
领券