在上一篇blog中,我们将sonar几个需要的环境都搭建好了,包括sonar的服务器,sonar runner,sonar的javascript插件.现在我们就来讲如何自定义JS扫描规则. 实际上有3种方法可以自定义代码的校验规则: 直接在sonar的web接口中增加XPath规则: 通过插件的功能来增加自定义规则,比如checkstyle,pmd等插件是允许自定义规则的: 通过新增一个代码分析器来实现自定义规则: sonar官方推荐的方式是使用最简单的XPath方式来增加自定义规则,如果语言太…
在上一篇blog中讲了在sonar中如何新增自定义的JS规则,这里面比较难的地方是XPath语句的编写,而要编写正确的XPath语句,首先要拿到语法的AST,下面我们就来介绍如何使用SSLR JavaScript Toolkit 工具来得到源代码的语法树. 首先通过在这里下载SSLR JavaScript Toolkit 工具,下载下来是一个jar包,在cmd窗口使用java -jar sslr-javascript-toolkit-1.3.jar打开这个工具,操作界面如下: 左上方的窗口是用来…
接触sonar已经有段时间了,最早是在一个项目组里面听到这个框架,后来在公司持续集成活动的推动下,也逐渐学习了sonar的具体功能.sonar集成了findbugs,pmd,checkstyle各种静态代码检查工具的功能,并且可以将各种扫描结果组合成一张张漂亮的报告,功能很是强大.下面介绍一下如何使用sonar来自定义javascrpit的扫描规则. 虽然使用过很多次sonar,但都是在别人搭好的环境上使用的,自己还没有真正搭建过,这里首先介绍一下sonar环境的搭建. sonar环境搭建 首先…
  上有3种方法可以自定义soanr的代码校验规则: 直接在sonar的web接口中增加XPath规则: 通过插件的功能来增加自定义规则,比如checkstyle,pmd等插件是允许自定义规则的: 通过新增一个代码分析器来实现自定义规则: sonar官方推荐的方式是使用最简单的XPath方式来增加自定义规则,如果语言太复杂或者XPath无法查询其结构的,再使用自定义插件的方式. sonar为大部分流行的语言(C, C#, C++, Cobol, Flex, JavaScript, PL/I, P…
SMB扫描 Server Message Block 协议.与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分哪些概念和功能应该属于Windows操作系统本身,哪些概念应该属于SMB 协议.因为该协议很复杂,所以是微软历史上出现安全问题最多的协议. 1.Nmap 最简单的方法:扫描其固定开放的端口139,445,但是无法准确判断其为windows系统 root@kali:~# <strong>nmap -…
上次是根据系统的属性自己封装的一个二维码扫描,这次给大家介绍一下基于ZBar集成的类似于QQ二维码扫描界面的二维码扫描的效果.                                                                最下方配有效果图哦! 首先,需要引入ZBar第三方库文件: ZBarSDK libqrencode 其次,利用ZBar集成二维码扫描需要引入的类库有: libiconv.tbd QuartzCore.framework CoreVideo.fra…
        二维码介绍: 二维码(QR(Quick Response)code),又称二维条码,最早起源于日本. 它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙. 二维码是一种比一维码更高级的条码格式.一维码只能在一个方向(一般是水平方向)上表达信息, 而二维码在水平和垂直方向都可以存储信息.一维码只能由数字和字母组成,而二维码能存储汉字.数字和图片等信息, 因此二维码的应用领域要广得多. 二维码需求: 开发一款二维码扫描插件,具有扫描大众二…
写在最前(这是对上一篇博文的问题做的更新[android利用zbar二维码扫描]) project下载   zbarLib编译project  project下载0积分 bug 在2.3的系统中Holder须要设置type,否则会黑屏(感谢网友[(α ⒎待sんа)294439435]) com.example.qu.MainActivity的第50行mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 今天发现 在com.exampl…
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点击即可播放.点击获取录音即可下载最后一次的音频: 播放下载都是围绕blob文件.播放就是让隐藏的audio标签的地址指向内存中的blob: this.play = function (audio,blob) { blob=blob||this.getBlob().blob; audio.src =…
转自:http://www.cnblogs.com/sickworm/p/4562081.html 最近在用ZXing这个开源库做二维码的扫描模块,开发过程的一些代码修改和裁剪的经验和大家分享一下. 建议: 如果需要集成到自己的app上,而不是做一个demo,不推荐用ZXing的Android外围开发模块,只用核心的core目录的代码就好了.android和android-core的代码设计的不好,扩展性太差了(我在后期开发新需求的时候改修改了很多CameraManager的逻辑).只使用cor…