전체 글

개발에 대한 내용을 주로 다루는 블로그입니다.
개발/Spring

스프링 @Async를 통한 비동기 처리 및 설정값

@Async를 통해서 비동기 처리하는 방법 관련 내용 및 설정값들에 대해서 간단하게 정리한 내용이다. # @Async를 통한 비동기 처리 @Async 애노테이션을 통해서 메소드 호출을 비동기로 처리할 수 있는데 적용 방법은 비동기로 수행할 메소드(혹은 타입)에 @Async를 붙여주면 된다. 모든 메소드에 사용할 수 있는 것은 아니고 public void 혹은 public Future 타입의 메소드에만 적용할 수 있고 같은 클래스 내의 메소드 호출은 적용이 안된다. (다이나믹 프록시 적용이 가능해야 하기 때문임) (task:executor 설정 시 mode를 aspectj로 지정하면 이 제약이 없을 수도 있을 것 같다.) 작업의 결과값을 알아야하는 경우에는 Future 타입을 리턴 받아야 할 듯하다. 비동..

개발/Front End

React Hook 내용 정리

React? f(data) = View React Element : type과 props를 가지는 객체 react element는 단일 태그로 감싸져있어야 함 로 감싸는 방식을 많이 사용한다 를 사용해도 됨 React Element는 immutable 하다 ReactDOM.render( reactElement, containerDOM, [callback] ) ReactDOM.hydrate( reactElement, containerDOM, [callback] ) hydrate는 render()와 동일하지만 SSR일 때 사용함 React Component의 이해 재사용성을 높여주고 기능별 단위를 만들 수 있게 해준다 f(props) => reactElement Component 구현 2가지 방법 Funct..

개발/자바

Effective Java 3/E - 8장 메서드 요약정리

8장 메서드 아이템 49 - 매개변수가 유효한지 검사하라 메서드 몸체가 실행되기 전에 매개변수를 확인하면 잘못된 값이 넘어왔을 때 즉각적이고 깔끔한 방식으로 예외를 던질 수 있다. 자바 7에 추가된 java.util.requireNonNull 메서드는 유연하고 사용하기도 편하니, 더 이상 null 검사를 수동으로 하지 않아도 된다. 메서드나 생성자를 작성할 때 그 매개변수들에 어떤 제약이 있을지 생각해야 하고 그 제약들은 문서화하고 코드 시작 부분에서 명시적으로 검사해야 한다. 아이템 50 - 적시에 방어적 복사본을 만들라 클라이언트가 여러분의 불변식을 깨뜨리려 혈안이 되어 있다고 가정하고 방어적으로 프로그래밍해야 한다. 가변 필드를 생성자 매개변수로 받아 클래스 필드에 저장하는 경우 각각을 방어적으로 ..

개발/자바

Effective Java 3/E - 7장 람다와 스트림 요약정리

아이템 42 - 익명 클래스보다는 람다를 사용하라 함수 객체와 람다식 함수 객체 : 추상 메서드를 하나만 담은 인터페이스로 람다식이 등장하기 전에는 익명 클래스를 사용해서 주로 만들었음 Collections.sort(words, new Comparator() { public int compare(String s1, String s2) { return Integer.compare(s1.length(), s2.length()); } }) 자바8에와서 추상 메서드 하나짜리 인터페이스는 특별한 의미를 인정받아 특별한 대우를 받게됨 람다식을 이용해서 훨씬 간결한 코드를 만들 수 있게됨 Collections.sort(words, (s1, s2) -> Integer.compare(s1.length(), s2.leng..

개발/Database

MySQL Enum에 대한 정리

개념 MySQL Enum 타입은 Java enum 타입과 비슷한 유형이다. 컬럼 정의 시 다음과 같이 enum 컬럼에 들어갈 수 있는 항목들을 정의한다. CREATE TABLE shirts ( name VARCHAR(40), size ENUM('x-small', 'small', 'medium', 'large', 'x-large') ); enum 컬럼도 empty string이나 null값 삽입 가능하고 empty string은 유효하지 않은 값으로 취급된다. enum 항목이 없어지면 기존에 있던 삭제된 그 항목을 가지고 있던 컬럼값은 유효하지 않은 상태(empty string)로 변경된다. 다음과 같이 index값을 가지고 올 수 있다. index는 enum 정의 시 해당 항목의 위치값이다. SELECT..

기타

최선의 의사결정을 위한 프로세스 - WRAP 프로세스

설계, 개발을 하다보면 결정을 해야할 순간이 많은데,최선의 의사결정을 하기 위해서는 고려해야할 것이 많다. 하지만 경우에 따라 직관적으로 선택하거나 기분에 따라 선택하기도 한다. 최선의 의사결정을 위한 프로세스를 결정 시 적용해보면 좀 더 좋은 선택을 할 수 있지 않을까 한다. - 내용 출처 : 칩 히스, 댄 히스 어떻게 의사결정을 내려야 후회할 확률이 낮아질까?연구결과 탁월한 결정을 하는데 최종 의사결정자의 직관이나 전문가 그룹의 분석보다 프로세스가 6배나 더 중요하다는 것이 밝혀졌다. 프로세스는 의사결정을 하기 위한 일종의 과정, 예를 들어 최종 의사 결정자가 선택하기 전에 반대 의견을 꼭 수렴해야 하는 제도가 있다는 것 등을 말한다. 아무리 분석이 좋다 하더라도 훌륭한 의사결정 프로세스가 없으면 무..

bebeside77
Spread your wings