Jul 27
alonesComputerScience/SE/SQA Automation Tool, Software Test Tool, Software Testing, Tool, 테스트 도구
testingfaqs.org는 정말 방대한 도구 목록을 잘 카테고리화 해서 제공하고 있다. 아래와 같이 단위 시험 (Unit Test) 도구부터 커버리지, 성능 테스트, 결함 추적 (Defect Tracking) 등 카테고리를 나누고 있고, 각 카테고리마다 정말 많은 도구들이 소개되어있다.
Test Tools List:
Testing Contractors and Consultants List
Testing Courses List
Testing Conferences List
Jul 20
alonesME/Originality English, fun, joke, password, 패스워드
짧고 유익하고 재미있는 이야기네요.
Ramya was about to
leave office after finishing her work. She got a call from her husband
Karthik ,
RAMYA:
“Hello, yes Karthi”.
KARTHIK: “Ramya, can you
open my gmail and get a print out of the mail from that US
consultant I forgot to take it in my office”
RAMYA: “Yes, I can, I need your
password”
KARTHIK:
“jeni22091980″
RAMYA: “Ok fine”
She takes the print out and logs out.
Some thought struck her mind now.
JENI happens to be his college mate.
Hmmm…
She decides not
to discuss this with Karthik . She simply opens
her mail box and changes the password from “mohan143″ to
“karthikramya” and leaves for
home!
Jul 16
alonesComputerScience free patent search, patent, patent online, 검색, 공짜 특허 검색, 무료 특허 검색, 특허 검색, 해외 특허, 해외 특허 검색
같이 일하는 인도 친구 녀석을 통해 알게 되었고 잘 사용하고 있는 무료 특허 (해외) 검색 사이트를 소개한다.
Free patents online는 무료로 특허를 검색할 수 있고, 그 내용을 볼 수 있는 사이트이다.
http://www.freepatentsonline.com/
무료로 특허를 검색할 수 있을 뿐만 아니라, 여러 다양한 도메인 별로 특허에 대한 RSS를 구독할 수 있고, 기발하고 재미있는 특허들을 따로 볼 수도 있다.
또한 다음과 같은 상세 검색도 제공한다.

Jul 13
alonesProgramming/OSGi&Eclipse&Java Concurrency Utility, Concurrent Programming, Java, Java White Paper, white paper, 자바
Sun의 Java White Papers에서 Java의 Concurrency Utilites에 대한 글이 있어서 포스팅한다.
Concurrent Programming을 C/C++ 등의 언어에서 생각하면, 일단, legacy code나 reference code 또는 자신이 정리해둔 코드가 없다면 귀차니즘이 발동함과 동시에 (설령 베이스 코드들이 있다고 하더라도) 온갖 에러들 (race condition 등)과 맞서 싸울 준비를 해야한다.
Java에서는 이런 것들이 한결 쉬울 것이다. 별 생각 없이 쉽게 쓴다는 이 점 보다는 좀 더 가치 있는 것을 생각할 시간을 제공해주는 이점이 있다.
아무튼, 여지 껏 Java 보다는 C/C++에 더 친숙해 있고, Java의 thread나 synchronized, timing 등을 별 생각 없이 사용했는데, Java Concurrency Utitlites White Paper를 보니 또 한 번 우물안 개구리를 느끼게 해준다.
Performance를 향상할 수 있고 여러 가지 측면에서 추천하는 방법들을 알 수 있어 유익한 것 같다.
위 문서 중에서 제공되는 Features들만 나열해보면 다음과 같다.
- Task Scheduling Framework – The
Executor framework is a framework for standardizing invocation, scheduling, execution, and control of asynchronous tasks according to a set of execution policies. Implementations are provided that allow tasks to be executed within the submitting thread, in a single background thread (as with events in Swing), in a newly created thread, or in a thread pool, and developers can create of Executor supporting arbitrary execution policies. The built-in implementations offer configurable policies such as queue length limits and saturation policy which can improve the stability of applications by preventing runaway resource consumption.
- Concurrent Collections – Several new Collections classes have been added, including the new
Queue and BlockingQueue interfaces, and high-performance, concurrent implementations of Map, List, and Queue.
- Atomic Variables – Classes for atomically manipulating single variables (primitive types or references), providing high-performance atomic arithmetic and compare-and-set methods. The atomic variable implementations in
java.util.concurrent.atomic offer higher performance than would be available by using synchronization (on most platforms), making them useful for implementing high-performance concurrent algorithms as well as conveniently implementing counters and sequence number generators.
- Synchronizers – General purpose synchronization classes, including semaphores, mutexes, barriers, latches, and exchangers, which facilitate coordination between threads.
- Locks – While locking is built into the Java language via the synchronized keyword, there are a number of inconvenient limitations to built-in monitor locks. The
java.util.concurrent.locks package provides a high-performance lock implementation with the same memory semantics as synchronization, but which also supports specifying a timeout when attempting to acquire a lock, multiple condition variables per lock, non-lexically scoped locks, and support for interrupting threads which are waiting to acquire a lock.
- Nanosecond-granularity timing – The
System.nanoTime method enables access to a nanosecond-granularity time source for making relative time measurements, and methods which accept timeouts (such as the BlockingQueue.offer, BlockingQueue.poll, Lock.tryLock, Condition.await, and Thread.sleep) can take timeout values in nanoseconds. The actual precision of System.nanoTime is platform-dependent.
Older Entries