데스크탑에서 모바일 웹을 테스트 하려면.. UserAgent 를 변경해줘야 하는데, 크롬에는 쉽게 사용할 수 있는 플러그인이 있다!!!!
User-Agent Switcher for Chrome
언어에서는 함수의 반환값을 통해 에러 유무를 판단하였다. 매번 반환값을 검사하는 작업은 상당히 번거롭고,
그 반환값의 의미 또한 프로그래머가 인지하기 어려운 형태여서 에러처리가 불편하였다. 반면 예외처리 방식은
예외가 발생하면 그에 대한 정보를 얻을 수 있고, 제어 흐름 또한 쉽게 이동시킬 수 있는 방식이다.
하지만 아무리 언어차원에서 좋은 메커니즘을 제공하더라도 언제, 어떻게 사용해야하는지 모른다면 무용지물이다.
C++와 Java 언어를 처음 접했을 때에도 언제, 어디서 예외를 던지고 잡아야 하는지가 난제였다. 예외처리에 대해서
좀더 자세히 알아보자.
출처 : http://www.nextree.co.kr/p3239/
일상생활에서도 기본적인 것은 고민하지 않고 습관처럼 사용하는 경우가 있다. 초급 개발자인 나에게 ‘예외(Exception)’이 바로 그런 것이었다.
처음 JAVA수업 때 강사님께 “왜 로직을 try문으로 감싸고, 또 catch(e)는 무엇인가요?”라는 질문을 한 적이 있다. 돌아온 대답은 “이렇게 안하면 에러가 나니까.”였다. 나는 이것을 안 하면 어떤 일이 벌어지는지 언제 어떻게 사용해야 하는지도 모른 채 강사님의 코드를 따라 치기 바빴다. 입사 후 공부를 하면서도 Runtime Exception과 Checked Exception은 이론 그 이상으로 활용하지 못했었다.
하지만 최근 약 4개월 반 동안 진행했던 한 프로젝트에서 수석님들께 배우며 예외(Exception)에 대해 큰 깨달음을 얻었고, 꼭 이 깨달음을 글로 남기고 싶었다. 이 글을 통해 초급 개발자들이 예외처리를 할
Annotation을 실제로 사용하는 예제를 알아보자.
멤버로 갖으며 각각 기능번호와 기능에 대한설명을 나타낸다. Password 검사와 관련된 클래스에스는 각 메소드에
UseCase 어노테이션을 사용하여 메서드들이 어떤 유스케이스를 구현하고 있는지를 표시한다.
나중에 모든 유스케이스를 구현하는 모든 메소드들이 잘 구현되었는지 확인하기 위해 UseCaseTracker 를 사용하여
어노테이션 정보를 출력한다. (코드는 Thinking in Java 4E 에 있는 예제코드를 사용하였다. )
1. UseCase 어노테이션 정의
메서드에 사용할 어노테이션이므로 @Target을 ElementType.METHOD를 설정하였고,
런타임 시에 사용되기 때문에 @Rention을 RetentionPolicy.RUNTIME 로 설정하여 class 파일에 어노테이션 정보가 남도록
지정하였다.
package net.atgame.annotation.usecase; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;
출처 : http://hiddenviewer.tistory.com/88
깊이 있게 생각해보지는 못했었다. 단순히 컴파일러에게 알려주기 위한 표식정도로 생각했었다. 그런데 Spring Roo 와
Spring3.0 과 같은 최신 프레임웍들의 변화 경향을 보면, 어노테이션을 적극활용하는 쪽으로 변화되고 있다. 어노테이션을
사용하여 코드의 작성량도 한결 줄어들었다고 한다. 어노테이션들의 어떤 특성을 활용한 것일까? 어노테이션이란 뭘까?
최신 프레임웍들에 변화경향을 보기에 앞서, 어노테이션에 대해서 먼저 알아보았다.
android.R.drawable.ic_menu_save
Drawable Resources by type:
Buttons Dialog Emoticons Menu Other Status WidgetsKeyboard Presence Sym Rate Star Jog Dial Code Lock
일반적으로 Windows 에서의 Java Application은 Command Console을 사용하여 구동된다.
이 방식은 아래와 같은 단점을 가지고 있다.
1. 사용자 실수로 인해 Command Console에 Mouse Click이 발생하면 Application이 Hold됨.
2. 사용자가 Logout하면 해당 Application이 종료됨.
3. 특별히 제약이 없는 경우 터미널 서버나 원격 데스크탑 Application을 사용하여 같은 Application을 각 User별로 계속 구동할 수 있음.
이런 단점을 극복하기 위해 Unix에서는 Background Process로 구동시키면 되지만, Windows는 그 태생이 End User를 위한 DeskTop이기에 그 개념이 없다.
그와 유사한 개념이 Windows Service이다.
그러나 애석하게도 현재 JDK는 Windows Service를 사용하는 API를 제공하고 있지는 않다.
그로 인해 Apache나
/* 접근성 개선 전 코드 */ 샘플 /* 접근성 개선 코드 */ 샘플 // jQuery를 이용하여 이벤트 캐치 $(function() { $(".popup").click(function(event) { event.preventDefault(); var href = $(this).attr("href"), width = $(this).attr("data-width"), height = $(this).attr("data-height"), popup = window.open(href, "popup", "height=" + height + ",width=" + width + ""); }); });
visualgc는 sun에서 제공하는 jvm 모니터링 툴이다.
다운로드 : http://java.sun.com/performance/jvmstat/
사용방법은 간단하다.
1. JVMSTAT_HOME,JVMSTAT_JAVA_HOME 환경변수를 추가
bat/visualgb.bat 파일에 추가해줘도 되고 시스템 환경변수에 추가해줘도 된다.
2. %JAVA_HOME%/bin 디렉토리에 jps 명령으로 프로그램 ID를 확인
3. visualgc.cmd 프로그램ID
– jstat와 visualgc는 리소스 부화가 발생하므로 실 운영서버에 사용하기에는 적합하지 않다고 한다.
운영 전 테스트단계에 사용하는게 좋을것으로 판단.…