随笔分类 - [15]Dev Tools
-
《持续集成》读书总结
摘要:《持续集成》读书总结持续集成已经被公认为极具价值的一项工程实践。在初始化一个项目时一个重要的任务就是搭建持续集成服务器,编写构建脚本。在我工作的所有项目中都引入了持续集成机制。它已经像氧气一样成为软件开发过程中的一项工程活动。《持续集成》站在理论的角度阐述了持续集成能够解决什么样的问题,如何解决,需要遵循那些原则等。这本书的副标题是-软件质量改进和风险降低之道(Improving Software Quality and Reducing Risk)。副标题直指持续集成的两个好处:提高软件质量及降低项目风险。当前面临的问题当前软件开发一直存在两大难题:一是确定软件的需求,即确定目标。究竟软件要 阅读全文
-
WinDBG中加载SOS和CLR
摘要:WinDBG中加载SOS和CLR最近产品环境出现了部分服务器当机情况,虽然重启之后问题就不出现了。但本着彻底解决问题的态度,想要找到root cause。多次尝试Visual Studio失败(可能是代码惊醒了优化和签名)之后,决定使用WinDBG来调试。于是。。。灾难发生了。 想要一次性成功搭建测试环境,那得靠人品。看来我近来人品积累的不够,不断的有小问题出现。比如加载SOS和CLR,就让我不胜其烦。必须得记下来,分享出来,以节省大家的时间。 问题一:WinDBG分X86和X64两个版本 如果你用的是32位的WinDBG,那直接打开就行;你如果用的是64位的版本,那么如果调试64位代码... 阅读全文
-
避免每次输入bundler Exec命令
摘要:避免每次输入bundler Exec命令bundle在ruby的世界里是个好东西,它可以用来管理应用程序的依赖库。它能自动的下载和安装指定的gem,也可以随时更新指定的gem。rvm则是一个命令行工具,能帮助你轻松的安装,管理多个ruby环境。每个环境可以指定一系列的gem。它允许你为每一个项目指定其ruby的版本,需要的gem的版本。这能最大限度的避免由于ruby环境的差异,或者不同版本的gem造成的各种问题。当我在项目中引入了rvm后,使用rake命令时,每次都会出现这样的异常。12345678rake aborted!You have already activated rake 10. 阅读全文
-
NotePad++安装和配置C/C++开发插件
摘要:NotePad++ - 安装和配置C/C++开发插件 | NotePad++ - Install and Configure plugins for develop C/C++http://aofengblog.blog.163.com/blog/static/63170212010111164752194/ 文章声明作者:傲风(aofengblog@163.com)编写时间:2010年12月11日网址:http://aofengblog.blog.163.com作者保留所有权利,转载请保留文章全部内容!一、NotePad++插件 / NotePad++ Plugins1、Function L 阅读全文
-
NuGet的本地服务器安装与Package的发布
摘要:NuGet的本地服务器安装与Package的发布主要的步骤是按照下面的例子来做的:NuGet学习笔记(1)——初识NuGet及快速安装使用NuGet学习笔记(2)——使用图形化界面打包自己的类库NuGet学习笔记(3)——搭建属于自己的NuGet服务器最搞的地方在:Win7 64bit下,总是报.net 4.0 无法写入temorary folder,最后把c:\windows\temp目录加上IIS_IUSR权限才搞定报web.config无法解析错误,用aspnet_regiis -ir搞定NuGet Package Explorer发布后,需要将server的缓存去掉,在vs中才能获取最 阅读全文
-
使用Jekyll在Github上搭建博客
摘要:转:http://hzmook.github.io/2012/07/01/use-jekyll-build-blog-on-github.htmlJekyll是一个使用Ruby编写的静态站点生成工具,使用Liquid模板渲染引擎,支持Markdown和Textile标记语言,并且可以为所有以 .html、.markdown、.textile扩展名结尾的文件使用YAML配置,内置语法高亮功能。而Github的Pages服务可以为每个Github主机上的仓库提供静态页面服务,并且Pages服务支持Jekyll。因为Github Pages有两种Pages,分别是用户页面和项目页面,所以我们可以使用 阅读全文
-
内核探测工具systemtap简介
摘要:内核探测工具systemtap简介systemtap是内核开发者必须要掌握的一个工具,本文我将简单介绍一下此工具,后续将会有系列文章介绍systemtap的用法。什么是systemtap假如现在有这么一个需求:需要获取正在运行的 Linux 系统的信息,如我想知道系统什么时候发生系统调用,发生的是什么系统调用等这些信息,有什么解决方案呢?最原始的方法是,找到内核系统调用的代码,加上我们需要获得信息的代码、重新编译内核、安装、选择我们新编译的内核重启。这种做法对于内核开发人员简直是梦魇,因为一遍做下来至少得需要1个多小时,不仅破坏了原有内核代码,而且如果换了一个需求又得重新做一遍上面的工作。所以 阅读全文
-
eclipse在Ubuntu 13.04下的安装过程
摘要:eclipse在Ubuntu 13.04下的安装过程及问题小记一、eclipse安装过程首先确保在安装eclipse之前已经安装好Java虚拟机1. eclipse官网下载压缩包下载地址:http://www.eclipse.org/downloads/?osType=linux&release=undefined2. 解压缩到 /opt/(/opt一般为大型商业软件或第三方软件包安装的地方,我习惯将第三方软件安装在此,当然你也可以安装在/usr/local下或其他地方)sudo tar xzvf eclipse-standard-kepler-R-linux-gtk.tar.gz - 阅读全文
-
云时代基础设置自动化管理利器: Chef
摘要:云时代基础设置自动化管理利器: Chef云时代的到来势不可挡。尤其作为程序员,我们每天或多或少的直接或间接的使用者各种云服务。云平台有很多种,如云软件(SaaS, Software as a service)、云平台(PaaS, Platform as a service)、云设备(IaaS, Infrastructure as a service)。云计算由于其价格低廉、按需提高、使用方便等特点,越来越受到人们的欢迎。Chef是什么?Chef的出现正是顺应了云潮流。如果你是一个公司的devops成员,每天配置服务器上的软件和服务,为了给服务器新加一个节点而通宵作业,为了解决服务器上的一个奇诡 阅读全文
-
selenium webdriver (python)2
摘要:selenium webdriver (python) 第二版前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们很难深入的接触和使用编程技术; 笔者认为自动化测试尽管有很多不足,更不能完全替代手工测试,但确实是测试人员发展的一个方向,越来越多的公司在实践自动化,越来多的项目在尝试自动化;所以对于功能测试人员来讲,掌握项目自动化测试技术自然能提高测试技术水平,能够保持不被淘汰,又能在激烈的竞争中处于优势地位。 为什么选p... 阅读全文
-
Windows下svn客户端和服务器的安装使用
摘要:Windows下svn客户端和服务器的安装使用svn,全称subversion, 是目前用的较多的开源的版本管理工具。相信有些经历的程序员应该都听说过它。 通常的svn服务器是搭建在Linux中,不过如果作为个人或者单个小组使用的话,就可以把svn服务器搭建在Windows下。下面总结了Windows下如何搭建一个简单的svn服务器和客户端。服务器篇 目前在Windows下比较简单的svn服务器方案是使用VisualSVN Server, 下载地址:http://www.visualsvn.com/server/download/。 安装非常简单。 安装过程中有个选择组件的步骤,选择Vis.. 阅读全文
-
用Jekyll在github上写博客
摘要:用Jekyll在github上写博客——《搭建一个免费的,无限流量的Blog》的注脚本来打算买域名,买空间,用wordpress写博客的。后来问了一个师兄,他说他是用github的空间,用Jekyll写博客,说很多人都这么做。于是我就研究了一下。比较有价值的文章有这么几篇:http://kyle.xlau.org/posts/blogging-like-a-hacker.html :这个是Jekyll原作者的文章的译文,必读http://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.html 这个就是标题中提到的文章,清晰易懂,可以按 阅读全文
-
Maven中有三大模块
摘要:Maven中有三大模块在Maven中有三大模块,分别是依赖、仓库、生命周期和插件,我们接下来下来介绍下依赖,为了方便起见我们还是以案例来说:1、首先建立一个maven项目,这里我建立一个user的项目2、接下来我们在这个项目中要使用到hibernate框架,此时就要在此项目中加入hibernate的支持,而之前我们讲到maven会自动的为我们加入jar包,但是前提是我们要找到怎么样编写hibernate的引用,如何编写呢?接下来我们就要牵涉到依赖的查询,在maven中所有的依赖都是通过坐标来保存的(GAV-->groupId,artifactId,version),在网上有一些仓库为我们 阅读全文
-
使用Fiddler伪造服务端返回数据,绕过软件试用期验证
摘要:使用Fiddler伪造服务端返回数据,绕过软件试用期验证用过一款和visual studio集成非常好的移动端模拟器,有7天的试用期,可惜不支持国内支付,试用到期了怎么办,不想重装系统。昨天看有人破解admin page,于是尝试自己动手试试,因为这款模拟器要求联网,所以首先想到使用Fiddler抓包分析:结果抓包发现,如上图,模拟器判断试用期限只是简单的从服务器返回的json来判断,而Fiddler是可以下断点修改服务器响应数据的,这里使用Fiddler的另一个功能AutoResponder,来创建自动响应,先准备响应内容:注意Content-Length,指的是选中的json字符串,这里是 阅读全文
-
Jenkins中关于一些插件的使用
摘要:Jenkins中关于一些插件的使用方法最近在为公司搭建CI平台过程中,以及在具体项目实施过程中使用过的一些插件的具体用法:1. ant插件 这个插件可能是我们最为经常使用的,若构建脚本是使用build.xml的,那构建引擎肯定会选择ant,在我们公司后台主要是C++和存储过程开发的,前台主要是C#。因此编译打包我都选择了ant进行。通过master-slaver这种模式,通常需要将构建脚本拷贝到slaver机器上,因此有时需要更改一下build.xml中的一些内容就比较麻烦,需要在slaver机器上面去更改。为了方便配置管理人员可以直接在jenkins job配置管理页面进行更改,因此将bu. 阅读全文
-
Gradle的属性设置大全
摘要:Gradle的属性设置大全Gradle作为一款项目构建工具,由于其强大、灵活、快速、完全兼容Ant等特性,越来越受到人们欢迎。Gradle的灵活有时候也会引起人们的困惑。比如在Gradle中设置变量和属性就有N种办法。由于Gradle的理念是Convention over configruation(约定优于配置),所以如果了解了这些约定,那么在使用Gradle的属性配置时一定会如鱼得水。在项目根目录下建立名为gradle.properties文件,在该文件中定义需要的属性。这些属性在Gradle构建Gradle领域对象(即project对象实例)时会被自动加到project对象实例中作为其属 阅读全文
-
Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
摘要:Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率。1 创建新的项目创建名为UnitTestingApp的Java项目。2 创建一个类进行测试创建一个新的类用于测试。添加方法sayHello返回Hello字符串。3 创建测试源根目录为了不将测试添加到源中,用户可以创建根目录。在这种情况下测试将从产品代码中分离出来。创建一个测试源根目录。4 创建一个测试类IntelliJ IDEA提供了一个快捷操作Cmd + Shift + T作为类和测试之 阅读全文
-
markdown实现
摘要:博客园文章markdown实现博客园也可以使用markdown写博客了~_~实现方法在博客园管理-设置-页首Html代码中加入:编辑博客时,使用html编辑方式,把markdown格式写在之间即可,如下图所示: 必须转码!!!特别感谢ghosert,编辑器源码来自Cmd - 在线 Markdown 编辑阅读器语法手册Markdown语法作者:Zjmainstay 出处:http://www.cnblogs.com/Zjmainstay/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。版权信... 阅读全文
-
TortoiseSVN 插件配置及使用方法
摘要:TortoiseSVN 插件配置及使用方法一、安装和配置TortoiseSVN的下载地址32bit:TortoiseSVN-1.8.2.24708-win32-svn-1.8.3.msi64bit:TortoiseSVN-1.8.2.24708-x64-svn-1.8.3.msiLanguage packs(Chinese simplified)32bit:LanguagePack_1.8.2.24708-win32-zh_CN.msi64bit:LanguagePack_1.8.2.24708-x64-zh_CN.msi对比工具:winmerge下载地址:WinMerge-2.14.0-Se 阅读全文
-
Grunt一辈子的好基友:yeoman
摘要:Grunt一辈子的好基友:yeomanyeoman是什么yeoman主要包含了三个工具:yo、grunt、bower。我们先看下这三个工具分别是做什么的:yo:脚手架工具,主要作用是创建项目骨架(跟grunt-init有点像)。grunt:构建工具,主要用来运行各种任务,比如文件压缩、合并、打包等。bower:主要用来做前端资源依赖管理,跟npm很像,区别在于:npm管理的是node模块的依赖,bower管理的是前端资源的依赖,如css、javascript文件等。yeoman是做什么的现在我们已经知道yeoman里面又什么东西了,那么它在我们的项目开发中扮演了一个什么样的角色呢?首先我们来看 阅读全文