|
|
from tools
2010/08/19 17:10
Trackback Address >> http://www.sjava.net/trackback/226
from tools
2010/07/22 17:59
Trackback Address >> http://www.sjava.net/trackback/221
from tools
2010/07/20 15:25
Trackback Address >> http://www.sjava.net/trackback/214
from tools
2010/07/15 17:21
오..
지금 회사에서 인턴을 통해서 개발하려고 했던 테스팅 프레임웍의 형태를 플러그인으로 구현을 해 놨네요..
HTTP4e Rest Client
아래는 HTTP4e 웹 사이트에 있는 내용입니다.
좋네요. ^^
About
Eclipse HTTP Client (HTTP4e) is an Eclipse plugin for making HTTP and
RESTful calls. Build with user experience in mind, it simplifies the
developer/QA job of testing Web Services, REST, JSON and HTTP. It is a useful
tool for your daily job of HTTP header tampering and hacking.
Features:
- Making/Replaying an HTTP call directly from Eclipse IDE
- Visual Editors for HTTP headers, parameters and body
- Tabbed browsing (allowing replaying different RESTful, HTTP calls on
separate tabs)
- History support (persisting your valuable REST calls)
- One-click HTTP code generation to Java, PHP, C#, Flex/ActionScript,
Cocoa/Objective-C, Ruby, Python and Visual Basic
- One-click JMeter script generation
- Import and export HTTP4e replay script
- Export HTTP sessions as HTML report
- Import raw HTTP packets and Firefox’s Live HTTP headers
- Aesthetic UI, Code assist, Headers auto-suggest, Syntax coloring
- “Raw”, “Pretty”, “Hex”, “Browser” and “JSON” views
- Proxy Configuration
- BASIC and DIGEST Authentication
- SSL/HTTPS support
- Unicode UTF8 support
- HTTP tampering
- Available on Windows, MacOS X, Linux, Solaris
Trackback Address >> http://www.sjava.net/trackback/210
from tools
2010/07/14 16:08
Trackback Address >> http://www.sjava.net/trackback/209
from tools
2010/07/14 15:46
위키에 언어별 web framework에 대한 내용에 대한 정리가 잘 되어 있습니다.
위 링크의 내용에서, 자바로 개발된 framework들에 대한 내용은 아래와 같습니다.
Apache 프로젝트의 프레임웍들이 많네요.. ^^
그리고, 10 Best Java Web Development Framework에 대한 내용도 좋네요.. ^^
Trackback Address >> http://www.sjava.net/trackback/208
from tools
2010/07/12 11:13
코드를 개발하고 테스트를 하기 위해서 보통 xUnit 시리즈의 프레임웍을 많이 이용하고 있습니다..
추가로 테스트를 완료하고, 테스트한 범위가 개발한 코드의 몇 %를 했는지에 대한 척도도 매우 중요하겠지요..
Test Coverage 혹은 Code Coverage 라고 일컫는데요..
자바에서 Code를 테스트한 후에, 테스트한 범위(Coverage)에 대한 리포팅을 해주는 툴이 바로 Coverage Tool 인데요..
아래는 2개의 Coverage Tool에 대한 소개입니다.
1. EclEmma(http://eclemma.org/)
EclEmma is a free Java code coverage tool for Eclipse, available under the Eclipse Public License.
EclEmma는 eclipse에서 plug-in 해서 버튼 실행으로도 쉽게 사용할 수 있고, JaCoCo Library를 다운로드 받아서 Ant로 리포팅( http://www.eclemma.org/jacoco/trunk/doc/ant.html)을 받을 수 있네요.. 라이브러리 보다는 어플리케이션에서 쉽게 사용하고 바이너리를 내보낼때 좋을듯 하네요..
2. Cobertura(http://cobertura.sourceforge.net/)
Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.
Ant로 테스트를 해서 javadoc과 같은 report를 해주네요..
라이브러리는 Cobertura가 더 보기 좋게 리포팅을 하는 듯 합니다. 예제 : http://cobertura.sourceforge.net/sample/
Trackback Address >> http://www.sjava.net/trackback/205
from tools
2010/07/06 20:47
서버/인프라를 지탱하는 기술이라는 책을 읽다 보니, 374 페이지에 memcached를 복제해서 다중화를 지원하는 repcached에 대한 내용이 나오네요..
흠.. memcached는 다중화 이슈로 고민이 많이 되는 캐시서버였는데, 고민을 한방에 훅 날려주네요..
* http://repcached.lab.klab.org/
* http://tinywolf.tistory.com/88/
* http://kerberosj.tistory.com/48/
* http://mix1009.net/entry/repcached-memcached-replication/
Trackback Address >> http://www.sjava.net/trackback/204
from tools
2010/07/05 13:35
CI를 지원하는 툴에 대해서 살펴보니, 오픈소스 그리고 상용으로 팔고 있는 툴이 상당히 많이 존재하더군요...
대표적으로 ThoughtWorks의 CruiseControl과 Hudson은 익히 많이 알려져 있는듯 하지만, 다른 툴들은 자세한 정보가 없어서 다른 툴도 고민을 해 봐야 하나 하고 있던차에..
ThoughtWorks의 위키에서 CI Feature Matrix 페이지를 봤습니다.. 오~~ 최고... ^^
아래는 CI툴에 대한 정리된 비교 분석 내용입니다.
* ThoughtWorks의 CI Feature Matrix
* Comparing TWO continuous build tools: Cruise Control and Hudson
* Choosing continuous integration (CI) tool. Comparison : CruiseControl, Hudson, Continuum vs. TeamCity
혹시 몰라서 CI Feature Matrix를 mht 포맷으로 저장해서 첨부하였습니다.
Trackback Address >> http://www.sjava.net/trackback/200
from tools
2010/06/28 13:02
Trackback Address >> http://www.sjava.net/trackback/197
from tools
2010/06/25 17:18
Trackback Address >> http://www.sjava.net/trackback/196
from tools
2010/06/22 17:43
Apache Ant 프로젝트의 서브 프로젝트로 Ivy 프로젝트( http://ant.apache.org/ivy/)가 있습니다.
Ivy is a tool for managing (recording, tracking, resolving and
reporting) project dependencies.
아래의 IvyTest 클래스, ivy.xml을 만들고 build.xml파일에서 resolve target을 실행하게 아래와 같은 결과를 얻을 수 있습니다.
IvyTest.java
package dev;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.lang.WordUtils;
import static java.lang.System.out;
public class IvyTest {
/**
* @param args
*/
public static void main(String[] args) {
try {
Option msg = OptionBuilder.withArgName("msg").hasArg().withDescription("the message to capitalize").create("message");
Options options = new Options();
options.addOption(msg);
CommandLineParser parser = new GnuParser();
CommandLine line = parser.parse(options, args);
String message = line.getOptionValue("message", "default message");
out.println("standard message : " + message);
out.println("capitalized by " + WordUtils.class.getName() + " : " + WordUtils.capitalizeFully(message));
} catch(Exception e) {
e.printStackTrace();
}
}
}
build.xml
<?xml version="1.0"?>
<project name="ivy-test" default="resolve" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="project.name" value="ivy-test" />
<property name="project.version" value="1.0.0" />
<property name="project.owner" value="mcsong@gmail.com" />
<!-- src -->
<property name="src.dir" value="src" />
<property name="src.main.dir" value="src/main" />
<property name="src.test.dir" value="src/test" />
<!-- build -->
<property name="build.dir" value="build" />
<property name="build.main.classes" value="${build.dir}/classes/main" />
<property name="build.test.classes" value="${build.dir}/classes/test" />
<!-- lib -->
<property name="lib.dir" value="lib" />
<property name="lib.ext.dir" value="lib-ext" />
<!-- dist -->
<property name="dist.dir" value="dist" />
<!-- doc -->
<property name="doc.dir" value="doc" />
<!-- ivy -->
<property name="ivy.install.version" value="2.1.0" />
<property name="ivy.dir" value="ivy" />
<property name="ivy.jar.file" value="${lib.dir}/ivy-2.1.0.jar" />
<!-- test -->
<property name="test.dir" value="test" />
<tstamp>
<format property="time" pattern="yyyyMMdd" />
</tstamp>
<!-- setting class path -->
<path id="class.path">
<pathelement location="${build.main.classes}"/>
<pathelement location="${build.test.classes}"/>
<pathelement location="${dist.dir}"/>
<pathelement location="${lib.dir}"/>
<pathelement location="${lib.dir}/junit.jar"/>
<pathelement location="${lib.dir}/commons-cli-1.2.jar"/>
<pathelement location="${lib.dir}/commons-lang-2.5.jar"/>
<pathelement location="${lib.dir}/ivy-2.1.0.jar"/>
<pathelement location="${ant.home}/lib"/>
</path>
<!-- initialize -->
<target name="init" description="--> create directories">
<echo>init target started</echo>
<mkdir dir="${doc.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.main.classes}"/>
<mkdir dir="${build.test.classes}"/>
<mkdir dir="${test.dir}"/>
<!--mkdir dir="${test.result.dir}"/>
<mkdir dir="${test.report.dir}"/-->
<mkdir dir="${dist.dir}"/>
<echo>init target completed</echo>
</target>
<!-- clean -->
<target name="clean" description="--> clean created directories">
<echo>clean target started</echo>
<delete dir="${doc.dir}" />
<delete dir="${build.dir}"/>
<delete dir="${build.main.classes}"/>
<delete dir="${build.test.classes}"/>
<delete dir="${test.dir}"/>
<!--delete dir="${test.result.dir}"/>
<delete dir="${test.report.dir}"/-->
<delete dir="${dist.dir}"/>
<echo>clean target completed</echo>
</target>
<macrodef name="compile_">
<attribute name="srcdir" />
<attribute name="destdir" />
<sequential>
<javac srcdir="@{srcdir}" destdir="@{destdir}">
<classpath refid="class.path" />
</javac>
</sequential>
</macrodef>
<!-- compile source -->
<target name="compile" depends="clean, init" description="compile this project">
<echo>compile target started</echo>
<compile_ srcdir="${src.main.dir}" destdir="${build.main.classes}" />
<compile_ srcdir="${src.test.dir}" destdir="${build.test.classes}" />
<echo>compile target completed</echo>
</target>
<!-- run -->
<target name="run" depends="compile" description="run the project">
<echo>run target started</echo>
<property name="arg.01" value="ivy testing !"/>
<java classpathref="class.path" classname="dev.IvyTest">
<arg value="-message"/>
<arg value="${arg.01}"/>
</java>
<echo>run target completed</echo>
</target>
<target name="resolve" depends="init" description="retreive dependencies with ivy">
<ivy:retrieve />
</target>
<target name="report" depends="resolve" description="generates a report of dependencies">
<ivy:report todir="${build.dir}"/>
</target>
<target name="clean-cache" description="clean the ivy cache">
<ivy:cleancache />
</target>
</project>
ivy.xml
<ivy-module version="2.0">
<info organisation="org.apache" module="hello-ivy"/>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="2.5"/>
<dependency org="commons-cli" name="commons-cli" rev="1.2"/>
</dependencies>
</ivy-module>
결과
Buildfile: C:\dev\works\ivy_test\build.xml
init:
[echo] init target started
[echo] init target completed
resolve:
[ivy:retrieve] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/C:/Program%20Files/eclipse/plugins/org.apache.ant_1.7.1.v20090120-1145/lib/ivy-2.1.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: org.apache#hello-ivy;working@LENOVO-FAD74E43
[ivy:retrieve] confs: [default]
[ivy:retrieve] found commons-lang#commons-lang;2.5 in public
[ivy:retrieve] found commons-cli#commons-cli;1.2 in public
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5-javadoc.jar ...
[ivy:retrieve] ......
[ivy:retrieve] .......
[ivy:retrieve] .....
[ivy:retrieve] ........
[ivy:retrieve] ........
[ivy:retrieve] ..........
[ivy:retrieve] .........
[ivy:retrieve] ....
[ivy:retrieve] ...
[ivy:retrieve] ....
[ivy:retrieve] ......
[ivy:retrieve] .... (1557kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar(javadoc) (24578ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar ...
[ivy:retrieve] ......
[ivy:retrieve] ...... (357kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar(source) (4109ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-lang/commons-lang/2.5/commons-lang-2.5.jar ...
[ivy:retrieve] ........
[ivy:retrieve] ..... (272kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] commons-lang#commons-lang;2.5!commons-lang.jar (5313ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar ...
[ivy:retrieve] ... (47kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar(source) (2203ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2.jar ...
[ivy:retrieve] ... (40kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar (1610ms)
[ivy:retrieve] downloading http://repo1.maven.org/maven2/commons-cli/commons-cli/1.2/commons-cli-1.2-javadoc.jar ...
[ivy:retrieve] .....
[ivy:retrieve] .. (209kB)
[ivy:retrieve] .. (0kB)
[ivy:retrieve] [SUCCESSFUL ] commons-cli#commons-cli;1.2!commons-cli.jar(javadoc) (3734ms)
[ivy:retrieve] :: resolution report :: resolve 12688ms :: artifacts dl 41562ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 2 | 2 | 2 | 0 || 6 | 6 |
---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: org.apache#hello-ivy
[ivy:retrieve] confs: [default]
[ivy:retrieve] 4 artifacts copied, 2 already retrieved (2171kB/47ms)
BUILD SUCCESSFUL
위의 내용을 통해서, 프로젝트의 의존성 있는 바이너리들을 쉽게 관리(?) 할 수 있을듯 합니다.
개발팀에서 적용하기에는 좀 귀찮은 작업일듯 하나, 개발팀의 모임인 개발실 급의 규모에서는 적용할 만한 기술인거 같네요..
참고로, Ivy 프로젝트의 설치는 아래와 같습니다.
1. 다운로드
2. ivy-2.1.0.jar를 ${ant.home}/lib에 카피를 합니다.
3. eclipse에서 window --> preference --> ant --> runtime --> classpath의 ant home entries에서 add external jars 버튼을 통해서 ivy-2.1.0.jar를 잡아주면 됩니다.
위 데이타에 대한 리포팅 결과는 아래의 첨부파일을 참고하세요..
* 참고자료
- 사람을 위한 자동화: Ivy로 의존성 관리하기
Trackback Address >> http://www.sjava.net/trackback/193
from tools
2010/06/16 18:29
무료로 CAPTCHA 서비스를 이용할 수 있는 reCAPTCHA 라는 서비스가 있네요.. ^^
아래 그림과 같은 형태로, 웹에서 회원가입이나 스팸성 기능을 제한하기 위해서 사용하면 될거 같습니다.
http://www.recaptcha.net/resources.html에서 쉽게 사용할 수 있도록 대부분의 환경을 지원하고 있습니다. ^^
Trackback Address >> http://www.sjava.net/trackback/190
from tools
2010/05/18 17:13
헐 좋네용.. ^^
C#은 3.5버전부터 API 수준에서 json 포맷을 지원하니..
자바도 7부터는 지원을 했으면 좋겠네요.. ^^
http://code.google.com/p/json-simple/
Trackback Address >> http://www.sjava.net/trackback/180
from tools
2010/04/29 13:36
c/c++ 호출
기본적으로 JNI를 이용해서 호출합니다 .
JNI를 쉽게 사용하기 위한 Wrapper들이 여러 개 존재하고 있습니다 .
- HawtJNI(http://hawtjni.fusesource.org/documentation/index.html
)
- JNIWrapper(http://www.teamdev.com/jniwrapper/)
- JNIEasy(http://www.innowhere.com/webapp/index.jsp#st=products.jnieasy
)
c# 호출
j-interop (Pure Java – Com Bridge) : http://j-interop.org/ , 라이센스 : LGPL 3.0[1]
java <-> c#
- Jni4net : http://jni4net.sourceforge.net/ , bridge between Java and .NET (interprocess, fast, object oriented, open-source), 라이선스: opensource, GPL tools and LGPL runtime
using net.sf.jni4net;
public class Program
{
private static void Main()
{
Bridge.CreateJVM(new BridgeSetup());
java.lang.System.@out.println("Greetings from C# to Java world!");
}
}
import net.sf.jni4net.Bridge;
import java.io.IOException;
import java.lang.String;
public class Program {
public static void main(String[] args) throws IOException {
Bridge.init();
system.Console.WriteLine("Greetings from Java to .NET world!");
}
}
- ikvm.net : http://www.ikvm.net/, jar -> .dll, .dll -> .jar
Trackback Address >> http://www.sjava.net/trackback/176
from tools
2010/03/16 16:01
eclipse에서 자바로 개발을 하다보면, 라이브러리나 API대상의 코드를 확인하기 위해서 f3키를 눌려서 확인을 합니다.
특히, java api source를 보기 위해서는 자바 소스를 간단하게 링크만 하면 됩니다.
아래의 이미지처럼, JRE System Library에서 rt.jar의 속성창에서 Java Source Attachment의 Location path에 src의 위치를 확인시켜 주면 소스가 잘 나오네요.. ^^
Trackback Address >> http://www.sjava.net/trackback/165
from tools
2010/03/15 13:11
The ThoughtWorks Anthology 라는 책의 11 챕터의 빌드 아케텍트인 줄리안 심슨님의 내용은, build.xml 즉, ant 파일이 refactoring에 대한 내용입니다. 그 중에서, <macrodef> 태그를 이용한 build.xml 파일의 리펙토링 예제가 나오는데, 유용할것 같아서 개인적으로 사용하고 있는 dist target에 대해서 리펙토링을 적용해 봤습니다.
기존
<!-- distribute compiled binary to dist folder -->
<target name="dist" depends="compile" description="distribute library">
<echo>dist target started</echo>
<jar destfile="${dist.dir}/${project.name}-${project.version}.jar">
<fileset dir="${build.main.classes}"></fileset>
<manifest id="MANIFEST.MF">
<attribute name="Built-By" value="${user.name}"/>
<!--attribute name="Class-Path" value="${class-path}" /-->
</manifest>
</jar>
<copy todir="${dist.dir}">
<fileset dir="${lib.dir}">
<exclude name="junit*.jar" />
</fileset>
</copy>
<!-- compress binary -->
<zip destfile="${dist.dir}/${project.name}-${project.version}.zip" >
<fileset dir="${dist.dir}" includes="**" />
</zip>
<echo>dist target completed</echo>
</target>
리펙토링된 후
<macrodef name="dist_jar">
<sequential>
<jar destfile="${dist.dir}/${project.name}-${project.version}.jar">
<fileset dir="${build.main.classes}"></fileset>
<manifest id="MANIFEST.MF">
<attribute name="Built-By" value="${user.name}"/>
<!--attribute name="Class-Path" value="${class-path}" /-->
</manifest>
</jar>
</sequential>
</macrodef>
<macrodef name="dist_copy">
<sequential>
<copy todir="${dist.dir}">
<fileset dir="${lib.dir}">
<exclude name="junit*.jar" />
</fileset>
</copy>
</sequential>
</macrodef>
<macrodef name="dist_zip">
<sequential>
<!-- compress binary -->
<zip destfile="${dist.dir}/${project.name}-${project.version}.zip" >
<fileset dir="${dist.dir}" includes="**" />
</zip>
</sequential>
</macrodef>
<!-- distribute compiled binary to dist folder -->
<target name="dist" depends="compile" description="distribute library">
<echo>dist target started</echo>
<dist_jar />
<dist_copy />
<dist_zip />
<echo>dist target completed</echo>
</target>
위 예제처럼, 리펙토링된 내용을 살펴보면, <macrodef>태그를 통해서 기능에 대한 내용을 작게 쪼개서 빼고(<macrodef>) , 사용하는 <target>에서는 필요한 각 기능을 호출하는 템플릿 메쏘드(?)처럼 기술하게 됩니다. 어디서 많이 본 느낌인데.. 위는 기능을 작게 나눠서 메쏘드로 뽑는 extract method 리렉토링 기법과 동일하네요.. 역시 대가들에게서 많은 내용을 배우게 되는것 같습니다. ^^
Trackback Address >> http://www.sjava.net/trackback/162
from tools
2010/02/08 13:43
STARUML, 예전에 plastic software 인가?? 로 기억을 하고 있는데.. 그넘이 오픈소스화 되면서 STARUML이라는 이름을 단 것으로 알고 있습니다. 개인적으로 UML을 스터디(2000년도 가량)할 시점에서는 rational rose와 맘먹는 기능과 UI로 매우 좋았었는데요.. 오픈소스화 된것은 좋지만, 계속적으로 발전을 하지 않는 모습(버전 업이 안되네요.. ^^;;)은 매우 안타깝네요.. 그래도 아직까지 감사하게 잘 쓰고 있습니다. ㄳㄳ
웹 사이트는 http://staruml.sourceforge.net/
메뉴얼은 http://staruml.sourceforge.net/docs/user-guide(ko)/toc.html
위 메뉴얼 처럼, 한글로 자세한 설명이 되어 있는 오픈소스는 거의 없다시피 하죵.. ^^
참 좋은 UML 툴인거 같습니다. ^^
Trackback Address >> http://www.sjava.net/trackback/155
from tools
2010/02/02 10:21
올.. 좋네요.. ^^
FindBugs라는 툴은 버그를 찾기 위해서 자바코드에 대한 정적 분석을 사용하고, 라이센스는 GNU 그리고 로고는 매릴랜드 대학이 상표권을 가지고 있다라고 하네요.. ^^
FindBugs, a program which uses static analysis to look for bugs in Java code.
It is free software, distributed under the terms of the Lesser GNU Public License. The name FindBugs™ and the FindBugs logo are trademarked by The University of Maryland.
이클립스에서 사용을 하기 위해서는 아래의 단계를 거치시면 됩니다.
* 설치
- http://findbugs.sourceforge.net/downloads.html 페이지에서 plug-in 사이트 주소를 통해서 설치를 하시면 됩니다.
* 사용
프로젝트 단위 또는 클래스 단위로 체크가 가능하네요.. ^^
- 프로젝트 속성 창에서 Find Bugs 메뉴를 찾아서 Find Bugs 기능을 실행
- 뷰창을 등록
- 찾은 버그 확인
위와 같은 과정을 통해서 코드의 안정성이 높아지고, 그러면 자연히 코드에 대한 품질도 높아질 것으로 생각이 드네요.. ^^
Trackback Address >> http://www.sjava.net/trackback/152
from tools
2010/01/13 14:56
Trackback Address >> http://www.sjava.net/trackback/145
from tools
2010/01/13 10:44
Trackback Address >> http://www.sjava.net/trackback/144
from tools
2009/06/11 17:01
Trackback Address >> http://www.sjava.net/trackback/113
from tools
2008/09/04 19:08
무료로 쉽게 사용할 수 있는 플래시 차트 라이브러리 입니다. 이름은 오픈 플래시 차트이고, 주소는 http://teethgrinder.co.uk/open-flash-chart/index.php 입니다. 자바로 프로젝트를 진행하면서, JFreeChart나 Cewolf를사용했었는데, 플래시 차트가 더 손쉬을거 같습니다.
Trackback Address >> http://www.sjava.net/trackback/99
from tools
2008/08/27 18:37
Disconnecting a project from CVSDisconnect a project from CVS to disable the CVS operations that can be performed on the project and it resources and optionally to remove the CVS information (stored in the CVS folders) associated with the project. To disconnect a project from CVS: 1. In one of the navigation views, select the project to be disconnected. 2. Select Team > Disconnect from the project's pop-up menu. The Confirm Disconnect from CVS dialog opens. 3. In the dialog, choose one of: 1. Delete the CVS meta information - disables the CVS team menu operations and removes the CVS folders and their contents from the file system. 2. Do not delete the CVS meta information - disables the CVS team menu operations but leaves the CVS meta information. 4. Click Yes to disconnect the project.
Trackback Address >> http://www.sjava.net/trackback/94
from tools
2008/08/13 15:47
FF에서 웹 개발시에 편리한 디버깅을 위해서 플러그인 형태의 툴인 Web Develop가 있습니다.호야넷 블로그를 통해서 IE도 웹 디버깅 툴을 제공한다는 사실을 알았습니다.. 그래서, IE 디버깅 툴을 깔아서 사용해 봤습니다.. 우선, 깔린 상태에서 디버깅 툴을 띄어보면,아래는 FF아래는 IE위의 이미지에서 기능에 대한 구성을 보면, 아직은 FF가 더 많은 기능을 보유하고 있는거 같습니다. 아래는 FF와 IE에서 설치된 화면입니다.. UI적으로도 FF가 깔끔한거 같습니다.. ^^ 사족으로, FF를 선호합니다. ㅋㅋ
Trackback Address >> http://www.sjava.net/trackback/90
|
|
|