본문 바로가기
[Java Concurrency] 객체구성 [Java Concurrency] 객체구성 4.1. 스레드 안전한 클래스 설계 - 객체가 갖고 있는 여러 가지 정보를 해당 객체 내부에 숨겨두면 전체 프로그램을 다 뒤져볼 필요 없이 객체 단위로 스레드 안전성이 확보되어 있는지 확인할 수 있다. - 클래스가 스레드 안전성을 확보하도록 설계하고자 할 때에는 다음과 같이 세 가지를 고려해야 한다. 객체의 상태를 보관하는 변수가 어떤 것인가? 객체의 상태를 보관하는 변수가 가질 수 있는 값이 어떤 종류, 어떤 범위에 해당하는가? 객체 내부의 값을 동시에 사용하고자 할 때, 그 과정을 관리할 수 있는 정책 - n 개의 변수를 갖는 객체의 상태는 n개 변수가 가질 수 있는 값의 전체 조합이다. A라는 객체 내부에 다른 객체 B를 가리키는 변수를 사용하고 있다면, .. 2017. 4. 18.
[Effective Java] 비트(bit) 필드 대신 EnumSet 을 사용하자. [Effective Java] 비트(bit) 필드 대신 EnumSet 을 사용하자. - 보통 비트 값을 constant 로 사용할 때 아래와 같이 int enum 패턴을 사용하여 각 상수에 2의 n승을 대입한다. // 비트 필드 public static final int STYLE_BOLD = 1 2016. 12. 26.
[Effective Java] 배열보다는 List 를 사용하자. [Effective Java] 배열보다는 List 를 사용하자. - 배열은 두 가지 관점에서 제네릭 타입과 다르다. 1. array는 공변(covariant). Sub이 Super 의 서브 타입이라면, 배열 타입 Sub[] 은 Super[] 의 서브 타입이라는 의미. 제네릭은 불변(invariant). Type1 와 Type2 가 있을 때, 이들의 관계는 모두 무시하고, List 과 List 는 서로 슈퍼도 서브도 아니다. 이 차이를 기반으로 제네릭이 유연성을 떨어뜨린다고 볼 수 있지만, array는 안전성을 보장하지 못한다. 배열을 사용하면 런타임 에러를 발생시키기 쉽고, List 를 사용하면 컴파일 에러를 마딱뜨리기 쉽다. 당연히 컴파일 시 에러를 발견하는 것이 최고다. 2. array 는 구체적(r.. 2016. 11. 28.
[똑딱이] 똑딱이로 음식사진을 찍어보자. 손가락 꾸욱~♥ 응원해주세요!! * 음식 사진의 7할은 색감 * 주황색이 식욕을 자극한다. 그래서 음식점 조명은 대부분 백열등과 같은 노란색 계통이 많다. 음식점에서는 굳이 화이트밸런스를 맞추지 않아도 된다. 오토 화이트밸런스로 촬영하거나 백열등 모드로 촬영해 사진에 붉은 기운을 남겨 두는 것이 좋다. * 빛을 찾자. * 음식사진은 보통 음식점 안, 즉 실내에서 촬영하기 때문에 빛이 부족하기 쉽다. 낮이라면 햇빛이 들어오는 창가가 좋겠고 밤이라면 조명 바로 아래 자리가 좋다. * 간결함이 최선이다. * 메인 메뉴 주변을 깨끗이 정리하고 메인 메뉴만 클로즈업 해서 촬영하면 된다. * 식욕을 돋우는 한입샷 * 젓가락이나 숟가락 같은 주변의 도구를 활용하여 먹기 위해 음식을 드는 한입샷을 찍으면 사진에 생기를.. 2013. 2. 18.
[똑딱이] 똑딱이로 풍경사진을 찍어보자. 손가락 꾸욱~♥ 응원해주세요!! 꼼꼼한 준비는 필수. 풍경 사진의 관건은 날씨. 현지 날씨가 어떤지 미리 살펴봐야 한다. 풍경 사진을 위한 구도 안정감 풍경 사진은 어떤 사진보다 안정감이 중요. 정적인 피사체가 대부분이기 때문. 풍경사진은 프레임 속 모든 요소들을 잘 조화시켜야 하기 때문에 안정적인 구도 필요. 풍경사진은 무엇보다 수평과 균형이 잘 맞는 사진이어야 한다. 수평과 균형이 잘 맞는 사진을 찍는 가장 간단한 방법은 삼등분할. 피사체를 1/3 혹은 2/3 지점에 두는 것. 풍경사진은 평범함을 벗어나기가 힘들다. 움직이는 사람이나 동물과 같은 동적인 요소를 첨가시키면 안정감과 긴장감을 동시에 주는 사진을 만들 수 있다. 간결함 누가 보더라도 한 번에 주제를 파악할 수 있도록 간결해야 한다. 간결한.. 2013. 2. 16.
반응형