15 Eylül 2011 Perşembe
bibsonomy
BibSonomy (http://www.bibsonomy.org/) is a successful bookmarking and publication sharing system.. In fact, i use the site to gather bibtex format reference entries..
13 Eylül 2011 Salı
logging the stacktrace
logging the stacktrace with log4j:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
// ......
static Logger logger =
Logger.getLogger(MyClass.class);
// ......
public static void debugException(Exception ex) {
//ex.printStackTrace();
logger.error("An error occurred in MyClass.", ex);
}
frames in Latex
in order to print text inside a frame:
a few tips here: http://www.personal.ceu.hu/tex/spacebox.htm
http://en.wikibooks.org/wiki/LaTeX/Advanced_Topics
http://chenfuture.wordpress.com/2007/06/22/frames/
\centering
\fbox{
\begin{minipage}{1.0\linewidth}
The text that will be printed in frame goes here..
\end{minipage}
}
a few tips here: http://www.personal.ceu.hu/tex/spacebox.htm
http://en.wikibooks.org/wiki/LaTeX/Advanced_Topics
http://chenfuture.wordpress.com/2007/06/22/frames/
proguard ant task
proguard (http://proguard.sourceforge.net/) promises for the following:
- Creating more compact code, for smaller code archives, faster transfer across networks, faster loading, and smaller memory footprints.
- Making programs and libraries harder to reverse-engineer.
- Listing dead code, so it can be removed from the source code.
- Retargeting and preverifying existing class files for Java 6, to take full advantage of Java 6's faster class loading.
about proguard ant task: http://proguard.sourceforge.net/index.html#/manual/ant.html
here is code sample:
<target name="proguard" depends="jar"> <taskdef resource="proguard/ant/task.properties" classpath="${lib}/proguard-4.4.jar" /> <proguard configuration="${config}/obfuscate.pro"> <injar file="${build.dir}/prod.jar" /> <outjar file="${build.dir}/prod_obf.jar" /> <libraryjar refid="externals" /> </proguard></target>checkstyle ant task
checkstyle (http://checkstyle.sourceforge.net/) is a tool that hels java code to adhere to coding standards.
for checkstyle ant task: http://checkstyle.sourceforge.net/anttask.html
about sun-checks.xml configuration file: http://checkstyle.sourceforge.net/config.html
here is a sample config file: http://code.google.com/p/checkstyle-idea/source/browse/trunk/src/main/resources/sun_checks.xml?r=120
for checkstyle ant task: http://checkstyle.sourceforge.net/anttask.html
<property name="build.checkstyle.config" value="${config}/sun_checks.xml" /><property name="build.checkstyle.output" value="${build.dir}/checkstyle_report.xml" />
<path id="checkstyle.classpath"> <pathelement location="${lib}/checkstyle-5.3.jar" /> <pathelement location="${lib}/google-collections-1.0.jar" /> <pathelement location="${lib}/commons-beanutils-core-1.8.3.jar" /> <pathelement location="${lib}/commons-logging-1.1.1.jar" /> <pathelement location="${lib}/antlr-2.7.7.jar" /></path>
<target name="checkstyle" depends="init"> <taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" /> <checkstyle failOnViolation="false" config="${build.checkstyle.config}"> <fileset dir="${src.dir}"> <include name="**/*.java" /> </fileset> <formatter type="xml" tofile="${build.checkstyle.output}" /> </checkstyle></target>about sun-checks.xml configuration file: http://checkstyle.sourceforge.net/config.html
here is a sample config file: http://code.google.com/p/checkstyle-idea/source/browse/trunk/src/main/resources/sun_checks.xml?r=120
cobertura ant task
cobertura (http://cobertura.sourceforge.net/) is a coverage analysis tool which reports what percentage of source code is covered by unit tests.
for cobertura ant task: http://cobertura.sourceforge.net/anttaskreference.html
and here is code sample:
<target name="test" depends="compile-test, instrument">
<junit ..;>
...
<sysproperty key="net.sourceforge.cobertura.datafile" file="${build.coverage.datafile}" />
..
</junit>
</target>
for cobertura ant task: http://cobertura.sourceforge.net/anttaskreference.html
and here is code sample:
<property name="build.coverage.datafile" value="${build.coverage}/cobertura.ser" />
<path id="instrument.classpath"> <pathelement location="${build.classes}" /></path>
<path id="cobertura.classpath"> <pathelement location="cobertura-1.9.4.1.jar" /> <pathelement location="log4j-1.2.4.jar" /> <pathelement location="oro-2.0.8.jar" /> <pathelement location="asm-3.0.jar" /> <pathelement location="asm-tree-3.0.jar" /></path>
<target name="instrument" depends="compile-test"> <taskdef classpathref="cobertura.classpath" resource="tasks.properties" /> <cobertura-instrument todir="${build.instrumented}" datafile="${build.coverage.datafile}"> <includeClasses regex=".*" /> <instrumentationClasspath> <path refid="instrument.classpath" /> </instrumentationClasspath> </cobertura-instrument></target>
<target name="test" depends="compile-test, instrument">
<junit ..;>
...
<sysproperty key="net.sourceforge.cobertura.datafile" file="${build.coverage.datafile}" />
..
</junit>
</target>
<target name="coverage" depends="test"> <taskdef classpathref="cobertura.classpath" resource="tasks.properties" /> <cobertura-report format="xml" destdir="${build.coverage}" srcdir="${src.dir}" datafile="${build.coverage.datafile}" /> <cobertura-check haltonfailure="false" datafile="${build.coverage.datafile}" /></target>
Etiketler:
ant,
cobertura,
code coverage analysis
12 Eylül 2011 Pazartesi
findbugs ant task
Findbugs is a static analysis tool that finds existing bugs in java code. Here is a link on how to use it from ant script: http://findbugs.sourceforge.net/manual/anttask.html
and code sample is as follows:
<property name="findbugs.home" value="/home/hilal.tarakci/Desktop/htarakci/environment/other/findbugs-1.3.9"/>
<target name="findbugs-define">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
<classpath path="${findbugs.home}/lib/findbugs.jar" />
</taskdef>
<!-- ensure that findbugs taskdef is only run once, otw ant will error -->
<property name="findbugs.initialized" value="true" />
</target>
<target name="findbugs" if="findbugs.present" depends="findbugs-define, jar" description="Run findbugs">
<findbugs output="xml:withMessages" home="${findbugs.home}" effort="max" outputFile="${build.dir}/findbugs.report.xml">
<auxClasspath>
<fileset dir="${ivy.lib}">
<include name="**/*.jar" />
<exclude name="**/ivy-*.jar" />
</fileset>
</auxClasspath>
<sourcePath path="${src.dir}" />
<class location="${build.dir}/${final.name}.jar" />
</findbugs>
<xslt style="${findbugs.home}/src/xsl/fancy-hist.xsl" in="${build.dir}/findbugs.report.xml" out="${build.dir}/findbugs.report.html" />
</target>
and code sample is as follows:
<property name="findbugs.home" value="/home/hilal.tarakci/Desktop/htarakci/environment/other/findbugs-1.3.9"/>
<target name="findbugs-define">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
<classpath path="${findbugs.home}/lib/findbugs.jar" />
</taskdef>
<!-- ensure that findbugs taskdef is only run once, otw ant will error -->
<property name="findbugs.initialized" value="true" />
</target>
<target name="findbugs" if="findbugs.present" depends="findbugs-define, jar" description="Run findbugs">
<findbugs output="xml:withMessages" home="${findbugs.home}" effort="max" outputFile="${build.dir}/findbugs.report.xml">
<auxClasspath>
<fileset dir="${ivy.lib}">
<include name="**/*.jar" />
<exclude name="**/ivy-*.jar" />
</fileset>
</auxClasspath>
<sourcePath path="${src.dir}" />
<class location="${build.dir}/${final.name}.jar" />
</findbugs>
<xslt style="${findbugs.home}/src/xsl/fancy-hist.xsl" in="${build.dir}/findbugs.report.xml" out="${build.dir}/findbugs.report.html" />
</target>
commenting multiple lines in Latex
In order to comment multiple lines in Latex:
to comment out just one single line:
\usepackage{verbatim}
\begin{comment}this line is commented out.this one too..\end{comment}to comment out just one single line:
% only this line is commented out.11 Eylül 2011 Pazar
printing special characters in Latex
In order to print the following special characters in Latex output, simply put a \ in front of the char..
more on http://www.tug.org/tutorials/latex2e/Special_Characters.html
# $ % & ~ _ ^ \ { }
more on http://www.tug.org/tutorials/latex2e/Special_Characters.html
9 Eylül 2011 Cuma
URL in Latex
I can be considered as a Latex newbie, so i try to write a post on every new piece of information about how to use Latex.
Here is sample code for using URLs in Latex:
.tex file
blogreferences.bib file
and the output is as follows:
Here is sample code for using URLs in Latex:
.tex file
\documentclass{article}\usepackage[pdftex]{graphicx}\usepackage{url}\usepackage{hyperref}
\begin{document}
\title{Some Notes}\author{Author's Name}
\maketitle
\begin{abstract}\end{abstract}
\section{Some Notes}
\subsection{Blog}\href{http://hilaltarakci.blogspot.com}{Hilal Tarakci Blog Page}
\cite{Tarakci2011}
\bibliographystyle{unsrt}\bibliography{blogreferences}\end{document} blogreferences.bib file
@misc{ Tarakci2011, author = "Hilal Tarakci", title = "Hilal Tarakci Technical Page", howpublished = "Website", year = {2011}, note = {\url{http://hilaltarakci.blogspot.com/}}}and the output is as follows:
7 Eylül 2011 Çarşamba
mockito
Mockito is a mocking framework that can be downloaded from http://code.google.com/p/mockito/
An article about mockito:
http://gojko.net/2009/10/23/mockito-in-six-easy-examples/
quote from that article
To create a stub (or a mock), use mock(class). Then use when(mock).thenReturn(value) to specify the stub value for a method. If you specify more than one value, they will be returned in sequence until the last one is used, after which point the last specified value gets returned. (So to have a method return the same value always, just specify it once).
Code samples on that blog are adequate, so i will not reinvent the wheel with more examples..
Kaydol:
Yorumlar (Atom)