存档在 ‘【软件】’ 分类

软件:Best Trace 链路可视化测试

2016年6月24日

下载:http://www.ipip.net/download

从 Windows、Mac、Android等设备上发起 traceroute 请求,附带链路可视化。

工具:怎样在线检测一个网站所使用的程序

2016年6月1日

参考资料:https://www.zhihu.com/question/22124988

有以下工具可以帮助检测一个网站大概是使用什么内核程序搭建的。

比如Agnes计划中需要隐藏WPMU的实质:

  • 需要应用Hide-My-WP插件&White Label Branding插件。
  • WordPress根目录下有个readme,能看到wp的版本。
  • WordPress的程序框架,后台管理的路径默认是wp-admin。

最后还得这些工具进行检测,以确保隐藏任务的完成程度。

Chrome插件:Sniffer Plus

安装:https://chrome.google.com/webstore/detail/chrome-sniffer-plus/fhhdlnnepfjhlhilgmeepgkhjmhhhjkh?hl=en

作者:http://justjavac.com/ https://www.zhihu.com/people/ced30ef2e460b4febfd77ef3038167ce

源码:https://github.com/justjavac

» 阅读更多: 工具:怎样在线检测一个网站所使用的程序

怎样让程序代码更整洁

2016年3月2日

写本文的目的无非是2个:

  1. 如果前任程序员缩进非常不整齐的代码非常影响现任维护者的代码阅读速度。
  2. 新的项目代码(无论在什么编辑环境下编写)都能够非常好的适应公司的缩进规范,可以便于开发者之间的交流。

如果马上能从以下列表中找到你需要的就完全不必耐心的看到最后:相应工具包中的文档会有更详细的使用说明

c, c++ c# ==>   indent   Astyle
java      ==>   astyle Jalopy Jacobe ImportScrbber
php       ==>   phpCodeBeautifier
perl      ==>   perlTidy
python    ==>   Pydent
asp ==> VBSBeaut

程序员应该是善于沟通的,代码美化的意义在于体现了开发者对他人的尊重,使用好的编码约定可以使源代码明白、易读、准确,更加直观且与其他语言约定保持一致,从而让程序员之间更好的沟通。

有统计表明缩进良好的代码可以提高代码阅读的效率40%以上,而另一个统计是软件开发工作的70%以上是维护前人的代码,因此对以往代码的格式美化往往也是系统重构(refactoring)的第一步。代码美化工具(pretty print program)的使用可以使基本的代码缩进规范成为一种更容易执行的制度。

另外,如果作为部门代码规范的制订者也应该了解程序员不是机器,写代码时完全不犯代码缩进错误几乎是不可能的。基于工具的批量格式化和整理工具方便的配置导入/导出机制制定统一的缩进规范才是一个真正有可操作性的制度。

几种开放源代码的代码美化工具的介绍

工具名称 适用语言 简介 安装/使用
indent c indent就是代码美化工具的代名词 indent是gcc附带的一个标准工具,
indent [options] [input-files]
indent [options] [single-input-file] [-o output-file]
perltidy perl perltidy本身也是用perl写的 下载后: perl Makefile.PL;make;make install
perltidy [ options ] file1 file2 file3 …
(output goes to file1.tdy, file2.tdy, file3.tdy, …)
perltidy [ options ] file1 -o outfile
perltidy [ options ] file1 -st >outfile
perltidy [ options ] <infile >outfile
astyle c c++ java (php) 一个速度很快的C/C++/Java源代码美化工具。
astyle比indent好在有很多成套的的风格定义:ansi java linux…不必记住复杂的缩进具体选项。
下载源代码解包后,make, 生成astyle可执行文件
astyle [options] < Original > Beautified
astyle [options] Foo.cpp Bar.cpp […]
astyle –style=ansi *.cpp
我尝试过用它来格式化PHP程序也很有效(当然是不合HTML代码混在一起的纯PHP代码)。
jalopy java 功能强大的JAVA代码格式化工具,除了标准界面外,命令行工具,还可作为ANT JBUILDER ECLIPSE JDEVELOPER等工具的插件使用,并提供API http://prdownloads.sourceforge.net/jalopy/下载
并参考相应安装文档
pydent python pythius包含了2个工具:
pydent: 代码缩进工具
pystat: 代码统计工具
下载源代码解包后:
Run “python setup.py build”
Run “python setup.py install”
htmltidy html/xml HTML代码的纠错工具,可以帮助你的HTML代码更好的符合W3C规范,现在被称作tidy,因为它不仅只使用于HTML,也现在也适用于XHTML XML的格式化。但JSP不适合ASP PHP JSP等嵌入式脚本的代码美化

 

下载源代码后 make 生成tidy可执行文件:
tidy file1 file2 …
注意:对于含有中文的页面要使用 -raw选项

tidy.exe -raw -imuq -wrap 132 -f %f.err %f
选项说明:
-raw: 不修改中文字符 (output values above 127 without conversion to entities)
-i indend 缺省HTML按2个空格缩进
-m 覆盖原文件
-u 强制所有HTML标记大写(这个可以不加)
-wrap 页面代码宽度大于132行强制换行
-f %f.err 将错误输出到“相应文件名.err”文件中
HTMLTIDY支持XML的格式美化:
tidy -xml -imq web.xml
tidy -xml -imq build.xml

其他工具介绍:

php代码美化工具
phpCB: php code beautifier 有命令行版本,也有图形界面的代码查看器。
http://www.phpedit.net/products/phpCodeBeautifier/

Java的代码美化工具
如果是专门针对JAVA代码的格式化,Jacobe也是很好的选择,它缺省包含了一个完全按照SUN的代码规范的格式化配置文件。而且甚至有JIndent这种商业化代码整理工具以获得更好的效果。

ImportScrbber: java import声明的整理工具,能够将import java.util.*这样的引用变成单条的引用,并且帮助删除已经不再需要的引用。 http://importscrubber.sourceforge.net/

介绍这些工具的都可以在这里可以找到:Jacobe Jindent Jxbeautifier…
http://directory.google.com/Top/Computers/Programming/Languages/Java/Development_Tools/Code_Beautifiers/

使用命令行工具实现代码的批量修改

Windows 2000下:用for命令实现目录遍历和文件过滤及命令执行,例如:
for /R %f in (*.java) do astyle –style=java %f
for /R %f in (*.htm*) do tidy -raw -imq -wrap 132 -f %f.err %f
for /R %f in (*.asp) do vbsbeaut.exe -i -s4 %f

Linux:用find -exec 遍历执行,例如:
find ./ -name *.java -exec astyle –style=ansi {} \;

因此不要被很多商业化软件漂亮的图形界面所迷惑,当面对上千个源文件时,能够基于命令行的批量操作也是一个非常重要的功能。

针对Eclipse等IDE开发环境的工具插件使用

越来越多的IDE开发环境都包含了代码美化功能,但有些仍不如这些专门的工具强大,而且如果开发人员中有的用Eclipse,有的是JBuilder的忠实用户,如何让他们都能方便的遵守代码规范呢?答案就是用全Jalopy针对这些主流IDE开发环境的插件。
Jalopy: Java代码美化工具: http://jalopy.sourceforge.net/
Eclipse plug-in: http://jalopy.sourceforge.net/plugin-eclipse
CheckStyle: Java代码代码规范(缩进,命名)检查工具 http://checkstyle.sourceforge.net
Eclipse plug-in: Eclipse Checkstyle Plug-in

安装:
作为Eclipse的插件安装都非常方便,下载后解包到Eclipse/plug-in/目录下重启Eclipse即可:

配置:
Jalopy: Windows ==> Jalopy Preference 配置的导入/导出在General选单中,
CheckStyle: Windows ==> perference ==> checkstyle 配置的导入/导出就在配置界面右侧
标准配置的导入/导出功能可以大大降低开发人员针对以上工具的学习时间,对于大部分开发者来说不需要详细了解其中所有的选项配置,只要知道将标准配置导入就可以了。我常用的Jalopy配置文件
使用:
Jalopy: 在代码编辑界面点右键的选单中除了原有的Format选项外,还多出了Format with Jalopy选项,而Eclipse自身带有的Source=>Orgenize Imports也是能够达到Imports Srubber同样的功效。
CheckStyle是一个非常复杂的代码风格检查过程:包括缩进,命名规范等,因此缺省是Disable的,启动针对一个项目的CheckStyle需要在点:项目的properties==>CheckStyle==>Enable。

而且以上这些工具都包含了针对ant的扩展,可以方便的加入到ant脚本中进行自动的代码整理/统计。

参考资料:

GNU Coding Standards
http://www.gnu.org/prep/standards_toc

Code Conventions for the Java(TM) Programming Language
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc

PHP Coding Standard
http://alltasks.net/code/php_coding_standard

Perl Style
http://www.perldoc.com/perl5.6.1/pod/perlstyle

pb: Perl/Javascript Beautifier
http://www.arachnoid.com/lutusp/ftp/cgi/pb.txt
HTML XML XHTML CSS…
http://www.w3c.org

C-C++ Beautifier HOW-TO:
http://www.tldp.org/HOWTO/C-C++Beautifier-HOWTO/VBScript代码规范
http://msdn.microsoft.com/library/en-us/script56/html/vbsCodingConventions.asp

VBSBeaut代码整理工具
http://www.daansystems.com/vbsbeaut/

Java组件之间的依赖度分析
http://www.clarkware.com/software/JDepend

代码检查
http://www.thecortex.net/clover/index

更多XP工具
http://directory.google.com/Top/Computers/Programming/Languages/Java/Coding_Standards/
http://www.xprogramming.com/software.htm
http://www.qsm.com/CodeCounters

附:为什么HTMLTIDY的不适合重新格式化JSP PHP ASP等HTML嵌入式脚本语言

而有些无法解析的错误其实是代码不规范造成的。

  1. JAVASCRIPT中的”<”
    比如
    for (i = 1; i<a; i++)
    需要改成
    for (i = 1; i < a; i++)
                 ^ ^ "<"前后需要加空格,否则HTMLTIDY会把<a当成HTML标记
  2. HTML属性中包含JSP标记:
    对于一般的JSP属性输出TIDY是可以认出来的
    
    比如: <input type=text size="9" name="alias" maxlength=20  value=<%=infoForm.getAlias()%> >                                                                
    但像这样的代码:
    <img border=0 src=/image/upload/content/<%=infoForm.getId()%><%=infoForm.getPhoto()%> width=120> 
    由于属性的开头不是<%,因此会出现IMG没有结尾错误
  3. HTMLTIDY缺省是将代码完全补齐的,而实际上很多HTML代码是在被包含文件中。而且HTMLTIDY对中文编码得识别还有一定问题(目前只支持BIG5)

原因:

为什么嵌入式代码很难维护?毕竟针对不规范的HTML语法检查器要比一个语言的解析器要复杂的多。举例来说,比如针对这样的代码:
<?php echo “<table>”;?>
</table>

这样形式的代码,美化工具必须同时懂得HTML语法和PHP语法才行,所以大部分格式工具都是针对一种语言,或者针对嵌入脚本的程序部分的格式化,或者只对针对纯HTML格式化。只有少数Virsual Age, Forte等大型开发工具里包含了JSP的代码美化,另外就是SLICKEDIT这种大型商业文本编辑器等。

解决:对于包含程序的JSP ASP等文件的HTML部分的格式美化最好还是使用专门的HTML编辑工具Dreamweaver(≥4)和Frontpage(≥2000)中的格式化工具来实现。比如:对于FRONTPAGE从菜单的工具==>网页选项==>HTML源代码选单里选择“使用下面的规则重新格式化源代码”。

总之,使用HTML和程序在一起的嵌入式脚本语言本身就是一件非常不好的开发习惯。从长远来开用XML/XSLT等技术实现数据/表现/逻辑的分离是一种更适合大规模开发的模式。

为了目前大量的ASP PHP JSP应用我还是通过Google上找到一些工具,相信HOMESITE等。其实前面提到的VBSBeautifier其实也是调用Perl 5.8在Windows上的

一个用于ASP的代码美化工具:VbsBeaut
http://www.daansystems.com/vbsbeaut/

一个用于ASP JSP PHP编辑并带有代码美化功能的工具:BPHTML
http://www.bphtml.com/

一个基于Java的HTML编辑器,内嵌了C C++ Java JavaScript Perl等类C语言的代码美化器:http://www.arachnoid.com/arachnophilia/index

Beautifier highlights and indents source code using highlight configuration files (which are similar to Ultraedit highlighting files). As such, it supports C, C#, Java, Perl, PHP, Pascal, Lisp, Mumps, Eiffel, Euphoria, and x86 Assembler, amongst others.
http://www.beautifier.org/
Trita is a source code beautifier which learns your personal formatting style by examining examples of your code.
http://www.trita.com/
支持:Java, Javscript, CSS, JSP, HTML, ASP, Lisp, Delphi, C#, C++, PHP, Perl, Python, and SQL.

无觅相关文章插件

» 阅读更多: 怎样让程序代码更整洁

Cookie查看工具:EditThisCookie

2016年2月15日

有时我们需要分析cookie的写法。这时用得上Google Chrome的cookies管理插件:editthiscookie。

“EditThisCookie is the only cookie editor you will ever need!”

官网:http://www.editthiscookie.com/
安装:https://chrome.google.com/webstore/detail/edit-this-cookie/fngmhnnpilhplaeedifhccceomclgfbg
介绍:http://chromecj.com/productivity/2014-07/8
应用场景:https://www.zhihu.com/question/39717484

目前大多数网站的登录程序或者是其他保存用户信息到本地浏览器的方式都是使用cookies的方式,而cookies虽然可以为用户的一些操作带来便捷,比如可以记住用户的密码或者用户的选择历史,在下一次操作的时候自动添加到浏览器中,但随之而来的是用户隐私问题的隐患。还有一种情况是一些恶意的网站利用cookies可以跟踪了用户的隐私信息,但是普通用户却不知道怎么禁止它。

EditThisCookie这款Chrome插件是一款可以管理Chrome浏览器cookies的插件,用户可以利用它添加、删除、编辑、搜索、锁定和屏蔽Chrome cookies。EditThisCookie插件是一款为谷歌浏览器定制的非常强大的一款cookies管理插件。

EditThisCookie可以实现编辑谷歌浏览器中已经存在的cookies,还可以在cookies创建的时候阻止它。也可以在Chrome浏览器中创建一个新的cookies,从其他地方导入导出cookies,或者是给当前的某个cookies加上一个时间期限来让它在一定时间后过期。

在谷歌浏览器中安装了EditThisCookie插件以后,可以在打开任何网站的时候通过浏览器右上角的EditThisCookie插件按钮来启动它,在启动以后可以看到当前网站的cookies列表,在任何一项cookies选中以后都可以任意地编辑和删除它的信息,也可以选择在该网站添加一个新的cookies来保存用户的操作。

用户也可以在网站的cookies列表中直接删除相应的cookies,或者是彻底屏蔽该网站的cookies信息来防止一些恶意的网站抓取用户的信息。

数据采集工具

2016年1月18日

scrapy

官网:http://scrapy.org/
源码:https://github.com/scrapy/scrapy.org

集搜客GooSeeker网页抓取套件

官网:http://www.gooseeker.com/

下载:http://www.gooseeker.com/pro/download?filename=gooseeker_Win_FF38.x_5.6.0_zh.xpi.zip&filetype=xpi

结构:
MS谋数(台)—— MetaStudio:抓取规则定义软件
DS打数(机)—— DataScraper:执行网页抓取的网络爬虫
MC数满仓—— MetaCorpora:抓取结果入库清洗软件

工具阶段——网页数据的结构化转化工具:集搜客网络爬虫

集搜客GooSeeker大数据软件开发始于2007年,2007年正是语义网络走向商用的时期,集搜客致力于提供一套便捷易用的软件,将网页内容进行语义标注和结构化转换。一旦有了语义结构,整个Web就变成了一个大数据库;一旦内容被赋予了意义(语义),就能从中挖掘出有价值的知识,集搜客创造了以下商业应用场景:

1. 集搜客网络爬虫不是一个简单的网页抓取器,她能够集众人之力把语义标签摘取下来
2. 每个语义标签代表大数据知识对象的一个维度,多维度整合,剖析此知识对象
3. 知识对象可以是多个层面的,比如:市场竞争、消费者洞察、品牌地图、企业画像

方案阶段——围绕核心工具开发一系列大数据处理软件:竞争情报、电商分析、消费者洞察

历经8年辛勤耕耘,GooSeeker已把互联网内容结构化和语义化技术成功推广到金融、保险、电信运营、电信设备制造、电子制造、零售、电商、旅游、教育等行业。围绕核心产品,由一系列软件组件给各行业提供大数据解决方案,主要解决如下核心问题:

1. 内容聚合层面:例如,将金融和财经类信息汇聚,自动分类并用CMS系统进行管理,形成行业垂直信息聚合平台
2. 市场情报与竞争分析层面:例如,零售营销竞争要素分析,包括定价、货架和品类、促销、库存、品牌等要素在电商网站上的展现和蕴含的竞争情报
3. 消费者洞察和品牌分析层面:例如,将所有消费者互动信息进行聚合和挖掘,研究用户对产品的期望、产品与市场的契合度、品牌态度、品牌感知、品牌鸿沟、品牌传播等。
4. 商机发掘层面:例如,商圈分析——在哪里开店?企业画像——如何挖掘B2B销售机会?需求分析——哪些人群最可能需要光纤服务?

社区化阶段——将核心工具开放,搭建大数据能力交流平台

GooSeeker看到太多空谈“啤酒与尿布”,看到更多大数据“高大上”得遥不可及。基于8年服务大数据行业的经验,GooSeeker正在将大数据具象化和亲民化——凝炼成多层面的大数据资源,让最广泛的人可以利用大数据。集搜客是“搜客”的家园,让我们一起玩转大数据,发现数据之美:

1. 集方法——大数据应用场景、分析模型、研究报告,以及Web数据挖掘攻略
2. 集数据——集搜客网络爬虫软件
3. 集工具——天据棱镜系列软件(中文信息处理和商业情报挖掘)、天据天眼系列软件(电商营销和经营分析)
4. 集朋友——大数据挖掘互助平台

关于深圳市天据电子商务有限公司

深圳市天据电子商务有限公司以GooSeeker研发中心的技术后盾,整合多方资源,获得多笔资金注入,研发、市场营销、咨询师骨干组建的团队富有执行力,为商业客户提供全面周到的商业竞争情报分析服务,为商业客户的经营决策活动提供数据和数据分析支持。

深圳市天据电子商务有限公司及GooSeeker研发中心与国内多所著名高校和研究机构紧密合作,致力于语义网络和互联网信息处理的研究工作,公司的产品和解决方案已被众多世界500强企业所采用。

已有近百家大型企事业单位的IT系统集成了集搜客网络爬虫,以及配套的数据清洗和数据集成软件模块,这得益于集搜客网络爬虫独特的开放的设计思想和软件架构,更详细信息参看集搜客网络爬虫功能列表。将这些能力打包成开放的软件模块,集成到各类IT软件系统中,IT系统根据自己的业务目标,可以自动调度和管理网络爬虫,典型案例有:

1. 中国进出口银行项目:集搜客网络爬虫负责抓取中文财经、金融、证券和经济报告类网站内容,而爬行范围、时间安排和其它管理指令是由整个IT系统的其他软件模块发出。
2. 某电商竞争分析项目:集搜客网络爬虫负责从国内所有主流电商网站上获取商品、品牌、价格、库存、货架、品类、以及促销信息,爬虫调度、数据汇聚等操作指令的下发都由整个情报分析系统负责。
3. 某手机消费者洞察项目:集搜客网络爬虫从电商、论坛、社交媒体、微博、问答等等主流自媒体网站上抓取用户评论和各种互动产生的内容,经过数据清洗处理,交给数据挖掘系统进行分析
4. 某上市公司的母婴产品导购平台项目:集搜客网络爬虫实时监视天猫、淘宝、京东和各主流电商的商品、货架、店铺变化情况,及时通知导购平台,例如,某导购攻略提及的商品下架了或者价格变化了,要实时根据通知进行调整