반응형

jquery에서 라디오 버튼에 대한 속성 설정시

<input type="radio"  id="myRadioY" name="myRadio" value="Y" />

1. 버튼에 대한 체크 해제 하고 싶을때

$('input[name=myRadio]').removeAttr("checked"); 


728x90
반응형

'Development > Frontend skills' 카테고리의 다른 글

React 에서 props 사용  (0) 2017.01.09
React.. 끄적끄적.  (0) 2017.01.09
Mac 에서 Node.js 설치  (0) 2017.01.05
JavaScript 객체 변환 toJSON  (0) 2013.05.10
JavaScript var Scope  (0) 2013.03.15
반응형

...

객체를 상속받는 null 객체를 만들고

null일 경우 get method에 대한 처리 해줌

728x90
반응형

'Development > Java' 카테고리의 다른 글

Reflection 활용한 값 비교  (0) 2013.11.13
Integer.paserInt 를 사용한 진법 변환  (0) 2013.11.12
Singleton Pattern  (0) 2013.07.03
List 를 Array로 바꾸는 함수.  (0) 2013.07.02
Annotation : Retention  (0) 2013.07.01
반응형

Singleton Pattern : 해당 클래스의 객체가 하나만 만들어지고 어디서든지 그 객체에 접근할수 있도록 한다.


(출처 : http://www.phpbuilder.com/columns/Singleton-PHP5/Octavia_Anghel112310.php3)

구현 방법은 간단하다.

  1. public class Singleton {
  2.     private static Singleton singleton;
  3.     private Singleton(){};
  4.    
  5.     public static Singleton getInstance(){
  6.         if (singleton == null){
  7.             singleton = new Singleton();
  8.         }
  9.         return singleton;
  10.     }
  11. }

그런데 위와 같은 방법은 문제가 있다.

멀티 쓰레드 상에서 if문을 여러 client가 통과할 가능성이 있다는것이다.  그렇게 되면 유일한 객체가 아닌 singleton객체가 여러개 생성이 될수 도 있다.

그래서 찾은 방법이 synchronized를 사용하는것.

그런데 또 문제 발생... synchronized를 사용할 경우 멀티 쓰레드 상에서 성능 문제를 발생 시킬수 있다. singleton객체를 별로 안쓴다면 크게 문제가 없겠지만.

그래서 또 나온 방법이 DCL.  Double-Checked Locking

  1. public class Singleton {
  2.     private volatile static Singleton singleton;
  3.     private Singleton(){}
  4.     public static Singleton getInstance(){
  5.         if (singleton == null){
  6.             synchronized (Singleton.class) {
  7.                 if (singleton == null){
  8.                     singleton = new Singleton();
  9.                 }
  10.             }
  11.         }
  12.         return singleton;
  13.     }
  14. }

위에 코드처럼 singleton이 null 인 경우에만 synchronized를 적용한다면 속도에는 크게 지장이 없을것이다.

그리고 java1.4 이후에서 나온 volatile을 선언해 두면 해당 변수가 사용될때 한번 확인해서 동기화 시켜준다. 

728x90
반응형

'Development > Java' 카테고리의 다른 글

Integer.paserInt 를 사용한 진법 변환  (0) 2013.11.12
Null Object 사용  (0) 2013.07.05
List 를 Array로 바꾸는 함수.  (0) 2013.07.02
Annotation : Retention  (0) 2013.07.01
Meta Annotaion  (0) 2013.07.01
반응형

Strategy Pattern, 전략 패턴이라고 한다.

전략이라는 것은 여러 분야에서 쓰인다. 특히 스포츠에서 많이 들을 수 있는 단어이다. 그리고 언제나 전략은 한가지일 수는 없다. 딱히 한가지 방법만 있다고 한다면.. 전략이라고 하기에는 좀 부족하지 않을까. 그냥 공식? 이라고 하는 편이 나을지도 모르겠다. 

이렇게 전략은 항상 다양하게 존재한다. 상황에 따라서 전략을 바꿀수도 있다. 이러한 사상(?)을 담은 패턴이 Strategy 패턴이다.

클래스 다이어크램을 보면 Context 클래스가 존재하고 AStrategy 인터페이스가 존재한다. 그리고 AStrategy 인터페이스를 구현한 ConcreteStrategy 클래스들이 존재한다. 상황에 따라서 ConcreteStategy 클래스를 변경한다!라는 것이다. 

여기에서 주의깊게 봐야할 점은 Context 클래스에 존재하는 AStrategy : aStrategy 이다. Context클래스는 AStrategy를 가지고 있으나 직접 생성하지는 않는 관계이다. (색칠하지 않은 마름모 모양 : Aggregation). 하지만 저 멤버변수를 사용하기 위해 내부에 set메소드를 가지고 있음으로써 사용자가 직접 ConcreteStrategy를 set 할수 있게 만든다. 

따라서 사용자는 기존 코드를 변경하지 않고도 Stategy를 set만 함으로써 전략을 변경 할 수 있다. 



728x90
반응형

'Development > Design Pattern' 카테고리의 다른 글

[데코레이터 패턴]  (0) 2013.06.26
Factory Method Pattern  (0) 2011.08.30
Decorator Pattern  (0) 2011.08.30
Template Method Pattern  (0) 2011.08.30
반응형

Arrays.asList(array);

이렇게 하면 array를 List로 변환해 준다.

나름 유용할듯. ^^

이것 이외에도 sort도 사용할수 있다.

Arrays.sort(array)

배열 정렬시킬때 잘 써먹을듯 하다. 

728x90
반응형

'Development > Java' 카테고리의 다른 글

Null Object 사용  (0) 2013.07.05
Singleton Pattern  (0) 2013.07.03
Annotation : Retention  (0) 2013.07.01
Meta Annotaion  (0) 2013.07.01
Type-Safe Code란?  (0) 2013.06.25
반응형

Retention Annotation은 meta Annotation이 얼마동안 유지되는지를 정한다.

사용법은 아래와 같다

Retantion(RetentionPolicy.SOURCE) : Annotation이 소스 코드에만 존재하고 class 파일이나 runtime 시에 나타나지 않는다.

Retantion(RetentionPolicy.CLASS) : compiler가 class파일에 기록은 하지만 runtime시에 나타나지 않는다. Retantion을 명시하지 않으면 default가 CLASS이다.

Retantion(RetentionPolicy.RUNTIME)compiler가 class파일에 기록을 하고 runtime시에 영향을 준다.

728x90
반응형

'Development > Java' 카테고리의 다른 글

Singleton Pattern  (0) 2013.07.03
List 를 Array로 바꾸는 함수.  (0) 2013.07.02
Meta Annotaion  (0) 2013.07.01
Type-Safe Code란?  (0) 2013.06.25
Fileld명을 테이블 컬럼명으로 바꾸자  (0) 2013.04.06
반응형

Annotation을 지정할 때에 특정 field나 method에 한정해서 지정해 줄 수 있다.


@Target(ElementType.FIELD)

위와 같이 사용하게 되면 해당 Annotation은 Field에만 사용할 수 있게된다.

FIELD 이외에도 다른 타입들이 존재한다.

TYPE(Class, interface..)
METHOD
PARAMETER
CONSTRUCTOR
LOCAL_VARIABLE
ANNOTATION_TYPE
PACKAGE

여러개를 사용하고 싶을 때에는 다음과 같이 Array형태로 지정한다.

@Target({ElementType.FIELD,ElementType.METHOD })


728x90
반응형

'Development > Java' 카테고리의 다른 글

List 를 Array로 바꾸는 함수.  (0) 2013.07.02
Annotation : Retention  (0) 2013.07.01
Type-Safe Code란?  (0) 2013.06.25
Fileld명을 테이블 컬럼명으로 바꾸자  (0) 2013.04.06
Tomcat 구동시 라이브러리를 못찾을 경우..  (0) 2013.03.29
반응형

작성중...

728x90
반응형

'Development > Design Pattern' 카테고리의 다른 글

Strategy Pattern  (0) 2013.07.02
Factory Method Pattern  (0) 2011.08.30
Decorator Pattern  (0) 2011.08.30
Template Method Pattern  (0) 2011.08.30
반응형

Compile Time에 object의 type이 매칭이 제대로 되었는지 확인할 수 있는 코드를 말한다.

java의 Generic이 그 예가 된다.

728x90
반응형

'Development > Java' 카테고리의 다른 글

Annotation : Retention  (0) 2013.07.01
Meta Annotaion  (0) 2013.07.01
Fileld명을 테이블 컬럼명으로 바꾸자  (0) 2013.04.06
Tomcat 구동시 라이브러리를 못찾을 경우..  (0) 2013.03.29
ExecutorService  (0) 2013.03.22

+ Recent posts